Tethras Developer Help

Getting Started

Need help? Take a look at our guide.


Files and Encoding

Take a look at our supported file types and encoding.


FAQ

Take a look at our FAQ for more help.


Localization Tips

Some helpful tips on improving the quality and speed of your app localization.


Tethras Lingo

Confused by some terms we use? You can find their meaning here


Video Resources

Check out our help videos for a quick walkthrough the website.


Recent Updates

What's new? Browse through our updates.


Need More Help?

Still cannot find what you need? E-mail us at support@tethras.com and make sure to provide as much information as you can regarding your problem so we can answer as quickly as possible.

Getting Started


There are some important things you need to know before you get started so be sure to read this getting guide.


Create an account
The first thing you will need to do is to create an account on tethras.com. Be sure to validate your account by clicking on the link that is emailed to you after you sign-up. After you have created your account you can choose an account level from the Organization Settings.

The dashboard
When you first login to your account you will be taken to your dashboard. The first thing you will have to do is to create a project. To do this simply press the 'Create Project' button on the top right of the screen. You will be prompted to enter a project name and OS. When you have confirmed your selections you will be re-directed to the project page. (Note: You should create a separate project for each app. If you have ported your app to different OS's then it is generally best to create separate projects.) If you have upgraded to premium and have multiple users you will be able to see all the projects for your organization on this dashboard page.
Once you have projects on your dashboard you will be able to see the project status of each of them - see the section below for more explanation on project statuses.
A screenshot that shows the developer dashboard.

The project page
Use this page to manage an individual project. From here you can upload files, choose languages and levels, purchase and finally download completed translations. This page has the following views:
  1. Project and language statuses
  2. Source file view
  3. Source strings view
  4. Localization instructions
  5. Pseudo file view
  6. Orders (only visible if you have a purchase)
  7. Tasks & Discussions
  8. Destination language views for each language purchased or in your basket
  9. Change pricing level
  10. Apply a promotion code
  11. Add languages view
  12. Checkout view
A screenshot that shows the links to all views described in this section.
1. Project and Language Statuses

Each of your projects has a project status displayed next to your project name at the top of the project page and on your dashboard. The statuses use the following color code:

  1. Green - you project is complete, and your translations are ready for download
  2. Amber - your project is in production, and there are no issues that require your attention
  3. Red - your project requires an action. It has either not been purchased or there is unresolved discussion pending

Each language has a status as well and there are short explanations available on hover over for each status to clarify their meaning so you will always know how your jobs are progressing.

2. Source File View

From this pane you can add and manage the source files in your project. The first thing you will have to do is to add files to your project (Note: For a full list of file types that we support click here). You can do this in one of two ways:

  1. Add file(s) - Upload a single file or multiple files as a .zip
  2. Add text - Copy and paste text into the text area (this is useful for marketing content)

When you press the upload button your content will be uploaded to Tethras for processing. Depending on the file type it will use different rules to extract the localizable content. If you have translated other apps with us the system will automatically calculate your leveraging discount in order to try and reduce the number of strings and hence the cost of the translation. This not only reduces cost as you don't have to pay to have the strings re-translated but it also improves consistency. Once the files are uploaded they will be shown in the Files View. You can click on any file to see the strings that have been extracted. If you no longer need a file you can delete it. If you want to updated the content of a file you can reload it at any time. The following gives some more detail on how to do this.

What does Updating mean?

To update the content of a file after you make changes to it you simply need to reload it. Tethras will detect which strings already exist, those which have been removed and those that have been added. So if you have already paid for translations for this file you will only have to pay to translate the new content. Every time you upload a different version of the file that version will be stored. This means that you do not have to create a new file every time you want to update the content of an existing file. To improve upload time only files that have changed will be processed. The following describes how to reload one or all of your files.

  1. You can reload them one by one using the reload link beside each file name (only visible when you hover over the file)
  2. You can choose to reload a number at once by selecting multiple and pressing the reload file button on top of the file list
  3. Finally you can load them all again at the same time using a zip file. (Note: if you take this approach you must ensure that you are using the same file paths as the files already on the server so that the system can accurately match them.)

Whatever way you complete the update the system will automatically re-generate the quote for the languages you have previously purchased

Updates during translation

If you want to make some changes to your files while they are in translation you can follow the same steps as above. We will queue up the translation jobs so you don’t have to wait until the first order is completed before submitting and purchasing the second.

3. Source strings view

From this page you can view all of the strings in a particular file. Should you need to add a character restriction to a particular string this would be the place to do it. You can also add comments to individual strings to clarify their meaning. The more context you can provide the better.

A screenshot that shows the source strings view.
4. Localization instructions

The more context the translator has available the better they will be able to complete the translation job. From this screen you can enter detailed translation instructions and even upload screen shots of the app. Below you can find more detailed information for the fields in the Localization Instructions tab.

A screenshot that shows the localization instructions view.
  1. Official App Name: Our translators and project managers would like to go check your app out, and we will need to know its official name to be able to do that.
  2. Translate the App Name: You can either translate the app name, leave it in English, or transcribe it into the corresponding alphabet of the target language(s).
  3. Target Age Group: Some languages use very different expressions and even writing system (as is the case with Japanese) for the different age groups. Therefore this information is very important to ensure that your audience can understand the translation properly.
  4. Translation style: This might not be too important when it comes to English, but many other languages use different tense and even words for formal and informal speech. For example Asian languages are hierarchy based so it is important to give this some thought before you purchase.
  5. Translation tone: This is the overall atmosphere you want to create for your app. You can be as descriptive as you want - the better you manage to explain us the feeling you want your app to convey, the better your translation will be.
  6. Genre: Please select your app genre as specified in the respective platform app store.
  7. Short App Description: Tell us a bit about your app and what does it do.
  8. App Store URL: If your app is available for download you can provide us with its app store URL.
  9. Screenshots: Please attach a .zip containing any screenshots of your app for context.
  10. Instructions: If you have any other instructions you would like us to follow please add them here.
5. Pseudo file view

When the files are uploaded you can download the pseudo translations and build them into your app. The system converts the text in your files to our pseudo language so you can ensure that everything has been externalized correctly. For more instructions on how to build these translations into your app see the pseudo file view page itself.

6. Orders View

Use this page to view the status of your orders and to download each of your completed orders. You can click on a given language to drill down and see what strings were actually purchased and how many strings were leveraged in a given order.

7. Tasks & Discussions

Tasks & Discussions are a vital part of the Tethras system. During Sanity check the Tethras production managers will raise queries in order to clarify meaning on strings. Translators may also raise queries at any given time. They are accessible from the sidebar of each project page.

Tasks are raised during Sanity Check. When you answer tasks you will be editing the string comment directly. For more information please see the Tasks section below.

Discussions can be raised by translators or production stuff, if there is anything unclear. Your answer will be visible to all translators. For more information please see the Discussions section below.

8. Destination Language Pages

You can use this page to customize the language purchase levels on a per file basis. The default purchase level is Professional. Once a project is purchased this page will report on the translation progress for each file.

9. Change Pricing Level

Once you have added languages to your basket you can change their pricing level, or mark files you don't need to be translated at this time. We have four pricing levels: Basic, Professional, Ultra and Specialist. Our default pricing level is Professional, but if you are not satisfied with your quote, you can change the pricing level and the price will be adjusted accordingly.
The pricing level is on a file per file basis. You can set your files at the same level for all languages in your basket from the files view. Select the files, whose level you need to adjust, then select the preferred level from the 'change pricing level' dropdown. We will change the selected files level for all languages in the cart and update your quote accordingly. A screenshot that shows the change pricing level dropdown on the files view.
You can also adjust the pricing level for your files on language by language basis. Just click on a language, select the files, whose level you need to adjust, then select the preferred level from the 'change pricing level' dropdown. Our system will change the selected files pricing level and update the quote for the selected language only. A screenshot that shows the change pricing level dropdown on the language view.

10. Apply Promotion Code

If you have a promotion code you can apply it here. You can always remove that promo code if you decide to save it for later - it will not be considered used after checkout.

11. Add languages view

From this page you can choose what languages you would like to add to your cart. Simply select those that you are interested in and click 'Add to Cart' when you are done. You will not be able to complete other operations while the system is generating quotes. If this is a large project and you are adding a number of languages this may take a few minutes. The most popular languages are listed at the top of the page.

12. Checkout View

After purchase you will be able to keep track of order status from the order status page. You will be notified by email once each language is completed.


Tasks & Discussions
Tasks & Discussions are a vital part of the Tethras system. During Sanity check the Tethras production managers will raise tasks in order to clarify meaning on strings. Translators may also raise queries at any given time. To view the tasks and discussions of your project, open it and select the tasks & discussions tab from the sidebar. You need to have uploaded files to your project for this tab to be visible.
Tasks
Tasks are raised by our production team during Sanity Check for strings with unclear context or for strings containing placeholders. When you answer the question your answer will be added to the string comment. Once you save your answer, the task will be marked as complete and it will be automatically archived - it will disappear from the the tasks section. You can always view your complete tasks by clicking the 'Show resolved' link, next to the section heading.
Tasks are usually queries that are crucial to the quality of your translations. Make sure to check them regularly and answer them.
You will be notified via email if there are outstanding tasks for any of your projects. You will be able to see if there are unresolved tasks or new discussions on your dashboard, under each project name.
Discussions
Discussions are conversations, raised either by translators, or by the Tethras production team. They can be raised at any time during the translation process, and are visible to all translators, working on your project, your project manager and yourself. Answering discussions results into adding a thread to the conversation - you will not be editing any of the metadata of the string directly. Once you replay to a discussion it will be marked with a darker color, until another replay's been added to it.
If you need to view the string metadata (file, comment, etc.), click the 'show details' link. From there, you can also edit the string comment if it is necessary.
You can archive the discussions by clicking the archive button () on the top right corner. Alternatively, you can click 'replay and archive' after you have typed your answer, and your discussion will be moved to the archived list, after your post have been added to the conversation. To view the archived discussions, click the 'Show archived' link, next to the section heading.
You will be notified via email every time a new discussion is raised, or if there is a new replay to a discussion. You will be able to see if there are unresolved tasks or new discussions on your dashboard, under each project name.
The more details you give us before you purchase, the fewer discussions will be raised, which will shorten the churnaround time. Tasks & Discussions can slow the translation process considerably so make sure to check them regularly and answer them.

Glossary
In Tethras we use glossaries for clarifications of complex or specialized terms to improve translation quality. We have glossaries for different OS's and Genres. App developers can add their own glossary as well to clarify meaning of terms and whether or not they should be translated. For example a good glossary terms are your app name, any character names, your organization name, any copyrighted terms, and any terms you don't want translated in general. If you don't want your app name translated anywhere inside the text you can set it to "DO NOT Translate" in your glossary.
If you have any character names you should specify their gender, and/or station because for many languages this is crucial information. For example in French the adjectives and plural forms used in a sentence differ according to the gender, while Japanese is hierarchy based and different words are used depending on the station of a character. Once a glossary term has been added we will search throughout your files and will highlight every exact match with that term for the translators working on your projects.
Below you can see an example for a glossary for a demo app called 'Discworld' with a couple of example terms already added in. The Discworld characters usually have double meaning names and are a good example for terms that need more explanation for proper translation. Here we have specified the character's gender, station any possible special use cases of their names.
A screenshot that shows the glossary view.

Files and Encoding

In this section you can find a full list of our supported file types and encodings.


Supported File Types

iOS and Mac OS
.strings and .plist
Android
strings.xml
Windows RT and Windows 8
.resx, .resw and .resjson
BlackBerry
.rrc
Subtitles
.srt and .sbv
Other
.html and .properties
All Platforms
.txt
Custom File Types
We support localizable resources that are a custom XML or JSON format. We provide full support for JSON files with the following structure:
  • { "key1": "Hello World",
  • "key2": "Username:",
  • "key3": “Password:”
  • }
If you need your custom xml or JSON localized, please get in touch with us at support@tethras.com. We'll have a few questions to help us understand how to best deal with your files.

If you have your own private file format that you wish to translate, we recommend that you convert this file to an XML or JSON format.

Custom Format:

  • key1 = “Hello World”;
  • key2 = “Username:”;
  • key3 = “Password:”;

XML (could be represented as follows):

  • <?xml version=”1.0″ encoding=”utf-8″?>
  • <resources>
  • <string name=”key1″><![CDATA[Hello World"]]></string>
  • <string name=”key2″><![CDATA[Username:"]]></string>
  • <string name=”key3″><![CDATA[Password:"]]></string>
  • </resources>

Unsupported files
Below you can find a list of the file types we don't support but recognize, and some tips on how to convert them to a more localization-friendly format. It is very important that you export the unsupported files, don't change the file extension because this will lead to errors.
  • .rtf - a Rich Text Format file, can be saved as Plain Text (.txt) using Notepad, Word or Pages. This will discard any formatting information your file might contain, like font size/weight, images or intends.
  • .doc/.docx - Microsoft Word file formats, can be saved as Plain Text (.txt). This will discard any formatting information your file might contain, like font size/weight, images or intends.
  • .xls/.xlsx - Microsoft Excel file formats, can be saved as Text (.txt) or Tab Delimited (.txt) file format. This will discard any formatting information your file might contain, like font size/weight, images or intends.
  • .ppt/.pptx - Microsoft Power Point file formats, can be saved as .rtf file format and then exported as Plain Text as explained above.
  • .markdown - Markdown is a plain text formatting syntax that can be converted to HTML. We can localize this content if you first convert the file to HTML.
  • .yml/.yaml - This is a human readable data interchange format. We recommend you convert the data to any of the localizable resource formats in our supported files list.
  • .po - This format is used by GNU gettext: an internationalization and localization (i18n) system. Please convert this file to one of our supported formats, or contact us if you wish to keep your file in this format.
  • .pdf - Portable Document Format handled by Adobe Acrobat. It can be exported as .txt but very often the white space is preserved and there are new lines in the middle of the sentence and this will not allow us to parse the strings correctly. You will have to search for all redundant new lines in the document and remove them.
  • .odf - Open Office Document Format, can be saved as Plain Text (.txt) using Open Office, Word or Pages.
  • .pages - Mac text editor format, can be exported as Plain Text.
  • .numbers - Mac spreadsheet editor format, can be exported as CSV and then to Plain Text using Excel.
  • .csv - spreadsheet format with no formatting where columns are defined by commas, can be opened using Excel and then saved as Text (.txt) or Tab Delimited (.txt) file format.
  • .xliff - Localisation Interchange File Format, a XML-based format created to standardize the way localizable data are passed between tools during a localization process.
  • .jpeg/.jpg/.png/.gif/.bmp/.tif/.tiff - these are all picture files and if they contain any localizable content we can extract it and replace it for you. Please contact us and we will get back to you with a quote.
  • .wav/.mp3/.ogg/.flac - these are all audio files and you will need to transcribe the localizable content from them. This can be time consuming so if you would like us to do that for you contact us and we will get back to you with a quote.
  • .mp4/.avi/.mkv/.omg/.mov/.rm/.rmvb - these are all video files and you will need to transcribe the localizable content from them. This can be time consuming so if you would like us to do that for you contact us and we will get back to you with a quote.
  • .swf - these are all video files and you will need to transcribe the localizable content from them. This can be time consuming so if you would like us to do that for you contact us and we will get back to you with a quote.
  • .ai - Adobe Illustrator vector file format, it cannot be exported as Plain Text directly from Illustrator. You will need to either export it as .pdf first and save it as Plain Text from Adobe Acrobat Reader, or copy and paste the text content in any text editing program and save it as Plain Text. The second option is highly recommended, because when converting .pdf to .txt you may get redundant new lines that break the sentences in many parts and they won't be parsed correctly. Please note that depending on the purpose of the file (weather it was used for printing or not) the text it contains may have been converted to curves or in other words it is no longer editable text but just a vector graphic with the shape of letters. If this is the case you will need to transcribe the text because there is no easy way to convert the curves back to text. This can be time consuming so if you would like us to do that for you contact us and we will get back to you with a quote. If you are extracting content from .ai files yourself make sure to check if all of the text got exported/copied across correctly.
  • .eps/.svg - widely used vector file formats, can be opened with any vector editing software (Adobe Illustrator, CorelDRAW, Inkspace, etc.) and cannot be converted to Plain Text directly. You will need to either export it as .pdf first and save it as Plain Text from Adobe Acrobat Reader, or copy and paste the text content in any text editing program and save it as Plain Text. The choice you make depends on the program you are using - but usually the second option will lead to fewer mistakes. Please note that in order to preserve the original look of the file the text inside is likely to have been converted to curves or in other words it is no longer editable text but just a vector graphic with the shape of letters. If this is the case you will need to transcribe the text because there is no easy way to convert the curves back to text. This can be time consuming so if you would like us to do that for you contact us and we will get back to you with a quote. If you are extracting content from .eps/.svg files yourself make sure to check if all of the text got exported/copied across correctly.
  • .cdr - CorelDRAW vector file format, it cannot be exported as Plain Text directly from Corel. You will need to either export it as .pdf first and save it as Plain Text from Adobe Acrobat Reader, or copy and paste the text content in any text editing program and save it as Plain Text. The second option is highly recommended, because when converting to .pdf from most of the older versions of Corel, it breaks the text fields to many small pieces and that might lead to mistakes and divided words. Please note that depending on the purpose of the file (weather it was used for printing or not) all or part of the text it contains may have been converted to curves or in other words it is no longer editable text but just a vector graphic with the shape of letters. If this is the case you will need to transcribe the text because there is no easy way to convert the curves back to text. This can be time consuming so if you would like us to do that for you contact us and we will get back to you with a quote. If you are extracting content from .cdr files yourself make sure to check if all of the text got exported/copied across correctly.
  • .psd - Adobe Photoshop file format, it cannot be exported as Plain Text directly from Photoshop. You will need to either export it as .pdf first and save it as Plain Text from Adobe Acrobat Reader, or copy and paste the text content in any text editing program and save it as Plain Text. Both options are equally eligible. Please note that depending on the preferences of the author the whole or part of text it contains may have been rasterized or in other words converted to picture that no longer contains any text related information. If this is the case you will need to transcribe the text because there is no easy way to convert the raster back to text. This can be time consuming so if you would like us to do that for you contact us and we will get back to you with a quote. If you are extracting content from .psd files yourself make sure to check if all of the text got exported/copied across.
  • .indd - Adobe InDesign file format, it cannot be exported as Plain Text directly from InDesign. You will need to either export it as .pdf first and save it as Plain Text from Adobe Acrobat Reader, or copy and paste the text content in any text editing program and save it as Plain Text. The second option is highly recommended, because when converting .pdf to .txt you may get redundant new lines that break the sentences in many parts. Please note that depending on the purpose of the file (weather it was used for printing or not) the text it contains may have been converted to curves or in other words it is no longer editable text but just a vector graphic with the shape of letters. If this is the case you will need to transcribe the text because there is no easy way to convert the curves back to text. This can be time consuming so if you would like us to do that for you contact us and we will get back to you with a quote. If you are are extracting content from .indd files yourself make sure to check if all of the text got exported/copied across.
  • .m/.js/.jsp/.php - These file formats contain the source code of your app. We cannot extract localizable content from these files automatically. We recommend that you look at our Knowledge Base and review the procedures on how to prepare your app for translation.

Ignored files
Some OS create generic hidden files that contain only meta data, unrelated to the localizable content of your app. We will ignore those files so you don't need to search for them and delete them before you upload your zip. Such files can be .ds_store, .db, .pyc, or any other hidden files that contain meta data only.
We keep mentioning zip files and by that we don't mean any archive type but .zip files only. All other archive types like .rar, .tar, .7zip, .jz, etc. are also ignored files, so make sure to use .zip extension only when you pack up your files. And make sure you save the files as .zip, don't just change the extension because your file will get ignored just the same.

File encoding
Our system will accept UTF-8 and UTF-16LE encoded files. These are the standards encodings used in modern versions of Mac OS, Windows and Linux. If your file is plain ASCII, it will be interpreted as utf-8.
Old style ASCII-extended encodings like Latin-1, ISO-8859-1 or Windows CP1252 do not support characters used outside of the Latin languages. We use Unicode so we can include non-Latin characters in your translated files.
If you have any files with encodings different to UTF-8 or UTF-16LE, simply open up the file using your favorite text editor, choose Save As from the File menu, and then select UTF-8 as the format for the file. Or you can use a command line tool such as iconv to do the same thing.

Frequently Asked Questions


Overview

What is Tethras?
Tethras is an online localization service that specializes in app localization for iOS, Android, Windows Phone and Blackberry. We offer our customers a fully cloud based system that allows them purchase and manages their translations online.
How can I learn about what’s going on at Tethras?
For the very latest, follow @tethras on Twitter. We also have a blog, and all recent features are on the Recent Updates page.

About Internationalization

Why internationalize?
Over 50% of your potential market does not speak English as a native language. So if you want to double the size of your potential market and thereby increase your revenue, localization is the solution you are looking for.
How hard is it to localize my app?
Just spell “color” with a “u” and you’re halfway there. For the other half of what you need to do, check our Knowledge Base for more details.
What languages do you offer?
We offer all major languages supported by current iOS, Android and Windows Phone devices.
What languages do I choose?
This depends on the type of app you have and on the OS it is developed for. In the add languages view in your project page the languages for iOS, Mac OS, Android and Windows Phone are sorted by popularity and you can see your potential market expansion (market reach) if you localize your app on them. We also have language bundles in which we have packed up the most popular languages for iOS, Mac OS, Android and Windows Phone. If you don't know which languages to choose, picking up a language bundle will be a good start and will give you a discount. For more information visit our languages page. A screenshot that shows the langage bundles and the market reach.
What if my source files are not in English?
No problem at all - just upload your files here and we will take a look and get back to you with a quote. We advise you to translate the source into English first, and then use the English files to translate into any other necessary languages.
What if I have lots of apps?
You can submit as many apps as you like to the system. Our service manages all of your apps in such a way that common strings across all your apps are translated and paid for once, and these common translations are leveraged across all your apps.
How secure is my data?
Tethras allows you to rename your projects when you submit them to us, which will give an additional layer of anonymity. Your files are not shared with our translators and securely stored on our Cloud repository. Please see our Privacy Policy for further details.

Payment

How much does it cost to translate my app(s)?
The cost is calculated based on the number of words you wish to translate, the translation level you wish to purchase, and the number of languages you require. There is no charge to sign up for an account. Quotes are automatically generated within a few minutes of you uploading your content. For more information visit to our pricing page.
What if I change my app - do I pay for it all again?
No. If you submit a new version of the app while your project is still live, our software will compare the two and automatically identify the strings and objects that have changed. That way you won’t be charged twice for the same translation.
How do can I pay for my translations?
Currently payment is made through PayPal. If you don't have a PayPal account, you can use a credit card on the PayPal payment page.
Is there a minimum purchase price?
Yes. There is a minimum cost of $4.99 per language.
Will I be charged for symbols?
You won't be charged for any punctuation symbols, but if you have any bullets, currency symbols or pictograms in your app we will charge them as words. This is because the translators might need to change, position, or add a non-breaking space between these symbols.
For example the sign in English means 'OK', but in Finnish it means 'wrong', while in Japanese, Chinese and Korean it is just not perceived as 'OK' in general. So if your App contains any symbols, the translator will need to convert them to ·/· for Finnish and to for Japanese, Chinese and Korean.
Do I need to pay VAT for the purchase?
No you don't, but if you need a VAT invoice, contact us and we will issue one for you.

The Translation Process

How does translation work?
The process starts when you give us the text strings in your application so that we can translate them into the language(s) of your choosing. To do this, you must internationalize your app. In Xcode, this involves setting up your project with the proper locales into which the localized content will be placed. Once this is complete, simply upload your English source files to Tethras and follow the step-by-step process. The system will detect the files with strings for translation and extract them. You may then check that these are the correct files for translation and, if satisfied, specify the languages into which you want to localize your app. You can also provide general instructions (such as not translating the company name) and specific details (such as whether the string “E-mail” is a noun or a verb in a specific instance). A translator (or, if you wanted numerous languages, more than one translator) then logs in and translates the strings per your instructions, before re-submitting them to our site. You pay for the translation and download it: you now have the version in the languages you want.
What is a pseudo-translation?
Pseudo-translation is generated when a developer first uploads a job to Tethras for translation. The system attempts to recognize what strings must be translated and machine-translates what it finds. A pseudo-translation will be somewhat crude: the main goal here is to check that all of the work to be translated has been detected, rather than trying to do a perfect job without involving a human translator. A developer can download this ‘rough draft’ at this stage, before deciding whether to submit the files for the full translation service - which includes proper checking by a human.
What file formats do you support?
We support all native file formats across all mobile app platforms. Full list of supported files.
What files do I upload for translation?
You only need to send us your localizable files for translation. We do not need your source code. We do not need your actual app. For iOS and Mac apps, you should upload the contents of your en.lproj directory for translation. For Android apps, upload your strings.xml file.
If you are uploading your marketing text for translation, it is best if you upload this content as a .txt file in UTF-8 format. We don’t process .rtf or .doc or .docx files.
Details on how to prepare an iOS app for translation can be found in our Knowledge Base under the iOS Localization section.
In what format are my translated files returned?
We deliver back all translated files in exactly the same format as the files you upload for translation. We also deliver the translations in files with exactly the same names as the original English files. The translated files will be available for download in a ZIP archive that contains a language specific directory containing the translated files.
How long does it take to translate?
This will depend on the size and nature of the project. Once you have submitted a project, it is instantly posted as an available job; announcements will also be e-mailed to our pool of translators. If you are in a hurry, you will be able to choose our express service.
Will I know when will I have my order back once I've purchased it?
For each order you place with us you will be given a due date, available on your Orders tab of your project page, under the reference number of each order. The due date is set by your PM after they pass the sanity check of your order. You will also be able to follow the progress of your order, displayed using a progress bar.
What about my marketing text?
This can sometimes be the most important part of the project. We take your advertising and marketing information as raw text and translate it with all the emphasis and tone you meant it to have. This is then returned directly to you.

Our Translators

How good are the translators?
We use professional translators from throughout the world and we place a strong emphasis on context as we try to ensure that our translators are familiar with your end users use patterns.
How do you choose your translators? Are they native speakers?
Our translators have to pass a test before being able to translate, in order to be sure of their capacity to translate your app. They are all native speakers and translate into their mother tongue.
What quality control do you use?
All of our translators are graded by their peers and by language experts. We have strict quality control systems to ensure the highest quality of our translators.
What if I am not happy with the standard of translation?
Our quality control team will review your job, and if the translations are found to be sub-standard, then you will have the option of having the job reworked at no cost to you. We appreciate all feedback on our language and service quality.
How do I give context-specific instructions for the translator (keywords, jargon, slogans, etc.)?
When you submit the job to Tethras, you will have the opportunity to provide both general instructions (e.g. “don’t translate the name of my company”) and specific instructions (e.g. “in this context, the word ‘E-mail’ on its own represents a noun instead of a verb).
I have a specialist app that uses technical jargon: can you handle this?
We do not translate safety-critical or highly specialized documents such as machinery manuals, legal documents, etc. at present. If you have a highly specialized translation job, then contact us directly for a full list of what we can do.

Localization Tips


How can you improve the quality and speed of the translations for your app at no extra cost?
When a translator begins working on a localization project, context is essential. The translator will want to know what kind of app this is. Is it for a formal audience e.g. corporate, or is this app for general release? These small extra steps can mean the difference between a good localized app and a fantastic app. It can also save you time in your schedule as it will remove the need for the translator to raise queries in our discussion system and wait for clarifying answers from you. Here are some additional resources that will improve your app's localization quality at no added cost to you, the customer.
Developer comments: This is especially important where there are variables e.g. "Please close to allow the job to complete" In English this looks like an easy string to localize but for a French translator it is vital that they know what words are substituted at runtime to determine the construction of the sentence in French. In some other languages the word order will be completely different – some languages have the verb at the end of the sentence. The use of developer comments like this enables us to get the translation right first time every time: Variable 1 = The options window, the settings window, the Save as dialog; Variable 2 = file copying, file deleting, file renaming.
For every string that contains a placeholder there should be a comment indicating what that string will look like at runtime, Example: "Please close the settings window to allow the file copying job to complete"
Screenshots: Any screenshots of your app would be a huge help to a translator. The ability to see strings in context, especially where there are variables in the string, is of immense value to our translators.
Marketing text: Even if you are not localizing the marketing text for your app, allowing our translators to see exactly what the app does is extremely helpful. Often, knowing that a particular app is a Navigation app for instance will allow them to successfully interpret any acronyms in sentences e.g. MLS/mls Is this an abbreviation of Miles? Is it an acronym for Major League Soccer or is it a short way of writing Milliliters? If the translator knows that this is a navigation app there is a good chance that "mls" is a shortened form of "Miles".

How do we get this extra information to Tethras?
You can upload all of this extra content via the Translation Instructions Screen. For variables/placeholders, please ensure that your code is commented per the above instructions.
Character Restrictions: We recommend that you apply restrictions only if you absolutely must. It constricts the choice of words for the translators and can often lead to a less clear translations and may increase turnaround time.

Pseudo translations
We highly recommend that you build these pseudo test files into your app prior to purchasing translations. It will highlight the following issues:
  • strings that have not been externalised
  • strings that may break the layout due to length restrictions
It is always quicker and cheaper if these issues are fixed prior to ordering translations. If you find strings that have not been externalised simply fix them and reload your files. If you find strings that break your layout because they are too long, you can either change your layout (recommended) or impose a character restriction on individual strings. This can be done by clicking on view strings beside each file. If strings turn out to be too long after translation then you will have to pay to have them re-translated. (Note: The pseudo translations are 30% longer than the original string length. We cannot absolutely guarantee that this will be sufficient in all cases so you may still have to pay to correct a small number of strings if they are still too long even after testing with pseudo files.)
If you are new to localization you should read the following Getting Started Guide that highlights some of the more important points before purchasing.
For more information on pseudo translation watch Video 4: Pseudo Localization.

Tethras Lingo


Leveraging
A screenshot that shows the language view.
For every translated string that you purchase, we store it in your organization specific translation memory. Once a string is stored in your translation memory we will use these translation(s) for all your subsequent projects. When you add new files to a project, we search through your translation memory to find previously translated strings and populate them into your project. This process is called leveraging and means that you don't have to pay for translating the same string twice. Leveraging only works on EXACT string match. If you have changed anything in a string it will not be leveraged. Strings that are in translation cannot be leveraged. Only when a string has passed Final Check will it be eligible for leveraging. If you have two similar files, you need to purchase one of them first, and after the translation is complete, purchase the other file. Then the duplicate strings across both files will be leveraged automatically.
Leveraging is carried out across all projects, on a language by language basis. It is not OS specific. The price per language may vary according to the number of words leveraged for each language. You can check the number of leveraged strings on the language sections of each project.
Once you upload a file we automatically leverage the strings within that file. If you have recently translated files that you would like to leverage against a project that has been uploaded, but not purchased yet, you can reload the not purchased project and we will automatically recalculate your quote for you. Alternatively you can contact us and we will take care of the re-leveraging it for you.
Project statuses
Each project you have created has a status, displayed next to your project name at the top of the project page and on your dashboard. The statuses use the following color code:
  • Green - you project is complete, and your translations are ready for download
  • Amber - your project is in production, and there are no issues that require your attention
  • Red - your project requires an action. It has either not been purchased or there is unresolved discussion pending
Language statuses
Each language you have purchased has a status, displayed next to the name of the language in your project page. The status we use are as follows:
  • Purchased - your order has been purchased and will enter production soon
  • Sanity Check - we are currently checking your files to make sure all strings have enough context to be localized correctly
  • Translating - your order is currently being localized by our translators Make sure you answer any discussions as quickly as possible to avoid potential delays
  • Final Check - We are currently giving your files a final check to make sure everything is localized to the highest standard before we release them back to you
  • Complete - Your order is now complete and you can download your files
A float chart that shows the language statuses and how they follow each other.
Developer comments
If you are using Localizable.strings from Xcode, you can add developer comments to each individual string in the file and our system will pass these comments on to the translators automatically. We also provide the ability to add comments directly on our system. These comments exist as metadata in your project, and they are also passed on to the translators.
Pseudo-localization
Pseudo-localized version of your files is automatically generated when you first upload your resource files to Tethras. We replace standard characters with accented characters in ôúr tèst láñgúágè and expand the text by approximately 30%.
The system replaces all the strings that have been correctly externalized with pseudo-localized strings. The main objective of providing you with pseudo-localized version of your files is to ensure that all your strings have been correctly externalized and to detect any potential layout issues that may occur due to text expansion. You can download these files from the left hand control panel in your project dashboard a soon as your files have been uploaded correctly. Prior to translating your app, you should download the pseudo-localized files, build them into your app, and look for hard coded strings and layout issues.
If you encounter any strings that have not been pseudo-localized, check the strings in your project and make sure they are externalized correctly. Then reload your resource files and download the latest version of your pseudo-files. When you have ensured that all strings are externalized correctly, you can proceed to checkout.
Character length restrictions
For any given string, you can restrict the length of the translated strings. As mentioned above, text generally expands during translation, so layouts will be affected. If you encounter any layout issues due to text expansion you can use the character restriction feature to limit the length of the string. You can access this feature by clicking on each file, uploaded to your project.
Please note that overuse of character restrictions and restrictions that are excessively strict may have an adverse impact on turnaround times and translation quality of your project. So please use them only when necessary.
Glossaries
We provide our translators with glossaries, containing the official terminology used by Apple, Google or Microsoft with respect to their operating systems. The glossaries are integrated into our translation tool and are constantly used by our translators when working with Tethras. Translators are automatically given the correct glossary of terms according to the OS of the project they are working on.
You can create your own Organizational glossary to provide translators with common terms that your organization uses across all projects. For more information check the Glossary section in the Getting Started section.
Translation Memory
Translation memory is used within your projects to make sure that translation quality is consistent across all projects.
Tasks & Discussions
At any time before, during, or after translation, discussions can be raised by you the our project managers, or the translators. Tasks are specific requests to carry out actions like editing the string comment. They will be raised by your project manager, usually during Source Test. When project managers or translators don't understand the meaning or context of a string to be translated, they will ask you a question. Discussions can be read and answered in our iOS app which is available here, free of charge. If you don't use the Tethras app, you will receive notifications via email when discussions are raised. The discussion module reduces overhead in supporting translators as all questions and answers are shared with everyone involved in the project. For more information check the Tasks & Discussions section in the Getting Started section.
Localization Instructions
Before starting a project with us, we ask you for as much information about your app as you can provide. You can provide us with brief description of your app and what kind of app it is. We ask you to specify the translation tone (formal or informal) and to provide us with screenshots of your app. Any screenshots you upload we will share with our translators and ask you to provide us the url to your app in the respective App Store. We will install the app where possible, and take a look at it. For more information check the Localization Instructions section in the Getting Started section.

Video Resources


Video 1: Creating a New Project and Adding Files

In this video we will look at your project dashboard, show you how to create a project, and upload files.


Video 2: Comments and Character Restrictions

In this video we will look at viewing your uploaded files, adding comments and character restrictions to your strings.


Video 3: Languages

In this video, we will show you how to add and remove languages from your basket, apply promo codes and explain about our language bundles.


Video 4: Pseudo Localization

In this video we will talk about pseudo translation and how it can help you to prepare your app for localization.


Video 5: Pricing Levels

In this video we will talk about our pricing model and how to get the best use out of it.


Video 6: Tasks & Discussions

In this video we will talk about how to view and answer tasks & discussions.


Video 7: Glossary

In this video, we will talk about glossaries, how we use them and how to create them.


Video 8: Updating a complete project

In this video we will look at updating your project. We have designed our updating process to be as simple as possible, so you can manage numerous projects across multiple platforms with ease.


Video 9: File types

In this video we will talk about the different file types we support and our error messages.


Video 10: Localization Instructions

In this video, we will show you how to provide localization instructions for your app. We will send them to our translators along with your project.

Recent Updates


The improved tethras discussions system, and the new tasks.
24 Jan 2014 - Improved discussions system

We have improved the Tethras discussions system, to make it clearer and easier to use. Discussions are sorted by project and can now be view them from your project page. To make it easier to see what you have to do, we have made it possible to archive discussions, when you have dealt with them

We have also added tasks. Tasks are specific requests to carry out actions like editing the string comment.

For more information visit our Getting Started section.

We hope you like it, let us know how you get on via Facebook, Twitter or support@tethras.com


Tethras subtitles file type support.

16 Oct 2013 - New file type support!

We now support subtitle files! We have added .sub and .sbv support to make it even easier for you to localize any multimedia content you might have.

For a fill list of supported files Files and Encoding help section.


A screenshot, showing the updated Orders tab.

01 Oct 2013 - Order progress and delivery date available now!

Each open order now has a delivery date and a percentage complete progress bar so it is now easier than ever to see how your orders are progressing.

The delivery date for each order is displayed on the Orders tab for each project and will also be included in an email sent when the sanity check is complete.

We hope you like it, let us know how you get on via Facebook, Twitter or support@tethras.com


Tethras video resources.

22 Jul 2013 - Tethras help videos available now!

To help you become comfortable with Tethras, we have created video resource for you that contains short and simple tutorials to help you get the best of our system.

Our videos cover:

  • How to use Tethras
  • Best practices

We will be building up this resource as we go. Check out our first set of tutorials in our Videos section!

If you'd like us to cover any topics let us know.


A screenshot that shows warnings and errors on file upload.

15 Feb 2013 - File Errors and Warnings

Based on your feedback we have improved our file upload process and messaging. Our system now has clearer error and warning messaging. We have also updated our support information to include a comprehensive list of supported files. In our Files and Encoding help section you can also find tips on how to convert unsupported files.

We hope you like it, let us know how you get on via Facebook, Twitter or support@tethras.com

A screenshot that shows the developer glossary.

21 Jan 2013 - Glossary

In Tethras we use glossaries for clarifications of some complex or specialized terms to improve translation quality. The Tethras Glossary is now available for developers as well. Now each organization that has registered account on Tethras can add their own glossary terms specific for their organization.

In the new glossary you can add and edit terms you don't want translated or you feel they need additional explanation for better quality translation. For more detailed explanation on how to use the Glossary go to our Getting Started section.

We hope you like it, let us know how you get on via Facebook, Twitter or support@tethras.com

A screenshot that shows the language bundles and the market reach.

08 Jan 2013 - Language Bundles

We have added language bundles to make it easier for you to choose the languages with the best market reach. As well as this we now include discounts for these languages. You can choose three different language bundles for iOS, Mac OS, Android or Windows Phone.

Each language you choose to localize your app on will expand your marked accordingly. Now you can see that market reach while you select languages for translation. So if you are not really sure what languages you would like to translate your app on, using those stats is a good way to decide.

We hope you like it, let us know how you get on via Facebook, Twitter or support@tethras.com

15 Dec 2012 - Tethras iOS App

The Tethras app icon. Check your project status and answer discussions on the go. With the new Tethras app for iPhone this is easier than ever.
Available on the App Store.

We hope you like it, let us know how you get on via Facebook, Twitter or support@tethras.com

A screenshot that shows the project statuses.

04 Nov 2012 - Language Statuses

We have improved the project and language statuses to make it easier than ever to see the current status of your projects and translation jobs.

For the project statuses we are using the following color scheme:

  1. Green - you project is complete, and your translations are ready for download
  2. Amber - your project is in production, and there are no issues that require your attention
  3. Red - your project requires an action. It has either not been purchased or there is unresolved discussion pending

For the languages we have updated the status messages and added short explanations to clarify their meaning so you will always know how your jobs are progressing.

We hope you like it, let us know how you get on via Facebook, Twitter or support@tethras.com

A screenshot that shows the new UI.

20 Jun 2012 - Improved UI

We are excited to announce the release today of our new UI. It represents a complete redesign from the ground up based on feedback from everyone who has used the system over the last 12 months. The main changes are:
  • an improvement process making it easier and quicker to create new projects
  • improved status reporting on purchased jobs
  • ability to download and view previous purchases
  • an improved process for adding and reloading files
  • ability to set purchase level on all files in a language at once

A BIG thank you everyone who sent on feedback on the previous UI. We have taken it all on board and incorporated as much as possible into this release. We will be continuing to work on and develop this UI over the next couple of months. Our objective is to give you the user, as much control as possible over your own projects and translation memory.

Next up we will be adding:

  • ability for you to define your own translation glossaries
  • ability for you to create your own DTD’s for parsing xml files
  • ability to set default purchase levels so that you don’t have to replicate on each language language bundles
We hope you like it, let us know how you get on via Facebook, Twitter or support@tethras.com