From 09cef70709180c53ef00940ae1801b4370b62d7a Mon Sep 17 00:00:00 2001 From: ariel-lindemann <41641978+ariel-lindemann@users.noreply.github.com> Date: Fri, 27 Feb 2026 18:45:05 +0100 Subject: [PATCH] fix: clarity issue with ambiguous string `SET` (#1169) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ## Summary * **What is the goal of this PR?** (e.g., Implements the new feature for file uploading.) Fixes a clarity issue regarding the translation string `STR_SET`. The issue lies in the fact that the english word can have different meanings. The only time the string is used is in the language selectio screen, where it has the meaning of _selected_. (As in _The language has been **set** to French_). Another meaning can be _configured_. (As in _The KOReader username has been __set__). This is the meaning many of the translations have taken. The reason that the string is right above `STR_NOT_SET` (which is meant as _not configured_). With this PR I propose to explicitly use the term "_Selected_". There are two good reasons for this: + it removes the confusion and the misleading translations + it is consistent with the button label `Select`, communicating the link between the two (the row will be marked `Selected` if you press the buttpn `Select`. Much clearer than now) * **What changes are included?** Removed the unused strings and added translations for the new string `STR_SELECTED` for the languages I know. tagging the translators for feedback: fr: @Spigaw @CaptainFrito de: @DavidOrtmann cs: @brbla pt: @yagofarias it: @andreaturchet @fargolinux ru: @madebykir @mrtnvgr es: @yeyeto2788 @Skrzakk @pablohc sv: @dawiik ca: @angeldenom uj: @mirus-ua be: @dexif ## Additional Context * Add any other information that might be helpful for the reviewer (e.g., performance implications, potential risks, specific areas to focus on). the Issue was introduced in #1020. Previously, if a language was selected it was marked with `[ON]` (`STR_ON_MARKER`). I considered reverting it back to that, but the solution I described above seemed superior. --- ### AI Usage While CrossPoint doesn't have restrictions on AI tools in contributing, please be transparent about their usage as it helps set the right context for reviewers. Did you use AI tools to help write this code? _**< NO >**_ --------- Co-authored-by: Егор Мартынов Co-authored-by: Mirus --- lib/I18n/translations/belarusian.yaml | 2 -- lib/I18n/translations/catalan.yaml | 2 -- lib/I18n/translations/czech.yaml | 2 -- lib/I18n/translations/english.yaml | 3 +-- lib/I18n/translations/french.yaml | 2 -- lib/I18n/translations/german.yaml | 3 +-- lib/I18n/translations/italian.yaml | 3 +-- lib/I18n/translations/portuguese.yaml | 2 -- lib/I18n/translations/romanian.yaml | 3 +-- lib/I18n/translations/russian.yaml | 3 +-- lib/I18n/translations/spanish.yaml | 2 -- lib/I18n/translations/swedish.yaml | 2 -- lib/I18n/translations/ukrainian.yaml | 3 +-- src/activities/settings/LanguageSelectActivity.cpp | 2 +- 14 files changed, 7 insertions(+), 27 deletions(-) diff --git a/lib/I18n/translations/belarusian.yaml b/lib/I18n/translations/belarusian.yaml index 5114c54b..6e89e0c0 100644 --- a/lib/I18n/translations/belarusian.yaml +++ b/lib/I18n/translations/belarusian.yaml @@ -237,7 +237,6 @@ STR_YES: "Так" STR_NO: "Не" STR_STATE_ON: "УКЛ" STR_STATE_OFF: "ВЫКЛ" -STR_SET: "Устаноўлена" STR_NOT_SET: "Не ўстаноўлена" STR_DIR_LEFT: "Улева" STR_DIR_RIGHT: "Управа" @@ -246,7 +245,6 @@ STR_DIR_DOWN: "Уніз" STR_CAPS_ON: "CAPS" STR_CAPS_OFF: "caps" STR_OK_BUTTON: "OK" -STR_ON_MARKER: "[УКЛ]" STR_SLEEP_COVER_FILTER: "Фільтр экрана сну" STR_FILTER_CONTRAST: "Кантраст" STR_STATUS_BAR_FULL_PERCENT: "Поўная + %" diff --git a/lib/I18n/translations/catalan.yaml b/lib/I18n/translations/catalan.yaml index a76888a8..a17ebcf5 100644 --- a/lib/I18n/translations/catalan.yaml +++ b/lib/I18n/translations/catalan.yaml @@ -237,7 +237,6 @@ STR_YES: "Sí" STR_NO: "No" STR_STATE_ON: "ON" STR_STATE_OFF: "OFF" -STR_SET: "Establert" STR_NOT_SET: "No establert" STR_DIR_LEFT: "Esquerra" STR_DIR_RIGHT: "Dreta" @@ -246,7 +245,6 @@ STR_DIR_DOWN: "Avall" STR_CAPS_ON: "MAJS" STR_CAPS_OFF: "majs" STR_OK_BUTTON: "OK" -STR_ON_MARKER: "[ON]" STR_SLEEP_COVER_FILTER: "Filtre de pantalla de repòs" STR_FILTER_CONTRAST: "Contrast" STR_UI_THEME: "Tema de la interfície" diff --git a/lib/I18n/translations/czech.yaml b/lib/I18n/translations/czech.yaml index 46019b1c..f6294420 100644 --- a/lib/I18n/translations/czech.yaml +++ b/lib/I18n/translations/czech.yaml @@ -237,7 +237,6 @@ STR_YES: "Ano" STR_NO: "Ne" STR_STATE_ON: "ZAP" STR_STATE_OFF: "VYP" -STR_SET: "Nastavit" STR_NOT_SET: "Nenastaveno" STR_DIR_LEFT: "Vlevo" STR_DIR_RIGHT: "Vpravo" @@ -246,7 +245,6 @@ STR_DIR_DOWN: "Dolů" STR_CAPS_ON: "PÍSMO" STR_CAPS_OFF: "písmo" STR_OK_BUTTON: "OK" -STR_ON_MARKER: "[ZAP]" STR_SLEEP_COVER_FILTER: "Filtr obrazovky spánku" STR_FILTER_CONTRAST: "Kontrast" STR_UI_THEME: "Šablona rozhraní" diff --git a/lib/I18n/translations/english.yaml b/lib/I18n/translations/english.yaml index 19dd78ec..12656a47 100644 --- a/lib/I18n/translations/english.yaml +++ b/lib/I18n/translations/english.yaml @@ -226,6 +226,7 @@ STR_EXIT: "« Exit" STR_HOME: "« Home" STR_SAVE: "« Save" STR_SELECT: "Select" +STR_SELECTED: "Selected" STR_TOGGLE: "Toggle" STR_CONFIRM: "Confirm" STR_CANCEL: "Cancel" @@ -239,7 +240,6 @@ STR_SHOW: "Show" STR_HIDE: "Hide" STR_STATE_ON: "ON" STR_STATE_OFF: "OFF" -STR_SET: "Set" STR_NOT_SET: "Not Set" STR_DIR_LEFT: "Left" STR_DIR_RIGHT: "Right" @@ -248,7 +248,6 @@ STR_DIR_DOWN: "Down" STR_CAPS_ON: "CAPS" STR_CAPS_OFF: "caps" STR_OK_BUTTON: "OK" -STR_ON_MARKER: "[ON]" STR_SLEEP_COVER_FILTER: "Sleep Screen Cover Filter" STR_FILTER_CONTRAST: "Contrast" STR_CUSTOMISE_STATUS_BAR: "Customise Status Bar" diff --git a/lib/I18n/translations/french.yaml b/lib/I18n/translations/french.yaml index 559e5837..316691c8 100644 --- a/lib/I18n/translations/french.yaml +++ b/lib/I18n/translations/french.yaml @@ -237,7 +237,6 @@ STR_YES: "Oui" STR_NO: "Non" STR_STATE_ON: "ON" STR_STATE_OFF: "OFF" -STR_SET: "Défini" STR_NOT_SET: "Non défini" STR_DIR_LEFT: "Gauche" STR_DIR_RIGHT: "Droite" @@ -246,7 +245,6 @@ STR_DIR_DOWN: "Bas" STR_CAPS_ON: "MAJ" STR_CAPS_OFF: "min" STR_OK_BUTTON: "OK" -STR_ON_MARKER: "[ON]" STR_SLEEP_COVER_FILTER: "Filtre écran de veille" STR_FILTER_CONTRAST: "Contraste" STR_UI_THEME: "Thème interface" diff --git a/lib/I18n/translations/german.yaml b/lib/I18n/translations/german.yaml index 641c7d39..90db203b 100644 --- a/lib/I18n/translations/german.yaml +++ b/lib/I18n/translations/german.yaml @@ -226,6 +226,7 @@ STR_EXIT: "« Verlassen" STR_HOME: "« Start" STR_SAVE: "« Speichern" STR_SELECT: "Auswahl" +STR_SELECTED: "Ausgewählt" STR_TOGGLE: "Ändern" STR_CONFIRM: "Bestätigen" STR_CANCEL: "Abbrechen" @@ -237,7 +238,6 @@ STR_YES: "Ja" STR_NO: "Nein" STR_STATE_ON: "An" STR_STATE_OFF: "Aus" -STR_SET: "Gesetzt" STR_NOT_SET: "Leer" STR_DIR_LEFT: "Links" STR_DIR_RIGHT: "Rechts" @@ -246,7 +246,6 @@ STR_DIR_DOWN: "Runter" STR_CAPS_ON: "UMSCH" STR_CAPS_OFF: "umsch" STR_OK_BUTTON: "OK" -STR_ON_MARKER: "[AN]" STR_SLEEP_COVER_FILTER: "Standby-Coverfilter" STR_FILTER_CONTRAST: "Kontrast" STR_UI_THEME: "System-Design" diff --git a/lib/I18n/translations/italian.yaml b/lib/I18n/translations/italian.yaml index a92ed4ac..04496dd2 100644 --- a/lib/I18n/translations/italian.yaml +++ b/lib/I18n/translations/italian.yaml @@ -226,6 +226,7 @@ STR_EXIT: "« Esci" STR_HOME: "« Home" STR_SAVE: "« Salva" STR_SELECT: "Seleziona" +STR_SELECTED: "Selezionato" STR_TOGGLE: "Attiva/Disattiva" STR_CONFIRM: "Conferma" STR_CANCEL: "Annulla" @@ -237,7 +238,6 @@ STR_YES: "Sì" STR_NO: "No" STR_STATE_ON: "ON" STR_STATE_OFF: "OFF" -STR_SET: "Imposta" STR_NOT_SET: "Non impostato" STR_DIR_LEFT: "Sinist." STR_DIR_RIGHT: "Dest." @@ -246,7 +246,6 @@ STR_DIR_DOWN: "Giù" STR_CAPS_ON: "MAIUSC" STR_CAPS_OFF: "maiusc" STR_OK_BUTTON: "OK" -STR_ON_MARKER: "[ON]" STR_SLEEP_COVER_FILTER: "Filtro copertina modalità sleep" STR_FILTER_CONTRAST: "Contrasto" STR_STATUS_BAR_FULL_PERCENT: "Completa con Percentuale" diff --git a/lib/I18n/translations/portuguese.yaml b/lib/I18n/translations/portuguese.yaml index f404e172..fee77f3f 100644 --- a/lib/I18n/translations/portuguese.yaml +++ b/lib/I18n/translations/portuguese.yaml @@ -237,7 +237,6 @@ STR_YES: "Sim" STR_NO: "Não" STR_STATE_ON: "LIG." STR_STATE_OFF: "DESL." -STR_SET: "Definir" STR_NOT_SET: "Não definido" STR_DIR_LEFT: "Esquerda" STR_DIR_RIGHT: "Direita" @@ -246,7 +245,6 @@ STR_DIR_DOWN: "Baixo" STR_CAPS_ON: "CAPS" STR_CAPS_OFF: "caps" STR_OK_BUTTON: "OK" -STR_ON_MARKER: "[LIGADO]" STR_SLEEP_COVER_FILTER: "Filtro capa tela repouso" STR_FILTER_CONTRAST: "Contraste" STR_UI_THEME: "Tema da interface" diff --git a/lib/I18n/translations/romanian.yaml b/lib/I18n/translations/romanian.yaml index a6aa8e48..9fa7bb8d 100644 --- a/lib/I18n/translations/romanian.yaml +++ b/lib/I18n/translations/romanian.yaml @@ -226,6 +226,7 @@ STR_EXIT: "« Ieşire" STR_HOME: "« Acasă" STR_SAVE: "« Salvare" STR_SELECT: "Selectează" +STR_SELECTED: "Selectat" STR_TOGGLE: "Schimbă" STR_CONFIRM: "Confirmă" STR_CANCEL: "Anulare" @@ -239,7 +240,6 @@ STR_SHOW: "Afișează" STR_HIDE: "Ascunde" STR_STATE_ON: "Pornit" STR_STATE_OFF: "Oprit" -STR_SET: "Setare" STR_NOT_SET: "Neconfigurat" STR_DIR_LEFT: "Stânga" STR_DIR_RIGHT: "Dreapta" @@ -248,7 +248,6 @@ STR_DIR_DOWN: "Jos" STR_CAPS_ON: "CAPS" STR_CAPS_OFF: "caps" STR_OK_BUTTON: "OK" -STR_ON_MARKER: "[ON]" STR_SLEEP_COVER_FILTER: "Filtru ecran de repaus" STR_FILTER_CONTRAST: "Contrast" STR_CUSTOMISE_STATUS_BAR: "Customizaţi bara de stare" diff --git a/lib/I18n/translations/russian.yaml b/lib/I18n/translations/russian.yaml index 1109d406..2198e9b6 100644 --- a/lib/I18n/translations/russian.yaml +++ b/lib/I18n/translations/russian.yaml @@ -226,6 +226,7 @@ STR_EXIT: "« Выход" STR_HOME: "« Главная" STR_SAVE: "« Сохранить" STR_SELECT: "Выбрать" +STR_SELECTED: "Выбран" STR_TOGGLE: "Выбор" STR_CONFIRM: "Подтв." STR_CANCEL: "Отмена" @@ -239,7 +240,6 @@ STR_SHOW: "Показать" STR_HIDE: "Скрыть" STR_STATE_ON: "ВКЛ" STR_STATE_OFF: "ВЫКЛ" -STR_SET: "Установлено" STR_NOT_SET: "Не установлено" STR_DIR_LEFT: "Влево" STR_DIR_RIGHT: "Вправо" @@ -248,7 +248,6 @@ STR_DIR_DOWN: "Вниз" STR_CAPS_ON: "CAPS" STR_CAPS_OFF: "caps" STR_OK_BUTTON: "OK" -STR_ON_MARKER: "[ВКЛ]" STR_SLEEP_COVER_FILTER: "Фильтр экрана сна" STR_FILTER_CONTRAST: "Контраст" STR_CUSTOMISE_STATUS_BAR: "Настройка строки состояния" diff --git a/lib/I18n/translations/spanish.yaml b/lib/I18n/translations/spanish.yaml index 4718d43f..fa2b238d 100644 --- a/lib/I18n/translations/spanish.yaml +++ b/lib/I18n/translations/spanish.yaml @@ -237,7 +237,6 @@ STR_YES: "Sí" STR_NO: "No" STR_STATE_ON: "Activado" STR_STATE_OFF: "Desactivado" -STR_SET: "Configurar" STR_NOT_SET: "No configurado" STR_DIR_LEFT: "Izq." STR_DIR_RIGHT: "Der." @@ -246,7 +245,6 @@ STR_DIR_DOWN: "Bajar" STR_CAPS_ON: "MAYÚSCULAS" STR_CAPS_OFF: "minúsculas" STR_OK_BUTTON: "OK" -STR_ON_MARKER: "[Activo]" STR_SLEEP_COVER_FILTER: "Filtro de pantalla de suspensión" STR_FILTER_CONTRAST: "Contraste" STR_UI_THEME: "Interfaz" diff --git a/lib/I18n/translations/swedish.yaml b/lib/I18n/translations/swedish.yaml index 1973e69a..1eca643e 100644 --- a/lib/I18n/translations/swedish.yaml +++ b/lib/I18n/translations/swedish.yaml @@ -237,7 +237,6 @@ STR_YES: "Ja" STR_NO: "Nej" STR_STATE_ON: "PÅ" STR_STATE_OFF: "AV" -STR_SET: "Inställd" STR_NOT_SET: "Inte inställd" STR_DIR_LEFT: "Vänster" STR_DIR_RIGHT: "Höger" @@ -246,7 +245,6 @@ STR_DIR_DOWN: "Ner" STR_CAPS_ON: "VERSALER" STR_CAPS_OFF: "versaler" STR_OK_BUTTON: "Okej" -STR_ON_MARKER: "[PÅ]" STR_SLEEP_COVER_FILTER: "Viloskärmens omslagsfilter" STR_FILTER_CONTRAST: "Kontrast" STR_UI_THEME: "Användargränssnittstema" diff --git a/lib/I18n/translations/ukrainian.yaml b/lib/I18n/translations/ukrainian.yaml index 49d30cfd..372294d3 100644 --- a/lib/I18n/translations/ukrainian.yaml +++ b/lib/I18n/translations/ukrainian.yaml @@ -226,6 +226,7 @@ STR_EXIT: "« Вихід" STR_HOME: "« Додому" STR_SAVE: "« Зберегти" STR_SELECT: "Вибрати" +STR_SELECTED: "Вибрано" STR_TOGGLE: "Обрати" STR_CONFIRM: "Підтвердити" STR_CANCEL: "Скасувати" @@ -239,7 +240,6 @@ STR_HIDE: "Сховати" STR_NO: "Ні" STR_STATE_ON: "УВІМК" STR_STATE_OFF: "ВИМК" -STR_SET: "Встановити" STR_NOT_SET: "Не встановлено" STR_DIR_LEFT: "Ліво" STR_DIR_RIGHT: "Право" @@ -248,7 +248,6 @@ STR_DIR_DOWN: "Вниз" STR_CAPS_ON: "ВЕЛИКІ" STR_CAPS_OFF: "малі" STR_OK_BUTTON: "OK" -STR_ON_MARKER: "[УВІМК]" STR_SLEEP_COVER_FILTER: "Фільтр обкладинки екрана сну" STR_FILTER_CONTRAST: "Контраст" STR_CUSTOMISE_STATUS_BAR: "Налаштувати рядок стану" diff --git a/src/activities/settings/LanguageSelectActivity.cpp b/src/activities/settings/LanguageSelectActivity.cpp index e2d41755..5f21da26 100644 --- a/src/activities/settings/LanguageSelectActivity.cpp +++ b/src/activities/settings/LanguageSelectActivity.cpp @@ -75,7 +75,7 @@ void LanguageSelectActivity::render(RenderLock&&) { renderer, Rect{0, contentTop, pageWidth, contentHeight}, totalItems, selectedIndex, [this](int index) { return I18N.getLanguageName(static_cast(SORTED_LANGUAGE_INDICES[index])); }, nullptr, nullptr, - [this, currentLang](int index) { return SORTED_LANGUAGE_INDICES[index] == currentLang ? tr(STR_SET) : ""; }, + [this, currentLang](int index) { return SORTED_LANGUAGE_INDICES[index] == currentLang ? tr(STR_SELECTED) : ""; }, true); // Button hints