Skip to content

Commit 418861d

Browse files
jamesarichCopilot
andauthored
fix(docs): use locale subdirectory inside files/ instead of qualifier (#5494)
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
1 parent 3121ea0 commit 418861d

2 files changed

Lines changed: 6 additions & 6 deletions

File tree

feature/docs/build.gradle.kts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -112,7 +112,7 @@ val syncTranslatedDocsToComposeResources by
112112
group = "docs"
113113

114114
val docsDir = rootProject.layout.projectDirectory.dir("docs")
115-
val targetBase = layout.projectDirectory.dir("src/commonMain/composeResources")
115+
val targetBase = layout.projectDirectory.dir("src/commonMain/composeResources/files")
116116

117117
from(docsDir) {
118118
// Crowdin outputs dirs in Android qualifier format (fr, pt-rBR, zh-rCN)
@@ -126,14 +126,14 @@ val syncTranslatedDocsToComposeResources by
126126

127127
into(targetBase)
128128

129-
// Crowdin %android_code% already outputs CMP qualifier format (pt-rBR),
130-
// so we just need to prepend "files-" and nest under docs/
129+
// Crowdin %android_code% already outputs CMP qualifier format (pt-rBR).
130+
// Locale goes as a subdirectory *inside* files/ (CMP doesn't support qualifiers on files/).
131131
eachFile {
132132
val segments = relativePath.segments
133133
if (segments.size >= 3) {
134134
val qualifier = segments[0]
135135
val rest = segments.drop(1).joinToString("/")
136-
path = "files-$qualifier/docs/$rest"
136+
path = "$qualifier/docs/$rest"
137137
}
138138
}
139139
includeEmptyDirs = false

feature/docs/src/commonMain/kotlin/org/meshtastic/feature/docs/data/DocBundleLoader.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -142,7 +142,7 @@ class DefaultDocBundleLoader : DocBundleLoader {
142142
// Try qualifiers in specificity order (mirrors Android resource resolution):
143143
// "pt-rBR" → "pt" → give up
144144
for (qualifier in localeQualifiers(locale)) {
145-
val localePath = "files-$qualifier/docs/$section/${page.id}.md"
145+
val localePath = "files/$qualifier/docs/$section/${page.id}.md"
146146
try {
147147
val bytes = Res.readBytes(localePath)
148148
return stripFrontmatter(bytes.decodeToString())
@@ -162,7 +162,7 @@ class DefaultDocBundleLoader : DocBundleLoader {
162162
DocSection.DeveloperGuide -> "developer"
163163
}
164164
return localeQualifiers(locale).any { qualifier ->
165-
val localePath = "files-$qualifier/docs/$section/${page.id}.md"
165+
val localePath = "files/$qualifier/docs/$section/${page.id}.md"
166166
try {
167167
Res.readBytes(localePath)
168168
true

0 commit comments

Comments
 (0)