ManuceTranslate a fileTranslate an Android app into Italian

Translate an Android app into Italian

Upload your app's res/values/strings.xml and Manuce translates its string, string-array and plurals entries into Italian, returning the same file ready to drop into res/values-it. Italian apostrophes (l'app, c'è) are escaped the way Android expects, and every translated value is checked against the source so no placeholder goes missing.

Upload my file See pricing

What it costs

For the language files of a Android app totalling about 2,000 words, into Italian:

Essentiel
€12

To understand, internal use.

Professional
€36

Ready to send, by the technical specialist.

Premium
€70

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 Italian changes in a strings.xml file

Italian uses the Latin alphabet, written left to right, but it runs noticeably longer than English: Share becomes Condividi, Settings becomes Impostazioni, Log out becomes Esci dall'account. Beyond length, three things matter in an Android resource file.

  • Apostrophes. Italian elides constantly: l'account, dell'app, un'altra, c'è, po'. In an Android resource, an unescaped apostrophe causes a build error, so the value has to read Impossibile caricare l\'immagine.
  • Accents. Grave on most final vowels (è, più, già, può, città), acute on perché, poiché, né. At the start of a sentence the capital is È, not « E' »: È necessario riavviare l\'app. A change of encoding corrupts these characters; Manuce keeps the original encoding and BOM.
  • Capitals. Italian does not use title case: Impostazioni account, not Impostazioni Account. Days and months stay lower case (lunedì, gennaio), so a header such as Monday Reminders loses its capitals.

Grammatical gender is everywhere: Elemento eliminato but Foto eliminata. A string like %1$s deleted cannot agree with a noun it does not know, so it is better to provide one string per case in your source.

Italian plurals: one, many and other

CLDR gives Italian three plural categories: one, many and other. Manuce writes every quantity Italian requires into each <plurals> block, even when your source only has two.

  • one covers exactly 1. As in English (and unlike French), zero takes the plural: 0 messaggi non letti.
  • many is used for round millions, where Italian inserts di: 1.000.000 di utenti. A device whose Android version does not know this category for Italian falls back to other, so both forms need to be right.
  • other covers everything else: 2 messaggi, 25 messaggi, 1000 messaggi.

A typical result: <item quantity="one">%d messaggio non letto</item> followed by <item quantity="other">%d messaggi non letti</item>.

Watch out for English loanwords, which Italian interfaces use a great deal and which do not change in the plural: 1 file, 3 file; 1 app, 4 app; 2 email. The noun stays the same, but the participle or adjective after it still agrees: 3 file eliminati, 2 email inviate.

What Manuce returns, and what it does not do

You get back the same strings.xml: indentation, key order, quotation marks, comments, line endings, encoding and BOM are all preserved; only the values change to Italian. string, string-array and plurals elements are translated, with apostrophes and special characters escaped the Android way.

  • Left untouched: keys, empty values, URLs, email addresses, numbers, colours, date formats, identifiers and any string marked translatable="false".
  • Each translated value is compared with its source: %1$s, %d or <b> must all still be there. If a mismatch persists, the source value is kept and the report says so.
  • The report lists the strings translated and those left as they were, with the reason.

You are charged for the words in the values only, keys and tags excluded; Italian is at the base rate (coefficient ×1).

What Manuce does not do: it does not place the file in res/values-it for you, build the app or check how text fits on screen. Text hard-coded in Kotlin or Java, images and your Google Play listing are not in strings.xml, so they are not covered by this file. Manuce does not produce sworn or certified translations, should your terms of use ever need one.

Preparing the file and checking the result

Before uploading

  • Mark brand, plan or feature names that must stay as they are with translatable="false".
  • Avoid sentences assembled in code, such as "You have " + n + " messages": Italian makes articles, adjectives and participles agree, and word order shifts. A complete string with numbered placeholders (%1$s, %2$d) lets the translation move them.
  • Leave date and number formatting to locale-aware code: Italian writes 1.234,56, 03/02/2025 for 3 February, and uses the 24-hour clock. A date format fixed inside a string is not translated.

Register. The translation uses the formal Lei: Inserisca la password. Many consumer apps address users informally instead (Inserisci la password). Read the free sample before paying to check that the tone suits your brand.

After delivery

  • Put the file in res/values-it/strings.xml and build.
  • Switch a test device to Italian and check plurals with 0, 1, 2 and one million.
  • Look for truncated buttons and tabs, especially if your source is English.
  • Read the report: any string left in the source language is listed with its reason, for instance a placeholder mismatch to fix in the source.

In practice

  1. Take res/values/strings.xml and mark anything that must not change with translatable="false".
  2. Upload the file to Manuce, choose Italian and a level: the quote appears straight away.
  3. Read the free sample to check the tone (formal Lei), then pay to start the translation.
  4. Download the translated file and the report, and place the file in res/values-it/.
  5. Build, then test the app in Italian: plurals, accents and truncated labels.

Frequently asked questions

Will Italian apostrophes break my build?

Not if they are escaped, and Manuce writes them the way Android expects: <code>l\'app</code>, <code>c\'è</code>. Other special characters are handled in the same way. It is still worth building the project once the file is back in place.

Why does the Italian file have a many quantity my source does not?

CLDR defines a many category for Italian, used for round millions (1.000.000 di utenti). Manuce writes every quantity the target language requires. Keep it: devices that do not use it simply fall back to other.

Will the app address users formally or informally?

The translation uses the formal register, Lei (Inserisca, Tocchi, Verifichi). If your app speaks to users informally, the free sample lets you see the register before you pay.

What happens to placeholders such as %1$s and %d, and to tags?

Every translated value is checked against its source to make sure all placeholders and tags are present. If a mismatch persists, the source value is kept so the app does not break, and the report names the string concerned.

How long does it take, and can I add other languages?

For a typical file, the translation is delivered within a few minutes and stays available in your account. If you order several languages together, a discount applies to the whole order from two languages (−20% for 2, −30% for 3).

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