Frequently Asked Questions

The El Loco App

Overview

back to top

What does the “Overview” step do?

The “Overview” step gives you a quick view of your project’s current state and history as well as the number and type of localizable files.

This is also where you would scan your code for changes after your first round of localization with us, in order to keep your app localizations up-to-date with your app changes.

Prepare Code

back to top

What does the “Prepare Code” step do?

The “Prepare Code” function does several things:

  1. Backs up your project. If for any reason you need a version of your code prior to integrating with El Loco, you can use this back up copy.

  2. Integrates the El Loco library.

  3. Updates your Localizable.strings with any missing strings.

  4. Searches your code for all potential localizable string candidates.

  5. Finds all the strings that have already been made localizable.

Review Strings

back to top

What does the “Review Strings” step do?

The El Loco app shows you all potential strings that you might want to make localizable. You “Localize” any that you want to have translated, and “Ignore” any that are not appropriate for translation. After you finish your review and click “Update Source Code”, the El Loco app will:

  1. Wrap all strings that you marked “Localize” with the NSLocalizedString Macro.

  2. Update your Localizable.strings file, if one exists.

  3. Create a Localizable.strings file, if one does not exist.

back to top

Wow, 1322 string candidates?! Do I really have to review all the presented strings in the “Review Strings” step?

If you have never prepped your code for localization (e.g., wrapped your localizable strings with the NSLocalizedString macro), we urge you not to rush through this process.

While it may seem overwhelming, this process actually saves you a lot of tedious prep work. Instead of having to manually search through your code, the El Loco app does it for you, and all you have to do is essentially say yes or no to each possible candidate. What could be easier than that?

Tip Still feel a need for speed? If there are source code files that you know definitely don’t have user-facing strings, you can ignore that entire file, instead of clicking on each individual string.

back to top

I already wrapped my strings with the NSLocalizedString macro. Why am I seeing additional strings to localize?

The El Loco app searches your entire codebase for strings that could be made localizable, and presents them to you as possible candidates. The El Loco app may sometimes present “false positives.” In these instances, you can choose to “Ignore” the strings.

This step is actually a great way to QA your work. You can scan all the potential candidate strings to make sure that you haven’t missed wrapping any strings that you really do want localized.

If you are absolutely sure that you have wrapped every string, you can choose to “Skip” this step altogether and move on to Visual Context. But if you aren’t… hey what’s an extra 15 minutes to be certain?

back to top

How do I know which strings to “Localize” and which to “Ignore”?

You should choose “Localize” for any string that will be seen by your user. “Ignore” any string that is not user-facing. See below for some guidelines as to what should be localized:

  • Strings that are programmatically added to a window, panel, view, or control and subsequently displayed to the user

  • Menu item title strings, if those strings are added programmatically

  • Error messages

  • Boilerplate text

  • New file and document names

back to top

Whoops! I made a mistake. What do I do now?

First thing: don’t panic! During the code prep stage, the El Loco app made a backup of your project before adding any resources or making any changes to source code.

Your best bet is to:

  1. Remove the project from the El Loco app

  2. Delete the project folder from the hard disk

  3. Unpack the {projectName} BACKUP.zip archive

  4. If you’re curious verify the backup by opening it in Xcode

  5. Add the project back to the El Loco app

Since the El Loco app assigns unique IDs to projects when they are imported, you must remove the old project from the application before re-importing the backup.

Visual Context

back to top

What does the “Visual Context” step do?

As you run through your app in the iOS Simulator, the El Loco app captures the necessary visual information to properly display it in our online Visual Context Editor. This allows your translator to translate a browser-based editable rendering of your app, for a more accurate, speedy translation process! The more screens and subviews you navigate through, the more accurate the online visual representation will be.

back to top

Not all of my strings were checked as “viewed” in the Visual Context step. Is that okay?

Yes. Some strings don’t have visual context associated with them, like error messages. Don’t worry though—every string that you indicated should be localized is captured by our system. All strings without visual context will be shown in list format as the last screen of our online Visual Context Editor.

back to top

Why isn’t the text of my UILabel or UITextView present in the list of strings in the El Loco app?

Due to an Apple bug, the text of an ATTRIBUTED UILabel or UITextView is not localizable. In other words, ibtool will not extract the value of UILabel or UITextView if they are ATTRIBUTED. If you really want to localize it, you may want to mark it as “Plain” in XCode and then programmatically add ATTRIBUTED settings to it.

back to top

I clicked the “Launch App” button, and got a message saying there was an error compiling my project and to open Xcode and resolve the error. What should I do?

The El Loco app attempts to launch the iOS Simulator for the iPhone 5s-iOS8, which is 64-bit mode.

If your app does not support 64-bit mode, then do the following:

  1. Open Xcode.

  2. Build and Run your app using the iPhone 5 (8.1) form factor.

  3. If the Simulator opens correctly, click on all your screens and sub-view(s).

  4. Quit the Simulator.

  5. Return to the El Loco app and click on the “Marketing Text” step under “Tasks” in the left-hand pane, and follow the instructions.

If your app does support 64-bit mode, then do the following:

  1. Open Xcode.

  2. Build your app using the iPhone 5s (8.1) form factor.

  3. If you encounter errors in the build, fix the errors.

  4. Once you have fixed the errors, and confirm a clean build, return to the El Loco app and click “Launch App” again.

back to top

My app contains text that doesn’t have visual context. Is that okay?

Yes. Rest assured that all strings you marked to be localized will be presented to the translator. Strings without visual context are presented in a list-only format as the last screen of our online Visual Context Editor.

back to top

What are some best practices for the “Visual Context” Step?

  1. Be sure to run through your app’s screens and subviews using either the iPhone 5 (8.1) or iPhone 5s (8.1) form factor for visual context to be gathered.

  2. Ensure that your Simulator is set to English before you start clicking on your screens.

    In your Simulator: ⌘+Shift+H → Settings → General → Language & Region → iPhone Language → English

    Note The above will be in the language in which you are currently running the simulator.

  3. Visit as many screens and subviews as you can, so that your translator has as much visual context as possible to work with when they are translating your app.

  4. Remember to “Quit” the Simulator once you have finished running through your app and go back to the El Loco app and click “Continue” in the Visual Context step.

Marketing Text

back to top

What does the “Marketing Text” step do?

In addition to translating the text in your app, you will want to maximize your exposure to other countries by translating your App Store metadata, which includes your app description, keywords, and new version update information. You can either type or cut and paste your text into the fields. Please note that just like Apple, these text fields accept only plain text. This information will be presented to the translator in addition to your app text.

back to top

Where can I find my translated app store marketing text files?

Your translated marketing text files can be found at:

										…/<Project Root Folder>/LocalizableText/<language-code>.lproj/AppStoreDescription.txt
										
…/<Project Root Folder>/LocalizableText/<language-code>.lproj/AppStoreKeywords.txt
…/<Project Root Folder/>/LocalizableText/<language-code>.lproj/AppStoreReleaseNotes.txt

Example:
/Users/kim/Documents/MyApps/CoolApp/LocalizableText/fr.lproj/AppStoreDescription.txt

back to top

Do I need to translate my App Store marketing text?

Although you are not required to do so, we highly recommend it. This will be your prospects first introduction to your app and company in their language. You will see much greater conversion if your App Store text is translated in addition to your app.

Upload

back to top

What does the “Upload” step do?

After you select the languages you want for translation, the text and visual context of your app will be uploaded to our servers. The visual information will be sent to our online Visual Context Editor and your app and marketing text will be auto-translated. Auto-translation first looks for any relevant human translation that we have in our database and then fills in with machine translation. When the processing is finished, your app and marketing text will be available in the Visual Context Editor for you to review and assign translators.

back to top

What languages do you translate from?

Currently we only translate from English into other languages.

back to top

What languages do you translate into?

Paid Plans: Mix-and-match any of the twelve (12) languages:

  • Chinese Simplified

  • Chinese Traditional

  • Dutch

  • French

  • German

  • Italian

  • Japanese

  • Korean

  • Portuguese

  • Russian

  • Spanish

  • Swedish

Free Plan: Choose any two (2) of the available languages.

We will be adding more languages in the future. If you would like a language that you don’t see on this list, please contact us. Most likely we can accommodate your request.

back to top

What is auto-translation?

Auto-translation is our proprietary database of machine and human translation used to streamline the translation process.

back to top

Why do you auto-translate my app?

Auto-translation helps you instantly see the fit of your app so that you can quickly identify field overruns and other potential UI issues. This can save you days or even weeks of back and forth with your translator, and you don’t have to integrate into your app each time a change is made!

Translation

back to top

What does the “Translation” step do?

The “Translation” step in the El Loco app shows you the translation status of your project for each language. For example:

  • Language(s) that need a translator assigned

  • If a translator has been assigned or not

  • If a translation is complete or still in process, etc.

In addition, you can go to the online Visual Context Editor directly from this step to view your app in a particular language.

back to top

I don’t have a translator. Can you do the translations for me?

Of course! What good is a localization service that doesn’t provide any translations?

If you don’t have a translator lined up and can’t do the translations yourself, let El Loco take care of it for you. After reviewing your auto-translation in the Visual Context Editor, select the “I prefer El Loco to manage translation for me” option when assigning a translator.

When choosing El Loco Translation Services, you’ll be given a quote at 23¢ per English source word. Upon accepting the quote and providing payment details, El Loco will take the wheel. A professional translator from our pool of resources wll be assigned to begin work right away. You will be automatically notified if the translator has questions or comments as well as when draft/final translations are ready to review.

Integrate

back to top

What does the “Integrate” step do?

When your translator submits a draft or final version of your app and/or marketing text, it becomes available for online review and integration into your app in this step. If a language has a “Draft” or “Final” version available, you can select it and click “Integrate” to automatically incorporate it back into your code base. You can then view the integration in the iOS Simulator.

back to top

Why isn’t the Simulator showing my app in the translated language?

Please be sure that you have changed your language settings in your Simulator before running your app in the translated language.

In your Simulator: ⌘+Shift+H → Settings → General → Language & Region → iPhone Language → {desired language}

back to top

Why are the contents of my UITextView(s) not showing translated text after integration even though the target language .strings file associated with my storyboard contains a translated version of the source text?

We discovered that in XCode 6.1 there is an apparent bug (documented in http://openradar.appspot.com/19622096). When using Base Internationalization, UITextView controls in a storyboard do not pick up translated text from the target language .strings file, and instead the base language text is displayed.

back to top

What are some best practices during the “Integrate” step?

  1. We advise that you close Xcode before you click “Integrate” to ensure that your translations are correctly integrated into your project.

  2. Because of limitations with the iOS Simulator, in order to ensure that new languages are properly displayed in the Simulator, you may want to “Clean” your code and rebuild your project after integrating your language files.

Accept or Reject

back to top

What does the “Accept or Reject” step do?

After you have integrated the final version of a language and are happy with both the app and marketing text, you can “Accept” the translation to close out this iteration.

If something still needs some work, you can “Reject” the translation, let the translator know what still needs fixing, and they will get back to work on your project.

Continuous Localization

back to top

What if I change my app after integrating and accepting my final translations?

We know apps change all the time. Whether you add new screens, change layouts, or tweak text labels, the El Loco app can help you manage new and updated text in need of translation.

After all selected translations have been integrated and accepted, the El Loco app will activate the “Look for changes” button on the project Overview task pane. When you are done making changes to your app and are ready to localize any new strings, click “Look for changes”. The El Loco app will go to work searching for any new or previously un-localized strings and tagging them for your review. Once the new strings are reviewed and you’ve captured updated Visual Context, the El Loco app can upload the new strings for translation.

As with the original strings, you will be able to review the Visual Context in the web interface and assign the new strings for translation.

El Loco Web Components

Online Visual Context Editor

back to top

What browsers does the Visual Context Editor support?

Currently the Visual Context Editor is verified in Chrome, Firefox, and Safari. While the editor may work in other browsers, you may encounter usability issues.

back to top

What is the online Visual Context Editor?

The online Visual Context Editor allows you—and your translators—to view and edit translations directly in a web rendering of your app using any browser. Features include automatic text field overrun notification, editing capability, translation assignment, and direct messaging capabilities between you and your translator(s).

back to top

Why aren’t all of the screens I visited in the simulator visible in the the Visual Context Editor?

To reduce the chance of translating the same string multiple times, we do not collect visual context information when the screen contains duplicate strings, i.e. strings which have already been captured on other screens.

In addition, we only capture screens which contain localizable text. In other words, if you have a screen which contains only images or a screen consisting of programmatically generated strings, it will not be captured or displayed in the Visual Context Editor.

back to top

None of my app’s screens are visible in the online Visual Context Editor. All I see is a screen that says “Localizable Segments” with a list of all the strings from my app below it. What happened?

Some potential reasons include:

  1. Make sure that you opened the iOS Simulator during the Visual Context step and clicked on all the screens and sub-views in your app. Only after you have done this, should you upload your files for auto-translation.

  2. Make sure that you ran through your app in the Simulator using an iPhone form factor, and not an iPad form factor.

  3. Make sure that your Simulator is set to English before you start clicking on your screens.

    In your Simulator: ⌘+Shift+H → Settings → General → Language & Region → iPhone Language → English

    Note The above will be in the language in which you are currently running the simulator.

back to top

Why can’t I edit any segments in the Visual Context Editor?

If you are a developer, and have assigned your project to a translator, further editing is disabled until the translator has submitted a final translation to review.

If you are the assigned translator, segments are locked once they have been approved. Simply un-approve the segment to unlock it and continue editing.

back to top

When should I leave a screen-level message?

If you have information that pertains to the entire screen—or app—leave a screen-level message for the translator by clicking on the “Add message” icon in the right-hand section of the black bar.

Note The screen-level message is only visible in the language screen that you entered it. If the screen-level message pertains to other languages, you will need to enter the message in those language screens as well.

back to top

When should I leave a segment (string) level message?

If you have information or a question that is specific to a particular segment (string), leave a segment-level message by clicking on the “Add message” icon by the segment’s editable field.

Examples include (but are not limited to):

  • Telling the translator to ignore a field overrun because it will be handled in the code base

  • Asking the translator to try and shorten the translation because there is no more room to expand the field

  • Explaining what a certain term or phrase means, for increased context

  • Informing the translator that something doesn’t need to be translated

Note
Segment-level messages are only visible in the language in which you entered it. If the message pertains to segments in other languages, you will need to enter the message in those language screens as well.

Miscellaneous

back to top

The El Loco app is built for Mac OS X 10.10 (Yosemite). While it may work on earlier OS X versions, there may be issues resulting from running on older versions of OS X that cannot be addressed.

back to top

How should I set up my Xcode project for localization?

The good news is that there is very little you need to do yourself; we will help you find and extract localizable strings, prepare your project for localization, and integrate translations back into your project. However, there are a few requirements you must take care of yourself first:

  • Ensure your project compiles in Xcode

  • Ensure your app runs in the iOS 8 Simulator, using an iPhone form factor

  • Ensure your app and .nib/.xib files target iOS 8+

back to top

Can I close the El Loco app and come back and finish the process at a later time?

Yes you can, but…

  • If you are currently in the “Review Strings” step and have strings that you have marked “Localize,” you must click “Update Source Code” to save your changes.

  • If you are currently in the “Marketing Text” step, you must click “Save and Continue” to save your changes.

back to top

Can I move my project files to a different location on my computer?

If your project files on your hard disk have been moved, the El Loco app will display an error alerting you to the issue.

You will then be prompted to either point to the new location on the disk, reload the project (if the files have been restored to their original location, or remove the project from the El Loco app.

back to top

How do I remove an app from the El Loco app?

Go to the File menu and select “Remove App”.

Important
Do not remove your app from the El Loco app after uploading it for translation. You will not be able to integrate the translation back into your project.

back to top

What iOS versions do you support?

Your app must be built for iPhone running iOS 8 (Xcode 6.2 or greater). While older versions of iOS may work, we can’t guarantee it.

back to top

What form factors do you support?

Currently we support iPhone 5/5s form factors, 32- and 64-bit, in both Portrait and Landscape mode. We plan to add support for other form factors in the near future.

back to top

My app is written in Swift. Will it work with the El Loco System?

Yes, it will!

back to top

I have user-facing text that is stored in a database. Can you translate it for me?

Currently our system does not handle translation of text that is stored in a database. Please contact us for possible alternatives.

back to top

I have text in images that need to be translated. Can you help?

Currently our system does not handle translation of text in images.

Best practices for localizing text in images is to place the text on top of, or near, your images using “text labels” or other methods. If that doesn’t work for your app, please contact us for possible alternatives.

back to top

I have an .html file that is part of my app. Can you translate it for me?

Currently our system does not handle .html files. Please contact us for possible alternatives.