* translate: Translate en.xlf in ja_JP [Manual Sync]
64% of minimum 60% translated source file: 'en.xlf'
on 'ja_JP'.
Sync of partially translated files:
untranslated content is included with an empty translation
or source language content depending on file format
* translate: Translate django.po in ja_JP [Manual Sync]
75% of minimum 60% translated source file: 'django.po'
on 'ja_JP'.
Sync of partially translated files:
untranslated content is included with an empty translation
or source language content depending on file format
---------
Co-authored-by: transifex-integration[bot] <43880903+transifex-integration[bot]@users.noreply.github.com>
* translate: Translate en.xlf in cs_CZ [Manual Sync]
62% of minimum 60% translated source file: 'en.xlf'
on 'cs_CZ'.
Sync of partially translated files:
untranslated content is included with an empty translation
or source language content depending on file format
* translate: Translate django.po in cs_CZ [Manual Sync]
68% of minimum 60% translated source file: 'django.po'
on 'cs_CZ'.
Sync of partially translated files:
untranslated content is included with an empty translation
or source language content depending on file format
---------
Co-authored-by: transifex-integration[bot] <43880903+transifex-integration[bot]@users.noreply.github.com>
* translate: Translate en.xlf in it_IT [Manual Sync]
63% of minimum 60% translated source file: 'en.xlf'
on 'it_IT'.
Sync of partially translated files:
untranslated content is included with an empty translation
or source language content depending on file format
* translate: Translate django.po in it_IT [Manual Sync]
69% of minimum 60% translated source file: 'django.po'
on 'it_IT'.
Sync of partially translated files:
untranslated content is included with an empty translation
or source language content depending on file format
---------
Co-authored-by: transifex-integration[bot] <43880903+transifex-integration[bot]@users.noreply.github.com>
* translate: Translate en.xlf in pt_BR [Manual Sync]
70% of minimum 60% translated source file: 'en.xlf'
on 'pt_BR'.
Sync of partially translated files:
untranslated content is included with an empty translation
or source language content depending on file format
* translate: Translate django.po in pt_BR [Manual Sync]
80% of minimum 60% translated source file: 'django.po'
on 'pt_BR'.
Sync of partially translated files:
untranslated content is included with an empty translation
or source language content depending on file format
---------
Co-authored-by: transifex-integration[bot] <43880903+transifex-integration[bot]@users.noreply.github.com>
* translate: Translate en.xlf in bg_BG [Manual Sync]
88% of minimum 60% translated source file: 'en.xlf'
on 'bg_BG'.
Sync of partially translated files:
untranslated content is included with an empty translation
or source language content depending on file format
* translate: Translate django.po in bg_BG [Manual Sync]
85% of minimum 60% translated source file: 'django.po'
on 'bg_BG'.
Sync of partially translated files:
untranslated content is included with an empty translation
or source language content depending on file format
---------
Co-authored-by: transifex-integration[bot] <43880903+transifex-integration[bot]@users.noreply.github.com>
* translate: Translate en.xlf in de_DE [Manual Sync]
66% of minimum 60% translated source file: 'en.xlf'
on 'de_DE'.
Sync of partially translated files:
untranslated content is included with an empty translation
or source language content depending on file format
* translate: Translate django.po in de_DE [Manual Sync]
85% of minimum 60% translated source file: 'django.po'
on 'de_DE'.
Sync of partially translated files:
untranslated content is included with an empty translation
or source language content depending on file format
---------
Co-authored-by: transifex-integration[bot] <43880903+transifex-integration[bot]@users.noreply.github.com>
* translate: Translate en.xlf in bn_BD [Manual Sync]
96% of minimum 60% translated source file: 'en.xlf'
on 'bn_BD'.
Sync of partially translated files:
untranslated content is included with an empty translation
or source language content depending on file format
* translate: Translate django.po in bn_BD [Manual Sync]
96% of minimum 60% translated source file: 'django.po'
on 'bn_BD'.
Sync of partially translated files:
untranslated content is included with an empty translation
or source language content depending on file format
---------
Co-authored-by: transifex-integration[bot] <43880903+transifex-integration[bot]@users.noreply.github.com>
* translate: Translate en.xlf in hr_HR [Manual Sync]
95% of minimum 60% translated source file: 'en.xlf'
on 'hr_HR'.
Sync of partially translated files:
untranslated content is included with an empty translation
or source language content depending on file format
* translate: Translate django.po in hr_HR [Manual Sync]
95% of minimum 60% translated source file: 'django.po'
on 'hr_HR'.
Sync of partially translated files:
untranslated content is included with an empty translation
or source language content depending on file format
---------
Co-authored-by: transifex-integration[bot] <43880903+transifex-integration[bot]@users.noreply.github.com>
* translate: Translate en.xlf in fi_FI [Manual Sync]
65% of minimum 60% translated source file: 'en.xlf'
on 'fi_FI'.
Sync of partially translated files:
untranslated content is included with an empty translation
or source language content depending on file format
* translate: Translate django.po in fi_FI [Manual Sync]
78% of minimum 60% translated source file: 'django.po'
on 'fi_FI'.
Sync of partially translated files:
untranslated content is included with an empty translation
or source language content depending on file format
---------
Co-authored-by: transifex-integration[bot] <43880903+transifex-integration[bot]@users.noreply.github.com>
* translate: Translate en.xlf in fr_FR [Manual Sync]
91% of minimum 60% translated source file: 'en.xlf'
on 'fr_FR'.
Sync of partially translated files:
untranslated content is included with an empty translation
or source language content depending on file format
* translate: Translate django.po in fr_FR [Manual Sync]
88% of minimum 60% translated source file: 'django.po'
on 'fr_FR'.
Sync of partially translated files:
untranslated content is included with an empty translation
or source language content depending on file format
---------
Co-authored-by: transifex-integration[bot] <43880903+transifex-integration[bot]@users.noreply.github.com>
* translate: Translate en.xlf in no_NO [Manual Sync]
91% of minimum 60% translated source file: 'en.xlf'
on 'no_NO'.
Sync of partially translated files:
untranslated content is included with an empty translation
or source language content depending on file format
* translate: Translate django.po in no_NO [Manual Sync]
88% of minimum 60% translated source file: 'django.po'
on 'no_NO'.
Sync of partially translated files:
untranslated content is included with an empty translation
or source language content depending on file format
---------
Co-authored-by: transifex-integration[bot] <43880903+transifex-integration[bot]@users.noreply.github.com>
translate: Translate en.xlf in cy_GB [Manual Sync]
88% of minimum 60% translated source file: 'en.xlf'
on 'cy_GB'.
Sync of partially translated files:
untranslated content is included with an empty translation
or source language content depending on file format
Co-authored-by: transifex-integration[bot] <43880903+transifex-integration[bot]@users.noreply.github.com>
* translate: Translate en.xlf in sk_SK [Manual Sync]
95% of minimum 60% translated source file: 'en.xlf'
on 'sk_SK'.
Sync of partially translated files:
untranslated content is included with an empty translation
or source language content depending on file format
* translate: Translate django.po in sk_SK [Manual Sync]
95% of minimum 60% translated source file: 'django.po'
on 'sk_SK'.
Sync of partially translated files:
untranslated content is included with an empty translation
or source language content depending on file format
---------
Co-authored-by: transifex-integration[bot] <43880903+transifex-integration[bot]@users.noreply.github.com>
translate: Translate en.xlf in pl_PL [Manual Sync]
63% of minimum 60% translated source file: 'en.xlf'
on 'pl_PL'.
Sync of partially translated files:
untranslated content is included with an empty translation
or source language content depending on file format
Co-authored-by: transifex-integration[bot] <43880903+transifex-integration[bot]@users.noreply.github.com>
* translate: Translate en.xlf in ar_AA [Manual Sync]
93% of minimum 60% translated source file: 'en.xlf'
on 'ar_AA'.
Sync of partially translated files:
untranslated content is included with an empty translation
or source language content depending on file format
* translate: Translate django.po in ar_AA [Manual Sync]
88% of minimum 60% translated source file: 'django.po'
on 'ar_AA'.
Sync of partially translated files:
untranslated content is included with an empty translation
or source language content depending on file format
---------
Co-authored-by: transifex-integration[bot] <43880903+transifex-integration[bot]@users.noreply.github.com>
* translate: Translate en.xlf in zh-Hans [Manual Sync]
76% of minimum 60% translated source file: 'en.xlf'
on 'zh-Hans'.
Sync of partially translated files:
untranslated content is included with an empty translation
or source language content depending on file format
* translate: Translate django.po in zh-Hans [Manual Sync]
82% of minimum 60% translated source file: 'django.po'
on 'zh-Hans'.
Sync of partially translated files:
untranslated content is included with an empty translation
or source language content depending on file format
---------
Co-authored-by: transifex-integration[bot] <43880903+transifex-integration[bot]@users.noreply.github.com>
* web/xliff: remove legacy Transifex-named locale files
The old Transifex config named locale files with underscores
(cs_CZ.xlf, pt_BR.xlf, ...) alongside the hyphenated BCP-47 form the
current lit-localize pipeline actually reads. That config was fixed
months ago, so the underscore files are either stale duplicates of a
current kebab-case sibling or orphaned contributions for locales the
project never enabled.
Deleted 11 legacy files that already have a kebab-case equivalent in
web/xliff/. Kebab wins even where the two diverged, so 2,220 legacy-only
<trans-unit> targets get dropped along the way (fr_FR carried the bulk
at 954; the rest of the languages contribute the remaining 1,266).
Renamed 3 legacy files with no kebab counterpart and added their locale
codes to web/lit-localize.json targetLocales:
- ar_AA.xlf -> ar.xlf (AA was a bogus private-use region; landed on
the plain language code).
- bg_BG.xlf -> bg-BG.xlf.
- no_NO.xlf -> nb-NO.xlf (no is the Norwegian macrolanguage; the
translation is Bokmal, so nb is the correct language subtag).
Each renamed file also has its internal target-language attribute
updated to match its new locale code, so lit-localize keeps
recognising the existing translations instead of treating everything
as absent.
Wired the new locales into LocaleLoaderRecord in
web/src/common/ui/locale/definitions.ts so the runtime can import the
emitted modules; lit-localize regenerates web/src/locale-codes.ts to
match. locale/ (Django gettext) stays exactly as it was.
Verified with: cd web && npm run build-locales && npm run precommit.
Co-Authored-By: Agent (authentik-m-remove-legacy-intended-nominal-mahogany) <279763771+playpen-agent@users.noreply.github.com>
* locale: sync Django language codes to lit-localize (ar_AA to ar, no_NO to nb_NO)
Mirror the two locale-code changes just landed on the web/xliff side
into the Django gettext tree, in Django's ll_CC underscore form:
- locale/ar_AA -> locale/ar (drop the bogus AA private-use region;
matches web ar).
- locale/no_NO -> locale/nb_NO (Norwegian macrolanguage to Bokmal,
which is the writing system the contributed translation uses;
matches web nb-NO).
bg_BG is left alone (already equals the underscore form of the web
bg-BG), and every other Django locale directory - including zh-Hans
and zh-Hant - stays exactly as it was.
Both catalogs also had their in-file Language header updated to match
the new directory (Language: ar_AA -> ar, Language: no_NO -> nb_NO)
and the .mo binaries were recompiled via manage.py compilemessages so
runtime lookups get the correct language metadata.
No functional LANGUAGES / LANGUAGE_CODE settings referenced the old
codes: only historical Transifex team URLs in the .po Language-Team
headers and past release-notes lines mention them, and those are
metadata / audit trail rather than config.
Verified: to_locale('nb-no') -> 'nb_NO', to_locale('ar') -> 'ar', and
gettext.translation loads locale/ar/LC_MESSAGES/django.mo (1,122
entries, language=ar) and locale/nb_NO/LC_MESSAGES/django.mo (1,116
entries, language=nb_NO).
Co-Authored-By: Agent (authentik-m-remove-legacy-intended-nominal-mahogany) <279763771+playpen-agent@users.noreply.github.com>
---------
Co-authored-by: Agent (authentik-m-remove-legacy-intended-nominal-mahogany) <279763771+playpen-agent@users.noreply.github.com>