Translation vs localization

The difference between translation and localization is scope: translation changes the words, while localization adapts the whole product for a market, from date and currency formats to plural rules (Unicode CLDR uses 6 plural categories). Translinga shows real examples below, including three strings the DeepL API got wrong in its own test.

All guidesUpdated

Translation vs localization

TranslationLocalization
What changesThe wordsWords, formats, currency, symbols and legal details
Dates and numbersKept as writtenAdapted to the locale
CurrencyKept as writtenShown the local way
PluralsTranslated word for wordFollows the language's plural rules
Code in stringsCan get translated by mistakeKept intact, like {{ remaining_amount | money }}
Short formNonel10n

The short answer

Translation changes the language of your words. Localization adapts your product or content for a particular market, including the language.

W3C defines localization as adapting a product, application or document's content to meet the language, cultural and other requirements of a specific target market, called a locale.

Translation is part of that. It isn't the whole job.

If you're planning a launch, "translate the text" and "localize the product" are different requests. The latter also asks you to look at things like currency, date formats, keyboard usage and legal requirements, not just what the words say.

What localization adds

W3C lists numeric, date and time formats among the things localization can change. Currency is on that list too. These are separate things to check alongside your translated text.

Then there's keyboard usage, plus collation and sorting: how items are ordered. Symbols, icons and colors also fall within localization, as do text and graphics that could be misread or seen as insensitive.

Legal requirements count too.

You don't have to treat that list as an instruction to change everything. Use it to decide what needs attention for your target locale, rather than assuming that replacing the words finishes the job.

You might also see localization written as l10n. That's shorthand for the 10 letters between the l and the n (not a different service).

Real examples

Translinga tested the DeepL API from English to Dutch on October 27, 2026. The results show a few different ways a translation can miss what a product needs.

In a Shopify string, DeepL changed the filter in {{ remaining_amount | money }} to | geld. Geld is Dutch for money, but Shopify doesn't know that filter. It skips filters it doesn't recognize and prints the raw amount in cents.

The filter wasn't text for the customer. It needed to stay unchanged.

In a combat menu, "Save" came back as "Opslaan," meaning saving a file, rather than a saving throw. That happened even with context.

On a billing page, "Charge" became "Opladen," the word for charging a battery.

These aren't all the same problem. The Shopify example calls for protecting code inside the string. The combat and billing examples call for choosing the meaning that belongs in that screen. Before you approve a translation, ask: does this mean the right thing here?

Where internationalization fits

Internationalization, or i18n, is designing a product so it can be localized easily. Using Unicode and keeping translatable text outside your code are examples.

It's preparation, not translation.

Plural handling belongs in that preparation too. Unicode CLDR uses six plural categories: zero, one, two, few, many, other. Apple's Xcode documentation shows English needing one and other, while Russian needs one, few, many and other.

So don't design your strings around the assumption that every language will use the English plural setup, then leave the translator to work around it.

Who does what

If you're assigning the work, give translation the job of expressing the intended meaning in another language. Include the screen or use behind the text, not just a file full of isolated words.

Give localization the wider check against the target locale: formats, currency, symbols and the other requirements above.

For developers, the internationalization work includes keeping text separate from code and supporting the plural rules your product needs. For marketers and founders, the useful question is what you're asking someone to deliver. A translated file? A product checked for a specific locale? Say which.

Doing both without breaking your code

Keep Liquid tags, HTML and placeholders out of the text being translated, and check that they're still intact when the translation comes back.

Translinga, a translation API made by Bitgate for Shopify stores, WordPress sites and apps, takes those elements out before translation, checks every reply tag by tag, and retries any string returned with a missing tag.

You can add a $context note to a JSON file to explain what the strings are for, and key names count as context too. Its glossary can specify that "cart" always becomes "winkelmandje" in Dutch; it also has a do-not-translate list.

But context isn't a guarantee, as the combat-menu result shows. Review the meaning in the screen where the text will appear, alongside the checks that protect your code.

FAQ

Questions, answered

Is translation part of localization?

Yes. Translation handles the language, while localization also covers requirements for a specific locale, such as formats, currency and legal requirements.

Do I need internationalization before localization?

Internationalization is the preparation that makes a product easier to localize. Keeping translatable text outside your code and using Unicode are examples of that work.

Can context prevent the wrong translation?

Context tells the translation system what your strings are for. It doesn't guarantee the right result: in the test above, "Save" still came back with the file-saving meaning despite context.

Should code inside a string be translated?

Liquid tags, HTML and placeholders should be protected rather than treated as customer-facing words. In the Shopify example, translating the filter name changed how the amount was displayed.

Start free

Try it on your messiest theme file

Your first $1 is free, about 400k characters on Fast. No card needed for a key.

Printed proof sheets marked up in blue pencil, with one word struck through in red, on a dark navy desk