El Loco Blog
Really? Easy App Localization?
By Kee Nethery — December 22, 2015
Really? Easy App Localization?
Congratulations. When your app has more than two languages you are in a select group of developers. Roughly 65% of apps are single language, another 15% have two (typically English and the native language of the developer). Three or more languages means you have a localization strategy, it also means you’ve gone through the pain of localization; taking and managing app screen shots in all the languages, coordinating string exports and imports from translators, screen by screen reviews looking for strings too long for their display location, wondering if your translations are going to embarrass you, etc.
El Loco takes away most of these localization hassles. We fit between you and your translators, making the localization process insanely easy. Without El Loco, the typical localization has two, three, sometimes four round trips between the developer and each translator because the translator cannot see or edit the app in context. With El Loco tools, your translators can translate correctly the first time.
Have Existing Localizations?
With existing localizations, you probably won’t need it, but our Mac OS X tool analyzes your code to make sure everything is consistent for localization, and corrects inconsistencies for you if you wish. It also finds all your un-localized strings and presents them to you in a list. You can quickly choose to localize them or not. It is not uncommon for our tool to find a source file with strings to be localized that were previously missed.
Really! Easy App Localization!
Next is the fun part. Without El Loco there is the hassle of: taking screen shots, exporting strings, trying to answer translator questions, importing strings, reviewing every screen in every language to find text overruns, and repeat until everything is correct. El Loco simplifies all those tasks making it actually fun to deal with translators.
As you develop your app and run it in the Simulator, we extract all the screen definitions and the strings. We display the strings that have not yet appeared on a screen so that you can hunt them down so that translators will be able to see where they are used. Then upload your screens and strings to our servers. Instead of static screen shots, we recreate your app in HTML. Translators page through the screens in their web browser, gain an understanding of the context behind the translation, edit in the app screens, and immediately see if a translation fits.
If after seeing the strings in context, there is still uncertainty as to how to translate something, each string has an ElLocoTalk messaging button next to it. The translator can ask clarifying questions tied directly to the specific string on the specific screen. The developer quickly answers translator questions by seeing the question with the string/screen. Every translator working on the app then has access to the clarifying information. With all of this, one translation round trip is typically all that is necessary for a full and complete translation of all the languages your app supports.
Once a translation is complete, import it back into your app and it’s ready to upload to the AppStore, or you can keep working on it.
Rinse & Repeat
Our system tracks changes to your source strings and screens. Translate your app before it is code complete and then every so often get a quick update of the strings you’ve changed. When you are code complete, your app will already be translated. No more rushing to get translations after you are code complete.
How Does El Loco Display My App?
By Kee Nethery — July 21, 2015
The El Loco web site never sees or stores your app source code.
The El Loco app (Mac) used on your development machine extracts two things from your source code:
- the strings that need translation, and
- the definition of the screens that display those strings.
The El Loco app then uploads those strings and screen definitions to the El Loco web site which converts them into HTML for display to your translators.
The El Loco web site contains less information about your app than what is on an iPhone inside the purchased version.
The El Loco system has three main parts:
- the El Loco app that you run on your development Mac with Xcode,
- the El Loco iOS Library is added to your iOS code to enable El Loco to capture the screen definitions of your app while you are using it in the Simulator, and
- the El Loco web site is where translators work their magic while viewing an HTML interpretation of what your app looks like.
The El Loco App
The El Loco app only runs on your development Mac. It communicates to several sites:
- com to validate the XML definition for plists it encounters.
- xamarin.com for error and crash reporting.
- com to validate your account details and to check for updates.
The only real app related data the El Loco app sends is XLIFF files to the El Loco web site in order to generate the HTML representation of your app screens. No source code, XIBs, or Storyboards go to the El Loco web site.
Once translation is complete, the El Loco app takes the XLIFF data from the web site, converts it appropriately, and stores it into your app so that your app supports your chosen languages.
El Loco iOS Library
The El Loco iOS Library installed into your iPhone app extracts the screens as they display in the Simulator. The iOS library only extracts screens as they draw in the Simulator – never in the released version of your app. When a screen draw is complete, the library takes the elements displayed and transfers the screen definition to the El Loco app which stores the definition locally in the cache area.
Frequently, the library will reduce your app image files into smaller compressed representations to minimize the data transfer because translators don’t need high resolution images that customers would expect. The El Loco app catches the data from the Simulator, processes it into XLIFF files, and when you tell it to, uploads them to the El Loco web site.
El Loco Web Site
The El Loco web site contains the screen definitions and strings from your app keyed to your login email and password. It manages translator access to the various languages. Instead of string files and screen shots that you would normally take manually, the web site displays your app to the translator with editable fields for each string. Being able to edit the strings in the screens makes it much easier for translators to provide correct suitable translations the first time. It eliminates the multiple round trips between developer and translator so common when translators cannot immediately see that a translation is one or more pixels too long for the allocated space. Once you approve a translation in the web site, you use the El Loco app to pull the translation data into your app. It is all under your control.
Even if someone was able to hack the El Loco servers and steal your app data, all they would see are the strings and screens that you have indicated need translation. Presumably, it is the newest version of the same data they would see if they were using your finished app on their iPhone or iPad.