Skip to content

Commit b686ad5

Browse files
committed
fix(resource-mover-cli): remove xliff tags when migrating string resource to compose resource
1 parent 245e12e commit b686ad5

File tree

1 file changed

+10
-2
lines changed

1 file changed

+10
-2
lines changed

cli/resource-mover-cli/src/main/kotlin/net/thunderbird/cli/resource/mover/StringResourceMover.kt

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -48,12 +48,20 @@ class StringResourceMover {
4848
println("\nFound key in file: ${sourceFile.path}\n")
4949

5050
val targetFile = getOrCreateTargetFile(targetPath, sourceFile, isTargetComposeResources)
51-
val keyDeclaration = extractKeyDeclaration(sourceFile, key)
51+
val originalKeyDeclaration = extractKeyDeclaration(sourceFile, key)
52+
val keyDeclaration = originalKeyDeclaration.let { keyDeclaration ->
53+
if (isTargetComposeResources && keyDeclaration.contains("<xliff:g id")) {
54+
val regex = """(<xliff:g\s+id="[^"]+">)(.*?)(</xliff:g>)""".toRegex()
55+
keyDeclaration.replace(regex, "$2")
56+
} else {
57+
keyDeclaration
58+
}
59+
}
5260

5361
println(" Key declaration: $keyDeclaration")
5462

5563
copyKeyToTarget(targetFile, keyDeclaration, key)
56-
deleteKeyFromSource(sourceFile, keyDeclaration)
64+
deleteKeyFromSource(sourceFile, originalKeyDeclaration)
5765

5866
if (isSourceFileEmpty(sourceFile)) {
5967
println(" Source file is empty: ${sourceFile.path} -> deleting it.")

0 commit comments

Comments
 (0)