diff --git a/app/lint.xml b/app/lint.xml
index 97de171b..41b695e6 100644
--- a/app/lint.xml
+++ b/app/lint.xml
@@ -2,4 +2,6 @@
+
+
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
#####################################################################################
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/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-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..3b85475c
--- /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
+ 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
+ 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-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 @@
+
+
+
+
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
+
+