From 4e35972435568edf3da503c6e29e492d1cb96639 Mon Sep 17 00:00:00 2001 From: Ian Maia Date: Thu, 7 Aug 2025 20:07:21 +0200 Subject: [PATCH 1/5] Add automation to fetch translation strings --- fastlane/Fastfile | 53 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) diff --git a/fastlane/Fastfile b/fastlane/Fastfile index 0a064a6d..eed9fdd8 100644 --- a/fastlane/Fastfile +++ b/fastlane/Fastfile @@ -27,6 +27,31 @@ BUILD_CODE_FORMATTER = Fastlane::Wpmreleasetoolkit::Versioning::DerivedBuildCode PROTOTYPE_BUILD_DOMAIN = 'https://cdn.a8c-ci.services' RELEASE_BUILD_TYPE = 'Release' +GLOTPRESS_PROJECT_BASE_URL = 'https://translate.wordpress.com/projects/gravatar/gravatar-android' +RESOURCES_TO_TRANSLATE = { + File.join('homeUi', 'src', 'main', 'res') => "#{GLOTPRESS_PROJECT_BASE_URL}/login-ui/", + File.join('loginUi', 'src', 'main', 'res') => "#{GLOTPRESS_PROJECT_BASE_URL}/home-ui/" +}.freeze + +SUPPORTED_LOCALES = [ + { glotpress: 'ar', android: 'ar' }, + { glotpress: 'de', android: 'de' }, + { glotpress: 'es', android: 'es' }, + { glotpress: 'fr', android: 'fr' }, + { glotpress: 'he', android: 'iw' }, + { glotpress: 'id', android: 'in' }, + { glotpress: 'it', android: 'it' }, + { glotpress: 'ja', android: 'ja' }, + { glotpress: 'ko', android: 'ko' }, + { glotpress: 'nl', android: 'nl' }, + { glotpress: 'pt-br', android: 'pt-rBR' }, + { glotpress: 'ru', android: 'ru' }, + { glotpress: 'sv', android: 'sv' }, + { glotpress: 'tr', android: 'tr' }, + { glotpress: 'zh-cn', android: 'zh-rCN' }, + { glotpress: 'zh-tw', android: 'zh-rTW' } +].freeze + platform :android do # Builds a release app bundle (.aab) for the Gravatar Android app # @@ -136,6 +161,34 @@ platform :android do upload_to_store(track: track, release_status: release_status, rollout: release_status == 'draft' ? nil : '1') end + # Download the latest app translations from GlotPress and update the strings.xml files accordingly. + # + # @example Running the lane + # bundle exec fastlane download_translations skip_commit:true + # + # @param skip_commit [Boolean] Skip committing the changes to git (default: false) + # + lane :download_translations do |skip_commit: false| + RESOURCES_TO_TRANSLATE.each do |res_dir, gp_url| + android_download_translations( + res_dir: res_dir.to_s, + glotpress_url: gp_url, + locales: SUPPORTED_LOCALES, + skip_commit: true + ) + end + + next if skip_commit + + strings_paths = RESOURCES_TO_TRANSLATE.keys.map(&:to_s) + git_add(path: strings_paths) + git_commit( + path: strings_paths, + message: 'Update translations', + allow_nothing_to_commit: true + ) + end + ##################################################################################### # Release lanes ##################################################################################### From 2b83ef12b855b6d72d869083631c9a89ae6a16ab Mon Sep 17 00:00:00 2001 From: Ian Maia Date: Thu, 7 Aug 2025 20:09:00 +0200 Subject: [PATCH 2/5] Add XML translation files --- homeUi/src/main/res/values-ar/strings.xml | 9 ++ homeUi/src/main/res/values-de/strings.xml | 9 ++ homeUi/src/main/res/values-es/strings.xml | 9 ++ homeUi/src/main/res/values-fr/strings.xml | 9 ++ homeUi/src/main/res/values-in/strings.xml | 9 ++ homeUi/src/main/res/values-it/strings.xml | 9 ++ homeUi/src/main/res/values-iw/strings.xml | 9 ++ homeUi/src/main/res/values-ja/strings.xml | 9 ++ homeUi/src/main/res/values-ko/strings.xml | 9 ++ homeUi/src/main/res/values-nl/strings.xml | 9 ++ homeUi/src/main/res/values-pt-rBR/strings.xml | 9 ++ homeUi/src/main/res/values-ru/strings.xml | 9 ++ homeUi/src/main/res/values-sv/strings.xml | 17 ++++ homeUi/src/main/res/values-tr/strings.xml | 9 ++ homeUi/src/main/res/values-zh-rCN/strings.xml | 9 ++ homeUi/src/main/res/values-zh-rTW/strings.xml | 9 ++ loginUi/src/main/res/values-ar/strings.xml | 9 ++ loginUi/src/main/res/values-de/strings.xml | 9 ++ loginUi/src/main/res/values-es/strings.xml | 9 ++ loginUi/src/main/res/values-fr/strings.xml | 9 ++ loginUi/src/main/res/values-in/strings.xml | 9 ++ loginUi/src/main/res/values-it/strings.xml | 9 ++ loginUi/src/main/res/values-iw/strings.xml | 9 ++ loginUi/src/main/res/values-ja/strings.xml | 9 ++ loginUi/src/main/res/values-ko/strings.xml | 9 ++ loginUi/src/main/res/values-nl/strings.xml | 9 ++ .../src/main/res/values-pt-rBR/strings.xml | 9 ++ loginUi/src/main/res/values-ru/strings.xml | 9 ++ loginUi/src/main/res/values-sv/strings.xml | 86 +++++++++++++++++++ loginUi/src/main/res/values-tr/strings.xml | 9 ++ .../src/main/res/values-zh-rCN/strings.xml | 9 ++ .../src/main/res/values-zh-rTW/strings.xml | 9 ++ 32 files changed, 373 insertions(+) create mode 100644 homeUi/src/main/res/values-ar/strings.xml create mode 100644 homeUi/src/main/res/values-de/strings.xml create mode 100644 homeUi/src/main/res/values-es/strings.xml create mode 100644 homeUi/src/main/res/values-fr/strings.xml create mode 100644 homeUi/src/main/res/values-in/strings.xml create mode 100644 homeUi/src/main/res/values-it/strings.xml create mode 100644 homeUi/src/main/res/values-iw/strings.xml create mode 100644 homeUi/src/main/res/values-ja/strings.xml create mode 100644 homeUi/src/main/res/values-ko/strings.xml create mode 100644 homeUi/src/main/res/values-nl/strings.xml create mode 100644 homeUi/src/main/res/values-pt-rBR/strings.xml create mode 100644 homeUi/src/main/res/values-ru/strings.xml create mode 100644 homeUi/src/main/res/values-sv/strings.xml create mode 100644 homeUi/src/main/res/values-tr/strings.xml create mode 100644 homeUi/src/main/res/values-zh-rCN/strings.xml create mode 100644 homeUi/src/main/res/values-zh-rTW/strings.xml create mode 100644 loginUi/src/main/res/values-ar/strings.xml create mode 100644 loginUi/src/main/res/values-de/strings.xml create mode 100644 loginUi/src/main/res/values-es/strings.xml create mode 100644 loginUi/src/main/res/values-fr/strings.xml create mode 100644 loginUi/src/main/res/values-in/strings.xml create mode 100644 loginUi/src/main/res/values-it/strings.xml create mode 100644 loginUi/src/main/res/values-iw/strings.xml create mode 100644 loginUi/src/main/res/values-ja/strings.xml create mode 100644 loginUi/src/main/res/values-ko/strings.xml create mode 100644 loginUi/src/main/res/values-nl/strings.xml create mode 100644 loginUi/src/main/res/values-pt-rBR/strings.xml create mode 100644 loginUi/src/main/res/values-ru/strings.xml create mode 100644 loginUi/src/main/res/values-sv/strings.xml create mode 100644 loginUi/src/main/res/values-tr/strings.xml create mode 100644 loginUi/src/main/res/values-zh-rCN/strings.xml create mode 100644 loginUi/src/main/res/values-zh-rTW/strings.xml diff --git a/homeUi/src/main/res/values-ar/strings.xml b/homeUi/src/main/res/values-ar/strings.xml new file mode 100644 index 00000000..ed827209 --- /dev/null +++ b/homeUi/src/main/res/values-ar/strings.xml @@ -0,0 +1,9 @@ + + + + diff --git a/homeUi/src/main/res/values-de/strings.xml b/homeUi/src/main/res/values-de/strings.xml new file mode 100644 index 00000000..323971d3 --- /dev/null +++ b/homeUi/src/main/res/values-de/strings.xml @@ -0,0 +1,9 @@ + + + + diff --git a/homeUi/src/main/res/values-es/strings.xml b/homeUi/src/main/res/values-es/strings.xml new file mode 100644 index 00000000..0a15e1bb --- /dev/null +++ b/homeUi/src/main/res/values-es/strings.xml @@ -0,0 +1,9 @@ + + + + diff --git a/homeUi/src/main/res/values-fr/strings.xml b/homeUi/src/main/res/values-fr/strings.xml new file mode 100644 index 00000000..b974e615 --- /dev/null +++ b/homeUi/src/main/res/values-fr/strings.xml @@ -0,0 +1,9 @@ + + + + diff --git a/homeUi/src/main/res/values-in/strings.xml b/homeUi/src/main/res/values-in/strings.xml new file mode 100644 index 00000000..547250f0 --- /dev/null +++ b/homeUi/src/main/res/values-in/strings.xml @@ -0,0 +1,9 @@ + + + + diff --git a/homeUi/src/main/res/values-it/strings.xml b/homeUi/src/main/res/values-it/strings.xml new file mode 100644 index 00000000..8672ecbf --- /dev/null +++ b/homeUi/src/main/res/values-it/strings.xml @@ -0,0 +1,9 @@ + + + + diff --git a/homeUi/src/main/res/values-iw/strings.xml b/homeUi/src/main/res/values-iw/strings.xml new file mode 100644 index 00000000..d3aef40f --- /dev/null +++ b/homeUi/src/main/res/values-iw/strings.xml @@ -0,0 +1,9 @@ + + + + diff --git a/homeUi/src/main/res/values-ja/strings.xml b/homeUi/src/main/res/values-ja/strings.xml new file mode 100644 index 00000000..faf4d499 --- /dev/null +++ b/homeUi/src/main/res/values-ja/strings.xml @@ -0,0 +1,9 @@ + + + + diff --git a/homeUi/src/main/res/values-ko/strings.xml b/homeUi/src/main/res/values-ko/strings.xml new file mode 100644 index 00000000..f5530e96 --- /dev/null +++ b/homeUi/src/main/res/values-ko/strings.xml @@ -0,0 +1,9 @@ + + + + diff --git a/homeUi/src/main/res/values-nl/strings.xml b/homeUi/src/main/res/values-nl/strings.xml new file mode 100644 index 00000000..1430a212 --- /dev/null +++ b/homeUi/src/main/res/values-nl/strings.xml @@ -0,0 +1,9 @@ + + + + diff --git a/homeUi/src/main/res/values-pt-rBR/strings.xml b/homeUi/src/main/res/values-pt-rBR/strings.xml new file mode 100644 index 00000000..6b1c042f --- /dev/null +++ b/homeUi/src/main/res/values-pt-rBR/strings.xml @@ -0,0 +1,9 @@ + + + + diff --git a/homeUi/src/main/res/values-ru/strings.xml b/homeUi/src/main/res/values-ru/strings.xml new file mode 100644 index 00000000..d66b1e3f --- /dev/null +++ b/homeUi/src/main/res/values-ru/strings.xml @@ -0,0 +1,9 @@ + + + + diff --git a/homeUi/src/main/res/values-sv/strings.xml b/homeUi/src/main/res/values-sv/strings.xml new file mode 100644 index 00000000..8f57a7c5 --- /dev/null +++ b/homeUi/src/main/res/values-sv/strings.xml @@ -0,0 +1,17 @@ + + + + Du måste logga in på Gravatar.com + Prova med ett annat konto + Försök igen + Det var ett problem att ladda in din profil. + Kan inte ladda din profil + Något gick fel + Logga in + Din globalt igenkända profilbild. + diff --git a/homeUi/src/main/res/values-tr/strings.xml b/homeUi/src/main/res/values-tr/strings.xml new file mode 100644 index 00000000..0d238087 --- /dev/null +++ b/homeUi/src/main/res/values-tr/strings.xml @@ -0,0 +1,9 @@ + + + + diff --git a/homeUi/src/main/res/values-zh-rCN/strings.xml b/homeUi/src/main/res/values-zh-rCN/strings.xml new file mode 100644 index 00000000..80a9f6c1 --- /dev/null +++ b/homeUi/src/main/res/values-zh-rCN/strings.xml @@ -0,0 +1,9 @@ + + + + diff --git a/homeUi/src/main/res/values-zh-rTW/strings.xml b/homeUi/src/main/res/values-zh-rTW/strings.xml new file mode 100644 index 00000000..6bfca01a --- /dev/null +++ b/homeUi/src/main/res/values-zh-rTW/strings.xml @@ -0,0 +1,9 @@ + + + + diff --git a/loginUi/src/main/res/values-ar/strings.xml b/loginUi/src/main/res/values-ar/strings.xml new file mode 100644 index 00000000..ed827209 --- /dev/null +++ b/loginUi/src/main/res/values-ar/strings.xml @@ -0,0 +1,9 @@ + + + + diff --git a/loginUi/src/main/res/values-de/strings.xml b/loginUi/src/main/res/values-de/strings.xml new file mode 100644 index 00000000..323971d3 --- /dev/null +++ b/loginUi/src/main/res/values-de/strings.xml @@ -0,0 +1,9 @@ + + + + diff --git a/loginUi/src/main/res/values-es/strings.xml b/loginUi/src/main/res/values-es/strings.xml new file mode 100644 index 00000000..0a15e1bb --- /dev/null +++ b/loginUi/src/main/res/values-es/strings.xml @@ -0,0 +1,9 @@ + + + + diff --git a/loginUi/src/main/res/values-fr/strings.xml b/loginUi/src/main/res/values-fr/strings.xml new file mode 100644 index 00000000..b974e615 --- /dev/null +++ b/loginUi/src/main/res/values-fr/strings.xml @@ -0,0 +1,9 @@ + + + + diff --git a/loginUi/src/main/res/values-in/strings.xml b/loginUi/src/main/res/values-in/strings.xml new file mode 100644 index 00000000..547250f0 --- /dev/null +++ b/loginUi/src/main/res/values-in/strings.xml @@ -0,0 +1,9 @@ + + + + diff --git a/loginUi/src/main/res/values-it/strings.xml b/loginUi/src/main/res/values-it/strings.xml new file mode 100644 index 00000000..8672ecbf --- /dev/null +++ b/loginUi/src/main/res/values-it/strings.xml @@ -0,0 +1,9 @@ + + + + diff --git a/loginUi/src/main/res/values-iw/strings.xml b/loginUi/src/main/res/values-iw/strings.xml new file mode 100644 index 00000000..d3aef40f --- /dev/null +++ b/loginUi/src/main/res/values-iw/strings.xml @@ -0,0 +1,9 @@ + + + + diff --git a/loginUi/src/main/res/values-ja/strings.xml b/loginUi/src/main/res/values-ja/strings.xml new file mode 100644 index 00000000..faf4d499 --- /dev/null +++ b/loginUi/src/main/res/values-ja/strings.xml @@ -0,0 +1,9 @@ + + + + diff --git a/loginUi/src/main/res/values-ko/strings.xml b/loginUi/src/main/res/values-ko/strings.xml new file mode 100644 index 00000000..f5530e96 --- /dev/null +++ b/loginUi/src/main/res/values-ko/strings.xml @@ -0,0 +1,9 @@ + + + + diff --git a/loginUi/src/main/res/values-nl/strings.xml b/loginUi/src/main/res/values-nl/strings.xml new file mode 100644 index 00000000..1430a212 --- /dev/null +++ b/loginUi/src/main/res/values-nl/strings.xml @@ -0,0 +1,9 @@ + + + + diff --git a/loginUi/src/main/res/values-pt-rBR/strings.xml b/loginUi/src/main/res/values-pt-rBR/strings.xml new file mode 100644 index 00000000..6b1c042f --- /dev/null +++ b/loginUi/src/main/res/values-pt-rBR/strings.xml @@ -0,0 +1,9 @@ + + + + diff --git a/loginUi/src/main/res/values-ru/strings.xml b/loginUi/src/main/res/values-ru/strings.xml new file mode 100644 index 00000000..d66b1e3f --- /dev/null +++ b/loginUi/src/main/res/values-ru/strings.xml @@ -0,0 +1,9 @@ + + + + diff --git a/loginUi/src/main/res/values-sv/strings.xml b/loginUi/src/main/res/values-sv/strings.xml new file mode 100644 index 00000000..280cc2d6 --- /dev/null +++ b/loginUi/src/main/res/values-sv/strings.xml @@ -0,0 +1,86 @@ + + + + Privat information + Din e-post och ditt telefonnummer delas endast med hjälp av QR-koden. Denna information är inte sparad i din Gravatar-profil och är inte offentligt tillgänglig. + Jag förstår + Profil-URL + Namn + Dela information från din Gravatar-profil. + Klar + Integritetspolicy + Användarvillkor + Juridiskt + Skaffa hjälp + Om Gravatar + Telefonnummer + E-post + Dela privat kontaktinformation + Låt andra skanna denna QR-kod för att dela din kontaktinformation. + Ingen internetanslutning + Ingen profilbild vald. Visar standardprofilbilden. + Det var ett problem att ladda in dina profilbilder. Försök igen om några minuter. + Kan inte ladda profilbilder + Försök igen + Avfärda + Öppna inställningar + Behörighet krävs + Om denna app + Logga ut + Dela + Besök din profil + Kunde inte ta bort bilden. Försök igen. + Kan inte ändra din profilbild. Försök igen. + Profilbild uppdaterad. + Avbryt + Ta bort + Är du säker på att du vill ta bort denna bild? + Ta bort bild + Ladda ner bild + Ladda ner bild + Ta bort denna profilbild + Ta bort + Välj profilbild som nuvarande + Gör nuvarande + Ta bort uppladdning + Försök igen + Den angivna bilden överskrider den maximala storleken: 10 MB + Kunde inte ladda upp bild + Uppladdning misslyckades, tryck för att se åtgärder. + Lägg till nytt profilbild från foton + Foton + Ta ny profilbild med kamera + Kamera + Låt din personlighet glänsa med en ny profilbild. + Profil sparad. + Kan inte spara din profil. Försök igen. + Sparar … + Avbryt + Spara + Expandera + Fler alternativ + Tryck för alternativ + Dina profilbilder kommer visas här + Tidigare profilbilder + E-post + Telefon + Plats + Kort beskrivning av din profil + Om mig + Organisation + Titel + Pronomen + Hur man säger ditt namn + Uttal + Visningsnamn + Efter + För + Profil + Dela + Gravatar + diff --git a/loginUi/src/main/res/values-tr/strings.xml b/loginUi/src/main/res/values-tr/strings.xml new file mode 100644 index 00000000..0d238087 --- /dev/null +++ b/loginUi/src/main/res/values-tr/strings.xml @@ -0,0 +1,9 @@ + + + + diff --git a/loginUi/src/main/res/values-zh-rCN/strings.xml b/loginUi/src/main/res/values-zh-rCN/strings.xml new file mode 100644 index 00000000..80a9f6c1 --- /dev/null +++ b/loginUi/src/main/res/values-zh-rCN/strings.xml @@ -0,0 +1,9 @@ + + + + diff --git a/loginUi/src/main/res/values-zh-rTW/strings.xml b/loginUi/src/main/res/values-zh-rTW/strings.xml new file mode 100644 index 00000000..6bfca01a --- /dev/null +++ b/loginUi/src/main/res/values-zh-rTW/strings.xml @@ -0,0 +1,9 @@ + + + + From 67a258a09dc736183fb5c15101d816e9f3816e0a Mon Sep 17 00:00:00 2001 From: Ian Maia Date: Thu, 7 Aug 2025 20:09:31 +0200 Subject: [PATCH 3/5] Update translations --- .../main/res/values/available_languages.xml | 23 +++++++++++++++++++ loginUi/src/main/res/values-sv/strings.xml | 4 ++-- .../main/res/values/available_languages.xml | 23 +++++++++++++++++++ 3 files changed, 48 insertions(+), 2 deletions(-) create mode 100644 homeUi/src/main/res/values/available_languages.xml create mode 100644 loginUi/src/main/res/values/available_languages.xml diff --git a/homeUi/src/main/res/values/available_languages.xml b/homeUi/src/main/res/values/available_languages.xml new file mode 100644 index 00000000..192a0675 --- /dev/null +++ b/homeUi/src/main/res/values/available_languages.xml @@ -0,0 +1,23 @@ + + + + + en_US + ar + de + es + fr + iw + in + it + ja + ko + nl + pt_BR + ru + sv + tr + zh_CN + zh_TW + + diff --git a/loginUi/src/main/res/values-sv/strings.xml b/loginUi/src/main/res/values-sv/strings.xml index 280cc2d6..3b85475c 100644 --- a/loginUi/src/main/res/values-sv/strings.xml +++ b/loginUi/src/main/res/values-sv/strings.xml @@ -23,8 +23,6 @@ Language: sv_SE Dela privat kontaktinformation Låt andra skanna denna QR-kod för att dela din kontaktinformation. Ingen internetanslutning - Ingen profilbild vald. Visar standardprofilbilden. - Det var ett problem att ladda in dina profilbilder. Försök igen om några minuter. Kan inte ladda profilbilder Försök igen Avfärda @@ -83,4 +81,6 @@ Language: sv_SE Profil Dela Gravatar + Det var ett problem att ladda in dina profilbilder. Försök igen om några minuter. + Ingen profilbild vald. Visar standardprofilbilden. diff --git a/loginUi/src/main/res/values/available_languages.xml b/loginUi/src/main/res/values/available_languages.xml new file mode 100644 index 00000000..192a0675 --- /dev/null +++ b/loginUi/src/main/res/values/available_languages.xml @@ -0,0 +1,23 @@ + + + + + en_US + ar + de + es + fr + iw + in + it + ja + ko + nl + pt_BR + ru + sv + tr + zh_CN + zh_TW + + From 56b55abeff6ce975882061545e268aecdaefe048 Mon Sep 17 00:00:00 2001 From: Ian Maia Date: Fri, 8 Aug 2025 12:12:14 +0200 Subject: [PATCH 4/5] Disable `ExtraTranslation` Android Lint check --- app/lint.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/app/lint.xml b/app/lint.xml index 97de171b..33e6e753 100644 --- a/app/lint.xml +++ b/app/lint.xml @@ -2,4 +2,5 @@ + From dca3a988d911ee14819881f31df9f9eb92fb0936 Mon Sep 17 00:00:00 2001 From: Ian Maia Date: Fri, 8 Aug 2025 13:37:32 +0200 Subject: [PATCH 5/5] Also disable `MissingTranslation` Android Lint check --- app/lint.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/app/lint.xml b/app/lint.xml index 33e6e753..41b695e6 100644 --- a/app/lint.xml +++ b/app/lint.xml @@ -3,4 +3,5 @@ +