Add per-app language support. https://redmine.stoutner.com/issues/935 master
authorSoren Stoutner <soren@stoutner.com>
Wed, 30 Nov 2022 18:29:12 +0000 (11:29 -0700)
committerSoren Stoutner <soren@stoutner.com>
Wed, 30 Nov 2022 18:29:12 +0000 (11:29 -0700)
app/build.gradle
app/src/main/AndroidManifest.xml
app/src/main/res/xml/locales_config.xml [new file with mode: 0644]

index 160ef730ed34285779b16ad50342944abc672102..2925b170364cd38ead61028189e739be2e3777da 100644 (file)
@@ -31,6 +31,7 @@ android {
         targetSdk 33
         versionCode 10
         versionName "1.8.1"
+        resConfigs "en", "de", "es", "fr", "it", "ru"
     }
 
     buildTypes {
index f79605c1cd9c9d41031a31c980dad4b226e34b8e..528c4c3e33ab33d601143f3b87fe6d3365e480d6 100644 (file)
@@ -52,7 +52,8 @@
         android:fullBackupContent="false"
         android:supportsRtl="true"
         android:theme="@style/Theme.PrivacyCell"
-        tools:ignore="DataExtractionRules" >
+        android:localeConfig="@xml/locales_config"
+        tools:ignore="DataExtractionRules,UnusedAttribute" >
 
         <!-- Privacy Cell Activity.  The label uses the short name so that it isn't truncated under the icon in the launcher on most phones.
             `android:launchMode="singleTask"` makes the app launch in a new task instead of inside the task of the program that sends it an intent.
diff --git a/app/src/main/res/xml/locales_config.xml b/app/src/main/res/xml/locales_config.xml
new file mode 100644 (file)
index 0000000..8635f4b
--- /dev/null
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<!--
+  Copyright 2022 Soren Stoutner <soren@stoutner.com>.
+
+  This file is part of Privacy Cell <https://www.stoutner.com/privacy-cell>.
+
+  Privacy Cell is free software: you can redistribute it and/or modify
+  it under the terms of the GNU General Public License as published by
+  the Free Software Foundation, either version 3 of the License, or
+  (at your option) any later version.
+
+  Privacy Cell is distributed in the hope that it will be useful,
+  but WITHOUT ANY WARRANTY; without even the implied warranty of
+  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+  GNU General Public License for more details.
+
+  You should have received a copy of the GNU General Public License
+  along with Privacy Cell.  If not, see <http://www.gnu.org/licenses/>. -->
+
+<!-- https://developer.android.com/guide/topics/resources/app-languages#app-language-settings -->
+<locale-config xmlns:android="http://schemas.android.com/apk/res/android">
+    <locale android:name="en"/>  <!-- English. -->
+    <locale android:name="de"/>  <!-- German. -->
+    <locale android:name="es"/>  <!-- Spanish. -->
+    <locale android:name="fr"/>  <!-- French. -->
+    <locale android:name="it"/>  <!-- Italian. -->
+    <locale android:name="ru"/>  <!-- Russian. -->
+</locale-config>