From f4f3f2e3077dcb1b739df0baf4315dcb99643636 Mon Sep 17 00:00:00 2001 From: Sylvia van Os Date: Fri, 30 Jul 2021 19:36:43 +0200 Subject: [PATCH] Increase i18n flexibility The following may seem weird, but it is necessary to give translators enough flexibility. For example, in Russian, Android's plural quantity "one" actually refers to "any number ending on 1 but not ending in 11". So while in English the extra non-plural form seems unnecessary duplication, it is necessary to give translators enough flexibility. Therefore, we use the plain string when meaning exactly 1, and otherwise use the plural forms. --- .../card_locker/LoyaltyCardEditActivity.java | 4 ++-- .../java/protect/card_locker/MainActivity.java | 14 ++++++++++++-- app/src/main/res/values-bg/strings.xml | 10 ++++++---- app/src/main/res/values-cs/strings.xml | 3 +++ app/src/main/res/values-de/strings.xml | 2 ++ app/src/main/res/values-el-rGR/strings.xml | 2 ++ app/src/main/res/values-eo/strings.xml | 2 ++ app/src/main/res/values-es/strings.xml | 2 ++ app/src/main/res/values-fi/strings.xml | 2 ++ app/src/main/res/values-fr/strings.xml | 2 ++ app/src/main/res/values-it/strings.xml | 2 ++ app/src/main/res/values-ja/strings.xml | 2 ++ app/src/main/res/values-ko/strings.xml | 2 ++ app/src/main/res/values-lt/strings.xml | 2 ++ app/src/main/res/values-nb-rNO/strings.xml | 2 ++ app/src/main/res/values-nl/strings.xml | 11 +++++++---- app/src/main/res/values-pl/strings.xml | 2 ++ app/src/main/res/values-ru/strings.xml | 14 ++++++++------ app/src/main/res/values-sk/strings.xml | 4 +++- app/src/main/res/values-sl/strings.xml | 2 ++ app/src/main/res/values-uk/strings.xml | 14 ++++++++------ app/src/main/res/values-zh-rCN/strings.xml | 2 ++ app/src/main/res/values/strings.xml | 10 +++++++++- 23 files changed, 86 insertions(+), 26 deletions(-) diff --git a/app/src/main/java/protect/card_locker/LoyaltyCardEditActivity.java b/app/src/main/java/protect/card_locker/LoyaltyCardEditActivity.java index c7c03037c..fd576de2b 100644 --- a/app/src/main/java/protect/card_locker/LoyaltyCardEditActivity.java +++ b/app/src/main/java/protect/card_locker/LoyaltyCardEditActivity.java @@ -1046,8 +1046,8 @@ public class LoyaltyCardEditActivity extends AppCompatActivity case R.id.action_delete: AlertDialog.Builder builder = new AlertDialog.Builder(this); - builder.setTitle(getResources().getQuantityString(R.plurals.deleteCardsTitle, 1)); - builder.setMessage(getResources().getQuantityString(R.plurals.deleteCardsConfirmation, 1, 1)); + builder.setTitle(R.string.deleteTitle); + builder.setMessage(R.string.deleteConfirmation); builder.setPositiveButton(R.string.confirm, (dialog, which) -> { Log.e(TAG, "Deleting card: " + loyaltyCardId); diff --git a/app/src/main/java/protect/card_locker/MainActivity.java b/app/src/main/java/protect/card_locker/MainActivity.java index bbd060ab2..a23469dcd 100644 --- a/app/src/main/java/protect/card_locker/MainActivity.java +++ b/app/src/main/java/protect/card_locker/MainActivity.java @@ -117,8 +117,18 @@ public class MainActivity extends AppCompatActivity implements LoyaltyCardCursor return true; } else if(inputItem.getItemId() == R.id.action_delete) { AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this); - builder.setTitle(getResources().getQuantityString(R.plurals.deleteCardsTitle, mAdapter.getSelectedItemCount())); - builder.setMessage(getResources().getQuantityString(R.plurals.deleteCardsConfirmation, mAdapter.getSelectedItemCount(), mAdapter.getSelectedItemCount())); + // The following may seem weird, but it is necessary to give translators enough flexibility. + // For example, in Russian, Android's plural quantity "one" actually refers to "any number ending on 1 but not ending in 11". + // So while in English the extra non-plural form seems unnecessary duplication, it is necessary to give translators enough flexibility. + // In here, we use the plain string when meaning exactly 1, and otherwise use the plural forms + if (mAdapter.getSelectedItemCount() == 1) { + builder.setTitle(R.string.deleteTitle); + builder.setMessage(R.string.deleteConfirmation); + } else { + builder.setTitle(getResources().getQuantityString(R.plurals.deleteCardsTitle, mAdapter.getSelectedItemCount())); + builder.setMessage(getResources().getQuantityString(R.plurals.deleteCardsConfirmation, mAdapter.getSelectedItemCount(), mAdapter.getSelectedItemCount())); + } + builder.setPositiveButton(R.string.confirm, (dialog, which) -> { DBHelper db = new DBHelper(MainActivity.this); diff --git a/app/src/main/res/values-bg/strings.xml b/app/src/main/res/values-bg/strings.xml index 5ea48767d..ebe70a931 100644 --- a/app/src/main/res/values-bg/strings.xml +++ b/app/src/main/res/values-bg/strings.xml @@ -165,12 +165,14 @@ Препратката не може да бъде анализирана за внасяне [не превеждай този низ, https://github.com/TheLastProject/Catima/issues/278] Грешка при създаване на адрес за споделяне. Изпратете доклад за дефект. - - Желаете ли картата да бъде премахната\? - Желаете ли %d картати да бъдат премахнати\? - + Премахване на карта Премахване на карта Премахване на карти + Потвърдете премахване на карта + + Желаете ли картата да бъде премахната\? + Желаете ли %d картати да бъдат премахнати\? + \ No newline at end of file diff --git a/app/src/main/res/values-cs/strings.xml b/app/src/main/res/values-cs/strings.xml index bbc1b6603..4d6360dc0 100644 --- a/app/src/main/res/values-cs/strings.xml +++ b/app/src/main/res/values-cs/strings.xml @@ -49,4 +49,7 @@ Vyberte čárový kód ID karty zkopírováno do schránky + Odstzranit věrnostní kartu + Opravdu chcete smazat tuto věrnostní kartu? + diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml index 95a50a6ca..cbf1a67b5 100644 --- a/app/src/main/res/values-de/strings.xml +++ b/app/src/main/res/values-de/strings.xml @@ -165,4 +165,6 @@ Ausgewählt: %d Karte Ausgewählt: %d Karten + Karte entfernen + Diese Karte löschen\? \ No newline at end of file diff --git a/app/src/main/res/values-el-rGR/strings.xml b/app/src/main/res/values-el-rGR/strings.xml index 3154cbdee..5f3ddf1c0 100644 --- a/app/src/main/res/values-el-rGR/strings.xml +++ b/app/src/main/res/values-el-rGR/strings.xml @@ -56,4 +56,6 @@ Φωτεινό Σύστημα Γραμμικός κώδικας + Αφαίρεση Κάρτας + Παρακαλώ επιβεβαιώστε ότι θέλετε να διαγράψετε αυτή την κάρτα. \ No newline at end of file diff --git a/app/src/main/res/values-eo/strings.xml b/app/src/main/res/values-eo/strings.xml index 134496098..681339683 100644 --- a/app/src/main/res/values-eo/strings.xml +++ b/app/src/main/res/values-eo/strings.xml @@ -50,4 +50,6 @@ Nuligi Aldoni Serĉi + Ĉu forigi ĉi tiun karton\? + Forigi karton \ No newline at end of file diff --git a/app/src/main/res/values-es/strings.xml b/app/src/main/res/values-es/strings.xml index d7778fba0..db612a8cf 100644 --- a/app/src/main/res/values-es/strings.xml +++ b/app/src/main/res/values-es/strings.xml @@ -165,4 +165,6 @@ Seleccionadas: %d tarjeta Seleccionadas: %d tarjetas + Eliminar tarjeta + ¿Quiere eliminar esta tarjeta\? \ No newline at end of file diff --git a/app/src/main/res/values-fi/strings.xml b/app/src/main/res/values-fi/strings.xml index bed222089..086072ebf 100644 --- a/app/src/main/res/values-fi/strings.xml +++ b/app/src/main/res/values-fi/strings.xml @@ -154,4 +154,6 @@ Valokuvat Kortin takakuva Kortin etukuva + Poista tämä kortti\? + Poista kortti \ No newline at end of file diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml index 5300012e0..d4e8d39b4 100644 --- a/app/src/main/res/values-fr/strings.xml +++ b/app/src/main/res/values-fr/strings.xml @@ -165,4 +165,6 @@ Sélectionnée : %d carte Sélectionnées : %d cartes + Supprimer la carte de fidélité + Supprimer cette carte \? \ No newline at end of file diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml index da50e5228..8f7fb28a7 100644 --- a/app/src/main/res/values-it/strings.xml +++ b/app/src/main/res/values-it/strings.xml @@ -165,4 +165,6 @@ Selezionata: %d carta Selezionate: %d carte + Rimuovi carta fedeltà + Eliminare questa carta\? \ No newline at end of file diff --git a/app/src/main/res/values-ja/strings.xml b/app/src/main/res/values-ja/strings.xml index 04d2a50d1..405d39b06 100644 --- a/app/src/main/res/values-ja/strings.xml +++ b/app/src/main/res/values-ja/strings.xml @@ -163,4 +163,6 @@ 選択済み: %d + このカードを削除しますか? + カードの削除 \ No newline at end of file diff --git a/app/src/main/res/values-ko/strings.xml b/app/src/main/res/values-ko/strings.xml index 911f206ac..8709ccd17 100644 --- a/app/src/main/res/values-ko/strings.xml +++ b/app/src/main/res/values-ko/strings.xml @@ -76,4 +76,6 @@ 즐겨찾기 별 바코드를 표시할 때 화면 밝기 높이기 바코드 + 정말 이 카드를 삭제하시겠습니까\? + 카드 제거 diff --git a/app/src/main/res/values-lt/strings.xml b/app/src/main/res/values-lt/strings.xml index d3773666a..ee2c9b9fe 100644 --- a/app/src/main/res/values-lt/strings.xml +++ b/app/src/main/res/values-lt/strings.xml @@ -167,4 +167,6 @@ Pasirinktos: %d kortelės Pasirinkta: %d kortelių + Panaikinti lojalumo kortelę + Ištrinti šią kortelę\? \ No newline at end of file diff --git a/app/src/main/res/values-nb-rNO/strings.xml b/app/src/main/res/values-nb-rNO/strings.xml index f73458298..595966076 100644 --- a/app/src/main/res/values-nb-rNO/strings.xml +++ b/app/src/main/res/values-nb-rNO/strings.xml @@ -163,12 +163,14 @@ %d kort valgt %d kort valgt + Slett dette kortet\? Slett dette kortet for godt\? Slett disse %d kortene for godt\? Skru på lommelykten Skru av lommelykten + Fjern kundekort Slett kort Slett kort diff --git a/app/src/main/res/values-nl/strings.xml b/app/src/main/res/values-nl/strings.xml index f6018565b..af6b13e49 100644 --- a/app/src/main/res/values-nl/strings.xml +++ b/app/src/main/res/values-nl/strings.xml @@ -165,12 +165,15 @@ %d kaart geselecteerd %d kaarten geselecteerd - - Weet je zeker dat je deze kaart wilt verwijderen\? - Weet je zeker dat je deze %d kaarten wilt verwijderen\? - + + Kaart verwijderen Kaart verwijderen Kaarten verwijderen + Kaart verwijderen\? + + Weet je zeker dat je deze kaart wilt verwijderen\? + Weet je zeker dat je deze %d kaarten wilt verwijderen\? + \ No newline at end of file diff --git a/app/src/main/res/values-pl/strings.xml b/app/src/main/res/values-pl/strings.xml index 8edeead36..b8e093593 100644 --- a/app/src/main/res/values-pl/strings.xml +++ b/app/src/main/res/values-pl/strings.xml @@ -81,4 +81,6 @@ Dodaj do ulubionych Brak kodu kreskowego Typ kodu kreskowego + Usuń kartę lojalnościową + Potwierdź, że chcesz usunąć tę kartę. \ No newline at end of file diff --git a/app/src/main/res/values-ru/strings.xml b/app/src/main/res/values-ru/strings.xml index b0202b970..9fee08650 100644 --- a/app/src/main/res/values-ru/strings.xml +++ b/app/src/main/res/values-ru/strings.xml @@ -169,16 +169,18 @@ Выбрано: %d карт Выбрано: %d карт - - Удалить эту карту\? Действие нельзя будет отменить. - Удалить эти %d карты\? Действие нельзя будет отменить. - Удалить эти %d карт\? Действие нельзя будет отменить. - Удалить эти %d карт\? Действие нельзя будет отменить. - + Удаление карты Удалить карту Удалить карты Удалить карт Удалить карт + Удалить карту\? + + Удалить эту карту\? Действие нельзя будет отменить. + Удалить эти %d карты\? Действие нельзя будет отменить. + Удалить эти %d карт\? Действие нельзя будет отменить. + Удалить эти %d карт\? Действие нельзя будет отменить. + \ No newline at end of file diff --git a/app/src/main/res/values-sk/strings.xml b/app/src/main/res/values-sk/strings.xml index 48ffde1e1..7889377c3 100644 --- a/app/src/main/res/values-sk/strings.xml +++ b/app/src/main/res/values-sk/strings.xml @@ -62,4 +62,6 @@ Používateľské prostredie Zvýšiť jas pri zobrazení čiarového kódu Uzamkni orientáciu čiarového kódu - + Odstrániť kartu + Naozaj chcete túto kartu odstrániť? + diff --git a/app/src/main/res/values-sl/strings.xml b/app/src/main/res/values-sl/strings.xml index aa545de50..54447c9b3 100644 --- a/app/src/main/res/values-sl/strings.xml +++ b/app/src/main/res/values-sl/strings.xml @@ -54,4 +54,6 @@ Uporabniški vmesnik Povečaj osvetljenost prikaza črtne kode Zakleni orientacijo črtne kode + Odstrani kartico zvestobe + Prosim potrdite, če želite izbrisati to kartico. \ No newline at end of file diff --git a/app/src/main/res/values-uk/strings.xml b/app/src/main/res/values-uk/strings.xml index 77f7077c5..32d6f9817 100644 --- a/app/src/main/res/values-uk/strings.xml +++ b/app/src/main/res/values-uk/strings.xml @@ -169,16 +169,18 @@ Обрано: %d карт Обрано: %d карт - - Видалити карту назавжди\? - Видалити ці %d карти назавжди\? - Видалити ці %d карт назавжди\? - Видалити ці %d карт назавжди\? - + Видалити карту Видалити карту Видалити карти Видалити карт Видалити карт + Бажаєте видалити карту\? + + Видалити карту назавжди\? + Видалити ці %d карти назавжди\? + Видалити ці %d карт назавжди\? + Видалити ці %d карт назавжди\? + \ No newline at end of file diff --git a/app/src/main/res/values-zh-rCN/strings.xml b/app/src/main/res/values-zh-rCN/strings.xml index c79450fd6..379d60234 100644 --- a/app/src/main/res/values-zh-rCN/strings.xml +++ b/app/src/main/res/values-zh-rCN/strings.xml @@ -141,4 +141,6 @@ 点击 \"+\"加号按钮来添加卡片,或者先从⋮菜单中导入一些。 添加 搜索 + 删除此卡? + 移除卡片 \ No newline at end of file diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 3a52f9182..cfad52d54 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -29,14 +29,22 @@ Confirm Block Rotation Unblock Rotation + + + Delete Card Delete Card Delete Cards + Delete this card permanently? - Delete this card permanently? + Delete this one card permanently? Delete these %d cards permanently? + OK Copy ID to clipboard Share