From 5ce89d1b4b2ad5ebc7c48b1fb395f6bb3e9895bc Mon Sep 17 00:00:00 2001 From: Jules Aguillon Date: Mon, 5 Feb 2024 17:36:43 +0100 Subject: [PATCH] Move store descriptions into strings files This makes translation easier as there's a single file to edit at. Existing short and full descriptions are conserved. sync_translations.py takes care of updating the metadata files. The metadata directories are renamed to match the language codes used in `res/`. Contributing guidelines are updated accordingly. --- CONTRIBUTING.md | 8 ++--- .../{cs-CZ => cs}/full_description.txt | 0 .../{cs-CZ => cs}/short_description.txt | 0 metadata/android/{cs-CZ => cs}/title.txt | 0 .../{de-DE => de}/full_description.txt | 0 .../{de-DE => de}/short_description.txt | 0 metadata/android/{de-DE => de}/title.txt | 0 .../android/{en-US => en}/changelogs/11.txt | 0 .../android/{en-US => en}/changelogs/12.txt | 0 .../android/{en-US => en}/changelogs/13.txt | 0 .../android/{en-US => en}/changelogs/14.txt | 0 .../android/{en-US => en}/changelogs/15.txt | 0 .../android/{en-US => en}/changelogs/16.txt | 0 .../android/{en-US => en}/changelogs/17.txt | 0 .../android/{en-US => en}/changelogs/18.txt | 0 .../android/{en-US => en}/changelogs/19.txt | 0 .../android/{en-US => en}/changelogs/20.txt | 0 .../android/{en-US => en}/changelogs/21.txt | 0 .../android/{en-US => en}/changelogs/22.txt | 0 .../android/{en-US => en}/changelogs/23.txt | 0 .../android/{en-US => en}/changelogs/24.txt | 0 .../android/{en-US => en}/changelogs/25.txt | 0 .../android/{en-US => en}/changelogs/26.txt | 0 .../android/{en-US => en}/changelogs/27.txt | 0 .../android/{en-US => en}/changelogs/28.txt | 0 .../android/{en-US => en}/changelogs/29.txt | 0 .../android/{en-US => en}/changelogs/30.txt | 0 .../android/{en-US => en}/changelogs/31.txt | 0 .../android/{en-US => en}/changelogs/32.txt | 0 .../android/{en-US => en}/changelogs/33.txt | 0 .../android/{en-US => en}/changelogs/34.txt | 0 .../android/{en-US => en}/changelogs/35.txt | 0 .../android/{en-US => en}/changelogs/36.txt | 0 .../android/{en-US => en}/changelogs/37.txt | 0 .../android/{en-US => en}/changelogs/38.txt | 0 .../{en-US => en}/full_description.txt | 0 .../{en-US => en}/images/featureGraphic.png | Bin .../android/{en-US => en}/images/icon.png | Bin .../images/phoneScreenshots/1.png | Bin .../images/phoneScreenshots/2.png | Bin .../images/phoneScreenshots/3.png | Bin .../images/phoneScreenshots/4.png | Bin .../images/phoneScreenshots/5.png | Bin .../images/phoneScreenshots/6.png | Bin .../{en-US => en}/short_description.txt | 0 metadata/android/{en-US => en}/title.txt | 0 metadata/android/{en-US => en}/video.txt | 0 .../{es-ES => es}/full_description.txt | 2 +- .../{es-ES => es}/short_description.txt | 0 metadata/android/{es-ES => es}/title.txt | 0 metadata/android/fa/title.txt | 1 + .../{fr-FR => fr}/full_description.txt | 0 .../{fr-FR => fr}/short_description.txt | 0 metadata/android/{fr-FR => fr}/title.txt | 0 .../{it-IT => it}/short_description.txt | 0 metadata/android/{it-IT => it}/title.txt | 0 .../{ko-KR => ko}/full_description.txt | 2 +- .../{ko-KR => ko}/short_description.txt | 0 metadata/android/{ko-KR => ko}/title.txt | 0 .../{lv-LV => lv}/full_description.txt | 0 .../{lv-LV => lv}/short_description.txt | 0 metadata/android/{ro-RO => lv}/title.txt | 0 .../{pl-PL => pl}/full_description.txt | 0 .../{pl-PL => pl}/short_description.txt | 0 metadata/android/{ru-RU => pl}/title.txt | 0 .../{pt-BR => pt}/full_description.txt | 0 .../{pt-BR => pt}/short_description.txt | 0 metadata/android/{pt-BR => pt}/title.txt | 0 .../{ro-RO => ro}/full_description.txt | 0 .../{ro-RO => ro}/short_description.txt | 0 metadata/android/ro/title.txt | 1 + .../{ru-RU => ru}/full_description.txt | 0 .../{ru-RU => ru}/short_description.txt | 0 metadata/android/ru/title.txt | 1 + .../{tr-TR => tr}/full_description.txt | 0 .../{tr-TR => tr}/short_description.txt | 0 metadata/android/tr/title.txt | 1 + metadata/android/uk/title.txt | 1 + .../{vi-VN => vi}/full_description.txt | 0 .../{vi-VN => vi}/short_description.txt | 0 metadata/android/vi/title.txt | 1 + metadata/android/zh-rCN/title.txt | 1 + res/values-cs/strings.xml | 19 ++++++++++ res/values-de/strings.xml | 7 ++++ res/values-es/strings.xml | 7 ++++ res/values-fa/strings.xml | 7 ++++ res/values-fr/strings.xml | 7 ++++ res/values-it/strings.xml | 7 ++++ res/values-ko/strings.xml | 21 ++++++++++- res/values-lv/strings.xml | 7 ++++ res/values-pl/strings.xml | 7 ++++ res/values-pt/strings.xml | 19 ++++++++++ res/values-ro/strings.xml | 9 ++++- res/values-ru/strings.xml | 7 ++++ res/values-tr/strings.xml | 7 ++++ res/values-uk/strings.xml | 7 ++++ res/values-vi/strings.xml | 7 ++++ res/values-zh-rCN/strings.xml | 7 ++++ res/values/strings.xml | 7 ++++ sync_translations.py | 34 ++++++++++++++---- 100 files changed, 197 insertions(+), 15 deletions(-) rename metadata/android/{cs-CZ => cs}/full_description.txt (100%) rename metadata/android/{cs-CZ => cs}/short_description.txt (100%) rename metadata/android/{cs-CZ => cs}/title.txt (100%) rename metadata/android/{de-DE => de}/full_description.txt (100%) rename metadata/android/{de-DE => de}/short_description.txt (100%) rename metadata/android/{de-DE => de}/title.txt (100%) rename metadata/android/{en-US => en}/changelogs/11.txt (100%) rename metadata/android/{en-US => en}/changelogs/12.txt (100%) rename metadata/android/{en-US => en}/changelogs/13.txt (100%) rename metadata/android/{en-US => en}/changelogs/14.txt (100%) rename metadata/android/{en-US => en}/changelogs/15.txt (100%) rename metadata/android/{en-US => en}/changelogs/16.txt (100%) rename metadata/android/{en-US => en}/changelogs/17.txt (100%) rename metadata/android/{en-US => en}/changelogs/18.txt (100%) rename metadata/android/{en-US => en}/changelogs/19.txt (100%) rename metadata/android/{en-US => en}/changelogs/20.txt (100%) rename metadata/android/{en-US => en}/changelogs/21.txt (100%) rename metadata/android/{en-US => en}/changelogs/22.txt (100%) rename metadata/android/{en-US => en}/changelogs/23.txt (100%) rename metadata/android/{en-US => en}/changelogs/24.txt (100%) rename metadata/android/{en-US => en}/changelogs/25.txt (100%) rename metadata/android/{en-US => en}/changelogs/26.txt (100%) rename metadata/android/{en-US => en}/changelogs/27.txt (100%) rename metadata/android/{en-US => en}/changelogs/28.txt (100%) rename metadata/android/{en-US => en}/changelogs/29.txt (100%) rename metadata/android/{en-US => en}/changelogs/30.txt (100%) rename metadata/android/{en-US => en}/changelogs/31.txt (100%) rename metadata/android/{en-US => en}/changelogs/32.txt (100%) rename metadata/android/{en-US => en}/changelogs/33.txt (100%) rename metadata/android/{en-US => en}/changelogs/34.txt (100%) rename metadata/android/{en-US => en}/changelogs/35.txt (100%) rename metadata/android/{en-US => en}/changelogs/36.txt (100%) rename metadata/android/{en-US => en}/changelogs/37.txt (100%) rename metadata/android/{en-US => en}/changelogs/38.txt (100%) rename metadata/android/{en-US => en}/full_description.txt (100%) rename metadata/android/{en-US => en}/images/featureGraphic.png (100%) rename metadata/android/{en-US => en}/images/icon.png (100%) rename metadata/android/{en-US => en}/images/phoneScreenshots/1.png (100%) rename metadata/android/{en-US => en}/images/phoneScreenshots/2.png (100%) rename metadata/android/{en-US => en}/images/phoneScreenshots/3.png (100%) rename metadata/android/{en-US => en}/images/phoneScreenshots/4.png (100%) rename metadata/android/{en-US => en}/images/phoneScreenshots/5.png (100%) rename metadata/android/{en-US => en}/images/phoneScreenshots/6.png (100%) rename metadata/android/{en-US => en}/short_description.txt (100%) rename metadata/android/{en-US => en}/title.txt (100%) rename metadata/android/{en-US => en}/video.txt (100%) rename metadata/android/{es-ES => es}/full_description.txt (88%) rename metadata/android/{es-ES => es}/short_description.txt (100%) rename metadata/android/{es-ES => es}/title.txt (100%) create mode 100644 metadata/android/fa/title.txt rename metadata/android/{fr-FR => fr}/full_description.txt (100%) rename metadata/android/{fr-FR => fr}/short_description.txt (100%) rename metadata/android/{fr-FR => fr}/title.txt (100%) rename metadata/android/{it-IT => it}/short_description.txt (100%) rename metadata/android/{it-IT => it}/title.txt (100%) rename metadata/android/{ko-KR => ko}/full_description.txt (95%) rename metadata/android/{ko-KR => ko}/short_description.txt (100%) rename metadata/android/{ko-KR => ko}/title.txt (100%) rename metadata/android/{lv-LV => lv}/full_description.txt (100%) rename metadata/android/{lv-LV => lv}/short_description.txt (100%) rename metadata/android/{ro-RO => lv}/title.txt (100%) rename metadata/android/{pl-PL => pl}/full_description.txt (100%) rename metadata/android/{pl-PL => pl}/short_description.txt (100%) rename metadata/android/{ru-RU => pl}/title.txt (100%) rename metadata/android/{pt-BR => pt}/full_description.txt (100%) rename metadata/android/{pt-BR => pt}/short_description.txt (100%) rename metadata/android/{pt-BR => pt}/title.txt (100%) rename metadata/android/{ro-RO => ro}/full_description.txt (100%) rename metadata/android/{ro-RO => ro}/short_description.txt (100%) create mode 100644 metadata/android/ro/title.txt rename metadata/android/{ru-RU => ru}/full_description.txt (100%) rename metadata/android/{ru-RU => ru}/short_description.txt (100%) create mode 100644 metadata/android/ru/title.txt rename metadata/android/{tr-TR => tr}/full_description.txt (100%) rename metadata/android/{tr-TR => tr}/short_description.txt (100%) create mode 100644 metadata/android/tr/title.txt create mode 100644 metadata/android/uk/title.txt rename metadata/android/{vi-VN => vi}/full_description.txt (100%) rename metadata/android/{vi-VN => vi}/short_description.txt (100%) create mode 100644 metadata/android/vi/title.txt create mode 100644 metadata/android/zh-rCN/title.txt diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 596ea64..8fc2e83 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -174,15 +174,13 @@ default translation in `res/values/strings.xml`, which contain the structure of the file and the English strings. To check that `strings.xml` is formatted correctly, run -`./gradlew syncTranslations`. This will modify your files. +`python sync_translations.py`. This will modify your files. -The store description is found in `metadata/android//`, -`short_description.txt` and `full_description.txt`. -The short description must not exceed 80 characters. +Store descriptions in `metedata/` are updated automatically. Translating changelogs is not useful. The app name might be partially translated, the "Unexpected" word should remain -untranslated. +untranslated if possible. As translations need to be updated regularly, you can subscribe to this issue to receive a notification when an update is needed: diff --git a/metadata/android/cs-CZ/full_description.txt b/metadata/android/cs/full_description.txt similarity index 100% rename from metadata/android/cs-CZ/full_description.txt rename to metadata/android/cs/full_description.txt diff --git a/metadata/android/cs-CZ/short_description.txt b/metadata/android/cs/short_description.txt similarity index 100% rename from metadata/android/cs-CZ/short_description.txt rename to metadata/android/cs/short_description.txt diff --git a/metadata/android/cs-CZ/title.txt b/metadata/android/cs/title.txt similarity index 100% rename from metadata/android/cs-CZ/title.txt rename to metadata/android/cs/title.txt diff --git a/metadata/android/de-DE/full_description.txt b/metadata/android/de/full_description.txt similarity index 100% rename from metadata/android/de-DE/full_description.txt rename to metadata/android/de/full_description.txt diff --git a/metadata/android/de-DE/short_description.txt b/metadata/android/de/short_description.txt similarity index 100% rename from metadata/android/de-DE/short_description.txt rename to metadata/android/de/short_description.txt diff --git a/metadata/android/de-DE/title.txt b/metadata/android/de/title.txt similarity index 100% rename from metadata/android/de-DE/title.txt rename to metadata/android/de/title.txt diff --git a/metadata/android/en-US/changelogs/11.txt b/metadata/android/en/changelogs/11.txt similarity index 100% rename from metadata/android/en-US/changelogs/11.txt rename to metadata/android/en/changelogs/11.txt diff --git a/metadata/android/en-US/changelogs/12.txt b/metadata/android/en/changelogs/12.txt similarity index 100% rename from metadata/android/en-US/changelogs/12.txt rename to metadata/android/en/changelogs/12.txt diff --git a/metadata/android/en-US/changelogs/13.txt b/metadata/android/en/changelogs/13.txt similarity index 100% rename from metadata/android/en-US/changelogs/13.txt rename to metadata/android/en/changelogs/13.txt diff --git a/metadata/android/en-US/changelogs/14.txt b/metadata/android/en/changelogs/14.txt similarity index 100% rename from metadata/android/en-US/changelogs/14.txt rename to metadata/android/en/changelogs/14.txt diff --git a/metadata/android/en-US/changelogs/15.txt b/metadata/android/en/changelogs/15.txt similarity index 100% rename from metadata/android/en-US/changelogs/15.txt rename to metadata/android/en/changelogs/15.txt diff --git a/metadata/android/en-US/changelogs/16.txt b/metadata/android/en/changelogs/16.txt similarity index 100% rename from metadata/android/en-US/changelogs/16.txt rename to metadata/android/en/changelogs/16.txt diff --git a/metadata/android/en-US/changelogs/17.txt b/metadata/android/en/changelogs/17.txt similarity index 100% rename from metadata/android/en-US/changelogs/17.txt rename to metadata/android/en/changelogs/17.txt diff --git a/metadata/android/en-US/changelogs/18.txt b/metadata/android/en/changelogs/18.txt similarity index 100% rename from metadata/android/en-US/changelogs/18.txt rename to metadata/android/en/changelogs/18.txt diff --git a/metadata/android/en-US/changelogs/19.txt b/metadata/android/en/changelogs/19.txt similarity index 100% rename from metadata/android/en-US/changelogs/19.txt rename to metadata/android/en/changelogs/19.txt diff --git a/metadata/android/en-US/changelogs/20.txt b/metadata/android/en/changelogs/20.txt similarity index 100% rename from metadata/android/en-US/changelogs/20.txt rename to metadata/android/en/changelogs/20.txt diff --git a/metadata/android/en-US/changelogs/21.txt b/metadata/android/en/changelogs/21.txt similarity index 100% rename from metadata/android/en-US/changelogs/21.txt rename to metadata/android/en/changelogs/21.txt diff --git a/metadata/android/en-US/changelogs/22.txt b/metadata/android/en/changelogs/22.txt similarity index 100% rename from metadata/android/en-US/changelogs/22.txt rename to metadata/android/en/changelogs/22.txt diff --git a/metadata/android/en-US/changelogs/23.txt b/metadata/android/en/changelogs/23.txt similarity index 100% rename from metadata/android/en-US/changelogs/23.txt rename to metadata/android/en/changelogs/23.txt diff --git a/metadata/android/en-US/changelogs/24.txt b/metadata/android/en/changelogs/24.txt similarity index 100% rename from metadata/android/en-US/changelogs/24.txt rename to metadata/android/en/changelogs/24.txt diff --git a/metadata/android/en-US/changelogs/25.txt b/metadata/android/en/changelogs/25.txt similarity index 100% rename from metadata/android/en-US/changelogs/25.txt rename to metadata/android/en/changelogs/25.txt diff --git a/metadata/android/en-US/changelogs/26.txt b/metadata/android/en/changelogs/26.txt similarity index 100% rename from metadata/android/en-US/changelogs/26.txt rename to metadata/android/en/changelogs/26.txt diff --git a/metadata/android/en-US/changelogs/27.txt b/metadata/android/en/changelogs/27.txt similarity index 100% rename from metadata/android/en-US/changelogs/27.txt rename to metadata/android/en/changelogs/27.txt diff --git a/metadata/android/en-US/changelogs/28.txt b/metadata/android/en/changelogs/28.txt similarity index 100% rename from metadata/android/en-US/changelogs/28.txt rename to metadata/android/en/changelogs/28.txt diff --git a/metadata/android/en-US/changelogs/29.txt b/metadata/android/en/changelogs/29.txt similarity index 100% rename from metadata/android/en-US/changelogs/29.txt rename to metadata/android/en/changelogs/29.txt diff --git a/metadata/android/en-US/changelogs/30.txt b/metadata/android/en/changelogs/30.txt similarity index 100% rename from metadata/android/en-US/changelogs/30.txt rename to metadata/android/en/changelogs/30.txt diff --git a/metadata/android/en-US/changelogs/31.txt b/metadata/android/en/changelogs/31.txt similarity index 100% rename from metadata/android/en-US/changelogs/31.txt rename to metadata/android/en/changelogs/31.txt diff --git a/metadata/android/en-US/changelogs/32.txt b/metadata/android/en/changelogs/32.txt similarity index 100% rename from metadata/android/en-US/changelogs/32.txt rename to metadata/android/en/changelogs/32.txt diff --git a/metadata/android/en-US/changelogs/33.txt b/metadata/android/en/changelogs/33.txt similarity index 100% rename from metadata/android/en-US/changelogs/33.txt rename to metadata/android/en/changelogs/33.txt diff --git a/metadata/android/en-US/changelogs/34.txt b/metadata/android/en/changelogs/34.txt similarity index 100% rename from metadata/android/en-US/changelogs/34.txt rename to metadata/android/en/changelogs/34.txt diff --git a/metadata/android/en-US/changelogs/35.txt b/metadata/android/en/changelogs/35.txt similarity index 100% rename from metadata/android/en-US/changelogs/35.txt rename to metadata/android/en/changelogs/35.txt diff --git a/metadata/android/en-US/changelogs/36.txt b/metadata/android/en/changelogs/36.txt similarity index 100% rename from metadata/android/en-US/changelogs/36.txt rename to metadata/android/en/changelogs/36.txt diff --git a/metadata/android/en-US/changelogs/37.txt b/metadata/android/en/changelogs/37.txt similarity index 100% rename from metadata/android/en-US/changelogs/37.txt rename to metadata/android/en/changelogs/37.txt diff --git a/metadata/android/en-US/changelogs/38.txt b/metadata/android/en/changelogs/38.txt similarity index 100% rename from metadata/android/en-US/changelogs/38.txt rename to metadata/android/en/changelogs/38.txt diff --git a/metadata/android/en-US/full_description.txt b/metadata/android/en/full_description.txt similarity index 100% rename from metadata/android/en-US/full_description.txt rename to metadata/android/en/full_description.txt diff --git a/metadata/android/en-US/images/featureGraphic.png b/metadata/android/en/images/featureGraphic.png similarity index 100% rename from metadata/android/en-US/images/featureGraphic.png rename to metadata/android/en/images/featureGraphic.png diff --git a/metadata/android/en-US/images/icon.png b/metadata/android/en/images/icon.png similarity index 100% rename from metadata/android/en-US/images/icon.png rename to metadata/android/en/images/icon.png diff --git a/metadata/android/en-US/images/phoneScreenshots/1.png b/metadata/android/en/images/phoneScreenshots/1.png similarity index 100% rename from metadata/android/en-US/images/phoneScreenshots/1.png rename to metadata/android/en/images/phoneScreenshots/1.png diff --git a/metadata/android/en-US/images/phoneScreenshots/2.png b/metadata/android/en/images/phoneScreenshots/2.png similarity index 100% rename from metadata/android/en-US/images/phoneScreenshots/2.png rename to metadata/android/en/images/phoneScreenshots/2.png diff --git a/metadata/android/en-US/images/phoneScreenshots/3.png b/metadata/android/en/images/phoneScreenshots/3.png similarity index 100% rename from metadata/android/en-US/images/phoneScreenshots/3.png rename to metadata/android/en/images/phoneScreenshots/3.png diff --git a/metadata/android/en-US/images/phoneScreenshots/4.png b/metadata/android/en/images/phoneScreenshots/4.png similarity index 100% rename from metadata/android/en-US/images/phoneScreenshots/4.png rename to metadata/android/en/images/phoneScreenshots/4.png diff --git a/metadata/android/en-US/images/phoneScreenshots/5.png b/metadata/android/en/images/phoneScreenshots/5.png similarity index 100% rename from metadata/android/en-US/images/phoneScreenshots/5.png rename to metadata/android/en/images/phoneScreenshots/5.png diff --git a/metadata/android/en-US/images/phoneScreenshots/6.png b/metadata/android/en/images/phoneScreenshots/6.png similarity index 100% rename from metadata/android/en-US/images/phoneScreenshots/6.png rename to metadata/android/en/images/phoneScreenshots/6.png diff --git a/metadata/android/en-US/short_description.txt b/metadata/android/en/short_description.txt similarity index 100% rename from metadata/android/en-US/short_description.txt rename to metadata/android/en/short_description.txt diff --git a/metadata/android/en-US/title.txt b/metadata/android/en/title.txt similarity index 100% rename from metadata/android/en-US/title.txt rename to metadata/android/en/title.txt diff --git a/metadata/android/en-US/video.txt b/metadata/android/en/video.txt similarity index 100% rename from metadata/android/en-US/video.txt rename to metadata/android/en/video.txt diff --git a/metadata/android/es-ES/full_description.txt b/metadata/android/es/full_description.txt similarity index 88% rename from metadata/android/es-ES/full_description.txt rename to metadata/android/es/full_description.txt index f3eec1f..15c41f1 100644 --- a/metadata/android/es-ES/full_description.txt +++ b/metadata/android/es/full_description.txt @@ -3,4 +3,4 @@ La característica principal es que hay acceso a más caractéres deslizando hac Esta aplicación fue originalmente diseñada para programadores que usaran Termux. Ahora es perfecta para uso cotidiano. -La misma no contiene ningún anuncio/publicidad, no realiza peticiones de red y es de Fuente Abierta. +La misma no contiene ningún anuncio/publicidad, no realiza peticiones de red y es de Fuente Abierta. diff --git a/metadata/android/es-ES/short_description.txt b/metadata/android/es/short_description.txt similarity index 100% rename from metadata/android/es-ES/short_description.txt rename to metadata/android/es/short_description.txt diff --git a/metadata/android/es-ES/title.txt b/metadata/android/es/title.txt similarity index 100% rename from metadata/android/es-ES/title.txt rename to metadata/android/es/title.txt diff --git a/metadata/android/fa/title.txt b/metadata/android/fa/title.txt new file mode 100644 index 0000000..ab06900 --- /dev/null +++ b/metadata/android/fa/title.txt @@ -0,0 +1 @@ +صفحه کلید غیرمنتظره diff --git a/metadata/android/fr-FR/full_description.txt b/metadata/android/fr/full_description.txt similarity index 100% rename from metadata/android/fr-FR/full_description.txt rename to metadata/android/fr/full_description.txt diff --git a/metadata/android/fr-FR/short_description.txt b/metadata/android/fr/short_description.txt similarity index 100% rename from metadata/android/fr-FR/short_description.txt rename to metadata/android/fr/short_description.txt diff --git a/metadata/android/fr-FR/title.txt b/metadata/android/fr/title.txt similarity index 100% rename from metadata/android/fr-FR/title.txt rename to metadata/android/fr/title.txt diff --git a/metadata/android/it-IT/short_description.txt b/metadata/android/it/short_description.txt similarity index 100% rename from metadata/android/it-IT/short_description.txt rename to metadata/android/it/short_description.txt diff --git a/metadata/android/it-IT/title.txt b/metadata/android/it/title.txt similarity index 100% rename from metadata/android/it-IT/title.txt rename to metadata/android/it/title.txt diff --git a/metadata/android/ko-KR/full_description.txt b/metadata/android/ko/full_description.txt similarity index 95% rename from metadata/android/ko-KR/full_description.txt rename to metadata/android/ko/full_description.txt index a047f11..841990a 100644 --- a/metadata/android/ko-KR/full_description.txt +++ b/metadata/android/ko/full_description.txt @@ -15,4 +15,4 @@ - 다중 레이아웃: QWERTY, QWERTZ, AZERTY. 다양한 테마: White, Dark, OLED Black. 또한 다른 많은 옵션들. 다른 가상 키보드와 마찬가지로 시스템 설정에서 활성화해야 합니다. 시스템 설정을 열고 다음으로 이동합니다. -시스템 > 언어 및 입력 > 키보드 > 키보드 관리. \ No newline at end of file +시스템 > 언어 및 입력 > 키보드 > 키보드 관리. diff --git a/metadata/android/ko-KR/short_description.txt b/metadata/android/ko/short_description.txt similarity index 100% rename from metadata/android/ko-KR/short_description.txt rename to metadata/android/ko/short_description.txt diff --git a/metadata/android/ko-KR/title.txt b/metadata/android/ko/title.txt similarity index 100% rename from metadata/android/ko-KR/title.txt rename to metadata/android/ko/title.txt diff --git a/metadata/android/lv-LV/full_description.txt b/metadata/android/lv/full_description.txt similarity index 100% rename from metadata/android/lv-LV/full_description.txt rename to metadata/android/lv/full_description.txt diff --git a/metadata/android/lv-LV/short_description.txt b/metadata/android/lv/short_description.txt similarity index 100% rename from metadata/android/lv-LV/short_description.txt rename to metadata/android/lv/short_description.txt diff --git a/metadata/android/ro-RO/title.txt b/metadata/android/lv/title.txt similarity index 100% rename from metadata/android/ro-RO/title.txt rename to metadata/android/lv/title.txt diff --git a/metadata/android/pl-PL/full_description.txt b/metadata/android/pl/full_description.txt similarity index 100% rename from metadata/android/pl-PL/full_description.txt rename to metadata/android/pl/full_description.txt diff --git a/metadata/android/pl-PL/short_description.txt b/metadata/android/pl/short_description.txt similarity index 100% rename from metadata/android/pl-PL/short_description.txt rename to metadata/android/pl/short_description.txt diff --git a/metadata/android/ru-RU/title.txt b/metadata/android/pl/title.txt similarity index 100% rename from metadata/android/ru-RU/title.txt rename to metadata/android/pl/title.txt diff --git a/metadata/android/pt-BR/full_description.txt b/metadata/android/pt/full_description.txt similarity index 100% rename from metadata/android/pt-BR/full_description.txt rename to metadata/android/pt/full_description.txt diff --git a/metadata/android/pt-BR/short_description.txt b/metadata/android/pt/short_description.txt similarity index 100% rename from metadata/android/pt-BR/short_description.txt rename to metadata/android/pt/short_description.txt diff --git a/metadata/android/pt-BR/title.txt b/metadata/android/pt/title.txt similarity index 100% rename from metadata/android/pt-BR/title.txt rename to metadata/android/pt/title.txt diff --git a/metadata/android/ro-RO/full_description.txt b/metadata/android/ro/full_description.txt similarity index 100% rename from metadata/android/ro-RO/full_description.txt rename to metadata/android/ro/full_description.txt diff --git a/metadata/android/ro-RO/short_description.txt b/metadata/android/ro/short_description.txt similarity index 100% rename from metadata/android/ro-RO/short_description.txt rename to metadata/android/ro/short_description.txt diff --git a/metadata/android/ro/title.txt b/metadata/android/ro/title.txt new file mode 100644 index 0000000..c18b05b --- /dev/null +++ b/metadata/android/ro/title.txt @@ -0,0 +1 @@ +Unexpected Keyboard diff --git a/metadata/android/ru-RU/full_description.txt b/metadata/android/ru/full_description.txt similarity index 100% rename from metadata/android/ru-RU/full_description.txt rename to metadata/android/ru/full_description.txt diff --git a/metadata/android/ru-RU/short_description.txt b/metadata/android/ru/short_description.txt similarity index 100% rename from metadata/android/ru-RU/short_description.txt rename to metadata/android/ru/short_description.txt diff --git a/metadata/android/ru/title.txt b/metadata/android/ru/title.txt new file mode 100644 index 0000000..c18b05b --- /dev/null +++ b/metadata/android/ru/title.txt @@ -0,0 +1 @@ +Unexpected Keyboard diff --git a/metadata/android/tr-TR/full_description.txt b/metadata/android/tr/full_description.txt similarity index 100% rename from metadata/android/tr-TR/full_description.txt rename to metadata/android/tr/full_description.txt diff --git a/metadata/android/tr-TR/short_description.txt b/metadata/android/tr/short_description.txt similarity index 100% rename from metadata/android/tr-TR/short_description.txt rename to metadata/android/tr/short_description.txt diff --git a/metadata/android/tr/title.txt b/metadata/android/tr/title.txt new file mode 100644 index 0000000..c18b05b --- /dev/null +++ b/metadata/android/tr/title.txt @@ -0,0 +1 @@ +Unexpected Keyboard diff --git a/metadata/android/uk/title.txt b/metadata/android/uk/title.txt new file mode 100644 index 0000000..c18b05b --- /dev/null +++ b/metadata/android/uk/title.txt @@ -0,0 +1 @@ +Unexpected Keyboard diff --git a/metadata/android/vi-VN/full_description.txt b/metadata/android/vi/full_description.txt similarity index 100% rename from metadata/android/vi-VN/full_description.txt rename to metadata/android/vi/full_description.txt diff --git a/metadata/android/vi-VN/short_description.txt b/metadata/android/vi/short_description.txt similarity index 100% rename from metadata/android/vi-VN/short_description.txt rename to metadata/android/vi/short_description.txt diff --git a/metadata/android/vi/title.txt b/metadata/android/vi/title.txt new file mode 100644 index 0000000..c18b05b --- /dev/null +++ b/metadata/android/vi/title.txt @@ -0,0 +1 @@ +Unexpected Keyboard diff --git a/metadata/android/zh-rCN/title.txt b/metadata/android/zh-rCN/title.txt new file mode 100644 index 0000000..c18b05b --- /dev/null +++ b/metadata/android/zh-rCN/title.txt @@ -0,0 +1 @@ +Unexpected Keyboard diff --git a/res/values-cs/strings.xml b/res/values-cs/strings.xml index 5dabf0b..800e36a 100644 --- a/res/values-cs/strings.xml +++ b/res/values-cs/strings.xml @@ -2,6 +2,25 @@ Klávesnice Unexpected Klávesnice Unexpected (pro ladění) + Nenáročná virtuální klávesnice pro vývojáře. + "Tato aplikace je virtuální klávesnící pro Android. Umožňuje rychlejší a plynulejší psaní písmen i symbolů (vč. diakritiky), a to ve vícero jazycích a vlastních rozloženích. To vše zdarma, bez reklam a bez plýtvání vašeho uložiště. Můžete psát libovolné znaky pomocí gest (ASCII i Unicode), používat mrtvé (univerzální) klávesy pro diakritická znaménka a mnohem více. + +Klávesnice zobrazuje až 4 další znaky v rozích každé klávesy. Tyto znaky jsou vyvolány přejetím prstu do vybraného rohu. + +No zkrátka...: + +- Obsahuje každý znak a speciální klávesu, která je běžnou součástí počítačové klávesnice. To přijde vhod obzvláště při používání aplikací jako např. Termux + +- Můžete používat modifikační klávesy, obohaceny o speciální klávesy (např. Tab, Esc, šipky, F klávesy, ale také Ctrl nebo Alt !) + +- Můžete psát vícero jazyky rychleji a bez chyb. Diakritická znaménka mohou být vyvolána i za pomocí mrtvých kláves. Nejdříve zvolte diakritické znaménko a pak znak, který chcete obohatit o toto znaménko. + +- Je vysoce nenáročná a rychlá. Zabere 500x méně místa než klávesnice od Googlu (Gboard) a 15x méně než výchozí klávesnice systému. Bez reklam, bez sledování. + +- Má vícero rozložení: QWERTY, QWERTZ, AZERTY. Motivy: Bílá, Tmavá, OLED Černá. A mnoho dalších které si s drobnou znalostí programování můžete upravovat dle libosti. + +Nezapomeňte... Jako každá virtuální klávesnice, i tato musí být aktivována v nastavení systému (zařízení). Otevřte (Systémové) Nastavení a přejděte na: +(Další nastavení NEBO Nastavení systému) > Jazyk & způsob zadávání > Spravovat klávesnice." Nastavení Klávesnice Unexpected V režimu na výšku V režimu na šířku diff --git a/res/values-de/strings.xml b/res/values-de/strings.xml index 7e1886e..3a86d88 100644 --- a/res/values-de/strings.xml +++ b/res/values-de/strings.xml @@ -2,6 +2,13 @@ Unexpected Keyboard Unexpected Keyboard (Debug) + Eine schlanke, datenschutzfreundliche Bildschirmtastatur für Android. + "Diese Tastatur zeichnet sich dadurch aus, dass man zusätzliche Zeichen durch Wischgesten in Richtung der Tastenecken eingeben kann. + +Die Anwendung wurde ursprünglich für das Programmieren in Termux entwickelt. +Mittlerweile ist sie auch für den täglichen Gebrauch perfekt geeignet. + +Diese App enthält keine Werbung, benötigt keinen Netzwerkzugriff und ist quelloffen." Unexpected Keyboard - Einstellungen Im Hochformatmodus Im Querformatmodus diff --git a/res/values-es/strings.xml b/res/values-es/strings.xml index ac75b2d..f0bd694 100644 --- a/res/values-es/strings.xml +++ b/res/values-es/strings.xml @@ -2,6 +2,13 @@ Unexpected Keyboard Unexpected Keyboard (debug) + Un teclado virtual ligero para Android consciente de su privacidad. + "La característica principal es que hay acceso a más caractéres deslizando hacia las esquinas de las teclas. + +Esta aplicación fue originalmente diseñada para programadores que usaran Termux. +Ahora es perfecta para uso cotidiano. + +La misma no contiene ningún anuncio/publicidad, no realiza peticiones de red y es de Fuente Abierta." Ajustes de Unexpected Keyboard En modo vertical En modo horizontal diff --git a/res/values-fa/strings.xml b/res/values-fa/strings.xml index 560b027..f83a026 100644 --- a/res/values-fa/strings.xml +++ b/res/values-fa/strings.xml @@ -2,6 +2,13 @@ صفحه کلید غیرمنتظره صفحه کلید غیرمنتظره + + تنظیمات صفحه کلید غیرمنتظره در حالت عمودی در حالت افقی diff --git a/res/values-fr/strings.xml b/res/values-fr/strings.xml index 0dcdb14..f7315be 100644 --- a/res/values-fr/strings.xml +++ b/res/values-fr/strings.xml @@ -2,6 +2,13 @@ Unexpected Keyboard Unexpected Keyboard (debug) + Clavier virtuel léger et respectueux de la vie privée pour Android. + "La fonctionnalité principale est l'accès rapide à plus de caractères en balayant les touches vers les coins. + +Cette application a été conçue à l'origine pour les programmeurs utilisant Termux. +Elle est maintenant parfaite pour une utilisation quotidienne. + +Cette application ne contient pas de publicité, n'accède pas au réseau et est Open Source." Unexpected Keyboard Paramètres En mode portrait En mode landscape diff --git a/res/values-it/strings.xml b/res/values-it/strings.xml index be14489..127030f 100644 --- a/res/values-it/strings.xml +++ b/res/values-it/strings.xml @@ -2,6 +2,13 @@ Unexpected Keyboard Unexpected Keyboard (debug) + Una Tastiera Virtuale Leggera Per La Programmazione + Impostazioni di Unexpected Keyboard diff --git a/res/values-ko/strings.xml b/res/values-ko/strings.xml index 103cc3d..a697f68 100644 --- a/res/values-ko/strings.xml +++ b/res/values-ko/strings.xml @@ -1,7 +1,26 @@ - + Unexpected Keyboard + 개발자들을 위한 가벼운 가상 키보드. + "이 앱은 안드로이드용 가상 키보드입니다. 주요 기능은 스와이프 제스처를 사용하여 모든 ASCII 문자를 쉽게 입력할 수 있다는 점과 악센트 및 수정자 키를 위한 데드 키와 특수 키(tab, esc, 방향키 등)이 있다는 것입니다. + +키보드는 각 키의 모서리에 최대 4개의 추가 문자를 표시합니다. 이러한 추가 문자는 키에서 손가락을 스와이프하여 적중됩니다. + +일부 하이라이트 기능: + +- PC 키보드에서 사용할 수 있는 모든 문자 및 특수 키를 사요 가능합니다. 이것은 Termux와 같은 앱을 사용하는 데 효과적입니다. + +- 여기에는 Tab, Esc, 방향키 및 function 키뿐만이 아닌 Ctrl 및 Alt 키도 포함되어 있습니다 ! + +- 악센트 키는 데드 키를 사용하여 액세스할 수 있습니다. 먼저 악센트 키를 활성화한 다음 악센트 문자를 입력합니다. + +- 매우 가볍고 빠릅니다. Google 키보드보다 500배, 기본 키보드보다 15배 적은 공간을 사용합니다. 광고와 사용 기록 추적 없음. + +- 다중 레이아웃: QWERTY, QWERTZ, AZERTY. 다양한 테마: White, Dark, OLED Black. 또한 다른 많은 옵션들. + +다른 가상 키보드와 마찬가지로 시스템 설정에서 활성화해야 합니다. 시스템 설정을 열고 다음으로 이동합니다. +시스템 > 언어 및 입력 > 키보드 > 키보드 관리." Unexpected Keyboard 설정 diff --git a/res/values-lv/strings.xml b/res/values-lv/strings.xml index f1eff2c..fbcf1e7 100644 --- a/res/values-lv/strings.xml +++ b/res/values-lv/strings.xml @@ -2,6 +2,13 @@ Unexpected Keyboard Unexpected Keyboard (atkļūdošana) + Mazizmēra un privātumu ievērojoša virtuālā Android tastatūra. + "Galvenā iezīme ir iespēja ievadīt vairāk rakstzīmju ar pavilkšanu uz taustiņu stūriem. + +Šī lietotne sākotnēji tika izstrādāta programmētājiem, kas izmanto Termux. +Tagad lieliski piemērota izmantošanai ikdienā. + +Šī lietotne nesatur reklāmas, neveic nekādus tīkla pieprasījumus, un tās pirmkods ir pieejams visiem." Unexpected Keyboard iestatījumi Stateniski Guleniski diff --git a/res/values-pl/strings.xml b/res/values-pl/strings.xml index 7cc30fd..f366d42 100644 --- a/res/values-pl/strings.xml +++ b/res/values-pl/strings.xml @@ -2,6 +2,13 @@ Unexpected Keyboard Unexpected Keyboard (debug) + Lekka i dbająca o prywatność klawiatura wirtualna dla Androida. + "Główną cechą tej klawiatury jest możliwość wprowadzania więcej znaków poprzez przesuwanie po klawiszach do ich rogów. + +Ta aplikacja została pierwotnie zaprojektowana z myślą o programistach używających Termuxa. +Obecnie nadaje się doskonale do codziennego użytku. + +Aplikacja nie zawiera reklam, nie żąda dostępu do internetu, a jej kod źródłowy jest dostępny publicznie." Ustawienia Unexpected Keyboard W widoku pionowym W widoku poziomym diff --git a/res/values-pt/strings.xml b/res/values-pt/strings.xml index b4b88bb..d672152 100644 --- a/res/values-pt/strings.xml +++ b/res/values-pt/strings.xml @@ -2,6 +2,25 @@ Teclado Unexpected Teclado Unexpected + Um teclado virtual leve para desenvolvedores. + "Um teclado virtual para aparelhos Android. Os recursos principais são facilidade de digitar todos os caracteres ASCII deslizando o dedo, teclas "mortas" para acentos e teclas modificadoras e a presença de teclas especiais (tab, esc, setas, etc..). + +O teclado mostra até 4 caracteres extras nos cantos de cada tecla. Esses caracteres são digitáveis com o deslizar do dedo na tecla. + +Alguns dos recursos interessantes: + +- Todos caracteres e teclas especiais que também estão disponíveis num teclado de PC. Perfeito para usar com aplicativos como Termux. + +- Incluindo Tab, Esc, as setas e teclas de função, e também Ctrl e Alt! + +- Caracteres acentuados são digitáveis usando teclas "mortas". Primeiro ative o acento e depois digite a letra. + +- Muito leve e rápido. Ocupa 500x menos espaço que o teclado da Google e 15x menos espaço que o teclado padrão. Sem propaganda, sem rastreio. + +- Vários layouts: QWERTY, QWERTZ, AZERTY. Temas: Branco, Escuro, Preto OLED. E muitas outras opções. + +Como qualquer outro teclado virtual, tem de ser ativado nas configurações de sistema. Abra as configurações e vá para: +Sistema > Idioma e entrada > Teclado virtual > Gerenciar teclados virtuais." Configurações No modo retrato No modo paisagem diff --git a/res/values-ro/strings.xml b/res/values-ro/strings.xml index 6f516e0..27946e8 100644 --- a/res/values-ro/strings.xml +++ b/res/values-ro/strings.xml @@ -1,7 +1,14 @@ - Tastatură Unexpected + Unexpected Keyboard Tastatură Unexpected (depanare) + Tastatură virtuală pentru Android, ușoară și respectuoasă cu viața privată. + "Funcționalitatea principală este accesul rapid la o mulțime de caractere ASCII prin glisarea către colțurile tastelor. + +Această aplicație a fost concepută inițial pentru programatori care folosec Termux. +Este perfectă pentru uzul cotidian. + +Această aplicație nu conține publicitate, nu folosește rețeaua deloc și e Open Source." Setări Tastatură Unexpected În mod portret În mod panoramă diff --git a/res/values-ru/strings.xml b/res/values-ru/strings.xml index 8c69850..5987aac 100644 --- a/res/values-ru/strings.xml +++ b/res/values-ru/strings.xml @@ -2,6 +2,13 @@ Unexpected Keyboard Unexpected Keyboard (отладка) + Легкая клавиатура для пользователей, заботящихся о конфиденциальности. + "Главная особенность клавиатуры - это возможность легко напечатать любой ASCII символ за счет свайпов в углы клавиш. + +Приложение изначально было разработано для использования Termux. +На данный момент, оно также удобно в повседневном использовании. + +Приложение не содержит рекламы, не осуществляет никаких запросов в сеть и имеет открытый исходный код." Unexpected Keyboard Настройки В портретном режиме В ландшафтном режиме diff --git a/res/values-tr/strings.xml b/res/values-tr/strings.xml index 24c387c..9fb5ea7 100644 --- a/res/values-tr/strings.xml +++ b/res/values-tr/strings.xml @@ -2,6 +2,13 @@ Unexpected Keyboard Unexpected Keyboard (debug) + Android için hafif ve güvenlik odaklı bir sanal klavye uygulaması. + "Bu uygulama özünde tuşların kenarlarından kaydırarak daha fazla karakter yazabilmek amacıyla geliştirildi. + +Bu uygulama aslında Termux kullanıcıları için geliştirildi. +Artık gündelik kullanım için de uygun. + +Bu uygulama açık kaynaklıdır. Reklam içermez ve internete bağlanmaz." Unexpected Keyboard Ayarları Portre modunda Manzara modunda diff --git a/res/values-uk/strings.xml b/res/values-uk/strings.xml index 3a70321..69f8999 100644 --- a/res/values-uk/strings.xml +++ b/res/values-uk/strings.xml @@ -2,6 +2,13 @@ Unexpected Keyboard Unexpected Keyboard (Налагодження) + + Unexpected Keyboard Налаштування У портретному режимі У альбомному режимі diff --git a/res/values-vi/strings.xml b/res/values-vi/strings.xml index ce36a19..6784e37 100644 --- a/res/values-vi/strings.xml +++ b/res/values-vi/strings.xml @@ -2,6 +2,13 @@ Unexpected Keyboard Unexpected Keyboard (gỡ lỗi) + Bàn phím ảo gọn nhẹ và tôn trọng quyền riêng tư cho Android. + "Chức năng chính là dễ dàng gõ nhiều ký tự bằng cách kéo phím về góc của nó. + +Ứng dụng này ban đầu được thiết kế cho các lập trình viên dùng Termux. +Bây giờ đã hoàn hảo cho việc sử dụng hàng ngày. + +Ứng dụng này không chứa quảng cáo, không cần đến mạng, và có mã nguồn mở." Cài đặt Unexpected Keyboard Trong chế độ chân dung Trong chế độ phong cảnh diff --git a/res/values-zh-rCN/strings.xml b/res/values-zh-rCN/strings.xml index 565f19c..6c1000d 100644 --- a/res/values-zh-rCN/strings.xml +++ b/res/values-zh-rCN/strings.xml @@ -2,6 +2,13 @@ Unexpected Keyboard Unexpected Keyboard (debug) + + Unexpected Keyboard 设置 在竖屏模式下 在横屏模式下 diff --git a/res/values/strings.xml b/res/values/strings.xml index a924751..adae6e8 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -2,6 +2,13 @@ Unexpected Keyboard Unexpected Keyboard (Debug) + Lightweight and privacy-conscious virtual keyboard for Android. + "The main feature is that you can type more characters by swiping the keys towards the corners. + +This application was originally designed for programmers using Termux. +Now perfect for everyday use. + +This application contains no ads, doesn't make any network requests and is Open Source." Unexpected Keyboard Settings In portrait mode In landscape mode diff --git a/sync_translations.py b/sync_translations.py index de0f16e..ec696c9 100644 --- a/sync_translations.py +++ b/sync_translations.py @@ -1,5 +1,5 @@ import xml.etree.ElementTree as ET -import glob +import glob, os # Edit every strings.xml files: # - Add missing translation as comments @@ -38,10 +38,32 @@ def sync(baseline, strings): (key, base_string, True) for key, base_string in baseline.items() ] +def sync_metadata(locale, strings): + meta_dir = "metadata/android/" + locale + def sync_meta_file(fname, string_name): + if string_name in strings: + string = strings[string_name] + if not os.path.isdir(meta_dir): + os.makedirs(meta_dir) + txt_file = os.path.join(meta_dir, fname) + with open(txt_file, "w", encoding="utf-8") as out: + out.write(string.text.removeprefix('"').removesuffix('"')) + out.write("\n") + sync_meta_file("title.txt", ("app_name_release", None)) + sync_meta_file("short_description.txt", ("short_description", None)) + sync_meta_file("full_description.txt", ("store_description", None)) + baseline = parse_strings_file("res/values/strings.xml") -for strings_file in glob.glob("res/values-*/strings.xml"): - strings = sync(baseline, dict(parse_strings_file(strings_file))) - with open(strings_file, "w", encoding="utf-8") as out: - write_updated_strings(out, strings) - print_status(strings_file, strings) +for value_dir in glob.glob("res/values-*"): + strings_file = os.path.join(value_dir, "strings.xml") + if os.path.isfile(strings_file): + local_strings = dict(parse_strings_file(strings_file)) + synced_strings = sync(baseline, local_strings) + with open(strings_file, "w", encoding="utf-8") as out: + write_updated_strings(out, synced_strings) + locale = os.path.basename(value_dir).removeprefix("values-") + sync_metadata(locale, local_strings) + print_status(strings_file, synced_strings) + +sync_metadata("en", baseline)