strings.xml
Android localization, translated without breaking it.
Upload your strings.xml. Get it back per locale folder — placeholders, plural quantities and CDATA intact.
- strings.xml
- Jetpack Compose
- Android Views
- Kotlin Multiplatform
<string name="greeting">Hello, %1$s!</string>
<plurals name="items">
<item quantity="one">%1$d item</item>
<item quantity="other">%1$d items</item>
</plurals><string name="greeting">Hallo, %1$s!</string>
<plurals name="items">
<item quantity="one">%1$d Artikel</item>
<item quantity="other">%1$d Artikel</item>
</plurals>What survives the round trip
- %1$s and %1$d positional arguments
- <plurals> with all quantities
- CDATA sections
- Escaped apostrophes (\')
- translatable="false" is respected
- HTML markup inside strings
Why this is annoying today
Weeks of waiting
Agencies take two to four weeks per language. Your release does not wait that long.
Priced per word
Translators charge €0.10–€0.25 per word. A ten-thousand-word app runs past €1,000.
Broken placeholders
Generic tools translate your variables. A translated placeholder is not a typo — it is a crash.
How it runs
- 01
Upload
Your file, as it is. No project setup.
- 02
Pick languages
64 available. Take as many as you need.
- 03
Download
The same file back, one per language.
Why not Lokalise or Crowdin?
| shipglobal | Lokalise · Crowdin | |
|---|---|---|
| Price | €0.12 per 1,000 characters | From $100 per month |
| Setup | Two minutes | An hour, plus a workflow |
| Subscription | None. You spend a balance. | Required |
| Translation Memory | Included. A string is paid for once. | Included |
Upload a file. See the number.
The first 50,000 characters in two languages are free, and we do not ask for a card.
Start now