Translate a YAML file into Portuguese (Brazil or Portugal)
Upload your YAML file and pick Brazilian or European Portuguese, which Manuce handles as two separate target languages. You get back the same file with only the values translated. Keys, anchors, <code>%{name}</code> variables and comments stay where they were, and a report lists anything left untranslated and why.
What it costs
For a YAML file with about 2,000 words of values, into Portuguese:
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.
Brazilian or European Portuguese: decide before you upload
Manuce offers Brazilian Portuguese and European Portuguese as two separate languages. Choose the one your users read, or order both. The gap is not just spelling: it reaches the core vocabulary of any interface.
file: arquivo (BR), ficheiro (PT)screen: tela (BR), ecrã (PT)user: usuário (BR), utilizador (PT)save: Salvar (BR), Guardar (PT)download: Baixar (BR), Transferir (PT)
Forms of address differ too. Brazilian interfaces mostly use você with a third-person verb, as in "Você tem 3 mensagens novas". In Portugal, tu is common in a casual tone, and buttons often sidestep the question with an infinitive such as "Guardar alterações". Users notice at once when one screen mixes both, so keep a single variant per locale file.
Structurally, the language root key is handled for Rails, Symfony, Hugo and i18n-js. Just make sure the locale code and file name match what your project expects. Depending on the tool, that may be pt, pt-BR, pt_BR or pt-PT.
Plurals, zero, gender and length: where Portuguese catches you out
CLDR defines three plural categories for Portuguese: one, many and other. Most Rails or i18n-js files only ever use one and other. The many category mainly covers very large round numbers, where Portuguese inserts de: "1 milhão de usuários". Plurals are adapted to the target language.
Zero is a trap specific to Portuguese. Under CLDR, Brazilian Portuguese puts 0 in one, while European Portuguese does not. Take one: "%{count} arquivo excluído" and other: "%{count} arquivos excluídos": a count of zero renders as "0 arquivo excluído" in pt-BR. If you would rather show "Nenhum arquivo excluído", add a zero: key to the source, which Rails' default i18n backend uses when the count is 0.
Gender is the next issue, because Portuguese adjectives and participles agree with the noun. "Bem-vindo, %{name}" is masculine; a female user would need "Bem-vinda". The variable survives intact, but nothing tells the sentence who it refers to. The same goes for %{item} foi excluído, which becomes excluída if the item is feminine (a pasta). Check these strings in the translation and, where needed, rephrase the source neutrally before uploading.
Finally, Portuguese runs noticeably longer than English: "Settings" becomes "Configurações" (BR) or "Definições" (PT). Allow room in buttons and tabs.
What Manuce returns, and what it leaves to you
You get back the same YAML file, in the same format, ready to drop into the project. Only the values change. Indentation, key order, quotes, comments, line endings, encoding and BOM are preserved. Anchors (&defaults, <<: *defaults) and | and > block scalars stay in place.
Some content is never translated: keys, empty values, URLs, email addresses, numbers, colours, date formats, identifiers and anything marked as non-translatable. %{name} and {name} variables are checked, because every translated value is compared with its source (variables, tags). If a mismatch persists, the source value is kept and the report says so.
That report comes with the file. It lists the strings translated, the strings left as they were and the reason for each. Pricing is based on the words in the values, excluding keys and tags. For strings your customers will see, the Professional level gives text ready to ship.
What Manuce does not do: it takes no glossary or translation memory, and it does not change date formats. A US-style default: "%m/%d/%Y" stays exactly as it is. Both Brazil and Portugal expect %d/%m/%Y, so that edit is yours to make.
Preparing the file and checking the result
- Encoding: Portuguese uses ã, õ, ç, ê and á constantly. The source encoding is preserved, so make sure your file is already in the encoding your project expects, usually UTF-8.
- Names to keep: if your product is called "Dashboard", check in the free sample, then in the translation, that it has not become "Painel". Mark technical values embedded in strings as non-translatable.
- Quotation marks: European Portuguese text often uses « », while Brazilian text uses double quotes. If you edit a value by hand, check that any double quote added inside a double-quoted YAML value is escaped, otherwise the file will no longer load.
- Months and weekdays: if your Rails file includes
month_namesorday_names, Portuguese writes them in lower case ("janeiro", "segunda-feira"). - Validation: run the file through a YAML parser and your framework's missing-key checks before committing it.
- Review in context: open the main screens in pt-BR or pt-PT. Look at long buttons, zero counts and sentences where a variable forces gender agreement.
In practice
- Choose Brazilian Portuguese, European Portuguese, or both.
- Upload the YAML file: the quote appears at once, based on the words in the values.
- Read the free sample: vocabulary, form of address, product names.
- Pay, then download the translated file and the report from your account.
- Validate the YAML, put it back in the project and review the screens.
Frequently asked questions
Do I need to choose between Brazilian and European Portuguese?
Yes. Manuce treats them as two separate languages, each with its own vocabulary (<i>arquivo</i> or <i>ficheiro</i>, <i>salvar</i> or <i>guardar</i>) and its own way of addressing the user. If you serve both markets, order both languages: the multi-language discount applies from two languages.
Will my one and other plural keys work in Portuguese?
Plurals are adapted to the target language, which under CLDR has the categories <code>one</code>, <code>many</code> and <code>other</code>. Watch out for zero: in Brazilian Portuguese it falls under <code>one</code>. If you want a dedicated sentence for 0, add a <code>zero:</code> key to your source.
Could %{count} or {name} placeholders get translated or broken?
No: they are checked. Every translated value is compared with the source, and if a mismatch persists, the source value is kept and flagged in the report. Do review the agreement around placeholders, such as <i>bem-vindo</i> versus <i>bem-vinda</i>.
Are date formats and numbers localised for Brazil or Portugal?
No. Date formats, numbers and identifiers are not translated and stay as they are in the source. If your file contains <code>%m/%d/%Y</code>, change it to <code>%d/%m/%Y</code> yourself.
How long does it take to translate a YAML file into Portuguese?
For a typical file, the translation is delivered within minutes of payment. The file and its report then remain available in your account.
The specialist in charge
This subject goes to Dédale, the technical specialist. See how it works.
The same file, into another language
Into Portuguese, 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.