The translation is temporarily closed for contributions due to maintenance, please come back later.
The translation was automatically locked due to the following alert:

Translation status

44 Strings
75%
989 Words
44%
5,291 Characters
47%

Other components

Component Translated Unfinished Unfinished words Unfinished characters Untranslated Checks Suggestions Comments
Chrome AGPL-3.0-or-later 89% 7 78 461 6 2 0 0
Diagnostics AGPL-3.0-only 82% 45 1,423 8,069 45 73 0 0
Editor AGPL-3.0-only 91% 6 66 343 6 3 0 0

Summary

Project website doenet.org
Instructions for translators

Welcome

Thanks for helping translate DoenetML, an open-source platform for interactive educational content.

Every non-English string here is currently an unreviewed machine translation. None has been checked by a fluent speaker. You don't need permission or coordination to fix one — if it's wrong, just correct it.

What you're translating

Strings are split into four files (components in Weblate) per locale:

  • chrome — viewer UI: buttons, labels, feedback headers

  • content — worker-generated document prose

  • diagnostics — warnings and error messages authors see while editing

  • editor — editor and language-server UI

    English (en) is the source of truth. New keys always originate there — never add a key that doesn't already exist in English.

Placeholders and variables

Many strings contain Fluent variables like { $name } or { $count }. Keep these exactly as they appear — same name, same $ prefix, same braces — just move them to wherever they naturally fall in your language's word order. Weblate's placeholder checks will flag it if one goes missing or gets mistyped.

Some strings use Fluent's plural selectors ({ $count -> [one] ... *[other] ... }). Translate each branch; add or drop branches as your language's plural rules require (Weblate shows you the right branch set for your locale automatically).

Terms and attributes

Strings occasionally reference attributes on another message. Leave term/attribute names untouched — only translate the text they resolve to, in that term's own message.

Diagnostic codes

Diagnostic messages are tied to stable codes shown alongside the text (e.g. doenet-e0002). Translate the message text; never alter the code itself.

What not to translate

  • Do not translate or touch the en-XA / en-XB pseudo-locales — these are synthetic QA locales used to catch layout and hardcoded-string bugs, not real languages.
  • Leave any string you're unsure about in English rather than guessing — an English fallback is always safe; a wrong translation isn't.

Review and merge

Weblate commits translations to a weblate branch and opens a pull request against main in the normal GitHub flow, so your changes go through the same CI checks (syntax, placeholder parity) as any other contribution before they ship.

Questions? Open a discussion on the DoenetML GitHub repo or ask in our community discussions.

Project maintainers1 User avatar dqnykamp
Translation license GNU Affero General Public License v3.0 only
Translation process
  • Translations can be made directly.
  • Translation suggestions can be made.
  • Any authenticated user can contribute.
  • The translation uses monolingual files.
  • The translation base language can not be edited.

Reviews are disabled for this language. Review setting: Project settings.

All translation states, including those needing editing, are eligible to be written to the translation file.

Learn how to customize the workflow for this language.

Source code repository https://github.com/Doenet/DoenetML.git
Repository branch main
Last remote commit Report the answers on a section-wide check work whose weights are all zero (#1803) b4334a58
User avatar dqnykamp authored 09/15/2026
Last commit in Weblate chore(l10n): update Zaza translation 52be03cd
Anonymous authored 08/30/2026
Weblate repository https://hosted.weblate.org/git/doenetml/chrome/
File mask packages/i18n/locales/*/content.ftl
Monolingual base language file packages/i18n/locales/en/content.ftl
Translation file Download packages/i18n/locales/bm/content.ftl
Last change Sept. 13, 2026, 10:06 p.m.
Last change made by GitHub webhook
Language Bambara
Language code bm
Text direction Left to right
Case sensitivity Case-insensitive
Number of speakers 10,115,676
Number of plurals 1
Plural type None
Plurals
Plural formula 0
09/14/2026

String statistics

Strings percent Hosted strings Words percent Hosted words Characters percent Hosted characters
Total 44 989 5,291
Translated 79% 35 49% 486 52% 2,779
Needs editing 2% 1 6% 63 7% 379
Read-only 0% 0 0% 0 0% 0
Failing checks 6% 3 10% 107 12% 668
Strings with suggestions 0% 0 0% 0 0% 0
Untranslated strings 18% 8 44% 440 40% 2,133

Quick numbers

989
Hosted words
44
Hosted strings
79%
Translated
and previous 30 days

Trends of last 30 days

+100%
Hosted words
+100%
Hosted strings
+79%
Translated
Contributors
User avatar webhook:github

Resource updated

The “packages/i18n/locales/en/content.ftl” file was changed. 09/13/2026
User avatar webhook:github

String added in the repository

 
09/13/2026
User avatar webhook:github

Resource updated

The “packages/i18n/locales/en/content.ftl” file was changed. 09/12/2026
User avatar webhook:github

String added in the repository

 
09/12/2026
User avatar webhook:github

String added in the repository

 
09/12/2026
User avatar webhook:github

Resource updated

The “packages/i18n/locales/en/content.ftl” file was changed. 09/08/2026
User avatar webhook:github

String added in the repository

 
09/08/2026
User avatar webhook:github

Resource updated

The “packages/i18n/locales/en/content.ftl” file was changed. 08/29/2026
User avatar webhook:github

String added in the repository

 
08/29/2026
User avatar webhook:github

String added in the repository

 
08/29/2026
Browse all translation changes