Repository navigation
feat: add built-in Arabic localization - #14389
Conversation
There was a problem hiding this comment.
Pull request overview
Adds built-in Arabic (ar) localization resources to Quarto’s bundled language pack, and documents Arabic as a supported built-in translation.
Changes:
- Added
src/resources/language/_language-ar.ymlwith Arabic translations for the default language keys. - Updated
src/resources/language/README.mdto include Arabic in the built-in translations table.
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 3 comments.
| File | Description |
|---|---|
| src/resources/language/_language-ar.yml | Introduces Arabic translations for Quarto UI/crossref strings. |
| src/resources/language/README.md | Documents Arabic as a built-in localization option. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
honestly i did use some LLM help, but I did manually review every value in its context. e.g: in Arabic, both 'الملاحق' and 'الملحقات' are acceptable translations for 'Appendices' (section-title-appendices), but 'الملاحق' is the most used in the academic context. for the Korean change i'm not sure if it belongs here. happy to drop it if that’s cleaner. |
|
Yes, please either drop the Korean change or move it to a separate request. For localization changes we try to get at least one independent review before merging. I'll get back to you on this. |
cb70332 to
2a6e362
Compare
✅ Snyk checks have passed. No issues have been found so far.
💻 Catch issues earlier using the plugins for VS Code, JetBrains IDEs, Visual Studio, and Eclipse. |
There was a problem hiding this comment.
Thanks for the PR.
_language-ar.yml is missing 8 keys that exist in the base _language.yml on main. They were added recently, after the file was written, so they need an Arabic translation added to _language-ar.yml.
skip-to-contentnavigation-site-labelnavigation-section-labelnavigation-toolbar-labelnavigation-page-labelnavigation-breadcrumbs-labelscrollable-code-labelscrollable-output-label
Could you add them ? For the five navigation-*-label ones, the translator rules are in the comment right above them in the base file, mainly that the value should not contain the word for "navigation" because screen readers already announce the landmark role.
quarto-cli/src/resources/language/_language.yml
Lines 87 to 97 in d58acfe
I also have one question on a value. I don't speak Arabic, so I used AI tooling (Lara MCP) to help me review the file. We do that to be sure everything is fine. So I want to be upfront about that.
Everything else looked consistent to it, but it raised crossref-lem-title ("التوطئة"). It reads it back as "Preamble", while a direct translation of "Lemma" gave something closer to "sub-theorem" (مبرهنة فرعية). Is "التوطئة" the term usually used for a lemma in Arabic math writing ? It also noted that environment-remark-title ("الملاحظة") is the same word as callout-note-title ("ملاحظة"), so Remark and Note end up with the same label. That may well be fine, I just can't judge it.
These are questions only, not requests to change anything. I will ask a native speaker to do a final review of the translations before we merge.
Reviewing means verifying translatation makes sense with there English counterpart in https://github.com/quarto-dev/quarto-cli/blob/main/src/resources/language/_language.yml
…alization # Conflicts: # src/resources/language/README.md
The language parity test fails on any key missing from a language file, and 11 keys were added to _language.yml after this file was written. Their values are machine translations made with each key's translator note as context, then checked by two independent AI reviewers that agreed on every value: the same process as the other languages in quarto-dev#14822. Native-speaker review is requested on the PR. Also adds the changelog entry.
|
Thanks for your patience on this one. I updated the branch with main and added the 11 keys that were added to These 11 values are AI-generated: a machine translation using the translator notes in
For my earlier questions, "التوطئة" is the term Arabic Wikipedia uses for named lemmas (Euclid's lemma, Borel–Cantelli lemma), and many of the other languages also use the same word for Remark and Note, so I kept the values as they are. If anything needs a change after this, in these values or others like |
Suggested by a native speaker in the review of this PR. The section heads "For attribution, please cite this work as:", which this word (attribution) fits. Co-authored-by: omar-rs <55405342+omar-rs@users.noreply.github.com>

Description
This PR adds the built-in Arabic (ar) localization file following the BCP 47 IETF language tag standard.
Changes:
src/resources/language/_language-ar.ymlduplicating all keys from the_language.ymldefault._language-ar.ymldirectly to the supported language table insrc/resources/language/README.md.Testing
.qmdsample file withlang: arto ensure the correct application of key translations across callouts, categories, and cross-references.Checklist