diff --git a/feature/docs/build.gradle.kts b/feature/docs/build.gradle.kts index 58406478f..1f1a72b72 100644 --- a/feature/docs/build.gradle.kts +++ b/feature/docs/build.gradle.kts @@ -112,7 +112,7 @@ val syncTranslatedDocsToComposeResources by group = "docs" val docsDir = rootProject.layout.projectDirectory.dir("docs") - val targetBase = layout.projectDirectory.dir("src/commonMain/composeResources") + val targetBase = layout.projectDirectory.dir("src/commonMain/composeResources/files") from(docsDir) { // Crowdin outputs dirs in Android qualifier format (fr, pt-rBR, zh-rCN) @@ -126,14 +126,14 @@ val syncTranslatedDocsToComposeResources by into(targetBase) - // Crowdin %android_code% already outputs CMP qualifier format (pt-rBR), - // so we just need to prepend "files-" and nest under docs/ + // Crowdin %android_code% already outputs CMP qualifier format (pt-rBR). + // Locale goes as a subdirectory *inside* files/ (CMP doesn't support qualifiers on files/). eachFile { val segments = relativePath.segments if (segments.size >= 3) { val qualifier = segments[0] val rest = segments.drop(1).joinToString("/") - path = "files-$qualifier/docs/$rest" + path = "$qualifier/docs/$rest" } } includeEmptyDirs = false diff --git a/feature/docs/src/commonMain/kotlin/org/meshtastic/feature/docs/data/DocBundleLoader.kt b/feature/docs/src/commonMain/kotlin/org/meshtastic/feature/docs/data/DocBundleLoader.kt index baeb10af1..20af93b8c 100644 --- a/feature/docs/src/commonMain/kotlin/org/meshtastic/feature/docs/data/DocBundleLoader.kt +++ b/feature/docs/src/commonMain/kotlin/org/meshtastic/feature/docs/data/DocBundleLoader.kt @@ -142,7 +142,7 @@ class DefaultDocBundleLoader : DocBundleLoader { // Try qualifiers in specificity order (mirrors Android resource resolution): // "pt-rBR" → "pt" → give up for (qualifier in localeQualifiers(locale)) { - val localePath = "files-$qualifier/docs/$section/${page.id}.md" + val localePath = "files/$qualifier/docs/$section/${page.id}.md" try { val bytes = Res.readBytes(localePath) return stripFrontmatter(bytes.decodeToString()) @@ -162,7 +162,7 @@ class DefaultDocBundleLoader : DocBundleLoader { DocSection.DeveloperGuide -> "developer" } return localeQualifiers(locale).any { qualifier -> - val localePath = "files-$qualifier/docs/$section/${page.id}.md" + val localePath = "files/$qualifier/docs/$section/${page.id}.md" try { Res.readBytes(localePath) true