You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Update:sillsdev/FwLocalizations#7 ("Fix semantic domain punctuation and spaces", merged) made a further 22 punctuation/whitespace fixes to lists/LocalizableLists.xml after PR #5. Trigger this upload only once both PR #5 and PR #7 are on whichever branch Crowdin reads (see the branch-mismatch watch-out below) — otherwise the upload runs twice for what should be one batch of source-string changes.
Filed on TheCombine because both sillsdev/FieldWorks and sillsdev/FwLocalizations have GitHub issues disabled; the actual work happens in FieldWorks.
Task: Trigger the Crowdin upload so the trimmed English source strings in lists/LocalizableLists.xml reach the Crowdin project.
How the updated descriptions reach Crowdin (via overcrowdin)
FieldWorks owns the Crowdin config and the upload target; FwLocalizations just supplies lists/LocalizableLists.xml.
Target uploadUpdatesForTranslation (Localize.targets:73) is the whole route: it converts LocalizableLists.xml → .xlf via the ListsToXliff build task (producing SemanticDomains.xlf), then runs overcrowdin updatefiles -v (Localize.targets:91).
What gets uploaded — sillsdev/FieldWorks → crowdin.json: the glob Localizations/lists/*.xlf (includes SemanticDomains.xlf), plus strings-en.xml, messages.pot, Src/**/*.resx, and LCM resx. Crowdin project = fieldworks, key from CROWDIN_API_KEY.
overcrowdin (sillsdev/overcrowdin) is a .NET global tool (commands add / update / updatefiles / download) over the Crowdin REST API, driven by a crowdin.json in the working directory.
What triggers it: No GitHub Actions workflow runs the upload — the only references to uploadUpdatesForTranslation / overcrowdin updatefiles are in Build/Localize.targets. The FieldWorks workflows that do use overcrowdin (base-installer-cd.yml, patch-installer-cd.yml, weekly cron) only do the download side (overcrowdin download inside build.ps1 -BuildInstaller → localize) to bundle translations into installers. So the upload is run either manually by a maintainer (build /t:uploadUpdatesForTranslation, per FwLocalizations ReadMe.md lines 30-36) or from a TeamCity job on build.palaso.org (SIL's CI; FieldWorks uses TeamCity — cf. Build/Src/FwBuildTasks/DownloadFilesFromTeamCity.cs). TeamCity build configs aren't in the GitHub repos, so the exact automated trigger isn't visible from GitHub.
Watch-out — branch mismatch. Upload (FieldWorks crowdin.json) targets Crowdin branch "latest", but FwLocalizations' own .github/workflows/fetch-crowdin.yml downloads from branch "FieldWorks-9.0". Confirm the PRs' strings land on the branch your consumers read.
Follow-up from sillsdev/FwLocalizations#5 ("Trim semantic domain descriptions") — see the task-list comment.
Update: sillsdev/FwLocalizations#7 ("Fix semantic domain punctuation and spaces", merged) made a further 22 punctuation/whitespace fixes to
lists/LocalizableLists.xmlafter PR #5. Trigger this upload only once both PR #5 and PR #7 are on whichever branch Crowdin reads (see the branch-mismatch watch-out below) — otherwise the upload runs twice for what should be one batch of source-string changes.Filed on TheCombine because both sillsdev/FieldWorks and sillsdev/FwLocalizations have GitHub issues disabled; the actual work happens in FieldWorks.
Task: Trigger the Crowdin upload so the trimmed English source strings in
lists/LocalizableLists.xmlreach the Crowdin project.How the updated descriptions reach Crowdin (via
overcrowdin)FieldWorks owns the Crowdin config and the upload target; FwLocalizations just supplies
lists/LocalizableLists.xml.Instructions for uploading FieldWorks strings for localization
Orchestrator:
sillsdev/FieldWorks → Build/Localize.targetsuploadUpdatesForTranslation(Localize.targets:73) is the whole route: it convertsLocalizableLists.xml→.xlfvia theListsToXliffbuild task (producingSemanticDomains.xlf), then runsovercrowdin updatefiles -v(Localize.targets:91).ListsDirectory=$(fwrt)/Localizations/lists(Localize.targets:36) — i.e. the FwLocalizationslists/folder, checked out asfw/Localizations. So the file Trim semantic domain descriptions FwLocalizations#5 and Goal selector #7 changed is the upload source.What gets uploaded —
sillsdev/FieldWorks → crowdin.json: the globLocalizations/lists/*.xlf(includesSemanticDomains.xlf), plusstrings-en.xml,messages.pot,Src/**/*.resx, and LCM resx. Crowdin project =fieldworks, key fromCROWDIN_API_KEY.overcrowdin (sillsdev/overcrowdin) is a .NET global tool (commands
add/update/updatefiles/download) over the Crowdin REST API, driven by acrowdin.jsonin the working directory.What triggers it: No GitHub Actions workflow runs the upload — the only references to
uploadUpdatesForTranslation/overcrowdin updatefilesare inBuild/Localize.targets. The FieldWorks workflows that do use overcrowdin (base-installer-cd.yml,patch-installer-cd.yml, weekly cron) only do the download side (overcrowdin downloadinsidebuild.ps1 -BuildInstaller→localize) to bundle translations into installers. So the upload is run either manually by a maintainer (build /t:uploadUpdatesForTranslation, per FwLocalizations ReadMe.md lines 30-36) or from a TeamCity job on build.palaso.org (SIL's CI; FieldWorks uses TeamCity — cf.Build/Src/FwBuildTasks/DownloadFilesFromTeamCity.cs). TeamCity build configs aren't in the GitHub repos, so the exact automated trigger isn't visible from GitHub.Watch-out — branch mismatch. Upload (FieldWorks
crowdin.json) targets Crowdin branch"latest", but FwLocalizations' own.github/workflows/fetch-crowdin.ymldownloads from branch"FieldWorks-9.0". Confirm the PRs' strings land on the branch your consumers read.