1. Project Background

TranslateMyApp project is a tool I developed to integrate multiple languages into Android applications. At that time, it was mainly to solve the problem of multi-language translation of application entries. However, there were many inconveniences in the actual application. Recently, when I was developing yanye APP, I redeveloped the APP to reduce the amount of multilingual maintenance. It now has more functions and features for more application scenarios. This project is based on Python development, project address: Github

2. Functions and features

  • Multiple mobile application platforms: Android and iOS, both can share a multi-language
  • Support collaboration between users, Android developers, iOS developers, and product managers can work together to maintain a multilingual document
  • Support GUI operation, reduce the difficulty of getting started, do not understand the program can be used
  • The software supports multiple operating environments: Windows and Mac can run
  • The environment configuration is very simple, requiring only the Python3 environment and a few Python packages

3. Use steps

The design idea of the software is to maintain a local multi-language warehouse, add, delete, change multi-language entries are completed in the warehouse. After each change, use the software to generate in-app multi-language entries with one click. Therefore, I recommend that you Fork our project as your own multilingual repository, where developers and product managers can work together to maintain a multilingual copy through Git. Suggested workflow:

Fork the project on Github or Gitee as your own multilingual repository.

Step 2: Prepare the environment. To run the Python program, do the following:

  1. Install Python3;
  2. Install Excel library and prepare Tkinter environment;
pip install requests
pip install xlwt
pip install xlrd
pip install xlutils
Copy the code

Step 3: Run the Python launcher.py launcher in the root directory of the project to enter the repository initialization screen:

Here you need to first select the Android or iOS multilingual root directory, select the multilingual to maintain, and click “Initialize” to complete the repository initialization.

Note: You can use Git to synchronize only the repository rebo. json file instead of the local configuration information.

Step 4: After completing the project initialization, start the project again using Python launcher.py. The main screen of the application will be displayed:

Some functions:

  1. Update entry: It is used to synchronize the modification records of multi-language entries on the client to the repository, such as adding or modifying a certain entry.
  2. Self-service translation: Use Baidu Translation platform for automatic translation of multi-language terms (the app_id and app_secret applied in Baidu Translation platform should be filled in the bidue. json file under the config directory of the project).
  3. Manual translation: Export Excel modification and then import program to complete multi-language translation.
  4. Generate resources: Generate multi-language resource files for Android and iOS respectively.
  5. Check resources: If you make minor changes to Android and iOS multilanguage resources, you can use this feature to synchronize them to the repository.

Propose more language version in the process of development iterations change warehouse adjustment is done through the “update entry”, can use first “self-help translation” to reduce the workload, machine translation and then use the “human translation” proof-read, use “generate resources” generates more languages after found problems resources you can use “check resources” amend the local synchronization to the warehouse.


  • For more technical articles (Android, server, O&M, Python, etc.), you can directly follow my public id “Hello Developer”.