Skip to content
All tools Pricing Blog

Chats & voice messages

Documents

Audio & video

Log in

Language

Translate .NET .resx resource files and get Strings.de.resx back

Upload one or several .resx files and get each one back as a satellite file for the new language, such as Strings.de.resx, with every string value translated. Resource names, the resheader block, comments and non-string resources such as images stay exactly as they were. A job of up to 300 values is free in full; bigger jobs are $5, paid once.

Translate a structured file

Tone
Glossary and names to keep (optional)

Brand and product names, separated by commas. Each one is checked in every translation.

One term per line: term = translation.

Added to the built-in list (id, url, slug, sku, type, status, code, email…). Use * as a wildcard.

No sign-up. Up to 300 strings free in full. Longer: the first strings free, every file in the job $5, one payment.

By continuing you agree to our Terms of Service and Privacy Policy.

  • The value of every string resource is translated; the name attribute never changes
  • resheader entries and comment elements are not translated
  • Resources with a type or mimetype (images, byte arrays, other objects) are skipped
  • Placeholders such as {0} and {name} are checked in every value
  • Strings.resx comes back as Strings.de.resx, the name .NET looks for
Open the demo

See a sample PDF

How to translate .resx files

  1. 1

    Upload the .resx files

    Drop the neutral .resx files of your project, for example Strings.resx and Errors.resx, and choose the language.

  2. 2

    Check the first values free

    The first strings appear translated next to the source. Edit any of them before you pay.

  3. 3

    Unlock and add them to the project

    Unlock the whole job for $5, download the files (a ZIP for several) and add them next to the originals.

What the tool changes in a .resx file

A .resx file is XML. Each string resource is a data element with a name attribute and a value element inside. Only the text of the value element is translated. The comment element, which often holds a note for the translator, is left as it is, and the resheader entries that tell .NET how to read the file are never touched.

The file is not parsed and written again: the tool replaces only the characters of each value, so the order of resources, xml:space attributes and formatting stay the same. Characters such as & and < in a translation are escaped correctly.

Placeholders and naming

Composite format placeholders like {0} or {1}, and named placeholders like {count}, are checked in every translation; a value that loses one is translated again and otherwise keeps the source text, so String.Format does not throw at run time.

Each file comes back with the culture code before the extension, Strings.resx as Strings.de.resx, which is the naming the resource manager uses to find satellite resources.

How the tool works, what it costs and how your files are handled is on the Translate JSON, XML and YAML page; prices for every tool are on the pricing page.

Last updated

Questions and answers

Can I translate .resx files without breaking them?

Yes. Only the text of each value element changes. Names, headers, comments and non-string resources stay as they were, and placeholders such as {0} are checked.

Can I upload several .resx files at once?

Yes. Upload them together and download one ZIP with a translated file for each.

Are comments translated?

No. Comment elements are left as they are, so notes for translators and developers stay in the source language.

How much does it cost?

A job of up to 300 values is free in full. Bigger jobs are $5, paid once, for up to 50,000 values; Unlimited at $19 a week covers up to 200,000.

Related jobs

We use analytics cookies to see which pages help people. Is that OK?