Translate a JSON i18n File into Spanish
Upload your source strings file (en.json, de.json, fr.json…) and Manuce returns an es.json with exactly the same structure, with only the values translated into Spanish. Placeholders and ICU messages are checked string by string, and the extra plural category Spanish needs, <i>many</i>, is added to ICU messages.
What it costs
For a JSON i18n file with about 2,000 words of values, into Spanish:
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 changes when your strings go into Spanish
Spanish typically runs longer than English. "Save" becomes "Guardar", "Sign in" becomes "Iniciar sesión": if your UI was designed around short English labels, leave room in buttons, tabs and menus.
A few Spanish rules show up immediately in a strings file:
- Inverted punctuation: questions and exclamations open with
¿or¡."Delete this file?"becomes"¿Eliminar este archivo?". If a sentence is split across two keys, the opening mark can end up in the wrong one. - Capitalisation: Spanish capitalises only the first word of a heading.
"Account Settings"becomes"Configuración de la cuenta", not"Configuración De La Cuenta". Days and months are lower case. - Register: consumer apps usually address the user as tú (
"Introduce tu contraseña"); banking or administrative software often prefers usted ("Introduzca su contraseña"). Mixing both on one screen stands out. - Accents and ñ:
"Contraseña","Configuración". Your file’s encoding is kept as it is, so a UTF-8 file will display them correctly.
Plurals and placeholders: one, many, other
According to CLDR data, Spanish uses three plural categories: one, many and other. many covers very large round numbers, where Spanish inserts de: 1 millón de archivos, but 3 archivos.
A source ICU message such as:
"{count, plural, one {# file} other {# files}}"
comes back with the category added:
"{count, plural, one {# archivo} many {# de archivos} other {# archivos}}"
Placeholders are checked string by string: {name}, {{count}} or %s must appear in the translation as many times as in the source. Their position may move, which is expected: "{name}'s profile" becomes "Perfil de {name}".
If you use i18next-style suffixed keys (files_one, files_other), keys are never translated or renamed: check the report and your library’s documentation for how the _many form is handled for Spanish.
Spain or Latin America, masculine or feminine
Vocabulary varies by country: ordenador in Spain, computadora in Mexico; móvil or celular; vosotros in Spain and ustedes in Latin America when addressing several people. If your audience is clearly on one side of the Atlantic, look for these words in the free sample before paying, then in the delivered file.
Grammatical gender is the other trap. "{name} has been added" becomes "{name} ha sido añadido" or "añadida" depending on who or what is added. Manuce translates the string as written: it does not add a gender select. If agreement matters to you, build a {gender, select, …} structure into the source; existing select messages are checked like any other.
What Manuce returns, and what it does not do
Supported: flat or nested JSON and string arrays, as used by i18next, react-intl, vue-i18n, next-intl and ngx-translate.
- The same file: indentation, key order, quotes, comments, line endings, encoding and BOM preserved. Only the values change, so the file drops straight back into your locales folder.
- Left untranslated: keys, empty values, URLs, email addresses, numbers, colours, date formats, identifiers and anything marked as non-translatable. A value of
"DD/MM/YYYY"stays as it is. - Validation: every translated value is compared with the source (placeholders, tags). If a mismatch persists, the source value is kept and the report says so.
- A report: strings translated, strings left as they were, and why.
Manuce does not test your interface, so it cannot see whether "Iniciar sesión" overflows its button. It does not produce certified translations either, which a strings file does not need. You pay only for the words in the values, keys and tags excluded, and Spanish is charged at the base rate (×1 coefficient).
Preparing the file and checking the result
- Start from a complete source: upload your up-to-date reference locale, with no empty values where you expect text (empty values stay empty).
- Avoid split sentences:
"You have"+{count}+"messages"across three keys blocks natural Spanish word order and separates¿from?. One string with a placeholder translates better. - Read the free sample: check register (tú or usted), regional vocabulary and product names that must stay unchanged.
- After delivery: read the report, look for values still in the source language, test a screen with
count = 1andcount = 2, and check short labels in the UI.
In practice
- Export your reference locale file (for example en.json).
- Upload it to Manuce, choose Spanish and a level: the quote appears straight away.
- Read the free sample: register, vocabulary, terms that must stay unchanged.
- Download es.json and the report, then place the file in your locales folder.
- Test screens with plurals, questions and short labels.
Frequently asked questions
Will my keys be changed?
No. Keys are never translated; only values are. Key order, indentation and quotes stay identical, so the diff in your repository stays clean.
Why does a "many" form appear in my Spanish plurals?
CLDR data gives Spanish three categories: one, many and other. The many form is used for large round numbers ("1 millón de archivos"). Manuce adds it to ICU messages so the rule is covered.
Will I get European or Latin American Spanish?
Common words such as ordenador and computadora differ between regions. Check these terms in the free sample before paying, and again in the delivered file, against your target audience.
What if a placeholder gets lost in translation?
Every value is compared with the source: same placeholders, same number of times. If a mismatch persists, the source value is kept and flagged in the report, so nothing breaks at runtime.
Are URLs, colours and date formats translated or counted?
They are not translated: URLs, email addresses, numbers, colours, date formats and identifiers are left as they are. You are charged only for the words in the values, keys and tags excluded.
The specialist in charge
This subject goes to Dédale, the technical specialist. See how it works.
The same file, into another language
Into Spanish, 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.