Skip to content

Commit

Permalink
Merge pull request #68 from icerockdev/#59-multiple-strings-files
Browse files Browse the repository at this point in the history
multiple string/plural files in resources
  • Loading branch information
Alex009 committed May 4, 2020
2 parents 8708df2 + d71d7d9 commit 852b6ad
Show file tree
Hide file tree
Showing 6 changed files with 40 additions and 16 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -20,10 +20,19 @@ abstract class PluralsGenerator(
) : BaseGenerator<PluralMap>() {

override fun loadLanguageMap(): Map<LanguageType, Map<KeyType, PluralMap>> {
return pluralsFileTree.associate { file ->
return pluralsFileTree.map { file ->
val language: LanguageType = file.parentFile.name
val strings: Map<KeyType, PluralMap> = loadLanguagePlurals(file)
language to strings
}.groupBy(
keySelector = { it.first },
valueTransform = { it.second }
).mapValues { value ->
val maps = value.value
maps.fold(mutableMapOf()) { result, keyValueMap ->
result.putAll(keyValueMap)
result
}
}
}

Expand Down Expand Up @@ -72,7 +81,7 @@ abstract class PluralsGenerator(
private val info: SourceInfo,
private val iosBaseLocalizationRegion: String
) : ResourceGeneratorFeature {
private val stringsFileTree = info.commonResources.matching { include("MR/**/plurals.xml") }
private val stringsFileTree = info.commonResources.matching { include("MR/**/plurals*.xml") }
override fun createCommonGenerator(): MRGenerator.Generator {
return CommonPluralsGenerator(stringsFileTree)
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,10 +19,19 @@ abstract class StringsGenerator(
private val stringsFileTree: FileTree
) : BaseGenerator<String>() {
override fun loadLanguageMap(): Map<LanguageType, Map<KeyType, String>> {
return stringsFileTree.associate { file ->
return stringsFileTree.map { file ->
val language: LanguageType = file.parentFile.name
val strings: Map<KeyType, String> = loadLanguageStrings(file)
language to strings
}.groupBy(
keySelector = { it.first },
valueTransform = { it.second }
).mapValues { value ->
val maps = value.value
maps.fold(mutableMapOf()) { result, keyValueMap ->
result.putAll(keyValueMap)
result
}
}
}

Expand Down Expand Up @@ -67,7 +76,7 @@ abstract class StringsGenerator(
private val info: SourceInfo,
private val iosBaseLocalizationRegion: String
) : ResourceGeneratorFeature {
private val stringsFileTree = info.commonResources.matching { include("MR/**/strings.xml") }
private val stringsFileTree = info.commonResources.matching { include("MR/**/strings*.xml") }
override fun createCommonGenerator(): MRGenerator.Generator {
return CommonStringsGenerator(stringsFileTree)
}
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
<?xml version="1.0" encoding="UTF-8" ?>
<resources>
<plural name="test.plural">
<item quantity="zero">zero</item>
<item quantity="one">one</item>
<item quantity="two">two</item>
<item quantity="few">few</item>
<item quantity="many">many</item>
<item quantity="other">other</item>
</plural>
</resources>
Original file line number Diff line number Diff line change
@@ -1,13 +1,5 @@
<?xml version="1.0" encoding="UTF-8" ?>
<resources>
<plural name="test.plural">
<item quantity="zero">zero</item>
<item quantity="one">one</item>
<item quantity="two">two</item>
<item quantity="few">few</item>
<item quantity="many">many</item>
<item quantity="other">other</item>
</plural>
<plural name="my_plural">
<item quantity="zero">no items</item>
<item quantity="one">%d item</item>
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8" ?>
<resources>
<string name="test.simple">test</string>
<string name="test2">test 2</string>
<string name="test3">test 3</string>
<string name="Test4">test 4</string>
</resources>
Original file line number Diff line number Diff line change
@@ -1,9 +1,5 @@
<?xml version="1.0" encoding="UTF-8" ?>
<resources>
<string name="test.simple">test</string>
<string name="test2">test 2</string>
<string name="test3">test 3</string>
<string name="Test4">test 4</string>
<string name="common.name">Test Project</string>
<string name="format">Test data %d</string>
<string name="encoding">CHOOSE PORTFOLIO &amp; AMOUNT</string>
Expand Down

0 comments on commit 852b6ad

Please sign in to comment.