{
  "tg_validation_required": "This field is required.",
  "tg_validation_min_length": "Must contain at least {min} characters.",
  "tg_validation_max_length": "Must contain at most {max} characters.",
  "tg_validation_min": "Must be at least {min}.",
  "tg_validation_max": "Must be at most {max}.",
  "tg_validation_email": "Enter a valid email address.",
  "tg_validation_must_be_true": "This field must be true.",
  "tg_validation_option": "Select an available option.",
  "tg_validation_file_required": "At least one file is required.",
  "tg_validation_max_files": "At most {max} files are allowed.",
  "tg_validation_max_size": "A selected file exceeds the size limit.",
  "tg_validation_file_type": "A selected file type is not allowed.",
  "tg_validation_date": "Enter a valid {format}.",
  "tg_validation_date_min": "Must be on or after {min}.",
  "tg_validation_date_max": "Must be on or before {max}.",
  "tg_validation_repeater_min": "At least {min} instances are required.",
  "tg_validation_repeater_max": "At most {max} instances are allowed.",
  "tg_ui_submit": "Submit",
  "tg_ui_submitting": "Submitting…",
  "tg_ui_updating": "Updating…",
  "tg_ui_preparing_form": "Preparing your form…",
  "tg_ui_load_failed": "The form could not be loaded.",
  "tg_ui_something_went_wrong": "Something went wrong",
  "tg_ui_loading_data": "Loading data…",
  "tg_ui_retry_loading": "Retry loading",
  "tg_ui_hidden_errors": "The form contains validation errors in hidden fields.",
  "tg_ui_clear": "Clear",
  "tg_ui_clear_all": "Clear all",
  "tg_ui_yes": "Yes",
  "tg_ui_no": "No",
  "tg_ui_no_options": "No options available",
  "tg_ui_select": "Select…",
  "tg_ui_choose_options": "Choose options",
  "tg_ui_loading_options": "Loading options",
  "tg_ui_unavailable": "{value} (Unavailable)",
  "tg_ui_remove": "Remove {label}",
  "tg_ui_errors": {
    "one": "{count} error",
    "other": "{count} errors"
  },
  "tg_ui_file_expects_a_file_reference_object": "File expects a file reference object.",
  "tg_ui_one_file": "One file",
  "tg_ui_replace_selected_files": "Replace selected files",
  "tg_ui_attach_your_files": "Attach your files",
  "tg_ui_browse_files_on_your_device": "Browse files on your device",
  "tg_ui_replace": "Replace",
  "tg_ui_browse": "Browse",
  "tg_ui_uploaded": "Uploaded",
  "tg_ui_uploading": "Uploading…",
  "tg_ui_pending_upload": "Pending upload",
  "tg_ui_boolean_radio_options_must_use_boolean_values": "Boolean radio options must use boolean values.",
  "tg_ui_mon": "Mon",
  "tg_ui_tue": "Tue",
  "tg_ui_wed": "Wed",
  "tg_ui_thu": "Thu",
  "tg_ui_fri": "Fri",
  "tg_ui_sat": "Sat",
  "tg_ui_sun": "Sun",
  "tg_ui_january": "January",
  "tg_ui_february": "February",
  "tg_ui_march": "March",
  "tg_ui_april": "April",
  "tg_ui_may": "May",
  "tg_ui_june": "June",
  "tg_ui_july": "July",
  "tg_ui_august": "August",
  "tg_ui_september": "September",
  "tg_ui_october": "October",
  "tg_ui_november": "November",
  "tg_ui_december": "December",
  "tg_ui_previous_month": "Previous month",
  "tg_ui_next_month": "Next month",
  "tg_ui_choose_time": "Choose time",
  "tg_ui_choose_date": "Choose date",
  "tg_ui_choose_date_and_time": "Choose date and time",
  "tg_ui_hours": "Hours",
  "tg_ui_minutes": "Minutes",
  "tg_ui_seconds": "Seconds",
  "tg_ui_close": "Close",
  "tg_ui_steps": "Steps",
  "tg_ui_select_option_values_must_be_strings": "Select option values must be strings.",
  "tg_ui_multiple_select_expects_a_string_array": "Multiple select expects a string array.",
  "tg_ui_select_expects_string_or_null": "Select expects string or null.",
  "tg_ui_textarea_requires_the_plain_text_variant": "Textarea requires the plain text variant.",
  "tg_editor_loading_core_catalog": "Loading core catalog…",
  "tg_editor_ready_to_build": "Ready to build",
  "tg_editor_schema_accepted": "Schema accepted",
  "tg_editor_draft_needs_attention": "Draft needs attention",
  "tg_editor_checking_schema": "Checking schema…",
  "tg_editor_schema_accepted_initial_values_reset": "Schema accepted · initial values reset",
  "tg_editor_text_inputs": "Text inputs",
  "tg_editor_numbers_choices": "Numbers & choices",
  "tg_editor_other_fields": "Other fields",
  "tg_editor_structure": "Structure",
  "tg_editor_group": "Group",
  "tg_editor_a_layout_containing_fields_or_sections": "A layout containing fields or sections.",
  "tg_editor_repeater": "Repeater",
  "tg_editor_an_array_of_instances_of_one_template": "An array of instances of one template.",
  "tg_editor_schema_copied": "Schema copied",
  "tg_editor_copy_is_unavailable_here_use_download_json_or_select_the_json_text": "Copy is unavailable here. Use Download JSON or select the JSON text.",
  "tg_editor_form_root": "form root",
  "tg_editor_editor_mode": "Editor mode",
  "tg_editor_build": "Build",
  "tg_editor_undo_schema_change": "Undo schema change",
  "tg_editor_redo_schema_change": "Redo schema change",
  "tg_editor_the_preview_shows_the_last_accepted_schema": " The preview shows the last accepted schema.",
  "tg_editor_field_palette_and_outline": "Field palette and outline",
  "tg_editor_schema_json_editor": "Schema JSON editor",
  "tg_editor_component_settings": "Component settings",
  "tg_editor_component_lists_optional": "Component lists (optional)",
  "tg_editor_schema": "Schema",
  "tg_editor_your_form": "Your form",
  "tg_editor_settings_use_the_same_engine_as_your_form": "Settings use the same engine as your form.",
  "tg_editor_use_the_component_list_to_arrange_your_form_select_a_field_in_the_outline_to_edit_it": "Use the component list to arrange your form. Select a field in the outline to edit it.",
  "tg_editor_live_preview": "Live preview",
  "tg_editor_preview_panels": "Preview panels",
  "tg_editor_initial_values_must_be_an_object_or_null": "Initial values must be an object or null.",
  "tg_editor_values_loaded": "Values loaded",
  "tg_editor_waiting_for_the_preview": "Waiting for the preview…",
  "tg_editor_the_form_is_valid": "The form is valid.",
  "tg_editor_the_form_has_validation_errors": "The form has validation errors.",
  "tg_editor_drop_into_the_form_a_group_or_a_repeater_template": "Drop into the form, a group or a repeater template.",
  "tg_editor_this_position_is_no_longer_available": "This position is no longer available.",
  "tg_editor_this_component_is_no_longer_available": "This component is no longer available.",
  "tg_editor_a_component_cannot_be_moved_inside_itself": "A component cannot be moved inside itself.",
  "tg_editor_sectioned_layouts_contain_basic_groups_drop_a_group_here_first": "Sectioned layouts contain basic groups. Drop a group here first.",
  "tg_editor_choose_a_registered_component_from_the_palette": "Choose a registered component from the palette.",
  "tg_editor_drop_here": "Drop here",
  "tg_editor_drag_to_move": "Drag to move",
  "tg_editor_template": "Template",
  "tg_editor_repeating_template_design_one_instance": "Repeating template · design one instance",
  "tg_editor_drop_basic_groups_as_sections": "Drop basic groups as sections",
  "tg_editor_group_contents": "Group contents",
  "tg_editor_form_layout": "Form layout",
  "tg_editor_applying": "Applying…",
  "tg_editor_apply_changes": "Apply changes",
  "tg_editor_use_a_schema_object_with_schemaversion_and_a_form_array": "Use a schema object with schemaVersion and a form array.",
  "tg_editor_every_component_needs_a_type_and_string_key": "Every component needs a type and string key.",
  "tg_editor_section": "Section",
  "tg_editor_items": "Items",
  "tg_editor_template_components": "Template components",
  "tg_editor_components": "Components",
  "tg_editor_add_remove_or_reorder_here_select_a_component_in_the_outline_to_edit_its_details": "Add, remove or reorder here. Select a component in the outline to edit its details.",
  "tg_editor_component_type": "Component type",
  "tg_editor_component_key": "Component key",
  "tg_editor_component_label": "Component label",
  "tg_editor_presentation": "Presentation",
  "tg_editor_custom_settings_json": "Custom settings (JSON)",
  "tg_editor_default_array_json": "Default array (JSON)",
  "tg_editor_use_a_default_array": "Use a default array",
  "tg_editor_field_type": "Field type",
  "tg_editor_placeholder": "Placeholder",
  "tg_editor_disabled": "Disabled",
  "tg_editor_read_only": "Read only",
  "tg_editor_initially_hidden": "Initially hidden",
  "tg_editor_use_a_default_value": "Use a default value",
  "tg_editor_default_value_json": "Default value (JSON)",
  "tg_editor_custom_field_settings_json": "Custom field settings (JSON)",
  "tg_editor_rules": "Rules",
  "tg_editor_a_rule_reads_another_field_and_acts_on_this_field_use_explicit_indexes_or_current_insi": "A rule reads another field and acts on this field. Use explicit indexes or [current] inside templates.",
  "tg_editor_source_field": "Source field",
  "tg_editor_comparison": "Comparison",
  "tg_editor_compare_with": "Compare with",
  "tg_editor_comparison_value_json": "Comparison value (JSON)",
  "tg_editor_reference_field": "Reference field",
  "tg_editor_actions": "Actions",
  "tg_editor_action": "Action",
  "tg_editor_sectioned_groups_need_basic_groups_as_their_direct_children": "Sectioned groups need basic groups as their direct children.",
  "tg_editor_renderer_settings": "Renderer settings",
  "tg_editor_default_array": "Default array",
  "tg_editor_field_settings": "Field settings",
  "tg_editor_comparison_value": "Comparison value",
  "tg_editor_action_value": "Action value",
  "tg_editor_errors": "Errors",
  "tg_editor_default_value": "Default value",
  "tg_ui_invalid_compiled_section": "Invalid compiled section.",
  "tg_ui_uploading_files": "Uploading files…",
  "tg_ui_retry_upload": "Retry upload",
  "tg_ui_today": "Today",
  "tg_ui_done": "Done",
  "tg_ui_previous": "Previous",
  "tg_ui_next": "Next",
  "tg_editor_copy_json": "Copy JSON",
  "tg_editor_download": "Download",
  "tg_editor_check_your_draft": "Check your draft.",
  "tg_editor_grow_your_form": "Grow your form",
  "tg_editor_adding_to": "Adding to",
  "tg_editor_loading_available_fields": "Loading available fields…",
  "tg_editor_form_outline": "Form outline",
  "tg_editor_root": "Root",
  "tg_editor_a_little_room_to_grow_add_your_first_field_above": "A little room to grow. Add your first field above.",
  "tg_editor_your_portable_schema": "Your portable schema",
  "tg_editor_json_editor": "JSON editor",
  "tg_editor_import_or_edit_a_sprout_schema_invalid_drafts_stay_editable": "Import or edit a Sprout schema. Invalid drafts stay editable.",
  "tg_editor_schema_json": "Schema JSON",
  "tg_editor_apply_json": "Apply JSON",
  "tg_editor_remove": "Remove",
  "tg_editor_use_json_mode_to_repair_this_draft": "Use JSON mode to repair this draft:",
  "tg_editor_see_it_take_shape": "See it take shape",
  "tg_editor_reset": "Reset",
  "tg_editor_a_valid_schema_will_appear_here": "A valid schema will appear here.",
  "tg_editor_submitted_values": "Submitted values",
  "tg_editor_load_initial_values": "Load initial values",
  "tg_editor_the_keys_are_filled_from_your_schema_empty_collections_include_one_sample_item_to_show": "The keys are filled from your schema. Empty collections include one sample item to show their keys; loading it creates that instance. Use [] for no instances, or null for schema defaults.",
  "tg_editor_initial_values_json": "Initial values JSON",
  "tg_editor_load_values": "Load values",
  "tg_editor_fill_keys_from_schema": "Fill keys from schema",
  "tg_editor_current_draft_export_this_directly_to_tungsten": "Current draft. Export this directly to Tungsten.",
  "tg_editor_current_evaluated_values_updated_as_you_type": "Current evaluated values, updated as you type.",
  "tg_editor_visibility_errors_and_collection_metadata": "Visibility, errors and collection metadata.",
  "tg_editor_move_selected_here": "Move selected here",
  "tg_editor_arrange_your_form": "Arrange your form",
  "tg_editor_select_root": "Select root",
  "tg_editor_drag_components_from_the_palette_drop_inside_a_group_or_template_or_between_fields_to_": "Drag components from the palette. Drop inside a group or template, or between fields to set their order.",
  "tg_editor_choose": "Choose…",
  "tg_schema_group_renderer_is_already_registered": "group renderer '{name}' is already registered",
  "tg_schema_unknown_group_renderer": "unknown group renderer '{p0}'",
  "tg_schema_initialsection_is_not_a_direct_child": "initialSection '{initial}' is not a direct child",
  "tg_schema_render_settings_must_be_an_object": "render.settings must be an object",
  "tg_schema_gap_must_be_an_integer_from_0_to_128_pixels": "gap must be an integer from 0 to 128 pixels",
  "tg_schema_columns_must_be_an_integer_from_1_to_12": "columns must be an integer from 1 to 12",
  "tg_catalog_registered_custom_field_authoring_metadata_has_not_been_supplied": "Registered custom field. Authoring metadata has not been supplied.",
  "tg_catalog_field_key": "Field key",
  "tg_catalog_fully_qualified_dot_separated_key": "Fully qualified, dot-separated key.",
  "tg_catalog_label": "Label",
  "tg_catalog_description": "Description",
  "tg_catalog_minimum_instances": "Minimum instances",
  "tg_catalog_defaults_to_0": "Defaults to 0.",
  "tg_catalog_maximum_instances": "Maximum instances",
  "tg_catalog_leave_empty_for_no_limit": "Leave empty for no limit.",
  "tg_catalog_allow_reordering": "Allow reordering",
  "tg_catalog_set_value": "Set value",
  "tg_catalog_value_json": "Value (JSON)",
  "tg_catalog_clear_value": "Clear value",
  "tg_catalog_set_visibility": "Set visibility",
  "tg_catalog_hidden": "Hidden",
  "tg_catalog_show_field": "Show field",
  "tg_catalog_set_behavior_errors": "Set behavior errors",
  "tg_catalog_errors_json_array": "Errors (JSON array)",
  "tg_catalog_limit": "Limit",
  "tg_catalog_required": "Required",
  "tg_catalog_a_nonempty_string_is_required": "A nonempty string is required.",
  "tg_catalog_minimum_length": "Minimum length",
  "tg_catalog_counts_unicode_characters_does_not_trim_text": "Counts Unicode characters; does not trim text.",
  "tg_catalog_maximum_length": "Maximum length",
  "tg_catalog_counts_unicode_characters": "Counts Unicode characters.",
  "tg_catalog_gap_px": "Gap (px)",
  "tg_catalog_initial_section_key": "Initial section key",
  "tg_catalog_must_identify_a_direct_child_group": "Must identify a direct child group.",
  "tg_catalog_initially_open": "Initially open",
  "tg_catalog_trigger_label": "Trigger label",
  "tg_catalog_alignment": "Alignment",
  "tg_catalog_wrap": "Wrap",
  "tg_catalog_columns": "Columns",
  "tg_schema_group_nesting_exceeds_levels": "group nesting exceeds {MAX_GROUP_DEPTH} levels",
  "tg_schema_failed_to_deserialize_schema": "failed to deserialize schema: {e}",
  "tg_schema_failed_to_deserialize_initial_values": "failed to deserialize initial values: {e}",
  "tg_schema_failed_to_load_form": "failed to load form: {error}",
  "tg_schema_failed_to_serialize_load_response": "failed to serialize load response: {e}",
  "tg_schema_failed_to_deserialize_patch": "failed to deserialize patch: {e}",
  "tg_schema_failed_to_process_patch": "failed to process patch: {e}",
  "tg_schema_failed_to_serialize_patch_response": "failed to serialize patch response: {e}",
  "tg_schema_failed_to_serialize_validation_response": "failed to serialize validation response: {e}",
  "tg_schema_failed_to_serialize_state": "failed to serialize state: {e}",
  "tg_schema_engine_not_initialized_call_load_form_first": "engine not initialized; call load_form first",
  "tg_schema_engine_not_initialized": "engine not initialized",
  "tg_schema_instance_index_must_be_a_nonnegative_integer_within_the_supported_range": "instance index must be a nonnegative integer within the supported range",
  "tg_source_invalid_bindings_on": "invalid bindings on '{p0}': {e}",
  "tg_source_unsupported_source_binding_on": "unsupported source binding '{slot}' on '{p0}'",
  "tg_schema_apply_must_be_initial_live_on_value_bindings_only": "apply must be initial/live on value bindings only",
  "tg_schema_source_inputs_must_contain_exactly_ref_or_value": "source inputs must contain exactly ref or value",
  "tg_schema_repeater_renderer_already_registered": "repeater renderer '{name}' already registered",
  "tg_schema_unknown_repeater_renderer": "unknown repeater renderer '{p0}'",
  "tg_schema_gap_must_be_from_0_to_128_pixels": "gap must be from 0 to 128 pixels",
  "tg_catalog_initial_instance_index": "Initial instance index",
  "tg_schema_unknown_source_input": "unknown source input '{ref}'",
  "tg_schema_unknown_data_source": "unknown data source '{p0}'",
  "tg_schema_overlapping_field_or_repeater_namespace_and": "overlapping field or repeater namespace '{p0}' and '{p1}'",
  "tg_schema_unknown_repeater": "unknown repeater '{key}'",
  "tg_schema_repeater_has_reached_max": "repeater '{key}' has reached max",
  "tg_schema_repeater_is_at_min": "repeater '{key}' is at min",
  "tg_schema_reorder_is_disabled_for": "reorder is disabled for '{key}'",
  "tg_schema_instance_safety_limit_exceeded": "instance safety limit exceeded",
  "tg_schema_instance_identity_limit_exceeded": "instance identity limit exceeded",
  "tg_schema_remove_index_is_out_of_range": "remove index is out of range",
  "tg_schema_reorder_index_is_out_of_range": "reorder index is out of range",
  "tg_schema_invalid_item_property": "invalid item property '{name}'",
  "tg_schema_must_be_an_object": "'{path}' must be an object",
  "tg_schema_unknown_item_property": "unknown item property '{path}'",
  "tg_schema_invalid_value": "invalid value '{p0}': {e}",
  "tg_schema_repeater_must_load_an_array": "repeater '{p0}' must load an array",
  "tg_schema_repeater_exceeds_safety_limit_of_instances": "repeater '{p0}' exceeds safety limit of {MAX_INSTANCES} instances",
  "tg_schema_must_be_an_object_2": "'{p0}[{index}]' must be an object",
  "tg_schema_invalid_value_2": "invalid value '{p0}': {error}",
  "tg_schema_unknown_initial_value": "unknown initial value '{key}'",
  "tg_schema_invalid_schema_current_value": "invalid schema current_value '{path}': {e}",
  "tg_schema_runtime_instance_safety_limit_exceeded": "runtime instance safety limit exceeded",
  "tg_schema_repeater_min_exceeds_max": "repeater '{p0}' min exceeds max",
  "tg_schema_repeater_only_accepts_the_no_op_required_validator_use_min_max_for_bounds": "repeater '{p0}' only accepts the no-op required validator; use min/max for bounds",
  "tg_schema_duplicate_or_overlapping_repeater_namespace": "duplicate or overlapping repeater namespace '{p0}'",
  "tg_schema_malformed_repeater_reference": "malformed repeater reference '{reference}'",
  "tg_schema_unindexed_repeater_reference_is_unsupported_use_current_inside_its_template_or_a_numer": "unindexed repeater reference '{reference}' is unsupported; use '[current]' inside its template or a numeric index",
  "tg_schema_has_no_owning_repeater_instance": "'{reference}' has no owning repeater instance",
  "tg_schema_has_no_owning_instance_of_this_repeater_belongs_to_a_different_repeater": "'{reference}' has no owning instance of this repeater (belongs to a different repeater)",
  "tg_schema_belongs_to_a_different_repeater_instance": "'{reference}' belongs to a different repeater instance",
  "tg_schema_invalid_numeric_repeater_selector": "invalid numeric repeater selector '{reference}'",
  "tg_schema_repeater_index_must_be_canonical_in": "repeater index must be canonical in '{reference}'",
  "tg_schema_unknown_or_malformed_repeater_reference": "unknown or malformed repeater reference '{reference}'",
  "tg_schema_structural_nesting_limit_exceeded": "structural nesting limit exceeded",
  "tg_schema_repeater_type_must_be_repeater": "repeater type must be 'repeater'",
  "tg_schema_source_ref_must_be_a_string": "source ref must be a string",
  "tg_schema_runtime_field_safety_limit_exceeded": "runtime field safety limit exceeded",
  "tg_schema_boolean": "Boolean",
  "tg_schema_true_false_or_null_required_checks_presence_false_remains_valid": "True, false or null. Required checks presence; false remains valid.",
  "tg_schema_a_boolean_is_required_false_is_valid": "A boolean is required; false is valid.",
  "tg_schema_must_be_true": "Must be true",
  "tg_schema_requires_an_affirmative_value_for_example_accepting_terms": "Requires an affirmative value, for example accepting terms.",
  "tg_catalog_variant": "Variant",
  "tg_catalog_layout_radio_only": "Layout (radio only)",
  "tg_catalog_options_radio_only_json": "Options (radio only, JSON)",
  "tg_schema_unique_boolean_values_with_labels_omit_for_yes_no": "Unique boolean values with labels. Omit for Yes/No.",
  "tg_schema_boolean_or_null": "boolean or null",
  "tg_schema_variant_must_be_checkbox_switch_or_radio": "variant must be checkbox, switch or radio",
  "tg_schema_options_and_direction_require_the_radio_variant": "options and direction require the radio variant",
  "tg_schema_direction_must_be_column_or_row": "direction must be column or row",
  "tg_schema_validator_must_occur_once_with_no_parameters": "validator must occur once with no parameters",
  "tg_schema_numbers_must_be_finite_and_orderable": "numbers must be finite and orderable",
  "tg_schema_string_array": "string array",
  "tg_schema_finite_numbers_or_null_no_string_coercion": "Finite numbers or null. No string coercion.",
  "tg_schema_a_number_is_required_zero_is_valid": "A number is required; zero is valid.",
  "tg_schema_minimum": "Minimum",
  "tg_schema_inclusive_lower_bound": "Inclusive lower bound.",
  "tg_schema_maximum": "Maximum",
  "tg_schema_inclusive_upper_bound": "Inclusive upper bound.",
  "tg_schema_number_must_be_finite": "number must be finite",
  "tg_schema_number_or_null": "number or null",
  "tg_schema_value_must_be": "value must be {format}",
  "tg_schema_date_time": "Date / time",
  "tg_schema_calendar_dates_clock_times_or_timezone_aware_instants_empty_values_are_null": "Calendar dates, clock times, or timezone-aware instants. Empty values are null.",
  "tg_schema_a_date_time_value_is_required": "A date/time value is required.",
  "tg_catalog_accept": "Accept",
  "tg_catalog_date_only": "Date only",
  "tg_catalog_time_only": "Time only",
  "tg_catalog_date_and_time": "Date and time",
  "tg_catalog_timezone": "Timezone",
  "tg_schema_date_and_time_only_iana_name_or_fixed_offset_defaults_to_utc": "Date and time only. IANA name or fixed offset; defaults to UTC.",
  "tg_catalog_repeated_daylight_saving_time": "Repeated daylight-saving time",
  "tg_schema_date_and_time_only_defaults_to_reject": "Date and time only; defaults to reject.",
  "tg_schema_inclusive_bound_in_the_configured_mode_s_value_format_datetime_bounds_compare_instants": "Inclusive bound in the configured mode's value format; datetime bounds compare instants.",
  "tg_schema_date_yyyy_mm_dd_time_hh_mm_ss_date_and_time_rfc_3339_with_offset": "Date: YYYY-MM-DD. Time: HH:mm:ss. Date and time: RFC 3339 with offset.",
  "tg_schema_mode_must_be_date_time_or_datetime": "mode must be date, time, or datetime",
  "tg_schema_timezone_and_disambiguation_require_datetime_mode_a_clock_time_has_no_date_for_dayligh": "timeZone and disambiguation require datetime mode; a clock time has no date for daylight-saving resolution",
  "tg_schema_timezone_must_be_a_nonempty_timezone_identifier_js_resolves_its_availability": "timeZone must be a nonempty timezone identifier; JS resolves its availability",
  "tg_schema_disambiguation_must_be_reject_earlier_or_later": "disambiguation must be reject, earlier, or later",
  "tg_schema_validator_is_declared_more_than_once": "validator is declared more than once",
  "tg_schema_required_accepts_no_properties": "required accepts no properties",
  "tg_schema_expected_properties_value": "expected properties [value]",
  "tg_schema_minimum_cannot_exceed_maximum": "minimum cannot exceed maximum",
  "tg_schema_date_time_string_or_null": "date/time string or null",
  "tg_schema_expected_properties": "expected properties [{p0}]",
  "tg_schema_minimum_length_cannot_exceed_maximum_length": "minimum length cannot exceed maximum length",
  "tg_schema_value_must_be_a_non_negative_integer": "'value' must be a non-negative integer",
  "tg_schema_value_must_be_a_finite_number": "'value' must be a finite number",
  "tg_schema_radio_option_values_must_be_unique_booleans": "radio option values must be unique booleans",
  "tg_schema_select_option_values_must_be_nonempty_unique_strings": "select option values must be nonempty unique strings",
  "tg_schema_required_must_occur_once_with_no_parameters": "required must occur once with no parameters",
  "tg_schema_select": "Select",
  "tg_schema_single_or_multiple_string_valued_choices_options_bindings_and_selectfirstoption_use_js": "Single or multiple string-valued choices; options/bindings and selectFirstOption use JSON settings.",
  "tg_schema_a_selection_is_required": "A selection is required.",
  "tg_schema_multiple_must_be_a_boolean": "multiple must be a boolean",
  "tg_schema_selectfirstoption_must_be_a_boolean": "selectFirstOption must be a boolean",
  "tg_schema_selected_values_must_be_nonempty_and_unique": "selected values must be nonempty and unique",
  "tg_schema_string_array_or_null": "string array or null",
  "tg_schema_string_or_null": "string or null",
  "tg_schema_operation_is_not_supported": "operation '{p0}' is not supported",
  "tg_schema_unsupported_field_configuration": "unsupported field configuration '{property}'",
  "tg_schema_unsupported_validator": "unsupported validator '{validator}'",
  "tg_schema_invalid_validator": "invalid validator '{validator}': {message}",
  "tg_schema_invalid_current_value": "invalid current_value: {source}",
  "tg_schema_invalid_value_at_rules_then": "invalid value at rules[{rule_index}].then[{action_index}]: {source}",
  "tg_schema_field_type_is_already_registered": "field type '{p0}' is already registered",
  "tg_schema_text": "Text",
  "tg_schema_plain_email_password_and_telephone_strings_or_null_email_trims_whitespace": "Plain, email, password and telephone strings or null; email trims whitespace.",
  "tg_catalog_multiline_plain_only": "Multiline (plain only)",
  "tg_catalog_rows_required_for_multiline": "Rows (required for multiline)",
  "tg_schema_positive_integer_ignored_when_multiline_is_disabled": "Positive integer. Ignored when multiline is disabled.",
  "tg_catalog_allow_vertical_resizing_multiline_only": "Allow vertical resizing (multiline only)",
  "tg_schema_defaults_to_true_when_omitted": "Defaults to true when omitted.",
  "tg_schema_variant_must_be_plain_email_password_or_tel": "variant must be plain, email, password or tel",
  "tg_schema_textarea_must_be_a_boolean": "textarea must be a boolean",
  "tg_schema_textarea_requires_the_plain_variant": "textarea requires the plain variant",
  "tg_schema_textarea_requires_rows_as_a_positive_32_bit_integer": "textarea requires rows as a positive 32-bit integer",
  "tg_schema_resizable_must_be_a_boolean": "resizable must be a boolean",
  "tg_schema_rows_and_resizable_require_textarea_true": "rows and resizable require textarea: true",
  "tg_schema_invalid_file_configuration": "invalid file configuration: {e}",
  "tg_schema_invalid_upload_descriptor_or_file_constraints": "invalid upload descriptor or file constraints",
  "tg_schema_file": "File",
  "tg_schema_file_references_upload_is_configured_per_field_settings_use_json": "File references; upload is configured per field. Settings use JSON.",
  "tg_schema_file_reference_object": "file reference object",
  "tg_schema_file_ids_names_must_be_nonempty_unique_with_safe_integer_sizes": "file IDs/names must be nonempty, unique, with safe integer sizes",
  "tg_schema_unknown_field_key": "unknown field key '{field_key}'",
  "tg_schema_invalid_value_for_field": "invalid value for field '{field_key}': {source}",
  "tg_schema_compiled_rule_generated_an_invalid_value_for_field": "compiled rule generated an invalid value for field '{field_key}': {source}",
  "tg_schema_patch_processing_exceeded_safety_limit": "patch processing exceeded safety limit {limit}",
  "tg_schema_unknown_reference": "unknown reference '{p0}'",
  "tg_schema_unknown_or_stale_field_handle": "unknown or stale field handle",
  "tg_schema_reorder_must_include_every_field_handle_once": "reorder must include every field handle once",
  "tg_schema_unknown_duplicate_or_stale_field_handle": "unknown, duplicate or stale field handle",
  "tg_schema_duplicate_field_handle": "duplicate field handle",
  "tg_schema_surviving_field_configuration_cannot_change_in_a_structural_operation": "surviving field configuration cannot change in a structural operation",
  "tg_schema_field_handle_limit_exceeded": "field handle limit exceeded",
  "tg_source_unknown_data_source_on": "unknown data source '{p0}' on '{p1}'",
  "tg_source_unknown_field": "unknown field '{key}'",
  "tg_schema_data_source_and_value_rule_dependencies_contain_a_cycle": "data source and value-rule dependencies contain a cycle",
  "tg_schema_unsupported_schemaversion_expected_sprout": "unsupported schemaVersion '{version}'; expected 'sprout'",
  "tg_schema_invalid_component_at": "invalid component '{key}' at {path}: {message}",
  "tg_schema_invalid_schema": "invalid schema: {message}",
  "tg_schema_field_at_index_has_an_empty_key": "field at index {field_index} has an empty key",
  "tg_schema_duplicate_field_key": "duplicate field key '{key}'",
  "tg_schema_unknown_field_type_for_field": "unknown field type '{field_type}' for field '{field_key}'",
  "tg_schema_field_references_unknown_field": "field '{field_key}' references unknown field '{referenced_key}'",
  "tg_schema_child_must_be_inside_parent_group_namespace": "child must be inside parent group '{p0}' namespace",
  "tg_schema_sectioned_group_requires_basic_groups_as_direct_children": "sectioned group '{p0}' requires basic groups as direct children",
  "tg_schema_duplicate_component_key_first_declared_at": "duplicate component key; first declared at {previous_path}",
  "tg_schema_structural_nesting_exceeds_levels": "structural nesting exceeds {MAX_GROUP_DEPTH} levels",
  "tg_schema_keys_must_contain_non_empty_dot_separated_ascii_letter_digit_underscore_or_hyphen_segm": "keys must contain non-empty dot-separated ASCII letter, digit, underscore or hyphen segments",
  "tg_schema_group_is_reserved_for_structural_components": "'group' is reserved for structural components",
  "tg_schema_group_type_must_be_group": "group type must be 'group'",
  "tg_schema_field_at_index_rule_references_unknown_field_through": "field at index {p0} rule {p1} references unknown field '{p2}' through {p3}",
  "tg_schema_value_cycle": "Value cycle detected: {path}; provenance: {provenance}",
  "tg_ui_unknown_timezone": "Unknown timezone: {timeZone}.",
  "tg_ui_dst_ambiguous": "This time is skipped or repeated in {timeZone}. Choose another time or configure an earlier/later policy for repeated times.",
  "tg_ui_timezone": "Timezone: {timeZone}",
  "tg_ui_choose_for": "Choose {mode} for {label}",
  "tg_ui_mode_time": "time",
  "tg_ui_mode_date": "date",
  "tg_ui_mode_datetime": "date and time",
  "tg_ui_repeater_instance": "#{index} {label}",
  "tg_schema_renderer_requires_groups": "renderer '{p0}' requires {p1} groups",
  "tg_schema_invalid_options": "invalid {p0} options: {p1}",
  "tg_schema_expected_received": "expected {expected}, received {received}",
  "tg_schema_failed_to_evaluate_field_rule_against": "failed to evaluate field '{target_field_key}' rule {rule_index} against '{field_key}': {source}",
  "tg_schema_invalid_field": "invalid {field_type} field '{field_key}': {source}",
  "tg_schema_field_rule_uses_unsupported_operation_for_field": "field '{field_key}' rule {rule_index} uses unsupported operation '{p0}' for field '{referenced_key}'",
  "tg_schema_field_rule_has_an_invalid_operand_for": "field '{field_key}' rule {rule_index} has an invalid operand for '{referenced_key}': {source}",
  "tg_schema_field_rule_cannot_compare_with": "field '{field_key}' rule {rule_index} cannot compare '{left_field}' ({left_type}) with '{right_field}' ({right_type})",
  "tg_api_api_baseurl_must_be_an_http_url_without_credentials_query_or_fragment": "API baseUrl must be an HTTP URL without credentials, query or fragment.",
  "tg_api_endpoint_must_be_a_relative_path_beneath_baseurl": "Endpoint must be a relative path beneath baseUrl.",
  "tg_api_endpoint_cannot_escape_baseurl": "Endpoint cannot escape baseUrl.",
  "tg_api_endpoint_contains_excessive_encoding": "Endpoint contains excessive encoding.",
  "tg_api_api_is_not_configured": "API '{p0}' is not configured.",
  "tg_api_api_timeoutms_must_be_finite_and_positive": "API timeoutMs must be finite and positive.",
  "tg_api_get_requests_cannot_have_a_body": "GET requests cannot have a body.",
  "tg_api_query_parameters_must_be_scalar_values": "Query parameters must be scalar values.",
  "tg_api_result_path_must_be_a_json_pointer": "Result path must be a JSON Pointer.",
  "tg_api_invalid_json_pointer_escape": "Invalid JSON Pointer escape.",
  "tg_api_missing_result_path": "Missing result path '{p0}'.",
  "tg_source_response_exceeds_the_supported_nesting_depth": "Response exceeds the supported nesting depth.",
  "tg_source_invalid_source_response_at_expected": "Invalid source response at '{p0}': expected {p1}.",
  "tg_source_unsupported_response_schema_type": "Unsupported response schema type.",
  "tg_source_invalid_response_schema": "Invalid response schema.",
  "tg_source_unsupported_response_schema_keyword": "Unsupported response schema keyword.",
  "tg_source_invalid_object_properties": "Invalid object properties.",
  "tg_source_invalid_required_properties": "Invalid required properties.",
  "tg_source_invalid_additionalproperties": "Invalid additionalProperties.",
  "tg_api_file_field_has_no_stable_handle": "File field has no stable handle.",
  "tg_api_field_has_an_unknown_timezone": "Field '{p0}' has an unknown timezone: {p1}.",
  "tg_api_cannot_prepare_invalid_attachments_in": "Cannot prepare invalid attachments in '{p0}'.",
  "tg_api_tungsten_engine_was_disposed": "Tungsten engine was disposed.",
  "tg_api_data_source_is_not_configured": "Data source '{p0}' is not configured.",
  "tg_ui_design_has_no_renderer_for_repeater_render_type": "Design '{p0}' has no renderer for repeater render type '{p1}'.",
  "tg_ui_design_has_no_renderer_for_group_render_type": "Design '{p0}' has no renderer for group render type '{p1}'.",
  "tg_ui_design_group_renderer_does_not_support_variant": "Design '{p0}' group renderer '{p1}' does not support variant '{p2}'.",
  "tg_ui_design_has_no_renderer_for_field_type": "Design '{p0}' has no renderer for field type '{p1}'.",
  "tg_ui_b": "{p0} B",
  "tg_ui_": "{p0} {p1}",
  "tg_ui_field_expected_a_boolean_or_null_value": "Field '{p0}' expected a boolean or null value.",
  "tg_ui_field_expected_a_date_time_string_or_null_value": "Field '{p0}' expected a date/time string or null value.",
  "tg_ui_field_expected_a_number_or_null_value": "Field '{p0}' expected a number or null value.",
  "tg_ui_move_earlier": "Move {p0} earlier",
  "tg_ui_move_later": "Move {p0} later",
  "tg_ui_remove_2": "Remove {p0}",
  "tg_ui_add_to": "Add to {p0}",
  "tg_ui_navigation": "{p0} navigation",
  "tg_ui_field_expected_a_string_or_null_value": "Field '{p0}' expected a string or null value.",
  "tg_editor_drag_onto_the_layout_or_click_to_add": "{p0} Drag onto the layout or click to add.",
  "tg_editor_delete": "Delete {p0}",
  "tg_editor_move": "Move {p0} {p1}",
  "tg_editor_drag": "Drag {p0}",
  "tg_editor_move_up": "Move {p0} up",
  "tg_editor_move_down": "Move {p0} down",
  "tg_editor_structural_nesting_is_limited_to_levels": "Structural nesting is limited to {p0} levels.",
  "tg_editor_needs_children_and_a_render_descriptor": "'{p0}' needs children and a render descriptor.",
  "tg_editor_needs_object_renderer_settings": "'{p0}' needs object renderer settings.",
  "tg_editor_has_malformed_rules": "'{p0}' has malformed rules.",
  "tg_editor_has_malformed_validators": "'{p0}' has malformed validators.",
  "tg_editor_must_be_valid_json": "{p0} must be valid JSON.",
  "tg_editor_must_be_a_string_string_array_number_boolean_null_or_file_reference_object": "{p0} must be a string, string array, number, boolean, null or file reference object.",
  "tg_editor_component_key_is_duplicated": "Component key '{p0}' is duplicated.",
  "tg_i18n_invalid_catalog": "Translation JSON must contain strings or plural messages with an \"other\" fallback.",
  "tg_ui_file_limit": {
    "one": "Up to {count} file",
    "other": "Up to {count} files"
  },
  "tg_ui_file_size_each": "{size} per file",
  "tg_ui_file_size_max": "{size} maximum",
  "tg_ui_calendar_month": "{month} {year}",
  "tg_ui_calendar_day": "{day} {month} {year}",
  "tg_api_timeout": "Request timed out.",
  "tg_api_canceled": "Request canceled.",
  "tg_api_http_error": "Request failed (HTTP {status}).",
  "tg_file_missing_bytes": "This draft has an attachment without its file contents. Select the file again or restore a draft containing uploaded IDs.",
  "tg_file_invalid_response": "Upload response must contain a nonempty string id.",
  "tg_editor_into": "Into {label}",
  "tg_editor_before": "Before {key}",
  "tg_editor_tab_form": "Form",
  "tg_editor_tab_schema": "Schema",
  "tg_editor_tab_values": "Values",
  "tg_editor_tab_state": "State",
  "tg_schema_repeater_renderer": "repeater '{key}': {error}",
  "tg_date_precision": "Date/time inputs support up to millisecond precision.",
  "tg_date_nonexistent_time": "This clock time does not exist in the selected timezone.",
  "tg_api_worker_failed": "Tungsten worker failed.",
  "tg_ui_missing_repeater_state": "No runtime state for repeater '{key}'.",
  "tg_validation_date_format_date": "YYYY-MM-DD",
  "tg_validation_date_format_time": "HH:mm or HH:mm:ss (optional fractional seconds)",
  "tg_validation_date_format_datetime": "RFC 3339 date and time with Z or a UTC offset",
  "tg_ui_missing_field_state": "The engine returned no state for field '{key}'.",
  "tg_editor_view_editor": "Editor",
  "tg_editor_view_preview": "Preview",
  "tg_editor_view_json": "JSON",
  "tg_editor_close_settings": "Close settings",
  "tg_warning_multiple_value_writes": "Field “{fieldKey}” changed more than once in this operation. Competing value rules have no guaranteed precedence.",
  "tg_schema_invalid_processing_limit": "maxProcessingSteps must be a positive integer.",
  "tg_api_invalid_debounce": "Autosave debounceMs must be a finite non-negative duration.",
  "tg_api_operations_unavailable": "Form operations could not be initialized.",
  "tg_ui_save_pending": "Saving…",
  "tg_ui_save_success": "Draft saved.",
  "tg_ui_save_error": "Draft could not be saved.",
  "tg_ui_submit_pending": "Submitting…",
  "tg_ui_submit_success": "Form submitted.",
  "tg_ui_submit_error": "Form could not be submitted.",
  "tg_ui_save_dirty": "Unsaved changes.",
  "tg_editor_label_translation_hint": "Text or translation key. Matching keys change with the form language.",
  "tg_editor_keep_parent_key_prefix": "Keep the “{prefix}” prefix; it links this field to its parent.",
  "tg_ui_format_json": "Format JSON",
  "tg_ui_invalid_json_format": "Enter valid JSON before formatting.",
  "tg_editor_file_upload_help": "Set upload.api to an API name from your host configuration and upload.endpoint to a relative upload path, such as files. Both are required. The editor does not create an upload server.",
  "tg_schema_invalid_file_setting": "{setting}: {reason}",
  "tg_schema_file_upload_method": "Use POST, PUT or PATCH.",
  "tg_schema_file_upload_timing": "Use submit or selection.",
  "tg_schema_file_max_files": "Use an integer greater than zero.",
  "tg_schema_file_accept": "Use file extensions such as .pdf or MIME types such as image/*."
}
