Skip to content

Commit a416db3

Browse files
committed
feat: compiler demo + fixes
1 parent 40cfbdf commit a416db3

46 files changed

Lines changed: 666 additions & 42 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

compiler-plugin/src/main/kotlin/io/tolgee/transformer/AndroidTransformer.kt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -153,8 +153,9 @@ internal class AndroidTransformer(
153153
return DeclarationIrBuilder(pluginContext, this).irCall(replacement).apply {
154154
extensionReceiver = receiver
155155

156+
arguments[0] = receiver
156157
args.forEachIndexed { index, arg ->
157-
arguments[index] = arg
158+
arguments[index+1] = arg
158159
}
159160
}
160161
}

core/src/commonMain/kotlin/io/tolgee/Tolgee.kt

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ import io.tolgee.storage.TolgeeStorageProvider
2020
import kotlinx.atomicfu.atomic
2121
import kotlinx.coroutines.ExperimentalCoroutinesApi
2222
import kotlinx.coroutines.flow.Flow
23+
import kotlinx.coroutines.flow.MutableSharedFlow
2324
import kotlinx.coroutines.flow.MutableStateFlow
2425
import kotlinx.coroutines.flow.filterNotNull
2526
import kotlinx.coroutines.flow.mapLatest
@@ -97,6 +98,10 @@ open class Tolgee(
9798
MutableStateFlow(config.locale)
9899
}
99100

101+
val changeFlow by lazy {
102+
MutableSharedFlow<Unit>()
103+
}
104+
100105

101106
/**
102107
* Loads translations for a given locale or the default locale if none is specified.
@@ -117,6 +122,7 @@ open class Tolgee(
117122
currentLanguage = locale?.language?.ifBlank { null },
118123
).also {
119124
cachedTranslation.value = it
125+
changeFlow.emit(Unit)
120126
}
121127
}
122128
}

demo/android-view/src/main/kotlin/io/tolgee/demo/view/MainActivity.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,8 +26,8 @@ class MainActivity : ComponentActivity() {
2626

2727
setContentView(R.layout.activity_main)
2828

29-
val basic = findViewById<TextView>(R.id.basic_text)
3029
val name = findViewById<TextView>(R.id.app_name_text)
30+
val basic = findViewById<TextView>(R.id.basic_text)
3131
val parameter = findViewById<TextView>(R.id.parameterized_text)
3232
val plural = findViewById<TextView>(R.id.plural_text)
3333
val array = findViewById<TextView>(R.id.array_text)

demo/android-view/src/main/res/values-cs/strings.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
22
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
3-
<string name="app_name">TolgeePohled</string>
3+
<string name="app_name">TolgeeZobrazení</string>
44
<string-array name="array_test">
55
<item>První</item>
66
<item>Druhý</item>
77
<item>Třetí</item>
88
</string-array>
99
<string name="description">Základní text</string>
10-
<string name="percentage_placeholder">Parametrizovaný text</string>
10+
<string name="percentage_placeholder">Parametrizovaný text %1$s</string>
1111
<plurals name="plr_test">
1212
<item quantity="one">Množné 1</item>
1313
<item quantity="few">Množné Ostatní</item>

demo/android-view/src/main/res/values-en/strings.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
<item>Third</item>
88
</string-array>
99
<string name="description">Basic Text</string>
10-
<string name="percentage_placeholder">Parameterized Text</string>
10+
<string name="percentage_placeholder">Parameterized Text %1$s</string>
1111
<plurals name="plr_test">
1212
<item quantity="one">Plural 1</item>
1313
<item quantity="other">Plural Other</item>

demo/android-view/src/main/res/values-fr/strings.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
<item>Troisième</item>
88
</string-array>
99
<string name="description">Texte Fondamental</string>
10-
<string name="percentage_placeholder">Texte paramétré</string>
10+
<string name="percentage_placeholder">Texte paramétré %1$s</string>
1111
<plurals name="plr_test">
1212
<item quantity="one">%d seul</item>
1313
<item quantity="many">%d plusieurs</item>

demo/android-view/src/main/res/values-sv/strings.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
22
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
3-
<string name="app_name">TolgeeVy</string>
3+
<string name="app_name">TolgeeVisa</string>
44
<string-array name="array_test">
55
<item>Första</item>
66
<item>Andra</item>
77
<item>Tredje</item>
88
</string-array>
99
<string name="description">Grundläggande text</string>
10-
<string name="percentage_placeholder">Parametriserad Text</string>
10+
<string name="percentage_placeholder">Parameteriserad text %1$s</string>
1111
<plurals name="plr_test">
1212
<item quantity="one">Plural 1</item>
1313
<item quantity="other">Plural Other</item>
Lines changed: 23 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,23 @@
1-
<resources>
2-
<string name="app_name">TolgeeView</string>
3-
<string name="description">Basic Text</string>
4-
<string name="percentage_placeholder">Parameterized Text</string>
5-
6-
<plurals name="plr_test">
7-
<item quantity="one">Plural 1</item>
8-
<item quantity="other">Plural Other</item>
9-
</plurals>
10-
<plurals name="plr_test_placeholder">
11-
<item quantity="one">%2$s: %1$d test ok</item>
12-
<item quantity="other">%2$s: %1$d tests ok</item>
13-
</plurals>
14-
<plurals name="plr_test_placeholder_2">
15-
<item quantity="one">%3$s: %1$d test out of %2$d ok</item>
16-
<item quantity="other">%3$s: %1$d tests out of %2$d ok</item>
17-
</plurals>
18-
19-
<string-array name="array_test">
20-
<item>First</item>
21-
<item>Second</item>
22-
<item>Third</item>
23-
</string-array>
24-
</resources>
1+
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
2+
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
3+
<string name="app_name">TolgeeView</string>
4+
<string-array name="array_test">
5+
<item>First</item>
6+
<item>Second</item>
7+
<item>Third</item>
8+
</string-array>
9+
<string name="description">Basic Text</string>
10+
<string name="percentage_placeholder">Parameterized Text %1$s</string>
11+
<plurals name="plr_test">
12+
<item quantity="one">Plural 1</item>
13+
<item quantity="other">Plural Other</item>
14+
</plurals>
15+
<plurals name="plr_test_placeholder">
16+
<item quantity="one">%2$s: %d test ok</item>
17+
<item quantity="other">%2$s: %d tests ok</item>
18+
</plurals>
19+
<plurals name="plr_test_placeholder_2">
20+
<item quantity="one">%3$s: %d test out of %2$d ok</item>
21+
<item quantity="other">%3$s: %d tests out of %2$d ok</item>
22+
</plurals>
23+
</resources>
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
/build
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
{
2+
"$schema": "https://docs.tolgee.io/cli-schema.json",
3+
"projectId": 20161,
4+
"format": "ANDROID_XML",
5+
"push": {
6+
"filesTemplate": "./src/main/res/values-{languageTag}/strings.xml",
7+
"language": ["en", "cs", "fr", "sv"]
8+
},
9+
"pull": {
10+
"path": ".",
11+
"fileStructureTemplate": "./src/main/res/values-{languageTag}/strings.{extension}"
12+
}
13+
}

0 commit comments

Comments
 (0)