the essential guide to app localization · carvell classifies internationalization as a multiplier...

53
THE ESSENTIAL GUIDE TO APP LOCALIZATION A publication of Olá

Upload: others

Post on 15-Aug-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

  • THE ESSENTIAL GUIDE TOAPP LOCALIZATION

    A publication of

    !"Olá

  • i

    What You Will Learn

    In this eBook, we’re going to take you through the whole process. We’ll explain

    the details of a successful localization project, step by step—from planning to

    implementation. We’ll also go into how you, as a product manager, can ensure

    the highest-quality localization and how to monitor the impacts of localization.

     

    This eBook is suitable for….

    • Product managers who want to better reach a global audience.

    • Anyone who’s interested in gaining a more complete understanding of

    localization.

    What’s it all about?

    ONESKY

    Written by

    Patrick YipHead of Content at OneSkyFollow him @PatrickYipHK

    http://bit.ly/oneskyapphttp://bit.ly/oneskyapphttps://twitter.com/PatrickYipHKhttps://twitter.com/PatrickYipHK

  • 2

    What’s inside?

    01Why Localize?

    Make a Plan

    Translate

    04

    15Setup

    40

    Implement 44

    Conclusion 49

  • 1

    Localization: a fast track to growthFor many app developers, the app store can feel like a miracle: since its invention,

    global distribution has become cheaper and easier than ever before. Once your

    app is listed online, all it takes is a few clicks, and voila! You’re part of the

    multibillion-dollar global market.

    Andy Carvell, SoundCloud’s mobile growth manager, shared his recipe for growth

    in a recent post on Medium. Carvell explains his concept of a “mobile growth

    stack,” which organizes a wide range of growth levers. High on his list? Going

    international.

    Carvell classifies internationalization as a multiplier strategy because it “will act

    as a catalyst for your acquisition, engagement and monetization efforts,” with

    positive effects across the board.  If you want to tap into the full app market, you

    can’t just stay in one country or one language. You have to explore international

    markets.

    Therefore, localization should be more than just a small part of your growth stack

    —it should be a priority.

    Add two more languages, and that’s half the worldAccording to App Annie’s 2014 retrospective, the United States, Japan, and

    South Korea are the three biggest app markets in the world. Together, they

    generate more revenue than every other country in the world combined.

    However, English proficiency is low in both Japan and Korea, and smartphone

    users show a strong preference for localized apps.

    The equation is simple, then. If your app is already in English, just develop

    versions for the Japanese and Korean markets—and you’ll reach more than half

    the global market.

    Can’t read, won’t buy

    Why Localize?

    ONESKY

    https://medium.com/@andy_carvell/the-mobile-growth-stack-3ffa6856f482https://medium.com/@andy_carvell/the-mobile-growth-stack-3ffa6856f482http://blog.appannie.com/app-annie-index-retrospective-2014/http://blog.appannie.com/app-annie-index-retrospective-2014/

  • 2

    Translation and localization are important. Just look at the data:

    According to Common Sense Advisory, a consulting firm, 72.4% of global

    consumers prefer to use their native language when shopping online. And app

    analytics firm Distimo discovered that localized apps experienced, on average,

    128% growth in download volumes after the native language was added—in the

    first week alone. In that same week, the revenue grew a promising 26%.  Just

    localizing an iPhone app’s keywords can yield a 767% increase in downloads,

    according to Make App Magazine.

    In short: go global, or go home.

    In this guide, we’ll teach you how to localize your app from

    scratch. We’ll explain how to determine your target markets, how to prepare the

    materials, and the best way to go about implementing and testing the translation.

    Whatever questions you have, no worries: they will be answered here.

    The Essential Guide to App Localization

    ONESKY

    https://www.appannie.com/en/https://www.appannie.com/en/http://makeappmag.com/iphone-app-localization-keywords/http://makeappmag.com/iphone-app-localization-keywords/

  • Make a Plan

    Part I

  • 4

    Every project starts with a goal. Localization is no exception. Before you kick off

    a new localization project, you need to decide which specific metrics you are

    hoping to improve. Once you know your metrics, it will be easier to determine

    your project scope.

    Here are some metrics that you might consider:

    Acquisition/Activation

    You want to build the number of downloads in certain territories/language

    areas.

    Retention

    You want to grow the number of users in certain territories/language areas who

    are keep coming back to your app.

    Step one: What do you want to achieve?

    ONESKY

  • 5

    When it comes to localization, the first question is always Where should we go?

    From looking at OneSky’s client base, we know that the top languages for app

    localization run the gamut from Korean and Japanese to Russian, Latin American

    Spanish, and German.

    But just because a language is popular doesn’t mean that it’s the right choice for

    your app. Instead of rushing to translate your app into the ten most popular

    languages, think strategically.

    Build a localization strategyAccording to a 2014 survey by Transifex, more than half of companies let

    customer requests determine their localization strategies. That’s great, and

    customer input is definitely something to consider. However, a more

    comprehensive localization strategy can ensure that you are truly maximizing the

    ROI. There are two main strategies:  

    Deep Localization

    Pick only a few markets, but do them well: create tailor-made features, distribute

    in local channels, plan specific locally-launched campaigns, etc. This approach is

    called “deep localization.” A great example is Evernote’s entry to China, where

    Evernote committed to a full rebrand, from hosting within the country, to

    localizing their customer services (check out this post to learn more).

    If you have the financial resources to be investing in these type of local, offline

    campaigns, deep localization is a smart choice. It’s also worth the money when

    you are making O2O (online to offline) products or services.

    Minimum Viable Localization

    If you want to reach a wider audience, or test for traction in certain markets,

    minimum viable localization (MVL) might be best for you. In this strategy, the

    Step two: Whom do you want to reach?

    ONESKY

    http://www.oneskyapp.com/blog/how-evernote-reached-four-million-users-in-china-within-1-year/?utm_source=paid&utm_medium=ebook&utm_campaign=paid-app-ebookhttp://www.oneskyapp.com/blog/how-evernote-reached-four-million-users-in-china-within-1-year/?utm_source=paid&utm_medium=ebook&utm_campaign=paid-app-ebookhttp://www.oneskyapp.com/blog/minimum-viable-localization-ebook/?utm_source=paid&utm_medium=ebook&utm_campaign=paid-app-ebookhttp://www.oneskyapp.com/blog/minimum-viable-localization-ebook/?utm_source=paid&utm_medium=ebook&utm_campaign=paid-app-ebook

  • 6

    product is first simple made understandable to local users—usually, this means

    translating into native languages—and then you scale up the localization as

    reception widens.

    The agility of MVL makes it better for experimental cycles, because it’s a great

    way to test out the market potential of certain regions. It’s also good to try this

    strategy if your product has a lot of universal features such as productivity apps,

    utility apps, or mobile games.  

    Gather data to help you decide So, you’ve chosen a strategy. Now, where should you actually plan to localize?

    You’re going to need to gather some data to guide your decision. There are three

    main things you should consider:

    1. What do your current users speak?

    Even though you haven’t localized yet, your app may already be especially

    popular in Germany. Or maybe you’re getting a lot of downloads in South

    America. Based on user data, you can choose markets that seem especially

    promising.

    2. How much profit potential does a given market have?  

    Tuyen Nguyen from Google suggests two metrics for estimating which language

    groups to prioritize for localization: the top languages spoken by web-users, and

    the top countries by paid app installs.  But market potential matters too. Who’s

    growing fastest? Can you get yourself into a market early?

    3. What’s the competition?

    When it comes to picking new markets, you need to know who you’ll be fighting

    against. App analytic tools like AppAnnie and Sensor Tower can help you track

    other company’s localization efforts—and figure out which markets have less

    The Essential Guide to App Localization

    ONESKY

    http://www.slideshare.net/TechinAsia/startup-asia-jakarta-2013-admob-keynotehttp://www.slideshare.net/TechinAsia/startup-asia-jakarta-2013-admob-keynotehttps://www.alsintl.com/blog/most-common-internet-languages/https://www.alsintl.com/blog/most-common-internet-languages/http://blog.appannie.com/app-annie-index-retrospective-2014/http://blog.appannie.com/app-annie-index-retrospective-2014/http://www.appannie.com/http://www.appannie.com/https://sensortower.com/https://sensortower.com/

  • 7

    competition. These tools provide clear data about each country and information

    about your competitors, so you are able to easily analyze their results.

    If you’re looking for a free option, try OneSky’s AppGrader. It’s a small tool that

    lets you check the localization progress of any app. We can also help you

    evaluate your localization plan, by giving you a reliable estimate of how many

    users you will be able to reach with your strategy.

    The Essential Guide to App Localization

    ONESKY

    https://www.oneskyapp.com/appgrader/?utm_source=paid&utm_medium=ebook&utm_campaign=paid-app-ebookhttps://www.oneskyapp.com/appgrader/?utm_source=paid&utm_medium=ebook&utm_campaign=paid-app-ebook

  • 8

    Once you’ve determined your localization strategy, it will be easy to determine

    what the scope of the project will be.

    How much content do you need to localize?If you are going deeply into a few markets, you may need to localize everything

    you have. But if you are planning to just test some market potentials, you don’t

    have to invest as much at the beginning. It’s best to scale up your localization

    project. Here’s the order that we’d recommend:

    1. First, test the market potential. Just localize your app store listing, and see if

    there is any traction.

    2. If you find potential in particular markets, go for minimum viable localization—

    localize the app content and necessary user manuals.

    3. Strong local reception? Great. Commit to complete localization, including your

    landing pages, marketing materials, and social media content.

    How long will it take? We’ve found that a professional translator can translate up to 2,000 words per

    day. So, if you divide your total word count by 2,000, you’ll have a sense of the

    minimum number of days necessary to complete your translation project. That

    number of days will increase from there depending on the number of QA

    measures taken, the desired translation quality, and the difficulty of the source

    content.

    Tip: Reserve time for translator's inquiries

    People often think of translation as a solo project: one person, two languages,

    and lots of hours. But to get the highest-quality translation, you’re going to need

    to be involved too. Translators often need clarification on certain parts of the

    Step three: How big a project will it be?

    ONESKY

  • 9

    source text. Are you using “kill” as a noun or a verb? Is this text directed at a male

    user or a female user?

    To smooth out the process, be ready for these questions. Assign a team member

    to feed your translator information and handle any problems. And be sure to

    provide as much context as possible on your source strings themselves, so that

    translators can do the best job possible.

    How much will it cost?There are two main costs in a localization project. The bulk of the budget will go

    to translation. But you should also factor in the engineering cost, as enabling your

    app for localization will take some work.  We’ll  go into more detail about the

    engineering requirements in the Setup section, which should allow you to

    determine the cost.

    The Essential Guide to App Localization

    ONESKY

  • 10

    With the power of the Internet, it’s easy to get moving on your localization

    project—but it also means there are a lot of ways you can go about it. Here, we’ll

    lay out the pros and cons of the main approaches:

    In-house translationWith in-house translation, you recruit and manage a group of translators who are

    part of your company. Setting up in-house translation makes sense when your

    company consistently needs large volumes of translation, or is highly concerned

    with the voice of the brand. In-house translation is also worthwhile if you are in a

    position to  to easily recruit professional translators in your target languages.

    Pros

    • It’s cheaper in the long run. Once your translation team nails the voice of your

    product, they will be able to work quickly and well.

    • You’ll be able to maintain smoother communication among PR, branding,

    marketing, and the localization team.

    • You have full control over the quality of translation.

    Cons

    • It requires a high initial investment.

    • It requires a longer commitment to your translators.

    Step four: Who should do the actual translation?

    ONESKY

  • 11

    CrowdsourcingWhen your product has a large, diverse user base, it’s great to crowdsource your

    translation project to your users. If you’re skeptical, take a look at WhatsApp; it

    depends mainly on its loyal users for all its translation needs.

    Pros

    • You minimize the translation cost. By relying on the help of your users, you can

    localize your product with a much smaller economic input.

    • Crowdsourcing helps ensure that the translation will speak to the users. Since

    volunteer translators contribute based on their experiences of your game, their

    translations may be better adapted to the local gamer community.  

    Cons

    • It is harder to predict when the translation will be completed.  You can’t force

    your volunteers to adhere to your schedule.

    • You risk lower quality. Just because a gamer knows two languages does not

    necessarily mean that he or she is a good translator. And a single translation

    error—or gamer prank—can have serious consequences.

    OutsourcingIt is always possible to hire a Language Service Provider (LSP) to take care of

    your localization project. LSPs are available either on-demand, or as a

    subscription service.

    Pros

    • You’re guaranteed high quality. If an LSP is reliable, it will use professional

    translators and have extensive quality assurance measures in place.

    The Essential Guide to App Localization

    ONESKY

    https://www.google.com.hk/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&cad=rja&uact=8&ved=0CBsQFjAA&url=https%3A%2F%2Ftranslate.whatsapp.com%2F&ei=JO89VM3DFZCUuASlnoHQAw&usg=AFQjCNFS3nhwsIupoKfUs0bItqMgU_ohHg&bvm=bv.77412846,d.c2Ehttps://www.google.com.hk/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&cad=rja&uact=8&ved=0CBsQFjAA&url=https%3A%2F%2Ftranslate.whatsapp.com%2F&ei=JO89VM3DFZCUuASlnoHQAw&usg=AFQjCNFS3nhwsIupoKfUs0bItqMgU_ohHg&bvm=bv.77412846,d.c2Ehttp://kotaku.com/5880007/racial-epithet-shows-up-on-minecraft-menu-developer-apologizeshttp://kotaku.com/5880007/racial-epithet-shows-up-on-minecraft-menu-developer-apologizes

  • 12

    • The translation will adhere to your schedule.

    • It’s a more flexible relationship. You don’t need to commit to building an internal

    team, or to growing a translator community.

    Cons

    • It’s pricier. When you outsource to a translation vendor, you’re going to end up

    paying a good bit more.

    Combining different approachesEach option has its pros and cons. But, by combining different translation

    approaches, you can take advantage of each of their strengths, and minimize the

    weaknesses. We’ve found that the strongest translation outcomes are often a

    result of a mix of crowdsourcing and professional translation.

    Rather than just having your users translate via crowdsourcing, or just hiring

    professionals, think a little outside the box. Have your users translate, and then

    hire professionals to review their work and catch any errors. Or, reverse that: hire

    professionals to translate, but let users vote on the translations, or tweak the

    translations to better reflect gamer language and culture.

    Tip: Treat crowdsourcing as a marketing campaign

    Crowdsourcing does have one other advantage we didn’t mention: it can also be

    a way to market your product. When your users are also your translators, they

    gain a sense of ownership and will feel more loyal to your app.

    But how can you motivate users to become translators? It’s easy: just figure out a

    way to make it fun and rewarding. Give your contributors gifts—virtual or actual.

    Make a leaderboard, where you honor the most dedicated translators. Let

    volunteers have a sneak peek at the pre-launched content.

    The Essential Guide to App Localization

    ONESKY

  • 13

    You know what will work best for your product. Just remember: treat your

    volunteers well. And they’ll do the same.

    The Essential Guide to App Localization

    ONESKY

  • Setup

    Part II

  • 15

    So, you have your strategy in place, and you’re excited to hit a new market. Sadly,

    you won’t be able to localize your app immediately. To support multiple

    languages, you will need to create some new setups for your app, a process

    called “internationalization.” In this chapter, we’ll take you step-by-step through

    internationalization.

    Here’s the general workflow of internationalization:

    1. First, extract UI strings from your app code. Separate the textual content into

    an external file. This will allow you to adjust the content without changing any

    of the code itself. This specific type of external file is known as a “resource file.”

    2. Make multiple resource files, and translate the text in each file. You will have

    one resource file for each language.  Name and store each file appropriately, so

    that the system can understand which language each external file refers to.

    Now, when a user opens your app, the smartphone OS will load whichever

    language resource file is closest to the user’s language setting.

    Internationalization: overview

    ONESKY

  • 16

    iTunes App StoreMake sure that you have localized versions of these items ready to go:

    • Name (character limit: 255)

    • App Description (character limit: 4000)

    • New in this Version (character limit: 4000)

    • Screenshots

    • Keywords (character limit: 100)

    • In-App Purchases (title character limit: 75; content bytes: 255)

    Google PlayNote that the content items for an app listing on Google Play are slightly

    different:

    • Title (character limit: 30)

    • Description (character limit: 4000)

    • Recent Changes (character limit: 4000)

    • Short Description / Promo Text (character limit: 80)

    • In-App Purchase Products (name and description)

    Prepare your app store listing

    ONESKY

  • 17

    Different platforms have different conventions for storing resource files. In this

    section, we’ll lay out the conventions for a few of them.

    Android

    1. Store localization resources

    Android SDK Tools will create a res/ directory in the top level of the app project

    by default. Under this res/ directory are subdirectories, where you can store

    resources. There are already a few default files such as res/values/strings.xml,

    which stores your string values.

    To support more languages, under the res/directory, create /values

    subdirectories with the string resource file inside. The /values directories should

    each include a hyphen and the ISO language code at the end of the directory

    name.

    For example, if you were translating your English-language app into Italian and

    Japanese, the /values directories would look like this:

    MyProject/
 res/
 values/
 strings.xml
 values-it/
 strings.xml
 values-ja/
 strings.xml

    Prepare your resource files

    ONESKY

  • 18

    Store the different string resource files within each /values subdirectory. For

    example, in this same Italian/Japanese localization project, you would have three

    different string resource files for the phrase, “Hello World!”:

    English (default locale), /values/strings.xml:

    Italian, /values-it/strings.xml:

    Japanese, /values-ja/strings.xml:

    2. Use string resources when you code

    When you code, use the string resources as a way to present the textual content.

    You can refer to a string resource with the syntax R.string.. There

    are a variety of methods that accept a string resource this way.

    Here are two possible methods:

    Get a string resource from your app's Resources

    The Essential Guide to App Localization

    ONESKY

    Hello World!

    Ciao mondo!

    こんにちは世界!

  • 19

    Example:

    Supply a string resource to a method that requires a string

    Example:

    In other XML files, you can refer to a string resource with the syntax @string/

    wherever the XML attribute accepts a string value.

    Example:

    The Essential Guide to App Localization

    ONESKY

    String hello = getResources().getString(R.string.hello_world)

    TextView textView = new TextView(this);textView.setText(R.string.hello_world);

  • 20

    iOSInternationalization for iOS is a bit different. There are three main elements:

    • User Interface (.xib, .nib, .storyboard)

    • Code (.m, .swift, etc..)

    • Strings (.strings)

    1. Internationalize user interface

    The easiest way to internationalize your user interface is by enabling base

    internationalization. Since Xcode 5, it has been enabled by default. You can

    verify your settings in Project Editor > Project > Info.

    What does this setting do? When you enable base internationalization, Xcode

    modifies your project folder structure. The .xib & .storyboard files will be moved

    The Essential Guide to App Localization

    ONESKY

  • 21

    to Base.lproj folder, while the string elements will be extracted to separate

    project locale folders, such as en.lproj. Only if, of course, there would be

    multiple project locale folders—one for each language.

    Tip: Remember to save the new user interface files to the Base.lproj folder, to

    facilitate base internationalization.

    Now, you’ve internationalized your user interface, but there's no string in it. Let's

    add some text to the user interface and see how it works:

    2. Update strings in user interface files

    Open Main.storyboard and open the Utilities panel. Drag a label from the Object

    library to the view in the View Controller Scene.

    The Essential Guide to App Localization

    ONESKY

  • 22

    Change the text to “Hello World,” and center the label to the view, using Auto

    Layout.

    Why Auto Layout? From Apple's Internationalization and Localization Guide:

    Use Auto Layout to lay out your views relative to each other without fixed

    origins, widths, and heights, so that views reposition and resize appropriately

    when the language or locale changes. Auto Layout makes it possible to have

    one set of .storyboard and .xib files for all languages.

    Now let's update/extract the base strings in Main.storyboard. Simply select

    English under the Localization section of File inspector.

    The Essential Guide to App Localization

    ONESKY

  • 23

    In the project navigator, you will see that there is a new file named Main.strings

    under the Main.storyboard group. This file has been generated by Xcode and

    saved in the en.lproj folder. Let's see what's inside:

    /* Class = "UILabel"; text = "Hello World"; ObjectID = "ybw-Mb-5gb"; */
"ybw-Mb-5gb.text" = "Hello World";

    The key on the left is composed of the Object ID ybw-Mb-5gb and the text

    attribute of the label in the user interface file. The value on the right  is simply the

    text you entered.

    The Essential Guide to App Localization

    ONESKY

  • 24

    Do not change the key or filename. Otherwise, Xcode will not be able to read the

    localized strings at runtime. Instead, use the comments to provide the context of

    the elements.

    3. Internationalize Your Code

    It’s time to get your code ready for localization. You will need to separate the

    user-facing text from the code using NSLocalizedString macros:

    NSLocalizedString(key, comment)

    NSLocalizedStringFromTable(key, tbl, comment)

    NSLocalizedStringFromTableInBundle(key, tbl, bundle, comment)

    NSLocalizedStringWithDefaultValue(key, tbl, bundle, val, comment)

    You can inspect these macros by clicking while holding the command key. When

    you do so, you will see that they all call -[NSBundle

    localizedStringForKey:value:table:] with different targets and parameters.

    The system will look for the string that matches the key from the table in the

    current locale. The table is the file name without .strings file extension. The

    default table is “Localizable” if not specified. Note that the comments from the

    previous step are used to provide the context of the localized string, and also for

    generating the comments in .strings files.

    Now, wrap the navigation title of our view controller so that the navigation bar

    can display it in different languages. In ViewController.h, add the following code:

    (void)viewDidLoad { [super viewDidLoad]; self.navigationItem.title = NSLocalizedString(@"nav-title-hey", @"Navigation Title: Hey");
}

    The Essential Guide to App Localization

    ONESKY

  • 25

    As with internationalizing user interface files, here we also need to create

    a .strings file in order for the system to find the string for the key. For the

    purpose of this tutorial, we will create the file manually.

    In the project navigator, right click on Supporting Files, and select New File. Then

    choose Resources > Strings File.

    Click next and save the file to en.lproj folder as Localizable.strings.

    Now open the empty strings file, add the navigation title, and save.

    /* Navigation Title: Hey */
"nav-title-hey" = "Hey";

    4. Add resources file in other languages

    Now that the project is ready for localization, let's add a new language—

    Portuguese, in this example.

    The Essential Guide to App Localization

    ONESKY

  • 26

    Begin by selecting the project from the project navigator and click + under

    Localizations. Select Portuguese.

    For each file, you can choose which language to reference from, and pick

    whether to localize the whole user interface file or just the strings.

    The Essential Guide to App Localization

    ONESKY

  • 27

    Click Finish. Xcode will generate a new set of .strings files in the pt-PT.lproj

    folder. Then you can add the translations to the .strings files.

    Main.strings:

    /* Class = "UILabel"; text = "Hello World"; ObjectID = "ybw-Mb-5gb"; */
"ybw-Mb-5gb.text" = "Olá Mundo";

    Localizable.strings:

    /* Navigation Title: Hey */
"nav-title-hey" = "Oi";

    The Essential Guide to App Localization

    ONESKY

  • 28

    Export resource files with XLIFF

    Now your app is ready for internationalization. But instead of sending dozens

    of .strings files to your translations, Xcode has a quick export function that

    creates a single .xliff file for each language. (XLIFF is a standard XML-format

    supported by most translation software, including ours.)

    1. Select your project from the File navigator. Then choose the menu item Editor

    > Export For Localization….

    2. In the Save window that appears, choose to Include Development Language

    only if you are sending your English file for translation. If you have existing

    translations you also want to send to your translators, choose Existing

    Translations, and choose from the list of available languages.

    Advanced tipsLanguage is complicated, and what sounds correct in English might not be

    correct in other languages. We’ve gone through the basics in the previous

    sections, but things will often get more complicated, due to linguistic quirks. Here

    we will go through three major variations to watch out for: plurals, gender, and

    number formats.

    Plurals

    English has only two number forms: singular and plural. But some languages

    contain complicated plural forms. Take Russian, for example. The Russian word

    “sword” can be:

    The Essential Guide to App Localization

    ONESKY

  • 29

    Singular Form:

    1 меч

    Plural Form

    No number: мечи
Number ends in 2, 3, 4 excluding 12, 13, 14: 22 меча
Number is 11-14 or ends in 11-14 or ends in 0, 5, 6, 7, 8, 9: 111 мечей
Number ends in 1 excluding 11: 131 меч
Fractional number: 125.5 меча

    Therefore, your code will need to be specific enough that it can support

    translations for all number forms. Otherwise, you risk translation errors. To learn

    more about making sure your code will allow the necessary inputs, check out the

    guidelines provided by Unicode.

    Gender

    Approximately one-fourth of the world’s languages possess grammatical gender

    classes, meaning that every noun has a gender value (masculine, feminine, etc.).

    The gender of a noun will determine a number of other things—such as the form

    of the adjective, which article must be used, and so on.

    Consider French: the word for “bicycle” is masculine, so the question, “Where is

    the bicycle?” translates to "Où est le vélo?" The response would then be "Il est là"

    ("He is there."), instead of “Elle est là.” (“She is there.”)

    If the sentence, “Where is the bicycle?” is not extracted correctly, such as:

    The Essential Guide to App Localization

    ONESKY

    http://cldr.unicode.org/index/cldr-spec/plural-ruleshttp://cldr.unicode.org/index/cldr-spec/plural-ruleshttp://cldr.unicode.org/index/cldr-spec/plural-ruleshttp://cldr.unicode.org/index/cldr-spec/plural-rules

  • 30

    then the translators will have to put in a lot of extra effort to make the translation

    grammatically correct.

    The golden rule of string wrapping is to always include the full sentence of a

    string, and to consider all plural forms and gender. For more information—and

    more engineering tips—check out our blog post 4 tips for developers on

    preparing strings for localization.

    Number formats

    Different languages have different ways of displaying dates and figures. Before

    starting localization, your development team should identify all areas of the app

    that could be affected by different number formats, and make sure that they

    know the right format for each of the languages you are implementing.

    Here are some standard formats for the most common languages.

    US English French German Spanish Italian Japanese

    Datemm/dd/

    yyyydd-mm-yyyy yyyy-mm-dd

    dd/mm/yyyy

    dd/mm/yyyy

    yyyy年年mm⽉月

    dd⽇日

    Time

    hh:mm:ss

    am/pm
(12-hour clock)

    hh:mm:ss
(24-hour

    clock)

    hh:mm:ss
(24-hour

    clock)

    hh:mm:ss
(24-hour

    clock)

    hh:mm:ss
(24-hour

    clock)

    hh:mm:ss
(24-hour

    clock)

    Decimal Separator

    period (.) comma (,) comma (,) comma (,) comma (,) period (.)

    Thousand Separator

    comma (,) space ( )space ( ) or 
period (.)

    space ( )space ( ) or
period (.)

    comma (,)

    Number Example

    15,631.87 15 631,8715 631,87 or


    15.631,8715 631,87

    15 631,87 or
15.631,87

    15,631.87

    Currency HK$12,645.67 12 345,67 € 12 345,67 € 12 345,67 € € 12.345,67 JP¥12,345

    The Essential Guide to App Localization

    ONESKY

    http://www.oneskyapp.com/blog/4-tips-for-developers-on-preparing-strings-for-localization/?utm_source=paid&utm_medium=ebook&utm_campaign=paid-app-ebookhttp://www.oneskyapp.com/blog/4-tips-for-developers-on-preparing-strings-for-localization/?utm_source=paid&utm_medium=ebook&utm_campaign=paid-app-ebookhttp://www.oneskyapp.com/blog/4-tips-for-developers-on-preparing-strings-for-localization/?utm_source=paid&utm_medium=ebook&utm_campaign=paid-app-ebookhttp://www.oneskyapp.com/blog/4-tips-for-developers-on-preparing-strings-for-localization/?utm_source=paid&utm_medium=ebook&utm_campaign=paid-app-ebook

  • 31

    More resourcesThere are many resources about the nitty-gritty of app localization. Check out

    Apple’s guidelines on Internationalization and Localization and Google’s

    Localization Checklist.

    You may also check out OneSky’s Localization Academy to stay on top of

    internationalization knowledge.

    The Essential Guide to App Localization

    ONESKY

    https://developer.apple.com/library/ios/documentation/MacOSX/Conceptual/BPInternational/Introduction/Introduction.htmlhttps://developer.apple.com/library/ios/documentation/MacOSX/Conceptual/BPInternational/Introduction/Introduction.htmlhttps://developer.android.com/distribute/tools/localization-checklist.htmlhttps://developer.android.com/distribute/tools/localization-checklist.htmlhttps://www.oneskyapp.com/academy/?utm_source=paid&utm_medium=ebook&utm_campaign=paid-app-ebookhttps://www.oneskyapp.com/academy/?utm_source=paid&utm_medium=ebook&utm_campaign=paid-app-ebook

  • 32

    While your engineers are preparing the code for localization, you should be

    preparing your translators--by sending them comprehensive reference materials.

    Reference materials are additional documents that you give to the translators, to

    help them understand the meaning of the source text better. There are a few

    kinds of reference materials:

    Translation glossaryA translation glossary is a collection of the key terms in your source language. By

    making a translation glossary, you ensure that translations are consistent—and

    you help protect your brand.

    Your glossary will not only provide standard translations for certain, brand-

    specific terms—it should also note where you don’t want translations. For

    example, Apple keeps the words “iPhone” and “iTunes” in English, no matter what

    language they’re working with. If you are taking the same approach, the glossary

    should specify that these terms remain untranslated. If you do want some key

    terms translated, be sure to list the approved translations for each of your target

    languages.

    How do you make a translation glossary?

    1. Identify your glossary terms

    The first step, of course, is to figure out which terms you actually want to include

    in your glossary.

    Speaking generally, you should be sure to have the following types of terms:

    • Product/service names

    • Brand-specific terminology

    • Acronyms

    Prepare reference materials

    ONESKY

  • 33

    • Standard abbreviations

    • Corporate slogans

    • Text for user interface buttons

    • Any terms that you prefer to keep in English

    • Terms that are used frequently in your content

    • Company-specific jargon

    Industry-specific terms are optional. If you have translators who are unfamiliar

    with your industry (which is not ideal), or if you want to have distinctive

    translations for these terms, then it’s a good idea to include them. Otherwise,

    leave them out.

    You want to have a thorough glossary, but remember: more information is not

    always better. An overstuffed glossary will slow down translators and increase

    management costs.

    Some hacks

    In the list above, some kinds of terms (such as brand names or slogans) are easy

    to identify. Others can be trickier to track down in your content. To identify the

    key terms for your glossary, you can either calculate frequencies or examine your

    product’s UI.  

    • Calculating frequencies:  In this method, you simply compute the number of

    times that terms appear in your product’s content. The terms that appear more

    frequently are usually what you’ll want to include in your glossary.

    • Looking at the UI: With this method, you identify the terms that appear on your

    app’s panel, key buttons, etc., and include these in the glossary. These terms

    must be translated consistently, because these are the tabs that let users

    navigate your product.

    The Essential Guide to App Localization

    ONESKY

  • 34

    2. Explain the glossary terms

    Once you’ve collected all your glossary terms, you’ll need to add some

    explanations for your translators. In order to provide the translators with enough

    context, be sure to include the following information:

    • Subject field (In what feature/area is this word used?)

    • Part of speech (How is this word being used? As a noun? An adjective? A

    verb?)

    • Definition (What does the word mean?)

    • Usage note (How is the word used in the specific context of your app?)

    For example, here’s how Facebook explains glossary terms.

    Part of Facebook’s translation glossary

    Note that Facebook is very clear about how the word is used within the context

    of Facebook’s product. For example, they explain which meaning of the word

    The Essential Guide to App Localization

    ONESKY

  • 35

    “fan” is relevant here, and they explain what it means to be a fan on Facebook

    specifically (as opposed to, say, a fan in a soccer stadium).

    In some cases, a word may have synonyms within your app, or occasionally

    appear in a different form (e.g. with different hyphenation, or in a different tense).

    Make sure to note these special cases, so that translators don’t miss out on these

    variations.

    3. Translate the glossary terms

    Ask your translators to translate these terms before they begin the rest of the

    translation. And be geographically sensitive—the translation of glossary terms

    into, say, Traditional Chinese in Hong Kong may be a bit different than the

    translation into Taiwanese Chinese. Language subgroups aren’t all identical.

    Before you finalize the glossary, make sure that every translated term has been

    approved by at least one independent, in-country reviewer. If your reviewers

    disagree, use the clearest translation.

    4. Manage your glossary terms

    A good translation glossary is a work in progress. If you have new terms that

    deserve a glossary entry, add them. If your translators often come to you with

    questions about a particular word, update the glossary.

    Also encourage your translators to suggest new terms for the glossary. That way,

    when you add new languages in the future, you’ll have an even better glossary

    ready for the translators.

    Style guideThe style guide is what will ensure that translators can capture not only the

    language of your brand, but also its voice.  Rather than go over key terms—as the

    The Essential Guide to App Localization

    ONESKY

  • 36

    translation glossary does—the style guide explains the tone and presentation of

    your company’s content.

    How do you make a style guide?

    1. Identify the targets

    Your translator needs to know who will be reading this content. Is your app

    targeted at 25 year-old gamers, or 60-year-old college professors? Will it be used

    in corporate boardrooms, or in middle school hallways? Let your translators

    know. Key demographic details include age, education level, and any lifestyle

    indicators.

    2. Specify a tone of voice

    Every brand has a unique tone of voice. Facebook, for example, uses a simple,

    straightforward, conversational tone in all of its writing, regardless of the

    language.

    Your brand has its own voice, too. To make sure that your translators can capture

    that tone, note a few things in the style guide: do you want formal or informal

    language? Do you prefer active or passive voice? Do you want simple language,

    or is more elevated diction better?

    3. Share your formatting preferences

    If you have any preferences about formatting or punctuation, the translation style

    guide is the place to mention them. Details about capitalization, preferences

    about the use of acronyms or abbreviations, favorite fonts, chosen units of

    measurement: put them here. Also include any necessary information about how

    your translators should deal with currencies, addresses, phone numbers, and so

    forth.

    Three bonus tips

    The Essential Guide to App Localization

    ONESKY

  • 37

    We’ve laid out the basics. But there are a few things you can do to make your

    style guide even more effective:

    1. Use lots of examples

    What kind of writing do you like? What kind of writing would you like to avoid? If

    you want your app’s content to sound like something out of, say, Harry Potter,

    explain that. Include a few favorite excerpts from Harry Potter for reference. If

    you want something more formal, give some examples of the kind of formal text

    that you’d like your translators to echo. If there’s a particular app whose style you

    admire, let your translators know.

    2. Update the style guide as needed

    Things will change. Your translators will come to you with good questions. You’ll

    realize that something is unclear. Don’t be afraid to update! A good guide is

    always a work in progress.

    3. When necessary, use multiple style guides

    Certain styles work better in some countries than in others. In Japan, for example,

    even the most informal tones require some formal usages. It’s just part of

    Japanese culture. So, in some cases, you might want to modify the style guide

    accordingly, or give your translators more leeway.

    Examples

    For reference, we recommend checking out a few well-established translation

    style guides.

    A good place to start is the TED translation style guide—a neat but useful set of

    guidelines that’s targeted at volunteer translators. For an example of a more

    comprehensive style guide, check out the Facebook translation style guide,

    which is a good model for many tech products. And if you’re looking for a more

    The Essential Guide to App Localization

    ONESKY

    https://www.ted.com/participate/translate/guidelineshttps://www.ted.com/participate/translate/guidelineshttps://www.facebook.com/translations/style_guideshttps://www.facebook.com/translations/style_guides

  • 38

    institutional, in-depth translation style guide, check out the World Bank

    Translation style guide.

    ScreenshotsYou know that users like pictures—but so do translators. Screenshots are a great,

    visual way to provide context for the source text. Screenshots are especially

    helpful for when the translator is working on user interface content, such as a

    button or an error message.

    The Essential Guide to App Localization

    ONESKY

    http://siteresources.worldbank.org/TRANSLATIONSERVICESEXT/Resources/Translation_Style_Guide_English.pdfhttp://siteresources.worldbank.org/TRANSLATIONSERVICESEXT/Resources/Translation_Style_Guide_English.pdfhttp://siteresources.worldbank.org/TRANSLATIONSERVICESEXT/Resources/Translation_Style_Guide_English.pdfhttp://siteresources.worldbank.org/TRANSLATIONSERVICESEXT/Resources/Translation_Style_Guide_English.pdf

  • Translate

    Part III

  • 40

    Now that you’ve prepared all the materials--and code--for your translations, you

    need to actually have translations. Send the resources files and reference

    materials to your translators or, if you’re outsourcing, your translation vendor.

    Communication is keyWe often see companies fail to communicate with their translators or service

    providers--especially when outsourcing. That’s a big mistake. If translators can’t

    understand the source text completely, they won’t be able to translate it as well.

    Be sure to give translators as much context as possible; better communication

    leads to better translations .

    As we outlined in the last section,  QA materials can help catch translation

    mistakes. But it’s better to just prevent problems in the first place.  Therefore, we

    recommend communicating closely with your translator, so you can solve

    problems together as they arise.

    Tips for communicating with translators

    • Assign a dedicated team member. That way, translators’ inquiries won’t

    accidentally fall through the cracks.

    • Provide more examples. Often, translators ask questions because they want to

    be sure that they understand the exact meaning of the text. The more examples

    you give, the better sense the translators will have of the meaning and tone.

    • Create a forum (crowdsourcing only). When you have a large translator

    community, you run the risk of spending a lot of time just answering translators’

    questions. With a translator forum, the translators can solve some of the

    problems themselves.

    Improve the translation process

    ONESKY

  • 41

    Use a Translation Management System (TMS)Picture WordPress, but for content management. A TMS guides the flow of

    content through every step of the localization process, ensuring that project

    information is carefully tracked. A TMS will smooth the localization process in

    many ways:

    Automate key steps to save time

    A TMS allows you to automatically import and export resource files, which saves

    precious man-hours. Plus, you can set up notifications to keep team members on

    track and to identify tasks in their early stages—so a manager doesn’t have to be

    constantly monitoring everyone’s progress.

    Improve collaboration to avoid confusion

    TMS allows everyone to work on the same platform, translate collaboratively, and

    see each other’s progress. This is especially helpful when you have translators

    with different roles in the project—such as a primary translator, a proofreader,

    and a copywriter.

    Improve communication

    A TMS has a notification system in place to keep everyone on task and aware of

    progress. For example, a TMS can notify translators of new content ready for

    translation, or let an engineer know when content is ready for implementation.

    Better communication means quicker, cheaper, and better translations.

    Avoid duplication to save cost

    When updating your app, you might think you need to start the translation

    process from scratch. However, some of the new content probably overlaps with

    some of the old content. While a spreadsheet cannot detect these duplications, a

    The Essential Guide to App Localization

    ONESKY

  • 42

    TMS will help keep the translation process streamlined and efficient by removing

    any duplication. And less duplication mean lower costs.

    Built-in features to ensure translation quality.

    Translation management systems also have some built-in quality assurance

    features. These include a glossary and other reference materials for translators, as

    well as placeholder validation and length limits on translated text.

    Leverage on translation memory to scale quickly.

    The translation memory of a TMS keeps all translated content organized,

    adaptable, and immediately available. With a TMS, it’s easy to repurpose content

    for different formats and channels, as the need arises. For example, you can

    repurpose the translated content of your Android app to your iOS app quickly

    with the help of translation memory.

    Single platform for greater control over the project.

    A good TMS is a streamlined project hub. It organizes the entire process on a

    single platform and lets you track every stage of the translation. Instead of

    getting stuck in a tangle of spreadsheets and email attachments, you can easily

    see and control the entire process.

    The Essential Guide to App Localization

    ONESKY

  • Implement

    Part IV

  • 44

    With the translations and code in place, it’s time for the final big step:

    implementation. Here’s how you insert the translated content back into the app

    store listing and the app itself.

    App store

    iTunes

    1. In iTunes Connect, go to My Apps.

    2. Choose the app that you want to localize.

    3. Select the appropriate languages in the right panel. You’ll have lots of choices!

    The iTunes App Store currently supports 28 languages.

    4. Input the translated metadata for your chosen language. 
Note that, to activate a new language, your app must be in an editable state. If

    your app is NOT in an editable state, you can still modify the metadata of the

    languages already activated; however, you will have to create a new version if

    you want to add a language.

    5. If you want to localize details on your in-app purchases, go to In-App

    Purchases on your app page. Choose an in-app purchase, and click Add

    Language. Then input the localized name and description of the in-app

    purchase.

    Google Play

    1. Select your app in the Developer Console.

    2. Select the languages you would like to add, and click Save.

    3. On the Store Listing page, choose Add your own translation text.

    Add the translations

    ONESKY

  • 45

    4. As you select languages, you’ll see them added to your store listing. For each

    language, plug in your translations, as well as any localized visuals.

    5. Paste the translations into the designated places.

    6. Click Save and publish when finished.

    App

    Android

    There’s only one step for Android. Simply put the resource files (strings.xml)

    under the right /res/value/ subdirectories.

    iOS

    To import localizations:

    1. In the Xcode project editor, select the project or target.

    2. Choose Editor > Import Localizations.

    3. In the sheet that appears, select a file with an .xliff extension, and click Open.

    4. A sheet appears showing the differences between the imported .xliff file and

    the existing resources in the project folder.

    5. Click Import.

    6. Xcode decodes the localized strings files from the .xliff file and adds them to

    the project folder. Xcode replaces existing strings files. 


    The Essential Guide to App Localization

    ONESKY

  • 46

    To make sure your translations are working, we recommend on-device

    localization testing—basically, having someone test-drive your app. The

    localization tester should obviously be fluent in the new language, but that’s not

    enough. She should also be familiar with the app, and willing to go through every

    single part of it.

    An ideal localization tester will tell you if the translation is bad—and so much

    more. She’ll tell you if the text doesn’t fit on the page, or places where your app

    might be lost on (or offensive to) local culture. Basically, she’s going to catch all

    the localization problems that you might have missed the first time around.

    In the next section, we’ll lay out some of the things that she—and you!—should be

    looking for.

    Common problems to spot

    The translation does not fit the context.

    In isolation, a phrase may make perfect sense. In the actual app, next to a

    particular image or serving a particular function, the phrase may sound awkward,

    or have connotations that your translators didn’t foresee.

    Remember, when it comes to translation, context is king. Even if you’ve provided

    your translators with screenshots or other reference materials (see our section on

    reference materials), it’s easy to mess up. On-device localization testing will help

    you catch these mistakes before it’s too late.

    Some strings may not have been wrapped for translation.

    It’s easy for a bit of text to slip through your engineer’s fingers, and then to be

    left out of the translation process. As a result, when you go back through your

    mobile app, there will often be chunks of untranslated text floating around,

    especially inside graphics files. A good on-device localization tester will catch

    Test the translations

    ONESKY

  • 47

    that text. That way, your new users don’t have to wonder why, for example, all the

    error messages are in English.

    Translation may not fit user GUI elements.

    A sentence in English may be much shorter than the same sentence in German

    (where words are, on average, 50% longer than in English) and much longer than

    it would be in Chinese (which uses square characters that take up less space). A

    good on-device localization tester will identify places where the translated text is

    taking over an entire page, or leaving lots of empty spaces.

    Getting startedPrepare a walkthrough guide for the testers. The list should detail which parts of

    the app you need to have tested. And remember: some screens, such as error

    messages, may need a special trigger. Show your testers how to trigger it, or

    grant them special access to these parts.

    Send the beta version of your app to the testers. Platforms such as Testflight and

    HockeyApp can be especially useful.

    On-device localization testers will go through your app carefully and let you

    know if they catch any bugs: translation errors, UI display issues, untranslated

    strings, or unnatural translations. Then they’ll let you know what you need to fix.

    People with translation backgrounds tend to do a better job test-driving your

    mobile app. They can even help you fix the translation problems. It’s fine if you

    want the same person who translated your app to test it, but keep in mind that

    sometimes a blind tester, who has never seen the app before, will do a better job. 


    The Essential Guide to App Localization

    ONESKY

    https://www.testflightapp.com/https://www.testflightapp.com/http://hockeyapp.net/http://hockeyapp.net/

  • 48

    After test-driving the translation, it’s finally time. Launch your app, and announce

    the big news: your app can speak in more languages now!  Be sure to use an app

    analytics platform to track the metrics, so you can see how your app is doing in

    new markets.

    Don’t forget to track the results

    ONESKY

  • By localizing your app, you’ve found a way to reach more audiences and provide

    a better experience for your non-English-speaking customers. Data has shown

    just how much a difference that effort can make, and we hope that you, too, are

    reaping the rewards.

    If you have further questions or comments, or just want to learn more about the

    localization process, be sure to check out our company website.

    About OneSky

    OneSky (oneskyapp.com) offers cloud translation management system (TMS)

    which helps mobile apps, website and games manage localization projects,

    access professional translators and crowdsource.

    • Translation service for over 50 languages

    • Over-the-air updates, bypassing iTunes Connect

    • Supports popular file formats and major app stores

    Congratulation!

    http://www.oneskyapp.com/?utm_source=paid&utm_medium=ebook&utm_campaign=paid-app-ebookhttp://www.oneskyapp.com/?utm_source=paid&utm_medium=ebook&utm_campaign=paid-app-ebookhttp://bit.ly/oneskyapphttp://bit.ly/oneskyapphttp://bit.ly/oneskyapphttp://bit.ly/oneskyapphttp://bit.ly/oneskyapp

  • ONESKY

    A publication of

    FREE ASSESSMENT

    Our Localization Experts will evaluate your product and show

    you how to win over users around the world. Talk to us.

    [email protected]

    READ MORE

    Want to learn more and be updated with exciting news and

    insights about app localization? 
Subscribe to our Newsletter

    EXPLORE THE PLATFORM

    Explore the OneSky’s platform to see how it really works and fit

    your product.

    Sign up for free

    www.oneskyapp.com/blogwww.oneskyapp.com

    mailto:[email protected]:[email protected]:[email protected]:[email protected]://offers.oneskyapp.com/subscribe-to-blog-newsletter-paid-ebook/?utm_source=paid&utm_medium=ebook&utm_campaign=paid-app-ebookhttp://offers.oneskyapp.com/subscribe-to-blog-newsletter-paid-ebook/?utm_source=paid&utm_medium=ebook&utm_campaign=paid-app-ebookhttp://offers.oneskyapp.com/sign-up-for-free-now-ebook/?utm_source=paid&utm_medium=ebook&utm_campaign=paid-app-ebookhttp://offers.oneskyapp.com/sign-up-for-free-now-ebook/?utm_source=paid&utm_medium=ebook&utm_campaign=paid-app-ebookhttp://www.oneskyapp.com/blog/?utm_source=paid&utm_medium=ebook&utm_campaign=paid-app-ebookhttp://www.oneskyapp.com/blog/?utm_source=paid&utm_medium=ebook&utm_campaign=paid-app-ebookhttp://www.oneskyapp.com/?utm_source=paid&utm_medium=ebook&utm_campaign=paid-app-ebookhttp://www.oneskyapp.com/?utm_source=paid&utm_medium=ebook&utm_campaign=paid-app-ebook