diff --git a/build.gradle.kts b/build.gradle.kts index 6fa9596fe..10f9c384b 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -8,6 +8,10 @@ plugins { id("org.jlleitschuh.gradle.ktlint") version "10.0.0" } +apply { + from("translators.gradle.kts") +} + allprojects { repositories { google() diff --git a/build.sh b/build.sh index 7e1110486..96b0a11b5 100755 --- a/build.sh +++ b/build.sh @@ -87,6 +87,7 @@ build_apk() { if [ -n "$RELEASE" ]; then log_info "Building release APK..." + $GRADLE updateTranslators $GRADLE :uhabits-android:assembleRelease cp -v \ uhabits-android/build/outputs/apk/release/uhabits-android-release.apk \ diff --git a/translators b/translators new file mode 100644 index 000000000..e76755b80 --- /dev/null +++ b/translators @@ -0,0 +1,69 @@ +Mihail Stefanov (Български) +Angga Rifandi (Bahasa Indonesia) +raden20 (Bahasa Indonesia) +azzamsa (Bahasa Indonesia) +David Nos (Català) +Tomáš Borovec (Čeština) +Rancher (Cрпски) +Yussuf (Dansk) +Sølv Ræven (Dansk) +Matthias Meisser (Deutsch) +Sojusnik (Deutsch) +Can Altas (Deutsch) +Laura Sophie (Deutsch) +Ander Raso Vazquez (Español) +Beriain (Euskara) +Osoitz (Euskara) +Andreas Michelakis (Ελληνικά) +Eman (Fārsi) +Saeed Esmaili (Fārsi) +Behnood HRazy (Fārsi) +François Mahé (Français) +Thibaut Girka (Français) +Mathis Chenuet (Français) +Michael Faille (Français) +Tiralka (Français) +Ivan Krušlin (Hrvatski) +Marco Cavazza (Italiano) +Mark Macaré (Nederlands) +Jelle den Butter (Nederlands) +nitovf9292 (Norsk) +Adam Jurkiewicz (Polski) +Álinson Santos Xavier (Português) +Bernardo Lopes (Português) +Dmitriy Bogdanov (Русский) +Andrei Pleș (Română) +Andreea Muscalagiu (Română) +Dušan Strgar (Slovenščina) +Alexander Jansson (Svenska) +Robin (Svenska) +Sofia Veijonen (Suomen kieli) +Đorđe Vasiljević (српски) +Caner Başaran (Türkçe) +hodanli (Türkçe) +Yurii Stavytskyi (Українська) +Rystard (Українська) +Oglaigh Rystard (Українська) +taras-ko (Українська) +Limin Lu (中文) +XuToTo (中文) +Ting-Hua (中文) +Bowie Chen (中文) +Lee (中文) +Liveeasy (中文) +Naofumi F (日本語) +Al Alloush (العَرَبِية‎) +Boula (العَرَبِية‎) +Israa Z (العَرَبِية‎) +Josh Graham (한국어 ) +Seoyul (한국어 ) +Aman Satnami (हिन्दी) +Niraj Yadav (हिन्दी) +Yoav Argov (עברית‎) +Mahdi Nasiri (فارسی‎) +Mohammed Imthath (தமிழ்‎) +magimai (தமிழ்‎) +Anshoe (தமிழ்‎) +Trần Thái (Tiếng Việt) +Anh Quân (Tiếng Việt) +pnhpnh (Tiếng Việt) diff --git a/translators.gradle.kts b/translators.gradle.kts new file mode 100644 index 000000000..a8fce58f9 --- /dev/null +++ b/translators.gradle.kts @@ -0,0 +1,45 @@ +import groovy.xml.MarkupBuilder +import java.io.StringWriter + +task("updateTranslators") { + doLast { + fun updateTranslatorLayouts() { + val writer = StringWriter() + val indent = " " + val xml = MarkupBuilder(groovy.util.IndentPrinter(writer, indent)) + xml.doubleQuotes = true + xml.withGroovyBuilder { + "LinearLayout"( + "style" to "@style/Card", + "android:gravity" to "center", + "xmlns:android" to "http://schemas.android.com/apk/res/android" + ) { + "TextView"( + "style" to "@style/CardHeader", + "android:text" to "@string/translators", + "android:textColor" to "?aboutScreenColor" + ) + + xml.mkp.yield('\n' + indent) + xml.mkp.comment("This list is automatically generated, do not edit manually.") + + val reader = file("translators").bufferedReader() + for (l in reader.lines()) { + "TextView"( + "style" to "@style/About.Item", + "android:text" to l + ) + } + } + } + val newContent = writer.toString() + val path = "uhabits-android/src/main/res/layout/about_translators.xml" + val currentContent = file(path).readText() + if (currentContent != newContent) { + file(path).writeText(newContent) + } + } + + updateTranslatorLayouts() + } +} diff --git a/uhabits-android/build.gradle.kts b/uhabits-android/build.gradle.kts index 04aed359b..6f0b1fdb1 100644 --- a/uhabits-android/build.gradle.kts +++ b/uhabits-android/build.gradle.kts @@ -1,3 +1,5 @@ + + /* * Copyright (C) 2016-2021 Álinson Santos Xavier * @@ -26,7 +28,12 @@ plugins { id("org.jlleitschuh.gradle.ktlint") } +tasks.compileLint { + dependsOn("updateTranslators") +} + android { + compileSdkVersion(30) defaultConfig { diff --git a/uhabits-android/src/main/res/layout/about.xml b/uhabits-android/src/main/res/layout/about.xml index 8e122af93..df5123f10 100644 --- a/uhabits-android/src/main/res/layout/about.xml +++ b/uhabits-android/src/main/res/layout/about.xml @@ -139,292 +139,9 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +> diff --git a/uhabits-android/src/main/res/layout/about_translators.xml b/uhabits-android/src/main/res/layout/about_translators.xml new file mode 100644 index 000000000..60eeb079d --- /dev/null +++ b/uhabits-android/src/main/res/layout/about_translators.xml @@ -0,0 +1,73 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file