diff --git a/frontend/viewer/src/locales/en.po b/frontend/viewer/src/locales/en.po index 4c57dcb0b9..9a91d81816 100644 --- a/frontend/viewer/src/locales/en.po +++ b/frontend/viewer/src/locales/en.po @@ -173,6 +173,12 @@ msgstr "Add Sense" msgid "Add Word" msgstr "Add Word" +#. Radio option in custom view writing system picker. +#. Includes all writing systems (no filtering). +#: src/lib/views/custom/CustomViewWritingSystems.svelte +msgid "All" +msgstr "All" + #. Relevant view: Classic #. Lite view equivalent: "a word" #. Placeholder/suggestion in search field @@ -180,6 +186,12 @@ msgstr "Add Word" msgid "an entry" msgstr "an entry" +#. Section heading in custom view writing system picker. +#. Labels the analysis language writing systems (e.g., English definitions/glosses). +#: src/lib/views/custom/CustomViewWritingSystems.svelte +msgid "Analysis" +msgstr "Analysis" + #. Relevant view: Classic #. Lite view equivalent: "Any part of speech" #. Filter option: clear grammatical info filter @@ -215,12 +227,6 @@ msgstr "Any semantic domain" msgid "Any Ws" msgstr "Any Ws" -#. Field label -#: src/lib/troubleshoot/TroubleshootDialog.svelte -#: src/lib/updates/UpdateDialog.svelte -msgid "Application version" -msgstr "Application version" - #. Confirmation prompt #: src/lib/entry-editor/DeleteDialog.svelte msgid "Are you sure you want to delete {0}?" @@ -261,6 +267,18 @@ msgstr "Auto" msgid "Auto syncing" msgstr "Auto syncing" +#. Section label in custom view form. +#. Selects the base view preset (Classic or Lite) that the custom view inherits from. +#: src/lib/views/custom/CustomViewForm.svelte +msgid "Based on" +msgstr "Based on" + +#. Subtitle under each custom view in the manage dialog. +#. {0} = name of the base view preset (e.g., "FieldWorks Lite" or "FieldWorks Classic"). +#: src/lib/views/custom/ManageCustomViewsDialog.svelte +msgid "Based on {0}" +msgstr "Based on {0}" + #. Sort option #: src/project/browse/sort/SortMenu.svelte msgid "Best match" @@ -281,12 +299,12 @@ msgstr "Browse" #. Synonyms across UI: "Don't delete" (Delete dialog), "Close" (About dialog) #. Keep translation brief (3-4 chars in some languages) to fit button layout #: src/lib/admin-dialogs/GetProjectByCodeDialog.svelte +#: src/lib/components/SubmitOrCancel.svelte #: src/lib/components/audio/AudioDialog.svelte -#: src/lib/components/field-editors/multi-select.svelte #: src/lib/components/field-editors/select.svelte #: src/lib/entry-editor/EditEntryDialog.svelte -#: src/lib/entry-editor/EntryOrSensePicker.svelte #: src/lib/entry-editor/NewEntryDialog.svelte +#: src/lib/views/custom/CustomViewForm.svelte msgid "Cancel" msgstr "Cancel" @@ -313,17 +331,10 @@ msgstr "Choose theme" #. Relevant view: Classic #. Lite view equivalent: "Display as" #. Field label: form for citing in dictionary -#: src/lib/entry-editor/object-editors/EntryEditorPrimitive.svelte +#: src/lib/views/entity-config.ts msgid "Citation form" msgstr "Citation form" -#. Relevant view: Classic -#. Lite view equivalent: "Display as" -#. Filter option: narrow by citation form -#: src/project/browse/filter/FieldSelect.svelte -msgid "Citation Form" -msgstr "Citation Form" - #. Section header for projects from FieldWorks #: src/home/HomeView.svelte msgid "Classic FieldWorks Projects" @@ -364,7 +375,7 @@ msgstr "Complex Form" #. Field label #. Classifies the type of complex form relationship (user-configurable) #. Examples: "compound", "derivative", "inflectional" (varies by project) -#: src/lib/entry-editor/object-editors/EntryEditorPrimitive.svelte +#: src/lib/views/entity-config.ts msgid "Complex form types" msgstr "Complex form types" @@ -374,7 +385,7 @@ msgid "Complex form:" msgstr "Complex form:" #. Field label -#: src/lib/entry-editor/object-editors/EntryEditorPrimitive.svelte +#: src/lib/views/entity-config.ts msgid "Complex forms" msgstr "Complex forms" @@ -395,7 +406,7 @@ msgid "Component:" msgstr "Component:" #. Field label -#: src/lib/entry-editor/object-editors/EntryEditorPrimitive.svelte +#: src/lib/views/entity-config.ts msgid "Components" msgstr "Components" @@ -416,6 +427,11 @@ msgstr "Copied to clipboard" msgid "Copy version" msgstr "Copy version" +#. Dialog title when creating a new custom view. +#: src/lib/views/custom/CreateCustomViewDialog.svelte +msgid "Create Custom View" +msgstr "Create Custom View" + #. Button label (view-dependent: "Create entry" in Classic, "Add new word" in Lite) #: src/lib/entry-editor/NewEntryButton.svelte msgid "Create entry" @@ -433,6 +449,11 @@ msgstr "Create Entry" msgid "Create Example Project" msgstr "Create Example Project" +#. Submit button in the create custom view dialog. +#: src/lib/views/custom/CreateCustomViewDialog.svelte +msgid "Create View" +msgstr "Create View" + #. Relevant view: Classic #. Lite view equivalent: "Current Word" #. Label in picker: marks the entry that is currently being edited @@ -454,6 +475,17 @@ msgstr "Current version" msgid "Current Word" msgstr "Current Word" +#. Radio option in custom view writing system picker. +#. Enables manual selection of individual writing systems. +#: src/lib/views/custom/CustomViewWritingSystems.svelte +msgid "Custom" +msgstr "Custom" + +#. Label used in delete confirmation prompt for a custom view. +#: src/lib/views/custom/ManageCustomViewsDialog.svelte +msgid "Custom view" +msgstr "Custom view" + #. Theme option #: src/lib/components/ThemePicker.svelte msgid "Dark" @@ -472,7 +504,7 @@ msgstr "Data Directory" #. Field label #. Definition for a sense/meaning (e.g., "bank" = "financial institution") #. Appears under each Sense/Meaning in entry editor -#: src/lib/entry-editor/object-editors/SenseEditorPrimitive.svelte +#: src/lib/views/entity-config.ts msgid "Definition" msgstr "Definition" @@ -538,8 +570,7 @@ msgstr "Discard" #. Relevant view: Lite #. Classic view equivalent: "Citation Form" #. Lexicography term: choose which form of the entry to display -#: src/lib/entry-editor/object-editors/EntryEditorPrimitive.svelte -#: src/project/browse/filter/FieldSelect.svelte +#: src/lib/views/entity-config.ts msgid "Display as" msgstr "Display as" @@ -606,6 +637,11 @@ msgstr "Downloading {0}..." msgid "Downloading..." msgstr "Downloading..." +#. Dialog title when editing an existing custom view. +#: src/lib/views/custom/EditCustomViewDialog.svelte +msgid "Edit Custom View" +msgstr "Edit Custom View" + #. Role selector option #: src/lib/admin-dialogs/GetProjectByCodeDialog.svelte msgid "Editor" @@ -637,7 +673,7 @@ msgstr "entry" #: src/lib/entry-editor/EditEntryDialog.svelte #: src/lib/entry-editor/EntryOrSenseItemList.svelte #: src/lib/entry-editor/EntryOrSensePicker.svelte -#: src/lib/entry-editor/object-editors/EntryEditorPrimitive.svelte +#: src/lib/views/entity-config.ts #: src/project/browse/EntryMenu.svelte msgid "Entry" msgstr "Entry" @@ -682,6 +718,7 @@ msgstr "Error getting sync status." #. Labels example sentence/phrase section in entry editor #. Contains: sentence text, translation, source reference #: src/lib/entry-editor/object-editors/ObjectHeader.svelte +#: src/lib/views/entity-config.ts msgid "Example" msgstr "Example" @@ -737,6 +774,12 @@ msgstr "Feedback & Support" msgid "Field" msgstr "Field" +#. Section label in custom view form. +#. Shows checkboxes to select which dictionary fields are visible (grouped by entry, sense, example). +#: src/lib/views/custom/CustomViewForm.svelte +msgid "Fields" +msgstr "Fields" + #. Product name #: src/project/sync/SyncStatusPrimitive.svelte msgid "FieldWorks Lite" @@ -750,6 +793,11 @@ msgstr "FieldWorks Lite has been updated successfully. Please restart the app to msgid "FieldWorks Lite users will automatically receive changes that were made in FieldWorks Classic. FieldWorks Classic users will see changes that were made in FieldWorks Lite after they do Send/Receive." msgstr "FieldWorks Lite users will automatically receive changes that were made in FieldWorks Classic. FieldWorks Classic users will see changes that were made in FieldWorks Lite after they do Send/Receive." +#: src/lib/troubleshoot/TroubleshootDialog.svelte +#: src/lib/updates/UpdateDialog.svelte +msgid "FieldWorks Lite version" +msgstr "FieldWorks Lite version" + #. Alt text for FieldWorks logo image #: src/home/HomeView.svelte #: src/lib/components/OpenInFieldWorksButton.svelte @@ -877,8 +925,7 @@ msgstr "Get support" #. Brief translation/equivalent (one word or short phrase) #. Different from "Definition" (longer explanation) #. Appears under each sense/meaning; concise translation -#: src/lib/entry-editor/object-editors/SenseEditorPrimitive.svelte -#: src/project/browse/filter/FieldSelect.svelte +#: src/lib/views/entity-config.ts msgid "Gloss" msgstr "Gloss" @@ -894,7 +941,7 @@ msgstr "Go to {0}" #. Relevant view: Classic #. Lite view equivalent: "Part of speech" #. Field label: grammatical category (noun, verb, adjective, etc.) -#: src/lib/entry-editor/object-editors/SenseEditorPrimitive.svelte +#: src/lib/views/entity-config.ts #: src/project/browse/SearchFilter.svelte msgid "Grammatical info." msgstr "Grammatical info." @@ -991,16 +1038,14 @@ msgstr "Lexbox logo" #. Relevant view: Classic #. Lite view equivalent: "Word" #. Field label: the main headword/base form -#: src/lib/entry-editor/object-editors/EntryEditorPrimitive.svelte +#: src/lib/views/entity-config.ts msgid "Lexeme form" msgstr "Lexeme form" -#. Relevant view: Classic -#. Lite view equivalent: "Word" -#. Filter option: narrow results by headword/base form -#: src/project/browse/filter/FieldSelect.svelte -msgid "Lexeme Form" -msgstr "Lexeme Form" +#: src/lib/entry-editor/NewEntryDialog.svelte +#: src/lib/views/custom/validation.ts +msgid "Lexeme form or Citation form is required" +msgstr "Lexeme form or Citation form is required" #: src/lib/components/ThemePicker.svelte msgid "Light" @@ -1013,7 +1058,7 @@ msgstr "List mode" #. Field name shown in advanced/classic view #. The literal meaning of the vernacular translated into the analysis language #. Contrasts with glosses/definitions in the analysis language -#: src/lib/entry-editor/object-editors/EntryEditorPrimitive.svelte +#: src/lib/views/entity-config.ts msgid "Literal meaning" msgstr "Literal meaning" @@ -1060,6 +1105,17 @@ msgstr "Make a suggestion" msgid "Make sure your [changes are synced]({0}) to Lexbox." msgstr "Make sure your [changes are synced]({0}) to Lexbox." +#. Button label in view picker; opens the manage custom views dialog. +#. Only visible to project managers. +#: src/lib/views/custom/ManageCustomViewsButton.svelte +msgid "Manage custom views" +msgstr "Manage custom views" + +#. Dialog title for managing all custom views (create, edit, delete). +#: src/lib/views/custom/ManageCustomViewsDialog.svelte +msgid "Manage Custom Views" +msgstr "Manage Custom Views" + #: src/lib/admin-dialogs/GetProjectByCodeDialog.svelte msgid "Manager" msgstr "Manager" @@ -1110,6 +1166,21 @@ msgstr "Mode" msgid "Move" msgstr "Move" +#. Placeholder text in the name input of the custom view form. +#: src/lib/views/custom/CustomViewForm.svelte +msgid "My custom view..." +msgstr "My custom view..." + +#. Field label for the custom view name input. +#: src/lib/views/custom/CustomViewForm.svelte +msgid "Name" +msgstr "Name" + +#. Validation error shown when the custom view name is empty. +#: src/lib/views/custom/validation.ts +msgid "Name is required" +msgstr "Name is required" + #: src/project/sync/FwLiteToFwMergeDetails.svelte #: src/project/sync/FwLiteToFwMergeDetails.svelte #: src/project/sync/SyncStatusPrimitive.svelte @@ -1120,6 +1191,11 @@ msgstr "Never" msgid "New" msgstr "New" +#. Button label in the manage custom views dialog; opens the create form. +#: src/lib/views/custom/ManageCustomViewsDialog.svelte +msgid "New Custom View" +msgstr "New Custom View" + #: src/project/sync/FwLiteToFwMergeDetails.svelte msgid "New data" msgstr "New data" @@ -1154,6 +1230,11 @@ msgstr "No activity found" msgid "No audio" msgstr "No audio" +#. Empty state message in the manage custom views dialog when none exist. +#: src/lib/views/custom/ManageCustomViewsDialog.svelte +msgid "No custom views yet." +msgstr "No custom views yet." + #: src/project/ProjectDropdown.svelte msgid "No Dictionaries found" msgstr "No Dictionaries found" @@ -1230,7 +1311,7 @@ msgstr "Not synced" #. Field label #. General notes/remarks field in entry editor #. Unconstrained text for additional metadata/comments -#: src/lib/entry-editor/object-editors/EntryEditorPrimitive.svelte +#: src/lib/views/entity-config.ts msgid "Note" msgstr "Note" @@ -1307,14 +1388,14 @@ msgstr "Part" #: src/lib/entry-editor/field-editors/ComplexFormComponents.svelte #: src/lib/entry-editor/field-editors/ComplexForms.svelte #: src/lib/entry-editor/field-editors/ComplexForms.svelte -#: src/lib/entry-editor/object-editors/EntryEditorPrimitive.svelte +#: src/lib/views/entity-config.ts msgid "Part of" msgstr "Part of" #. Relevant view: Lite #. Classic view equivalent: "Grammatical info." #. Field label: grammatical category (noun, verb, adjective, etc.) -#: src/lib/entry-editor/object-editors/SenseEditorPrimitive.svelte +#: src/lib/views/entity-config.ts #: src/project/browse/SearchFilter.svelte msgid "Part of speech" msgstr "Part of speech" @@ -1381,15 +1462,24 @@ msgstr "Project name..." msgid "Publication" msgstr "Publication" -#. Label for publication domain selector -#: src/lib/entry-editor/object-editors/EntryEditorPrimitive.svelte -msgid "Publish {0} in" -msgstr "Publish {0} in" +#. Relevant view: Classic +#. Lite view equivalent: "Publish Word in" +#. Field label: selects which publications an entry appears in. +#: src/lib/views/entity-config.ts +msgid "Publish Entry in" +msgstr "Publish Entry in" + +#. Relevant view: Lite +#. Classic view equivalent: "Publish Entry in" +#. Field label: selects which publications a word appears in. +#: src/lib/views/entity-config.ts +msgid "Publish Word in" +msgstr "Publish Word in" #. Field label for citation source #. Source attribution for an example sentence (book title, page, URL, etc.) #. Identifies where the example was found/cited -#: src/lib/entry-editor/object-editors/ExampleEditorPrimitive.svelte +#: src/lib/views/entity-config.ts msgid "Reference" msgstr "Reference" @@ -1460,6 +1550,11 @@ msgstr "Save As" msgid "Save audio" msgstr "Save audio" +#. Submit button in the edit custom view dialog. +#: src/lib/views/custom/EditCustomViewDialog.svelte +msgid "Save View" +msgstr "Save View" + #. Search placeholder #: src/lib/entry-editor/EntryOrSensePicker.svelte msgid "Search # or #" @@ -1485,6 +1580,16 @@ msgstr "Select {0} to view details" msgid "Select a new task to work on" msgstr "Select a new task to work on" +#. Validation error when no analysis writing systems are selected in custom view form. +#: src/lib/views/custom/validation.ts +msgid "Select at least one analysis writing system" +msgstr "Select at least one analysis writing system" + +#. Validation error when no vernacular writing systems are selected in custom view form. +#: src/lib/views/custom/validation.ts +msgid "Select at least one vernacular writing system" +msgstr "Select at least one vernacular writing system" + #. Dialog button #: src/lib/components/audio/audio-provider.svelte #: src/lib/components/audio/audio-provider.svelte @@ -1501,7 +1606,7 @@ msgstr "Semantic domain" #. Field label #. Assigns sense/meaning to semantic categories (e.g., word can belong to multiple domains) #. Appears under each Sense/Meaning; usually multiple selection allowed -#: src/lib/entry-editor/object-editors/SenseEditorPrimitive.svelte +#: src/lib/views/entity-config.ts msgid "Semantic domains" msgstr "Semantic domains" @@ -1517,13 +1622,14 @@ msgstr "Send us a message" #: src/lib/entry-editor/object-editors/AddSenseFab.svelte #: src/lib/entry-editor/object-editors/EntryEditor.svelte #: src/lib/entry-editor/object-editors/ObjectHeader.svelte +#: src/lib/views/entity-config.ts msgid "Sense" msgstr "Sense" #. Field label for example text #. The sentence/phrase text for an example (source text in original language) #. Paired with "Translation" field for translated version -#: src/lib/entry-editor/object-editors/ExampleEditorPrimitive.svelte +#: src/lib/views/entity-config.ts msgid "Sentence" msgstr "Sentence" @@ -1600,7 +1706,7 @@ msgid "Subject does not have suitable object of type: {0}" msgstr "Subject does not have suitable object of type: {0}" #. Button to confirm selection -#: src/lib/components/field-editors/multi-select.svelte +#: src/lib/components/SubmitOrCancel.svelte #: src/lib/components/field-editors/multi-select.svelte #: src/lib/components/field-editors/multi-select.svelte msgid "Submit" @@ -1756,10 +1862,10 @@ msgstr "Toggle pinned" #. Field label #: src/lib/entry-editor/object-editors/ExampleEditorPrimitive.svelte +#: src/lib/views/entity-config.ts msgid "Translation" msgstr "Translation" -#. Language-specific translation field #: src/lib/entry-editor/object-editors/ExampleEditorPrimitive.svelte msgid "Translation {0}" msgstr "Translation {0}" @@ -1888,14 +1994,15 @@ msgid "Updates" msgstr "Updates" #. Field label -#: src/lib/entry-editor/object-editors/EntryEditorPrimitive.svelte +#: src/lib/views/entity-config.ts msgid "Uses components as" msgstr "Uses components as" -#. Version display -#: src/project/ProjectSidebar.svelte -msgid "Version {0}" -msgstr "Version {0}" +#. Section heading in custom view writing system picker. +#. Labels the vernacular language writing systems (the language being documented). +#: src/lib/views/custom/CustomViewWritingSystems.svelte +msgid "Vernacular" +msgstr "Vernacular" #. Button label #: src/project/browse/ViewPicker.svelte @@ -1929,10 +2036,9 @@ msgstr "word" #: src/lib/entry-editor/EditEntryDialog.svelte #: src/lib/entry-editor/EntryOrSenseItemList.svelte #: src/lib/entry-editor/EntryOrSensePicker.svelte -#: src/lib/entry-editor/object-editors/EntryEditorPrimitive.svelte -#: src/lib/entry-editor/object-editors/EntryEditorPrimitive.svelte +#: src/lib/views/entity-config.ts +#: src/lib/views/entity-config.ts #: src/project/browse/EntryMenu.svelte -#: src/project/browse/filter/FieldSelect.svelte msgid "Word" msgstr "Word" @@ -1943,6 +2049,11 @@ msgstr "Word" msgid "Word only" msgstr "Word only" +#: src/lib/entry-editor/NewEntryDialog.svelte +#: src/lib/views/custom/validation.ts +msgid "Word or Display as is required" +msgstr "Word or Display as is required" + #. Relevant view: Lite #. Classic view equivalent: "Entry or sense:" #. Label for picker: allows selecting word-level or meaning-level link @@ -1959,6 +2070,12 @@ msgstr "Writing System" msgid "Writing system: {0}" msgstr "Writing system: {0}" +#. Section label in custom view form. +#. Configures which vernacular and analysis writing systems are shown. +#: src/lib/views/custom/CustomViewForm.svelte +msgid "Writing systems" +msgstr "Writing systems" + #. Filter section title #: src/project/browse/filter/WsSelect.svelte msgid "Writing Systems" diff --git a/frontend/viewer/src/locales/es.po b/frontend/viewer/src/locales/es.po index 7e21cb48ba..c29bc98e31 100644 --- a/frontend/viewer/src/locales/es.po +++ b/frontend/viewer/src/locales/es.po @@ -8,7 +8,7 @@ msgstr "" "Language: es\n" "Project-Id-Version: language-depot\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-02-11 12:43\n" +"PO-Revision-Date: 2026-04-08 07:59\n" "Last-Translator: \n" "Language-Team: Spanish\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -178,6 +178,12 @@ msgstr "Añadir acepción" msgid "Add Word" msgstr "Añadir palabra" +#. Radio option in custom view writing system picker. +#. Includes all writing systems (no filtering). +#: src/lib/views/custom/CustomViewWritingSystems.svelte +msgid "All" +msgstr "Todos" + #. Relevant view: Classic #. Lite view equivalent: "a word" #. Placeholder/suggestion in search field @@ -185,6 +191,12 @@ msgstr "Añadir palabra" msgid "an entry" msgstr "una entrada" +#. Section heading in custom view writing system picker. +#. Labels the analysis language writing systems (e.g., English definitions/glosses). +#: src/lib/views/custom/CustomViewWritingSystems.svelte +msgid "Analysis" +msgstr "Análisis" + #. Relevant view: Classic #. Lite view equivalent: "Any part of speech" #. Filter option: clear grammatical info filter @@ -220,12 +232,6 @@ msgstr "Cualquier dominio semántico" msgid "Any Ws" msgstr "Cualquier W" -#. Field label -#: src/lib/troubleshoot/TroubleshootDialog.svelte -#: src/lib/updates/UpdateDialog.svelte -msgid "Application version" -msgstr "Versión de la aplicación" - #. Confirmation prompt #: src/lib/entry-editor/DeleteDialog.svelte msgid "Are you sure you want to delete {0}?" @@ -266,6 +272,18 @@ msgstr "Auto" msgid "Auto syncing" msgstr "Sincronización automática" +#. Section label in custom view form. +#. Selects the base view preset (Classic or Lite) that the custom view inherits from. +#: src/lib/views/custom/CustomViewForm.svelte +msgid "Based on" +msgstr "Basado en" + +#. Subtitle under each custom view in the manage dialog. +#. {0} = name of the base view preset (e.g., "FieldWorks Lite" or "FieldWorks Classic"). +#: src/lib/views/custom/ManageCustomViewsDialog.svelte +msgid "Based on {0}" +msgstr "Basado en {0}" + #. Sort option #: src/project/browse/sort/SortMenu.svelte msgid "Best match" @@ -286,12 +304,12 @@ msgstr "Visite" #. Synonyms across UI: "Don't delete" (Delete dialog), "Close" (About dialog) #. Keep translation brief (3-4 chars in some languages) to fit button layout #: src/lib/admin-dialogs/GetProjectByCodeDialog.svelte +#: src/lib/components/SubmitOrCancel.svelte #: src/lib/components/audio/AudioDialog.svelte -#: src/lib/components/field-editors/multi-select.svelte #: src/lib/components/field-editors/select.svelte #: src/lib/entry-editor/EditEntryDialog.svelte -#: src/lib/entry-editor/EntryOrSensePicker.svelte #: src/lib/entry-editor/NewEntryDialog.svelte +#: src/lib/views/custom/CustomViewForm.svelte msgid "Cancel" msgstr "Cancelar" @@ -318,17 +336,10 @@ msgstr "Elegir tema" #. Relevant view: Classic #. Lite view equivalent: "Display as" #. Field label: form for citing in dictionary -#: src/lib/entry-editor/object-editors/EntryEditorPrimitive.svelte +#: src/lib/views/entity-config.ts msgid "Citation form" msgstr "Formulario de cita" -#. Relevant view: Classic -#. Lite view equivalent: "Display as" -#. Filter option: narrow by citation form -#: src/project/browse/filter/FieldSelect.svelte -msgid "Citation Form" -msgstr "Formulario de citación" - #. Section header for projects from FieldWorks #: src/home/HomeView.svelte msgid "Classic FieldWorks Projects" @@ -369,7 +380,7 @@ msgstr "Forma compleja" #. Field label #. Classifies the type of complex form relationship (user-configurable) #. Examples: "compound", "derivative", "inflectional" (varies by project) -#: src/lib/entry-editor/object-editors/EntryEditorPrimitive.svelte +#: src/lib/views/entity-config.ts msgid "Complex form types" msgstr "Tipos de formularios complejos" @@ -379,7 +390,7 @@ msgid "Complex form:" msgstr "Forma compleja:" #. Field label -#: src/lib/entry-editor/object-editors/EntryEditorPrimitive.svelte +#: src/lib/views/entity-config.ts msgid "Complex forms" msgstr "Formas complejas" @@ -400,7 +411,7 @@ msgid "Component:" msgstr "Componente:" #. Field label -#: src/lib/entry-editor/object-editors/EntryEditorPrimitive.svelte +#: src/lib/views/entity-config.ts msgid "Components" msgstr "Componentes" @@ -421,6 +432,11 @@ msgstr "Copiado al portapapeles" msgid "Copy version" msgstr "Copiar versión" +#. Dialog title when creating a new custom view. +#: src/lib/views/custom/CreateCustomViewDialog.svelte +msgid "Create Custom View" +msgstr "Crear vista personalizada" + #. Button label (view-dependent: "Create entry" in Classic, "Add new word" in Lite) #: src/lib/entry-editor/NewEntryButton.svelte msgid "Create entry" @@ -438,6 +454,11 @@ msgstr "Crear entrada" msgid "Create Example Project" msgstr "Crear un proyecto de ejemplo" +#. Submit button in the create custom view dialog. +#: src/lib/views/custom/CreateCustomViewDialog.svelte +msgid "Create View" +msgstr "Crear vista" + #. Relevant view: Classic #. Lite view equivalent: "Current Word" #. Label in picker: marks the entry that is currently being edited @@ -459,6 +480,17 @@ msgstr "Versión actual" msgid "Current Word" msgstr "Palabra actual" +#. Radio option in custom view writing system picker. +#. Enables manual selection of individual writing systems. +#: src/lib/views/custom/CustomViewWritingSystems.svelte +msgid "Custom" +msgstr "Personalizado" + +#. Label used in delete confirmation prompt for a custom view. +#: src/lib/views/custom/ManageCustomViewsDialog.svelte +msgid "Custom view" +msgstr "Vista personalizada" + #. Theme option #: src/lib/components/ThemePicker.svelte msgid "Dark" @@ -477,7 +509,7 @@ msgstr "Directorio de datos" #. Field label #. Definition for a sense/meaning (e.g., "bank" = "financial institution") #. Appears under each Sense/Meaning in entry editor -#: src/lib/entry-editor/object-editors/SenseEditorPrimitive.svelte +#: src/lib/views/entity-config.ts msgid "Definition" msgstr "Definición" @@ -543,8 +575,7 @@ msgstr "Descartar" #. Relevant view: Lite #. Classic view equivalent: "Citation Form" #. Lexicography term: choose which form of the entry to display -#: src/lib/entry-editor/object-editors/EntryEditorPrimitive.svelte -#: src/project/browse/filter/FieldSelect.svelte +#: src/lib/views/entity-config.ts msgid "Display as" msgstr "Mostrar como" @@ -611,6 +642,11 @@ msgstr "Descargando {0}..." msgid "Downloading..." msgstr "Descargando..." +#. Dialog title when editing an existing custom view. +#: src/lib/views/custom/EditCustomViewDialog.svelte +msgid "Edit Custom View" +msgstr "Editar vista personalizada" + #. Role selector option #: src/lib/admin-dialogs/GetProjectByCodeDialog.svelte msgid "Editor" @@ -642,7 +678,7 @@ msgstr "entrada" #: src/lib/entry-editor/EditEntryDialog.svelte #: src/lib/entry-editor/EntryOrSenseItemList.svelte #: src/lib/entry-editor/EntryOrSensePicker.svelte -#: src/lib/entry-editor/object-editors/EntryEditorPrimitive.svelte +#: src/lib/views/entity-config.ts #: src/project/browse/EntryMenu.svelte msgid "Entry" msgstr "Entrada" @@ -687,6 +723,7 @@ msgstr "Error al obtener el estado de sincronización." #. Labels example sentence/phrase section in entry editor #. Contains: sentence text, translation, source reference #: src/lib/entry-editor/object-editors/ObjectHeader.svelte +#: src/lib/views/entity-config.ts msgid "Example" msgstr "Ejemplo" @@ -742,6 +779,12 @@ msgstr "Comentarios y Soporte" msgid "Field" msgstr "Campo" +#. Section label in custom view form. +#. Shows checkboxes to select which dictionary fields are visible (grouped by entry, sense, example). +#: src/lib/views/custom/CustomViewForm.svelte +msgid "Fields" +msgstr "Campos" + #. Product name #: src/project/sync/SyncStatusPrimitive.svelte msgid "FieldWorks Lite" @@ -755,6 +798,11 @@ msgstr "FieldWorks Lite se ha actualizado correctamente. Reinicie la aplicación msgid "FieldWorks Lite users will automatically receive changes that were made in FieldWorks Classic. FieldWorks Classic users will see changes that were made in FieldWorks Lite after they do Send/Receive." msgstr "Los usuarios de FieldWorks Lite recibirán automáticamente cambios realizados en FieldWorks Classic. Los usuarios de FieldWorks Classic verán los cambios que se hicieron en FieldWorks Lite después de que hagan Enviar/Recibir." +#: src/lib/troubleshoot/TroubleshootDialog.svelte +#: src/lib/updates/UpdateDialog.svelte +msgid "FieldWorks Lite version" +msgstr "Versión de FieldWorks Lite" + #. Alt text for FieldWorks logo image #: src/home/HomeView.svelte #: src/lib/components/OpenInFieldWorksButton.svelte @@ -882,8 +930,7 @@ msgstr "Obtener soporte" #. Brief translation/equivalent (one word or short phrase) #. Different from "Definition" (longer explanation) #. Appears under each sense/meaning; concise translation -#: src/lib/entry-editor/object-editors/SenseEditorPrimitive.svelte -#: src/project/browse/filter/FieldSelect.svelte +#: src/lib/views/entity-config.ts msgid "Gloss" msgstr "Glosa" @@ -899,7 +946,7 @@ msgstr "Visite {0}" #. Relevant view: Classic #. Lite view equivalent: "Part of speech" #. Field label: grammatical category (noun, verb, adjective, etc.) -#: src/lib/entry-editor/object-editors/SenseEditorPrimitive.svelte +#: src/lib/views/entity-config.ts #: src/project/browse/SearchFilter.svelte msgid "Grammatical info." msgstr "Información gramatical." @@ -996,16 +1043,14 @@ msgstr "Logotipo de Lexbox" #. Relevant view: Classic #. Lite view equivalent: "Word" #. Field label: the main headword/base form -#: src/lib/entry-editor/object-editors/EntryEditorPrimitive.svelte +#: src/lib/views/entity-config.ts msgid "Lexeme form" msgstr "Forma del lexema" -#. Relevant view: Classic -#. Lite view equivalent: "Word" -#. Filter option: narrow results by headword/base form -#: src/project/browse/filter/FieldSelect.svelte -msgid "Lexeme Form" -msgstr "Forma del lexema" +#: src/lib/entry-editor/NewEntryDialog.svelte +#: src/lib/views/custom/validation.ts +msgid "Lexeme form or Citation form is required" +msgstr "Formulario de Lexema o Citación es requerido" #: src/lib/components/ThemePicker.svelte msgid "Light" @@ -1018,7 +1063,7 @@ msgstr "Modo lista" #. Field name shown in advanced/classic view #. The literal meaning of the vernacular translated into the analysis language #. Contrasts with glosses/definitions in the analysis language -#: src/lib/entry-editor/object-editors/EntryEditorPrimitive.svelte +#: src/lib/views/entity-config.ts msgid "Literal meaning" msgstr "Significado literal" @@ -1065,6 +1110,17 @@ msgstr "Haz una sugerencia" msgid "Make sure your [changes are synced]({0}) to Lexbox." msgstr "Asegúrese de que su [cambios están sincronizados]({0}) en Lexbox." +#. Button label in view picker; opens the manage custom views dialog. +#. Only visible to project managers. +#: src/lib/views/custom/ManageCustomViewsButton.svelte +msgid "Manage custom views" +msgstr "Administrar vistas personalizadas" + +#. Dialog title for managing all custom views (create, edit, delete). +#: src/lib/views/custom/ManageCustomViewsDialog.svelte +msgid "Manage Custom Views" +msgstr "Administrar vistas personalizadas" + #: src/lib/admin-dialogs/GetProjectByCodeDialog.svelte msgid "Manager" msgstr "Gerente" @@ -1115,6 +1171,21 @@ msgstr "Modo" msgid "Move" msgstr "Mover" +#. Placeholder text in the name input of the custom view form. +#: src/lib/views/custom/CustomViewForm.svelte +msgid "My custom view..." +msgstr "Mi vista personalizada..." + +#. Field label for the custom view name input. +#: src/lib/views/custom/CustomViewForm.svelte +msgid "Name" +msgstr "Nombre" + +#. Validation error shown when the custom view name is empty. +#: src/lib/views/custom/validation.ts +msgid "Name is required" +msgstr "Se requiere nombre" + #: src/project/sync/FwLiteToFwMergeDetails.svelte #: src/project/sync/FwLiteToFwMergeDetails.svelte #: src/project/sync/SyncStatusPrimitive.svelte @@ -1125,6 +1196,11 @@ msgstr "Nunca" msgid "New" msgstr "Nuevo" +#. Button label in the manage custom views dialog; opens the create form. +#: src/lib/views/custom/ManageCustomViewsDialog.svelte +msgid "New Custom View" +msgstr "Nueva vista personalizada" + #: src/project/sync/FwLiteToFwMergeDetails.svelte msgid "New data" msgstr "Nuevos datos" @@ -1159,6 +1235,11 @@ msgstr "No se ha encontrado actividad" msgid "No audio" msgstr "Sin audio" +#. Empty state message in the manage custom views dialog when none exist. +#: src/lib/views/custom/ManageCustomViewsDialog.svelte +msgid "No custom views yet." +msgstr "Aún no hay vistas personalizadas." + #: src/project/ProjectDropdown.svelte msgid "No Dictionaries found" msgstr "No se han encontrado diccionarios" @@ -1235,7 +1316,7 @@ msgstr "No sincronizado" #. Field label #. General notes/remarks field in entry editor #. Unconstrained text for additional metadata/comments -#: src/lib/entry-editor/object-editors/EntryEditorPrimitive.svelte +#: src/lib/views/entity-config.ts msgid "Note" msgstr "Nota" @@ -1312,14 +1393,14 @@ msgstr "Pieza" #: src/lib/entry-editor/field-editors/ComplexFormComponents.svelte #: src/lib/entry-editor/field-editors/ComplexForms.svelte #: src/lib/entry-editor/field-editors/ComplexForms.svelte -#: src/lib/entry-editor/object-editors/EntryEditorPrimitive.svelte +#: src/lib/views/entity-config.ts msgid "Part of" msgstr "Parte de" #. Relevant view: Lite #. Classic view equivalent: "Grammatical info." #. Field label: grammatical category (noun, verb, adjective, etc.) -#: src/lib/entry-editor/object-editors/SenseEditorPrimitive.svelte +#: src/lib/views/entity-config.ts #: src/project/browse/SearchFilter.svelte msgid "Part of speech" msgstr "Parte de la oración" @@ -1386,15 +1467,24 @@ msgstr "Nombre del proyecto..." msgid "Publication" msgstr "Publicación" -#. Label for publication domain selector -#: src/lib/entry-editor/object-editors/EntryEditorPrimitive.svelte -msgid "Publish {0} in" -msgstr "Publicar {0} en" +#. Relevant view: Classic +#. Lite view equivalent: "Publish Word in" +#. Field label: selects which publications an entry appears in. +#: src/lib/views/entity-config.ts +msgid "Publish Entry in" +msgstr "Publicar entrada en" + +#. Relevant view: Lite +#. Classic view equivalent: "Publish Entry in" +#. Field label: selects which publications a word appears in. +#: src/lib/views/entity-config.ts +msgid "Publish Word in" +msgstr "Publicar palabra en" #. Field label for citation source #. Source attribution for an example sentence (book title, page, URL, etc.) #. Identifies where the example was found/cited -#: src/lib/entry-editor/object-editors/ExampleEditorPrimitive.svelte +#: src/lib/views/entity-config.ts msgid "Reference" msgstr "Referencia" @@ -1465,6 +1555,11 @@ msgstr "Guardar como" msgid "Save audio" msgstr "Guardar audio" +#. Submit button in the edit custom view dialog. +#: src/lib/views/custom/EditCustomViewDialog.svelte +msgid "Save View" +msgstr "Guardar Vista" + #. Search placeholder #: src/lib/entry-editor/EntryOrSensePicker.svelte msgid "Search # or #" @@ -1490,6 +1585,16 @@ msgstr "Seleccione {0} para ver los detalles" msgid "Select a new task to work on" msgstr "Seleccione una nueva tarea en la que trabajar" +#. Validation error when no analysis writing systems are selected in custom view form. +#: src/lib/views/custom/validation.ts +msgid "Select at least one analysis writing system" +msgstr "Seleccione al menos un sistema de análisis de escritura" + +#. Validation error when no vernacular writing systems are selected in custom view form. +#: src/lib/views/custom/validation.ts +msgid "Select at least one vernacular writing system" +msgstr "Seleccione al menos un sistema de escritura vernácula" + #. Dialog button #: src/lib/components/audio/audio-provider.svelte #: src/lib/components/audio/audio-provider.svelte @@ -1506,7 +1611,7 @@ msgstr "Dominio semántico" #. Field label #. Assigns sense/meaning to semantic categories (e.g., word can belong to multiple domains) #. Appears under each Sense/Meaning; usually multiple selection allowed -#: src/lib/entry-editor/object-editors/SenseEditorPrimitive.svelte +#: src/lib/views/entity-config.ts msgid "Semantic domains" msgstr "Dominios semánticos" @@ -1522,13 +1627,14 @@ msgstr "Envíenos un mensaje" #: src/lib/entry-editor/object-editors/AddSenseFab.svelte #: src/lib/entry-editor/object-editors/EntryEditor.svelte #: src/lib/entry-editor/object-editors/ObjectHeader.svelte +#: src/lib/views/entity-config.ts msgid "Sense" msgstr "Acepción" #. Field label for example text #. The sentence/phrase text for an example (source text in original language) #. Paired with "Translation" field for translated version -#: src/lib/entry-editor/object-editors/ExampleEditorPrimitive.svelte +#: src/lib/views/entity-config.ts msgid "Sentence" msgstr "Sentencia" @@ -1605,7 +1711,7 @@ msgid "Subject does not have suitable object of type: {0}" msgstr "El asunto no tiene un objeto de tipo adecuado: {0}" #. Button to confirm selection -#: src/lib/components/field-editors/multi-select.svelte +#: src/lib/components/SubmitOrCancel.svelte #: src/lib/components/field-editors/multi-select.svelte #: src/lib/components/field-editors/multi-select.svelte msgid "Submit" @@ -1761,10 +1867,10 @@ msgstr "Alternar fijado" #. Field label #: src/lib/entry-editor/object-editors/ExampleEditorPrimitive.svelte +#: src/lib/views/entity-config.ts msgid "Translation" msgstr "Traducción" -#. Language-specific translation field #: src/lib/entry-editor/object-editors/ExampleEditorPrimitive.svelte msgid "Translation {0}" msgstr "Traducción {0}" @@ -1893,14 +1999,15 @@ msgid "Updates" msgstr "Actualizaciones" #. Field label -#: src/lib/entry-editor/object-editors/EntryEditorPrimitive.svelte +#: src/lib/views/entity-config.ts msgid "Uses components as" msgstr "Utiliza componentes como" -#. Version display -#: src/project/ProjectSidebar.svelte -msgid "Version {0}" -msgstr "Versión {0}" +#. Section heading in custom view writing system picker. +#. Labels the vernacular language writing systems (the language being documented). +#: src/lib/views/custom/CustomViewWritingSystems.svelte +msgid "Vernacular" +msgstr "Vernáculo" #. Button label #: src/project/browse/ViewPicker.svelte @@ -1934,10 +2041,9 @@ msgstr "palabra" #: src/lib/entry-editor/EditEntryDialog.svelte #: src/lib/entry-editor/EntryOrSenseItemList.svelte #: src/lib/entry-editor/EntryOrSensePicker.svelte -#: src/lib/entry-editor/object-editors/EntryEditorPrimitive.svelte -#: src/lib/entry-editor/object-editors/EntryEditorPrimitive.svelte +#: src/lib/views/entity-config.ts +#: src/lib/views/entity-config.ts #: src/project/browse/EntryMenu.svelte -#: src/project/browse/filter/FieldSelect.svelte msgid "Word" msgstr "Palabra" @@ -1948,6 +2054,11 @@ msgstr "Palabra" msgid "Word only" msgstr "Sólo palabras" +#: src/lib/entry-editor/NewEntryDialog.svelte +#: src/lib/views/custom/validation.ts +msgid "Word or Display as is required" +msgstr "Palabra o visualización según sea necesario" + #. Relevant view: Lite #. Classic view equivalent: "Entry or sense:" #. Label for picker: allows selecting word-level or meaning-level link @@ -1964,6 +2075,12 @@ msgstr "Sistema de escritura" msgid "Writing system: {0}" msgstr "Sistema de escritura: {0}" +#. Section label in custom view form. +#. Configures which vernacular and analysis writing systems are shown. +#: src/lib/views/custom/CustomViewForm.svelte +msgid "Writing systems" +msgstr "Sistemas de escritura" + #. Filter section title #: src/project/browse/filter/WsSelect.svelte msgid "Writing Systems" diff --git a/frontend/viewer/src/locales/fr.po b/frontend/viewer/src/locales/fr.po index a210de89cb..aa32d613cb 100644 --- a/frontend/viewer/src/locales/fr.po +++ b/frontend/viewer/src/locales/fr.po @@ -8,7 +8,7 @@ msgstr "" "Language: fr\n" "Project-Id-Version: language-depot\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-02-11 12:43\n" +"PO-Revision-Date: 2026-04-08 07:59\n" "Last-Translator: \n" "Language-Team: French\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" @@ -178,6 +178,12 @@ msgstr "Ajouter du sens" msgid "Add Word" msgstr "Ajouter un mot" +#. Radio option in custom view writing system picker. +#. Includes all writing systems (no filtering). +#: src/lib/views/custom/CustomViewWritingSystems.svelte +msgid "All" +msgstr "Tous" + #. Relevant view: Classic #. Lite view equivalent: "a word" #. Placeholder/suggestion in search field @@ -185,6 +191,12 @@ msgstr "Ajouter un mot" msgid "an entry" msgstr "une entrée" +#. Section heading in custom view writing system picker. +#. Labels the analysis language writing systems (e.g., English definitions/glosses). +#: src/lib/views/custom/CustomViewWritingSystems.svelte +msgid "Analysis" +msgstr "Analyse" + #. Relevant view: Classic #. Lite view equivalent: "Any part of speech" #. Filter option: clear grammatical info filter @@ -220,12 +232,6 @@ msgstr "N'importe quel domaine sémantique" msgid "Any Ws" msgstr "Tous les Systèmes d'Ecriture" -#. Field label -#: src/lib/troubleshoot/TroubleshootDialog.svelte -#: src/lib/updates/UpdateDialog.svelte -msgid "Application version" -msgstr "Version de l'application" - #. Confirmation prompt #: src/lib/entry-editor/DeleteDialog.svelte msgid "Are you sure you want to delete {0}?" @@ -266,6 +272,18 @@ msgstr "Auto" msgid "Auto syncing" msgstr "Synchronisation automatique" +#. Section label in custom view form. +#. Selects the base view preset (Classic or Lite) that the custom view inherits from. +#: src/lib/views/custom/CustomViewForm.svelte +msgid "Based on" +msgstr "Basé sur" + +#. Subtitle under each custom view in the manage dialog. +#. {0} = name of the base view preset (e.g., "FieldWorks Lite" or "FieldWorks Classic"). +#: src/lib/views/custom/ManageCustomViewsDialog.svelte +msgid "Based on {0}" +msgstr "Basé sur {0}" + #. Sort option #: src/project/browse/sort/SortMenu.svelte msgid "Best match" @@ -286,12 +304,12 @@ msgstr "Parcourir" #. Synonyms across UI: "Don't delete" (Delete dialog), "Close" (About dialog) #. Keep translation brief (3-4 chars in some languages) to fit button layout #: src/lib/admin-dialogs/GetProjectByCodeDialog.svelte +#: src/lib/components/SubmitOrCancel.svelte #: src/lib/components/audio/AudioDialog.svelte -#: src/lib/components/field-editors/multi-select.svelte #: src/lib/components/field-editors/select.svelte #: src/lib/entry-editor/EditEntryDialog.svelte -#: src/lib/entry-editor/EntryOrSensePicker.svelte #: src/lib/entry-editor/NewEntryDialog.svelte +#: src/lib/views/custom/CustomViewForm.svelte msgid "Cancel" msgstr "Annuler" @@ -318,17 +336,10 @@ msgstr "Choisir un thème" #. Relevant view: Classic #. Lite view equivalent: "Display as" #. Field label: form for citing in dictionary -#: src/lib/entry-editor/object-editors/EntryEditorPrimitive.svelte +#: src/lib/views/entity-config.ts msgid "Citation form" msgstr "Autonyme" -#. Relevant view: Classic -#. Lite view equivalent: "Display as" -#. Filter option: narrow by citation form -#: src/project/browse/filter/FieldSelect.svelte -msgid "Citation Form" -msgstr "Autonyme" - #. Section header for projects from FieldWorks #: src/home/HomeView.svelte msgid "Classic FieldWorks Projects" @@ -369,7 +380,7 @@ msgstr "Forme complexe" #. Field label #. Classifies the type of complex form relationship (user-configurable) #. Examples: "compound", "derivative", "inflectional" (varies by project) -#: src/lib/entry-editor/object-editors/EntryEditorPrimitive.svelte +#: src/lib/views/entity-config.ts msgid "Complex form types" msgstr "Types de formes complexes" @@ -379,7 +390,7 @@ msgid "Complex form:" msgstr "Forme complexe :" #. Field label -#: src/lib/entry-editor/object-editors/EntryEditorPrimitive.svelte +#: src/lib/views/entity-config.ts msgid "Complex forms" msgstr "Formes complexes" @@ -400,7 +411,7 @@ msgid "Component:" msgstr "Composant :" #. Field label -#: src/lib/entry-editor/object-editors/EntryEditorPrimitive.svelte +#: src/lib/views/entity-config.ts msgid "Components" msgstr "Composants" @@ -421,6 +432,11 @@ msgstr "Copié dans le presse-papiers" msgid "Copy version" msgstr "Copier la version dans le presse-papiers" +#. Dialog title when creating a new custom view. +#: src/lib/views/custom/CreateCustomViewDialog.svelte +msgid "Create Custom View" +msgstr "Créer une vue personnalisée" + #. Button label (view-dependent: "Create entry" in Classic, "Add new word" in Lite) #: src/lib/entry-editor/NewEntryButton.svelte msgid "Create entry" @@ -438,6 +454,11 @@ msgstr "Créer une entrée" msgid "Create Example Project" msgstr "Créer un projet exemplaire" +#. Submit button in the create custom view dialog. +#: src/lib/views/custom/CreateCustomViewDialog.svelte +msgid "Create View" +msgstr "Créer une vue" + #. Relevant view: Classic #. Lite view equivalent: "Current Word" #. Label in picker: marks the entry that is currently being edited @@ -459,6 +480,17 @@ msgstr "Version actuelle" msgid "Current Word" msgstr "Mot actuel" +#. Radio option in custom view writing system picker. +#. Enables manual selection of individual writing systems. +#: src/lib/views/custom/CustomViewWritingSystems.svelte +msgid "Custom" +msgstr "Personnalisé" + +#. Label used in delete confirmation prompt for a custom view. +#: src/lib/views/custom/ManageCustomViewsDialog.svelte +msgid "Custom view" +msgstr "Vue personnalisée" + #. Theme option #: src/lib/components/ThemePicker.svelte msgid "Dark" @@ -477,7 +509,7 @@ msgstr "Répertoire de données" #. Field label #. Definition for a sense/meaning (e.g., "bank" = "financial institution") #. Appears under each Sense/Meaning in entry editor -#: src/lib/entry-editor/object-editors/SenseEditorPrimitive.svelte +#: src/lib/views/entity-config.ts msgid "Definition" msgstr "Définition" @@ -543,8 +575,7 @@ msgstr "Rejeter" #. Relevant view: Lite #. Classic view equivalent: "Citation Form" #. Lexicography term: choose which form of the entry to display -#: src/lib/entry-editor/object-editors/EntryEditorPrimitive.svelte -#: src/project/browse/filter/FieldSelect.svelte +#: src/lib/views/entity-config.ts msgid "Display as" msgstr "Afficher comme" @@ -611,6 +642,11 @@ msgstr "Téléchargement en cours {0}..." msgid "Downloading..." msgstr "Téléchargement en cours..." +#. Dialog title when editing an existing custom view. +#: src/lib/views/custom/EditCustomViewDialog.svelte +msgid "Edit Custom View" +msgstr "Modifier la vue personnalisée" + #. Role selector option #: src/lib/admin-dialogs/GetProjectByCodeDialog.svelte msgid "Editor" @@ -642,7 +678,7 @@ msgstr "entrée" #: src/lib/entry-editor/EditEntryDialog.svelte #: src/lib/entry-editor/EntryOrSenseItemList.svelte #: src/lib/entry-editor/EntryOrSensePicker.svelte -#: src/lib/entry-editor/object-editors/EntryEditorPrimitive.svelte +#: src/lib/views/entity-config.ts #: src/project/browse/EntryMenu.svelte msgid "Entry" msgstr "Entrée" @@ -687,6 +723,7 @@ msgstr "Erreur dans l'obtention de l'état de la synchronisation." #. Labels example sentence/phrase section in entry editor #. Contains: sentence text, translation, source reference #: src/lib/entry-editor/object-editors/ObjectHeader.svelte +#: src/lib/views/entity-config.ts msgid "Example" msgstr "Exemple" @@ -742,6 +779,12 @@ msgstr "Commentaires & Support" msgid "Field" msgstr "Champ" +#. Section label in custom view form. +#. Shows checkboxes to select which dictionary fields are visible (grouped by entry, sense, example). +#: src/lib/views/custom/CustomViewForm.svelte +msgid "Fields" +msgstr "Champs" + #. Product name #: src/project/sync/SyncStatusPrimitive.svelte msgid "FieldWorks Lite" @@ -755,6 +798,11 @@ msgstr "FieldWorks Lite a été mis à jour avec succès. Veuillez redémarrer l msgid "FieldWorks Lite users will automatically receive changes that were made in FieldWorks Classic. FieldWorks Classic users will see changes that were made in FieldWorks Lite after they do Send/Receive." msgstr "Les utilisateurs de FieldWorks Lite recevront automatiquement les modifications qui ont été apportées dans FieldWorks Classic. Les utilisateurs de FieldWorks Classic verront les changements qui ont été faits dans FieldWorks Lite après avoir fait Envoyer/Recevoir." +#: src/lib/troubleshoot/TroubleshootDialog.svelte +#: src/lib/updates/UpdateDialog.svelte +msgid "FieldWorks Lite version" +msgstr "Version de FieldWorks Lite" + #. Alt text for FieldWorks logo image #: src/home/HomeView.svelte #: src/lib/components/OpenInFieldWorksButton.svelte @@ -882,8 +930,7 @@ msgstr "Obtenir de l'aide" #. Brief translation/equivalent (one word or short phrase) #. Different from "Definition" (longer explanation) #. Appears under each sense/meaning; concise translation -#: src/lib/entry-editor/object-editors/SenseEditorPrimitive.svelte -#: src/project/browse/filter/FieldSelect.svelte +#: src/lib/views/entity-config.ts msgid "Gloss" msgstr "Glose" @@ -899,7 +946,7 @@ msgstr "Naviguer à {0}" #. Relevant view: Classic #. Lite view equivalent: "Part of speech" #. Field label: grammatical category (noun, verb, adjective, etc.) -#: src/lib/entry-editor/object-editors/SenseEditorPrimitive.svelte +#: src/lib/views/entity-config.ts #: src/project/browse/SearchFilter.svelte msgid "Grammatical info." msgstr "Informations grammaticales." @@ -996,16 +1043,14 @@ msgstr "Logo Lexbox" #. Relevant view: Classic #. Lite view equivalent: "Word" #. Field label: the main headword/base form -#: src/lib/entry-editor/object-editors/EntryEditorPrimitive.svelte +#: src/lib/views/entity-config.ts msgid "Lexeme form" msgstr "Forme de lexème" -#. Relevant view: Classic -#. Lite view equivalent: "Word" -#. Filter option: narrow results by headword/base form -#: src/project/browse/filter/FieldSelect.svelte -msgid "Lexeme Form" -msgstr "Forme de lexème" +#: src/lib/entry-editor/NewEntryDialog.svelte +#: src/lib/views/custom/validation.ts +msgid "Lexeme form or Citation form is required" +msgstr "La forme de lexème ou la forme de citation est requise" #: src/lib/components/ThemePicker.svelte msgid "Light" @@ -1018,7 +1063,7 @@ msgstr "Mode liste" #. Field name shown in advanced/classic view #. The literal meaning of the vernacular translated into the analysis language #. Contrasts with glosses/definitions in the analysis language -#: src/lib/entry-editor/object-editors/EntryEditorPrimitive.svelte +#: src/lib/views/entity-config.ts msgid "Literal meaning" msgstr "Sens littéral" @@ -1065,6 +1110,17 @@ msgstr "Faire une suggestion" msgid "Make sure your [changes are synced]({0}) to Lexbox." msgstr "Assurez-vous que vos [changements sont synchronisés]({0}) vers Lexbox." +#. Button label in view picker; opens the manage custom views dialog. +#. Only visible to project managers. +#: src/lib/views/custom/ManageCustomViewsButton.svelte +msgid "Manage custom views" +msgstr "Gérer les vues personnalisées" + +#. Dialog title for managing all custom views (create, edit, delete). +#: src/lib/views/custom/ManageCustomViewsDialog.svelte +msgid "Manage Custom Views" +msgstr "Gérer les vues personnalisées" + #: src/lib/admin-dialogs/GetProjectByCodeDialog.svelte msgid "Manager" msgstr "Gestionnaire" @@ -1115,6 +1171,21 @@ msgstr "Mode" msgid "Move" msgstr "Déplacer" +#. Placeholder text in the name input of the custom view form. +#: src/lib/views/custom/CustomViewForm.svelte +msgid "My custom view..." +msgstr "Ma vue personnalisée..." + +#. Field label for the custom view name input. +#: src/lib/views/custom/CustomViewForm.svelte +msgid "Name" +msgstr "Nom" + +#. Validation error shown when the custom view name is empty. +#: src/lib/views/custom/validation.ts +msgid "Name is required" +msgstr "Le nom est requis" + #: src/project/sync/FwLiteToFwMergeDetails.svelte #: src/project/sync/FwLiteToFwMergeDetails.svelte #: src/project/sync/SyncStatusPrimitive.svelte @@ -1125,6 +1196,11 @@ msgstr "Jamais" msgid "New" msgstr "Nouveau" +#. Button label in the manage custom views dialog; opens the create form. +#: src/lib/views/custom/ManageCustomViewsDialog.svelte +msgid "New Custom View" +msgstr "Nouvelle vue personnalisée" + #: src/project/sync/FwLiteToFwMergeDetails.svelte msgid "New data" msgstr "Nouvelles données" @@ -1159,6 +1235,11 @@ msgstr "Aucune activité trouvée" msgid "No audio" msgstr "Aucun contenu audio" +#. Empty state message in the manage custom views dialog when none exist. +#: src/lib/views/custom/ManageCustomViewsDialog.svelte +msgid "No custom views yet." +msgstr "Aucune vue personnalisée pour le moment." + #: src/project/ProjectDropdown.svelte msgid "No Dictionaries found" msgstr "Aucun dictionnaire trouvé" @@ -1235,7 +1316,7 @@ msgstr "Non synchronisé" #. Field label #. General notes/remarks field in entry editor #. Unconstrained text for additional metadata/comments -#: src/lib/entry-editor/object-editors/EntryEditorPrimitive.svelte +#: src/lib/views/entity-config.ts msgid "Note" msgstr "Note" @@ -1312,14 +1393,14 @@ msgstr "Partie" #: src/lib/entry-editor/field-editors/ComplexFormComponents.svelte #: src/lib/entry-editor/field-editors/ComplexForms.svelte #: src/lib/entry-editor/field-editors/ComplexForms.svelte -#: src/lib/entry-editor/object-editors/EntryEditorPrimitive.svelte +#: src/lib/views/entity-config.ts msgid "Part of" msgstr "Une partie de" #. Relevant view: Lite #. Classic view equivalent: "Grammatical info." #. Field label: grammatical category (noun, verb, adjective, etc.) -#: src/lib/entry-editor/object-editors/SenseEditorPrimitive.svelte +#: src/lib/views/entity-config.ts #: src/project/browse/SearchFilter.svelte msgid "Part of speech" msgstr "Partie du discours" @@ -1386,15 +1467,24 @@ msgstr "Nom du projet..." msgid "Publication" msgstr "Publication" -#. Label for publication domain selector -#: src/lib/entry-editor/object-editors/EntryEditorPrimitive.svelte -msgid "Publish {0} in" -msgstr "Publier {0} dans" +#. Relevant view: Classic +#. Lite view equivalent: "Publish Word in" +#. Field label: selects which publications an entry appears in. +#: src/lib/views/entity-config.ts +msgid "Publish Entry in" +msgstr "Publier l'entrée dans" + +#. Relevant view: Lite +#. Classic view equivalent: "Publish Entry in" +#. Field label: selects which publications a word appears in. +#: src/lib/views/entity-config.ts +msgid "Publish Word in" +msgstr "Publier mot dans" #. Field label for citation source #. Source attribution for an example sentence (book title, page, URL, etc.) #. Identifies where the example was found/cited -#: src/lib/entry-editor/object-editors/ExampleEditorPrimitive.svelte +#: src/lib/views/entity-config.ts msgid "Reference" msgstr "Référence" @@ -1465,6 +1555,11 @@ msgstr "Enregistrer sous" msgid "Save audio" msgstr "Sauvegarder l'audio" +#. Submit button in the edit custom view dialog. +#: src/lib/views/custom/EditCustomViewDialog.svelte +msgid "Save View" +msgstr "Enregistrer la vue" + #. Search placeholder #: src/lib/entry-editor/EntryOrSensePicker.svelte msgid "Search # or #" @@ -1490,6 +1585,16 @@ msgstr "Sélectionner {0} pour voir les détails" msgid "Select a new task to work on" msgstr "Sélectionner une nouvelle tâche à effectuer" +#. Validation error when no analysis writing systems are selected in custom view form. +#: src/lib/views/custom/validation.ts +msgid "Select at least one analysis writing system" +msgstr "Sélectionnez au moins un système d'écriture d'analyse" + +#. Validation error when no vernacular writing systems are selected in custom view form. +#: src/lib/views/custom/validation.ts +msgid "Select at least one vernacular writing system" +msgstr "Sélectionnez au moins un système d'écriture vernaculaire" + #. Dialog button #: src/lib/components/audio/audio-provider.svelte #: src/lib/components/audio/audio-provider.svelte @@ -1506,7 +1611,7 @@ msgstr "Domaine sémantique" #. Field label #. Assigns sense/meaning to semantic categories (e.g., word can belong to multiple domains) #. Appears under each Sense/Meaning; usually multiple selection allowed -#: src/lib/entry-editor/object-editors/SenseEditorPrimitive.svelte +#: src/lib/views/entity-config.ts msgid "Semantic domains" msgstr "Domaines sémantiques" @@ -1522,13 +1627,14 @@ msgstr "Envoyez-nous un message" #: src/lib/entry-editor/object-editors/AddSenseFab.svelte #: src/lib/entry-editor/object-editors/EntryEditor.svelte #: src/lib/entry-editor/object-editors/ObjectHeader.svelte +#: src/lib/views/entity-config.ts msgid "Sense" msgstr "Sens" #. Field label for example text #. The sentence/phrase text for an example (source text in original language) #. Paired with "Translation" field for translated version -#: src/lib/entry-editor/object-editors/ExampleEditorPrimitive.svelte +#: src/lib/views/entity-config.ts msgid "Sentence" msgstr "Phrase" @@ -1605,7 +1711,7 @@ msgid "Subject does not have suitable object of type: {0}" msgstr "Le sujet n'a pas d'objet de type approprié : {0}" #. Button to confirm selection -#: src/lib/components/field-editors/multi-select.svelte +#: src/lib/components/SubmitOrCancel.svelte #: src/lib/components/field-editors/multi-select.svelte #: src/lib/components/field-editors/multi-select.svelte msgid "Submit" @@ -1761,10 +1867,10 @@ msgstr "Activer/désactiver épinglé" #. Field label #: src/lib/entry-editor/object-editors/ExampleEditorPrimitive.svelte +#: src/lib/views/entity-config.ts msgid "Translation" msgstr "Traduction" -#. Language-specific translation field #: src/lib/entry-editor/object-editors/ExampleEditorPrimitive.svelte msgid "Translation {0}" msgstr "Traduction {0}" @@ -1893,14 +1999,15 @@ msgid "Updates" msgstr "Mises à jour" #. Field label -#: src/lib/entry-editor/object-editors/EntryEditorPrimitive.svelte +#: src/lib/views/entity-config.ts msgid "Uses components as" msgstr "Utilise des composants comme" -#. Version display -#: src/project/ProjectSidebar.svelte -msgid "Version {0}" -msgstr "Version {0}" +#. Section heading in custom view writing system picker. +#. Labels the vernacular language writing systems (the language being documented). +#: src/lib/views/custom/CustomViewWritingSystems.svelte +msgid "Vernacular" +msgstr "Vernaculaire" #. Button label #: src/project/browse/ViewPicker.svelte @@ -1934,10 +2041,9 @@ msgstr "mot" #: src/lib/entry-editor/EditEntryDialog.svelte #: src/lib/entry-editor/EntryOrSenseItemList.svelte #: src/lib/entry-editor/EntryOrSensePicker.svelte -#: src/lib/entry-editor/object-editors/EntryEditorPrimitive.svelte -#: src/lib/entry-editor/object-editors/EntryEditorPrimitive.svelte +#: src/lib/views/entity-config.ts +#: src/lib/views/entity-config.ts #: src/project/browse/EntryMenu.svelte -#: src/project/browse/filter/FieldSelect.svelte msgid "Word" msgstr "Mot" @@ -1948,6 +2054,11 @@ msgstr "Mot" msgid "Word only" msgstr "Mot seulement" +#: src/lib/entry-editor/NewEntryDialog.svelte +#: src/lib/views/custom/validation.ts +msgid "Word or Display as is required" +msgstr "Mot ou affichage tel que requis" + #. Relevant view: Lite #. Classic view equivalent: "Entry or sense:" #. Label for picker: allows selecting word-level or meaning-level link @@ -1964,6 +2075,12 @@ msgstr "Système d'écriture" msgid "Writing system: {0}" msgstr "Système d'écriture : {0}" +#. Section label in custom view form. +#. Configures which vernacular and analysis writing systems are shown. +#: src/lib/views/custom/CustomViewForm.svelte +msgid "Writing systems" +msgstr "Systèmes d'écriture" + #. Filter section title #: src/project/browse/filter/WsSelect.svelte msgid "Writing Systems" diff --git a/frontend/viewer/src/locales/id.po b/frontend/viewer/src/locales/id.po index 80ec58a581..e862a0956e 100644 --- a/frontend/viewer/src/locales/id.po +++ b/frontend/viewer/src/locales/id.po @@ -8,7 +8,7 @@ msgstr "" "Language: id\n" "Project-Id-Version: language-depot\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-02-11 13:37\n" +"PO-Revision-Date: 2026-04-08 08:00\n" "Last-Translator: \n" "Language-Team: Indonesian\n" "Plural-Forms: nplurals=1; plural=0;\n" @@ -178,6 +178,12 @@ msgstr "Tambahkan Pengertian" msgid "Add Word" msgstr "Tambahkan Kata" +#. Radio option in custom view writing system picker. +#. Includes all writing systems (no filtering). +#: src/lib/views/custom/CustomViewWritingSystems.svelte +msgid "All" +msgstr "Semua" + #. Relevant view: Classic #. Lite view equivalent: "a word" #. Placeholder/suggestion in search field @@ -185,6 +191,12 @@ msgstr "Tambahkan Kata" msgid "an entry" msgstr "sebuah entri" +#. Section heading in custom view writing system picker. +#. Labels the analysis language writing systems (e.g., English definitions/glosses). +#: src/lib/views/custom/CustomViewWritingSystems.svelte +msgid "Analysis" +msgstr "Analisis" + #. Relevant view: Classic #. Lite view equivalent: "Any part of speech" #. Filter option: clear grammatical info filter @@ -220,12 +232,6 @@ msgstr "Domain semantik apa pun" msgid "Any Ws" msgstr "Setiap Ws" -#. Field label -#: src/lib/troubleshoot/TroubleshootDialog.svelte -#: src/lib/updates/UpdateDialog.svelte -msgid "Application version" -msgstr "Versi aplikasi" - #. Confirmation prompt #: src/lib/entry-editor/DeleteDialog.svelte msgid "Are you sure you want to delete {0}?" @@ -266,6 +272,18 @@ msgstr "Otomatis" msgid "Auto syncing" msgstr "Sinkronisasi otomatis" +#. Section label in custom view form. +#. Selects the base view preset (Classic or Lite) that the custom view inherits from. +#: src/lib/views/custom/CustomViewForm.svelte +msgid "Based on" +msgstr "Berdasarkan" + +#. Subtitle under each custom view in the manage dialog. +#. {0} = name of the base view preset (e.g., "FieldWorks Lite" or "FieldWorks Classic"). +#: src/lib/views/custom/ManageCustomViewsDialog.svelte +msgid "Based on {0}" +msgstr "Berdasarkan {0}" + #. Sort option #: src/project/browse/sort/SortMenu.svelte msgid "Best match" @@ -286,12 +304,12 @@ msgstr "Jelajahi" #. Synonyms across UI: "Don't delete" (Delete dialog), "Close" (About dialog) #. Keep translation brief (3-4 chars in some languages) to fit button layout #: src/lib/admin-dialogs/GetProjectByCodeDialog.svelte +#: src/lib/components/SubmitOrCancel.svelte #: src/lib/components/audio/AudioDialog.svelte -#: src/lib/components/field-editors/multi-select.svelte #: src/lib/components/field-editors/select.svelte #: src/lib/entry-editor/EditEntryDialog.svelte -#: src/lib/entry-editor/EntryOrSensePicker.svelte #: src/lib/entry-editor/NewEntryDialog.svelte +#: src/lib/views/custom/CustomViewForm.svelte msgid "Cancel" msgstr "Batal" @@ -318,17 +336,10 @@ msgstr "Pilih tema" #. Relevant view: Classic #. Lite view equivalent: "Display as" #. Field label: form for citing in dictionary -#: src/lib/entry-editor/object-editors/EntryEditorPrimitive.svelte +#: src/lib/views/entity-config.ts msgid "Citation form" msgstr "Formulir kutipan" -#. Relevant view: Classic -#. Lite view equivalent: "Display as" -#. Filter option: narrow by citation form -#: src/project/browse/filter/FieldSelect.svelte -msgid "Citation Form" -msgstr "Formulir Kutipan" - #. Section header for projects from FieldWorks #: src/home/HomeView.svelte msgid "Classic FieldWorks Projects" @@ -369,7 +380,7 @@ msgstr "Bentuk Kompleks" #. Field label #. Classifies the type of complex form relationship (user-configurable) #. Examples: "compound", "derivative", "inflectional" (varies by project) -#: src/lib/entry-editor/object-editors/EntryEditorPrimitive.svelte +#: src/lib/views/entity-config.ts msgid "Complex form types" msgstr "Jenis formulir yang kompleks" @@ -379,7 +390,7 @@ msgid "Complex form:" msgstr "Bentuk yang kompleks:" #. Field label -#: src/lib/entry-editor/object-editors/EntryEditorPrimitive.svelte +#: src/lib/views/entity-config.ts msgid "Complex forms" msgstr "Bentuk kompleks" @@ -400,7 +411,7 @@ msgid "Component:" msgstr "Komponen:" #. Field label -#: src/lib/entry-editor/object-editors/EntryEditorPrimitive.svelte +#: src/lib/views/entity-config.ts msgid "Components" msgstr "Komponen" @@ -421,6 +432,11 @@ msgstr "Disalin ke papan klip" msgid "Copy version" msgstr "Versi salin" +#. Dialog title when creating a new custom view. +#: src/lib/views/custom/CreateCustomViewDialog.svelte +msgid "Create Custom View" +msgstr "Membuat Tampilan Khusus" + #. Button label (view-dependent: "Create entry" in Classic, "Add new word" in Lite) #: src/lib/entry-editor/NewEntryButton.svelte msgid "Create entry" @@ -438,6 +454,11 @@ msgstr "Membuat Entri" msgid "Create Example Project" msgstr "Buat Proyek Contoh" +#. Submit button in the create custom view dialog. +#: src/lib/views/custom/CreateCustomViewDialog.svelte +msgid "Create View" +msgstr "Buat Tampilan" + #. Relevant view: Classic #. Lite view equivalent: "Current Word" #. Label in picker: marks the entry that is currently being edited @@ -459,6 +480,17 @@ msgstr "Versi saat ini" msgid "Current Word" msgstr "Kata saat ini" +#. Radio option in custom view writing system picker. +#. Enables manual selection of individual writing systems. +#: src/lib/views/custom/CustomViewWritingSystems.svelte +msgid "Custom" +msgstr "Kustom" + +#. Label used in delete confirmation prompt for a custom view. +#: src/lib/views/custom/ManageCustomViewsDialog.svelte +msgid "Custom view" +msgstr "Tampilan khusus" + #. Theme option #: src/lib/components/ThemePicker.svelte msgid "Dark" @@ -477,7 +509,7 @@ msgstr "Direktori Data" #. Field label #. Definition for a sense/meaning (e.g., "bank" = "financial institution") #. Appears under each Sense/Meaning in entry editor -#: src/lib/entry-editor/object-editors/SenseEditorPrimitive.svelte +#: src/lib/views/entity-config.ts msgid "Definition" msgstr "Definisi" @@ -543,8 +575,7 @@ msgstr "Buang" #. Relevant view: Lite #. Classic view equivalent: "Citation Form" #. Lexicography term: choose which form of the entry to display -#: src/lib/entry-editor/object-editors/EntryEditorPrimitive.svelte -#: src/project/browse/filter/FieldSelect.svelte +#: src/lib/views/entity-config.ts msgid "Display as" msgstr "Tampilkan sebagai" @@ -611,6 +642,11 @@ msgstr "Mengunduh {0}..." msgid "Downloading..." msgstr "Mengunduh..." +#. Dialog title when editing an existing custom view. +#: src/lib/views/custom/EditCustomViewDialog.svelte +msgid "Edit Custom View" +msgstr "Edit Tampilan Khusus" + #. Role selector option #: src/lib/admin-dialogs/GetProjectByCodeDialog.svelte msgid "Editor" @@ -642,7 +678,7 @@ msgstr "entri" #: src/lib/entry-editor/EditEntryDialog.svelte #: src/lib/entry-editor/EntryOrSenseItemList.svelte #: src/lib/entry-editor/EntryOrSensePicker.svelte -#: src/lib/entry-editor/object-editors/EntryEditorPrimitive.svelte +#: src/lib/views/entity-config.ts #: src/project/browse/EntryMenu.svelte msgid "Entry" msgstr "Entri" @@ -687,6 +723,7 @@ msgstr "Kesalahan mendapatkan status sinkronisasi." #. Labels example sentence/phrase section in entry editor #. Contains: sentence text, translation, source reference #: src/lib/entry-editor/object-editors/ObjectHeader.svelte +#: src/lib/views/entity-config.ts msgid "Example" msgstr "Contoh" @@ -742,6 +779,12 @@ msgstr "Umpan Balik & Dukungan" msgid "Field" msgstr "Bidang" +#. Section label in custom view form. +#. Shows checkboxes to select which dictionary fields are visible (grouped by entry, sense, example). +#: src/lib/views/custom/CustomViewForm.svelte +msgid "Fields" +msgstr "Bidang" + #. Product name #: src/project/sync/SyncStatusPrimitive.svelte msgid "FieldWorks Lite" @@ -755,6 +798,11 @@ msgstr "FieldWorks Lite telah berhasil diperbarui. Mulai ulang aplikasi untuk me msgid "FieldWorks Lite users will automatically receive changes that were made in FieldWorks Classic. FieldWorks Classic users will see changes that were made in FieldWorks Lite after they do Send/Receive." msgstr "Pengguna FieldWorks Lite akan secara otomatis menerima perubahan yang dibuat di FieldWorks Classic. Pengguna FieldWorks Classic akan melihat perubahan yang dibuat di FieldWorks Lite setelah mereka melakukan Kirim/Terima." +#: src/lib/troubleshoot/TroubleshootDialog.svelte +#: src/lib/updates/UpdateDialog.svelte +msgid "FieldWorks Lite version" +msgstr "Versi FieldWorks Lite" + #. Alt text for FieldWorks logo image #: src/home/HomeView.svelte #: src/lib/components/OpenInFieldWorksButton.svelte @@ -882,8 +930,7 @@ msgstr "Dapatkan dukungan" #. Brief translation/equivalent (one word or short phrase) #. Different from "Definition" (longer explanation) #. Appears under each sense/meaning; concise translation -#: src/lib/entry-editor/object-editors/SenseEditorPrimitive.svelte -#: src/project/browse/filter/FieldSelect.svelte +#: src/lib/views/entity-config.ts msgid "Gloss" msgstr "Arti Singkat" @@ -899,7 +946,7 @@ msgstr "Buka {0}" #. Relevant view: Classic #. Lite view equivalent: "Part of speech" #. Field label: grammatical category (noun, verb, adjective, etc.) -#: src/lib/entry-editor/object-editors/SenseEditorPrimitive.svelte +#: src/lib/views/entity-config.ts #: src/project/browse/SearchFilter.svelte msgid "Grammatical info." msgstr "Info tata bahasa." @@ -996,16 +1043,14 @@ msgstr "Logo Lexbox" #. Relevant view: Classic #. Lite view equivalent: "Word" #. Field label: the main headword/base form -#: src/lib/entry-editor/object-editors/EntryEditorPrimitive.svelte +#: src/lib/views/entity-config.ts msgid "Lexeme form" msgstr "Bentuk leksem" -#. Relevant view: Classic -#. Lite view equivalent: "Word" -#. Filter option: narrow results by headword/base form -#: src/project/browse/filter/FieldSelect.svelte -msgid "Lexeme Form" -msgstr "Bentuk Leksem" +#: src/lib/entry-editor/NewEntryDialog.svelte +#: src/lib/views/custom/validation.ts +msgid "Lexeme form or Citation form is required" +msgstr "Bentuk leksem atau bentuk Kutipan diperlukan" #: src/lib/components/ThemePicker.svelte msgid "Light" @@ -1018,7 +1063,7 @@ msgstr "Mode daftar" #. Field name shown in advanced/classic view #. The literal meaning of the vernacular translated into the analysis language #. Contrasts with glosses/definitions in the analysis language -#: src/lib/entry-editor/object-editors/EntryEditorPrimitive.svelte +#: src/lib/views/entity-config.ts msgid "Literal meaning" msgstr "Arti harfiah" @@ -1065,6 +1110,17 @@ msgstr "Berikan saran" msgid "Make sure your [changes are synced]({0}) to Lexbox." msgstr "Pastikan [perubahan telah disinkronkan]({0}) ke Lexbox." +#. Button label in view picker; opens the manage custom views dialog. +#. Only visible to project managers. +#: src/lib/views/custom/ManageCustomViewsButton.svelte +msgid "Manage custom views" +msgstr "Mengelola tampilan khusus" + +#. Dialog title for managing all custom views (create, edit, delete). +#: src/lib/views/custom/ManageCustomViewsDialog.svelte +msgid "Manage Custom Views" +msgstr "Mengelola Tampilan Khusus" + #: src/lib/admin-dialogs/GetProjectByCodeDialog.svelte msgid "Manager" msgstr "Manajer" @@ -1115,6 +1171,21 @@ msgstr "Mode" msgid "Move" msgstr "Pindah" +#. Placeholder text in the name input of the custom view form. +#: src/lib/views/custom/CustomViewForm.svelte +msgid "My custom view..." +msgstr "Tampilan khusus saya..." + +#. Field label for the custom view name input. +#: src/lib/views/custom/CustomViewForm.svelte +msgid "Name" +msgstr "Nama" + +#. Validation error shown when the custom view name is empty. +#: src/lib/views/custom/validation.ts +msgid "Name is required" +msgstr "Nama harus diisi" + #: src/project/sync/FwLiteToFwMergeDetails.svelte #: src/project/sync/FwLiteToFwMergeDetails.svelte #: src/project/sync/SyncStatusPrimitive.svelte @@ -1125,6 +1196,11 @@ msgstr "Tidak pernah." msgid "New" msgstr "Baru" +#. Button label in the manage custom views dialog; opens the create form. +#: src/lib/views/custom/ManageCustomViewsDialog.svelte +msgid "New Custom View" +msgstr "Tampilan Kustom Baru" + #: src/project/sync/FwLiteToFwMergeDetails.svelte msgid "New data" msgstr "Data baru" @@ -1159,6 +1235,11 @@ msgstr "Tidak ada aktivitas yang ditemukan" msgid "No audio" msgstr "Tidak ada audio" +#. Empty state message in the manage custom views dialog when none exist. +#: src/lib/views/custom/ManageCustomViewsDialog.svelte +msgid "No custom views yet." +msgstr "Belum ada tampilan khusus." + #: src/project/ProjectDropdown.svelte msgid "No Dictionaries found" msgstr "Tidak ditemukan Kamus" @@ -1235,7 +1316,7 @@ msgstr "Tidak disinkronkan" #. Field label #. General notes/remarks field in entry editor #. Unconstrained text for additional metadata/comments -#: src/lib/entry-editor/object-editors/EntryEditorPrimitive.svelte +#: src/lib/views/entity-config.ts msgid "Note" msgstr "Catatan" @@ -1312,14 +1393,14 @@ msgstr "Bagian" #: src/lib/entry-editor/field-editors/ComplexFormComponents.svelte #: src/lib/entry-editor/field-editors/ComplexForms.svelte #: src/lib/entry-editor/field-editors/ComplexForms.svelte -#: src/lib/entry-editor/object-editors/EntryEditorPrimitive.svelte +#: src/lib/views/entity-config.ts msgid "Part of" msgstr "Bagian dari" #. Relevant view: Lite #. Classic view equivalent: "Grammatical info." #. Field label: grammatical category (noun, verb, adjective, etc.) -#: src/lib/entry-editor/object-editors/SenseEditorPrimitive.svelte +#: src/lib/views/entity-config.ts #: src/project/browse/SearchFilter.svelte msgid "Part of speech" msgstr "Bagian dari pidato" @@ -1386,15 +1467,24 @@ msgstr "Nama proyek..." msgid "Publication" msgstr "Publikasi" -#. Label for publication domain selector -#: src/lib/entry-editor/object-editors/EntryEditorPrimitive.svelte -msgid "Publish {0} in" -msgstr "Publikasikan {0} di" +#. Relevant view: Classic +#. Lite view equivalent: "Publish Word in" +#. Field label: selects which publications an entry appears in. +#: src/lib/views/entity-config.ts +msgid "Publish Entry in" +msgstr "Publikasikan Entri di" + +#. Relevant view: Lite +#. Classic view equivalent: "Publish Entry in" +#. Field label: selects which publications a word appears in. +#: src/lib/views/entity-config.ts +msgid "Publish Word in" +msgstr "Menerbitkan Word di" #. Field label for citation source #. Source attribution for an example sentence (book title, page, URL, etc.) #. Identifies where the example was found/cited -#: src/lib/entry-editor/object-editors/ExampleEditorPrimitive.svelte +#: src/lib/views/entity-config.ts msgid "Reference" msgstr "Referensi" @@ -1465,6 +1555,11 @@ msgstr "Simpan Sebagai" msgid "Save audio" msgstr "Menyimpan audio" +#. Submit button in the edit custom view dialog. +#: src/lib/views/custom/EditCustomViewDialog.svelte +msgid "Save View" +msgstr "Simpan Tampilan" + #. Search placeholder #: src/lib/entry-editor/EntryOrSensePicker.svelte msgid "Search # or #" @@ -1490,6 +1585,16 @@ msgstr "Pilih {0} untuk melihat detailnya" msgid "Select a new task to work on" msgstr "Pilih tugas baru untuk dikerjakan" +#. Validation error when no analysis writing systems are selected in custom view form. +#: src/lib/views/custom/validation.ts +msgid "Select at least one analysis writing system" +msgstr "Pilih setidaknya satu sistem penulisan analisis" + +#. Validation error when no vernacular writing systems are selected in custom view form. +#: src/lib/views/custom/validation.ts +msgid "Select at least one vernacular writing system" +msgstr "Pilih setidaknya satu sistem penulisan bahasa daerah" + #. Dialog button #: src/lib/components/audio/audio-provider.svelte #: src/lib/components/audio/audio-provider.svelte @@ -1506,7 +1611,7 @@ msgstr "Domain semantik" #. Field label #. Assigns sense/meaning to semantic categories (e.g., word can belong to multiple domains) #. Appears under each Sense/Meaning; usually multiple selection allowed -#: src/lib/entry-editor/object-editors/SenseEditorPrimitive.svelte +#: src/lib/views/entity-config.ts msgid "Semantic domains" msgstr "Domain semantik" @@ -1522,13 +1627,14 @@ msgstr "Kirimkan pesan kepada kami" #: src/lib/entry-editor/object-editors/AddSenseFab.svelte #: src/lib/entry-editor/object-editors/EntryEditor.svelte #: src/lib/entry-editor/object-editors/ObjectHeader.svelte +#: src/lib/views/entity-config.ts msgid "Sense" msgstr "Pengertian" #. Field label for example text #. The sentence/phrase text for an example (source text in original language) #. Paired with "Translation" field for translated version -#: src/lib/entry-editor/object-editors/ExampleEditorPrimitive.svelte +#: src/lib/views/entity-config.ts msgid "Sentence" msgstr "Kalimat" @@ -1605,7 +1711,7 @@ msgid "Subject does not have suitable object of type: {0}" msgstr "Subjek tidak memiliki jenis objek yang sesuai: {0}" #. Button to confirm selection -#: src/lib/components/field-editors/multi-select.svelte +#: src/lib/components/SubmitOrCancel.svelte #: src/lib/components/field-editors/multi-select.svelte #: src/lib/components/field-editors/multi-select.svelte msgid "Submit" @@ -1761,10 +1867,10 @@ msgstr "Beralih disematkan" #. Field label #: src/lib/entry-editor/object-editors/ExampleEditorPrimitive.svelte +#: src/lib/views/entity-config.ts msgid "Translation" msgstr "Terjemahan" -#. Language-specific translation field #: src/lib/entry-editor/object-editors/ExampleEditorPrimitive.svelte msgid "Translation {0}" msgstr "Terjemahan {0}" @@ -1893,14 +1999,15 @@ msgid "Updates" msgstr "Pembaruan" #. Field label -#: src/lib/entry-editor/object-editors/EntryEditorPrimitive.svelte +#: src/lib/views/entity-config.ts msgid "Uses components as" msgstr "Menggunakan komponen sebagai" -#. Version display -#: src/project/ProjectSidebar.svelte -msgid "Version {0}" -msgstr "Versi {0}" +#. Section heading in custom view writing system picker. +#. Labels the vernacular language writing systems (the language being documented). +#: src/lib/views/custom/CustomViewWritingSystems.svelte +msgid "Vernacular" +msgstr "Vernakular" #. Button label #: src/project/browse/ViewPicker.svelte @@ -1934,10 +2041,9 @@ msgstr "kata" #: src/lib/entry-editor/EditEntryDialog.svelte #: src/lib/entry-editor/EntryOrSenseItemList.svelte #: src/lib/entry-editor/EntryOrSensePicker.svelte -#: src/lib/entry-editor/object-editors/EntryEditorPrimitive.svelte -#: src/lib/entry-editor/object-editors/EntryEditorPrimitive.svelte +#: src/lib/views/entity-config.ts +#: src/lib/views/entity-config.ts #: src/project/browse/EntryMenu.svelte -#: src/project/browse/filter/FieldSelect.svelte msgid "Word" msgstr "Kata" @@ -1948,6 +2054,11 @@ msgstr "Kata" msgid "Word only" msgstr "Hanya kata" +#: src/lib/entry-editor/NewEntryDialog.svelte +#: src/lib/views/custom/validation.ts +msgid "Word or Display as is required" +msgstr "Kata atau Tampilan sesuai kebutuhan" + #. Relevant view: Lite #. Classic view equivalent: "Entry or sense:" #. Label for picker: allows selecting word-level or meaning-level link @@ -1964,6 +2075,12 @@ msgstr "Sistem Penulisan" msgid "Writing system: {0}" msgstr "Sistem penulisan: {0}" +#. Section label in custom view form. +#. Configures which vernacular and analysis writing systems are shown. +#: src/lib/views/custom/CustomViewForm.svelte +msgid "Writing systems" +msgstr "Sistem penulisan" + #. Filter section title #: src/project/browse/filter/WsSelect.svelte msgid "Writing Systems" diff --git a/frontend/viewer/src/locales/ko.po b/frontend/viewer/src/locales/ko.po index 66f7bad5da..9581ce71bc 100644 --- a/frontend/viewer/src/locales/ko.po +++ b/frontend/viewer/src/locales/ko.po @@ -8,7 +8,7 @@ msgstr "" "Language: ko\n" "Project-Id-Version: language-depot\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-02-11 13:37\n" +"PO-Revision-Date: 2026-04-08 07:59\n" "Last-Translator: \n" "Language-Team: Korean\n" "Plural-Forms: nplurals=1; plural=0;\n" @@ -178,6 +178,12 @@ msgstr "센스 추가" msgid "Add Word" msgstr "단어 추가" +#. Radio option in custom view writing system picker. +#. Includes all writing systems (no filtering). +#: src/lib/views/custom/CustomViewWritingSystems.svelte +msgid "All" +msgstr "모두" + #. Relevant view: Classic #. Lite view equivalent: "a word" #. Placeholder/suggestion in search field @@ -185,6 +191,12 @@ msgstr "단어 추가" msgid "an entry" msgstr "항목" +#. Section heading in custom view writing system picker. +#. Labels the analysis language writing systems (e.g., English definitions/glosses). +#: src/lib/views/custom/CustomViewWritingSystems.svelte +msgid "Analysis" +msgstr "분석" + #. Relevant view: Classic #. Lite view equivalent: "Any part of speech" #. Filter option: clear grammatical info filter @@ -220,12 +232,6 @@ msgstr "모든 시맨틱 도메인" msgid "Any Ws" msgstr "모든 W" -#. Field label -#: src/lib/troubleshoot/TroubleshootDialog.svelte -#: src/lib/updates/UpdateDialog.svelte -msgid "Application version" -msgstr "애플리케이션 버전" - #. Confirmation prompt #: src/lib/entry-editor/DeleteDialog.svelte msgid "Are you sure you want to delete {0}?" @@ -266,6 +272,18 @@ msgstr "자동" msgid "Auto syncing" msgstr "자동 동기화" +#. Section label in custom view form. +#. Selects the base view preset (Classic or Lite) that the custom view inherits from. +#: src/lib/views/custom/CustomViewForm.svelte +msgid "Based on" +msgstr "기준" + +#. Subtitle under each custom view in the manage dialog. +#. {0} = name of the base view preset (e.g., "FieldWorks Lite" or "FieldWorks Classic"). +#: src/lib/views/custom/ManageCustomViewsDialog.svelte +msgid "Based on {0}" +msgstr "{0} 기준" + #. Sort option #: src/project/browse/sort/SortMenu.svelte msgid "Best match" @@ -286,12 +304,12 @@ msgstr "찾아보기" #. Synonyms across UI: "Don't delete" (Delete dialog), "Close" (About dialog) #. Keep translation brief (3-4 chars in some languages) to fit button layout #: src/lib/admin-dialogs/GetProjectByCodeDialog.svelte +#: src/lib/components/SubmitOrCancel.svelte #: src/lib/components/audio/AudioDialog.svelte -#: src/lib/components/field-editors/multi-select.svelte #: src/lib/components/field-editors/select.svelte #: src/lib/entry-editor/EditEntryDialog.svelte -#: src/lib/entry-editor/EntryOrSensePicker.svelte #: src/lib/entry-editor/NewEntryDialog.svelte +#: src/lib/views/custom/CustomViewForm.svelte msgid "Cancel" msgstr "취소" @@ -318,17 +336,10 @@ msgstr "테마 선택" #. Relevant view: Classic #. Lite view equivalent: "Display as" #. Field label: form for citing in dictionary -#: src/lib/entry-editor/object-editors/EntryEditorPrimitive.svelte +#: src/lib/views/entity-config.ts msgid "Citation form" msgstr "인용 양식" -#. Relevant view: Classic -#. Lite view equivalent: "Display as" -#. Filter option: narrow by citation form -#: src/project/browse/filter/FieldSelect.svelte -msgid "Citation Form" -msgstr "인용 양식" - #. Section header for projects from FieldWorks #: src/home/HomeView.svelte msgid "Classic FieldWorks Projects" @@ -369,7 +380,7 @@ msgstr "복잡한 양식" #. Field label #. Classifies the type of complex form relationship (user-configurable) #. Examples: "compound", "derivative", "inflectional" (varies by project) -#: src/lib/entry-editor/object-editors/EntryEditorPrimitive.svelte +#: src/lib/views/entity-config.ts msgid "Complex form types" msgstr "복잡한 양식 유형" @@ -379,7 +390,7 @@ msgid "Complex form:" msgstr "복잡한 양식:" #. Field label -#: src/lib/entry-editor/object-editors/EntryEditorPrimitive.svelte +#: src/lib/views/entity-config.ts msgid "Complex forms" msgstr "복잡한 양식" @@ -400,7 +411,7 @@ msgid "Component:" msgstr "컴포넌트:" #. Field label -#: src/lib/entry-editor/object-editors/EntryEditorPrimitive.svelte +#: src/lib/views/entity-config.ts msgid "Components" msgstr "구성 요소" @@ -421,6 +432,11 @@ msgstr "클립보드에 복사" msgid "Copy version" msgstr "복사 버전" +#. Dialog title when creating a new custom view. +#: src/lib/views/custom/CreateCustomViewDialog.svelte +msgid "Create Custom View" +msgstr "사용자 지정 뷰 만들기" + #. Button label (view-dependent: "Create entry" in Classic, "Add new word" in Lite) #: src/lib/entry-editor/NewEntryButton.svelte msgid "Create entry" @@ -438,6 +454,11 @@ msgstr "항목 만들기" msgid "Create Example Project" msgstr "예제 프로젝트 만들기" +#. Submit button in the create custom view dialog. +#: src/lib/views/custom/CreateCustomViewDialog.svelte +msgid "Create View" +msgstr "보기 만들기" + #. Relevant view: Classic #. Lite view equivalent: "Current Word" #. Label in picker: marks the entry that is currently being edited @@ -459,6 +480,17 @@ msgstr "현재 버전" msgid "Current Word" msgstr "현재 단어" +#. Radio option in custom view writing system picker. +#. Enables manual selection of individual writing systems. +#: src/lib/views/custom/CustomViewWritingSystems.svelte +msgid "Custom" +msgstr "사용자 지정" + +#. Label used in delete confirmation prompt for a custom view. +#: src/lib/views/custom/ManageCustomViewsDialog.svelte +msgid "Custom view" +msgstr "사용자 지정 보기" + #. Theme option #: src/lib/components/ThemePicker.svelte msgid "Dark" @@ -477,7 +509,7 @@ msgstr "데이터 디렉토리" #. Field label #. Definition for a sense/meaning (e.g., "bank" = "financial institution") #. Appears under each Sense/Meaning in entry editor -#: src/lib/entry-editor/object-editors/SenseEditorPrimitive.svelte +#: src/lib/views/entity-config.ts msgid "Definition" msgstr "정의" @@ -543,8 +575,7 @@ msgstr "폐기" #. Relevant view: Lite #. Classic view equivalent: "Citation Form" #. Lexicography term: choose which form of the entry to display -#: src/lib/entry-editor/object-editors/EntryEditorPrimitive.svelte -#: src/project/browse/filter/FieldSelect.svelte +#: src/lib/views/entity-config.ts msgid "Display as" msgstr "다음으로 표시" @@ -611,6 +642,11 @@ msgstr "다운로드 {0}..." msgid "Downloading..." msgstr "다운로드 중..." +#. Dialog title when editing an existing custom view. +#: src/lib/views/custom/EditCustomViewDialog.svelte +msgid "Edit Custom View" +msgstr "사용자 지정 보기 편집" + #. Role selector option #: src/lib/admin-dialogs/GetProjectByCodeDialog.svelte msgid "Editor" @@ -642,7 +678,7 @@ msgstr "항목" #: src/lib/entry-editor/EditEntryDialog.svelte #: src/lib/entry-editor/EntryOrSenseItemList.svelte #: src/lib/entry-editor/EntryOrSensePicker.svelte -#: src/lib/entry-editor/object-editors/EntryEditorPrimitive.svelte +#: src/lib/views/entity-config.ts #: src/project/browse/EntryMenu.svelte msgid "Entry" msgstr "항목" @@ -687,6 +723,7 @@ msgstr "동기화 상태를 가져오는 중 오류가 발생했습니다." #. Labels example sentence/phrase section in entry editor #. Contains: sentence text, translation, source reference #: src/lib/entry-editor/object-editors/ObjectHeader.svelte +#: src/lib/views/entity-config.ts msgid "Example" msgstr "예" @@ -742,6 +779,12 @@ msgstr "피드백 및 지원" msgid "Field" msgstr "필드" +#. Section label in custom view form. +#. Shows checkboxes to select which dictionary fields are visible (grouped by entry, sense, example). +#: src/lib/views/custom/CustomViewForm.svelte +msgid "Fields" +msgstr "필드" + #. Product name #: src/project/sync/SyncStatusPrimitive.svelte msgid "FieldWorks Lite" @@ -755,6 +798,11 @@ msgstr "FieldWorks Lite가 성공적으로 업데이트되었습니다. 변경 msgid "FieldWorks Lite users will automatically receive changes that were made in FieldWorks Classic. FieldWorks Classic users will see changes that were made in FieldWorks Lite after they do Send/Receive." msgstr "FieldWorks Lite 사용자는 FieldWorks Classic에서 변경된 내용을 자동으로 수신합니다. FieldWorks Classic 사용자는 보내기/받기를 수행한 후 FieldWorks Lite에서 수행한 변경 사항을 볼 수 있습니다." +#: src/lib/troubleshoot/TroubleshootDialog.svelte +#: src/lib/updates/UpdateDialog.svelte +msgid "FieldWorks Lite version" +msgstr "FieldWorks Lite 버전" + #. Alt text for FieldWorks logo image #: src/home/HomeView.svelte #: src/lib/components/OpenInFieldWorksButton.svelte @@ -882,8 +930,7 @@ msgstr "지원 받기" #. Brief translation/equivalent (one word or short phrase) #. Different from "Definition" (longer explanation) #. Appears under each sense/meaning; concise translation -#: src/lib/entry-editor/object-editors/SenseEditorPrimitive.svelte -#: src/project/browse/filter/FieldSelect.svelte +#: src/lib/views/entity-config.ts msgid "Gloss" msgstr "광택" @@ -899,7 +946,7 @@ msgstr "{0}으로 이동" #. Relevant view: Classic #. Lite view equivalent: "Part of speech" #. Field label: grammatical category (noun, verb, adjective, etc.) -#: src/lib/entry-editor/object-editors/SenseEditorPrimitive.svelte +#: src/lib/views/entity-config.ts #: src/project/browse/SearchFilter.svelte msgid "Grammatical info." msgstr "문법 정보." @@ -996,16 +1043,14 @@ msgstr "렉스박스 로고" #. Relevant view: Classic #. Lite view equivalent: "Word" #. Field label: the main headword/base form -#: src/lib/entry-editor/object-editors/EntryEditorPrimitive.svelte +#: src/lib/views/entity-config.ts msgid "Lexeme form" msgstr "Lexeme 양식" -#. Relevant view: Classic -#. Lite view equivalent: "Word" -#. Filter option: narrow results by headword/base form -#: src/project/browse/filter/FieldSelect.svelte -msgid "Lexeme Form" -msgstr "Lexeme 양식" +#: src/lib/entry-editor/NewEntryDialog.svelte +#: src/lib/views/custom/validation.ts +msgid "Lexeme form or Citation form is required" +msgstr "Lexeme 양식 또는 인용 양식이 필요합니다." #: src/lib/components/ThemePicker.svelte msgid "Light" @@ -1018,7 +1063,7 @@ msgstr "목록 모드" #. Field name shown in advanced/classic view #. The literal meaning of the vernacular translated into the analysis language #. Contrasts with glosses/definitions in the analysis language -#: src/lib/entry-editor/object-editors/EntryEditorPrimitive.svelte +#: src/lib/views/entity-config.ts msgid "Literal meaning" msgstr "문자 그대로의 의미" @@ -1065,6 +1110,17 @@ msgstr "제안하기" msgid "Make sure your [changes are synced]({0}) to Lexbox." msgstr "변경 사항이 렉스박스에 [동기화되었는지]({0}) 확인합니다." +#. Button label in view picker; opens the manage custom views dialog. +#. Only visible to project managers. +#: src/lib/views/custom/ManageCustomViewsButton.svelte +msgid "Manage custom views" +msgstr "사용자 지정 보기 관리" + +#. Dialog title for managing all custom views (create, edit, delete). +#: src/lib/views/custom/ManageCustomViewsDialog.svelte +msgid "Manage Custom Views" +msgstr "사용자 지정 보기 관리" + #: src/lib/admin-dialogs/GetProjectByCodeDialog.svelte msgid "Manager" msgstr "관리자" @@ -1115,6 +1171,21 @@ msgstr "모드" msgid "Move" msgstr "이동" +#. Placeholder text in the name input of the custom view form. +#: src/lib/views/custom/CustomViewForm.svelte +msgid "My custom view..." +msgstr "내 사용자 지정 보기..." + +#. Field label for the custom view name input. +#: src/lib/views/custom/CustomViewForm.svelte +msgid "Name" +msgstr "이름" + +#. Validation error shown when the custom view name is empty. +#: src/lib/views/custom/validation.ts +msgid "Name is required" +msgstr "이름은 필수 입력 사항입니다." + #: src/project/sync/FwLiteToFwMergeDetails.svelte #: src/project/sync/FwLiteToFwMergeDetails.svelte #: src/project/sync/SyncStatusPrimitive.svelte @@ -1125,6 +1196,11 @@ msgstr "절대로" msgid "New" msgstr "신규" +#. Button label in the manage custom views dialog; opens the create form. +#: src/lib/views/custom/ManageCustomViewsDialog.svelte +msgid "New Custom View" +msgstr "새로운 사용자 지정 보기" + #: src/project/sync/FwLiteToFwMergeDetails.svelte msgid "New data" msgstr "새로운 데이터" @@ -1159,6 +1235,11 @@ msgstr "활동을 찾을 수 없습니다." msgid "No audio" msgstr "오디오 없음" +#. Empty state message in the manage custom views dialog when none exist. +#: src/lib/views/custom/ManageCustomViewsDialog.svelte +msgid "No custom views yet." +msgstr "아직 사용자 지정 보기가 없습니다." + #: src/project/ProjectDropdown.svelte msgid "No Dictionaries found" msgstr "사전을 찾을 수 없습니다." @@ -1235,7 +1316,7 @@ msgstr "동기화되지 않음" #. Field label #. General notes/remarks field in entry editor #. Unconstrained text for additional metadata/comments -#: src/lib/entry-editor/object-editors/EntryEditorPrimitive.svelte +#: src/lib/views/entity-config.ts msgid "Note" msgstr "참고" @@ -1312,14 +1393,14 @@ msgstr "Part" #: src/lib/entry-editor/field-editors/ComplexFormComponents.svelte #: src/lib/entry-editor/field-editors/ComplexForms.svelte #: src/lib/entry-editor/field-editors/ComplexForms.svelte -#: src/lib/entry-editor/object-editors/EntryEditorPrimitive.svelte +#: src/lib/views/entity-config.ts msgid "Part of" msgstr "의 일부" #. Relevant view: Lite #. Classic view equivalent: "Grammatical info." #. Field label: grammatical category (noun, verb, adjective, etc.) -#: src/lib/entry-editor/object-editors/SenseEditorPrimitive.svelte +#: src/lib/views/entity-config.ts #: src/project/browse/SearchFilter.svelte msgid "Part of speech" msgstr "품사" @@ -1386,15 +1467,24 @@ msgstr "프로젝트 이름..." msgid "Publication" msgstr "출판" -#. Label for publication domain selector -#: src/lib/entry-editor/object-editors/EntryEditorPrimitive.svelte -msgid "Publish {0} in" -msgstr "에 {0} 게시" +#. Relevant view: Classic +#. Lite view equivalent: "Publish Word in" +#. Field label: selects which publications an entry appears in. +#: src/lib/views/entity-config.ts +msgid "Publish Entry in" +msgstr "에 항목 게시" + +#. Relevant view: Lite +#. Classic view equivalent: "Publish Entry in" +#. Field label: selects which publications a word appears in. +#: src/lib/views/entity-config.ts +msgid "Publish Word in" +msgstr "Word를 다음 위치에 게시" #. Field label for citation source #. Source attribution for an example sentence (book title, page, URL, etc.) #. Identifies where the example was found/cited -#: src/lib/entry-editor/object-editors/ExampleEditorPrimitive.svelte +#: src/lib/views/entity-config.ts msgid "Reference" msgstr "참조" @@ -1465,6 +1555,11 @@ msgstr "다른 이름으로 저장" msgid "Save audio" msgstr "오디오 저장" +#. Submit button in the edit custom view dialog. +#: src/lib/views/custom/EditCustomViewDialog.svelte +msgid "Save View" +msgstr "보기 저장" + #. Search placeholder #: src/lib/entry-editor/EntryOrSensePicker.svelte msgid "Search # or #" @@ -1490,6 +1585,16 @@ msgstr "자세한 내용을 보려면 {0} 을 선택하세요." msgid "Select a new task to work on" msgstr "작업할 새 작업 선택" +#. Validation error when no analysis writing systems are selected in custom view form. +#: src/lib/views/custom/validation.ts +msgid "Select at least one analysis writing system" +msgstr "하나 이상의 분석 작성 시스템을 선택합니다." + +#. Validation error when no vernacular writing systems are selected in custom view form. +#: src/lib/views/custom/validation.ts +msgid "Select at least one vernacular writing system" +msgstr "하나 이상의 모국어 쓰기 체계를 선택하세요." + #. Dialog button #: src/lib/components/audio/audio-provider.svelte #: src/lib/components/audio/audio-provider.svelte @@ -1506,7 +1611,7 @@ msgstr "시맨틱 도메인" #. Field label #. Assigns sense/meaning to semantic categories (e.g., word can belong to multiple domains) #. Appears under each Sense/Meaning; usually multiple selection allowed -#: src/lib/entry-editor/object-editors/SenseEditorPrimitive.svelte +#: src/lib/views/entity-config.ts msgid "Semantic domains" msgstr "시맨틱 도메인" @@ -1522,13 +1627,14 @@ msgstr "메시지 보내기" #: src/lib/entry-editor/object-editors/AddSenseFab.svelte #: src/lib/entry-editor/object-editors/EntryEditor.svelte #: src/lib/entry-editor/object-editors/ObjectHeader.svelte +#: src/lib/views/entity-config.ts msgid "Sense" msgstr "Sense" #. Field label for example text #. The sentence/phrase text for an example (source text in original language) #. Paired with "Translation" field for translated version -#: src/lib/entry-editor/object-editors/ExampleEditorPrimitive.svelte +#: src/lib/views/entity-config.ts msgid "Sentence" msgstr "문장" @@ -1605,7 +1711,7 @@ msgid "Subject does not have suitable object of type: {0}" msgstr "제목에 적합한 객체 유형이 없습니다: {0}" #. Button to confirm selection -#: src/lib/components/field-editors/multi-select.svelte +#: src/lib/components/SubmitOrCancel.svelte #: src/lib/components/field-editors/multi-select.svelte #: src/lib/components/field-editors/multi-select.svelte msgid "Submit" @@ -1761,10 +1867,10 @@ msgstr "고정 토글" #. Field label #: src/lib/entry-editor/object-editors/ExampleEditorPrimitive.svelte +#: src/lib/views/entity-config.ts msgid "Translation" msgstr "번역" -#. Language-specific translation field #: src/lib/entry-editor/object-editors/ExampleEditorPrimitive.svelte msgid "Translation {0}" msgstr "번역 {0}" @@ -1893,14 +1999,15 @@ msgid "Updates" msgstr "업데이트" #. Field label -#: src/lib/entry-editor/object-editors/EntryEditorPrimitive.svelte +#: src/lib/views/entity-config.ts msgid "Uses components as" msgstr "구성 요소를 다음과 같이 사용합니다." -#. Version display -#: src/project/ProjectSidebar.svelte -msgid "Version {0}" -msgstr "버전 {0}" +#. Section heading in custom view writing system picker. +#. Labels the vernacular language writing systems (the language being documented). +#: src/lib/views/custom/CustomViewWritingSystems.svelte +msgid "Vernacular" +msgstr "토착어" #. Button label #: src/project/browse/ViewPicker.svelte @@ -1934,10 +2041,9 @@ msgstr "단어" #: src/lib/entry-editor/EditEntryDialog.svelte #: src/lib/entry-editor/EntryOrSenseItemList.svelte #: src/lib/entry-editor/EntryOrSensePicker.svelte -#: src/lib/entry-editor/object-editors/EntryEditorPrimitive.svelte -#: src/lib/entry-editor/object-editors/EntryEditorPrimitive.svelte +#: src/lib/views/entity-config.ts +#: src/lib/views/entity-config.ts #: src/project/browse/EntryMenu.svelte -#: src/project/browse/filter/FieldSelect.svelte msgid "Word" msgstr "Word" @@ -1948,6 +2054,11 @@ msgstr "Word" msgid "Word only" msgstr "단어 전용" +#: src/lib/entry-editor/NewEntryDialog.svelte +#: src/lib/views/custom/validation.ts +msgid "Word or Display as is required" +msgstr "단어 또는 필요에 따라 표시" + #. Relevant view: Lite #. Classic view equivalent: "Entry or sense:" #. Label for picker: allows selecting word-level or meaning-level link @@ -1964,6 +2075,12 @@ msgstr "쓰기 시스템" msgid "Writing system: {0}" msgstr "쓰기 시스템: {0}" +#. Section label in custom view form. +#. Configures which vernacular and analysis writing systems are shown. +#: src/lib/views/custom/CustomViewForm.svelte +msgid "Writing systems" +msgstr "쓰기 시스템" + #. Filter section title #: src/project/browse/filter/WsSelect.svelte msgid "Writing Systems" diff --git a/frontend/viewer/src/locales/ms.po b/frontend/viewer/src/locales/ms.po index ed11b09346..90271f9511 100644 --- a/frontend/viewer/src/locales/ms.po +++ b/frontend/viewer/src/locales/ms.po @@ -8,7 +8,7 @@ msgstr "" "Language: ms\n" "Project-Id-Version: language-depot\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-02-11 13:37\n" +"PO-Revision-Date: 2026-04-08 08:00\n" "Last-Translator: \n" "Language-Team: Malay\n" "Plural-Forms: nplurals=1; plural=0;\n" @@ -178,6 +178,12 @@ msgstr "Tambah Makna" msgid "Add Word" msgstr "Tambah Perkataan" +#. Radio option in custom view writing system picker. +#. Includes all writing systems (no filtering). +#: src/lib/views/custom/CustomViewWritingSystems.svelte +msgid "All" +msgstr "Semua" + #. Relevant view: Classic #. Lite view equivalent: "a word" #. Placeholder/suggestion in search field @@ -185,6 +191,12 @@ msgstr "Tambah Perkataan" msgid "an entry" msgstr "satu entri" +#. Section heading in custom view writing system picker. +#. Labels the analysis language writing systems (e.g., English definitions/glosses). +#: src/lib/views/custom/CustomViewWritingSystems.svelte +msgid "Analysis" +msgstr "Analisis" + #. Relevant view: Classic #. Lite view equivalent: "Any part of speech" #. Filter option: clear grammatical info filter @@ -220,12 +232,6 @@ msgstr "Mana-mana domain semantik" msgid "Any Ws" msgstr "Mana-mana Ws" -#. Field label -#: src/lib/troubleshoot/TroubleshootDialog.svelte -#: src/lib/updates/UpdateDialog.svelte -msgid "Application version" -msgstr "Versi Aplikasi" - #. Confirmation prompt #: src/lib/entry-editor/DeleteDialog.svelte msgid "Are you sure you want to delete {0}?" @@ -266,6 +272,18 @@ msgstr "Auto" msgid "Auto syncing" msgstr "Segerakkan automatik" +#. Section label in custom view form. +#. Selects the base view preset (Classic or Lite) that the custom view inherits from. +#: src/lib/views/custom/CustomViewForm.svelte +msgid "Based on" +msgstr "Berdasarkan" + +#. Subtitle under each custom view in the manage dialog. +#. {0} = name of the base view preset (e.g., "FieldWorks Lite" or "FieldWorks Classic"). +#: src/lib/views/custom/ManageCustomViewsDialog.svelte +msgid "Based on {0}" +msgstr "Berdasarkan {0}" + #. Sort option #: src/project/browse/sort/SortMenu.svelte msgid "Best match" @@ -286,12 +304,12 @@ msgstr "Terokai" #. Synonyms across UI: "Don't delete" (Delete dialog), "Close" (About dialog) #. Keep translation brief (3-4 chars in some languages) to fit button layout #: src/lib/admin-dialogs/GetProjectByCodeDialog.svelte +#: src/lib/components/SubmitOrCancel.svelte #: src/lib/components/audio/AudioDialog.svelte -#: src/lib/components/field-editors/multi-select.svelte #: src/lib/components/field-editors/select.svelte #: src/lib/entry-editor/EditEntryDialog.svelte -#: src/lib/entry-editor/EntryOrSensePicker.svelte #: src/lib/entry-editor/NewEntryDialog.svelte +#: src/lib/views/custom/CustomViewForm.svelte msgid "Cancel" msgstr "Batal" @@ -318,17 +336,10 @@ msgstr "Pilih tema" #. Relevant view: Classic #. Lite view equivalent: "Display as" #. Field label: form for citing in dictionary -#: src/lib/entry-editor/object-editors/EntryEditorPrimitive.svelte +#: src/lib/views/entity-config.ts msgid "Citation form" msgstr "Bentuk petikan" -#. Relevant view: Classic -#. Lite view equivalent: "Display as" -#. Filter option: narrow by citation form -#: src/project/browse/filter/FieldSelect.svelte -msgid "Citation Form" -msgstr "Bentuk Petikan" - #. Section header for projects from FieldWorks #: src/home/HomeView.svelte msgid "Classic FieldWorks Projects" @@ -369,7 +380,7 @@ msgstr "Bentuk Kompleks" #. Field label #. Classifies the type of complex form relationship (user-configurable) #. Examples: "compound", "derivative", "inflectional" (varies by project) -#: src/lib/entry-editor/object-editors/EntryEditorPrimitive.svelte +#: src/lib/views/entity-config.ts msgid "Complex form types" msgstr "Jenis bentuk kompleks" @@ -379,7 +390,7 @@ msgid "Complex form:" msgstr "Bentuk kompleks:" #. Field label -#: src/lib/entry-editor/object-editors/EntryEditorPrimitive.svelte +#: src/lib/views/entity-config.ts msgid "Complex forms" msgstr "Bentuk kompleks" @@ -400,7 +411,7 @@ msgid "Component:" msgstr "Komponen:" #. Field label -#: src/lib/entry-editor/object-editors/EntryEditorPrimitive.svelte +#: src/lib/views/entity-config.ts msgid "Components" msgstr "Komponen-komponen" @@ -421,6 +432,11 @@ msgstr "Disalin ke papan keratan" msgid "Copy version" msgstr "Salin versi" +#. Dialog title when creating a new custom view. +#: src/lib/views/custom/CreateCustomViewDialog.svelte +msgid "Create Custom View" +msgstr "Buat Paparan Tersuai" + #. Button label (view-dependent: "Create entry" in Classic, "Add new word" in Lite) #: src/lib/entry-editor/NewEntryButton.svelte msgid "Create entry" @@ -438,6 +454,11 @@ msgstr "Cipta Entri" msgid "Create Example Project" msgstr "Cipta Projek Contoh" +#. Submit button in the create custom view dialog. +#: src/lib/views/custom/CreateCustomViewDialog.svelte +msgid "Create View" +msgstr "Buat Pandangan" + #. Relevant view: Classic #. Lite view equivalent: "Current Word" #. Label in picker: marks the entry that is currently being edited @@ -459,6 +480,17 @@ msgstr "Versi semasa" msgid "Current Word" msgstr "Perkataan Semasa" +#. Radio option in custom view writing system picker. +#. Enables manual selection of individual writing systems. +#: src/lib/views/custom/CustomViewWritingSystems.svelte +msgid "Custom" +msgstr "Kustom" + +#. Label used in delete confirmation prompt for a custom view. +#: src/lib/views/custom/ManageCustomViewsDialog.svelte +msgid "Custom view" +msgstr "Paparan tersuai" + #. Theme option #: src/lib/components/ThemePicker.svelte msgid "Dark" @@ -477,7 +509,7 @@ msgstr "Direktori Data" #. Field label #. Definition for a sense/meaning (e.g., "bank" = "financial institution") #. Appears under each Sense/Meaning in entry editor -#: src/lib/entry-editor/object-editors/SenseEditorPrimitive.svelte +#: src/lib/views/entity-config.ts msgid "Definition" msgstr "Definisi" @@ -543,8 +575,7 @@ msgstr "Buang" #. Relevant view: Lite #. Classic view equivalent: "Citation Form" #. Lexicography term: choose which form of the entry to display -#: src/lib/entry-editor/object-editors/EntryEditorPrimitive.svelte -#: src/project/browse/filter/FieldSelect.svelte +#: src/lib/views/entity-config.ts msgid "Display as" msgstr "Papar sebagai" @@ -611,6 +642,11 @@ msgstr "Memuat turun {0}..." msgid "Downloading..." msgstr "Memuat turun..." +#. Dialog title when editing an existing custom view. +#: src/lib/views/custom/EditCustomViewDialog.svelte +msgid "Edit Custom View" +msgstr "Sunting Tinjauan Tersuai" + #. Role selector option #: src/lib/admin-dialogs/GetProjectByCodeDialog.svelte msgid "Editor" @@ -642,7 +678,7 @@ msgstr "Entri" #: src/lib/entry-editor/EditEntryDialog.svelte #: src/lib/entry-editor/EntryOrSenseItemList.svelte #: src/lib/entry-editor/EntryOrSensePicker.svelte -#: src/lib/entry-editor/object-editors/EntryEditorPrimitive.svelte +#: src/lib/views/entity-config.ts #: src/project/browse/EntryMenu.svelte msgid "Entry" msgstr "Entri" @@ -687,6 +723,7 @@ msgstr "Ralat mendapatkan status penyegerakan." #. Labels example sentence/phrase section in entry editor #. Contains: sentence text, translation, source reference #: src/lib/entry-editor/object-editors/ObjectHeader.svelte +#: src/lib/views/entity-config.ts msgid "Example" msgstr "Contoh" @@ -742,6 +779,12 @@ msgstr "Maklum Balas & Sokongan" msgid "Field" msgstr "Bidang" +#. Section label in custom view form. +#. Shows checkboxes to select which dictionary fields are visible (grouped by entry, sense, example). +#: src/lib/views/custom/CustomViewForm.svelte +msgid "Fields" +msgstr "Ladang" + #. Product name #: src/project/sync/SyncStatusPrimitive.svelte msgid "FieldWorks Lite" @@ -755,6 +798,11 @@ msgstr "FieldWorks Lite telah dikemas kini dengan berjaya. Sila mulai semula apl msgid "FieldWorks Lite users will automatically receive changes that were made in FieldWorks Classic. FieldWorks Classic users will see changes that were made in FieldWorks Lite after they do Send/Receive." msgstr "Pengguna FieldWorks Lite akan menerima perubahan yang dibuat dalam FieldWorks Classic secara automatik. Pengguna FieldWorks Classic akan melihat perubahan yang dibuat dalam FieldWorks Lite selepas mereka melakukan Hantar/Terima." +#: src/lib/troubleshoot/TroubleshootDialog.svelte +#: src/lib/updates/UpdateDialog.svelte +msgid "FieldWorks Lite version" +msgstr "" + #. Alt text for FieldWorks logo image #: src/home/HomeView.svelte #: src/lib/components/OpenInFieldWorksButton.svelte @@ -882,8 +930,7 @@ msgstr "Dapatkan sokongan" #. Brief translation/equivalent (one word or short phrase) #. Different from "Definition" (longer explanation) #. Appears under each sense/meaning; concise translation -#: src/lib/entry-editor/object-editors/SenseEditorPrimitive.svelte -#: src/project/browse/filter/FieldSelect.svelte +#: src/lib/views/entity-config.ts msgid "Gloss" msgstr "Glos" @@ -899,7 +946,7 @@ msgstr "Pergi ke {0}" #. Relevant view: Classic #. Lite view equivalent: "Part of speech" #. Field label: grammatical category (noun, verb, adjective, etc.) -#: src/lib/entry-editor/object-editors/SenseEditorPrimitive.svelte +#: src/lib/views/entity-config.ts #: src/project/browse/SearchFilter.svelte msgid "Grammatical info." msgstr "Maklumat tatabahasa." @@ -996,16 +1043,14 @@ msgstr "Logo Lexbox" #. Relevant view: Classic #. Lite view equivalent: "Word" #. Field label: the main headword/base form -#: src/lib/entry-editor/object-editors/EntryEditorPrimitive.svelte +#: src/lib/views/entity-config.ts msgid "Lexeme form" msgstr "Bentuk leksem" -#. Relevant view: Classic -#. Lite view equivalent: "Word" -#. Filter option: narrow results by headword/base form -#: src/project/browse/filter/FieldSelect.svelte -msgid "Lexeme Form" -msgstr "Bentuk Leksem" +#: src/lib/entry-editor/NewEntryDialog.svelte +#: src/lib/views/custom/validation.ts +msgid "Lexeme form or Citation form is required" +msgstr "" #: src/lib/components/ThemePicker.svelte msgid "Light" @@ -1018,7 +1063,7 @@ msgstr "Mod senarai" #. Field name shown in advanced/classic view #. The literal meaning of the vernacular translated into the analysis language #. Contrasts with glosses/definitions in the analysis language -#: src/lib/entry-editor/object-editors/EntryEditorPrimitive.svelte +#: src/lib/views/entity-config.ts msgid "Literal meaning" msgstr "Makna harfiah" @@ -1065,6 +1110,17 @@ msgstr "Buat cadangan" msgid "Make sure your [changes are synced]({0}) to Lexbox." msgstr "Pastikan [perubahan anda diselaraskan]({0}) ke Lexbox." +#. Button label in view picker; opens the manage custom views dialog. +#. Only visible to project managers. +#: src/lib/views/custom/ManageCustomViewsButton.svelte +msgid "Manage custom views" +msgstr "Kelola paparan tersuai" + +#. Dialog title for managing all custom views (create, edit, delete). +#: src/lib/views/custom/ManageCustomViewsDialog.svelte +msgid "Manage Custom Views" +msgstr "Kelola Paparan Tersuai" + #: src/lib/admin-dialogs/GetProjectByCodeDialog.svelte msgid "Manager" msgstr "Pengurus" @@ -1115,6 +1171,21 @@ msgstr "Mod" msgid "Move" msgstr "Gerak" +#. Placeholder text in the name input of the custom view form. +#: src/lib/views/custom/CustomViewForm.svelte +msgid "My custom view..." +msgstr "Pandangan tersuai saya..." + +#. Field label for the custom view name input. +#: src/lib/views/custom/CustomViewForm.svelte +msgid "Name" +msgstr "Nama" + +#. Validation error shown when the custom view name is empty. +#: src/lib/views/custom/validation.ts +msgid "Name is required" +msgstr "Nama diperlukan" + #: src/project/sync/FwLiteToFwMergeDetails.svelte #: src/project/sync/FwLiteToFwMergeDetails.svelte #: src/project/sync/SyncStatusPrimitive.svelte @@ -1125,6 +1196,11 @@ msgstr "Tidak Pernah" msgid "New" msgstr "Baru" +#. Button label in the manage custom views dialog; opens the create form. +#: src/lib/views/custom/ManageCustomViewsDialog.svelte +msgid "New Custom View" +msgstr "Tampilan Tersuai Baru" + #: src/project/sync/FwLiteToFwMergeDetails.svelte msgid "New data" msgstr "Data baru" @@ -1159,6 +1235,11 @@ msgstr "Tiada aktiviti ditemui" msgid "No audio" msgstr "Tiada audio" +#. Empty state message in the manage custom views dialog when none exist. +#: src/lib/views/custom/ManageCustomViewsDialog.svelte +msgid "No custom views yet." +msgstr "Tiada paparan tersuai lagi." + #: src/project/ProjectDropdown.svelte msgid "No Dictionaries found" msgstr "Tiada Kamus ditemui" @@ -1235,7 +1316,7 @@ msgstr "Tidak disegerakkan" #. Field label #. General notes/remarks field in entry editor #. Unconstrained text for additional metadata/comments -#: src/lib/entry-editor/object-editors/EntryEditorPrimitive.svelte +#: src/lib/views/entity-config.ts msgid "Note" msgstr "Nota" @@ -1312,14 +1393,14 @@ msgstr "Bahagian" #: src/lib/entry-editor/field-editors/ComplexFormComponents.svelte #: src/lib/entry-editor/field-editors/ComplexForms.svelte #: src/lib/entry-editor/field-editors/ComplexForms.svelte -#: src/lib/entry-editor/object-editors/EntryEditorPrimitive.svelte +#: src/lib/views/entity-config.ts msgid "Part of" msgstr "Sebahagian daripada" #. Relevant view: Lite #. Classic view equivalent: "Grammatical info." #. Field label: grammatical category (noun, verb, adjective, etc.) -#: src/lib/entry-editor/object-editors/SenseEditorPrimitive.svelte +#: src/lib/views/entity-config.ts #: src/project/browse/SearchFilter.svelte msgid "Part of speech" msgstr "Jenis Perkataan" @@ -1386,15 +1467,24 @@ msgstr "Nama projek..." msgid "Publication" msgstr "" -#. Label for publication domain selector -#: src/lib/entry-editor/object-editors/EntryEditorPrimitive.svelte -msgid "Publish {0} in" -msgstr "Terbitkan {0} dalam" +#. Relevant view: Classic +#. Lite view equivalent: "Publish Word in" +#. Field label: selects which publications an entry appears in. +#: src/lib/views/entity-config.ts +msgid "Publish Entry in" +msgstr "Terbitkan Kemasukan dalam" + +#. Relevant view: Lite +#. Classic view equivalent: "Publish Entry in" +#. Field label: selects which publications a word appears in. +#: src/lib/views/entity-config.ts +msgid "Publish Word in" +msgstr "Terbitkan Word dalam" #. Field label for citation source #. Source attribution for an example sentence (book title, page, URL, etc.) #. Identifies where the example was found/cited -#: src/lib/entry-editor/object-editors/ExampleEditorPrimitive.svelte +#: src/lib/views/entity-config.ts msgid "Reference" msgstr "Rujukan" @@ -1465,6 +1555,11 @@ msgstr "Simpan Sebagai" msgid "Save audio" msgstr "Simpan audio" +#. Submit button in the edit custom view dialog. +#: src/lib/views/custom/EditCustomViewDialog.svelte +msgid "Save View" +msgstr "Simpan Paparan" + #. Search placeholder #: src/lib/entry-editor/EntryOrSensePicker.svelte msgid "Search # or #" @@ -1490,6 +1585,16 @@ msgstr "Pilih {0} untuk melihat butiran" msgid "Select a new task to work on" msgstr "Pilih tugas baru untuk dikerjakan" +#. Validation error when no analysis writing systems are selected in custom view form. +#: src/lib/views/custom/validation.ts +msgid "Select at least one analysis writing system" +msgstr "Pilih sekurang-kurangnya satu sistem penulisan analisis." + +#. Validation error when no vernacular writing systems are selected in custom view form. +#: src/lib/views/custom/validation.ts +msgid "Select at least one vernacular writing system" +msgstr "Pilih sekurang-kurangnya satu sistem tulisan vernakular" + #. Dialog button #: src/lib/components/audio/audio-provider.svelte #: src/lib/components/audio/audio-provider.svelte @@ -1506,7 +1611,7 @@ msgstr "Domain semantik" #. Field label #. Assigns sense/meaning to semantic categories (e.g., word can belong to multiple domains) #. Appears under each Sense/Meaning; usually multiple selection allowed -#: src/lib/entry-editor/object-editors/SenseEditorPrimitive.svelte +#: src/lib/views/entity-config.ts msgid "Semantic domains" msgstr "Domain semantik" @@ -1522,13 +1627,14 @@ msgstr "Hantar kami mesej" #: src/lib/entry-editor/object-editors/AddSenseFab.svelte #: src/lib/entry-editor/object-editors/EntryEditor.svelte #: src/lib/entry-editor/object-editors/ObjectHeader.svelte +#: src/lib/views/entity-config.ts msgid "Sense" msgstr "Makna" #. Field label for example text #. The sentence/phrase text for an example (source text in original language) #. Paired with "Translation" field for translated version -#: src/lib/entry-editor/object-editors/ExampleEditorPrimitive.svelte +#: src/lib/views/entity-config.ts msgid "Sentence" msgstr "Ayat" @@ -1605,7 +1711,7 @@ msgid "Subject does not have suitable object of type: {0}" msgstr "Subjek tidak mempunyai objek sesuai jenis: {0}" #. Button to confirm selection -#: src/lib/components/field-editors/multi-select.svelte +#: src/lib/components/SubmitOrCancel.svelte #: src/lib/components/field-editors/multi-select.svelte #: src/lib/components/field-editors/multi-select.svelte msgid "Submit" @@ -1761,10 +1867,10 @@ msgstr "Togol disemat" #. Field label #: src/lib/entry-editor/object-editors/ExampleEditorPrimitive.svelte +#: src/lib/views/entity-config.ts msgid "Translation" msgstr "Terjemahan" -#. Language-specific translation field #: src/lib/entry-editor/object-editors/ExampleEditorPrimitive.svelte msgid "Translation {0}" msgstr "Terjemahan {0}" @@ -1893,14 +1999,15 @@ msgid "Updates" msgstr "Kemas kini" #. Field label -#: src/lib/entry-editor/object-editors/EntryEditorPrimitive.svelte +#: src/lib/views/entity-config.ts msgid "Uses components as" msgstr "Menggunakan komponen sebagai" -#. Version display -#: src/project/ProjectSidebar.svelte -msgid "Version {0}" -msgstr "Versi {0}" +#. Section heading in custom view writing system picker. +#. Labels the vernacular language writing systems (the language being documented). +#: src/lib/views/custom/CustomViewWritingSystems.svelte +msgid "Vernacular" +msgstr "Bahasaan" #. Button label #: src/project/browse/ViewPicker.svelte @@ -1934,10 +2041,9 @@ msgstr "Perkataan" #: src/lib/entry-editor/EditEntryDialog.svelte #: src/lib/entry-editor/EntryOrSenseItemList.svelte #: src/lib/entry-editor/EntryOrSensePicker.svelte -#: src/lib/entry-editor/object-editors/EntryEditorPrimitive.svelte -#: src/lib/entry-editor/object-editors/EntryEditorPrimitive.svelte +#: src/lib/views/entity-config.ts +#: src/lib/views/entity-config.ts #: src/project/browse/EntryMenu.svelte -#: src/project/browse/filter/FieldSelect.svelte msgid "Word" msgstr "Perkataan" @@ -1948,6 +2054,11 @@ msgstr "Perkataan" msgid "Word only" msgstr "Perkataan sahaja" +#: src/lib/entry-editor/NewEntryDialog.svelte +#: src/lib/views/custom/validation.ts +msgid "Word or Display as is required" +msgstr "" + #. Relevant view: Lite #. Classic view equivalent: "Entry or sense:" #. Label for picker: allows selecting word-level or meaning-level link @@ -1964,6 +2075,12 @@ msgstr "Sistem Penulisan" msgid "Writing system: {0}" msgstr "Sistem penulisan: {0}" +#. Section label in custom view form. +#. Configures which vernacular and analysis writing systems are shown. +#: src/lib/views/custom/CustomViewForm.svelte +msgid "Writing systems" +msgstr "Sistem tulisan" + #. Filter section title #: src/project/browse/filter/WsSelect.svelte msgid "Writing Systems" diff --git a/frontend/viewer/src/locales/sw.po b/frontend/viewer/src/locales/sw.po index 6d63a389f6..6a3f918230 100644 --- a/frontend/viewer/src/locales/sw.po +++ b/frontend/viewer/src/locales/sw.po @@ -8,7 +8,7 @@ msgstr "" "Language: sw\n" "Project-Id-Version: language-depot\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-02-11 13:37\n" +"PO-Revision-Date: 2026-04-08 08:00\n" "Last-Translator: \n" "Language-Team: Swahili\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -178,6 +178,12 @@ msgstr "Ongeza Maana" msgid "Add Word" msgstr "Ongeza Neno" +#. Radio option in custom view writing system picker. +#. Includes all writing systems (no filtering). +#: src/lib/views/custom/CustomViewWritingSystems.svelte +msgid "All" +msgstr "Vyote" + #. Relevant view: Classic #. Lite view equivalent: "a word" #. Placeholder/suggestion in search field @@ -185,6 +191,12 @@ msgstr "Ongeza Neno" msgid "an entry" msgstr "ingizo" +#. Section heading in custom view writing system picker. +#. Labels the analysis language writing systems (e.g., English definitions/glosses). +#: src/lib/views/custom/CustomViewWritingSystems.svelte +msgid "Analysis" +msgstr "Uchambuzi" + #. Relevant view: Classic #. Lite view equivalent: "Any part of speech" #. Filter option: clear grammatical info filter @@ -220,12 +232,6 @@ msgstr "Kikoa chochote cha kumkutania" msgid "Any Ws" msgstr "Ws yoyote" -#. Field label -#: src/lib/troubleshoot/TroubleshootDialog.svelte -#: src/lib/updates/UpdateDialog.svelte -msgid "Application version" -msgstr "Toleo la programu" - #. Confirmation prompt #: src/lib/entry-editor/DeleteDialog.svelte msgid "Are you sure you want to delete {0}?" @@ -266,6 +272,18 @@ msgstr "Otomatiki" msgid "Auto syncing" msgstr "Kuoanisha otomatiki" +#. Section label in custom view form. +#. Selects the base view preset (Classic or Lite) that the custom view inherits from. +#: src/lib/views/custom/CustomViewForm.svelte +msgid "Based on" +msgstr "Kulingana na" + +#. Subtitle under each custom view in the manage dialog. +#. {0} = name of the base view preset (e.g., "FieldWorks Lite" or "FieldWorks Classic"). +#: src/lib/views/custom/ManageCustomViewsDialog.svelte +msgid "Based on {0}" +msgstr "Kulingana na {0}" + #. Sort option #: src/project/browse/sort/SortMenu.svelte msgid "Best match" @@ -286,12 +304,12 @@ msgstr "Angalia" #. Synonyms across UI: "Don't delete" (Delete dialog), "Close" (About dialog) #. Keep translation brief (3-4 chars in some languages) to fit button layout #: src/lib/admin-dialogs/GetProjectByCodeDialog.svelte +#: src/lib/components/SubmitOrCancel.svelte #: src/lib/components/audio/AudioDialog.svelte -#: src/lib/components/field-editors/multi-select.svelte #: src/lib/components/field-editors/select.svelte #: src/lib/entry-editor/EditEntryDialog.svelte -#: src/lib/entry-editor/EntryOrSensePicker.svelte #: src/lib/entry-editor/NewEntryDialog.svelte +#: src/lib/views/custom/CustomViewForm.svelte msgid "Cancel" msgstr "Ghairi" @@ -318,17 +336,10 @@ msgstr "Chagua mandhari" #. Relevant view: Classic #. Lite view equivalent: "Display as" #. Field label: form for citing in dictionary -#: src/lib/entry-editor/object-editors/EntryEditorPrimitive.svelte +#: src/lib/views/entity-config.ts msgid "Citation form" msgstr "Fomu ya Manukuu" -#. Relevant view: Classic -#. Lite view equivalent: "Display as" -#. Filter option: narrow by citation form -#: src/project/browse/filter/FieldSelect.svelte -msgid "Citation Form" -msgstr "Fomu ya Manukuu" - #. Section header for projects from FieldWorks #: src/home/HomeView.svelte msgid "Classic FieldWorks Projects" @@ -369,7 +380,7 @@ msgstr "Fomu Changamano" #. Field label #. Classifies the type of complex form relationship (user-configurable) #. Examples: "compound", "derivative", "inflectional" (varies by project) -#: src/lib/entry-editor/object-editors/EntryEditorPrimitive.svelte +#: src/lib/views/entity-config.ts msgid "Complex form types" msgstr "Aina za fomu changamano" @@ -379,7 +390,7 @@ msgid "Complex form:" msgstr "Fomu changamano:" #. Field label -#: src/lib/entry-editor/object-editors/EntryEditorPrimitive.svelte +#: src/lib/views/entity-config.ts msgid "Complex forms" msgstr "Fomu changamano" @@ -400,7 +411,7 @@ msgid "Component:" msgstr "Sehemu:" #. Field label -#: src/lib/entry-editor/object-editors/EntryEditorPrimitive.svelte +#: src/lib/views/entity-config.ts msgid "Components" msgstr "Sehemu" @@ -421,6 +432,11 @@ msgstr "Imenakiliwa kwenye ubao wa kunakili" msgid "Copy version" msgstr "Nakili toleo" +#. Dialog title when creating a new custom view. +#: src/lib/views/custom/CreateCustomViewDialog.svelte +msgid "Create Custom View" +msgstr "Tengeneza Muonekano Maalum" + #. Button label (view-dependent: "Create entry" in Classic, "Add new word" in Lite) #: src/lib/entry-editor/NewEntryButton.svelte msgid "Create entry" @@ -438,6 +454,11 @@ msgstr "Tengeneza Ingizo" msgid "Create Example Project" msgstr "Tengeneza Mradi wa Mfano" +#. Submit button in the create custom view dialog. +#: src/lib/views/custom/CreateCustomViewDialog.svelte +msgid "Create View" +msgstr "Tengeneza Mtazamo" + #. Relevant view: Classic #. Lite view equivalent: "Current Word" #. Label in picker: marks the entry that is currently being edited @@ -459,6 +480,17 @@ msgstr "Toleo Sasa" msgid "Current Word" msgstr "Neno Sasa" +#. Radio option in custom view writing system picker. +#. Enables manual selection of individual writing systems. +#: src/lib/views/custom/CustomViewWritingSystems.svelte +msgid "Custom" +msgstr "Maalum" + +#. Label used in delete confirmation prompt for a custom view. +#: src/lib/views/custom/ManageCustomViewsDialog.svelte +msgid "Custom view" +msgstr "Mtazamo maalum" + #. Theme option #: src/lib/components/ThemePicker.svelte msgid "Dark" @@ -477,7 +509,7 @@ msgstr "Faharasa ya Data" #. Field label #. Definition for a sense/meaning (e.g., "bank" = "financial institution") #. Appears under each Sense/Meaning in entry editor -#: src/lib/entry-editor/object-editors/SenseEditorPrimitive.svelte +#: src/lib/views/entity-config.ts msgid "Definition" msgstr "Maana" @@ -543,8 +575,7 @@ msgstr "Kataa mabadiliko" #. Relevant view: Lite #. Classic view equivalent: "Citation Form" #. Lexicography term: choose which form of the entry to display -#: src/lib/entry-editor/object-editors/EntryEditorPrimitive.svelte -#: src/project/browse/filter/FieldSelect.svelte +#: src/lib/views/entity-config.ts msgid "Display as" msgstr "Onyesha kama" @@ -611,6 +642,11 @@ msgstr "Inapakua {0}..." msgid "Downloading..." msgstr "Inapakua..." +#. Dialog title when editing an existing custom view. +#: src/lib/views/custom/EditCustomViewDialog.svelte +msgid "Edit Custom View" +msgstr "Hariri Muonekano Binafsi" + #. Role selector option #: src/lib/admin-dialogs/GetProjectByCodeDialog.svelte msgid "Editor" @@ -642,7 +678,7 @@ msgstr "Ingizo" #: src/lib/entry-editor/EditEntryDialog.svelte #: src/lib/entry-editor/EntryOrSenseItemList.svelte #: src/lib/entry-editor/EntryOrSensePicker.svelte -#: src/lib/entry-editor/object-editors/EntryEditorPrimitive.svelte +#: src/lib/views/entity-config.ts #: src/project/browse/EntryMenu.svelte msgid "Entry" msgstr "Ingizo" @@ -687,6 +723,7 @@ msgstr "Hitilafu katika kupata hali ya kuoanisha." #. Labels example sentence/phrase section in entry editor #. Contains: sentence text, translation, source reference #: src/lib/entry-editor/object-editors/ObjectHeader.svelte +#: src/lib/views/entity-config.ts msgid "Example" msgstr "Mfano" @@ -742,6 +779,12 @@ msgstr "Maoni & Msaada" msgid "Field" msgstr "Sehemu" +#. Section label in custom view form. +#. Shows checkboxes to select which dictionary fields are visible (grouped by entry, sense, example). +#: src/lib/views/custom/CustomViewForm.svelte +msgid "Fields" +msgstr "Maeneo" + #. Product name #: src/project/sync/SyncStatusPrimitive.svelte msgid "FieldWorks Lite" @@ -755,6 +798,11 @@ msgstr "FieldWorks Lite imesasishwa kwa ufanisi. Tafadhali anzisha upya programu msgid "FieldWorks Lite users will automatically receive changes that were made in FieldWorks Classic. FieldWorks Classic users will see changes that were made in FieldWorks Lite after they do Send/Receive." msgstr "Watumiaji wa FieldWorks Lite watapokea otomatiki mabadiliko yaliyofanywa katika FieldWorks Classic. Watumiaji wa FieldWorks Classic watakuona mabadiliko yaliyofanywa katika FieldWorks Lite baada ya kufanya Tuma/Pokea." +#: src/lib/troubleshoot/TroubleshootDialog.svelte +#: src/lib/updates/UpdateDialog.svelte +msgid "FieldWorks Lite version" +msgstr "" + #. Alt text for FieldWorks logo image #: src/home/HomeView.svelte #: src/lib/components/OpenInFieldWorksButton.svelte @@ -882,8 +930,7 @@ msgstr "Pata msaada" #. Brief translation/equivalent (one word or short phrase) #. Different from "Definition" (longer explanation) #. Appears under each sense/meaning; concise translation -#: src/lib/entry-editor/object-editors/SenseEditorPrimitive.svelte -#: src/project/browse/filter/FieldSelect.svelte +#: src/lib/views/entity-config.ts msgid "Gloss" msgstr "Glosi" @@ -899,7 +946,7 @@ msgstr "Nenda kwa {0}" #. Relevant view: Classic #. Lite view equivalent: "Part of speech" #. Field label: grammatical category (noun, verb, adjective, etc.) -#: src/lib/entry-editor/object-editors/SenseEditorPrimitive.svelte +#: src/lib/views/entity-config.ts #: src/project/browse/SearchFilter.svelte msgid "Grammatical info." msgstr "Taarifa ya sarufi" @@ -996,16 +1043,14 @@ msgstr "Nembo ya Lexbox" #. Relevant view: Classic #. Lite view equivalent: "Word" #. Field label: the main headword/base form -#: src/lib/entry-editor/object-editors/EntryEditorPrimitive.svelte +#: src/lib/views/entity-config.ts msgid "Lexeme form" msgstr "Fomu ya Neno" -#. Relevant view: Classic -#. Lite view equivalent: "Word" -#. Filter option: narrow results by headword/base form -#: src/project/browse/filter/FieldSelect.svelte -msgid "Lexeme Form" -msgstr "Fomu ya Lexeme" +#: src/lib/entry-editor/NewEntryDialog.svelte +#: src/lib/views/custom/validation.ts +msgid "Lexeme form or Citation form is required" +msgstr "" #: src/lib/components/ThemePicker.svelte msgid "Light" @@ -1018,7 +1063,7 @@ msgstr "Hali ya orodha" #. Field name shown in advanced/classic view #. The literal meaning of the vernacular translated into the analysis language #. Contrasts with glosses/definitions in the analysis language -#: src/lib/entry-editor/object-editors/EntryEditorPrimitive.svelte +#: src/lib/views/entity-config.ts msgid "Literal meaning" msgstr "Maana halisi" @@ -1065,6 +1110,17 @@ msgstr "Tengeneza pendekezo" msgid "Make sure your [changes are synced]({0}) to Lexbox." msgstr "Hakikisha mabadiliko yako [yameoanishwa]({0}) kwa Lexbox." +#. Button label in view picker; opens the manage custom views dialog. +#. Only visible to project managers. +#: src/lib/views/custom/ManageCustomViewsButton.svelte +msgid "Manage custom views" +msgstr "Dhibiti mitazamo maalum" + +#. Dialog title for managing all custom views (create, edit, delete). +#: src/lib/views/custom/ManageCustomViewsDialog.svelte +msgid "Manage Custom Views" +msgstr "Dhibiti Mitazamo Maalum" + #: src/lib/admin-dialogs/GetProjectByCodeDialog.svelte msgid "Manager" msgstr "Msimamizi" @@ -1115,6 +1171,21 @@ msgstr "Hali" msgid "Move" msgstr "Sogeza" +#. Placeholder text in the name input of the custom view form. +#: src/lib/views/custom/CustomViewForm.svelte +msgid "My custom view..." +msgstr "Mtazamo wangu maalum..." + +#. Field label for the custom view name input. +#: src/lib/views/custom/CustomViewForm.svelte +msgid "Name" +msgstr "Jina" + +#. Validation error shown when the custom view name is empty. +#: src/lib/views/custom/validation.ts +msgid "Name is required" +msgstr "Jina linahitajika" + #: src/project/sync/FwLiteToFwMergeDetails.svelte #: src/project/sync/FwLiteToFwMergeDetails.svelte #: src/project/sync/SyncStatusPrimitive.svelte @@ -1125,6 +1196,11 @@ msgstr "Kamwe" msgid "New" msgstr "Mpya" +#. Button label in the manage custom views dialog; opens the create form. +#: src/lib/views/custom/ManageCustomViewsDialog.svelte +msgid "New Custom View" +msgstr "Mtazamo Mpya Uliobinafsishwa" + #: src/project/sync/FwLiteToFwMergeDetails.svelte msgid "New data" msgstr "Data mpya" @@ -1159,6 +1235,11 @@ msgstr "Hakuna shughuli iliyopatikana" msgid "No audio" msgstr "Hakuna sauti" +#. Empty state message in the manage custom views dialog when none exist. +#: src/lib/views/custom/ManageCustomViewsDialog.svelte +msgid "No custom views yet." +msgstr "Hakuna mitazamo maalum bado." + #: src/project/ProjectDropdown.svelte msgid "No Dictionaries found" msgstr "Hakuna kamusi iliyopatikana" @@ -1235,7 +1316,7 @@ msgstr "Haijaoanishwa" #. Field label #. General notes/remarks field in entry editor #. Unconstrained text for additional metadata/comments -#: src/lib/entry-editor/object-editors/EntryEditorPrimitive.svelte +#: src/lib/views/entity-config.ts msgid "Note" msgstr "Tanbihi" @@ -1312,14 +1393,14 @@ msgstr "Sehemu" #: src/lib/entry-editor/field-editors/ComplexFormComponents.svelte #: src/lib/entry-editor/field-editors/ComplexForms.svelte #: src/lib/entry-editor/field-editors/ComplexForms.svelte -#: src/lib/entry-editor/object-editors/EntryEditorPrimitive.svelte +#: src/lib/views/entity-config.ts msgid "Part of" msgstr "Sehemu ya" #. Relevant view: Lite #. Classic view equivalent: "Grammatical info." #. Field label: grammatical category (noun, verb, adjective, etc.) -#: src/lib/entry-editor/object-editors/SenseEditorPrimitive.svelte +#: src/lib/views/entity-config.ts #: src/project/browse/SearchFilter.svelte msgid "Part of speech" msgstr "Sehemu za mazungumzo" @@ -1386,15 +1467,24 @@ msgstr "Jina la mradi..." msgid "Publication" msgstr "" -#. Label for publication domain selector -#: src/lib/entry-editor/object-editors/EntryEditorPrimitive.svelte -msgid "Publish {0} in" -msgstr "Chapisha {0} ndani" +#. Relevant view: Classic +#. Lite view equivalent: "Publish Word in" +#. Field label: selects which publications an entry appears in. +#: src/lib/views/entity-config.ts +msgid "Publish Entry in" +msgstr "Chapisha Kuingia katika" + +#. Relevant view: Lite +#. Classic view equivalent: "Publish Entry in" +#. Field label: selects which publications a word appears in. +#: src/lib/views/entity-config.ts +msgid "Publish Word in" +msgstr "Chapisha Neno katika" #. Field label for citation source #. Source attribution for an example sentence (book title, page, URL, etc.) #. Identifies where the example was found/cited -#: src/lib/entry-editor/object-editors/ExampleEditorPrimitive.svelte +#: src/lib/views/entity-config.ts msgid "Reference" msgstr "Rejeleo" @@ -1465,6 +1555,11 @@ msgstr "Hifadhi Kama" msgid "Save audio" msgstr "Hifadhi sauti" +#. Submit button in the edit custom view dialog. +#: src/lib/views/custom/EditCustomViewDialog.svelte +msgid "Save View" +msgstr "Hifadhi Muonekano" + #. Search placeholder #: src/lib/entry-editor/EntryOrSensePicker.svelte msgid "Search # or #" @@ -1490,6 +1585,16 @@ msgstr "Chagua {0} kuona maelezo" msgid "Select a new task to work on" msgstr "Chagua jukumu jipya la kufanya" +#. Validation error when no analysis writing systems are selected in custom view form. +#: src/lib/views/custom/validation.ts +msgid "Select at least one analysis writing system" +msgstr "Chagua angalau mfumo mmoja wa uandishi wa uchambuzi." + +#. Validation error when no vernacular writing systems are selected in custom view form. +#: src/lib/views/custom/validation.ts +msgid "Select at least one vernacular writing system" +msgstr "Chagua angalau mfumo mmoja wa uandishi wa lugha ya kienyeji." + #. Dialog button #: src/lib/components/audio/audio-provider.svelte #: src/lib/components/audio/audio-provider.svelte @@ -1506,7 +1611,7 @@ msgstr "Kikoa cha kumkutania" #. Field label #. Assigns sense/meaning to semantic categories (e.g., word can belong to multiple domains) #. Appears under each Sense/Meaning; usually multiple selection allowed -#: src/lib/entry-editor/object-editors/SenseEditorPrimitive.svelte +#: src/lib/views/entity-config.ts msgid "Semantic domains" msgstr "Miji ya kumkutania" @@ -1522,13 +1627,14 @@ msgstr "Tuambii ujumbe" #: src/lib/entry-editor/object-editors/AddSenseFab.svelte #: src/lib/entry-editor/object-editors/EntryEditor.svelte #: src/lib/entry-editor/object-editors/ObjectHeader.svelte +#: src/lib/views/entity-config.ts msgid "Sense" msgstr "Kwa maana" #. Field label for example text #. The sentence/phrase text for an example (source text in original language) #. Paired with "Translation" field for translated version -#: src/lib/entry-editor/object-editors/ExampleEditorPrimitive.svelte +#: src/lib/views/entity-config.ts msgid "Sentence" msgstr "Sentensi" @@ -1605,7 +1711,7 @@ msgid "Subject does not have suitable object of type: {0}" msgstr "Kigezo hakina kitu kinachofaa cha aina: {0}" #. Button to confirm selection -#: src/lib/components/field-editors/multi-select.svelte +#: src/lib/components/SubmitOrCancel.svelte #: src/lib/components/field-editors/multi-select.svelte #: src/lib/components/field-editors/multi-select.svelte msgid "Submit" @@ -1761,10 +1867,10 @@ msgstr "Geuza iliyobandikwa" #. Field label #: src/lib/entry-editor/object-editors/ExampleEditorPrimitive.svelte +#: src/lib/views/entity-config.ts msgid "Translation" msgstr "Tafsiri" -#. Language-specific translation field #: src/lib/entry-editor/object-editors/ExampleEditorPrimitive.svelte msgid "Translation {0}" msgstr "Tafsiri {0}" @@ -1893,14 +1999,15 @@ msgid "Updates" msgstr "Masasisho" #. Field label -#: src/lib/entry-editor/object-editors/EntryEditorPrimitive.svelte +#: src/lib/views/entity-config.ts msgid "Uses components as" msgstr "Inatumia sehemu kama" -#. Version display -#: src/project/ProjectSidebar.svelte -msgid "Version {0}" -msgstr "Toleo {0}" +#. Section heading in custom view writing system picker. +#. Labels the vernacular language writing systems (the language being documented). +#: src/lib/views/custom/CustomViewWritingSystems.svelte +msgid "Vernacular" +msgstr "Kiswahili" #. Button label #: src/project/browse/ViewPicker.svelte @@ -1934,10 +2041,9 @@ msgstr "Neno" #: src/lib/entry-editor/EditEntryDialog.svelte #: src/lib/entry-editor/EntryOrSenseItemList.svelte #: src/lib/entry-editor/EntryOrSensePicker.svelte -#: src/lib/entry-editor/object-editors/EntryEditorPrimitive.svelte -#: src/lib/entry-editor/object-editors/EntryEditorPrimitive.svelte +#: src/lib/views/entity-config.ts +#: src/lib/views/entity-config.ts #: src/project/browse/EntryMenu.svelte -#: src/project/browse/filter/FieldSelect.svelte msgid "Word" msgstr "Neno" @@ -1948,6 +2054,11 @@ msgstr "Neno" msgid "Word only" msgstr "Neno tu" +#: src/lib/entry-editor/NewEntryDialog.svelte +#: src/lib/views/custom/validation.ts +msgid "Word or Display as is required" +msgstr "" + #. Relevant view: Lite #. Classic view equivalent: "Entry or sense:" #. Label for picker: allows selecting word-level or meaning-level link @@ -1964,6 +2075,12 @@ msgstr "Mfumo wa Kuandika" msgid "Writing system: {0}" msgstr "Mfumo wa kuandika: {0}" +#. Section label in custom view form. +#. Configures which vernacular and analysis writing systems are shown. +#: src/lib/views/custom/CustomViewForm.svelte +msgid "Writing systems" +msgstr "Mifumo ya uandishi" + #. Filter section title #: src/project/browse/filter/WsSelect.svelte msgid "Writing Systems" diff --git a/frontend/viewer/src/locales/vi.po b/frontend/viewer/src/locales/vi.po index 23fd9276de..8d36190a59 100644 --- a/frontend/viewer/src/locales/vi.po +++ b/frontend/viewer/src/locales/vi.po @@ -8,7 +8,7 @@ msgstr "" "Language: vi\n" "Project-Id-Version: language-depot\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-02-11 13:37\n" +"PO-Revision-Date: 2026-04-08 08:00\n" "Last-Translator: \n" "Language-Team: Vietnamese\n" "Plural-Forms: nplurals=1; plural=0;\n" @@ -178,6 +178,12 @@ msgstr "Thêm Ý nghĩa (sense)" msgid "Add Word" msgstr "Thêm Từ" +#. Radio option in custom view writing system picker. +#. Includes all writing systems (no filtering). +#: src/lib/views/custom/CustomViewWritingSystems.svelte +msgid "All" +msgstr "Tất cả" + #. Relevant view: Classic #. Lite view equivalent: "a word" #. Placeholder/suggestion in search field @@ -185,6 +191,12 @@ msgstr "Thêm Từ" msgid "an entry" msgstr "một mục" +#. Section heading in custom view writing system picker. +#. Labels the analysis language writing systems (e.g., English definitions/glosses). +#: src/lib/views/custom/CustomViewWritingSystems.svelte +msgid "Analysis" +msgstr "Phân tích" + #. Relevant view: Classic #. Lite view equivalent: "Any part of speech" #. Filter option: clear grammatical info filter @@ -220,12 +232,6 @@ msgstr "Bất kỳ miền ngữ nghĩa nào" msgid "Any Ws" msgstr "Bất kỳ hệ chữ nào" -#. Field label -#: src/lib/troubleshoot/TroubleshootDialog.svelte -#: src/lib/updates/UpdateDialog.svelte -msgid "Application version" -msgstr "Phiên bản ứng dụng" - #. Confirmation prompt #: src/lib/entry-editor/DeleteDialog.svelte msgid "Are you sure you want to delete {0}?" @@ -266,6 +272,18 @@ msgstr "Tự động" msgid "Auto syncing" msgstr "Đang đồng bộ tự động" +#. Section label in custom view form. +#. Selects the base view preset (Classic or Lite) that the custom view inherits from. +#: src/lib/views/custom/CustomViewForm.svelte +msgid "Based on" +msgstr "Dựa trên" + +#. Subtitle under each custom view in the manage dialog. +#. {0} = name of the base view preset (e.g., "FieldWorks Lite" or "FieldWorks Classic"). +#: src/lib/views/custom/ManageCustomViewsDialog.svelte +msgid "Based on {0}" +msgstr "Dựa trên {0}" + #. Sort option #: src/project/browse/sort/SortMenu.svelte msgid "Best match" @@ -286,12 +304,12 @@ msgstr "Duyệt" #. Synonyms across UI: "Don't delete" (Delete dialog), "Close" (About dialog) #. Keep translation brief (3-4 chars in some languages) to fit button layout #: src/lib/admin-dialogs/GetProjectByCodeDialog.svelte +#: src/lib/components/SubmitOrCancel.svelte #: src/lib/components/audio/AudioDialog.svelte -#: src/lib/components/field-editors/multi-select.svelte #: src/lib/components/field-editors/select.svelte #: src/lib/entry-editor/EditEntryDialog.svelte -#: src/lib/entry-editor/EntryOrSensePicker.svelte #: src/lib/entry-editor/NewEntryDialog.svelte +#: src/lib/views/custom/CustomViewForm.svelte msgid "Cancel" msgstr "Hủy" @@ -318,17 +336,10 @@ msgstr "Chọn chủ đề" #. Relevant view: Classic #. Lite view equivalent: "Display as" #. Field label: form for citing in dictionary -#: src/lib/entry-editor/object-editors/EntryEditorPrimitive.svelte +#: src/lib/views/entity-config.ts msgid "Citation form" msgstr "Hình thức trích dẫn" -#. Relevant view: Classic -#. Lite view equivalent: "Display as" -#. Filter option: narrow by citation form -#: src/project/browse/filter/FieldSelect.svelte -msgid "Citation Form" -msgstr "Hình thức trích dẫn" - #. Section header for projects from FieldWorks #: src/home/HomeView.svelte msgid "Classic FieldWorks Projects" @@ -369,7 +380,7 @@ msgstr "Mẫu phức tạp" #. Field label #. Classifies the type of complex form relationship (user-configurable) #. Examples: "compound", "derivative", "inflectional" (varies by project) -#: src/lib/entry-editor/object-editors/EntryEditorPrimitive.svelte +#: src/lib/views/entity-config.ts msgid "Complex form types" msgstr "Loại mẫu phức tạp" @@ -379,7 +390,7 @@ msgid "Complex form:" msgstr "Mẫu phức tạp:" #. Field label -#: src/lib/entry-editor/object-editors/EntryEditorPrimitive.svelte +#: src/lib/views/entity-config.ts msgid "Complex forms" msgstr "Các mẫu phức tạp" @@ -400,7 +411,7 @@ msgid "Component:" msgstr "Thành phần:" #. Field label -#: src/lib/entry-editor/object-editors/EntryEditorPrimitive.svelte +#: src/lib/views/entity-config.ts msgid "Components" msgstr "Các thành phần" @@ -421,6 +432,11 @@ msgstr "Đã sao chép vào khay nhớ tạm" msgid "Copy version" msgstr "Sao chép phiên bản" +#. Dialog title when creating a new custom view. +#: src/lib/views/custom/CreateCustomViewDialog.svelte +msgid "Create Custom View" +msgstr "Tạo chế độ xem tùy chỉnh" + #. Button label (view-dependent: "Create entry" in Classic, "Add new word" in Lite) #: src/lib/entry-editor/NewEntryButton.svelte msgid "Create entry" @@ -438,6 +454,11 @@ msgstr "Tạo mục" msgid "Create Example Project" msgstr "Tạo Dự án ví dụ" +#. Submit button in the create custom view dialog. +#: src/lib/views/custom/CreateCustomViewDialog.svelte +msgid "Create View" +msgstr "Tạo chế độ xem" + #. Relevant view: Classic #. Lite view equivalent: "Current Word" #. Label in picker: marks the entry that is currently being edited @@ -459,6 +480,17 @@ msgstr "Phiên bản hiện tại" msgid "Current Word" msgstr "Từ hiện tại" +#. Radio option in custom view writing system picker. +#. Enables manual selection of individual writing systems. +#: src/lib/views/custom/CustomViewWritingSystems.svelte +msgid "Custom" +msgstr "Tùy chỉnh" + +#. Label used in delete confirmation prompt for a custom view. +#: src/lib/views/custom/ManageCustomViewsDialog.svelte +msgid "Custom view" +msgstr "Chế độ xem tùy chỉnh" + #. Theme option #: src/lib/components/ThemePicker.svelte msgid "Dark" @@ -477,7 +509,7 @@ msgstr "Thư mục dữ liệu" #. Field label #. Definition for a sense/meaning (e.g., "bank" = "financial institution") #. Appears under each Sense/Meaning in entry editor -#: src/lib/entry-editor/object-editors/SenseEditorPrimitive.svelte +#: src/lib/views/entity-config.ts msgid "Definition" msgstr "Định nghĩa" @@ -543,8 +575,7 @@ msgstr "Bỏ" #. Relevant view: Lite #. Classic view equivalent: "Citation Form" #. Lexicography term: choose which form of the entry to display -#: src/lib/entry-editor/object-editors/EntryEditorPrimitive.svelte -#: src/project/browse/filter/FieldSelect.svelte +#: src/lib/views/entity-config.ts msgid "Display as" msgstr "Hiển thị dưới dạng" @@ -611,6 +642,11 @@ msgstr "Đang tải xuống {0}..." msgid "Downloading..." msgstr "Đang tải xuống..." +#. Dialog title when editing an existing custom view. +#: src/lib/views/custom/EditCustomViewDialog.svelte +msgid "Edit Custom View" +msgstr "Chỉnh sửa chế độ xem tùy chỉnh" + #. Role selector option #: src/lib/admin-dialogs/GetProjectByCodeDialog.svelte msgid "Editor" @@ -642,7 +678,7 @@ msgstr "nhập" #: src/lib/entry-editor/EditEntryDialog.svelte #: src/lib/entry-editor/EntryOrSenseItemList.svelte #: src/lib/entry-editor/EntryOrSensePicker.svelte -#: src/lib/entry-editor/object-editors/EntryEditorPrimitive.svelte +#: src/lib/views/entity-config.ts #: src/project/browse/EntryMenu.svelte msgid "Entry" msgstr "Mục" @@ -687,6 +723,7 @@ msgstr "Lỗi khi lấy trạng thái đồng bộ." #. Labels example sentence/phrase section in entry editor #. Contains: sentence text, translation, source reference #: src/lib/entry-editor/object-editors/ObjectHeader.svelte +#: src/lib/views/entity-config.ts msgid "Example" msgstr "Ví dụ" @@ -742,6 +779,12 @@ msgstr "Phản hồi & Hỗ trợ" msgid "Field" msgstr "Trường" +#. Section label in custom view form. +#. Shows checkboxes to select which dictionary fields are visible (grouped by entry, sense, example). +#: src/lib/views/custom/CustomViewForm.svelte +msgid "Fields" +msgstr "Các trường" + #. Product name #: src/project/sync/SyncStatusPrimitive.svelte msgid "FieldWorks Lite" @@ -755,6 +798,11 @@ msgstr "FieldWorks Lite đã được cập nhật thành công. Vui lòng khở msgid "FieldWorks Lite users will automatically receive changes that were made in FieldWorks Classic. FieldWorks Classic users will see changes that were made in FieldWorks Lite after they do Send/Receive." msgstr "Người dùng FieldWorks Lite sẽ tự động nhận các thay đổi được thực hiện trong FieldWorks Classic. Người dùng FieldWorks Classic sẽ thấy các thay đổi từ FieldWorks Lite sau khi họ thực hiện Gửi/Nhận." +#: src/lib/troubleshoot/TroubleshootDialog.svelte +#: src/lib/updates/UpdateDialog.svelte +msgid "FieldWorks Lite version" +msgstr "Phiên bản FieldWorks Lite" + #. Alt text for FieldWorks logo image #: src/home/HomeView.svelte #: src/lib/components/OpenInFieldWorksButton.svelte @@ -882,8 +930,7 @@ msgstr "Nhận hỗ trợ" #. Brief translation/equivalent (one word or short phrase) #. Different from "Definition" (longer explanation) #. Appears under each sense/meaning; concise translation -#: src/lib/entry-editor/object-editors/SenseEditorPrimitive.svelte -#: src/project/browse/filter/FieldSelect.svelte +#: src/lib/views/entity-config.ts msgid "Gloss" msgstr "Ghi chú" @@ -899,7 +946,7 @@ msgstr "Đi tới {0}" #. Relevant view: Classic #. Lite view equivalent: "Part of speech" #. Field label: grammatical category (noun, verb, adjective, etc.) -#: src/lib/entry-editor/object-editors/SenseEditorPrimitive.svelte +#: src/lib/views/entity-config.ts #: src/project/browse/SearchFilter.svelte msgid "Grammatical info." msgstr "Thông tin ngữ pháp." @@ -996,16 +1043,14 @@ msgstr "Logo Lexbox" #. Relevant view: Classic #. Lite view equivalent: "Word" #. Field label: the main headword/base form -#: src/lib/entry-editor/object-editors/EntryEditorPrimitive.svelte +#: src/lib/views/entity-config.ts msgid "Lexeme form" msgstr "Hình thức lexeme" -#. Relevant view: Classic -#. Lite view equivalent: "Word" -#. Filter option: narrow results by headword/base form -#: src/project/browse/filter/FieldSelect.svelte -msgid "Lexeme Form" -msgstr "Hình thức lexeme" +#: src/lib/entry-editor/NewEntryDialog.svelte +#: src/lib/views/custom/validation.ts +msgid "Lexeme form or Citation form is required" +msgstr "Hình thức từ vựng hoặc Hình thức trích dẫn là bắt buộc." #: src/lib/components/ThemePicker.svelte msgid "Light" @@ -1018,7 +1063,7 @@ msgstr "Chế độ danh sách" #. Field name shown in advanced/classic view #. The literal meaning of the vernacular translated into the analysis language #. Contrasts with glosses/definitions in the analysis language -#: src/lib/entry-editor/object-editors/EntryEditorPrimitive.svelte +#: src/lib/views/entity-config.ts msgid "Literal meaning" msgstr "Ý nghĩa đen" @@ -1065,6 +1110,17 @@ msgstr "Gợi ý" msgid "Make sure your [changes are synced]({0}) to Lexbox." msgstr "Hãy đảm bảo [các thay đổi của bạn đã được đồng bộ]({0}) với Lexbox." +#. Button label in view picker; opens the manage custom views dialog. +#. Only visible to project managers. +#: src/lib/views/custom/ManageCustomViewsButton.svelte +msgid "Manage custom views" +msgstr "Quản lý các chế độ xem tùy chỉnh" + +#. Dialog title for managing all custom views (create, edit, delete). +#: src/lib/views/custom/ManageCustomViewsDialog.svelte +msgid "Manage Custom Views" +msgstr "Quản lý chế độ xem tùy chỉnh" + #: src/lib/admin-dialogs/GetProjectByCodeDialog.svelte msgid "Manager" msgstr "Quản lý" @@ -1115,6 +1171,21 @@ msgstr "Chế độ" msgid "Move" msgstr "Di chuyển" +#. Placeholder text in the name input of the custom view form. +#: src/lib/views/custom/CustomViewForm.svelte +msgid "My custom view..." +msgstr "Giao diện tùy chỉnh của tôi..." + +#. Field label for the custom view name input. +#: src/lib/views/custom/CustomViewForm.svelte +msgid "Name" +msgstr "Tên" + +#. Validation error shown when the custom view name is empty. +#: src/lib/views/custom/validation.ts +msgid "Name is required" +msgstr "Tên là trường thông tin bắt buộc" + #: src/project/sync/FwLiteToFwMergeDetails.svelte #: src/project/sync/FwLiteToFwMergeDetails.svelte #: src/project/sync/SyncStatusPrimitive.svelte @@ -1125,6 +1196,11 @@ msgstr "Không bao giờ" msgid "New" msgstr "Mới" +#. Button label in the manage custom views dialog; opens the create form. +#: src/lib/views/custom/ManageCustomViewsDialog.svelte +msgid "New Custom View" +msgstr "Chế độ xem tùy chỉnh mới" + #: src/project/sync/FwLiteToFwMergeDetails.svelte msgid "New data" msgstr "Dữ liệu mới" @@ -1159,6 +1235,11 @@ msgstr "Không tìm thấy hoạt động" msgid "No audio" msgstr "Không có âm thanh" +#. Empty state message in the manage custom views dialog when none exist. +#: src/lib/views/custom/ManageCustomViewsDialog.svelte +msgid "No custom views yet." +msgstr "Chưa có chế độ xem tùy chỉnh nào." + #: src/project/ProjectDropdown.svelte msgid "No Dictionaries found" msgstr "Không tìm thấy từ điển nào" @@ -1235,7 +1316,7 @@ msgstr "Chưa đồng bộ" #. Field label #. General notes/remarks field in entry editor #. Unconstrained text for additional metadata/comments -#: src/lib/entry-editor/object-editors/EntryEditorPrimitive.svelte +#: src/lib/views/entity-config.ts msgid "Note" msgstr "Ghi chú" @@ -1312,14 +1393,14 @@ msgstr "Phần" #: src/lib/entry-editor/field-editors/ComplexFormComponents.svelte #: src/lib/entry-editor/field-editors/ComplexForms.svelte #: src/lib/entry-editor/field-editors/ComplexForms.svelte -#: src/lib/entry-editor/object-editors/EntryEditorPrimitive.svelte +#: src/lib/views/entity-config.ts msgid "Part of" msgstr "Một phần của" #. Relevant view: Lite #. Classic view equivalent: "Grammatical info." #. Field label: grammatical category (noun, verb, adjective, etc.) -#: src/lib/entry-editor/object-editors/SenseEditorPrimitive.svelte +#: src/lib/views/entity-config.ts #: src/project/browse/SearchFilter.svelte msgid "Part of speech" msgstr "Loại từ" @@ -1386,15 +1467,24 @@ msgstr "Tên dự án..." msgid "Publication" msgstr "Phát hành" -#. Label for publication domain selector -#: src/lib/entry-editor/object-editors/EntryEditorPrimitive.svelte -msgid "Publish {0} in" -msgstr "Xuất bản {0} trong" +#. Relevant view: Classic +#. Lite view equivalent: "Publish Word in" +#. Field label: selects which publications an entry appears in. +#: src/lib/views/entity-config.ts +msgid "Publish Entry in" +msgstr "Đăng bài viết trong" + +#. Relevant view: Lite +#. Classic view equivalent: "Publish Entry in" +#. Field label: selects which publications a word appears in. +#: src/lib/views/entity-config.ts +msgid "Publish Word in" +msgstr "Xuất bản Word dưới dạng" #. Field label for citation source #. Source attribution for an example sentence (book title, page, URL, etc.) #. Identifies where the example was found/cited -#: src/lib/entry-editor/object-editors/ExampleEditorPrimitive.svelte +#: src/lib/views/entity-config.ts msgid "Reference" msgstr "Tham chiếu" @@ -1465,6 +1555,11 @@ msgstr "Lưu thành" msgid "Save audio" msgstr "Lưu âm thanh" +#. Submit button in the edit custom view dialog. +#: src/lib/views/custom/EditCustomViewDialog.svelte +msgid "Save View" +msgstr "Lưu chế độ xem" + #. Search placeholder #: src/lib/entry-editor/EntryOrSensePicker.svelte msgid "Search # or #" @@ -1490,6 +1585,16 @@ msgstr "Chọn {0} để xem chi tiết" msgid "Select a new task to work on" msgstr "Chọn nhiệm vụ mới để thực hiện" +#. Validation error when no analysis writing systems are selected in custom view form. +#: src/lib/views/custom/validation.ts +msgid "Select at least one analysis writing system" +msgstr "Chọn ít nhất một hệ thống viết bài phân tích" + +#. Validation error when no vernacular writing systems are selected in custom view form. +#: src/lib/views/custom/validation.ts +msgid "Select at least one vernacular writing system" +msgstr "Chọn ít nhất một hệ thống chữ viết bản địa" + #. Dialog button #: src/lib/components/audio/audio-provider.svelte #: src/lib/components/audio/audio-provider.svelte @@ -1506,7 +1611,7 @@ msgstr "Miền ngữ nghĩa" #. Field label #. Assigns sense/meaning to semantic categories (e.g., word can belong to multiple domains) #. Appears under each Sense/Meaning; usually multiple selection allowed -#: src/lib/entry-editor/object-editors/SenseEditorPrimitive.svelte +#: src/lib/views/entity-config.ts msgid "Semantic domains" msgstr "Các miền ngữ nghĩa" @@ -1522,13 +1627,14 @@ msgstr "Gửi cho chúng tôi một tin nhắn" #: src/lib/entry-editor/object-editors/AddSenseFab.svelte #: src/lib/entry-editor/object-editors/EntryEditor.svelte #: src/lib/entry-editor/object-editors/ObjectHeader.svelte +#: src/lib/views/entity-config.ts msgid "Sense" msgstr "Ý nghĩa (sense)" #. Field label for example text #. The sentence/phrase text for an example (source text in original language) #. Paired with "Translation" field for translated version -#: src/lib/entry-editor/object-editors/ExampleEditorPrimitive.svelte +#: src/lib/views/entity-config.ts msgid "Sentence" msgstr "Câu" @@ -1605,7 +1711,7 @@ msgid "Subject does not have suitable object of type: {0}" msgstr "Chủ đề không có đối tượng phù hợp loại: {0}" #. Button to confirm selection -#: src/lib/components/field-editors/multi-select.svelte +#: src/lib/components/SubmitOrCancel.svelte #: src/lib/components/field-editors/multi-select.svelte #: src/lib/components/field-editors/multi-select.svelte msgid "Submit" @@ -1761,10 +1867,10 @@ msgstr "Chuyển trạng thái ghim" #. Field label #: src/lib/entry-editor/object-editors/ExampleEditorPrimitive.svelte +#: src/lib/views/entity-config.ts msgid "Translation" msgstr "Bản dịch" -#. Language-specific translation field #: src/lib/entry-editor/object-editors/ExampleEditorPrimitive.svelte msgid "Translation {0}" msgstr "Bản dịch {0}" @@ -1893,14 +1999,15 @@ msgid "Updates" msgstr "Cập nhật" #. Field label -#: src/lib/entry-editor/object-editors/EntryEditorPrimitive.svelte +#: src/lib/views/entity-config.ts msgid "Uses components as" msgstr "Sử dụng các thành phần như" -#. Version display -#: src/project/ProjectSidebar.svelte -msgid "Version {0}" -msgstr "Phiên bản {0}" +#. Section heading in custom view writing system picker. +#. Labels the vernacular language writing systems (the language being documented). +#: src/lib/views/custom/CustomViewWritingSystems.svelte +msgid "Vernacular" +msgstr "Tiếng địa phương" #. Button label #: src/project/browse/ViewPicker.svelte @@ -1934,10 +2041,9 @@ msgstr "từ" #: src/lib/entry-editor/EditEntryDialog.svelte #: src/lib/entry-editor/EntryOrSenseItemList.svelte #: src/lib/entry-editor/EntryOrSensePicker.svelte -#: src/lib/entry-editor/object-editors/EntryEditorPrimitive.svelte -#: src/lib/entry-editor/object-editors/EntryEditorPrimitive.svelte +#: src/lib/views/entity-config.ts +#: src/lib/views/entity-config.ts #: src/project/browse/EntryMenu.svelte -#: src/project/browse/filter/FieldSelect.svelte msgid "Word" msgstr "Từ" @@ -1948,6 +2054,11 @@ msgstr "Từ" msgid "Word only" msgstr "Chỉ từ" +#: src/lib/entry-editor/NewEntryDialog.svelte +#: src/lib/views/custom/validation.ts +msgid "Word or Display as is required" +msgstr "Hiển thị hoặc hiển thị theo yêu cầu." + #. Relevant view: Lite #. Classic view equivalent: "Entry or sense:" #. Label for picker: allows selecting word-level or meaning-level link @@ -1964,6 +2075,12 @@ msgstr "Hệ chữ" msgid "Writing system: {0}" msgstr "Hệ chữ: {0}" +#. Section label in custom view form. +#. Configures which vernacular and analysis writing systems are shown. +#: src/lib/views/custom/CustomViewForm.svelte +msgid "Writing systems" +msgstr "Hệ thống chữ viết" + #. Filter section title #: src/project/browse/filter/WsSelect.svelte msgid "Writing Systems"