Translate a YAML File into Arabic
Upload your YAML locale file and Manuce translates the values into Arabic, returning the same file with the root key set to <code>ar:</code> and keys, variables and indentation untouched. Plural blocks are adapted to Arabic’s six categories, and a report lists what was translated and what was left as is.
What it costs
For a YAML file with about 2,000 words of values, into Arabic:
To understand, internal use.
Ready to send, by the technical specialist.
Cross-checked. For documents that commit you.
Price for one language, original layout included. VAT not applicable — article 293 B of the French General Tax Code (CGI). The exact quote, based on your file's word count, is shown before you pay.
What Arabic changes in a YAML locale file
The file structure stays the same; only the values become Arabic. Three things deserve attention.
- Six plural forms. English needs only
oneandother; Arabic useszero,one,two,few(3 to 10),many(11 to 99) andother. A block such asitems: { one: "%{count} item", other: "%{count} items" }becomes, for example,zero: "لا توجد عناصر",one: "عنصر واحد",two: "عنصران",few: "%{count} عناصر",many: "%{count} عنصرًا",other: "%{count} عنصر". The noun itself changes shape with the number. - Right-to-left text. Strings are stored in logical order. When a value mixes Arabic with a Latin placeholder, as in
"مرحبًا %{name}", your editor may show the placeholder in what looks like the wrong place. That is a display effect, not a fault: do not move it by hand. - Arabic punctuation. The Arabic comma
،, semicolon؛and question mark؟replace their Latin counterparts in translated text.
What you get back from Manuce
You receive the same file, in the same format, ready to drop into your project as ar.yml or whatever name your framework expects.
- The root language key is handled for Rails, Symfony, Hugo and i18n-js:
en:becomesar:. - Indentation, key order, quotes, comments, line endings, encoding and BOM are preserved. Anchors (
&defaults,*defaults) and|and>blocks stay in place. - Placeholders
%{name}and{name}are checked: every translated value is compared with its source, placeholders and tags included. If a mismatch persists, the source value is kept and the report says so. - Left untranslated: keys, empty values, URLs, email addresses, numbers, colours such as
#1A73E8, date formats such as%d/%m/%Y, identifiers and anything marked as non-translatable.
The accompanying report lists the strings translated and those left unchanged, with the reason.
What Manuce does not do: it does not touch your application’s layout. Right-to-left rendering (dir="rtl", mirrored margins, directional icons) is handled in your code. Nor does it choose between Western digits and Eastern Arabic digits (٣ instead of 3): numbers are not translated, and how they display depends on your app’s locale formatting.
Arabic plurals: make sure your stack reads them
A file containing six forms is of little use if your i18n library only reads two. Before shipping, confirm that your stack applies the Arabic plural rules.
- Rails: the default backend only knows
oneandother; Arabic rules are added through a pluralisation module, commonly via therails-i18ngem. - Hugo relies on CLDR categories, so the keys
zerotootherare expected as they are. - Symfony and i18n-js: check the plural syntax used in your strings and the rule registered for
ar.
Then render one label with the values 0, 1, 2, 5, 15 and 100. Each should show a different form; it is the quickest way to spot a missing one.
Preparing the file before upload
- Save it as UTF-8. Manuce keeps the original encoding, and a Latin-1 file cannot hold Arabic letters. Convert it first.
- Mark what must not change. Product names and technical values should be marked as non-translatable. For a term you want kept verbatim, check the free sample and then the delivered translation.
- Consider register and gender. Arabic interfaces are usually written in Modern Standard Arabic rather than dialect. Verbs and adjectives also agree in gender, so a string like
"Welcome back"addresses either a man or a woman. If your values assume one, judge the result on the sample. - Avoid sentences built from fragments. A phrase assembled from several keys (
"%{a} " + t("and") + " %{b}") translates poorly into a language with different word order. A single value with placeholders works better.
Arabic carries a ×1.6 coefficient on the per-word rate, counted on the words in values only, with keys and tags excluded.
Checking the translated file
- Read the report: a value kept in the source language often points to a misplaced placeholder in the original.
- Load the file into your application and view a few screens with the
arlocale active. - Check values mixing Arabic and Latin elements (
%{count}, brand names, codes) in the interface with right-to-left enabled, not in the editor. - Look at buttons and narrow columns: joined Arabic letters and their marks take more vertical space, and label length varies.
In practice
- Save your YAML file as UTF-8 and mark non-translatable values.
- Upload it to Manuce: the quote appears at once, based on words in values.
- Review the free Arabic sample at your chosen level.
- Download the ar.yml file and its report.
- Test plurals and right-to-left display in your application.
Frequently asked questions
Will my YAML keys be translated into Arabic?
No. Keys stay exactly as they are; only values are translated. The root language key alone is replaced with ar: for Rails, Symfony, Hugo and i18n-js.
What happens to my one and other plural blocks?
They are adapted to the Arabic categories: zero, one, two, few, many and other. Then check that your i18n library actually applies Arabic plural rules, which is not always the default.
My editor shows %{name} in the wrong place inside the Arabic text. Is it broken?
Usually not. The string is stored in logical order, and the editor mixes right-to-left and Latin characters on screen. Judge it in the running app, and check the report: every placeholder was compared with the source.
Does Manuce make my interface right-to-left?
No. Manuce returns the translated YAML file without touching your code or stylesheets. Setting dir="rtl" and mirroring the layout remain your project’s job.
Are comments and anchors preserved?
Yes. Comments, anchors, | and > blocks, quotes, indentation and key order are all kept. The file you get back is the same; only the values change.
The specialist in charge
This subject goes to Dédale, the technical specialist. See how it works.
The same file, into another language
Into Arabic, other files
See also
Try it on your own file, free
A sample of your file translated at the level you choose, before any payment. You judge, then you decide.