Repository navigation
feat: add built-in Arabic localization - #14389
ezAldinWaez wants to merge 2 commits into
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
| section-title-references: "المراجع" | ||
| section-title-reuse: "إعادة الاستخدام" | ||
| section-title-copyright: "حقوق النشر" | ||
| section-title-citation: "الاستشهاد" |
There was a problem hiding this comment.
"التنويه" might be a more accurate term for this
There was a problem hiding this comment.
Thank you. Adding the suggestion below directly for @ezAldinWaez to take into account
| section-title-citation: "الاستشهاد" | |
| section-title-citation: "التنويه" |

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