Translating .strings files for iOS apps
Thread poster: Valerie Steinier-Vanderstraeten
Valerie Steinier-Vanderstraeten
Valerie Steinier-Vanderstraeten
Belgium
Local time: 22:15
Member (2008)
Dutch to French
+ ...
Dec 14, 2012

Hi,
I've received a .strings file to translate with the extension .strings.txt. Being on a Mac, I can open this file with TextEdit and I can translate the appropriate content, but can I just translate then save the file and send it back to the client as .txt file and be sure that he'll have no problems reintegrating it in the app?

Also, how can we analyze these .strings file in SDL Trados to get a correct wordcount? Is it possible to use Trados to access the translatable conte
... See more
Hi,
I've received a .strings file to translate with the extension .strings.txt. Being on a Mac, I can open this file with TextEdit and I can translate the appropriate content, but can I just translate then save the file and send it back to the client as .txt file and be sure that he'll have no problems reintegrating it in the app?

Also, how can we analyze these .strings file in SDL Trados to get a correct wordcount? Is it possible to use Trados to access the translatable content only?

Thanks for your insight,
Valerie
Collapse


 
Meta Arkadia
Meta Arkadia
Local time: 03:15
English to Indonesian
+ ...
Made for Apple strings Dec 14, 2012

Use the Localization Suite - http://www.loc-suite.org - and forget about Trados.

Hans (from iPad, short reply, sorry)


 
Shiya Luo
Shiya Luo  Identity Verified
Local time: 13:15
English to Chinese
+ ...
A bit more info needed Dec 14, 2012

Does it come in the form of this:

"string1" = "Hello";
"string2" = "Good Bye";


If so, all you need to translate is the Hello and Good Bye.

I think Trados lets you import the file and will extract the Hello and Good Bye as source strings.

When you export the translation, it should look like.


"string1" = "Hola";
"string2" = "Adios";


You should be able to use Trados to do the word count. A
... See more
Does it come in the form of this:

"string1" = "Hello";
"string2" = "Good Bye";


If so, all you need to translate is the Hello and Good Bye.

I think Trados lets you import the file and will extract the Hello and Good Bye as source strings.

When you export the translation, it should look like.


"string1" = "Hola";
"string2" = "Adios";


You should be able to use Trados to do the word count. Any other good CAT tool should give you the convenience too.
Collapse


 
Valerie Steinier-Vanderstraeten
Valerie Steinier-Vanderstraeten
Belgium
Local time: 22:15
Member (2008)
Dutch to French
+ ...
TOPIC STARTER
RE: A bit more info needed Dec 14, 2012

Thanks Shiya,

Here is the structure of the .strings file:

"Manager" = "Manager"; // Label if a player is a manager or not.
"Non-Member" = "Non-Member";
"Non-Members" = "Non-Members";
"Non-Player" = "Non-Player"; // Label if a player is an actual player (vs Parent, assistant maneger, etc)
"Non-Players" = "Non-Players";
"Contacts" = "Contacts"; // Other people to contact reguarding this player/member
"Add to %@ Contacts" = "Add to %@ C
... See more
Thanks Shiya,

Here is the structure of the .strings file:

"Manager" = "Manager"; // Label if a player is a manager or not.
"Non-Member" = "Non-Member";
"Non-Members" = "Non-Members";
"Non-Player" = "Non-Player"; // Label if a player is an actual player (vs Parent, assistant maneger, etc)
"Non-Players" = "Non-Players";
"Contacts" = "Contacts"; // Other people to contact reguarding this player/member
"Add to %@ Contacts" = "Add to %@ Contacts"; // Add to DEVICENAME contacts
"No Entries" = "No Entries"; //Displayed when there are no players/members to display
"Choose Player" = "Choose Player";

Where the translatable content is after the = sign in quotes, with the content after the // is a comment or explanation of the string content.
This is the format used for mobile apps.

I want to be able to do a wordcount on the translatable content only, translate the files using a CAT tool and TMs and be certain to export in a format that the client can easily integrate in his mobile app project.

I hope this makes sense,
Thanks,
Valerie
Collapse


 
Shiya Luo
Shiya Luo  Identity Verified
Local time: 13:15
English to Chinese
+ ...
Localizing .strings files, you'll have to do it the long way with Trados Dec 15, 2012

Trados doesn't recognize .strings files, so one of the ways to do what you want is to convert it manually into a.properties java resources file, something that Trados recognizes natively.

.properties file is very similar to .strings, but it looks like this:
Manager = Manager
#Label if a player is a manager or not.

So you have get rid of all the quotation marks and use different indicators for comments manually. Luckily we have Microsoft Word's find and replace function....


To get a .strings file ready for Trados, step by step instructions:
1. copy all the content into Microsoft Word
2. find and replace quotation mark ["] (copy and paste what's in [ ] from now on) with nothing (just don't type anything in the replace field)
3. find and replace [; //] with [^p#]
4. find and replace [;] with nothing
5. copy and paste everything to Notepad
6. change the file extension from .txt to .properties


Here's how your code should look like after the maneuvers.
Manager = Manager
# Label if a player is a manager or not.
Non-Member = Non-Member;
Non-Members = Non-Members;
Non-Player = Non-Player
# Label if a player is an actual player (vs Parent, assistant maneger, etc)
Non-Players = Non-Players;
Contacts = Contacts
# Other people to contact reguarding this player/member
Add to %@ Contacts = Add to %@ Contacts
# Add to DEVICENAME contacts
No Entries = No Entries
#Displayed when there are no players/members to display
Choose Player = Choose Player;


Now your file looks like a java .properties file and is ready for translation. Just import into Trados and it should recognize immediately. You will be able to do your word count at this point.

When you are done with translation, save target as a .properties file. For the point of demonstration, I will translate everything as "abcd". Your file should look like this:
Manager = abcd
# Label if a player is a manager or not.
Non-Member = abcd
Non-Members = abcd
Non-Player = abcd
# Label if a player is an actual player (vs Parent, assistant maneger, etc)
Non-Players = abcd
Contacts = abcd
# Other people to contact reguarding this player/member
Add to %@ Contacts = abcd
# Add to DEVICENAME contacts
No Entries = abcd
#Displayed when there are no players/members to display
Choose Player = abcd


Now you need to convert it back into a .strings file.


1. Again, put all the content in Microsoft Word.
2. find and replace [^p#] with [" //]
3. find and replace [^p] with [^p"]
4. find and replace [ = ] (copy the space before and after the equal sign, too) with [" = "]
5. check the beginning and end of the code to see if everything looks right
6. copy and paste everything into a notepad
7. change the extension of .txt into .strings


Your code is ready for delivery! It should look like this:
“Manager” = “abcd”; // Label if a player is a manager or not.”
“Non-Member” = “abcd”
“Non-Members” = “abcd”
“Non-Player” = “abcd”; // Label if a player is an actual player (vs Parent, assistant maneger, etc)”
“Non-Players” = “abcd”
“Contacts” = “abcd”; // Other people to contact reguarding this player/member”
“Add to %@ Contacts” = “abcd”; // Add to DEVICENAME contacts”
“No Entries” = “abcd”; //Displayed when there are no players/members to display”
“Choose Player” = “abcd”


-----------------------------------------------------------
I hope it wasn't too confusing. It might look very difficult at first, but once you go through with it, you can easily handle all .strings file for your future clients.
There are other ways around this, but this is the most straight forward one for me. Let me know if you have any difficulty executing any of the steps or other questions.


 
Xenoglossy
Xenoglossy
Local time: 22:15
English to Spanish
+ ...
... Dec 16, 2012

I would use Passolo and the Text File Parser.

 
Meta Arkadia
Meta Arkadia
Local time: 03:15
English to Indonesian
+ ...
"on a Mac" Dec 16, 2012

AGV wrote:
I would use Passolo and the Text File Parser.

But then again, you're not "on a Mac". And that makes all the difference. In all circumstances...

Cheers,

Hans


 
translate software strings with POEditor Dec 20, 2012

If you just want to access the translatable content of the .strings file you need to localize, you could create an account on http://poeditor.com/ and upload your file there.

You also have integrated word count in the stats section.

After you're done translating, just download back in .strings and send it to your client.


 


To report site rules violations or get help, contact a site moderator:


You can also contact site staff by submitting a support request »

Translating .strings files for iOS apps






Wordfast Pro
Translation Memory Software for Any Platform

Exclusive discount for ProZ.com users! Save over 13% when purchasing Wordfast Pro through ProZ.com. Wordfast is the world's #1 provider of platform-independent Translation Memory software. Consistently ranked the most user-friendly and highest value

Buy now! »
Protemos translation business management system
Create your account in minutes, and start working! 3-month trial for agencies, and free for freelancers!

The system lets you keep client/vendor database, with contacts and rates, manage projects and assign jobs to vendors, issue invoices, track payments, store and manage project files, generate business reports on turnover profit per client/manager etc.

More info »