Quellcode durchsuchen

Fix Spanish (Latin America) being missing from in-app language selection

(cherry picked from commit 290efb0283145d81290972991047064c1d905c9c)
arkon vor 2 Jahren
Ursprung
Commit
10973bf3cd
1 geänderte Dateien mit 6 neuen und 9 gelöschten Zeilen
  1. 6 9
      buildSrc/src/main/kotlin/LocalesConfigPlugin.kt

+ 6 - 9
buildSrc/src/main/kotlin/LocalesConfigPlugin.kt

@@ -3,25 +3,22 @@ import org.gradle.api.Task
 import org.gradle.api.tasks.TaskProvider
 import org.gradle.kotlin.dsl.TaskContainerScope
 
+private val emptyResourcesElement = "<resources>\\s*</resources>|<resources/>".toRegex()
+private val valuesPrefix = "values(-(b\\+)?)?".toRegex()
+
 fun TaskContainerScope.registerLocalesConfigTask(project: Project): TaskProvider<Task> {
     return with(project) {
         register("generateLocalesConfig") {
-            val emptyResourcesElement = "<resources>\\s*</resources>|<resources/>".toRegex()
-            val valuesPrefix = "values-?".toRegex()
-
             val languages = fileTree("$projectDir/src/main/res/")
-                .matching {
-                    include("**/strings.xml")
-                }
-                .filterNot {
-                    it.readText().contains(emptyResourcesElement)
-                }
+                .matching { include("**/strings.xml") }
+                .filterNot { it.readText().contains(emptyResourcesElement) }
                 .map { it.parentFile.name }
                 .sorted()
                 .joinToString(separator = "\n") {
                     val language = it
                         .replace(valuesPrefix, "")
                         .replace("-r", "-")
+                        .replace("+", "-")
                         .takeIf(String::isNotBlank) ?: "en"
                     "   <locale android:name=\"$language\"/>"
                 }