Translate your Android app’s strings.xml
file in minutes with AI that outperforms human translators. Try it free for 30 days — no credit card required. Choose your target language, add a short description of your app, and upload your strings.xml
file to get a fully translated XML file ready to download.
Translating Your Application for the First Time with PTC
Private Translation Cloud (PTC) is an AI translator optimized for software. It translates your resource files into 33 languages in minutes, with human-level quality at machine speed and cost. You can try PTC free for the first 30 days.
Step 1
Sign Up for a 30-Day Free Trial with PTC
Sign up for a 30-day free trial — no credit card required and no limitations.
During the trial period, you can translate any resource file into any language. You can then download and use the translations. After the trial ends, you are welcome to continue using PTC by upgrading your account, but there is no obligation.
Step 2
Choose Languages to Translate To
Select any of the supported languages. PTC offers context-aware translation into more than 33 languages.
Step 3
Tell PTC About Your App
Tell PTC your app’s name, what it does, and who it is for. This context helps PTC choose the right tone, terminology, and phrasing so the translations feel natural in each language.

Step 4
Upload Your Resource File
The resource file you need to translate is typically located in /app/src/main/res/values/strings.xml
inside your project in Android Studio. Upload this file to PTC.
If you already have some translations, you can upload them as well. However, for best results, we recommend translating from scratch, as PTC generally provides better quality than most human translators.
Step 5
View the Translations in PTC and Download The Translated strings.xml
PTC may take a few minutes to translate your resource file. Once the translation is complete, you can view the results in the Translations tab.

When you’re ready, you can go to the Resource Files tab and download the fully translated resource files for use in Android Studio.

To use the translations in your project, create localized values
folders. For example:
/app/src/main/res/values-es/strings.xml
(for Spanish)/app/src/main/res/values-de/strings.xml
(for German)
Step 6
Rebuild Your App To Display the Available Languages
Once your translated strings.xml
files are in your Git repository, rebuild your app. Android will automatically display the correct language based on the user’s device settings. No additional changes are needed in your code.
Translating Your App’s “Description” With PTC
The description is the text that appears in the Google Play Store for your app. To get the full benefits of localization, you should translate this content as well.

In PTC, go to Translations → Paste to translate and add your app’s short and long description texts.

Since these texts are not part of the strings.xml
resource file, you’ll need to manually copy and paste the translated versions into the Google Play Console:
- Go to Google Play Console → Store Presence → Main Store Listing → Translations
- Add your translated short and long descriptions for each language
- Save and publish
This makes your app discoverable and appealing to users in their own language.

Automating the Translation Process
You don’t need to upload strings.xml
manually every time something changes. PTC can automatically monitor updates to your resource file and keep your translations up to date.
Option 1
Integrate PTC Into Your Git Repository
Connect your GitHub, GitLab, or Bitbucket repository to PTC. Specify which branches to monitor. When a change is detected in the strings.xml
file in any of those branches, PTC will automatically translate the updated content and send the translations back via a merge request.

To use Git integration, PTC requires read and write access to your repository. This allows it to retrieve the resource file and push translated files. You can grant access using OAuth or a personal access token.
Option 2
Integrate PTC Into Your CI Process
If you prefer not to give PTC access to your repository, you can still automate translation by connecting your CI workflow to the PTC API. Your CI process can notify PTC when a new version of the strings.xml
file is available. PTC will then process the translation and notify your CI when the translated files are ready to download.
Optimizing Your strings.xml
File for Translation
Not all resource files are fully optimized for translation. Use the following checklist to ensure your strings.xml
file is fully optimized so translations appear fluent and natural across languages.
Include All User-Facing Text in strings.xml
Store all user-facing string in your strings.xml
file. This lets PTC extract all texts and translate them accurately.
Example
Correct – Text stored in the strings.xml file:
strings.xml:
<string name="welcome">Welcome back!</string>
Code:
textView.setText(getString(R.string.welcome));
Incorrect – Text hardcoded in the source code:
textView.setText("Welcome back!");
Hardcoded strings won’t be extracted by PTC, so they’ll stay in English and won’t appear translated in your app.
Use Placeholders for Dynamic Texts
When displaying dynamic content like names or numbers, use placeholders such as %s
or %d
. Avoid breaking the sentence into multiple strings or using string concatenation.
Example
Correct – One complete string with placeholders:
strings.xml:
<string name="greeting">Hello, %1$s! You have %2$d new messages.</string>
Code:
String name = "John";
int count = 3;
textView.setText(getString(R.string.greeting, name, count));
Incorrect – Sentence is split and concatenated:
strings.xml:
<string name="greeting_1">Hello, </string>
<string name="greeting_2">! You have </string>
<string name="greeting_3"> new messages.</string>
Code:
String name = "John";
int count = 3;
textView.setText(getString(R.string.greeting_1) + name +
getString(R.string.greeting_2) + count +
getString(R.string.greeting_3));
Splitting a sentence may result in unnatural or incorrect translations, as grammar and word order vary between languages.
Use UTF-8 Encoding
Make sure your strings.xml
file is saved in UTF-8 to support special characters, accents, and non-Latin alphabets. Android Studio does this by default, but it’s good to verify this if you edit the file outside the IDE.
Use PTC to translate other projects
PTC isn’t just for Android — it supports other resource file formats like iOS .strings
, JSON, and more.

Start Your 30-Day FREE Trial
Easily translate your strings.xml
file with PTC and make your Android app ready for global users—all free for 30 days.
