ManuceTranslate a fileTranslate a PO file (gettext) into Italian

Translate a PO file (gettext) into Italian

Upload your .po catalogue or .pot template and Manuce fills the msgstr entries in Italian, sets the Language and Plural-Forms headers, keeps msgctxt, msgid_plural and every comment, and checks each printf placeholder. You get the same file back, ready to commit, with a report of what was translated and what was left untouched.

Upload my file See pricing

What it costs

For a PO file (gettext) with about 2,500 words of values, into Italian:

Essentiel
€15

To understand, internal use.

Professional
€45

Ready to send, by the technical specialist.

Premium
€88

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.

Italian-specific issues in a gettext catalogue

Italian uses the Latin alphabet, runs left to right and is somewhat longer than English, roughly as long as French. The real work in a PO file is grammar and typography rather than space.

  • Accents. Italian uses both grave and acute accents: è, perché, più, città. A sentence starting with the verb needs a capital È, not the ASCII workaround E'. The catalogue's declared charset must support these characters; UTF-8 is the usual choice.
  • Articles and elision. The article depends on the following noun: il file, lo spazio, l'utente, la cartella. A string such as "the %s" that receives a noun at runtime cannot be right for every value.
  • Gender agreement. "%s deleted" becomes %s eliminato or %s eliminata depending on what is inserted. Context decides.
  • Register. Sentences addressed to the user take the formal Lei: Inserisca la password. Button labels stay short: Salva, Annulla, Elimina.

Plural forms: msgid_plural and the Plural-Forms header

CLDR lists three categories for Italian: one, many and other. In practice most Italian gettext catalogues use Plural-Forms: nplurals=2; plural=(n != 1);, since many only covers phrasing around very large numbers (un milione di utenti). Manuce outputs as many msgstr[n] as the target language needs and sets the matching header; check it against your project's convention if yours differs.

  • msgid "%d comment" / msgid_plural "%d comments"
  • msgstr[0] "%d commento"
  • msgstr[1] "%d commenti"

Two things surprise reviewers. Zero takes the plural in Italian, as in English: 0 commenti. And some nouns never change: 1 file, 3 file, 2 email. Identical singular and plural entries are therefore correct, not a missed translation.

Placeholders, context and word order

Every printf placeholder (%s, %d, %1$s) is checked in each translated value: same count, same type. Italian often reorders clauses, so strings with several placeholders benefit from positional arguments: "%1$s shared %2$s" may become "%2$s condiviso da %1$s". With bare %s %s, the original order is kept.

msgctxt resolves the many short homonyms of a UI: Open as an action is Apri, as a status Aperto or Aperta. Extracted comments (#.) and source references (#:) also inform the translation, and flags such as c-format or python-format stay in place.

Each value is compared with its source for placeholders and tags. If a mismatch persists, the source text is kept and the report says so: an English string on screen is safer than a lost %d.

What you get back, and what Manuce does not do

  • The same file: indentation, entry order, quoting, comments, line endings, encoding and BOM preserved; only msgstr values change.
  • A .pot comes back as an Italian .po with Language: it and Plural-Forms filled in.
  • Left untranslated: msgid keys, empty values, URLs, email addresses, numbers, colours, date formats, identifiers and anything marked as non-translatable.
  • A report listing translated strings and those left as they were, with the reason.

Manuce does not compile the .mo; that stays in your build. It takes no glossary or translation memory, so for a product name that must stay unchanged, check the free sample and then the delivered file. It does not provide sworn or certified translation. Pricing counts words in values only, at the base rate for Italian (×1 coefficient).

Preparing the file and checking the result

  1. Make sure the header charset can encode è and È, ideally UTF-8.
  2. Add a msgctxt or #. comment to ambiguous short strings and to strings whose placeholder is a noun.
  3. Switch multi-placeholder strings to %1$s style.
  4. Run msgfmt -c on the delivered file to validate the header and format strings.
  5. Test zero counts and narrow buttons in the app, and read the report for strings left in the source language.

In practice

  1. Export your .po or .pot from the project as it is.
  2. Upload it and see the quote based on the exact word count of the values.
  3. Read the free Italian sample at the level you chose.
  4. Download the Italian .po and its report, then compile and test.

Frequently asked questions

How many msgstr[n] entries will the Italian file have?

The number of forms matches Italian and the Plural-Forms header is set accordingly. The widespread gettext convention for Italian is nplurals=2 with plural=(n != 1). If your project uses a different rule, check the header before merging.

Will the Italian use the formal or informal you?

Sentences addressed to the user use the formal Lei. Short labels keep their usual brief form, such as Salva or Annulla. The free sample lets you judge the tone before paying.

What happens when %s stands for a noun of unknown gender?

The translation relies on msgctxt and comments to choose masculine or feminine. Without any clue, a choice is made and the placeholder is left intact. For sensitive strings, add a #. comment before uploading.

Are fuzzy entries removed?

Comments and #, flags are kept exactly as they were. Handle them in your usual workflow, since gettext skips fuzzy entries when compiling.

Do I also get a compiled .mo file?

No, you get back the format you uploaded, here the .po. Compile it with msgfmt or your framework's own tooling.

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