ManuceTranslate a fileTranslate an XLIFF file into Arabic with tags and variables intact

Translate an XLIFF file into Arabic with tags and variables intact

Upload your XLIFF 1.2 or 2.0 file: Manuce translates each source into Arabic in the target element, updates the state attribute and returns the same file, ready to import. Inline tags stay in the same order, variables are checked, and a report lists anything left untranslated and why.

Upload my file See pricing

What it costs

For a XLIFF file with about 2,500 words of values, into Arabic:

Essentiel
€24

To understand, internal use.

Professional
€72

Ready to send, by the technical specialist.

Premium
€140

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 inside an XLIFF file

Arabic runs right to left, with joined letters that change shape depending on their position in a word. The file stores text in logical order, the order it is read; only the display reverses it. A segment such as Click <g id="1">Save</g> becomes an Arabic target where <g> wraps حفظ at the same logical position. Opened in a plain text editor it looks back to front: that is expected, so do not fix it by hand.

  • Bidirectional text: a Latin brand name or a placeholder like <x id="INTERPOLATION"/> inside an Arabic sentence can visually displace nearby punctuation if the app container is not set to dir="rtl".
  • Its own punctuation: comma ،, semicolon ؛, question mark ؟. A Latin ? at the end of an Arabic string is a sign of careless translation.
  • Digits: numbers are not translated and stay as Western digits. If your audience (Egypt, the Gulf) expects Eastern Arabic digits such as ٣, locale formatting should handle that, not the string.
  • Fonts: the interface must load a font covering Arabic script; letter-spacing forced in CSS breaks the joins.

Plurals and ICU messages: six forms, not two

Arabic has six CLDR plural categories: zero, one, two, few, many, other. For "file" you write ملف (1), ملفان (2), ملفات (3 to 10), ملفًا (11 to 99), and the form shifts again from 100. A message extracted from an English, French or German project usually carries two branches:

{count, plural, =1 {1 file} other {{count} files}}

With only that pattern, the Arabic target inherits two branches and shows the wrong form for 2, 3 or 11. The safest fix is to add the branches to the source before export: copy the other text into zero, two, few and many. The source language ignores categories it does not use, and the Arabic target gets every slot it needs.

Manuce checks variables and tags: {count} must appear in every translated branch, otherwise the source value is kept and the report says so.

What Manuce returns, and what it does not do

You get back the same file, in the same format, ready to drop into the project:

  • XLIFF 1.2 or 2.0: the source is translated into the target and the state attribute is updated;
  • units marked translate="no" are respected, and notes in the file give the translator context;
  • inline tags (<g>, <x/>, <ph>…) are kept in the same order; a string that would lose them is rejected and flagged;
  • indentation, ordering, quotes, comments, line endings, encoding and BOM are preserved: only the values change;
  • a report: strings translated, strings left as they were and why.

Not translated: identifiers, empty values, URLs, email addresses, numbers, colours, date formats and anything marked as non-translatable. Manuce does not handle right-to-left layout in your app (the dir attribute, mirrored icons, alignment): that belongs in the code. Pricing counts the words in values only, tags excluded, with the ×1.6 coefficient that applies to Arabic.

Register and wording for an Arabic interface

Interfaces are translated into Modern Standard Arabic, understood across the Arabic-speaking world, rather than a dialect. Two points deserve a native reviewer's eye:

  • Addressing the user's gender: an imperative such as احفظ ("save!") addresses a man. Buttons often use the verbal noun حفظ ("saving") instead, which sidesteps the issue.
  • Word order around variables: {user} shared {file} may be reordered in Arabic, where sentences readily open with the verb. The variables are all still there, but their position moves, and that is intended.

XLIFF notes are your best lever: a note such as "button, 12 characters max" or "subject: the account" helps choose the right form. The Professional level suits an interface shipped to users; the free sample lets you judge the register before paying.

Preparing and checking the file

  1. Before export: check that the target language in the header is ar (or ar-SA, ar-EG…), that terms to keep carry translate="no", and that plural messages include all six branches.
  2. On delivery: read the report; a string kept in the source language often points to an ambiguous variable or tag in the original.
  3. In the app: test screens with counts of 0, 1, 2, 5, 11 and 100 to see each plural form, and inspect strings that mix Arabic and Latin text.
  4. Layout: Arabic glyphs have taller ascenders and dots; make sure fixed-height buttons do not clip the text.

In practice

  1. Export the XLIFF with target language ar and all six plural branches in place.
  2. Upload the file: the quote appears at once, based on the words in values only.
  3. Read the free sample to judge register and Arabic punctuation.
  4. Pay, then download the translated XLIFF and its report from your account.
  5. Re-import the file and test right-to-left display and plurals.

Frequently asked questions

Do &lt;x/&gt; and &lt;g&gt; tags stay valid despite the reversed reading direction?

Yes. The file stores text in logical order, and inline tags are kept in the same order. A string that would lose them is rejected and flagged in the report. The reversal only happens on screen.

Will Manuce add the missing Arabic plural forms?

Manuce translates the branches present in the message. If your source only has one and other, add zero, two, few and many before export by copying the other text: the Arabic target can then fill them.

Will numbers be converted to Eastern Arabic digits?

No, numbers are not translated. Choosing between 3 and ٣ is a matter of locale formatting in your app, which avoids hard-coding a convention that varies between countries.

Which variety of Arabic is used?

Modern Standard Arabic, readable in every Arabic-speaking country. If your product targets a single market, have a speaker from that country review the key labels after delivery.

Will my app display right to left once the file is imported?

Not by itself: Manuce translates the values in the file and does not touch your code. Text direction, alignment and mirrored icons are set in the application, for example with dir="rtl".

The specialist in charge

This subject goes to Dédale, the technical specialist. See how it works.

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.

Upload my file