3

In our multi-platform projects, we have multiple localization files with different notation and file format (iOS .string, Android .xml, etc.). Now we want to localize them in many languages, but in the different files, there are many equal strings. so anybody knows of a good way to consolidate these strings-files to one big localization file, hand this to the translation agency and then splut them back up into the different files?

Anybody knows a good approach?

2 Answers 2

6

I've worked on an iOS/Android project with 20 translations, and we used an Excel spreadsheet to keep track of all the translatable strings. The *.strings files for XCode and the *.xml files for Eclipse are then automagically generated using my custom VBA macro.

I've put an example Excel spreadsheet with VBA macro here: http://members.home.nl/bas.de.reuver/files/multilanguage.zip

You can convert your existing .strings or .xml files to spreadsheet format (key value pairs, tab separated) with the tool below. Then you can send the spreadsheet to your translators, they fill in a column of translated values, send it back and you can simply generate your new translation files.

http://members.home.nl/bas.de.reuver/files/stringsconvert.html

EDIT in 2021
The homepage is offline now, but I've added the Excel/spreadsheet example on github: https://github.com/BdR76/Manage-translations

Sign up to request clarification or add additional context in comments.

8 Comments

This seems like a pretty nice solution. But if i open the excel file and run any of the macros, i get an error "Compile Error. Cant find project or library". Since i have no experience with VBA, do you have any advide on this?
Ah good point. If you get a compile error "User-defined type not defined" or something like that (the message probably changes between versions...), press ALT-F11 to go to the VBA editor, then from the menu select Tools -> References, and make sure the option "Microsoft Scripting Runtime" is checked. Btw I've just now also updated the readme.txt in the zip.
I checked on this, but the Microsoft Scripting Runtime is checked. I am working on a mac, but i will try it on a windows machine tommorow. Maybe it will work there.
I just tried it on my windows machine and it works like a charm. Good work
Great solution but there is an error in the webpage converter: If I convert from Android to iOS the underscores in the keys get lost. i.e. an <string name="app_name">This is my app</string> gets converted to "app name" = "This is my app";
|
0

Was in the same situation with my app about a month ago.

If you use SmoothLocalize for your localization (which I would recommend as they are really easy and super cheap), you don't have to pay for repeat strings on the 2nd order. So you would pay the full 4c/word for your iOS localization, then just paste in your order number for the Android localization and you don't have to pay to translate them again.

Also if they are EXACTLY the same, they will convert a .strings to a .xml for you so you would only have to do one order, just email them.

2 Comments

I arrived to this question and I was looking for options. This options is "deprecated". Company no longer offers this service.
@Shudy There is a service called Respresso. It let's you handle your mobile/web app localization (and other resources) on a web UI and creates all the platform specific formats after each change then sync them directly into your project during the next build. This allows you to give access to a translator and after they finish you only need to rebuild the project, no manual download/copy paste is needed. (As I know it will not merge duplicate values during import but it will match them by the keys.)

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.