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

251 Strings
58%
4,620 Words
50%
29,064 Characters
52%

Other components

Component Translated Unfinished Unfinished words Unfinished characters Untranslated Checks Suggestions Comments
Chrome AGPL-3.0-or-later 89% 7 78 461 6 0 0 0
Content AGPL-3.0-only 85% 6 466 2,332 5 6 0 0
Editor AGPL-3.0-only 91% 6 66 343 6 1 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 Add <chart type="pie"> (#1891) 3073c507
User avatar dqnykamp authored 09/08/2026
Last commit in Weblate chore(l10n): update Zaza translation 5f7cb1af
Anonymous authored 08/30/2026
Weblate repository https://hosted.weblate.org/git/doenetml/chrome/
File mask packages/i18n/locales/*/diagnostics.ftl
Monolingual base language file packages/i18n/locales/en/diagnostics.ftl
Translation file Download packages/i18n/locales/ve/diagnostics.ftl
Last change Sept. 9, 2026, 6:01 a.m.
Last change made by GitHub webhook
Language Venda
Language code ve
Text direction Left to right
Case sensitivity Case-sensitive
Number of speakers 1,499,942
Number of plurals 2
Plural type One/other
Plurals Singular 1
Plural 0, 2, 3, 4, 5, 6, 7, 8, 9, 10, …
Plural formula n != 1
09/09/2026

String statistics

Strings percent Hosted strings Words percent Hosted words Characters percent Hosted characters
Total 251 4,620 29,064
Translated 86% 216 74% 3,422 76% 22,205
Needs editing 0% 0 0% 0 0% 0
Read-only 0% 0 0% 0 0% 0
Failing checks 27% 68 23% 1,086 23% 6,937
Strings with suggestions 0% 0 0% 0 0% 0
Untranslated strings 13% 35 25% 1,198 23% 6,859

Quick numbers

4,620
Hosted words
251
Hosted strings
86%
Translated
and previous 30 days

Trends of last 30 days

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

Resource updated

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

String added in the repository

 
09/09/2026
User avatar webhook:github

String added in the repository

 
09/09/2026
User avatar webhook:github

String added in the repository

 
09/09/2026
User avatar webhook:github

String added in the repository

 
09/09/2026
User avatar webhook:github

String added in the repository

 
09/09/2026
User avatar webhook:github

Resource updated

The “packages/i18n/locales/en/diagnostics.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/diagnostics.ftl” file was changed. 09/08/2026
User avatar webhook:github

String added in the repository

 
09/08/2026
Browse all translation changes