From 5a602d31f7050aeb488314cd2d013100d889eb5b Mon Sep 17 00:00:00 2001 From: Tim Haasdyk Date: Tue, 24 Feb 2026 09:43:34 +0100 Subject: [PATCH 01/60] Update source file en.po --- frontend/viewer/src/locales/en.po | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/frontend/viewer/src/locales/en.po b/frontend/viewer/src/locales/en.po index 4c57dcb0b9..ff12c0d405 100644 --- a/frontend/viewer/src/locales/en.po +++ b/frontend/viewer/src/locales/en.po @@ -476,6 +476,10 @@ msgstr "Data Directory" msgid "Definition" msgstr "Definition" +#: src/lib/entry-editor/NewEntryDialog.svelte +msgid "Definition or Gloss is required" +msgstr "Definition or Gloss is required" + #. Button to delete project from local list #. Appears in project card; removes local project cache (not server copy) #. Action: Prompts confirmation, frees up local storage @@ -1002,6 +1006,10 @@ msgstr "Lexeme form" msgid "Lexeme Form" msgstr "Lexeme Form" +#: src/lib/entry-editor/NewEntryDialog.svelte +msgid "Lexeme form or Citation form is required" +msgstr "Lexeme form or Citation form is required" + #: src/lib/components/ThemePicker.svelte msgid "Light" msgstr "Light" @@ -1943,6 +1951,10 @@ msgstr "Word" msgid "Word only" msgstr "Word only" +#: src/lib/entry-editor/NewEntryDialog.svelte +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 From 7e6124e24e8bc890ce0a5fed47321ff1cebc468c Mon Sep 17 00:00:00 2001 From: Tim Haasdyk Date: Tue, 24 Feb 2026 09:43:37 +0100 Subject: [PATCH 02/60] New translations en.po (French) --- frontend/viewer/src/locales/fr.po | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/frontend/viewer/src/locales/fr.po b/frontend/viewer/src/locales/fr.po index a210de89cb..e69d698a0d 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-02-24 08:43\n" "Last-Translator: \n" "Language-Team: French\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" @@ -481,6 +481,10 @@ msgstr "Répertoire de données" msgid "Definition" msgstr "Définition" +#: src/lib/entry-editor/NewEntryDialog.svelte +msgid "Definition or Gloss is required" +msgstr "Définition ou Glose est nécessaire" + #. Button to delete project from local list #. Appears in project card; removes local project cache (not server copy) #. Action: Prompts confirmation, frees up local storage @@ -1007,6 +1011,10 @@ msgstr "Forme de lexème" msgid "Lexeme Form" msgstr "Forme de lexème" +#: src/lib/entry-editor/NewEntryDialog.svelte +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" msgstr "Lumière" @@ -1948,6 +1956,10 @@ msgstr "Mot" msgid "Word only" msgstr "Mot seulement" +#: src/lib/entry-editor/NewEntryDialog.svelte +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 From 81061da1757fd5483fe8416794c2b8c8fee57e8b Mon Sep 17 00:00:00 2001 From: Tim Haasdyk Date: Tue, 24 Feb 2026 09:43:38 +0100 Subject: [PATCH 03/60] New translations en.po (Spanish) --- frontend/viewer/src/locales/es.po | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/frontend/viewer/src/locales/es.po b/frontend/viewer/src/locales/es.po index 7e21cb48ba..cb9109c188 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-02-24 08:43\n" "Last-Translator: \n" "Language-Team: Spanish\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -481,6 +481,10 @@ msgstr "Directorio de datos" msgid "Definition" msgstr "Definición" +#: src/lib/entry-editor/NewEntryDialog.svelte +msgid "Definition or Gloss is required" +msgstr "Se requiere definición o brillo" + #. Button to delete project from local list #. Appears in project card; removes local project cache (not server copy) #. Action: Prompts confirmation, frees up local storage @@ -1007,6 +1011,10 @@ msgstr "Forma del lexema" msgid "Lexeme Form" msgstr "Forma del lexema" +#: src/lib/entry-editor/NewEntryDialog.svelte +msgid "Lexeme form or Citation form is required" +msgstr "Formulario de Lexema o Citación es requerido" + #: src/lib/components/ThemePicker.svelte msgid "Light" msgstr "Claro" @@ -1948,6 +1956,10 @@ msgstr "Palabra" msgid "Word only" msgstr "Sólo palabras" +#: src/lib/entry-editor/NewEntryDialog.svelte +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 From 85f164237359cf3cd6ea99aebf4edf98fd27dc7a Mon Sep 17 00:00:00 2001 From: Tim Haasdyk Date: Tue, 24 Feb 2026 09:43:40 +0100 Subject: [PATCH 04/60] New translations en.po (Korean) --- frontend/viewer/src/locales/ko.po | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/frontend/viewer/src/locales/ko.po b/frontend/viewer/src/locales/ko.po index 66f7bad5da..f2a8b74508 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-02-24 08:43\n" "Last-Translator: \n" "Language-Team: Korean\n" "Plural-Forms: nplurals=1; plural=0;\n" @@ -481,6 +481,10 @@ msgstr "데이터 디렉토리" msgid "Definition" msgstr "정의" +#: src/lib/entry-editor/NewEntryDialog.svelte +msgid "Definition or Gloss is required" +msgstr "정의 또는 광택이 필요합니다." + #. Button to delete project from local list #. Appears in project card; removes local project cache (not server copy) #. Action: Prompts confirmation, frees up local storage @@ -1007,6 +1011,10 @@ msgstr "Lexeme 양식" msgid "Lexeme Form" msgstr "Lexeme 양식" +#: src/lib/entry-editor/NewEntryDialog.svelte +msgid "Lexeme form or Citation form is required" +msgstr "Lexeme 양식 또는 인용 양식이 필요합니다." + #: src/lib/components/ThemePicker.svelte msgid "Light" msgstr "빛" @@ -1948,6 +1956,10 @@ msgstr "Word" msgid "Word only" msgstr "단어 전용" +#: src/lib/entry-editor/NewEntryDialog.svelte +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 From bd3a754376a305e959619b16e0d76ea449f5300d Mon Sep 17 00:00:00 2001 From: Tim Haasdyk Date: Tue, 24 Feb 2026 09:43:41 +0100 Subject: [PATCH 05/60] New translations en.po (Vietnamese) --- frontend/viewer/src/locales/vi.po | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/frontend/viewer/src/locales/vi.po b/frontend/viewer/src/locales/vi.po index 23fd9276de..039475bab6 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-02-24 08:43\n" "Last-Translator: \n" "Language-Team: Vietnamese\n" "Plural-Forms: nplurals=1; plural=0;\n" @@ -481,6 +481,10 @@ msgstr "Thư mục dữ liệu" msgid "Definition" msgstr "Định nghĩa" +#: src/lib/entry-editor/NewEntryDialog.svelte +msgid "Definition or Gloss is required" +msgstr "Cần định nghĩa hoặc giải thích." + #. Button to delete project from local list #. Appears in project card; removes local project cache (not server copy) #. Action: Prompts confirmation, frees up local storage @@ -1007,6 +1011,10 @@ msgstr "Hình thức lexeme" msgid "Lexeme Form" msgstr "Hình thức lexeme" +#: src/lib/entry-editor/NewEntryDialog.svelte +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" msgstr "Sáng" @@ -1948,6 +1956,10 @@ msgstr "Từ" msgid "Word only" msgstr "Chỉ từ" +#: src/lib/entry-editor/NewEntryDialog.svelte +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 From abc20381a431f9fd5326467f0c84b831798902d8 Mon Sep 17 00:00:00 2001 From: Tim Haasdyk Date: Tue, 24 Feb 2026 09:43:43 +0100 Subject: [PATCH 06/60] New translations en.po (Indonesian) --- frontend/viewer/src/locales/id.po | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/frontend/viewer/src/locales/id.po b/frontend/viewer/src/locales/id.po index 80ec58a581..97c1335d27 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-02-24 08:43\n" "Last-Translator: \n" "Language-Team: Indonesian\n" "Plural-Forms: nplurals=1; plural=0;\n" @@ -481,6 +481,10 @@ msgstr "Direktori Data" msgid "Definition" msgstr "Definisi" +#: src/lib/entry-editor/NewEntryDialog.svelte +msgid "Definition or Gloss is required" +msgstr "Definisi atau Gloss diperlukan" + #. Button to delete project from local list #. Appears in project card; removes local project cache (not server copy) #. Action: Prompts confirmation, frees up local storage @@ -1007,6 +1011,10 @@ msgstr "Bentuk leksem" msgid "Lexeme Form" msgstr "Bentuk Leksem" +#: src/lib/entry-editor/NewEntryDialog.svelte +msgid "Lexeme form or Citation form is required" +msgstr "Bentuk leksem atau bentuk Kutipan diperlukan" + #: src/lib/components/ThemePicker.svelte msgid "Light" msgstr "Cahaya" @@ -1948,6 +1956,10 @@ msgstr "Kata" msgid "Word only" msgstr "Hanya kata" +#: src/lib/entry-editor/NewEntryDialog.svelte +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 From 0670e12f4ac28e5fcde92729c002d4825ee7e799 Mon Sep 17 00:00:00 2001 From: Tim Haasdyk Date: Tue, 24 Feb 2026 09:43:44 +0100 Subject: [PATCH 07/60] New translations en.po (Malay) --- frontend/viewer/src/locales/ms.po | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/frontend/viewer/src/locales/ms.po b/frontend/viewer/src/locales/ms.po index ed11b09346..6dfcef48e2 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-02-24 08:43\n" "Last-Translator: \n" "Language-Team: Malay\n" "Plural-Forms: nplurals=1; plural=0;\n" @@ -481,6 +481,10 @@ msgstr "Direktori Data" msgid "Definition" msgstr "Definisi" +#: src/lib/entry-editor/NewEntryDialog.svelte +msgid "Definition or Gloss is required" +msgstr "" + #. Button to delete project from local list #. Appears in project card; removes local project cache (not server copy) #. Action: Prompts confirmation, frees up local storage @@ -1007,6 +1011,10 @@ msgstr "Bentuk leksem" msgid "Lexeme Form" msgstr "Bentuk Leksem" +#: src/lib/entry-editor/NewEntryDialog.svelte +msgid "Lexeme form or Citation form is required" +msgstr "" + #: src/lib/components/ThemePicker.svelte msgid "Light" msgstr "Terang" @@ -1948,6 +1956,10 @@ msgstr "Perkataan" msgid "Word only" msgstr "Perkataan sahaja" +#: src/lib/entry-editor/NewEntryDialog.svelte +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 From 97c20f5f2a029f5ddf46ff7e48937171c081c88e Mon Sep 17 00:00:00 2001 From: Tim Haasdyk Date: Tue, 24 Feb 2026 09:43:45 +0100 Subject: [PATCH 08/60] New translations en.po (Swahili) --- frontend/viewer/src/locales/sw.po | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/frontend/viewer/src/locales/sw.po b/frontend/viewer/src/locales/sw.po index 6d63a389f6..304f9f2013 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-02-24 08:43\n" "Last-Translator: \n" "Language-Team: Swahili\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -481,6 +481,10 @@ msgstr "Faharasa ya Data" msgid "Definition" msgstr "Maana" +#: src/lib/entry-editor/NewEntryDialog.svelte +msgid "Definition or Gloss is required" +msgstr "" + #. Button to delete project from local list #. Appears in project card; removes local project cache (not server copy) #. Action: Prompts confirmation, frees up local storage @@ -1007,6 +1011,10 @@ msgstr "Fomu ya Neno" msgid "Lexeme Form" msgstr "Fomu ya Lexeme" +#: src/lib/entry-editor/NewEntryDialog.svelte +msgid "Lexeme form or Citation form is required" +msgstr "" + #: src/lib/components/ThemePicker.svelte msgid "Light" msgstr "Mwanga" @@ -1948,6 +1956,10 @@ msgstr "Neno" msgid "Word only" msgstr "Neno tu" +#: src/lib/entry-editor/NewEntryDialog.svelte +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 From dafe410e773635b6fd57e24894863ee492fb45b5 Mon Sep 17 00:00:00 2001 From: Tim Haasdyk Date: Fri, 6 Mar 2026 16:32:26 +0100 Subject: [PATCH 09/60] Update source file en.po --- frontend/viewer/src/locales/en.po | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/frontend/viewer/src/locales/en.po b/frontend/viewer/src/locales/en.po index ff12c0d405..b471a8d9bf 100644 --- a/frontend/viewer/src/locales/en.po +++ b/frontend/viewer/src/locales/en.po @@ -281,11 +281,10 @@ 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 msgid "Cancel" msgstr "Cancel" @@ -476,10 +475,6 @@ msgstr "Data Directory" msgid "Definition" msgstr "Definition" -#: src/lib/entry-editor/NewEntryDialog.svelte -msgid "Definition or Gloss is required" -msgstr "Definition or Gloss is required" - #. Button to delete project from local list #. Appears in project card; removes local project cache (not server copy) #. Action: Prompts confirmation, frees up local storage @@ -1608,7 +1603,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" From 422ccc2966acd47c7f5abe858f79bc4de2c73f54 Mon Sep 17 00:00:00 2001 From: Tim Haasdyk Date: Fri, 6 Mar 2026 16:32:29 +0100 Subject: [PATCH 10/60] New translations en.po (French) --- frontend/viewer/src/locales/fr.po | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/frontend/viewer/src/locales/fr.po b/frontend/viewer/src/locales/fr.po index e69d698a0d..c694dccba7 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-24 08:43\n" +"PO-Revision-Date: 2026-03-06 15:32\n" "Last-Translator: \n" "Language-Team: French\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" @@ -286,11 +286,10 @@ 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 msgid "Cancel" msgstr "Annuler" @@ -481,10 +480,6 @@ msgstr "Répertoire de données" msgid "Definition" msgstr "Définition" -#: src/lib/entry-editor/NewEntryDialog.svelte -msgid "Definition or Gloss is required" -msgstr "Définition ou Glose est nécessaire" - #. Button to delete project from local list #. Appears in project card; removes local project cache (not server copy) #. Action: Prompts confirmation, frees up local storage @@ -1613,7 +1608,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" From 4c28f071caa65245124827d7517011f2e1df23f7 Mon Sep 17 00:00:00 2001 From: Tim Haasdyk Date: Fri, 6 Mar 2026 16:32:30 +0100 Subject: [PATCH 11/60] New translations en.po (Spanish) --- frontend/viewer/src/locales/es.po | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/frontend/viewer/src/locales/es.po b/frontend/viewer/src/locales/es.po index cb9109c188..d6b4f0180c 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-24 08:43\n" +"PO-Revision-Date: 2026-03-06 15:32\n" "Last-Translator: \n" "Language-Team: Spanish\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -286,11 +286,10 @@ 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 msgid "Cancel" msgstr "Cancelar" @@ -481,10 +480,6 @@ msgstr "Directorio de datos" msgid "Definition" msgstr "Definición" -#: src/lib/entry-editor/NewEntryDialog.svelte -msgid "Definition or Gloss is required" -msgstr "Se requiere definición o brillo" - #. Button to delete project from local list #. Appears in project card; removes local project cache (not server copy) #. Action: Prompts confirmation, frees up local storage @@ -1613,7 +1608,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" From 2cd995b74c92408cb65e7228c77a1579da8b746b Mon Sep 17 00:00:00 2001 From: Tim Haasdyk Date: Fri, 6 Mar 2026 16:32:32 +0100 Subject: [PATCH 12/60] New translations en.po (Korean) --- frontend/viewer/src/locales/ko.po | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/frontend/viewer/src/locales/ko.po b/frontend/viewer/src/locales/ko.po index f2a8b74508..a9fc7feed8 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-24 08:43\n" +"PO-Revision-Date: 2026-03-06 15:32\n" "Last-Translator: \n" "Language-Team: Korean\n" "Plural-Forms: nplurals=1; plural=0;\n" @@ -286,11 +286,10 @@ 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 msgid "Cancel" msgstr "취소" @@ -481,10 +480,6 @@ msgstr "데이터 디렉토리" msgid "Definition" msgstr "정의" -#: src/lib/entry-editor/NewEntryDialog.svelte -msgid "Definition or Gloss is required" -msgstr "정의 또는 광택이 필요합니다." - #. Button to delete project from local list #. Appears in project card; removes local project cache (not server copy) #. Action: Prompts confirmation, frees up local storage @@ -1613,7 +1608,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" From b208d1dc0fcaf04d45d4d4cd7cb36746fca92b1b Mon Sep 17 00:00:00 2001 From: Tim Haasdyk Date: Fri, 6 Mar 2026 16:32:33 +0100 Subject: [PATCH 13/60] New translations en.po (Vietnamese) --- frontend/viewer/src/locales/vi.po | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/frontend/viewer/src/locales/vi.po b/frontend/viewer/src/locales/vi.po index 039475bab6..5cbc3d9dd0 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-24 08:43\n" +"PO-Revision-Date: 2026-03-06 15:32\n" "Last-Translator: \n" "Language-Team: Vietnamese\n" "Plural-Forms: nplurals=1; plural=0;\n" @@ -286,11 +286,10 @@ 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 msgid "Cancel" msgstr "Hủy" @@ -481,10 +480,6 @@ msgstr "Thư mục dữ liệu" msgid "Definition" msgstr "Định nghĩa" -#: src/lib/entry-editor/NewEntryDialog.svelte -msgid "Definition or Gloss is required" -msgstr "Cần định nghĩa hoặc giải thích." - #. Button to delete project from local list #. Appears in project card; removes local project cache (not server copy) #. Action: Prompts confirmation, frees up local storage @@ -1613,7 +1608,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" From 215ddef95bf5fbc5dcc1437730e2d5ae8804e22f Mon Sep 17 00:00:00 2001 From: Tim Haasdyk Date: Fri, 6 Mar 2026 16:32:35 +0100 Subject: [PATCH 14/60] New translations en.po (Indonesian) --- frontend/viewer/src/locales/id.po | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/frontend/viewer/src/locales/id.po b/frontend/viewer/src/locales/id.po index 97c1335d27..b693d7c46f 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-24 08:43\n" +"PO-Revision-Date: 2026-03-06 15:32\n" "Last-Translator: \n" "Language-Team: Indonesian\n" "Plural-Forms: nplurals=1; plural=0;\n" @@ -286,11 +286,10 @@ 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 msgid "Cancel" msgstr "Batal" @@ -481,10 +480,6 @@ msgstr "Direktori Data" msgid "Definition" msgstr "Definisi" -#: src/lib/entry-editor/NewEntryDialog.svelte -msgid "Definition or Gloss is required" -msgstr "Definisi atau Gloss diperlukan" - #. Button to delete project from local list #. Appears in project card; removes local project cache (not server copy) #. Action: Prompts confirmation, frees up local storage @@ -1613,7 +1608,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" From d6f0b390f382d64bca6e9f2588cbd1395902ee41 Mon Sep 17 00:00:00 2001 From: Tim Haasdyk Date: Fri, 6 Mar 2026 16:32:37 +0100 Subject: [PATCH 15/60] New translations en.po (Malay) --- frontend/viewer/src/locales/ms.po | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/frontend/viewer/src/locales/ms.po b/frontend/viewer/src/locales/ms.po index 6dfcef48e2..f647b9a117 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-24 08:43\n" +"PO-Revision-Date: 2026-03-06 15:32\n" "Last-Translator: \n" "Language-Team: Malay\n" "Plural-Forms: nplurals=1; plural=0;\n" @@ -286,11 +286,10 @@ 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 msgid "Cancel" msgstr "Batal" @@ -481,10 +480,6 @@ msgstr "Direktori Data" msgid "Definition" msgstr "Definisi" -#: src/lib/entry-editor/NewEntryDialog.svelte -msgid "Definition or Gloss is required" -msgstr "" - #. Button to delete project from local list #. Appears in project card; removes local project cache (not server copy) #. Action: Prompts confirmation, frees up local storage @@ -1613,7 +1608,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" From a506bf8eb2ff76e329e5efc5cff571244a44eaf6 Mon Sep 17 00:00:00 2001 From: Tim Haasdyk Date: Fri, 6 Mar 2026 16:32:40 +0100 Subject: [PATCH 16/60] New translations en.po (Swahili) --- frontend/viewer/src/locales/sw.po | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/frontend/viewer/src/locales/sw.po b/frontend/viewer/src/locales/sw.po index 304f9f2013..5763696561 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-24 08:43\n" +"PO-Revision-Date: 2026-03-06 15:32\n" "Last-Translator: \n" "Language-Team: Swahili\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -286,11 +286,10 @@ 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 msgid "Cancel" msgstr "Ghairi" @@ -481,10 +480,6 @@ msgstr "Faharasa ya Data" msgid "Definition" msgstr "Maana" -#: src/lib/entry-editor/NewEntryDialog.svelte -msgid "Definition or Gloss is required" -msgstr "" - #. Button to delete project from local list #. Appears in project card; removes local project cache (not server copy) #. Action: Prompts confirmation, frees up local storage @@ -1613,7 +1608,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" From 4daeb340c776e97087c1d762381be6dfa9dcde22 Mon Sep 17 00:00:00 2001 From: Tim Haasdyk Date: Fri, 13 Mar 2026 11:05:36 +0100 Subject: [PATCH 17/60] Update source file en.po --- frontend/viewer/src/locales/en.po | 16 +++++----------- 1 file changed, 5 insertions(+), 11 deletions(-) diff --git a/frontend/viewer/src/locales/en.po b/frontend/viewer/src/locales/en.po index b471a8d9bf..6d455653b9 100644 --- a/frontend/viewer/src/locales/en.po +++ b/frontend/viewer/src/locales/en.po @@ -215,12 +215,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}?" @@ -749,6 +743,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 @@ -1895,11 +1894,6 @@ msgstr "Updates" msgid "Uses components as" msgstr "Uses components as" -#. Version display -#: src/project/ProjectSidebar.svelte -msgid "Version {0}" -msgstr "Version {0}" - #. Button label #: src/project/browse/ViewPicker.svelte msgid "View" From f4be04fd6ccd523bac35addf8dabc4c58c1fb00f Mon Sep 17 00:00:00 2001 From: Tim Haasdyk Date: Fri, 13 Mar 2026 11:05:39 +0100 Subject: [PATCH 18/60] New translations en.po (French) --- frontend/viewer/src/locales/fr.po | 18 ++++++------------ 1 file changed, 6 insertions(+), 12 deletions(-) diff --git a/frontend/viewer/src/locales/fr.po b/frontend/viewer/src/locales/fr.po index c694dccba7..ee409ae45e 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-03-06 15:32\n" +"PO-Revision-Date: 2026-03-13 10:05\n" "Last-Translator: \n" "Language-Team: French\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" @@ -220,12 +220,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}?" @@ -754,6 +748,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 @@ -1900,11 +1899,6 @@ msgstr "Mises à jour" msgid "Uses components as" msgstr "Utilise des composants comme" -#. Version display -#: src/project/ProjectSidebar.svelte -msgid "Version {0}" -msgstr "Version {0}" - #. Button label #: src/project/browse/ViewPicker.svelte msgid "View" From e09ccbde2a4ddb36dbba49ae715b82f8dff86a5a Mon Sep 17 00:00:00 2001 From: Tim Haasdyk Date: Fri, 13 Mar 2026 11:05:41 +0100 Subject: [PATCH 19/60] New translations en.po (Spanish) --- frontend/viewer/src/locales/es.po | 18 ++++++------------ 1 file changed, 6 insertions(+), 12 deletions(-) diff --git a/frontend/viewer/src/locales/es.po b/frontend/viewer/src/locales/es.po index d6b4f0180c..aa82abbeae 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-03-06 15:32\n" +"PO-Revision-Date: 2026-03-13 10:05\n" "Last-Translator: \n" "Language-Team: Spanish\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -220,12 +220,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}?" @@ -754,6 +748,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 @@ -1900,11 +1899,6 @@ msgstr "Actualizaciones" msgid "Uses components as" msgstr "Utiliza componentes como" -#. Version display -#: src/project/ProjectSidebar.svelte -msgid "Version {0}" -msgstr "Versión {0}" - #. Button label #: src/project/browse/ViewPicker.svelte msgid "View" From 680d1ad99e4496f63522a024a9a3b813db1e7830 Mon Sep 17 00:00:00 2001 From: Tim Haasdyk Date: Fri, 13 Mar 2026 11:05:42 +0100 Subject: [PATCH 20/60] New translations en.po (Korean) --- frontend/viewer/src/locales/ko.po | 18 ++++++------------ 1 file changed, 6 insertions(+), 12 deletions(-) diff --git a/frontend/viewer/src/locales/ko.po b/frontend/viewer/src/locales/ko.po index a9fc7feed8..c5ebf2e030 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-03-06 15:32\n" +"PO-Revision-Date: 2026-03-13 10:05\n" "Last-Translator: \n" "Language-Team: Korean\n" "Plural-Forms: nplurals=1; plural=0;\n" @@ -220,12 +220,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}?" @@ -754,6 +748,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 @@ -1900,11 +1899,6 @@ msgstr "업데이트" msgid "Uses components as" msgstr "구성 요소를 다음과 같이 사용합니다." -#. Version display -#: src/project/ProjectSidebar.svelte -msgid "Version {0}" -msgstr "버전 {0}" - #. Button label #: src/project/browse/ViewPicker.svelte msgid "View" From af4ae87d81c61100b9d64dd8018e3a9bd49b39df Mon Sep 17 00:00:00 2001 From: Tim Haasdyk Date: Fri, 13 Mar 2026 11:05:44 +0100 Subject: [PATCH 21/60] New translations en.po (Vietnamese) --- frontend/viewer/src/locales/vi.po | 18 ++++++------------ 1 file changed, 6 insertions(+), 12 deletions(-) diff --git a/frontend/viewer/src/locales/vi.po b/frontend/viewer/src/locales/vi.po index 5cbc3d9dd0..c48a14b38b 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-03-06 15:32\n" +"PO-Revision-Date: 2026-03-13 10:05\n" "Last-Translator: \n" "Language-Team: Vietnamese\n" "Plural-Forms: nplurals=1; plural=0;\n" @@ -220,12 +220,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}?" @@ -754,6 +748,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 @@ -1900,11 +1899,6 @@ msgstr "Cập nhật" 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}" - #. Button label #: src/project/browse/ViewPicker.svelte msgid "View" From 31e2646186c9d0f922b971c37f46c7270319b4fa Mon Sep 17 00:00:00 2001 From: Tim Haasdyk Date: Fri, 13 Mar 2026 11:05:45 +0100 Subject: [PATCH 22/60] New translations en.po (Indonesian) --- frontend/viewer/src/locales/id.po | 18 ++++++------------ 1 file changed, 6 insertions(+), 12 deletions(-) diff --git a/frontend/viewer/src/locales/id.po b/frontend/viewer/src/locales/id.po index b693d7c46f..c2a07d2e9f 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-03-06 15:32\n" +"PO-Revision-Date: 2026-03-13 10:05\n" "Last-Translator: \n" "Language-Team: Indonesian\n" "Plural-Forms: nplurals=1; plural=0;\n" @@ -220,12 +220,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}?" @@ -754,6 +748,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 @@ -1900,11 +1899,6 @@ msgstr "Pembaruan" msgid "Uses components as" msgstr "Menggunakan komponen sebagai" -#. Version display -#: src/project/ProjectSidebar.svelte -msgid "Version {0}" -msgstr "Versi {0}" - #. Button label #: src/project/browse/ViewPicker.svelte msgid "View" From 70e74274774856d92ae1eba9f2b92f49b0e02497 Mon Sep 17 00:00:00 2001 From: Tim Haasdyk Date: Fri, 13 Mar 2026 11:05:47 +0100 Subject: [PATCH 23/60] New translations en.po (Malay) --- frontend/viewer/src/locales/ms.po | 18 ++++++------------ 1 file changed, 6 insertions(+), 12 deletions(-) diff --git a/frontend/viewer/src/locales/ms.po b/frontend/viewer/src/locales/ms.po index f647b9a117..8c1974c2b7 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-03-06 15:32\n" +"PO-Revision-Date: 2026-03-13 10:05\n" "Last-Translator: \n" "Language-Team: Malay\n" "Plural-Forms: nplurals=1; plural=0;\n" @@ -220,12 +220,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}?" @@ -754,6 +748,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 @@ -1900,11 +1899,6 @@ msgstr "Kemas kini" msgid "Uses components as" msgstr "Menggunakan komponen sebagai" -#. Version display -#: src/project/ProjectSidebar.svelte -msgid "Version {0}" -msgstr "Versi {0}" - #. Button label #: src/project/browse/ViewPicker.svelte msgid "View" From d0af0228d123e2444642017c97f155dbf1f9bee5 Mon Sep 17 00:00:00 2001 From: Tim Haasdyk Date: Fri, 13 Mar 2026 11:05:48 +0100 Subject: [PATCH 24/60] New translations en.po (Swahili) --- frontend/viewer/src/locales/sw.po | 18 ++++++------------ 1 file changed, 6 insertions(+), 12 deletions(-) diff --git a/frontend/viewer/src/locales/sw.po b/frontend/viewer/src/locales/sw.po index 5763696561..23e924b0e3 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-03-06 15:32\n" +"PO-Revision-Date: 2026-03-13 10:05\n" "Last-Translator: \n" "Language-Team: Swahili\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -220,12 +220,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}?" @@ -754,6 +748,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 @@ -1900,11 +1899,6 @@ msgstr "Masasisho" msgid "Uses components as" msgstr "Inatumia sehemu kama" -#. Version display -#: src/project/ProjectSidebar.svelte -msgid "Version {0}" -msgstr "Toleo {0}" - #. Button label #: src/project/browse/ViewPicker.svelte msgid "View" From 0bcc6ef454f2c1f3d4f87996ff5aa8040161c653 Mon Sep 17 00:00:00 2001 From: Tim Haasdyk Date: Wed, 8 Apr 2026 09:59:53 +0200 Subject: [PATCH 25/60] Update source file en.po --- frontend/viewer/src/locales/en.po | 200 +++++++++++++++++++++++------- 1 file changed, 158 insertions(+), 42 deletions(-) diff --git a/frontend/viewer/src/locales/en.po b/frontend/viewer/src/locales/en.po index 6d455653b9..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 @@ -255,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" @@ -280,6 +304,7 @@ msgstr "Browse" #: src/lib/components/field-editors/select.svelte #: src/lib/entry-editor/EditEntryDialog.svelte #: src/lib/entry-editor/NewEntryDialog.svelte +#: src/lib/views/custom/CustomViewForm.svelte msgid "Cancel" msgstr "Cancel" @@ -306,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" @@ -357,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" @@ -367,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" @@ -388,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" @@ -409,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" @@ -426,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 @@ -447,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" @@ -465,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" @@ -531,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" @@ -599,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" @@ -630,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" @@ -675,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" @@ -730,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" @@ -875,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" @@ -892,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." @@ -989,18 +1038,12 @@ 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" @@ -1015,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" @@ -1062,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" @@ -1112,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 @@ -1122,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" @@ -1156,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" @@ -1232,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" @@ -1309,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" @@ -1383,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" @@ -1462,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 #" @@ -1487,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 @@ -1503,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" @@ -1519,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" @@ -1758,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}" @@ -1890,10 +1994,16 @@ 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" +#. 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 msgid "View" @@ -1926,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" @@ -1941,6 +2050,7 @@ 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" @@ -1960,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" From da1bd3cc5cb576b75df7e65deecdf4fadfe9fcbb Mon Sep 17 00:00:00 2001 From: Tim Haasdyk Date: Wed, 8 Apr 2026 09:59:55 +0200 Subject: [PATCH 26/60] New translations en.po (French) --- frontend/viewer/src/locales/fr.po | 202 +++++++++++++++++++++++------- 1 file changed, 159 insertions(+), 43 deletions(-) diff --git a/frontend/viewer/src/locales/fr.po b/frontend/viewer/src/locales/fr.po index ee409ae45e..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-03-13 10:05\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 @@ -260,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" @@ -285,6 +309,7 @@ msgstr "Parcourir" #: src/lib/components/field-editors/select.svelte #: src/lib/entry-editor/EditEntryDialog.svelte #: src/lib/entry-editor/NewEntryDialog.svelte +#: src/lib/views/custom/CustomViewForm.svelte msgid "Cancel" msgstr "Annuler" @@ -311,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" @@ -362,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" @@ -372,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" @@ -393,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" @@ -414,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" @@ -431,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 @@ -452,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" @@ -470,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" @@ -536,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" @@ -604,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" @@ -635,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" @@ -680,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" @@ -735,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" @@ -880,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" @@ -897,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." @@ -994,18 +1043,12 @@ 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" @@ -1020,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" @@ -1067,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" @@ -1117,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 @@ -1127,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" @@ -1161,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é" @@ -1237,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" @@ -1314,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" @@ -1388,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" @@ -1467,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 #" @@ -1492,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 @@ -1508,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" @@ -1524,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" @@ -1763,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}" @@ -1895,10 +1999,16 @@ 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" +#. 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 msgid "View" @@ -1931,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" @@ -1946,6 +2055,7 @@ 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" @@ -1965,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" From d02891eb35b717d73b6065b9591f8652f16b4389 Mon Sep 17 00:00:00 2001 From: Tim Haasdyk Date: Wed, 8 Apr 2026 09:59:57 +0200 Subject: [PATCH 27/60] New translations en.po (Spanish) --- frontend/viewer/src/locales/es.po | 202 +++++++++++++++++++++++------- 1 file changed, 159 insertions(+), 43 deletions(-) diff --git a/frontend/viewer/src/locales/es.po b/frontend/viewer/src/locales/es.po index aa82abbeae..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-03-13 10:05\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 @@ -260,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" @@ -285,6 +309,7 @@ msgstr "Visite" #: src/lib/components/field-editors/select.svelte #: src/lib/entry-editor/EditEntryDialog.svelte #: src/lib/entry-editor/NewEntryDialog.svelte +#: src/lib/views/custom/CustomViewForm.svelte msgid "Cancel" msgstr "Cancelar" @@ -311,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" @@ -362,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" @@ -372,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" @@ -393,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" @@ -414,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" @@ -431,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 @@ -452,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" @@ -470,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" @@ -536,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" @@ -604,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" @@ -635,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" @@ -680,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" @@ -735,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" @@ -880,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" @@ -897,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." @@ -994,18 +1043,12 @@ 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" @@ -1020,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" @@ -1067,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" @@ -1117,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 @@ -1127,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" @@ -1161,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" @@ -1237,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" @@ -1314,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" @@ -1388,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" @@ -1467,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 #" @@ -1492,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 @@ -1508,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" @@ -1524,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" @@ -1763,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}" @@ -1895,10 +1999,16 @@ 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" +#. 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 msgid "View" @@ -1931,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" @@ -1946,6 +2055,7 @@ 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" @@ -1965,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" From 0c406923cbe7ac7e0dc3313a28c4247a10c8905a Mon Sep 17 00:00:00 2001 From: Tim Haasdyk Date: Wed, 8 Apr 2026 09:59:59 +0200 Subject: [PATCH 28/60] New translations en.po (Korean) --- frontend/viewer/src/locales/ko.po | 202 +++++++++++++++++++++++------- 1 file changed, 159 insertions(+), 43 deletions(-) diff --git a/frontend/viewer/src/locales/ko.po b/frontend/viewer/src/locales/ko.po index c5ebf2e030..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-03-13 10:05\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 @@ -260,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" @@ -285,6 +309,7 @@ msgstr "찾아보기" #: src/lib/components/field-editors/select.svelte #: src/lib/entry-editor/EditEntryDialog.svelte #: src/lib/entry-editor/NewEntryDialog.svelte +#: src/lib/views/custom/CustomViewForm.svelte msgid "Cancel" msgstr "취소" @@ -311,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" @@ -362,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 "복잡한 양식 유형" @@ -372,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 "복잡한 양식" @@ -393,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 "구성 요소" @@ -414,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" @@ -431,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 @@ -452,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" @@ -470,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 "정의" @@ -536,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 "다음으로 표시" @@ -604,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" @@ -635,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 "항목" @@ -680,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 "예" @@ -735,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" @@ -880,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 "광택" @@ -897,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 "문법 정보." @@ -994,18 +1043,12 @@ 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 양식 또는 인용 양식이 필요합니다." @@ -1020,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 "문자 그대로의 의미" @@ -1067,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 "관리자" @@ -1117,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 @@ -1127,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 "새로운 데이터" @@ -1161,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 "사전을 찾을 수 없습니다." @@ -1237,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 "참고" @@ -1314,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 "품사" @@ -1388,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 "참조" @@ -1467,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 #" @@ -1492,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 @@ -1508,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 "시맨틱 도메인" @@ -1524,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 "문장" @@ -1763,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}" @@ -1895,10 +1999,16 @@ msgid "Updates" msgstr "업데이트" #. Field label -#: src/lib/entry-editor/object-editors/EntryEditorPrimitive.svelte +#: src/lib/views/entity-config.ts msgid "Uses components as" msgstr "구성 요소를 다음과 같이 사용합니다." +#. 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 msgid "View" @@ -1931,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" @@ -1946,6 +2055,7 @@ msgid "Word only" msgstr "단어 전용" #: src/lib/entry-editor/NewEntryDialog.svelte +#: src/lib/views/custom/validation.ts msgid "Word or Display as is required" msgstr "단어 또는 필요에 따라 표시" @@ -1965,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" From e54f1125a46826464a275d4f60e47f8d06db826a Mon Sep 17 00:00:00 2001 From: Tim Haasdyk Date: Wed, 8 Apr 2026 10:00:02 +0200 Subject: [PATCH 29/60] New translations en.po (Vietnamese) --- frontend/viewer/src/locales/vi.po | 202 +++++++++++++++++++++++------- 1 file changed, 159 insertions(+), 43 deletions(-) diff --git a/frontend/viewer/src/locales/vi.po b/frontend/viewer/src/locales/vi.po index c48a14b38b..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-03-13 10:05\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 @@ -260,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" @@ -285,6 +309,7 @@ msgstr "Duyệt" #: src/lib/components/field-editors/select.svelte #: src/lib/entry-editor/EditEntryDialog.svelte #: src/lib/entry-editor/NewEntryDialog.svelte +#: src/lib/views/custom/CustomViewForm.svelte msgid "Cancel" msgstr "Hủy" @@ -311,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" @@ -362,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" @@ -372,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" @@ -393,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" @@ -414,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" @@ -431,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 @@ -452,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" @@ -470,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" @@ -536,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" @@ -604,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" @@ -635,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" @@ -680,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ụ" @@ -735,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" @@ -880,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ú" @@ -897,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." @@ -994,18 +1043,12 @@ 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." @@ -1020,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" @@ -1067,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ý" @@ -1117,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 @@ -1127,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" @@ -1161,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" @@ -1237,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ú" @@ -1314,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ừ" @@ -1388,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" @@ -1467,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 #" @@ -1492,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 @@ -1508,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" @@ -1524,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" @@ -1763,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}" @@ -1895,10 +1999,16 @@ 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ư" +#. 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 msgid "View" @@ -1931,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ừ" @@ -1946,6 +2055,7 @@ 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." @@ -1965,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" From 595a6ac2d1711900b4d2ebb4e52039fe460d33e8 Mon Sep 17 00:00:00 2001 From: Tim Haasdyk Date: Wed, 8 Apr 2026 10:00:04 +0200 Subject: [PATCH 30/60] New translations en.po (Indonesian) --- frontend/viewer/src/locales/id.po | 202 +++++++++++++++++++++++------- 1 file changed, 159 insertions(+), 43 deletions(-) diff --git a/frontend/viewer/src/locales/id.po b/frontend/viewer/src/locales/id.po index c2a07d2e9f..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-03-13 10:05\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 @@ -260,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" @@ -285,6 +309,7 @@ msgstr "Jelajahi" #: src/lib/components/field-editors/select.svelte #: src/lib/entry-editor/EditEntryDialog.svelte #: src/lib/entry-editor/NewEntryDialog.svelte +#: src/lib/views/custom/CustomViewForm.svelte msgid "Cancel" msgstr "Batal" @@ -311,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" @@ -362,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" @@ -372,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" @@ -393,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" @@ -414,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" @@ -431,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 @@ -452,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" @@ -470,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" @@ -536,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" @@ -604,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" @@ -635,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" @@ -680,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" @@ -735,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" @@ -880,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" @@ -897,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." @@ -994,18 +1043,12 @@ 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" @@ -1020,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" @@ -1067,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" @@ -1117,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 @@ -1127,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" @@ -1161,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" @@ -1237,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" @@ -1314,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" @@ -1388,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" @@ -1467,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 #" @@ -1492,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 @@ -1508,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" @@ -1524,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" @@ -1763,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}" @@ -1895,10 +1999,16 @@ 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" +#. 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 msgid "View" @@ -1931,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" @@ -1946,6 +2055,7 @@ 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" @@ -1965,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" From 948a8a629130a5ef02ea6147743d86dc3041745f Mon Sep 17 00:00:00 2001 From: Tim Haasdyk Date: Wed, 8 Apr 2026 10:00:06 +0200 Subject: [PATCH 31/60] New translations en.po (Malay) --- frontend/viewer/src/locales/ms.po | 202 +++++++++++++++++++++++------- 1 file changed, 159 insertions(+), 43 deletions(-) diff --git a/frontend/viewer/src/locales/ms.po b/frontend/viewer/src/locales/ms.po index 8c1974c2b7..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-03-13 10:05\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 @@ -260,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" @@ -285,6 +309,7 @@ msgstr "Terokai" #: src/lib/components/field-editors/select.svelte #: src/lib/entry-editor/EditEntryDialog.svelte #: src/lib/entry-editor/NewEntryDialog.svelte +#: src/lib/views/custom/CustomViewForm.svelte msgid "Cancel" msgstr "Batal" @@ -311,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" @@ -362,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" @@ -372,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" @@ -393,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" @@ -414,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" @@ -431,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 @@ -452,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" @@ -470,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" @@ -536,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" @@ -604,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" @@ -635,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" @@ -680,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" @@ -735,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" @@ -880,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" @@ -897,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." @@ -994,18 +1043,12 @@ 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 "" @@ -1020,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" @@ -1067,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" @@ -1117,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 @@ -1127,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" @@ -1161,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" @@ -1237,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" @@ -1314,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" @@ -1388,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" @@ -1467,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 #" @@ -1492,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 @@ -1508,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" @@ -1524,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" @@ -1763,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}" @@ -1895,10 +1999,16 @@ 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" +#. 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 msgid "View" @@ -1931,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" @@ -1946,6 +2055,7 @@ 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 "" @@ -1965,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" From ac5e1a0f6cad76b89467697fa7396b962fcf4879 Mon Sep 17 00:00:00 2001 From: Tim Haasdyk Date: Wed, 8 Apr 2026 10:00:09 +0200 Subject: [PATCH 32/60] New translations en.po (Swahili) --- frontend/viewer/src/locales/sw.po | 202 +++++++++++++++++++++++------- 1 file changed, 159 insertions(+), 43 deletions(-) diff --git a/frontend/viewer/src/locales/sw.po b/frontend/viewer/src/locales/sw.po index 23e924b0e3..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-03-13 10:05\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 @@ -260,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" @@ -285,6 +309,7 @@ msgstr "Angalia" #: src/lib/components/field-editors/select.svelte #: src/lib/entry-editor/EditEntryDialog.svelte #: src/lib/entry-editor/NewEntryDialog.svelte +#: src/lib/views/custom/CustomViewForm.svelte msgid "Cancel" msgstr "Ghairi" @@ -311,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" @@ -362,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" @@ -372,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" @@ -393,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" @@ -414,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" @@ -431,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 @@ -452,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" @@ -470,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" @@ -536,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" @@ -604,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" @@ -635,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" @@ -680,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" @@ -735,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" @@ -880,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" @@ -897,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" @@ -994,18 +1043,12 @@ 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 "" @@ -1020,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" @@ -1067,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" @@ -1117,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 @@ -1127,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" @@ -1161,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" @@ -1237,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" @@ -1314,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" @@ -1388,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" @@ -1467,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 #" @@ -1492,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 @@ -1508,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" @@ -1524,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" @@ -1763,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}" @@ -1895,10 +1999,16 @@ 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" +#. 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 msgid "View" @@ -1931,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" @@ -1946,6 +2055,7 @@ 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 "" @@ -1965,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" From 8ff7a02b57d0bbc4df35d0c7c49b4aa43696e625 Mon Sep 17 00:00:00 2001 From: Tim Haasdyk Date: Wed, 22 Apr 2026 11:48:48 -0600 Subject: [PATCH 33/60] Update source file description-en.md --- platform.bible-extension/assets/descriptions/description-en.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/platform.bible-extension/assets/descriptions/description-en.md b/platform.bible-extension/assets/descriptions/description-en.md index 9ee78636a5..ddfc02766f 100644 --- a/platform.bible-extension/assets/descriptions/description-en.md +++ b/platform.bible-extension/assets/descriptions/description-en.md @@ -1 +1 @@ -FieldWorks Lite for Platform.Bible. Powered by webpack. +Manage the lexicon for your project's target/vernacular language. From 6bd3264d4b4bf37a93820db97e774714c843fbda Mon Sep 17 00:00:00 2001 From: Tim Haasdyk Date: Wed, 22 Apr 2026 11:48:50 -0600 Subject: [PATCH 34/60] New translations description-en.md (French) --- platform.bible-extension/assets/descriptions/description-fr.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/platform.bible-extension/assets/descriptions/description-fr.md b/platform.bible-extension/assets/descriptions/description-fr.md index 1d741e597b..4957524825 100644 --- a/platform.bible-extension/assets/descriptions/description-fr.md +++ b/platform.bible-extension/assets/descriptions/description-fr.md @@ -1 +1 @@ -FieldWorks Lite pour Platform.Bible. Équipé de Webpack. +Gérez le lexique pour la langue cible / vernaculaire de votre projet. From 554ef551f67597c9417b06d9179331901f5c21c6 Mon Sep 17 00:00:00 2001 From: Tim Haasdyk Date: Wed, 22 Apr 2026 11:48:52 -0600 Subject: [PATCH 35/60] New translations description-en.md (Spanish) --- platform.bible-extension/assets/descriptions/description-es.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/platform.bible-extension/assets/descriptions/description-es.md b/platform.bible-extension/assets/descriptions/description-es.md index 7190b30146..39b567860e 100644 --- a/platform.bible-extension/assets/descriptions/description-es.md +++ b/platform.bible-extension/assets/descriptions/description-es.md @@ -1 +1 @@ -FieldWorks Lite para Platform.Bible. Desarrollado por webpack. +Administra el léxico para el idioma de destino/vernáculo de tu proyecto. From 94b05bb113a577caa5d2fdcbcb3377b3396397db Mon Sep 17 00:00:00 2001 From: Tim Haasdyk Date: Wed, 22 Apr 2026 11:48:53 -0600 Subject: [PATCH 36/60] New translations description-en.md (Korean) --- platform.bible-extension/assets/descriptions/description-ko.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/platform.bible-extension/assets/descriptions/description-ko.md b/platform.bible-extension/assets/descriptions/description-ko.md index d9308e2307..c7c04538c9 100644 --- a/platform.bible-extension/assets/descriptions/description-ko.md +++ b/platform.bible-extension/assets/descriptions/description-ko.md @@ -1 +1 @@ -Platform.Bible용 FieldWorks Lite. 웹팩으로 구동됩니다. +프로젝트의 대상 언어/모국어에 대한 어휘집을 관리하세요. From 15efef7d844b775d22ea7a68aa6c452a0fa24b12 Mon Sep 17 00:00:00 2001 From: Tim Haasdyk Date: Wed, 22 Apr 2026 11:48:55 -0600 Subject: [PATCH 37/60] New translations description-en.md (Vietnamese) --- platform.bible-extension/assets/descriptions/description-vi.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/platform.bible-extension/assets/descriptions/description-vi.md b/platform.bible-extension/assets/descriptions/description-vi.md index 9ee78636a5..60647fb31f 100644 --- a/platform.bible-extension/assets/descriptions/description-vi.md +++ b/platform.bible-extension/assets/descriptions/description-vi.md @@ -1 +1 @@ -FieldWorks Lite for Platform.Bible. Powered by webpack. +Quản lý từ vựng cho ngôn ngữ đích/ngôn ngữ địa phương của dự án. From 19bf2bdb1188c3e4dd0aed7d78ffd9ba57d5966f Mon Sep 17 00:00:00 2001 From: Tim Haasdyk Date: Wed, 22 Apr 2026 11:48:56 -0600 Subject: [PATCH 38/60] New translations description-en.md (Indonesian) --- platform.bible-extension/assets/descriptions/description-id.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/platform.bible-extension/assets/descriptions/description-id.md b/platform.bible-extension/assets/descriptions/description-id.md index 88f42a8dd7..afec0908f7 100644 --- a/platform.bible-extension/assets/descriptions/description-id.md +++ b/platform.bible-extension/assets/descriptions/description-id.md @@ -1 +1 @@ -FieldWorks Lite untuk Platform.Bible. Didukung oleh webpack. +Kelola leksikon untuk bahasa target/bahasa sehari-hari proyek Anda. From 6e9c700d0b82371f843ad3e3c8be6a0c1531a4f0 Mon Sep 17 00:00:00 2001 From: Tim Haasdyk Date: Wed, 22 Apr 2026 11:48:58 -0600 Subject: [PATCH 39/60] New translations description-en.md (Malay) --- platform.bible-extension/assets/descriptions/description-ms.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/platform.bible-extension/assets/descriptions/description-ms.md b/platform.bible-extension/assets/descriptions/description-ms.md index 9ee78636a5..5a282a14d9 100644 --- a/platform.bible-extension/assets/descriptions/description-ms.md +++ b/platform.bible-extension/assets/descriptions/description-ms.md @@ -1 +1 @@ -FieldWorks Lite for Platform.Bible. Powered by webpack. +Urus leksikon untuk bahasa sasaran/vernakular projek anda. From 235a04886ade4b3784c5ee131f1637ad06f233c3 Mon Sep 17 00:00:00 2001 From: Tim Haasdyk Date: Wed, 22 Apr 2026 11:48:59 -0600 Subject: [PATCH 40/60] New translations description-en.md (Swahili) --- platform.bible-extension/assets/descriptions/description-sw.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/platform.bible-extension/assets/descriptions/description-sw.md b/platform.bible-extension/assets/descriptions/description-sw.md index 9ee78636a5..6676ce6f2e 100644 --- a/platform.bible-extension/assets/descriptions/description-sw.md +++ b/platform.bible-extension/assets/descriptions/description-sw.md @@ -1 +1 @@ -FieldWorks Lite for Platform.Bible. Powered by webpack. +Dhibiti kamusi ya lugha lengwa/lugha ya kienyeji ya mradi wako. From 4fefcad2f7ba8ba8b42882a3c418eb6b39c9580c Mon Sep 17 00:00:00 2001 From: Tim Haasdyk Date: Wed, 13 May 2026 12:12:01 +0200 Subject: [PATCH 41/60] New translations en.po (French) [ci skip] --- frontend/viewer/src/locales/fr.po | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/frontend/viewer/src/locales/fr.po b/frontend/viewer/src/locales/fr.po index aa32d613cb..cfa7db630c 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-04-08 07:59\n" +"PO-Revision-Date: 2026-05-13 10:12\n" "Last-Translator: \n" "Language-Team: French\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" @@ -1371,6 +1371,10 @@ msgstr "Ouvrir dans une nouvelle fenêtre" msgid "Open Log file" msgstr "Ouvrir le fichier journal" +#: src/lib/components/OpenInFieldWorksButton.svelte +msgid "Opening in FieldWorks…" +msgstr "" + #. Color theme option #: src/lib/components/ThemePicker.svelte msgid "orange" From 1e58ac6544ba3649f4c7ecf470144a5a9cbb6154 Mon Sep 17 00:00:00 2001 From: Tim Haasdyk Date: Wed, 13 May 2026 12:12:03 +0200 Subject: [PATCH 42/60] New translations en.po (Spanish) [ci skip] --- frontend/viewer/src/locales/es.po | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/frontend/viewer/src/locales/es.po b/frontend/viewer/src/locales/es.po index c29bc98e31..3f5f0aedec 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-04-08 07:59\n" +"PO-Revision-Date: 2026-05-13 10:12\n" "Last-Translator: \n" "Language-Team: Spanish\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -1371,6 +1371,10 @@ msgstr "Abrir en una ventana nueva" msgid "Open Log file" msgstr "Abrir archivo Log" +#: src/lib/components/OpenInFieldWorksButton.svelte +msgid "Opening in FieldWorks…" +msgstr "" + #. Color theme option #: src/lib/components/ThemePicker.svelte msgid "orange" From 84b8c86c68059f343b0b1d450b5d2e1488f7977d Mon Sep 17 00:00:00 2001 From: Tim Haasdyk Date: Wed, 13 May 2026 12:12:05 +0200 Subject: [PATCH 43/60] New translations en.po (Korean) [ci skip] --- frontend/viewer/src/locales/ko.po | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/frontend/viewer/src/locales/ko.po b/frontend/viewer/src/locales/ko.po index 9581ce71bc..b96a558d03 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-04-08 07:59\n" +"PO-Revision-Date: 2026-05-13 10:12\n" "Last-Translator: \n" "Language-Team: Korean\n" "Plural-Forms: nplurals=1; plural=0;\n" @@ -1371,6 +1371,10 @@ msgstr "새 창에서 열기" msgid "Open Log file" msgstr "로그 파일 열기" +#: src/lib/components/OpenInFieldWorksButton.svelte +msgid "Opening in FieldWorks…" +msgstr "" + #. Color theme option #: src/lib/components/ThemePicker.svelte msgid "orange" From d5fce2efeb709e5f61cbb23882e6df43440134fd Mon Sep 17 00:00:00 2001 From: Tim Haasdyk Date: Wed, 13 May 2026 12:12:07 +0200 Subject: [PATCH 44/60] New translations en.po (Vietnamese) [ci skip] --- frontend/viewer/src/locales/vi.po | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/frontend/viewer/src/locales/vi.po b/frontend/viewer/src/locales/vi.po index 8d36190a59..154dc8c769 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-04-08 08:00\n" +"PO-Revision-Date: 2026-05-13 10:12\n" "Last-Translator: \n" "Language-Team: Vietnamese\n" "Plural-Forms: nplurals=1; plural=0;\n" @@ -1371,6 +1371,10 @@ msgstr "Mở trong cửa sổ mới" msgid "Open Log file" msgstr "Mở tệp nhật ký" +#: src/lib/components/OpenInFieldWorksButton.svelte +msgid "Opening in FieldWorks…" +msgstr "" + #. Color theme option #: src/lib/components/ThemePicker.svelte msgid "orange" From a4e088bc6eb2933a4c2035c5caf428c6041d71a7 Mon Sep 17 00:00:00 2001 From: Tim Haasdyk Date: Wed, 13 May 2026 12:12:09 +0200 Subject: [PATCH 45/60] New translations en.po (Indonesian) [ci skip] --- frontend/viewer/src/locales/id.po | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/frontend/viewer/src/locales/id.po b/frontend/viewer/src/locales/id.po index e862a0956e..7b1fce0c6f 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-04-08 08:00\n" +"PO-Revision-Date: 2026-05-13 10:12\n" "Last-Translator: \n" "Language-Team: Indonesian\n" "Plural-Forms: nplurals=1; plural=0;\n" @@ -1371,6 +1371,10 @@ msgstr "Buka di jendela baru" msgid "Open Log file" msgstr "Buka file Log" +#: src/lib/components/OpenInFieldWorksButton.svelte +msgid "Opening in FieldWorks…" +msgstr "" + #. Color theme option #: src/lib/components/ThemePicker.svelte msgid "orange" From 398f2ab22c3b28340a0e3edd9ad303266924f46c Mon Sep 17 00:00:00 2001 From: Tim Haasdyk Date: Wed, 13 May 2026 12:12:11 +0200 Subject: [PATCH 46/60] New translations en.po (Malay) [ci skip] --- frontend/viewer/src/locales/ms.po | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/frontend/viewer/src/locales/ms.po b/frontend/viewer/src/locales/ms.po index 90271f9511..0b5ccd661c 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-04-08 08:00\n" +"PO-Revision-Date: 2026-05-13 10:12\n" "Last-Translator: \n" "Language-Team: Malay\n" "Plural-Forms: nplurals=1; plural=0;\n" @@ -1371,6 +1371,10 @@ msgstr "Buka dalam Tetingkap baharu" msgid "Open Log file" msgstr "Buka fail Log" +#: src/lib/components/OpenInFieldWorksButton.svelte +msgid "Opening in FieldWorks…" +msgstr "" + #. Color theme option #: src/lib/components/ThemePicker.svelte msgid "orange" From c66c73a523b75f3fbea7311503fc5069fe657745 Mon Sep 17 00:00:00 2001 From: Tim Haasdyk Date: Wed, 13 May 2026 12:12:13 +0200 Subject: [PATCH 47/60] New translations en.po (Swahili) [ci skip] --- frontend/viewer/src/locales/sw.po | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/frontend/viewer/src/locales/sw.po b/frontend/viewer/src/locales/sw.po index 6a3f918230..6f037b1747 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-04-08 08:00\n" +"PO-Revision-Date: 2026-05-13 10:12\n" "Last-Translator: \n" "Language-Team: Swahili\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -1371,6 +1371,10 @@ msgstr "Fungua kwenye Dirisha Jipya" msgid "Open Log file" msgstr "Fungua faili la logi" +#: src/lib/components/OpenInFieldWorksButton.svelte +msgid "Opening in FieldWorks…" +msgstr "" + #. Color theme option #: src/lib/components/ThemePicker.svelte msgid "orange" From 9c87d6dbf4606e0c2693dbb505b69422c977dfbc Mon Sep 17 00:00:00 2001 From: Tim Haasdyk Date: Thu, 14 May 2026 12:19:20 +0200 Subject: [PATCH 48/60] Update source file en.po [ci skip] --- frontend/viewer/src/locales/en.po | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/frontend/viewer/src/locales/en.po b/frontend/viewer/src/locales/en.po index 9a91d81816..f2b67c9f00 100644 --- a/frontend/viewer/src/locales/en.po +++ b/frontend/viewer/src/locales/en.po @@ -1366,6 +1366,10 @@ msgstr "Open in new Window" msgid "Open Log file" msgstr "Open Log file" +#: src/lib/components/OpenInFieldWorksButton.svelte +msgid "Opening in FieldWorks…" +msgstr "Opening in FieldWorks…" + #. Color theme option #: src/lib/components/ThemePicker.svelte msgid "orange" From b3942663ee8ae8d32df77074590e4c39c04a6357 Mon Sep 17 00:00:00 2001 From: Tim Haasdyk Date: Thu, 14 May 2026 12:19:22 +0200 Subject: [PATCH 49/60] New translations en.po (French) [ci skip] --- frontend/viewer/src/locales/fr.po | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/frontend/viewer/src/locales/fr.po b/frontend/viewer/src/locales/fr.po index cfa7db630c..ea737c158c 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-05-13 10:12\n" +"PO-Revision-Date: 2026-05-14 10:19\n" "Last-Translator: \n" "Language-Team: French\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" @@ -1373,7 +1373,7 @@ msgstr "Ouvrir le fichier journal" #: src/lib/components/OpenInFieldWorksButton.svelte msgid "Opening in FieldWorks…" -msgstr "" +msgstr "Ouverture dans FieldWorks…" #. Color theme option #: src/lib/components/ThemePicker.svelte From a5c5a9eee53ebd641d945c5081958fb0cb728c31 Mon Sep 17 00:00:00 2001 From: Tim Haasdyk Date: Thu, 14 May 2026 12:19:24 +0200 Subject: [PATCH 50/60] New translations en.po (Spanish) [ci skip] --- frontend/viewer/src/locales/es.po | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/frontend/viewer/src/locales/es.po b/frontend/viewer/src/locales/es.po index 3f5f0aedec..4be75426b3 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-05-13 10:12\n" +"PO-Revision-Date: 2026-05-14 10:19\n" "Last-Translator: \n" "Language-Team: Spanish\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -1373,7 +1373,7 @@ msgstr "Abrir archivo Log" #: src/lib/components/OpenInFieldWorksButton.svelte msgid "Opening in FieldWorks…" -msgstr "" +msgstr "Abriendo en FieldWorks…" #. Color theme option #: src/lib/components/ThemePicker.svelte From d4d785f0a8c617c06c78a132f27b689ab6dc489b Mon Sep 17 00:00:00 2001 From: Tim Haasdyk Date: Thu, 14 May 2026 12:19:26 +0200 Subject: [PATCH 51/60] New translations en.po (Korean) [ci skip] --- frontend/viewer/src/locales/ko.po | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/frontend/viewer/src/locales/ko.po b/frontend/viewer/src/locales/ko.po index b96a558d03..b4b4e8d397 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-05-13 10:12\n" +"PO-Revision-Date: 2026-05-14 10:19\n" "Last-Translator: \n" "Language-Team: Korean\n" "Plural-Forms: nplurals=1; plural=0;\n" @@ -1373,7 +1373,7 @@ msgstr "로그 파일 열기" #: src/lib/components/OpenInFieldWorksButton.svelte msgid "Opening in FieldWorks…" -msgstr "" +msgstr "FieldWorks에서 열기…" #. Color theme option #: src/lib/components/ThemePicker.svelte From 73c9cee4c177cf277e488165e7f2cc81c854515c Mon Sep 17 00:00:00 2001 From: Tim Haasdyk Date: Thu, 14 May 2026 12:19:28 +0200 Subject: [PATCH 52/60] New translations en.po (Vietnamese) [ci skip] --- frontend/viewer/src/locales/vi.po | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/frontend/viewer/src/locales/vi.po b/frontend/viewer/src/locales/vi.po index 154dc8c769..dd548460d6 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-05-13 10:12\n" +"PO-Revision-Date: 2026-05-14 10:19\n" "Last-Translator: \n" "Language-Team: Vietnamese\n" "Plural-Forms: nplurals=1; plural=0;\n" @@ -1373,7 +1373,7 @@ msgstr "Mở tệp nhật ký" #: src/lib/components/OpenInFieldWorksButton.svelte msgid "Opening in FieldWorks…" -msgstr "" +msgstr "Mở trong FieldWorks…" #. Color theme option #: src/lib/components/ThemePicker.svelte From 16413fc04aa9862514f199bdcd1ac7d28be5c735 Mon Sep 17 00:00:00 2001 From: Tim Haasdyk Date: Thu, 14 May 2026 12:19:29 +0200 Subject: [PATCH 53/60] New translations en.po (Indonesian) [ci skip] --- frontend/viewer/src/locales/id.po | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/frontend/viewer/src/locales/id.po b/frontend/viewer/src/locales/id.po index 7b1fce0c6f..12c9a04b23 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-05-13 10:12\n" +"PO-Revision-Date: 2026-05-14 10:19\n" "Last-Translator: \n" "Language-Team: Indonesian\n" "Plural-Forms: nplurals=1; plural=0;\n" @@ -1373,7 +1373,7 @@ msgstr "Buka file Log" #: src/lib/components/OpenInFieldWorksButton.svelte msgid "Opening in FieldWorks…" -msgstr "" +msgstr "Pembukaan di FieldWorks…" #. Color theme option #: src/lib/components/ThemePicker.svelte From 31e62496e187fe5c53e7526cc4e4344ea14bcc84 Mon Sep 17 00:00:00 2001 From: Tim Haasdyk Date: Thu, 14 May 2026 12:19:31 +0200 Subject: [PATCH 54/60] New translations en.po (Malay) [ci skip] --- frontend/viewer/src/locales/ms.po | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/frontend/viewer/src/locales/ms.po b/frontend/viewer/src/locales/ms.po index 0b5ccd661c..4313ee6655 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-05-13 10:12\n" +"PO-Revision-Date: 2026-05-14 10:19\n" "Last-Translator: \n" "Language-Team: Malay\n" "Plural-Forms: nplurals=1; plural=0;\n" @@ -1373,7 +1373,7 @@ msgstr "Buka fail Log" #: src/lib/components/OpenInFieldWorksButton.svelte msgid "Opening in FieldWorks…" -msgstr "" +msgstr "Membuka dalam FieldWorks…" #. Color theme option #: src/lib/components/ThemePicker.svelte From 5f9887a8e8b6af714094ef17dcb3581ff1dd74eb Mon Sep 17 00:00:00 2001 From: Tim Haasdyk Date: Thu, 14 May 2026 12:19:33 +0200 Subject: [PATCH 55/60] New translations en.po (Swahili) [ci skip] --- frontend/viewer/src/locales/sw.po | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/frontend/viewer/src/locales/sw.po b/frontend/viewer/src/locales/sw.po index 6f037b1747..238f0cc44a 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-05-13 10:12\n" +"PO-Revision-Date: 2026-05-14 10:19\n" "Last-Translator: \n" "Language-Team: Swahili\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -1373,7 +1373,7 @@ msgstr "Fungua faili la logi" #: src/lib/components/OpenInFieldWorksButton.svelte msgid "Opening in FieldWorks…" -msgstr "" +msgstr "Kufungua katika FieldWorks…" #. Color theme option #: src/lib/components/ThemePicker.svelte From 76c022fe4c5d4f5f5225d0165c62d26efbabadfd Mon Sep 17 00:00:00 2001 From: Tim Haasdyk Date: Thu, 28 May 2026 12:55:36 +0200 Subject: [PATCH 56/60] New translations en.po (Vietnamese) [ci skip] --- frontend/viewer/src/locales/vi.po | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/frontend/viewer/src/locales/vi.po b/frontend/viewer/src/locales/vi.po index dd548460d6..a1dd980544 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-05-14 10:19\n" +"PO-Revision-Date: 2026-05-28 10:55\n" "Last-Translator: \n" "Language-Team: Vietnamese\n" "Plural-Forms: nplurals=1; plural=0;\n" @@ -23,7 +23,7 @@ msgstr "" #. {0} = number of changes (e.g., 1, 5, 10) #: src/lib/activity/ActivityItem.svelte msgid "– ({0} changes)" -msgstr "– ({0} thay đổi)" +msgstr "– ({0} các thay đổi)" #. Generic placeholder for dynamic content #: src/home/HomeView.svelte @@ -36,12 +36,12 @@ msgstr "{0}" #. Suffix for field labels #: src/lib/components/editor/field/field-title.svelte msgid "{0} (FieldWorks Lite)" -msgstr "" +msgstr "{0} (FieldWorks Lite)" #. Suffix for field labels #: src/lib/components/editor/field/field-title.svelte msgid "{0} (FieldWorks)" -msgstr "" +msgstr "{0} (FieldWorks)" #. Time display format #: src/lib/components/ui/format/format-relative-date-fn.svelte.ts @@ -51,7 +51,7 @@ msgstr "{0} trước" #. File size display with unit #: src/lib/components/audio/audio-editor.svelte msgid "{0} MB" -msgstr "" +msgstr "{0} MB" #. Display name for server #: src/home/Server.svelte From a18f29cf89d9610dfe75c4257564f60d3b544dd7 Mon Sep 17 00:00:00 2001 From: Tim Haasdyk Date: Thu, 28 May 2026 12:55:38 +0200 Subject: [PATCH 57/60] New translations en.po (Malay) [ci skip] --- frontend/viewer/src/locales/ms.po | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/frontend/viewer/src/locales/ms.po b/frontend/viewer/src/locales/ms.po index 4313ee6655..bd8ea85d2e 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-05-14 10:19\n" +"PO-Revision-Date: 2026-05-28 10:55\n" "Last-Translator: \n" "Language-Team: Malay\n" "Plural-Forms: nplurals=1; plural=0;\n" @@ -216,7 +216,7 @@ msgstr "Mana-mana bahagian pertuturan" #. Publication = dictionary/publication type for distributing entries #: src/project/browse/filter/PublicationSelect.svelte msgid "Any publication" -msgstr "" +msgstr "Sebarang penerbitan" #. Filter dropdown option #. Clears semantic domain filter @@ -801,7 +801,7 @@ msgstr "Pengguna FieldWorks Lite akan menerima perubahan yang dibuat dalam Field #: src/lib/troubleshoot/TroubleshootDialog.svelte #: src/lib/updates/UpdateDialog.svelte msgid "FieldWorks Lite version" -msgstr "" +msgstr "Versi FieldWorks Lite" #. Alt text for FieldWorks logo image #: src/home/HomeView.svelte @@ -890,7 +890,7 @@ msgstr "Tapis..." #. Header in entry filter panel #: src/project/browse/SearchFilter.svelte msgid "Filters" -msgstr "" +msgstr "Penapis" #. Relevant view: Classic #. Lite view equivalent: "Find word..." @@ -1034,7 +1034,7 @@ msgstr "Panjang:" #. Product name #: src/project/sync/SyncStatusPrimitive.svelte msgid "Lexbox" -msgstr "" +msgstr "Lexbox" #: src/home/HomeView.svelte msgid "Lexbox logo" @@ -1050,7 +1050,7 @@ msgstr "Bentuk leksem" #: src/lib/entry-editor/NewEntryDialog.svelte #: src/lib/views/custom/validation.ts msgid "Lexeme form or Citation form is required" -msgstr "" +msgstr "Bentuk leksem atau bentuk sitasi diperlukan." #: src/lib/components/ThemePicker.svelte msgid "Light" @@ -1431,7 +1431,7 @@ msgstr "Disemat" #: src/lib/troubleshoot/TroubleshootDialog.svelte #: src/lib/updates/UpdateDialog.svelte msgid "Platform" -msgstr "" +msgstr "Platform" #. View option #: src/lib/activity/ActivityItem.svelte @@ -1442,7 +1442,7 @@ msgstr "Pratonton" #. Shown in the change preview area where no preview is available for the selected change #: src/lib/activity/ActivityItemChangePreview.svelte msgid "Preview not available" -msgstr "" +msgstr "Praperintian tidak tersedia" #. Label in project card #: src/home/HomeView.svelte @@ -1469,7 +1469,7 @@ msgstr "Nama projek..." #. Used to organize entries by which publication(s) they should appear in #: src/project/browse/SearchFilter.svelte msgid "Publication" -msgstr "" +msgstr "Penerbitan" #. Relevant view: Classic #. Lite view equivalent: "Publish Word in" @@ -2061,7 +2061,7 @@ msgstr "Perkataan sahaja" #: src/lib/entry-editor/NewEntryDialog.svelte #: src/lib/views/custom/validation.ts msgid "Word or Display as is required" -msgstr "" +msgstr "Perkataan atau paparan mengikut keperluan" #. Relevant view: Lite #. Classic view equivalent: "Entry or sense:" From af83b48bb294a3b37048293016234cdef1171913 Mon Sep 17 00:00:00 2001 From: Tim Haasdyk Date: Thu, 28 May 2026 12:55:40 +0200 Subject: [PATCH 58/60] New translations en.po (Swahili) [ci skip] --- frontend/viewer/src/locales/sw.po | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/frontend/viewer/src/locales/sw.po b/frontend/viewer/src/locales/sw.po index 238f0cc44a..284b2b78bd 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-05-14 10:19\n" +"PO-Revision-Date: 2026-05-28 10:55\n" "Last-Translator: \n" "Language-Team: Swahili\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -36,12 +36,12 @@ msgstr "{0}" #. Suffix for field labels #: src/lib/components/editor/field/field-title.svelte msgid "{0} (FieldWorks Lite)" -msgstr "" +msgstr "{0} (FieldWorks Lite)" #. Suffix for field labels #: src/lib/components/editor/field/field-title.svelte msgid "{0} (FieldWorks)" -msgstr "" +msgstr "{0} (Kazi za Uwanja)" #. Time display format #: src/lib/components/ui/format/format-relative-date-fn.svelte.ts @@ -51,7 +51,7 @@ msgstr "{0} iliyopita" #. File size display with unit #: src/lib/components/audio/audio-editor.svelte msgid "{0} MB" -msgstr "" +msgstr "{0} Mama/Baba" #. Display name for server #: src/home/Server.svelte @@ -216,7 +216,7 @@ msgstr "Aina yoyote ya kielezeshi" #. Publication = dictionary/publication type for distributing entries #: src/project/browse/filter/PublicationSelect.svelte msgid "Any publication" -msgstr "" +msgstr "Kila uchapishaji" #. Filter dropdown option #. Clears semantic domain filter @@ -801,7 +801,7 @@ msgstr "Watumiaji wa FieldWorks Lite watapokea otomatiki mabadiliko yaliyofanywa #: src/lib/troubleshoot/TroubleshootDialog.svelte #: src/lib/updates/UpdateDialog.svelte msgid "FieldWorks Lite version" -msgstr "" +msgstr "Toleo la FieldWorks Lite" #. Alt text for FieldWorks logo image #: src/home/HomeView.svelte @@ -890,7 +890,7 @@ msgstr "Kichuja..." #. Header in entry filter panel #: src/project/browse/SearchFilter.svelte msgid "Filters" -msgstr "" +msgstr "Vichujio" #. Relevant view: Classic #. Lite view equivalent: "Find word..." @@ -1034,7 +1034,7 @@ msgstr "Urefu:" #. Product name #: src/project/sync/SyncStatusPrimitive.svelte msgid "Lexbox" -msgstr "" +msgstr "Sanduku la maneno" #: src/home/HomeView.svelte msgid "Lexbox logo" @@ -1050,7 +1050,7 @@ msgstr "Fomu ya Neno" #: src/lib/entry-editor/NewEntryDialog.svelte #: src/lib/views/custom/validation.ts msgid "Lexeme form or Citation form is required" -msgstr "" +msgstr "Fomu ya lekseme au fomu ya nukuu inahitajika" #: src/lib/components/ThemePicker.svelte msgid "Light" @@ -1442,7 +1442,7 @@ msgstr "Hakiki" #. Shown in the change preview area where no preview is available for the selected change #: src/lib/activity/ActivityItemChangePreview.svelte msgid "Preview not available" -msgstr "" +msgstr "Muonekano awali haupatikani" #. Label in project card #: src/home/HomeView.svelte @@ -1469,7 +1469,7 @@ msgstr "Jina la mradi..." #. Used to organize entries by which publication(s) they should appear in #: src/project/browse/SearchFilter.svelte msgid "Publication" -msgstr "" +msgstr "Uchapishaji" #. Relevant view: Classic #. Lite view equivalent: "Publish Word in" @@ -2061,7 +2061,7 @@ msgstr "Neno tu" #: src/lib/entry-editor/NewEntryDialog.svelte #: src/lib/views/custom/validation.ts msgid "Word or Display as is required" -msgstr "" +msgstr "Neno au Onyesha kulingana na inavyohitajika" #. Relevant view: Lite #. Classic view equivalent: "Entry or sense:" From e8515fa3535dcd19628247557b3e967df017af0f Mon Sep 17 00:00:00 2001 From: Tim Haasdyk Date: Thu, 28 May 2026 13:19:17 +0200 Subject: [PATCH 59/60] Apply translation fixes from review pass Brand-name decomposition fixes (sw): Lexbox, FieldWorks Abbreviation decomposition fix (sw): MB Plus 18 other corrections across es/fr/id/ko/ms/sw/vi. --- frontend/viewer/src/locales/es.po | 4 ++-- frontend/viewer/src/locales/fr.po | 2 +- frontend/viewer/src/locales/id.po | 4 ++-- frontend/viewer/src/locales/ko.po | 4 ++-- frontend/viewer/src/locales/ms.po | 8 ++++---- frontend/viewer/src/locales/sw.po | 12 ++++++------ frontend/viewer/src/locales/vi.po | 10 +++++----- 7 files changed, 22 insertions(+), 22 deletions(-) diff --git a/frontend/viewer/src/locales/es.po b/frontend/viewer/src/locales/es.po index 0a269d49e2..2ce149f325 100644 --- a/frontend/viewer/src/locales/es.po +++ b/frontend/viewer/src/locales/es.po @@ -1050,7 +1050,7 @@ 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" +msgstr "Se requiere la forma de lexema o la forma de citación" #: src/lib/components/ThemePicker.svelte msgid "Light" @@ -2061,7 +2061,7 @@ 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" +msgstr "Se requiere Palabra o Mostrar como" #. Relevant view: Lite #. Classic view equivalent: "Entry or sense:" diff --git a/frontend/viewer/src/locales/fr.po b/frontend/viewer/src/locales/fr.po index 49745bdb35..eb80952e21 100644 --- a/frontend/viewer/src/locales/fr.po +++ b/frontend/viewer/src/locales/fr.po @@ -1483,7 +1483,7 @@ msgstr "Publier l'entrée dans" #. Field label: selects which publications a word appears in. #: src/lib/views/entity-config.ts msgid "Publish Word in" -msgstr "Publier mot dans" +msgstr "Publier le mot dans" #. Field label for citation source #. Source attribution for an example sentence (book title, page, URL, etc.) diff --git a/frontend/viewer/src/locales/id.po b/frontend/viewer/src/locales/id.po index 0dc23084c5..9b8f51705e 100644 --- a/frontend/viewer/src/locales/id.po +++ b/frontend/viewer/src/locales/id.po @@ -1199,7 +1199,7 @@ 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" +msgstr "Tampilan Khusus Baru" #: src/project/sync/FwLiteToFwMergeDetails.svelte msgid "New data" @@ -1483,7 +1483,7 @@ msgstr "Publikasikan Entri di" #. Field label: selects which publications a word appears in. #: src/lib/views/entity-config.ts msgid "Publish Word in" -msgstr "Menerbitkan Word di" +msgstr "Menerbitkan Kata di" #. Field label for citation source #. Source attribution for an example sentence (book title, page, URL, etc.) diff --git a/frontend/viewer/src/locales/ko.po b/frontend/viewer/src/locales/ko.po index ef7ac0c839..83f3074741 100644 --- a/frontend/viewer/src/locales/ko.po +++ b/frontend/viewer/src/locales/ko.po @@ -1483,7 +1483,7 @@ msgstr "에 항목 게시" #. Field label: selects which publications a word appears in. #: src/lib/views/entity-config.ts msgid "Publish Word in" -msgstr "Word를 다음 위치에 게시" +msgstr "단어를 다음 위치에 게시" #. Field label for citation source #. Source attribution for an example sentence (book title, page, URL, etc.) @@ -2061,7 +2061,7 @@ msgstr "단어 전용" #: src/lib/entry-editor/NewEntryDialog.svelte #: src/lib/views/custom/validation.ts msgid "Word or Display as is required" -msgstr "단어 또는 필요에 따라 표시" +msgstr "단어 또는 표시 이름은 필수 입력 사항입니다." #. Relevant view: Lite #. Classic view equivalent: "Entry or sense:" diff --git a/frontend/viewer/src/locales/ms.po b/frontend/viewer/src/locales/ms.po index 67f54acac8..64f43991bb 100644 --- a/frontend/viewer/src/locales/ms.po +++ b/frontend/viewer/src/locales/ms.po @@ -783,7 +783,7 @@ msgstr "Bidang" #. Shows checkboxes to select which dictionary fields are visible (grouped by entry, sense, example). #: src/lib/views/custom/CustomViewForm.svelte msgid "Fields" -msgstr "Ladang" +msgstr "Medan" #. Product name #: src/project/sync/SyncStatusPrimitive.svelte @@ -1442,7 +1442,7 @@ msgstr "Pratonton" #. Shown in the change preview area where no preview is available for the selected change #: src/lib/activity/ActivityItemChangePreview.svelte msgid "Preview not available" -msgstr "Praperintian tidak tersedia" +msgstr "Pratonton tidak tersedia" #. Label in project card #: src/home/HomeView.svelte @@ -1483,7 +1483,7 @@ msgstr "Terbitkan Kemasukan dalam" #. Field label: selects which publications a word appears in. #: src/lib/views/entity-config.ts msgid "Publish Word in" -msgstr "Terbitkan Word dalam" +msgstr "Terbitkan Perkataan dalam" #. Field label for citation source #. Source attribution for an example sentence (book title, page, URL, etc.) @@ -2061,7 +2061,7 @@ msgstr "Perkataan sahaja" #: src/lib/entry-editor/NewEntryDialog.svelte #: src/lib/views/custom/validation.ts msgid "Word or Display as is required" -msgstr "Perkataan atau paparan mengikut keperluan" +msgstr "Perkataan atau Papar Sebagai diperlukan" #. Relevant view: Lite #. Classic view equivalent: "Entry or sense:" diff --git a/frontend/viewer/src/locales/sw.po b/frontend/viewer/src/locales/sw.po index 00369cb302..72ef3998bd 100644 --- a/frontend/viewer/src/locales/sw.po +++ b/frontend/viewer/src/locales/sw.po @@ -41,7 +41,7 @@ msgstr "{0} (FieldWorks Lite)" #. Suffix for field labels #: src/lib/components/editor/field/field-title.svelte msgid "{0} (FieldWorks)" -msgstr "{0} (Kazi za Uwanja)" +msgstr "{0} (FieldWorks)" #. Time display format #: src/lib/components/ui/format/format-relative-date-fn.svelte.ts @@ -51,7 +51,7 @@ msgstr "{0} iliyopita" #. File size display with unit #: src/lib/components/audio/audio-editor.svelte msgid "{0} MB" -msgstr "{0} Mama/Baba" +msgstr "{0} MB" #. Display name for server #: src/home/Server.svelte @@ -216,7 +216,7 @@ msgstr "Aina yoyote ya kielezeshi" #. Publication = dictionary/publication type for distributing entries #: src/project/browse/filter/PublicationSelect.svelte msgid "Any publication" -msgstr "Kila uchapishaji" +msgstr "Uchapishaji wowote" #. Filter dropdown option #. Clears semantic domain filter @@ -1034,7 +1034,7 @@ msgstr "Urefu:" #. Product name #: src/project/sync/SyncStatusPrimitive.svelte msgid "Lexbox" -msgstr "Sanduku la maneno" +msgstr "Lexbox" #: src/home/HomeView.svelte msgid "Lexbox logo" @@ -1476,7 +1476,7 @@ msgstr "Uchapishaji" #. Field label: selects which publications an entry appears in. #: src/lib/views/entity-config.ts msgid "Publish Entry in" -msgstr "Chapisha Kuingia katika" +msgstr "Chapisha Ingizo katika" #. Relevant view: Lite #. Classic view equivalent: "Publish Entry in" @@ -2011,7 +2011,7 @@ msgstr "Inatumia sehemu kama" #. Labels the vernacular language writing systems (the language being documented). #: src/lib/views/custom/CustomViewWritingSystems.svelte msgid "Vernacular" -msgstr "Kiswahili" +msgstr "Lugha ya kienyeji" #. Button label #: src/project/browse/ViewPicker.svelte diff --git a/frontend/viewer/src/locales/vi.po b/frontend/viewer/src/locales/vi.po index 08f65eb671..2807cafb15 100644 --- a/frontend/viewer/src/locales/vi.po +++ b/frontend/viewer/src/locales/vi.po @@ -23,7 +23,7 @@ msgstr "" #. {0} = number of changes (e.g., 1, 5, 10) #: src/lib/activity/ActivityItem.svelte msgid "– ({0} changes)" -msgstr "– ({0} các thay đổi)" +msgstr "– ({0} thay đổi)" #. Generic placeholder for dynamic content #: src/home/HomeView.svelte @@ -1174,7 +1174,7 @@ 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..." +msgstr "Chế độ xem tùy chỉnh của tôi..." #. Field label for the custom view name input. #: src/lib/views/custom/CustomViewForm.svelte @@ -1483,7 +1483,7 @@ msgstr "Đăng bài viết trong" #. 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" +msgstr "Xuất bản Từ trong" #. Field label for citation source #. Source attribution for an example sentence (book title, page, URL, etc.) @@ -1592,7 +1592,7 @@ 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" +msgstr "Chọn ít nhất một hệ thống chữ viết phân tích" #. Validation error when no vernacular writing systems are selected in custom view form. #: src/lib/views/custom/validation.ts @@ -2061,7 +2061,7 @@ 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." +msgstr "Từ hoặc Hiển thị như là bắt buộc." #. Relevant view: Lite #. Classic view equivalent: "Entry or sense:" From cad0a8dfa319347eee530e86e902f3f42e143e3c Mon Sep 17 00:00:00 2001 From: Tim Haasdyk Date: Thu, 28 May 2026 14:31:31 +0200 Subject: [PATCH 60/60] Backfill translator context for 49 msgids One-time catch-up: added #. context comments to msgids in en.po that predated the /crowdin-merge skill's context step. With the skill in consistent use going forward, this kind of backfill should never be needed again. Comments propagated to all 7 locales via pnpm i18n:extract. --- frontend/viewer/src/locales/en.po | 52 +++++++++++++++++++++++++++++++ frontend/viewer/src/locales/es.po | 52 +++++++++++++++++++++++++++++++ frontend/viewer/src/locales/fr.po | 52 +++++++++++++++++++++++++++++++ frontend/viewer/src/locales/id.po | 52 +++++++++++++++++++++++++++++++ frontend/viewer/src/locales/ko.po | 52 +++++++++++++++++++++++++++++++ frontend/viewer/src/locales/ms.po | 52 +++++++++++++++++++++++++++++++ frontend/viewer/src/locales/sw.po | 52 +++++++++++++++++++++++++++++++ frontend/viewer/src/locales/vi.po | 52 +++++++++++++++++++++++++++++++ 8 files changed, 416 insertions(+) diff --git a/frontend/viewer/src/locales/en.po b/frontend/viewer/src/locales/en.po index f2b67c9f00..7678587387 100644 --- a/frontend/viewer/src/locales/en.po +++ b/frontend/viewer/src/locales/en.po @@ -785,14 +785,17 @@ msgstr "Fields" msgid "FieldWorks Lite" msgstr "FieldWorks Lite" +#. Success notification shown after FieldWorks Lite auto-updates. "FieldWorks Lite" is a product name — do not translate. #: src/lib/notifications/NotificationOutlet.svelte msgid "FieldWorks Lite has been updated successfully. Please restart the app to apply the changes." msgstr "FieldWorks Lite has been updated successfully. Please restart the app to apply the changes." +#. Explanatory text in a popover on the sync panel. "FieldWorks Lite" and "FieldWorks Classic" are product names — do not translate. #: src/project/sync/FwLiteToFwMergeDetails.svelte 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." +#. Field label in Troubleshoot and Update dialogs. "FieldWorks Lite" is a product name — do not translate. #: src/lib/troubleshoot/TroubleshootDialog.svelte #: src/lib/updates/UpdateDialog.svelte msgid "FieldWorks Lite version" @@ -958,6 +961,7 @@ msgstr "green" msgid "Headword" msgstr "Headword" +#. Radio button option to hide the Dictionary Preview panel in the entry editor. Paired with "Show" and "Pinned". #: src/project/browse/EditorViewOptions.svelte msgid "Hide" msgstr "Hide" @@ -978,22 +982,28 @@ msgstr "Hold to record or#press and release to start recording." msgid "I don't see my project" msgstr "I don't see my project" +#. Toggle switch label in the delete confirmation dialog when the action is flagged as dangerous (e.g. deleting a project). +#. User must enable this switch before the Delete button is enabled. #: src/lib/entry-editor/DeleteDialog.svelte msgid "I understand that this can't be undone" msgstr "I understand that this can't be undone" +#. Dev-mode only icon button tooltip on a Classic FieldWorks project list item. Imports the fwdata project into FwLite. #: src/home/HomeView.svelte msgid "Import" msgstr "Import" +#. Future relative date format. {0} = formatted duration string (e.g., "3 hours", "2 days"). Paired with "{0} ago" for past dates. #: src/lib/components/ui/format/format-relative-date-fn.svelte.ts msgid "in {0}" msgstr "in {0}" +#. Toggle switch in the filter panel next to the semantic domain selector. When enabled, also matches child semantic domains. #: src/project/browse/SearchFilter.svelte msgid "Include subdomains" msgstr "Include subdomains" +#. Filter section label in the browse filter panel. Below it is a dropdown to filter entries that are missing a specific field (e.g., missing gloss or definition). #: src/project/browse/SearchFilter.svelte msgid "Incomplete entries" msgstr "Incomplete entries" @@ -1013,15 +1023,18 @@ msgstr "Installing Update..." msgid "Keep going" msgstr "Keep going" +#. Label showing the date of the last change in the FwLite↔Classic sync panel. # is replaced by a formatted relative date component (e.g., "3 days ago"). #: src/project/sync/FwLiteToFwMergeDetails.svelte #: src/project/sync/FwLiteToFwMergeDetails.svelte msgid "Last change: #" msgstr "Last change: #" +#. Label showing the timestamp of the last local sync in the sync panel. # is replaced by a formatted relative date component (e.g., "5 minutes ago"). #: src/project/sync/SyncStatusPrimitive.svelte msgid "Last sync: #" msgstr "Last sync: #" +#. Field label in the audio editor showing the duration of the audio file. #: src/lib/components/audio/audio-editor.svelte msgid "Length:" msgstr "Length:" @@ -1031,6 +1044,7 @@ msgstr "Length:" msgid "Lexbox" msgstr "Lexbox" +#. Alt text for the Lexbox logo image shown in the home screen app bar. "Lexbox" is a product name — do not translate. #: src/home/HomeView.svelte msgid "Lexbox logo" msgstr "Lexbox logo" @@ -1042,6 +1056,9 @@ msgstr "Lexbox logo" msgid "Lexeme form" msgstr "Lexeme form" +#. Relevant view: Classic +#. Lite view equivalent: "Word or Display as is required" +#. Validation error in the New Entry dialog when neither the Lexeme form nor Citation form field has a value. #: src/lib/entry-editor/NewEntryDialog.svelte #: src/lib/views/custom/validation.ts msgid "Lexeme form or Citation form is required" @@ -1051,6 +1068,7 @@ msgstr "Lexeme form or Citation form is required" msgid "Light" msgstr "Light" +#. Section header in the entry list view options popup. Controls whether the entry list shows simple rows or a preview. Options below it: "Simple" and "Preview". #: src/project/browse/EntryListViewOptions.svelte msgid "List mode" msgstr "List mode" @@ -1062,6 +1080,7 @@ msgstr "List mode" msgid "Literal meaning" msgstr "Literal meaning" +#. Loading state text shown in the project/dictionary dropdown while the list of dictionaries is being fetched. #: src/project/ProjectDropdown.svelte msgid "Loading Dictionaries..." msgstr "Loading Dictionaries..." @@ -1070,20 +1089,24 @@ msgstr "Loading Dictionaries..." msgid "loading..." msgstr "loading..." +#. Section label for the local device box in the sync panel, and section header on the home screen project list. #: src/home/HomeView.svelte #: src/project/sync/SyncStatusPrimitive.svelte msgid "Local" msgstr "Local" +#. Subtitle shown on a project card when the project has no server configured (no sync partner). #: src/home/HomeView.svelte msgid "Local only" msgstr "Local only" +#. Button label in the sync panel when the user is not logged in. Initiates authentication with the server. #: src/project/sync/FwLiteToFwMergeDetails.svelte #: src/project/sync/SyncStatusPrimitive.svelte msgid "Login" msgstr "Login" +#. Default button label on the login button when not yet authenticated. Clicking opens the login flow for a server. #: src/lib/auth/LoginButton.svelte #: src/lib/auth/LoginButton.svelte msgid "Login to see projects" @@ -1093,14 +1116,17 @@ msgstr "Login to see projects" msgid "Logout" msgstr "Logout" +#. Footer text in the project sidebar. The emoji flags are the countries of origin of the development team — do not translate. #: src/project/ProjectSidebar.svelte msgid "Made with ❤️ from 🇦🇹 🇹🇭 🇺🇸" msgstr "Made with ❤️ from 🇦🇹 🇹🇭 🇺🇸" +#. Button label in the Feedback & Support dialog. Opens an external link to submit a feature suggestion. #: src/lib/about/FeedbackDialog.svelte msgid "Make a suggestion" msgstr "Make a suggestion" +#. Warning shown in the delete-project confirmation dialog. Markdown link format: [link text]({0}) where {0} = URL to the sync dialog. "Lexbox" is a product name — do not translate. #: src/home/HomeView.svelte msgid "Make sure your [changes are synced]({0}) to Lexbox." msgstr "Make sure your [changes are synced]({0}) to Lexbox." @@ -1135,18 +1161,22 @@ msgstr "Manual update is required. Please follow the instructions provided." msgid "Meaning" msgstr "Meaning" +#. Task subject label in the task list. {0} = writing system abbreviation (e.g., "en", "fr"). Identifies entries lacking a definition in that writing system. #: src/project/tasks/tasks-service.ts msgid "Missing Definition {0}" msgstr "Missing Definition {0}" +#. Task subject label in the task list. {0} = writing system abbreviation (e.g., "en", "fr"). Identifies entries lacking an example sentence in that writing system. #: src/project/tasks/tasks-service.ts msgid "Missing Example sentence {0}" msgstr "Missing Example sentence {0}" +#. Task subject label in the task list. {0} = writing system abbreviation (e.g., "en", "fr"). Identifies entries lacking a gloss (brief translation) in that writing system. #: src/project/tasks/tasks-service.ts msgid "Missing Gloss {0}" msgstr "Missing Gloss {0}" +#. Task subject label in the task list. Identifies senses/meanings that have no part-of-speech (grammatical category) assigned. #: src/project/tasks/tasks-service.ts msgid "Missing Part of Speech" msgstr "Missing Part of Speech" @@ -1158,10 +1188,12 @@ msgstr "Missing Part of Speech" msgid "Missing: {0}" msgstr "Missing: {0}" +#. Section label in the theme picker popup for the light/dark/system mode selector. Options below it: "Light", "Dark", "System". #: src/lib/components/ThemePicker.svelte msgid "Mode" msgstr "Mode" +#. Drag-handle or button tooltip to reorder an item in a list (e.g., senses or examples within an entry). #: src/lib/entry-editor/ItemListItem.svelte msgid "Move" msgstr "Move" @@ -1187,6 +1219,7 @@ msgstr "Name is required" msgid "Never" msgstr "Never" +#. Badge label on the primary "New Entry" / "New Word" button indicating it creates a new item. #: src/project/PrimaryNewEntryButton.svelte msgid "New" msgstr "New" @@ -1196,6 +1229,7 @@ msgstr "New" msgid "New Custom View" msgstr "New Custom View" +#. Sync status indicator in the FwLite↔Classic sync panel. Shown when there are pending changes waiting to be applied. Paired with "No new data". #: src/project/sync/FwLiteToFwMergeDetails.svelte msgid "New data" msgstr "New data" @@ -1246,6 +1280,7 @@ msgstr "No Dictionaries found" msgid "No entries found" msgstr "No entries found" +#. Error message in the audio upload dialog when the user tries to save/upload without having selected a file. #: src/lib/components/audio/AudioDialog.svelte msgid "No file to upload" msgstr "No file to upload" @@ -1259,18 +1294,22 @@ msgstr "No history found" msgid "No items found" msgstr "No items found" +#. Sync status indicator in the FwLite↔Classic sync panel. Shown when there are no pending changes. Paired with "New data". #: src/project/sync/FwLiteToFwMergeDetails.svelte msgid "No new data" msgstr "No new data" +#. Sync status label shown in the sync panel when no server is associated with this project. #: src/project/sync/SyncStatusPrimitive.svelte msgid "No server" msgstr "No server" +#. Status text in the project sidebar when the project has no server/sync partner configured. #: src/project/ProjectSidebar.svelte msgid "No server configured" msgstr "No server configured" +#. Error message in the task editing drawer when no subject entity can be found. {0} = subject type (e.g., "sense", "example-sentence"). #: src/project/tasks/SubjectPopup.svelte msgid "No subject, unable to create a new {0}" msgstr "No subject, unable to create a new {0}" @@ -1295,15 +1334,18 @@ msgstr "None" msgid "Not equal" msgstr "Not equal" +#. Placeholder shown in the activity change preview when a referenced entry or sense no longer exists in the dictionary. #: src/lib/activity/ActivityItemChangePreview.svelte #: src/lib/activity/ActivityItemChangePreview.svelte msgid "Not found" msgstr "Not found" +#. Status text in the project sidebar indicating the user is not authenticated with the sync server. #: src/project/ProjectSidebar.svelte msgid "Not logged in" msgstr "Not logged in" +#. Badge label on an activity item indicating these local changes have not yet been uploaded to the server. #: src/lib/activity/ActivityItem.svelte msgid "Not synced" msgstr "Not synced" @@ -1315,6 +1357,7 @@ msgstr "Not synced" msgid "Note" msgstr "Note" +#. Error tooltip/message on the copy button when there is no text content available to copy to the clipboard. #: src/lib/components/ui/button/copy-button.svelte msgid "Nothing to copy" msgstr "Nothing to copy" @@ -1366,6 +1409,7 @@ msgstr "Open in new Window" msgid "Open Log file" msgstr "Open Log file" +#. Status message shown after the user clicks "Open in FieldWorks" while the handoff is in progress. "FieldWorks" is a product name — do not translate. #: src/lib/components/OpenInFieldWorksButton.svelte msgid "Opening in FieldWorks…" msgstr "Opening in FieldWorks…" @@ -1741,6 +1785,7 @@ msgstr "Sync FieldWorks Lite and FieldWorks Classic" msgid "Sync your changes with other FieldWorks Lite users" msgstr "Sync your changes with other FieldWorks Lite users" +#. Sync status label in the project sidebar indicating all changes are in sync with the server. #: src/project/ProjectSidebar.svelte msgid "Synced" msgstr "Synced" @@ -1790,6 +1835,7 @@ msgstr "Task not found: {0}" msgid "Tasks" msgstr "Tasks" +#. Short description under the "Report a technical problem" button in the Feedback & Support dialog. #: src/lib/about/FeedbackDialog.svelte msgid "Tell us about a bug or issue you’ve encountered." msgstr "Tell us about a bug or issue you’ve encountered." @@ -1870,6 +1916,7 @@ msgstr "Toggle pinned" msgid "Translation" msgstr "Translation" +#. Field title in the example editor when an entry has multiple translations. {0} = 1-based index number (e.g., "Translation 1", "Translation 2"). When there is only one translation, "Translation" is used instead. #: src/lib/entry-editor/object-editors/ExampleEditorPrimitive.svelte msgid "Translation {0}" msgstr "Translation {0}" @@ -1907,6 +1954,7 @@ msgstr "Type:" msgid "Unable to open in FieldWorks" msgstr "Unable to open in FieldWorks" +#. Fallback value shown when author name or last-change date is unavailable (e.g., in activity history or the sync panel). #: src/lib/activity/ActivityItem.svelte #: src/project/sync/FwLiteToFwMergeDetails.svelte #: src/project/sync/FwLiteToFwMergeDetails.svelte @@ -2053,6 +2101,9 @@ msgstr "Word" msgid "Word only" msgstr "Word only" +#. Relevant view: Lite +#. Classic view equivalent: "Lexeme form or Citation form is required" +#. Validation error in the New Word dialog when neither the Word (Lexeme form) nor Display as (Citation form) field has a value. #: src/lib/entry-editor/NewEntryDialog.svelte #: src/lib/views/custom/validation.ts msgid "Word or Display as is required" @@ -2070,6 +2121,7 @@ msgstr "Word or meaning:" msgid "Writing System" msgstr "Writing System" +#. Tooltip on a text span in the rich-text editor. {0} = writing system code (e.g., "en", "fr-IPA"). Identifies which writing system the span belongs to. #: src/lib/components/lcm-rich-text-editor/editor-schema.ts msgid "Writing system: {0}" msgstr "Writing system: {0}" diff --git a/frontend/viewer/src/locales/es.po b/frontend/viewer/src/locales/es.po index 2ce149f325..880e5da21e 100644 --- a/frontend/viewer/src/locales/es.po +++ b/frontend/viewer/src/locales/es.po @@ -790,14 +790,17 @@ msgstr "Campos" msgid "FieldWorks Lite" msgstr "FieldWorks Lite" +#. Success notification shown after FieldWorks Lite auto-updates. "FieldWorks Lite" is a product name — do not translate. #: src/lib/notifications/NotificationOutlet.svelte msgid "FieldWorks Lite has been updated successfully. Please restart the app to apply the changes." msgstr "FieldWorks Lite se ha actualizado correctamente. Reinicie la aplicación para aplicar los cambios." +#. Explanatory text in a popover on the sync panel. "FieldWorks Lite" and "FieldWorks Classic" are product names — do not translate. #: src/project/sync/FwLiteToFwMergeDetails.svelte 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." +#. Field label in Troubleshoot and Update dialogs. "FieldWorks Lite" is a product name — do not translate. #: src/lib/troubleshoot/TroubleshootDialog.svelte #: src/lib/updates/UpdateDialog.svelte msgid "FieldWorks Lite version" @@ -963,6 +966,7 @@ msgstr "verde" msgid "Headword" msgstr "Palabra clave" +#. Radio button option to hide the Dictionary Preview panel in the entry editor. Paired with "Show" and "Pinned". #: src/project/browse/EditorViewOptions.svelte msgid "Hide" msgstr "Ocultar" @@ -983,22 +987,28 @@ msgstr "Mantén presionado para grabar o#presionar y liberar para empezar a grab msgid "I don't see my project" msgstr "No veo mi proyecto" +#. Toggle switch label in the delete confirmation dialog when the action is flagged as dangerous (e.g. deleting a project). +#. User must enable this switch before the Delete button is enabled. #: src/lib/entry-editor/DeleteDialog.svelte msgid "I understand that this can't be undone" msgstr "Entiendo que esto no se puede deshacer" +#. Dev-mode only icon button tooltip on a Classic FieldWorks project list item. Imports the fwdata project into FwLite. #: src/home/HomeView.svelte msgid "Import" msgstr "Importar" +#. Future relative date format. {0} = formatted duration string (e.g., "3 hours", "2 days"). Paired with "{0} ago" for past dates. #: src/lib/components/ui/format/format-relative-date-fn.svelte.ts msgid "in {0}" msgstr "en {0}" +#. Toggle switch in the filter panel next to the semantic domain selector. When enabled, also matches child semantic domains. #: src/project/browse/SearchFilter.svelte msgid "Include subdomains" msgstr "Incluye subdominios" +#. Filter section label in the browse filter panel. Below it is a dropdown to filter entries that are missing a specific field (e.g., missing gloss or definition). #: src/project/browse/SearchFilter.svelte msgid "Incomplete entries" msgstr "Entradas incompletas" @@ -1018,15 +1028,18 @@ msgstr "Instalando actualización..." msgid "Keep going" msgstr "Continuar" +#. Label showing the date of the last change in the FwLite↔Classic sync panel. # is replaced by a formatted relative date component (e.g., "3 days ago"). #: src/project/sync/FwLiteToFwMergeDetails.svelte #: src/project/sync/FwLiteToFwMergeDetails.svelte msgid "Last change: #" msgstr "Último cambio: #" +#. Label showing the timestamp of the last local sync in the sync panel. # is replaced by a formatted relative date component (e.g., "5 minutes ago"). #: src/project/sync/SyncStatusPrimitive.svelte msgid "Last sync: #" msgstr "Última sincronización: #" +#. Field label in the audio editor showing the duration of the audio file. #: src/lib/components/audio/audio-editor.svelte msgid "Length:" msgstr "Longitud:" @@ -1036,6 +1049,7 @@ msgstr "Longitud:" msgid "Lexbox" msgstr "Lexbox" +#. Alt text for the Lexbox logo image shown in the home screen app bar. "Lexbox" is a product name — do not translate. #: src/home/HomeView.svelte msgid "Lexbox logo" msgstr "Logotipo de Lexbox" @@ -1047,6 +1061,9 @@ msgstr "Logotipo de Lexbox" msgid "Lexeme form" msgstr "Forma del lexema" +#. Relevant view: Classic +#. Lite view equivalent: "Word or Display as is required" +#. Validation error in the New Entry dialog when neither the Lexeme form nor Citation form field has a value. #: src/lib/entry-editor/NewEntryDialog.svelte #: src/lib/views/custom/validation.ts msgid "Lexeme form or Citation form is required" @@ -1056,6 +1073,7 @@ msgstr "Se requiere la forma de lexema o la forma de citación" msgid "Light" msgstr "Claro" +#. Section header in the entry list view options popup. Controls whether the entry list shows simple rows or a preview. Options below it: "Simple" and "Preview". #: src/project/browse/EntryListViewOptions.svelte msgid "List mode" msgstr "Modo lista" @@ -1067,6 +1085,7 @@ msgstr "Modo lista" msgid "Literal meaning" msgstr "Significado literal" +#. Loading state text shown in the project/dictionary dropdown while the list of dictionaries is being fetched. #: src/project/ProjectDropdown.svelte msgid "Loading Dictionaries..." msgstr "Cargando diccionarios..." @@ -1075,20 +1094,24 @@ msgstr "Cargando diccionarios..." msgid "loading..." msgstr "cargando..." +#. Section label for the local device box in the sync panel, and section header on the home screen project list. #: src/home/HomeView.svelte #: src/project/sync/SyncStatusPrimitive.svelte msgid "Local" msgstr "Local" +#. Subtitle shown on a project card when the project has no server configured (no sync partner). #: src/home/HomeView.svelte msgid "Local only" msgstr "Sólo local" +#. Button label in the sync panel when the user is not logged in. Initiates authentication with the server. #: src/project/sync/FwLiteToFwMergeDetails.svelte #: src/project/sync/SyncStatusPrimitive.svelte msgid "Login" msgstr "Inicio de sesión" +#. Default button label on the login button when not yet authenticated. Clicking opens the login flow for a server. #: src/lib/auth/LoginButton.svelte #: src/lib/auth/LoginButton.svelte msgid "Login to see projects" @@ -1098,14 +1121,17 @@ msgstr "Inicie sesión para ver los proyectos" msgid "Logout" msgstr "Cierre de sesión" +#. Footer text in the project sidebar. The emoji flags are the countries of origin of the development team — do not translate. #: src/project/ProjectSidebar.svelte msgid "Made with ❤️ from 🇦🇹 🇹🇭 🇺🇸" msgstr "Hecho con ❤️ de 🇦🇹 🇹🇭 🇺🇸" +#. Button label in the Feedback & Support dialog. Opens an external link to submit a feature suggestion. #: src/lib/about/FeedbackDialog.svelte msgid "Make a suggestion" msgstr "Haz una sugerencia" +#. Warning shown in the delete-project confirmation dialog. Markdown link format: [link text]({0}) where {0} = URL to the sync dialog. "Lexbox" is a product name — do not translate. #: src/home/HomeView.svelte msgid "Make sure your [changes are synced]({0}) to Lexbox." msgstr "Asegúrese de que su [cambios están sincronizados]({0}) en Lexbox." @@ -1140,18 +1166,22 @@ msgstr "Se requiere una actualización manual. Siga las instrucciones proporcion msgid "Meaning" msgstr "Significado" +#. Task subject label in the task list. {0} = writing system abbreviation (e.g., "en", "fr"). Identifies entries lacking a definition in that writing system. #: src/project/tasks/tasks-service.ts msgid "Missing Definition {0}" msgstr "Definición {0} perdida" +#. Task subject label in the task list. {0} = writing system abbreviation (e.g., "en", "fr"). Identifies entries lacking an example sentence in that writing system. #: src/project/tasks/tasks-service.ts msgid "Missing Example sentence {0}" msgstr "Frase de ejemplo {0} perdida" +#. Task subject label in the task list. {0} = writing system abbreviation (e.g., "en", "fr"). Identifies entries lacking a gloss (brief translation) in that writing system. #: src/project/tasks/tasks-service.ts msgid "Missing Gloss {0}" msgstr "Glosa {0} perdida" +#. Task subject label in the task list. Identifies senses/meanings that have no part-of-speech (grammatical category) assigned. #: src/project/tasks/tasks-service.ts msgid "Missing Part of Speech" msgstr "Parte de la oración perdido" @@ -1163,10 +1193,12 @@ msgstr "Parte de la oración perdido" msgid "Missing: {0}" msgstr "Falta: {0}" +#. Section label in the theme picker popup for the light/dark/system mode selector. Options below it: "Light", "Dark", "System". #: src/lib/components/ThemePicker.svelte msgid "Mode" msgstr "Modo" +#. Drag-handle or button tooltip to reorder an item in a list (e.g., senses or examples within an entry). #: src/lib/entry-editor/ItemListItem.svelte msgid "Move" msgstr "Mover" @@ -1192,6 +1224,7 @@ msgstr "Se requiere nombre" msgid "Never" msgstr "Nunca" +#. Badge label on the primary "New Entry" / "New Word" button indicating it creates a new item. #: src/project/PrimaryNewEntryButton.svelte msgid "New" msgstr "Nuevo" @@ -1201,6 +1234,7 @@ msgstr "Nuevo" msgid "New Custom View" msgstr "Nueva vista personalizada" +#. Sync status indicator in the FwLite↔Classic sync panel. Shown when there are pending changes waiting to be applied. Paired with "No new data". #: src/project/sync/FwLiteToFwMergeDetails.svelte msgid "New data" msgstr "Nuevos datos" @@ -1251,6 +1285,7 @@ msgstr "No se han encontrado diccionarios" msgid "No entries found" msgstr "No se han encontrado entradas" +#. Error message in the audio upload dialog when the user tries to save/upload without having selected a file. #: src/lib/components/audio/AudioDialog.svelte msgid "No file to upload" msgstr "Ningún archivo para subir" @@ -1264,18 +1299,22 @@ msgstr "No se han encontrado antecedentes" msgid "No items found" msgstr "No se han encontrado artículos" +#. Sync status indicator in the FwLite↔Classic sync panel. Shown when there are no pending changes. Paired with "New data". #: src/project/sync/FwLiteToFwMergeDetails.svelte msgid "No new data" msgstr "No hay nuevos datos" +#. Sync status label shown in the sync panel when no server is associated with this project. #: src/project/sync/SyncStatusPrimitive.svelte msgid "No server" msgstr "Sin servidor" +#. Status text in the project sidebar when the project has no server/sync partner configured. #: src/project/ProjectSidebar.svelte msgid "No server configured" msgstr "Ningún servidor configurado" +#. Error message in the task editing drawer when no subject entity can be found. {0} = subject type (e.g., "sense", "example-sentence"). #: src/project/tasks/SubjectPopup.svelte msgid "No subject, unable to create a new {0}" msgstr "No hay tema, no se puede crear un nuevo {0}" @@ -1300,15 +1339,18 @@ msgstr "Ninguno" msgid "Not equal" msgstr "No es igual" +#. Placeholder shown in the activity change preview when a referenced entry or sense no longer exists in the dictionary. #: src/lib/activity/ActivityItemChangePreview.svelte #: src/lib/activity/ActivityItemChangePreview.svelte msgid "Not found" msgstr "No encontrado" +#. Status text in the project sidebar indicating the user is not authenticated with the sync server. #: src/project/ProjectSidebar.svelte msgid "Not logged in" msgstr "No conectado" +#. Badge label on an activity item indicating these local changes have not yet been uploaded to the server. #: src/lib/activity/ActivityItem.svelte msgid "Not synced" msgstr "No sincronizado" @@ -1320,6 +1362,7 @@ msgstr "No sincronizado" msgid "Note" msgstr "Nota" +#. Error tooltip/message on the copy button when there is no text content available to copy to the clipboard. #: src/lib/components/ui/button/copy-button.svelte msgid "Nothing to copy" msgstr "Nada que copiar" @@ -1371,6 +1414,7 @@ msgstr "Abrir en una ventana nueva" msgid "Open Log file" msgstr "Abrir archivo Log" +#. Status message shown after the user clicks "Open in FieldWorks" while the handoff is in progress. "FieldWorks" is a product name — do not translate. #: src/lib/components/OpenInFieldWorksButton.svelte msgid "Opening in FieldWorks…" msgstr "Abriendo en FieldWorks…" @@ -1746,6 +1790,7 @@ msgstr "Sync FieldWorks Lite y FieldWorks Clásico" msgid "Sync your changes with other FieldWorks Lite users" msgstr "Sincroniza tus cambios con otros usuarios de FieldWorks Lite" +#. Sync status label in the project sidebar indicating all changes are in sync with the server. #: src/project/ProjectSidebar.svelte msgid "Synced" msgstr "Sincronizado" @@ -1795,6 +1840,7 @@ msgstr "Tarea no encontrada: {0}" msgid "Tasks" msgstr "Tareas" +#. Short description under the "Report a technical problem" button in the Feedback & Support dialog. #: src/lib/about/FeedbackDialog.svelte msgid "Tell us about a bug or issue you’ve encountered." msgstr "Cuéntanos acerca de un error o problema que hayas encontrado." @@ -1875,6 +1921,7 @@ msgstr "Alternar fijado" msgid "Translation" msgstr "Traducción" +#. Field title in the example editor when an entry has multiple translations. {0} = 1-based index number (e.g., "Translation 1", "Translation 2"). When there is only one translation, "Translation" is used instead. #: src/lib/entry-editor/object-editors/ExampleEditorPrimitive.svelte msgid "Translation {0}" msgstr "Traducción {0}" @@ -1912,6 +1959,7 @@ msgstr "Tipo:" msgid "Unable to open in FieldWorks" msgstr "No se puede abrir en FieldWorks" +#. Fallback value shown when author name or last-change date is unavailable (e.g., in activity history or the sync panel). #: src/lib/activity/ActivityItem.svelte #: src/project/sync/FwLiteToFwMergeDetails.svelte #: src/project/sync/FwLiteToFwMergeDetails.svelte @@ -2058,6 +2106,9 @@ msgstr "Palabra" msgid "Word only" msgstr "Sólo palabras" +#. Relevant view: Lite +#. Classic view equivalent: "Lexeme form or Citation form is required" +#. Validation error in the New Word dialog when neither the Word (Lexeme form) nor Display as (Citation form) field has a value. #: src/lib/entry-editor/NewEntryDialog.svelte #: src/lib/views/custom/validation.ts msgid "Word or Display as is required" @@ -2075,6 +2126,7 @@ msgstr "Palabra o significado:" msgid "Writing System" msgstr "Sistema de escritura" +#. Tooltip on a text span in the rich-text editor. {0} = writing system code (e.g., "en", "fr-IPA"). Identifies which writing system the span belongs to. #: src/lib/components/lcm-rich-text-editor/editor-schema.ts msgid "Writing system: {0}" msgstr "Sistema de escritura: {0}" diff --git a/frontend/viewer/src/locales/fr.po b/frontend/viewer/src/locales/fr.po index eb80952e21..485d6334c9 100644 --- a/frontend/viewer/src/locales/fr.po +++ b/frontend/viewer/src/locales/fr.po @@ -790,14 +790,17 @@ msgstr "Champs" msgid "FieldWorks Lite" msgstr "FieldWorks Lite" +#. Success notification shown after FieldWorks Lite auto-updates. "FieldWorks Lite" is a product name — do not translate. #: src/lib/notifications/NotificationOutlet.svelte msgid "FieldWorks Lite has been updated successfully. Please restart the app to apply the changes." msgstr "FieldWorks Lite a été mis à jour avec succès. Veuillez redémarrer l'application pour appliquer les modifications." +#. Explanatory text in a popover on the sync panel. "FieldWorks Lite" and "FieldWorks Classic" are product names — do not translate. #: src/project/sync/FwLiteToFwMergeDetails.svelte 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." +#. Field label in Troubleshoot and Update dialogs. "FieldWorks Lite" is a product name — do not translate. #: src/lib/troubleshoot/TroubleshootDialog.svelte #: src/lib/updates/UpdateDialog.svelte msgid "FieldWorks Lite version" @@ -963,6 +966,7 @@ msgstr "Vert" msgid "Headword" msgstr "Entrée de dictionnaire" +#. Radio button option to hide the Dictionary Preview panel in the entry editor. Paired with "Show" and "Pinned". #: src/project/browse/EditorViewOptions.svelte msgid "Hide" msgstr "Cacher" @@ -983,22 +987,28 @@ msgstr "Maintenez pour enregistrer ou#presse et relâcher pour commencer l'enreg msgid "I don't see my project" msgstr "Je ne vois pas mon projet" +#. Toggle switch label in the delete confirmation dialog when the action is flagged as dangerous (e.g. deleting a project). +#. User must enable this switch before the Delete button is enabled. #: src/lib/entry-editor/DeleteDialog.svelte msgid "I understand that this can't be undone" msgstr "Je comprends que cela ne peut pas être annulé" +#. Dev-mode only icon button tooltip on a Classic FieldWorks project list item. Imports the fwdata project into FwLite. #: src/home/HomeView.svelte msgid "Import" msgstr "Importer" +#. Future relative date format. {0} = formatted duration string (e.g., "3 hours", "2 days"). Paired with "{0} ago" for past dates. #: src/lib/components/ui/format/format-relative-date-fn.svelte.ts msgid "in {0}" msgstr "dans {0}" +#. Toggle switch in the filter panel next to the semantic domain selector. When enabled, also matches child semantic domains. #: src/project/browse/SearchFilter.svelte msgid "Include subdomains" msgstr "Inclure les sous-domaines" +#. Filter section label in the browse filter panel. Below it is a dropdown to filter entries that are missing a specific field (e.g., missing gloss or definition). #: src/project/browse/SearchFilter.svelte msgid "Incomplete entries" msgstr "Entrées incomplètes" @@ -1018,15 +1028,18 @@ msgstr "Installation de la mise à jour..." msgid "Keep going" msgstr "Continuez" +#. Label showing the date of the last change in the FwLite↔Classic sync panel. # is replaced by a formatted relative date component (e.g., "3 days ago"). #: src/project/sync/FwLiteToFwMergeDetails.svelte #: src/project/sync/FwLiteToFwMergeDetails.svelte msgid "Last change: #" msgstr "Dernier changement : #" +#. Label showing the timestamp of the last local sync in the sync panel. # is replaced by a formatted relative date component (e.g., "5 minutes ago"). #: src/project/sync/SyncStatusPrimitive.svelte msgid "Last sync: #" msgstr "Synchronisation la plus récente : #" +#. Field label in the audio editor showing the duration of the audio file. #: src/lib/components/audio/audio-editor.svelte msgid "Length:" msgstr "Longueur :" @@ -1036,6 +1049,7 @@ msgstr "Longueur :" msgid "Lexbox" msgstr "Lexbox" +#. Alt text for the Lexbox logo image shown in the home screen app bar. "Lexbox" is a product name — do not translate. #: src/home/HomeView.svelte msgid "Lexbox logo" msgstr "Logo Lexbox" @@ -1047,6 +1061,9 @@ msgstr "Logo Lexbox" msgid "Lexeme form" msgstr "Forme de lexème" +#. Relevant view: Classic +#. Lite view equivalent: "Word or Display as is required" +#. Validation error in the New Entry dialog when neither the Lexeme form nor Citation form field has a value. #: src/lib/entry-editor/NewEntryDialog.svelte #: src/lib/views/custom/validation.ts msgid "Lexeme form or Citation form is required" @@ -1056,6 +1073,7 @@ msgstr "La forme de lexème ou la forme de citation est requise" msgid "Light" msgstr "Lumière" +#. Section header in the entry list view options popup. Controls whether the entry list shows simple rows or a preview. Options below it: "Simple" and "Preview". #: src/project/browse/EntryListViewOptions.svelte msgid "List mode" msgstr "Mode liste" @@ -1067,6 +1085,7 @@ msgstr "Mode liste" msgid "Literal meaning" msgstr "Sens littéral" +#. Loading state text shown in the project/dictionary dropdown while the list of dictionaries is being fetched. #: src/project/ProjectDropdown.svelte msgid "Loading Dictionaries..." msgstr "Chargement des dictionnaires..." @@ -1075,20 +1094,24 @@ msgstr "Chargement des dictionnaires..." msgid "loading..." msgstr "chargement..." +#. Section label for the local device box in the sync panel, and section header on the home screen project list. #: src/home/HomeView.svelte #: src/project/sync/SyncStatusPrimitive.svelte msgid "Local" msgstr "Local" +#. Subtitle shown on a project card when the project has no server configured (no sync partner). #: src/home/HomeView.svelte msgid "Local only" msgstr "Uniquement au niveau local" +#. Button label in the sync panel when the user is not logged in. Initiates authentication with the server. #: src/project/sync/FwLiteToFwMergeDetails.svelte #: src/project/sync/SyncStatusPrimitive.svelte msgid "Login" msgstr "Connexion" +#. Default button label on the login button when not yet authenticated. Clicking opens the login flow for a server. #: src/lib/auth/LoginButton.svelte #: src/lib/auth/LoginButton.svelte msgid "Login to see projects" @@ -1098,14 +1121,17 @@ msgstr "Se connecter pour voir les projets" msgid "Logout" msgstr "Déconnexion" +#. Footer text in the project sidebar. The emoji flags are the countries of origin of the development team — do not translate. #: src/project/ProjectSidebar.svelte msgid "Made with ❤️ from 🇦🇹 🇹🇭 🇺🇸" msgstr "Réalisé avec ❤️ à partir de 🇦🇹 🇹🇭 🇺🇸" +#. Button label in the Feedback & Support dialog. Opens an external link to submit a feature suggestion. #: src/lib/about/FeedbackDialog.svelte msgid "Make a suggestion" msgstr "Faire une suggestion" +#. Warning shown in the delete-project confirmation dialog. Markdown link format: [link text]({0}) where {0} = URL to the sync dialog. "Lexbox" is a product name — do not translate. #: src/home/HomeView.svelte msgid "Make sure your [changes are synced]({0}) to Lexbox." msgstr "Assurez-vous que vos [changements sont synchronisés]({0}) vers Lexbox." @@ -1140,18 +1166,22 @@ msgstr "Une mise à jour manuelle est requise. Veuillez suivre les instructions msgid "Meaning" msgstr "Signification" +#. Task subject label in the task list. {0} = writing system abbreviation (e.g., "en", "fr"). Identifies entries lacking a definition in that writing system. #: src/project/tasks/tasks-service.ts msgid "Missing Definition {0}" msgstr "Définition manquante {0}" +#. Task subject label in the task list. {0} = writing system abbreviation (e.g., "en", "fr"). Identifies entries lacking an example sentence in that writing system. #: src/project/tasks/tasks-service.ts msgid "Missing Example sentence {0}" msgstr "Phrase exemplaire {0} manquante" +#. Task subject label in the task list. {0} = writing system abbreviation (e.g., "en", "fr"). Identifies entries lacking a gloss (brief translation) in that writing system. #: src/project/tasks/tasks-service.ts msgid "Missing Gloss {0}" msgstr "Glose {0} manquante" +#. Task subject label in the task list. Identifies senses/meanings that have no part-of-speech (grammatical category) assigned. #: src/project/tasks/tasks-service.ts msgid "Missing Part of Speech" msgstr "Partie du discours manquante" @@ -1163,10 +1193,12 @@ msgstr "Partie du discours manquante" msgid "Missing: {0}" msgstr "Manquant : {0}" +#. Section label in the theme picker popup for the light/dark/system mode selector. Options below it: "Light", "Dark", "System". #: src/lib/components/ThemePicker.svelte msgid "Mode" msgstr "Mode" +#. Drag-handle or button tooltip to reorder an item in a list (e.g., senses or examples within an entry). #: src/lib/entry-editor/ItemListItem.svelte msgid "Move" msgstr "Déplacer" @@ -1192,6 +1224,7 @@ msgstr "Le nom est requis" msgid "Never" msgstr "Jamais" +#. Badge label on the primary "New Entry" / "New Word" button indicating it creates a new item. #: src/project/PrimaryNewEntryButton.svelte msgid "New" msgstr "Nouveau" @@ -1201,6 +1234,7 @@ msgstr "Nouveau" msgid "New Custom View" msgstr "Nouvelle vue personnalisée" +#. Sync status indicator in the FwLite↔Classic sync panel. Shown when there are pending changes waiting to be applied. Paired with "No new data". #: src/project/sync/FwLiteToFwMergeDetails.svelte msgid "New data" msgstr "Nouvelles données" @@ -1251,6 +1285,7 @@ msgstr "Aucun dictionnaire trouvé" msgid "No entries found" msgstr "Aucune entrée trouvée" +#. Error message in the audio upload dialog when the user tries to save/upload without having selected a file. #: src/lib/components/audio/AudioDialog.svelte msgid "No file to upload" msgstr "Aucun fichier à télécharger" @@ -1264,18 +1299,22 @@ msgstr "Aucun antécédent n'a été trouvé" msgid "No items found" msgstr "Aucun élément trouvé" +#. Sync status indicator in the FwLite↔Classic sync panel. Shown when there are no pending changes. Paired with "New data". #: src/project/sync/FwLiteToFwMergeDetails.svelte msgid "No new data" msgstr "Aucune nouvelle donnée" +#. Sync status label shown in the sync panel when no server is associated with this project. #: src/project/sync/SyncStatusPrimitive.svelte msgid "No server" msgstr "Aucun serveur" +#. Status text in the project sidebar when the project has no server/sync partner configured. #: src/project/ProjectSidebar.svelte msgid "No server configured" msgstr "Pas de serveur configuré" +#. Error message in the task editing drawer when no subject entity can be found. {0} = subject type (e.g., "sense", "example-sentence"). #: src/project/tasks/SubjectPopup.svelte msgid "No subject, unable to create a new {0}" msgstr "Aucun sujet, impossible de créer un nouveau {0}" @@ -1300,15 +1339,18 @@ msgstr "Aucun" msgid "Not equal" msgstr "Pas égal à" +#. Placeholder shown in the activity change preview when a referenced entry or sense no longer exists in the dictionary. #: src/lib/activity/ActivityItemChangePreview.svelte #: src/lib/activity/ActivityItemChangePreview.svelte msgid "Not found" msgstr "Non trouvé" +#. Status text in the project sidebar indicating the user is not authenticated with the sync server. #: src/project/ProjectSidebar.svelte msgid "Not logged in" msgstr "Non connecté" +#. Badge label on an activity item indicating these local changes have not yet been uploaded to the server. #: src/lib/activity/ActivityItem.svelte msgid "Not synced" msgstr "Non synchronisé" @@ -1320,6 +1362,7 @@ msgstr "Non synchronisé" msgid "Note" msgstr "Note" +#. Error tooltip/message on the copy button when there is no text content available to copy to the clipboard. #: src/lib/components/ui/button/copy-button.svelte msgid "Nothing to copy" msgstr "Rien à copier" @@ -1371,6 +1414,7 @@ msgstr "Ouvrir dans une nouvelle fenêtre" msgid "Open Log file" msgstr "Ouvrir le fichier journal" +#. Status message shown after the user clicks "Open in FieldWorks" while the handoff is in progress. "FieldWorks" is a product name — do not translate. #: src/lib/components/OpenInFieldWorksButton.svelte msgid "Opening in FieldWorks…" msgstr "Ouverture dans FieldWorks…" @@ -1746,6 +1790,7 @@ msgstr "Synchroniser FieldWorks Lite et FieldWorks Classique" msgid "Sync your changes with other FieldWorks Lite users" msgstr "Synchronisez vos modifications avec d'autres utilisateurs FieldWorks Lite" +#. Sync status label in the project sidebar indicating all changes are in sync with the server. #: src/project/ProjectSidebar.svelte msgid "Synced" msgstr "Synchronisé" @@ -1795,6 +1840,7 @@ msgstr "Tâche introuvable : {0}" msgid "Tasks" msgstr "Tâches" +#. Short description under the "Report a technical problem" button in the Feedback & Support dialog. #: src/lib/about/FeedbackDialog.svelte msgid "Tell us about a bug or issue you’ve encountered." msgstr "Parlez-nous d'un bug ou d'un problème que vous avez rencontré." @@ -1875,6 +1921,7 @@ msgstr "Activer/désactiver épinglé" msgid "Translation" msgstr "Traduction" +#. Field title in the example editor when an entry has multiple translations. {0} = 1-based index number (e.g., "Translation 1", "Translation 2"). When there is only one translation, "Translation" is used instead. #: src/lib/entry-editor/object-editors/ExampleEditorPrimitive.svelte msgid "Translation {0}" msgstr "Traduction {0}" @@ -1912,6 +1959,7 @@ msgstr "Type :" msgid "Unable to open in FieldWorks" msgstr "Impossible d'ouvrir FieldWorks" +#. Fallback value shown when author name or last-change date is unavailable (e.g., in activity history or the sync panel). #: src/lib/activity/ActivityItem.svelte #: src/project/sync/FwLiteToFwMergeDetails.svelte #: src/project/sync/FwLiteToFwMergeDetails.svelte @@ -2058,6 +2106,9 @@ msgstr "Mot" msgid "Word only" msgstr "Mot seulement" +#. Relevant view: Lite +#. Classic view equivalent: "Lexeme form or Citation form is required" +#. Validation error in the New Word dialog when neither the Word (Lexeme form) nor Display as (Citation form) field has a value. #: src/lib/entry-editor/NewEntryDialog.svelte #: src/lib/views/custom/validation.ts msgid "Word or Display as is required" @@ -2075,6 +2126,7 @@ msgstr "Mot ou sens :" msgid "Writing System" msgstr "Système d'écriture" +#. Tooltip on a text span in the rich-text editor. {0} = writing system code (e.g., "en", "fr-IPA"). Identifies which writing system the span belongs to. #: src/lib/components/lcm-rich-text-editor/editor-schema.ts msgid "Writing system: {0}" msgstr "Système d'écriture : {0}" diff --git a/frontend/viewer/src/locales/id.po b/frontend/viewer/src/locales/id.po index 9b8f51705e..215f56abd7 100644 --- a/frontend/viewer/src/locales/id.po +++ b/frontend/viewer/src/locales/id.po @@ -790,14 +790,17 @@ msgstr "Bidang" msgid "FieldWorks Lite" msgstr "FieldWorks Lite" +#. Success notification shown after FieldWorks Lite auto-updates. "FieldWorks Lite" is a product name — do not translate. #: src/lib/notifications/NotificationOutlet.svelte msgid "FieldWorks Lite has been updated successfully. Please restart the app to apply the changes." msgstr "FieldWorks Lite telah berhasil diperbarui. Mulai ulang aplikasi untuk menerapkan perubahan." +#. Explanatory text in a popover on the sync panel. "FieldWorks Lite" and "FieldWorks Classic" are product names — do not translate. #: src/project/sync/FwLiteToFwMergeDetails.svelte 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." +#. Field label in Troubleshoot and Update dialogs. "FieldWorks Lite" is a product name — do not translate. #: src/lib/troubleshoot/TroubleshootDialog.svelte #: src/lib/updates/UpdateDialog.svelte msgid "FieldWorks Lite version" @@ -963,6 +966,7 @@ msgstr "hijau" msgid "Headword" msgstr "Headword" +#. Radio button option to hide the Dictionary Preview panel in the entry editor. Paired with "Show" and "Pinned". #: src/project/browse/EditorViewOptions.svelte msgid "Hide" msgstr "Sembunyikan" @@ -983,22 +987,28 @@ msgstr "Tahan untuk merekam atau#tekan dan lepaskan untuk mulai merekam." msgid "I don't see my project" msgstr "Saya tidak melihat proyek saya" +#. Toggle switch label in the delete confirmation dialog when the action is flagged as dangerous (e.g. deleting a project). +#. User must enable this switch before the Delete button is enabled. #: src/lib/entry-editor/DeleteDialog.svelte msgid "I understand that this can't be undone" msgstr "Saya memahami bahwa hal ini tidak dapat dibatalkan" +#. Dev-mode only icon button tooltip on a Classic FieldWorks project list item. Imports the fwdata project into FwLite. #: src/home/HomeView.svelte msgid "Import" msgstr "Impor" +#. Future relative date format. {0} = formatted duration string (e.g., "3 hours", "2 days"). Paired with "{0} ago" for past dates. #: src/lib/components/ui/format/format-relative-date-fn.svelte.ts msgid "in {0}" msgstr "di {0}" +#. Toggle switch in the filter panel next to the semantic domain selector. When enabled, also matches child semantic domains. #: src/project/browse/SearchFilter.svelte msgid "Include subdomains" msgstr "Menyertakan subdomain" +#. Filter section label in the browse filter panel. Below it is a dropdown to filter entries that are missing a specific field (e.g., missing gloss or definition). #: src/project/browse/SearchFilter.svelte msgid "Incomplete entries" msgstr "Entri tidak lengkap" @@ -1018,15 +1028,18 @@ msgstr "Menginstal Pembaruan..." msgid "Keep going" msgstr "Teruskan." +#. Label showing the date of the last change in the FwLite↔Classic sync panel. # is replaced by a formatted relative date component (e.g., "3 days ago"). #: src/project/sync/FwLiteToFwMergeDetails.svelte #: src/project/sync/FwLiteToFwMergeDetails.svelte msgid "Last change: #" msgstr "Perubahan terakhir: #" +#. Label showing the timestamp of the last local sync in the sync panel. # is replaced by a formatted relative date component (e.g., "5 minutes ago"). #: src/project/sync/SyncStatusPrimitive.svelte msgid "Last sync: #" msgstr "Sinkronisasi terakhir: #" +#. Field label in the audio editor showing the duration of the audio file. #: src/lib/components/audio/audio-editor.svelte msgid "Length:" msgstr "Panjang:" @@ -1036,6 +1049,7 @@ msgstr "Panjang:" msgid "Lexbox" msgstr "Lexbox" +#. Alt text for the Lexbox logo image shown in the home screen app bar. "Lexbox" is a product name — do not translate. #: src/home/HomeView.svelte msgid "Lexbox logo" msgstr "Logo Lexbox" @@ -1047,6 +1061,9 @@ msgstr "Logo Lexbox" msgid "Lexeme form" msgstr "Bentuk leksem" +#. Relevant view: Classic +#. Lite view equivalent: "Word or Display as is required" +#. Validation error in the New Entry dialog when neither the Lexeme form nor Citation form field has a value. #: src/lib/entry-editor/NewEntryDialog.svelte #: src/lib/views/custom/validation.ts msgid "Lexeme form or Citation form is required" @@ -1056,6 +1073,7 @@ msgstr "Bentuk leksem atau bentuk Kutipan diperlukan" msgid "Light" msgstr "Cahaya" +#. Section header in the entry list view options popup. Controls whether the entry list shows simple rows or a preview. Options below it: "Simple" and "Preview". #: src/project/browse/EntryListViewOptions.svelte msgid "List mode" msgstr "Mode daftar" @@ -1067,6 +1085,7 @@ msgstr "Mode daftar" msgid "Literal meaning" msgstr "Arti harfiah" +#. Loading state text shown in the project/dictionary dropdown while the list of dictionaries is being fetched. #: src/project/ProjectDropdown.svelte msgid "Loading Dictionaries..." msgstr "Memuat Kamus..." @@ -1075,20 +1094,24 @@ msgstr "Memuat Kamus..." msgid "loading..." msgstr "Loading..." +#. Section label for the local device box in the sync panel, and section header on the home screen project list. #: src/home/HomeView.svelte #: src/project/sync/SyncStatusPrimitive.svelte msgid "Local" msgstr "Lokal" +#. Subtitle shown on a project card when the project has no server configured (no sync partner). #: src/home/HomeView.svelte msgid "Local only" msgstr "Hanya lokal" +#. Button label in the sync panel when the user is not logged in. Initiates authentication with the server. #: src/project/sync/FwLiteToFwMergeDetails.svelte #: src/project/sync/SyncStatusPrimitive.svelte msgid "Login" msgstr "Masuk" +#. Default button label on the login button when not yet authenticated. Clicking opens the login flow for a server. #: src/lib/auth/LoginButton.svelte #: src/lib/auth/LoginButton.svelte msgid "Login to see projects" @@ -1098,14 +1121,17 @@ msgstr "Login untuk melihat proyek" msgid "Logout" msgstr "Keluar" +#. Footer text in the project sidebar. The emoji flags are the countries of origin of the development team — do not translate. #: src/project/ProjectSidebar.svelte msgid "Made with ❤️ from 🇦🇹 🇹🇭 🇺🇸" msgstr "Dibuat dengan ❤️ dari 🇦🇹 🇹🇭 🇺🇸" +#. Button label in the Feedback & Support dialog. Opens an external link to submit a feature suggestion. #: src/lib/about/FeedbackDialog.svelte msgid "Make a suggestion" msgstr "Berikan saran" +#. Warning shown in the delete-project confirmation dialog. Markdown link format: [link text]({0}) where {0} = URL to the sync dialog. "Lexbox" is a product name — do not translate. #: src/home/HomeView.svelte msgid "Make sure your [changes are synced]({0}) to Lexbox." msgstr "Pastikan [perubahan telah disinkronkan]({0}) ke Lexbox." @@ -1140,18 +1166,22 @@ msgstr "Diperlukan pembaruan manual. Ikuti petunjuk yang diberikan." msgid "Meaning" msgstr "Arti" +#. Task subject label in the task list. {0} = writing system abbreviation (e.g., "en", "fr"). Identifies entries lacking a definition in that writing system. #: src/project/tasks/tasks-service.ts msgid "Missing Definition {0}" msgstr "Definisi yang hilang {0}" +#. Task subject label in the task list. {0} = writing system abbreviation (e.g., "en", "fr"). Identifies entries lacking an example sentence in that writing system. #: src/project/tasks/tasks-service.ts msgid "Missing Example sentence {0}" msgstr "Hilang Contoh kalimat {0}" +#. Task subject label in the task list. {0} = writing system abbreviation (e.g., "en", "fr"). Identifies entries lacking a gloss (brief translation) in that writing system. #: src/project/tasks/tasks-service.ts msgid "Missing Gloss {0}" msgstr "Arti Singkat yang hilang {0}" +#. Task subject label in the task list. Identifies senses/meanings that have no part-of-speech (grammatical category) assigned. #: src/project/tasks/tasks-service.ts msgid "Missing Part of Speech" msgstr "Bagian Pidato yang Hilang" @@ -1163,10 +1193,12 @@ msgstr "Bagian Pidato yang Hilang" msgid "Missing: {0}" msgstr "Hilang: {0}" +#. Section label in the theme picker popup for the light/dark/system mode selector. Options below it: "Light", "Dark", "System". #: src/lib/components/ThemePicker.svelte msgid "Mode" msgstr "Mode" +#. Drag-handle or button tooltip to reorder an item in a list (e.g., senses or examples within an entry). #: src/lib/entry-editor/ItemListItem.svelte msgid "Move" msgstr "Pindah" @@ -1192,6 +1224,7 @@ msgstr "Nama harus diisi" msgid "Never" msgstr "Tidak pernah." +#. Badge label on the primary "New Entry" / "New Word" button indicating it creates a new item. #: src/project/PrimaryNewEntryButton.svelte msgid "New" msgstr "Baru" @@ -1201,6 +1234,7 @@ msgstr "Baru" msgid "New Custom View" msgstr "Tampilan Khusus Baru" +#. Sync status indicator in the FwLite↔Classic sync panel. Shown when there are pending changes waiting to be applied. Paired with "No new data". #: src/project/sync/FwLiteToFwMergeDetails.svelte msgid "New data" msgstr "Data baru" @@ -1251,6 +1285,7 @@ msgstr "Tidak ditemukan Kamus" msgid "No entries found" msgstr "Tidak ada entri yang ditemukan" +#. Error message in the audio upload dialog when the user tries to save/upload without having selected a file. #: src/lib/components/audio/AudioDialog.svelte msgid "No file to upload" msgstr "Tidak ada file untuk diunggah" @@ -1264,18 +1299,22 @@ msgstr "Tidak ditemukan riwayat" msgid "No items found" msgstr "Tidak ada barang yang ditemukan" +#. Sync status indicator in the FwLite↔Classic sync panel. Shown when there are no pending changes. Paired with "New data". #: src/project/sync/FwLiteToFwMergeDetails.svelte msgid "No new data" msgstr "Tidak ada data baru" +#. Sync status label shown in the sync panel when no server is associated with this project. #: src/project/sync/SyncStatusPrimitive.svelte msgid "No server" msgstr "Tidak ada server" +#. Status text in the project sidebar when the project has no server/sync partner configured. #: src/project/ProjectSidebar.svelte msgid "No server configured" msgstr "Tidak ada server yang dikonfigurasi" +#. Error message in the task editing drawer when no subject entity can be found. {0} = subject type (e.g., "sense", "example-sentence"). #: src/project/tasks/SubjectPopup.svelte msgid "No subject, unable to create a new {0}" msgstr "Tidak ada subjek, tidak dapat membuat {0}baru" @@ -1300,15 +1339,18 @@ msgstr "Tidak ada" msgid "Not equal" msgstr "Tidak sama" +#. Placeholder shown in the activity change preview when a referenced entry or sense no longer exists in the dictionary. #: src/lib/activity/ActivityItemChangePreview.svelte #: src/lib/activity/ActivityItemChangePreview.svelte msgid "Not found" msgstr "Tidak ditemukan" +#. Status text in the project sidebar indicating the user is not authenticated with the sync server. #: src/project/ProjectSidebar.svelte msgid "Not logged in" msgstr "Tidak masuk" +#. Badge label on an activity item indicating these local changes have not yet been uploaded to the server. #: src/lib/activity/ActivityItem.svelte msgid "Not synced" msgstr "Tidak disinkronkan" @@ -1320,6 +1362,7 @@ msgstr "Tidak disinkronkan" msgid "Note" msgstr "Catatan" +#. Error tooltip/message on the copy button when there is no text content available to copy to the clipboard. #: src/lib/components/ui/button/copy-button.svelte msgid "Nothing to copy" msgstr "Tidak ada yang perlu disalin" @@ -1371,6 +1414,7 @@ msgstr "Buka di jendela baru" msgid "Open Log file" msgstr "Buka file Log" +#. Status message shown after the user clicks "Open in FieldWorks" while the handoff is in progress. "FieldWorks" is a product name — do not translate. #: src/lib/components/OpenInFieldWorksButton.svelte msgid "Opening in FieldWorks…" msgstr "Pembukaan di FieldWorks…" @@ -1746,6 +1790,7 @@ msgstr "Menyinkronkan FieldWorks Lite dan FieldWorks Classic" msgid "Sync your changes with other FieldWorks Lite users" msgstr "Sinkronkan perubahan Anda dengan pengguna FieldWorks Lite lainnya" +#. Sync status label in the project sidebar indicating all changes are in sync with the server. #: src/project/ProjectSidebar.svelte msgid "Synced" msgstr "Disinkronkan" @@ -1795,6 +1840,7 @@ msgstr "Tugas tidak ditemukan: {0}" msgid "Tasks" msgstr "Tugas" +#. Short description under the "Report a technical problem" button in the Feedback & Support dialog. #: src/lib/about/FeedbackDialog.svelte msgid "Tell us about a bug or issue you’ve encountered." msgstr "Beritahu kami tentang bug atau masalah yang Anda temui." @@ -1875,6 +1921,7 @@ msgstr "Beralih disematkan" msgid "Translation" msgstr "Terjemahan" +#. Field title in the example editor when an entry has multiple translations. {0} = 1-based index number (e.g., "Translation 1", "Translation 2"). When there is only one translation, "Translation" is used instead. #: src/lib/entry-editor/object-editors/ExampleEditorPrimitive.svelte msgid "Translation {0}" msgstr "Terjemahan {0}" @@ -1912,6 +1959,7 @@ msgstr "Ketik:" msgid "Unable to open in FieldWorks" msgstr "Tidak dapat dibuka di FieldWorks" +#. Fallback value shown when author name or last-change date is unavailable (e.g., in activity history or the sync panel). #: src/lib/activity/ActivityItem.svelte #: src/project/sync/FwLiteToFwMergeDetails.svelte #: src/project/sync/FwLiteToFwMergeDetails.svelte @@ -2058,6 +2106,9 @@ msgstr "Kata" msgid "Word only" msgstr "Hanya kata" +#. Relevant view: Lite +#. Classic view equivalent: "Lexeme form or Citation form is required" +#. Validation error in the New Word dialog when neither the Word (Lexeme form) nor Display as (Citation form) field has a value. #: src/lib/entry-editor/NewEntryDialog.svelte #: src/lib/views/custom/validation.ts msgid "Word or Display as is required" @@ -2075,6 +2126,7 @@ msgstr "Kata atau makna:" msgid "Writing System" msgstr "Sistem Penulisan" +#. Tooltip on a text span in the rich-text editor. {0} = writing system code (e.g., "en", "fr-IPA"). Identifies which writing system the span belongs to. #: src/lib/components/lcm-rich-text-editor/editor-schema.ts msgid "Writing system: {0}" msgstr "Sistem penulisan: {0}" diff --git a/frontend/viewer/src/locales/ko.po b/frontend/viewer/src/locales/ko.po index 83f3074741..d84aaca2d1 100644 --- a/frontend/viewer/src/locales/ko.po +++ b/frontend/viewer/src/locales/ko.po @@ -790,14 +790,17 @@ msgstr "필드" msgid "FieldWorks Lite" msgstr "FieldWorks Lite" +#. Success notification shown after FieldWorks Lite auto-updates. "FieldWorks Lite" is a product name — do not translate. #: src/lib/notifications/NotificationOutlet.svelte msgid "FieldWorks Lite has been updated successfully. Please restart the app to apply the changes." msgstr "FieldWorks Lite가 성공적으로 업데이트되었습니다. 변경 사항을 적용하려면 앱을 다시 시작하세요." +#. Explanatory text in a popover on the sync panel. "FieldWorks Lite" and "FieldWorks Classic" are product names — do not translate. #: src/project/sync/FwLiteToFwMergeDetails.svelte 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에서 수행한 변경 사항을 볼 수 있습니다." +#. Field label in Troubleshoot and Update dialogs. "FieldWorks Lite" is a product name — do not translate. #: src/lib/troubleshoot/TroubleshootDialog.svelte #: src/lib/updates/UpdateDialog.svelte msgid "FieldWorks Lite version" @@ -963,6 +966,7 @@ msgstr "녹색" msgid "Headword" msgstr "헤드워드" +#. Radio button option to hide the Dictionary Preview panel in the entry editor. Paired with "Show" and "Pinned". #: src/project/browse/EditorViewOptions.svelte msgid "Hide" msgstr "숨기기" @@ -983,22 +987,28 @@ msgstr "길게 눌러 녹음을 시작하거나#누르고 놓으면 녹음이 msgid "I don't see my project" msgstr "내 프로젝트가 보이지 않습니다." +#. Toggle switch label in the delete confirmation dialog when the action is flagged as dangerous (e.g. deleting a project). +#. User must enable this switch before the Delete button is enabled. #: src/lib/entry-editor/DeleteDialog.svelte msgid "I understand that this can't be undone" msgstr "이 작업은 되돌릴 수 없다는 것을 이해합니다." +#. Dev-mode only icon button tooltip on a Classic FieldWorks project list item. Imports the fwdata project into FwLite. #: src/home/HomeView.svelte msgid "Import" msgstr "가져오기" +#. Future relative date format. {0} = formatted duration string (e.g., "3 hours", "2 days"). Paired with "{0} ago" for past dates. #: src/lib/components/ui/format/format-relative-date-fn.svelte.ts msgid "in {0}" msgstr "in {0}" +#. Toggle switch in the filter panel next to the semantic domain selector. When enabled, also matches child semantic domains. #: src/project/browse/SearchFilter.svelte msgid "Include subdomains" msgstr "하위 도메인 포함" +#. Filter section label in the browse filter panel. Below it is a dropdown to filter entries that are missing a specific field (e.g., missing gloss or definition). #: src/project/browse/SearchFilter.svelte msgid "Incomplete entries" msgstr "불완전한 항목" @@ -1018,15 +1028,18 @@ msgstr "업데이트 설치 중..." msgid "Keep going" msgstr "계속 진행" +#. Label showing the date of the last change in the FwLite↔Classic sync panel. # is replaced by a formatted relative date component (e.g., "3 days ago"). #: src/project/sync/FwLiteToFwMergeDetails.svelte #: src/project/sync/FwLiteToFwMergeDetails.svelte msgid "Last change: #" msgstr "마지막 변경 사항: #" +#. Label showing the timestamp of the last local sync in the sync panel. # is replaced by a formatted relative date component (e.g., "5 minutes ago"). #: src/project/sync/SyncStatusPrimitive.svelte msgid "Last sync: #" msgstr "마지막 동기화: #" +#. Field label in the audio editor showing the duration of the audio file. #: src/lib/components/audio/audio-editor.svelte msgid "Length:" msgstr "길이:" @@ -1036,6 +1049,7 @@ msgstr "길이:" msgid "Lexbox" msgstr "렉스박스" +#. Alt text for the Lexbox logo image shown in the home screen app bar. "Lexbox" is a product name — do not translate. #: src/home/HomeView.svelte msgid "Lexbox logo" msgstr "렉스박스 로고" @@ -1047,6 +1061,9 @@ msgstr "렉스박스 로고" msgid "Lexeme form" msgstr "Lexeme 양식" +#. Relevant view: Classic +#. Lite view equivalent: "Word or Display as is required" +#. Validation error in the New Entry dialog when neither the Lexeme form nor Citation form field has a value. #: src/lib/entry-editor/NewEntryDialog.svelte #: src/lib/views/custom/validation.ts msgid "Lexeme form or Citation form is required" @@ -1056,6 +1073,7 @@ msgstr "Lexeme 양식 또는 인용 양식이 필요합니다." msgid "Light" msgstr "빛" +#. Section header in the entry list view options popup. Controls whether the entry list shows simple rows or a preview. Options below it: "Simple" and "Preview". #: src/project/browse/EntryListViewOptions.svelte msgid "List mode" msgstr "목록 모드" @@ -1067,6 +1085,7 @@ msgstr "목록 모드" msgid "Literal meaning" msgstr "문자 그대로의 의미" +#. Loading state text shown in the project/dictionary dropdown while the list of dictionaries is being fetched. #: src/project/ProjectDropdown.svelte msgid "Loading Dictionaries..." msgstr "사전 로드 중..." @@ -1075,20 +1094,24 @@ msgstr "사전 로드 중..." msgid "loading..." msgstr "로딩 중..." +#. Section label for the local device box in the sync panel, and section header on the home screen project list. #: src/home/HomeView.svelte #: src/project/sync/SyncStatusPrimitive.svelte msgid "Local" msgstr "로컬" +#. Subtitle shown on a project card when the project has no server configured (no sync partner). #: src/home/HomeView.svelte msgid "Local only" msgstr "로컬 전용" +#. Button label in the sync panel when the user is not logged in. Initiates authentication with the server. #: src/project/sync/FwLiteToFwMergeDetails.svelte #: src/project/sync/SyncStatusPrimitive.svelte msgid "Login" msgstr "로그인" +#. Default button label on the login button when not yet authenticated. Clicking opens the login flow for a server. #: src/lib/auth/LoginButton.svelte #: src/lib/auth/LoginButton.svelte msgid "Login to see projects" @@ -1098,14 +1121,17 @@ msgstr "로그인하여 프로젝트 보기" msgid "Logout" msgstr "로그아웃" +#. Footer text in the project sidebar. The emoji flags are the countries of origin of the development team — do not translate. #: src/project/ProjectSidebar.svelte msgid "Made with ❤️ from 🇦🇹 🇹🇭 🇺🇸" msgstr "제작: ❤️ 출처: 🇦🇹 🇹🇭 🇺🇸" +#. Button label in the Feedback & Support dialog. Opens an external link to submit a feature suggestion. #: src/lib/about/FeedbackDialog.svelte msgid "Make a suggestion" msgstr "제안하기" +#. Warning shown in the delete-project confirmation dialog. Markdown link format: [link text]({0}) where {0} = URL to the sync dialog. "Lexbox" is a product name — do not translate. #: src/home/HomeView.svelte msgid "Make sure your [changes are synced]({0}) to Lexbox." msgstr "변경 사항이 렉스박스에 [동기화되었는지]({0}) 확인합니다." @@ -1140,18 +1166,22 @@ msgstr "수동 업데이트가 필요합니다. 제공된 지침을 따르세요 msgid "Meaning" msgstr "의미" +#. Task subject label in the task list. {0} = writing system abbreviation (e.g., "en", "fr"). Identifies entries lacking a definition in that writing system. #: src/project/tasks/tasks-service.ts msgid "Missing Definition {0}" msgstr "정의 누락 {0}" +#. Task subject label in the task list. {0} = writing system abbreviation (e.g., "en", "fr"). Identifies entries lacking an example sentence in that writing system. #: src/project/tasks/tasks-service.ts msgid "Missing Example sentence {0}" msgstr "누락된 예제 문장 {0}" +#. Task subject label in the task list. {0} = writing system abbreviation (e.g., "en", "fr"). Identifies entries lacking a gloss (brief translation) in that writing system. #: src/project/tasks/tasks-service.ts msgid "Missing Gloss {0}" msgstr "누락된 광택 {0}" +#. Task subject label in the task list. Identifies senses/meanings that have no part-of-speech (grammatical category) assigned. #: src/project/tasks/tasks-service.ts msgid "Missing Part of Speech" msgstr "누락된 품사" @@ -1163,10 +1193,12 @@ msgstr "누락된 품사" msgid "Missing: {0}" msgstr "누락되었습니다: {0}" +#. Section label in the theme picker popup for the light/dark/system mode selector. Options below it: "Light", "Dark", "System". #: src/lib/components/ThemePicker.svelte msgid "Mode" msgstr "모드" +#. Drag-handle or button tooltip to reorder an item in a list (e.g., senses or examples within an entry). #: src/lib/entry-editor/ItemListItem.svelte msgid "Move" msgstr "이동" @@ -1192,6 +1224,7 @@ msgstr "이름은 필수 입력 사항입니다." msgid "Never" msgstr "절대로" +#. Badge label on the primary "New Entry" / "New Word" button indicating it creates a new item. #: src/project/PrimaryNewEntryButton.svelte msgid "New" msgstr "신규" @@ -1201,6 +1234,7 @@ msgstr "신규" msgid "New Custom View" msgstr "새로운 사용자 지정 보기" +#. Sync status indicator in the FwLite↔Classic sync panel. Shown when there are pending changes waiting to be applied. Paired with "No new data". #: src/project/sync/FwLiteToFwMergeDetails.svelte msgid "New data" msgstr "새로운 데이터" @@ -1251,6 +1285,7 @@ msgstr "사전을 찾을 수 없습니다." msgid "No entries found" msgstr "항목을 찾을 수 없습니다." +#. Error message in the audio upload dialog when the user tries to save/upload without having selected a file. #: src/lib/components/audio/AudioDialog.svelte msgid "No file to upload" msgstr "업로드할 파일이 없습니다." @@ -1264,18 +1299,22 @@ msgstr "기록을 찾을 수 없습니다." msgid "No items found" msgstr "항목을 찾을 수 없습니다." +#. Sync status indicator in the FwLite↔Classic sync panel. Shown when there are no pending changes. Paired with "New data". #: src/project/sync/FwLiteToFwMergeDetails.svelte msgid "No new data" msgstr "새 데이터 없음" +#. Sync status label shown in the sync panel when no server is associated with this project. #: src/project/sync/SyncStatusPrimitive.svelte msgid "No server" msgstr "서버 없음" +#. Status text in the project sidebar when the project has no server/sync partner configured. #: src/project/ProjectSidebar.svelte msgid "No server configured" msgstr "구성된 서버 없음" +#. Error message in the task editing drawer when no subject entity can be found. {0} = subject type (e.g., "sense", "example-sentence"). #: src/project/tasks/SubjectPopup.svelte msgid "No subject, unable to create a new {0}" msgstr "제목이 없습니다, 새로 만들 수 없습니다 {0}" @@ -1300,15 +1339,18 @@ msgstr "없음" msgid "Not equal" msgstr "동일하지 않음" +#. Placeholder shown in the activity change preview when a referenced entry or sense no longer exists in the dictionary. #: src/lib/activity/ActivityItemChangePreview.svelte #: src/lib/activity/ActivityItemChangePreview.svelte msgid "Not found" msgstr "찾을 수 없음" +#. Status text in the project sidebar indicating the user is not authenticated with the sync server. #: src/project/ProjectSidebar.svelte msgid "Not logged in" msgstr "로그인하지 않음" +#. Badge label on an activity item indicating these local changes have not yet been uploaded to the server. #: src/lib/activity/ActivityItem.svelte msgid "Not synced" msgstr "동기화되지 않음" @@ -1320,6 +1362,7 @@ msgstr "동기화되지 않음" msgid "Note" msgstr "참고" +#. Error tooltip/message on the copy button when there is no text content available to copy to the clipboard. #: src/lib/components/ui/button/copy-button.svelte msgid "Nothing to copy" msgstr "복사할 항목 없음" @@ -1371,6 +1414,7 @@ msgstr "새 창에서 열기" msgid "Open Log file" msgstr "로그 파일 열기" +#. Status message shown after the user clicks "Open in FieldWorks" while the handoff is in progress. "FieldWorks" is a product name — do not translate. #: src/lib/components/OpenInFieldWorksButton.svelte msgid "Opening in FieldWorks…" msgstr "FieldWorks에서 열기…" @@ -1746,6 +1790,7 @@ msgstr "FieldWorks Lite와 FieldWorks Classic 동기화" msgid "Sync your changes with other FieldWorks Lite users" msgstr "다른 FieldWorks Lite 사용자와 변경 사항 동기화" +#. Sync status label in the project sidebar indicating all changes are in sync with the server. #: src/project/ProjectSidebar.svelte msgid "Synced" msgstr "동기화" @@ -1795,6 +1840,7 @@ msgstr "작업을 찾을 수 없음: {0}" msgid "Tasks" msgstr "작업" +#. Short description under the "Report a technical problem" button in the Feedback & Support dialog. #: src/lib/about/FeedbackDialog.svelte msgid "Tell us about a bug or issue you’ve encountered." msgstr "발생한 버그나 문제에 대해 알려주세요." @@ -1875,6 +1921,7 @@ msgstr "고정 토글" msgid "Translation" msgstr "번역" +#. Field title in the example editor when an entry has multiple translations. {0} = 1-based index number (e.g., "Translation 1", "Translation 2"). When there is only one translation, "Translation" is used instead. #: src/lib/entry-editor/object-editors/ExampleEditorPrimitive.svelte msgid "Translation {0}" msgstr "번역 {0}" @@ -1912,6 +1959,7 @@ msgstr "유형:" msgid "Unable to open in FieldWorks" msgstr "FieldWorks에서 열 수 없음" +#. Fallback value shown when author name or last-change date is unavailable (e.g., in activity history or the sync panel). #: src/lib/activity/ActivityItem.svelte #: src/project/sync/FwLiteToFwMergeDetails.svelte #: src/project/sync/FwLiteToFwMergeDetails.svelte @@ -2058,6 +2106,9 @@ msgstr "Word" msgid "Word only" msgstr "단어 전용" +#. Relevant view: Lite +#. Classic view equivalent: "Lexeme form or Citation form is required" +#. Validation error in the New Word dialog when neither the Word (Lexeme form) nor Display as (Citation form) field has a value. #: src/lib/entry-editor/NewEntryDialog.svelte #: src/lib/views/custom/validation.ts msgid "Word or Display as is required" @@ -2075,6 +2126,7 @@ msgstr "단어 또는 의미:" msgid "Writing System" msgstr "쓰기 시스템" +#. Tooltip on a text span in the rich-text editor. {0} = writing system code (e.g., "en", "fr-IPA"). Identifies which writing system the span belongs to. #: src/lib/components/lcm-rich-text-editor/editor-schema.ts msgid "Writing system: {0}" msgstr "쓰기 시스템: {0}" diff --git a/frontend/viewer/src/locales/ms.po b/frontend/viewer/src/locales/ms.po index 64f43991bb..86edeaa7f4 100644 --- a/frontend/viewer/src/locales/ms.po +++ b/frontend/viewer/src/locales/ms.po @@ -790,14 +790,17 @@ msgstr "Medan" msgid "FieldWorks Lite" msgstr "FieldWorks Lite" +#. Success notification shown after FieldWorks Lite auto-updates. "FieldWorks Lite" is a product name — do not translate. #: src/lib/notifications/NotificationOutlet.svelte msgid "FieldWorks Lite has been updated successfully. Please restart the app to apply the changes." msgstr "FieldWorks Lite telah dikemas kini dengan berjaya. Sila mulai semula aplikasi untuk menggunakan perubahan." +#. Explanatory text in a popover on the sync panel. "FieldWorks Lite" and "FieldWorks Classic" are product names — do not translate. #: src/project/sync/FwLiteToFwMergeDetails.svelte 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." +#. Field label in Troubleshoot and Update dialogs. "FieldWorks Lite" is a product name — do not translate. #: src/lib/troubleshoot/TroubleshootDialog.svelte #: src/lib/updates/UpdateDialog.svelte msgid "FieldWorks Lite version" @@ -963,6 +966,7 @@ msgstr "hijau" msgid "Headword" msgstr "Kata Utama" +#. Radio button option to hide the Dictionary Preview panel in the entry editor. Paired with "Show" and "Pinned". #: src/project/browse/EditorViewOptions.svelte msgid "Hide" msgstr "Sembunyi" @@ -983,22 +987,28 @@ msgstr "Tahan untuk merakam atau#tekan dan lepas untuk mula merakam." msgid "I don't see my project" msgstr "Saya tidak nampak projek saya" +#. Toggle switch label in the delete confirmation dialog when the action is flagged as dangerous (e.g. deleting a project). +#. User must enable this switch before the Delete button is enabled. #: src/lib/entry-editor/DeleteDialog.svelte msgid "I understand that this can't be undone" msgstr "Saya faham bahawa ini tidak boleh dibuat asal" +#. Dev-mode only icon button tooltip on a Classic FieldWorks project list item. Imports the fwdata project into FwLite. #: src/home/HomeView.svelte msgid "Import" msgstr "Masukkan" +#. Future relative date format. {0} = formatted duration string (e.g., "3 hours", "2 days"). Paired with "{0} ago" for past dates. #: src/lib/components/ui/format/format-relative-date-fn.svelte.ts msgid "in {0}" msgstr "dalam {0}" +#. Toggle switch in the filter panel next to the semantic domain selector. When enabled, also matches child semantic domains. #: src/project/browse/SearchFilter.svelte msgid "Include subdomains" msgstr "Sertakan subdomain" +#. Filter section label in the browse filter panel. Below it is a dropdown to filter entries that are missing a specific field (e.g., missing gloss or definition). #: src/project/browse/SearchFilter.svelte msgid "Incomplete entries" msgstr "Entri tidak lengkap" @@ -1018,15 +1028,18 @@ msgstr "Memasang Kemas Kini..." msgid "Keep going" msgstr "Teruskan" +#. Label showing the date of the last change in the FwLite↔Classic sync panel. # is replaced by a formatted relative date component (e.g., "3 days ago"). #: src/project/sync/FwLiteToFwMergeDetails.svelte #: src/project/sync/FwLiteToFwMergeDetails.svelte msgid "Last change: #" msgstr "Perubahan terakhir: #" +#. Label showing the timestamp of the last local sync in the sync panel. # is replaced by a formatted relative date component (e.g., "5 minutes ago"). #: src/project/sync/SyncStatusPrimitive.svelte msgid "Last sync: #" msgstr "Sinkron terakhir: #" +#. Field label in the audio editor showing the duration of the audio file. #: src/lib/components/audio/audio-editor.svelte msgid "Length:" msgstr "Panjang:" @@ -1036,6 +1049,7 @@ msgstr "Panjang:" msgid "Lexbox" msgstr "Lexbox" +#. Alt text for the Lexbox logo image shown in the home screen app bar. "Lexbox" is a product name — do not translate. #: src/home/HomeView.svelte msgid "Lexbox logo" msgstr "Logo Lexbox" @@ -1047,6 +1061,9 @@ msgstr "Logo Lexbox" msgid "Lexeme form" msgstr "Bentuk leksem" +#. Relevant view: Classic +#. Lite view equivalent: "Word or Display as is required" +#. Validation error in the New Entry dialog when neither the Lexeme form nor Citation form field has a value. #: src/lib/entry-editor/NewEntryDialog.svelte #: src/lib/views/custom/validation.ts msgid "Lexeme form or Citation form is required" @@ -1056,6 +1073,7 @@ msgstr "Bentuk leksem atau bentuk sitasi diperlukan." msgid "Light" msgstr "Terang" +#. Section header in the entry list view options popup. Controls whether the entry list shows simple rows or a preview. Options below it: "Simple" and "Preview". #: src/project/browse/EntryListViewOptions.svelte msgid "List mode" msgstr "Mod senarai" @@ -1067,6 +1085,7 @@ msgstr "Mod senarai" msgid "Literal meaning" msgstr "Makna harfiah" +#. Loading state text shown in the project/dictionary dropdown while the list of dictionaries is being fetched. #: src/project/ProjectDropdown.svelte msgid "Loading Dictionaries..." msgstr "Memuatkan Kamus..." @@ -1075,20 +1094,24 @@ msgstr "Memuatkan Kamus..." msgid "loading..." msgstr "memuat..." +#. Section label for the local device box in the sync panel, and section header on the home screen project list. #: src/home/HomeView.svelte #: src/project/sync/SyncStatusPrimitive.svelte msgid "Local" msgstr "Tempatan" +#. Subtitle shown on a project card when the project has no server configured (no sync partner). #: src/home/HomeView.svelte msgid "Local only" msgstr "Tempatan sahaja" +#. Button label in the sync panel when the user is not logged in. Initiates authentication with the server. #: src/project/sync/FwLiteToFwMergeDetails.svelte #: src/project/sync/SyncStatusPrimitive.svelte msgid "Login" msgstr "Log masuk" +#. Default button label on the login button when not yet authenticated. Clicking opens the login flow for a server. #: src/lib/auth/LoginButton.svelte #: src/lib/auth/LoginButton.svelte msgid "Login to see projects" @@ -1098,14 +1121,17 @@ msgstr "Log masuk untuk melihat projek" msgid "Logout" msgstr "Log keluar" +#. Footer text in the project sidebar. The emoji flags are the countries of origin of the development team — do not translate. #: src/project/ProjectSidebar.svelte msgid "Made with ❤️ from 🇦🇹 🇹🇭 🇺🇸" msgstr "Dibuat dengan ❤️ dari 🇦🇹 🇹🇭 🇺🇸" +#. Button label in the Feedback & Support dialog. Opens an external link to submit a feature suggestion. #: src/lib/about/FeedbackDialog.svelte msgid "Make a suggestion" msgstr "Buat cadangan" +#. Warning shown in the delete-project confirmation dialog. Markdown link format: [link text]({0}) where {0} = URL to the sync dialog. "Lexbox" is a product name — do not translate. #: src/home/HomeView.svelte msgid "Make sure your [changes are synced]({0}) to Lexbox." msgstr "Pastikan [perubahan anda diselaraskan]({0}) ke Lexbox." @@ -1140,18 +1166,22 @@ msgstr "Kemas kini manual diperlukan. Sila ikut arahan yang diberikan." msgid "Meaning" msgstr "Makna" +#. Task subject label in the task list. {0} = writing system abbreviation (e.g., "en", "fr"). Identifies entries lacking a definition in that writing system. #: src/project/tasks/tasks-service.ts msgid "Missing Definition {0}" msgstr "Definisi hilang {0}" +#. Task subject label in the task list. {0} = writing system abbreviation (e.g., "en", "fr"). Identifies entries lacking an example sentence in that writing system. #: src/project/tasks/tasks-service.ts msgid "Missing Example sentence {0}" msgstr "Ayat contoh hilang {0}" +#. Task subject label in the task list. {0} = writing system abbreviation (e.g., "en", "fr"). Identifies entries lacking a gloss (brief translation) in that writing system. #: src/project/tasks/tasks-service.ts msgid "Missing Gloss {0}" msgstr "Glos hilang {0}" +#. Task subject label in the task list. Identifies senses/meanings that have no part-of-speech (grammatical category) assigned. #: src/project/tasks/tasks-service.ts msgid "Missing Part of Speech" msgstr "Jenis Perkataan Tiada" @@ -1163,10 +1193,12 @@ msgstr "Jenis Perkataan Tiada" msgid "Missing: {0}" msgstr "Hilang: {0}" +#. Section label in the theme picker popup for the light/dark/system mode selector. Options below it: "Light", "Dark", "System". #: src/lib/components/ThemePicker.svelte msgid "Mode" msgstr "Mod" +#. Drag-handle or button tooltip to reorder an item in a list (e.g., senses or examples within an entry). #: src/lib/entry-editor/ItemListItem.svelte msgid "Move" msgstr "Gerak" @@ -1192,6 +1224,7 @@ msgstr "Nama diperlukan" msgid "Never" msgstr "Tidak Pernah" +#. Badge label on the primary "New Entry" / "New Word" button indicating it creates a new item. #: src/project/PrimaryNewEntryButton.svelte msgid "New" msgstr "Baru" @@ -1201,6 +1234,7 @@ msgstr "Baru" msgid "New Custom View" msgstr "Tampilan Tersuai Baru" +#. Sync status indicator in the FwLite↔Classic sync panel. Shown when there are pending changes waiting to be applied. Paired with "No new data". #: src/project/sync/FwLiteToFwMergeDetails.svelte msgid "New data" msgstr "Data baru" @@ -1251,6 +1285,7 @@ msgstr "Tiada Kamus ditemui" msgid "No entries found" msgstr "Tiada entri ditemui" +#. Error message in the audio upload dialog when the user tries to save/upload without having selected a file. #: src/lib/components/audio/AudioDialog.svelte msgid "No file to upload" msgstr "Tiada fail untuk dimuat naik" @@ -1264,18 +1299,22 @@ msgstr "Tiada sejarah ditemui" msgid "No items found" msgstr "Tiada item ditemui" +#. Sync status indicator in the FwLite↔Classic sync panel. Shown when there are no pending changes. Paired with "New data". #: src/project/sync/FwLiteToFwMergeDetails.svelte msgid "No new data" msgstr "Tiada data baru" +#. Sync status label shown in the sync panel when no server is associated with this project. #: src/project/sync/SyncStatusPrimitive.svelte msgid "No server" msgstr "Tiada pelayan" +#. Status text in the project sidebar when the project has no server/sync partner configured. #: src/project/ProjectSidebar.svelte msgid "No server configured" msgstr "Tiada pelayan dikonfigurasikan" +#. Error message in the task editing drawer when no subject entity can be found. {0} = subject type (e.g., "sense", "example-sentence"). #: src/project/tasks/SubjectPopup.svelte msgid "No subject, unable to create a new {0}" msgstr "Tiada subjek, tidak dapat membuat {0} baru" @@ -1300,15 +1339,18 @@ msgstr "Tiada" msgid "Not equal" msgstr "Tidak sama" +#. Placeholder shown in the activity change preview when a referenced entry or sense no longer exists in the dictionary. #: src/lib/activity/ActivityItemChangePreview.svelte #: src/lib/activity/ActivityItemChangePreview.svelte msgid "Not found" msgstr "Tidak ditemui" +#. Status text in the project sidebar indicating the user is not authenticated with the sync server. #: src/project/ProjectSidebar.svelte msgid "Not logged in" msgstr "Tidak log masuk" +#. Badge label on an activity item indicating these local changes have not yet been uploaded to the server. #: src/lib/activity/ActivityItem.svelte msgid "Not synced" msgstr "Tidak disegerakkan" @@ -1320,6 +1362,7 @@ msgstr "Tidak disegerakkan" msgid "Note" msgstr "Nota" +#. Error tooltip/message on the copy button when there is no text content available to copy to the clipboard. #: src/lib/components/ui/button/copy-button.svelte msgid "Nothing to copy" msgstr "Tiada yang boleh disalin" @@ -1371,6 +1414,7 @@ msgstr "Buka dalam Tetingkap baharu" msgid "Open Log file" msgstr "Buka fail Log" +#. Status message shown after the user clicks "Open in FieldWorks" while the handoff is in progress. "FieldWorks" is a product name — do not translate. #: src/lib/components/OpenInFieldWorksButton.svelte msgid "Opening in FieldWorks…" msgstr "Membuka dalam FieldWorks…" @@ -1746,6 +1790,7 @@ msgstr "Segerakkan FieldWorks Lite dan FieldWorks Classic" msgid "Sync your changes with other FieldWorks Lite users" msgstr "Segerakkan perubahan anda dengan pengguna FieldWorks Lite yang lain" +#. Sync status label in the project sidebar indicating all changes are in sync with the server. #: src/project/ProjectSidebar.svelte msgid "Synced" msgstr "Disegerakkan" @@ -1795,6 +1840,7 @@ msgstr "Tugasan tidak ditemui: {0}" msgid "Tasks" msgstr "Tugasan" +#. Short description under the "Report a technical problem" button in the Feedback & Support dialog. #: src/lib/about/FeedbackDialog.svelte msgid "Tell us about a bug or issue you’ve encountered." msgstr "Beritahu kami mengenai pepijat atau isu yang anda temui." @@ -1875,6 +1921,7 @@ msgstr "Togol disemat" msgid "Translation" msgstr "Terjemahan" +#. Field title in the example editor when an entry has multiple translations. {0} = 1-based index number (e.g., "Translation 1", "Translation 2"). When there is only one translation, "Translation" is used instead. #: src/lib/entry-editor/object-editors/ExampleEditorPrimitive.svelte msgid "Translation {0}" msgstr "Terjemahan {0}" @@ -1912,6 +1959,7 @@ msgstr "Jenis:" msgid "Unable to open in FieldWorks" msgstr "Tidak dapat membuka dalam FieldWorks" +#. Fallback value shown when author name or last-change date is unavailable (e.g., in activity history or the sync panel). #: src/lib/activity/ActivityItem.svelte #: src/project/sync/FwLiteToFwMergeDetails.svelte #: src/project/sync/FwLiteToFwMergeDetails.svelte @@ -2058,6 +2106,9 @@ msgstr "Perkataan" msgid "Word only" msgstr "Perkataan sahaja" +#. Relevant view: Lite +#. Classic view equivalent: "Lexeme form or Citation form is required" +#. Validation error in the New Word dialog when neither the Word (Lexeme form) nor Display as (Citation form) field has a value. #: src/lib/entry-editor/NewEntryDialog.svelte #: src/lib/views/custom/validation.ts msgid "Word or Display as is required" @@ -2075,6 +2126,7 @@ msgstr "Perkataan atau makna:" msgid "Writing System" msgstr "Sistem Penulisan" +#. Tooltip on a text span in the rich-text editor. {0} = writing system code (e.g., "en", "fr-IPA"). Identifies which writing system the span belongs to. #: src/lib/components/lcm-rich-text-editor/editor-schema.ts msgid "Writing system: {0}" msgstr "Sistem penulisan: {0}" diff --git a/frontend/viewer/src/locales/sw.po b/frontend/viewer/src/locales/sw.po index 72ef3998bd..ddc5f77608 100644 --- a/frontend/viewer/src/locales/sw.po +++ b/frontend/viewer/src/locales/sw.po @@ -790,14 +790,17 @@ msgstr "Maeneo" msgid "FieldWorks Lite" msgstr "FieldWorks Lite" +#. Success notification shown after FieldWorks Lite auto-updates. "FieldWorks Lite" is a product name — do not translate. #: src/lib/notifications/NotificationOutlet.svelte msgid "FieldWorks Lite has been updated successfully. Please restart the app to apply the changes." msgstr "FieldWorks Lite imesasishwa kwa ufanisi. Tafadhali anzisha upya programu ili kutumia mabadiliko." +#. Explanatory text in a popover on the sync panel. "FieldWorks Lite" and "FieldWorks Classic" are product names — do not translate. #: src/project/sync/FwLiteToFwMergeDetails.svelte 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." +#. Field label in Troubleshoot and Update dialogs. "FieldWorks Lite" is a product name — do not translate. #: src/lib/troubleshoot/TroubleshootDialog.svelte #: src/lib/updates/UpdateDialog.svelte msgid "FieldWorks Lite version" @@ -963,6 +966,7 @@ msgstr "kijani" msgid "Headword" msgstr "Neno la kichwa" +#. Radio button option to hide the Dictionary Preview panel in the entry editor. Paired with "Show" and "Pinned". #: src/project/browse/EditorViewOptions.svelte msgid "Hide" msgstr "Ficha" @@ -983,22 +987,28 @@ msgstr "Shika ili kurekodi au#bonyeza na kutoleza kuanza kurekodi." msgid "I don't see my project" msgstr "Siioni mradi wangu" +#. Toggle switch label in the delete confirmation dialog when the action is flagged as dangerous (e.g. deleting a project). +#. User must enable this switch before the Delete button is enabled. #: src/lib/entry-editor/DeleteDialog.svelte msgid "I understand that this can't be undone" msgstr "Ninaelewa kuwa hii haiwezi kurudishwa nyuma" +#. Dev-mode only icon button tooltip on a Classic FieldWorks project list item. Imports the fwdata project into FwLite. #: src/home/HomeView.svelte msgid "Import" msgstr "Ingiza" +#. Future relative date format. {0} = formatted duration string (e.g., "3 hours", "2 days"). Paired with "{0} ago" for past dates. #: src/lib/components/ui/format/format-relative-date-fn.svelte.ts msgid "in {0}" msgstr "katika {0}" +#. Toggle switch in the filter panel next to the semantic domain selector. When enabled, also matches child semantic domains. #: src/project/browse/SearchFilter.svelte msgid "Include subdomains" msgstr "Jumuisha vikoa vidogo" +#. Filter section label in the browse filter panel. Below it is a dropdown to filter entries that are missing a specific field (e.g., missing gloss or definition). #: src/project/browse/SearchFilter.svelte msgid "Incomplete entries" msgstr "Ingizo lisilo kamili" @@ -1018,15 +1028,18 @@ msgstr "Inasakinisha Sasisho..." msgid "Keep going" msgstr "Endelea" +#. Label showing the date of the last change in the FwLite↔Classic sync panel. # is replaced by a formatted relative date component (e.g., "3 days ago"). #: src/project/sync/FwLiteToFwMergeDetails.svelte #: src/project/sync/FwLiteToFwMergeDetails.svelte msgid "Last change: #" msgstr "Badiliko la mwisho: #" +#. Label showing the timestamp of the last local sync in the sync panel. # is replaced by a formatted relative date component (e.g., "5 minutes ago"). #: src/project/sync/SyncStatusPrimitive.svelte msgid "Last sync: #" msgstr "Kuoanisha kwa mwisho: #" +#. Field label in the audio editor showing the duration of the audio file. #: src/lib/components/audio/audio-editor.svelte msgid "Length:" msgstr "Urefu:" @@ -1036,6 +1049,7 @@ msgstr "Urefu:" msgid "Lexbox" msgstr "Lexbox" +#. Alt text for the Lexbox logo image shown in the home screen app bar. "Lexbox" is a product name — do not translate. #: src/home/HomeView.svelte msgid "Lexbox logo" msgstr "Nembo ya Lexbox" @@ -1047,6 +1061,9 @@ msgstr "Nembo ya Lexbox" msgid "Lexeme form" msgstr "Fomu ya Neno" +#. Relevant view: Classic +#. Lite view equivalent: "Word or Display as is required" +#. Validation error in the New Entry dialog when neither the Lexeme form nor Citation form field has a value. #: src/lib/entry-editor/NewEntryDialog.svelte #: src/lib/views/custom/validation.ts msgid "Lexeme form or Citation form is required" @@ -1056,6 +1073,7 @@ msgstr "Fomu ya lekseme au fomu ya nukuu inahitajika" msgid "Light" msgstr "Mwanga" +#. Section header in the entry list view options popup. Controls whether the entry list shows simple rows or a preview. Options below it: "Simple" and "Preview". #: src/project/browse/EntryListViewOptions.svelte msgid "List mode" msgstr "Hali ya orodha" @@ -1067,6 +1085,7 @@ msgstr "Hali ya orodha" msgid "Literal meaning" msgstr "Maana halisi" +#. Loading state text shown in the project/dictionary dropdown while the list of dictionaries is being fetched. #: src/project/ProjectDropdown.svelte msgid "Loading Dictionaries..." msgstr "Inapakia Kamusi..." @@ -1075,20 +1094,24 @@ msgstr "Inapakia Kamusi..." msgid "loading..." msgstr "inashughulikia..." +#. Section label for the local device box in the sync panel, and section header on the home screen project list. #: src/home/HomeView.svelte #: src/project/sync/SyncStatusPrimitive.svelte msgid "Local" msgstr "Mitaa" +#. Subtitle shown on a project card when the project has no server configured (no sync partner). #: src/home/HomeView.svelte msgid "Local only" msgstr "Mitaa tu" +#. Button label in the sync panel when the user is not logged in. Initiates authentication with the server. #: src/project/sync/FwLiteToFwMergeDetails.svelte #: src/project/sync/SyncStatusPrimitive.svelte msgid "Login" msgstr "Ingia" +#. Default button label on the login button when not yet authenticated. Clicking opens the login flow for a server. #: src/lib/auth/LoginButton.svelte #: src/lib/auth/LoginButton.svelte msgid "Login to see projects" @@ -1098,14 +1121,17 @@ msgstr "Ingia kuona miradi" msgid "Logout" msgstr "Toka nje" +#. Footer text in the project sidebar. The emoji flags are the countries of origin of the development team — do not translate. #: src/project/ProjectSidebar.svelte msgid "Made with ❤️ from 🇦🇹 🇹🇭 🇺🇸" msgstr "Iliyotengana na ❤️ kutoka 🇦🇹 🇹🇭 🇺🇸" +#. Button label in the Feedback & Support dialog. Opens an external link to submit a feature suggestion. #: src/lib/about/FeedbackDialog.svelte msgid "Make a suggestion" msgstr "Tengeneza pendekezo" +#. Warning shown in the delete-project confirmation dialog. Markdown link format: [link text]({0}) where {0} = URL to the sync dialog. "Lexbox" is a product name — do not translate. #: src/home/HomeView.svelte msgid "Make sure your [changes are synced]({0}) to Lexbox." msgstr "Hakikisha mabadiliko yako [yameoanishwa]({0}) kwa Lexbox." @@ -1140,18 +1166,22 @@ msgstr "Sasisho la mwongozo linahitajika. Tafadhali fuata maelekezo yaliyotolewa msgid "Meaning" msgstr "Maana" +#. Task subject label in the task list. {0} = writing system abbreviation (e.g., "en", "fr"). Identifies entries lacking a definition in that writing system. #: src/project/tasks/tasks-service.ts msgid "Missing Definition {0}" msgstr "Maana yenye kushindwa {0}" +#. Task subject label in the task list. {0} = writing system abbreviation (e.g., "en", "fr"). Identifies entries lacking an example sentence in that writing system. #: src/project/tasks/tasks-service.ts msgid "Missing Example sentence {0}" msgstr "Sentensi ya mfano yenye kushindwa {0}" +#. Task subject label in the task list. {0} = writing system abbreviation (e.g., "en", "fr"). Identifies entries lacking a gloss (brief translation) in that writing system. #: src/project/tasks/tasks-service.ts msgid "Missing Gloss {0}" msgstr "Glosi yenye kushindwa {0}" +#. Task subject label in the task list. Identifies senses/meanings that have no part-of-speech (grammatical category) assigned. #: src/project/tasks/tasks-service.ts msgid "Missing Part of Speech" msgstr "Sehemu ya mazungumzo yenye kushindwa" @@ -1163,10 +1193,12 @@ msgstr "Sehemu ya mazungumzo yenye kushindwa" msgid "Missing: {0}" msgstr "Yenye kushindwa: {0}" +#. Section label in the theme picker popup for the light/dark/system mode selector. Options below it: "Light", "Dark", "System". #: src/lib/components/ThemePicker.svelte msgid "Mode" msgstr "Hali" +#. Drag-handle or button tooltip to reorder an item in a list (e.g., senses or examples within an entry). #: src/lib/entry-editor/ItemListItem.svelte msgid "Move" msgstr "Sogeza" @@ -1192,6 +1224,7 @@ msgstr "Jina linahitajika" msgid "Never" msgstr "Kamwe" +#. Badge label on the primary "New Entry" / "New Word" button indicating it creates a new item. #: src/project/PrimaryNewEntryButton.svelte msgid "New" msgstr "Mpya" @@ -1201,6 +1234,7 @@ msgstr "Mpya" msgid "New Custom View" msgstr "Mtazamo Mpya Uliobinafsishwa" +#. Sync status indicator in the FwLite↔Classic sync panel. Shown when there are pending changes waiting to be applied. Paired with "No new data". #: src/project/sync/FwLiteToFwMergeDetails.svelte msgid "New data" msgstr "Data mpya" @@ -1251,6 +1285,7 @@ msgstr "Hakuna kamusi iliyopatikana" msgid "No entries found" msgstr "Hakuna ingizo liliyopatikana" +#. Error message in the audio upload dialog when the user tries to save/upload without having selected a file. #: src/lib/components/audio/AudioDialog.svelte msgid "No file to upload" msgstr "Hakuna faili la kuweka" @@ -1264,18 +1299,22 @@ msgstr "Hakuna historia iliyopatikana" msgid "No items found" msgstr "Hakuna kitu kilichopatikana" +#. Sync status indicator in the FwLite↔Classic sync panel. Shown when there are no pending changes. Paired with "New data". #: src/project/sync/FwLiteToFwMergeDetails.svelte msgid "No new data" msgstr "Hakuna data mpya" +#. Sync status label shown in the sync panel when no server is associated with this project. #: src/project/sync/SyncStatusPrimitive.svelte msgid "No server" msgstr "Hakuna seva" +#. Status text in the project sidebar when the project has no server/sync partner configured. #: src/project/ProjectSidebar.svelte msgid "No server configured" msgstr "Hakuna seva iliyotengwa" +#. Error message in the task editing drawer when no subject entity can be found. {0} = subject type (e.g., "sense", "example-sentence"). #: src/project/tasks/SubjectPopup.svelte msgid "No subject, unable to create a new {0}" msgstr "Hakuna kigezo, haiwezi kutengeneza {0} mpya" @@ -1300,15 +1339,18 @@ msgstr "Hamna" msgid "Not equal" msgstr "Sio sawa" +#. Placeholder shown in the activity change preview when a referenced entry or sense no longer exists in the dictionary. #: src/lib/activity/ActivityItemChangePreview.svelte #: src/lib/activity/ActivityItemChangePreview.svelte msgid "Not found" msgstr "Haijapatikana" +#. Status text in the project sidebar indicating the user is not authenticated with the sync server. #: src/project/ProjectSidebar.svelte msgid "Not logged in" msgstr "Haijaingia" +#. Badge label on an activity item indicating these local changes have not yet been uploaded to the server. #: src/lib/activity/ActivityItem.svelte msgid "Not synced" msgstr "Haijaoanishwa" @@ -1320,6 +1362,7 @@ msgstr "Haijaoanishwa" msgid "Note" msgstr "Tanbihi" +#. Error tooltip/message on the copy button when there is no text content available to copy to the clipboard. #: src/lib/components/ui/button/copy-button.svelte msgid "Nothing to copy" msgstr "Hakuna kitu cha kunakili" @@ -1371,6 +1414,7 @@ msgstr "Fungua kwenye Dirisha Jipya" msgid "Open Log file" msgstr "Fungua faili la logi" +#. Status message shown after the user clicks "Open in FieldWorks" while the handoff is in progress. "FieldWorks" is a product name — do not translate. #: src/lib/components/OpenInFieldWorksButton.svelte msgid "Opening in FieldWorks…" msgstr "Kufungua katika FieldWorks…" @@ -1746,6 +1790,7 @@ msgstr "Kuoanisha FieldWorks Lite na FieldWorks Classic" msgid "Sync your changes with other FieldWorks Lite users" msgstr "Kuoanisha mabadiliko yako na watumiaji wengine wa FieldWorks Lite" +#. Sync status label in the project sidebar indicating all changes are in sync with the server. #: src/project/ProjectSidebar.svelte msgid "Synced" msgstr "Kuoanishwa" @@ -1795,6 +1840,7 @@ msgstr "Jukumu halipatikani: {0}" msgid "Tasks" msgstr "Jukumu" +#. Short description under the "Report a technical problem" button in the Feedback & Support dialog. #: src/lib/about/FeedbackDialog.svelte msgid "Tell us about a bug or issue you’ve encountered." msgstr "Tuambie kuhusu kosa au matatizo uliyokabiliwa." @@ -1875,6 +1921,7 @@ msgstr "Geuza iliyobandikwa" msgid "Translation" msgstr "Tafsiri" +#. Field title in the example editor when an entry has multiple translations. {0} = 1-based index number (e.g., "Translation 1", "Translation 2"). When there is only one translation, "Translation" is used instead. #: src/lib/entry-editor/object-editors/ExampleEditorPrimitive.svelte msgid "Translation {0}" msgstr "Tafsiri {0}" @@ -1912,6 +1959,7 @@ msgstr "Aina:" msgid "Unable to open in FieldWorks" msgstr "Haiwezi kufungua katika FieldWorks" +#. Fallback value shown when author name or last-change date is unavailable (e.g., in activity history or the sync panel). #: src/lib/activity/ActivityItem.svelte #: src/project/sync/FwLiteToFwMergeDetails.svelte #: src/project/sync/FwLiteToFwMergeDetails.svelte @@ -2058,6 +2106,9 @@ msgstr "Neno" msgid "Word only" msgstr "Neno tu" +#. Relevant view: Lite +#. Classic view equivalent: "Lexeme form or Citation form is required" +#. Validation error in the New Word dialog when neither the Word (Lexeme form) nor Display as (Citation form) field has a value. #: src/lib/entry-editor/NewEntryDialog.svelte #: src/lib/views/custom/validation.ts msgid "Word or Display as is required" @@ -2075,6 +2126,7 @@ msgstr "Neno au maana:" msgid "Writing System" msgstr "Mfumo wa Kuandika" +#. Tooltip on a text span in the rich-text editor. {0} = writing system code (e.g., "en", "fr-IPA"). Identifies which writing system the span belongs to. #: src/lib/components/lcm-rich-text-editor/editor-schema.ts msgid "Writing system: {0}" msgstr "Mfumo wa kuandika: {0}" diff --git a/frontend/viewer/src/locales/vi.po b/frontend/viewer/src/locales/vi.po index 2807cafb15..74bb968e9f 100644 --- a/frontend/viewer/src/locales/vi.po +++ b/frontend/viewer/src/locales/vi.po @@ -790,14 +790,17 @@ msgstr "Các trường" msgid "FieldWorks Lite" msgstr "FieldWorks Lite" +#. Success notification shown after FieldWorks Lite auto-updates. "FieldWorks Lite" is a product name — do not translate. #: src/lib/notifications/NotificationOutlet.svelte msgid "FieldWorks Lite has been updated successfully. Please restart the app to apply the changes." msgstr "FieldWorks Lite đã được cập nhật thành công. Vui lòng khởi động lại ứng dụng để áp dụng thay đổi." +#. Explanatory text in a popover on the sync panel. "FieldWorks Lite" and "FieldWorks Classic" are product names — do not translate. #: src/project/sync/FwLiteToFwMergeDetails.svelte 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." +#. Field label in Troubleshoot and Update dialogs. "FieldWorks Lite" is a product name — do not translate. #: src/lib/troubleshoot/TroubleshootDialog.svelte #: src/lib/updates/UpdateDialog.svelte msgid "FieldWorks Lite version" @@ -963,6 +966,7 @@ msgstr "xanh" msgid "Headword" msgstr "Từ đầu mục" +#. Radio button option to hide the Dictionary Preview panel in the entry editor. Paired with "Show" and "Pinned". #: src/project/browse/EditorViewOptions.svelte msgid "Hide" msgstr "Ẩn" @@ -983,22 +987,28 @@ msgstr "Giữ nút để ghi âm hoặc#nhấn và thả nút để bắt đầu msgid "I don't see my project" msgstr "Tôi không thấy dự án của mình" +#. Toggle switch label in the delete confirmation dialog when the action is flagged as dangerous (e.g. deleting a project). +#. User must enable this switch before the Delete button is enabled. #: src/lib/entry-editor/DeleteDialog.svelte msgid "I understand that this can't be undone" msgstr "Tôi hiểu rằng điều này không thể hoàn tác" +#. Dev-mode only icon button tooltip on a Classic FieldWorks project list item. Imports the fwdata project into FwLite. #: src/home/HomeView.svelte msgid "Import" msgstr "Nhập" +#. Future relative date format. {0} = formatted duration string (e.g., "3 hours", "2 days"). Paired with "{0} ago" for past dates. #: src/lib/components/ui/format/format-relative-date-fn.svelte.ts msgid "in {0}" msgstr "trong {0}" +#. Toggle switch in the filter panel next to the semantic domain selector. When enabled, also matches child semantic domains. #: src/project/browse/SearchFilter.svelte msgid "Include subdomains" msgstr "Bao gồm các phân miền phụ" +#. Filter section label in the browse filter panel. Below it is a dropdown to filter entries that are missing a specific field (e.g., missing gloss or definition). #: src/project/browse/SearchFilter.svelte msgid "Incomplete entries" msgstr "Mục chưa hoàn chỉnh" @@ -1018,15 +1028,18 @@ msgstr "Đang cài đặt bản cập nhật..." msgid "Keep going" msgstr "Tiếp tục" +#. Label showing the date of the last change in the FwLite↔Classic sync panel. # is replaced by a formatted relative date component (e.g., "3 days ago"). #: src/project/sync/FwLiteToFwMergeDetails.svelte #: src/project/sync/FwLiteToFwMergeDetails.svelte msgid "Last change: #" msgstr "Thay đổi cuối: #" +#. Label showing the timestamp of the last local sync in the sync panel. # is replaced by a formatted relative date component (e.g., "5 minutes ago"). #: src/project/sync/SyncStatusPrimitive.svelte msgid "Last sync: #" msgstr "Lần đồng bộ cuối: #" +#. Field label in the audio editor showing the duration of the audio file. #: src/lib/components/audio/audio-editor.svelte msgid "Length:" msgstr "Độ dài:" @@ -1036,6 +1049,7 @@ msgstr "Độ dài:" msgid "Lexbox" msgstr "Lexbox" +#. Alt text for the Lexbox logo image shown in the home screen app bar. "Lexbox" is a product name — do not translate. #: src/home/HomeView.svelte msgid "Lexbox logo" msgstr "Logo Lexbox" @@ -1047,6 +1061,9 @@ msgstr "Logo Lexbox" msgid "Lexeme form" msgstr "Hình thức lexeme" +#. Relevant view: Classic +#. Lite view equivalent: "Word or Display as is required" +#. Validation error in the New Entry dialog when neither the Lexeme form nor Citation form field has a value. #: src/lib/entry-editor/NewEntryDialog.svelte #: src/lib/views/custom/validation.ts msgid "Lexeme form or Citation form is required" @@ -1056,6 +1073,7 @@ msgstr "Hình thức từ vựng hoặc Hình thức trích dẫn là bắt bu msgid "Light" msgstr "Sáng" +#. Section header in the entry list view options popup. Controls whether the entry list shows simple rows or a preview. Options below it: "Simple" and "Preview". #: src/project/browse/EntryListViewOptions.svelte msgid "List mode" msgstr "Chế độ danh sách" @@ -1067,6 +1085,7 @@ msgstr "Chế độ danh sách" msgid "Literal meaning" msgstr "Ý nghĩa đen" +#. Loading state text shown in the project/dictionary dropdown while the list of dictionaries is being fetched. #: src/project/ProjectDropdown.svelte msgid "Loading Dictionaries..." msgstr "Đang tải các từ điển..." @@ -1075,20 +1094,24 @@ msgstr "Đang tải các từ điển..." msgid "loading..." msgstr "đang tải..." +#. Section label for the local device box in the sync panel, and section header on the home screen project list. #: src/home/HomeView.svelte #: src/project/sync/SyncStatusPrimitive.svelte msgid "Local" msgstr "Cục bộ" +#. Subtitle shown on a project card when the project has no server configured (no sync partner). #: src/home/HomeView.svelte msgid "Local only" msgstr "Chỉ cục bộ" +#. Button label in the sync panel when the user is not logged in. Initiates authentication with the server. #: src/project/sync/FwLiteToFwMergeDetails.svelte #: src/project/sync/SyncStatusPrimitive.svelte msgid "Login" msgstr "Đăng nhập" +#. Default button label on the login button when not yet authenticated. Clicking opens the login flow for a server. #: src/lib/auth/LoginButton.svelte #: src/lib/auth/LoginButton.svelte msgid "Login to see projects" @@ -1098,14 +1121,17 @@ msgstr "Đăng nhập để xem dự án" msgid "Logout" msgstr "Đăng xuất" +#. Footer text in the project sidebar. The emoji flags are the countries of origin of the development team — do not translate. #: src/project/ProjectSidebar.svelte msgid "Made with ❤️ from 🇦🇹 🇹🇭 🇺🇸" msgstr "Được tạo với ❤️ từ 🇦🇹 🇹🇭 🇺🇸" +#. Button label in the Feedback & Support dialog. Opens an external link to submit a feature suggestion. #: src/lib/about/FeedbackDialog.svelte msgid "Make a suggestion" msgstr "Gợi ý" +#. Warning shown in the delete-project confirmation dialog. Markdown link format: [link text]({0}) where {0} = URL to the sync dialog. "Lexbox" is a product name — do not translate. #: src/home/HomeView.svelte 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." @@ -1140,18 +1166,22 @@ msgstr "Cần thực hiện cập nhật thủ công. Vui lòng làm theo các h msgid "Meaning" msgstr "Ý nghĩa" +#. Task subject label in the task list. {0} = writing system abbreviation (e.g., "en", "fr"). Identifies entries lacking a definition in that writing system. #: src/project/tasks/tasks-service.ts msgid "Missing Definition {0}" msgstr "Thiếu Định nghĩa {0}" +#. Task subject label in the task list. {0} = writing system abbreviation (e.g., "en", "fr"). Identifies entries lacking an example sentence in that writing system. #: src/project/tasks/tasks-service.ts msgid "Missing Example sentence {0}" msgstr "Thiếu Câu ví dụ {0}" +#. Task subject label in the task list. {0} = writing system abbreviation (e.g., "en", "fr"). Identifies entries lacking a gloss (brief translation) in that writing system. #: src/project/tasks/tasks-service.ts msgid "Missing Gloss {0}" msgstr "Thiếu Ghi chú {0}" +#. Task subject label in the task list. Identifies senses/meanings that have no part-of-speech (grammatical category) assigned. #: src/project/tasks/tasks-service.ts msgid "Missing Part of Speech" msgstr "Thiếu Loại từ" @@ -1163,10 +1193,12 @@ msgstr "Thiếu Loại từ" msgid "Missing: {0}" msgstr "Thiếu: {0}" +#. Section label in the theme picker popup for the light/dark/system mode selector. Options below it: "Light", "Dark", "System". #: src/lib/components/ThemePicker.svelte msgid "Mode" msgstr "Chế độ" +#. Drag-handle or button tooltip to reorder an item in a list (e.g., senses or examples within an entry). #: src/lib/entry-editor/ItemListItem.svelte msgid "Move" msgstr "Di chuyển" @@ -1192,6 +1224,7 @@ msgstr "Tên là trường thông tin bắt buộc" msgid "Never" msgstr "Không bao giờ" +#. Badge label on the primary "New Entry" / "New Word" button indicating it creates a new item. #: src/project/PrimaryNewEntryButton.svelte msgid "New" msgstr "Mới" @@ -1201,6 +1234,7 @@ msgstr "Mới" msgid "New Custom View" msgstr "Chế độ xem tùy chỉnh mới" +#. Sync status indicator in the FwLite↔Classic sync panel. Shown when there are pending changes waiting to be applied. Paired with "No new data". #: src/project/sync/FwLiteToFwMergeDetails.svelte msgid "New data" msgstr "Dữ liệu mới" @@ -1251,6 +1285,7 @@ msgstr "Không tìm thấy từ điển nào" msgid "No entries found" msgstr "Không tìm thấy mục nào" +#. Error message in the audio upload dialog when the user tries to save/upload without having selected a file. #: src/lib/components/audio/AudioDialog.svelte msgid "No file to upload" msgstr "Không có tệp để tải lên" @@ -1264,18 +1299,22 @@ msgstr "Không tìm thấy lịch sử" msgid "No items found" msgstr "Không tìm thấy mục nào" +#. Sync status indicator in the FwLite↔Classic sync panel. Shown when there are no pending changes. Paired with "New data". #: src/project/sync/FwLiteToFwMergeDetails.svelte msgid "No new data" msgstr "Không có dữ liệu mới" +#. Sync status label shown in the sync panel when no server is associated with this project. #: src/project/sync/SyncStatusPrimitive.svelte msgid "No server" msgstr "Không có máy chủ" +#. Status text in the project sidebar when the project has no server/sync partner configured. #: src/project/ProjectSidebar.svelte msgid "No server configured" msgstr "Chưa cấu hình máy chủ" +#. Error message in the task editing drawer when no subject entity can be found. {0} = subject type (e.g., "sense", "example-sentence"). #: src/project/tasks/SubjectPopup.svelte msgid "No subject, unable to create a new {0}" msgstr "Không có chủ đề, không thể tạo mới {0}" @@ -1300,15 +1339,18 @@ msgstr "Không có" msgid "Not equal" msgstr "Không bằng" +#. Placeholder shown in the activity change preview when a referenced entry or sense no longer exists in the dictionary. #: src/lib/activity/ActivityItemChangePreview.svelte #: src/lib/activity/ActivityItemChangePreview.svelte msgid "Not found" msgstr "Không tìm thấy" +#. Status text in the project sidebar indicating the user is not authenticated with the sync server. #: src/project/ProjectSidebar.svelte msgid "Not logged in" msgstr "Chưa đăng nhập" +#. Badge label on an activity item indicating these local changes have not yet been uploaded to the server. #: src/lib/activity/ActivityItem.svelte msgid "Not synced" msgstr "Chưa đồng bộ" @@ -1320,6 +1362,7 @@ msgstr "Chưa đồng bộ" msgid "Note" msgstr "Ghi chú" +#. Error tooltip/message on the copy button when there is no text content available to copy to the clipboard. #: src/lib/components/ui/button/copy-button.svelte msgid "Nothing to copy" msgstr "Không có gì để sao chép" @@ -1371,6 +1414,7 @@ msgstr "Mở trong cửa sổ mới" msgid "Open Log file" msgstr "Mở tệp nhật ký" +#. Status message shown after the user clicks "Open in FieldWorks" while the handoff is in progress. "FieldWorks" is a product name — do not translate. #: src/lib/components/OpenInFieldWorksButton.svelte msgid "Opening in FieldWorks…" msgstr "Mở trong FieldWorks…" @@ -1746,6 +1790,7 @@ msgstr "Đồng bộ FieldWorks Lite và FieldWorks Classic" msgid "Sync your changes with other FieldWorks Lite users" msgstr "Đồng bộ các thay đổi của bạn với người dùng FieldWorks Lite khác" +#. Sync status label in the project sidebar indicating all changes are in sync with the server. #: src/project/ProjectSidebar.svelte msgid "Synced" msgstr "Đã đồng bộ" @@ -1795,6 +1840,7 @@ msgstr "Không tìm thấy nhiệm vụ: {0}" msgid "Tasks" msgstr "Nhiệm vụ" +#. Short description under the "Report a technical problem" button in the Feedback & Support dialog. #: src/lib/about/FeedbackDialog.svelte msgid "Tell us about a bug or issue you’ve encountered." msgstr "Hãy cho chúng tôi biết về lỗi hoặc vấn đề bạn gặp phải." @@ -1875,6 +1921,7 @@ msgstr "Chuyển trạng thái ghim" msgid "Translation" msgstr "Bản dịch" +#. Field title in the example editor when an entry has multiple translations. {0} = 1-based index number (e.g., "Translation 1", "Translation 2"). When there is only one translation, "Translation" is used instead. #: src/lib/entry-editor/object-editors/ExampleEditorPrimitive.svelte msgid "Translation {0}" msgstr "Bản dịch {0}" @@ -1912,6 +1959,7 @@ msgstr "Loại:" msgid "Unable to open in FieldWorks" msgstr "Không thể mở trong FieldWorks" +#. Fallback value shown when author name or last-change date is unavailable (e.g., in activity history or the sync panel). #: src/lib/activity/ActivityItem.svelte #: src/project/sync/FwLiteToFwMergeDetails.svelte #: src/project/sync/FwLiteToFwMergeDetails.svelte @@ -2058,6 +2106,9 @@ msgstr "Từ" msgid "Word only" msgstr "Chỉ từ" +#. Relevant view: Lite +#. Classic view equivalent: "Lexeme form or Citation form is required" +#. Validation error in the New Word dialog when neither the Word (Lexeme form) nor Display as (Citation form) field has a value. #: src/lib/entry-editor/NewEntryDialog.svelte #: src/lib/views/custom/validation.ts msgid "Word or Display as is required" @@ -2075,6 +2126,7 @@ msgstr "Từ hoặc ý nghĩa:" msgid "Writing System" msgstr "Hệ chữ" +#. Tooltip on a text span in the rich-text editor. {0} = writing system code (e.g., "en", "fr-IPA"). Identifies which writing system the span belongs to. #: src/lib/components/lcm-rich-text-editor/editor-schema.ts msgid "Writing system: {0}" msgstr "Hệ chữ: {0}"