Home | History | Annotate | Download | only in tools
      1 page.title=Localization Checklist
      2 page.metaDescription=Take advantage of the worldwide audience offered by Android and Google Play. Read this checklist to get an overview of how to deliver your product to markets around the world.
      3 meta.tags="localizing, publishing, disttools"
      4 page.tags="local, l10n, translation, language"
      5 page.image=/distribute/images/localization-checklist.jpg
      6 
      7 @jd:body
      8 
      9 <div id="qv-wrapper">
     10   <div id="qv" style="width:280px">
     11     <h2>Checklist</h2>
     12     <ol>
     13       <li><a href="#identify-languages">1. Identify target languages and locales</a></li>
     14       <li><a href="#design">2. Design for localization</a></li>
     15       <li><a href="#manage-strings">3. Manage strings for localization</a></li>
     16       <li><a href="#translate-strings">4. Translate UI strings and other resources</a></li>
     17       <li><a href="#test">5. Test your localized app</a></li>
     18       <li><a href="#prepare-launch">6. Prepare for international launch</a></li>
     19       <li><a href="#support-users">7. Support international users after launch</a></li>
     20     </ol>
     21   </div>
     22 </div>
     23 
     24 <div class="top-right-float" style="width:194px">
     25   <img src="{@docRoot}distribute/images/localization-checklist.jpg">
     26 </div>
     27 
     28 <p>
     29   Android and Google Play offer you a worldwide audience for your apps, with an
     30   addressable user base that's growing very rapidly in countries such as Japan,
     31   Korea, India, Brazil, and Russia. We strongly encourage you to localize as it
     32   can maximize your apps distribution potential resulting in ratings from
     33   users around the world.
     34 </p>
     35 
     36 <p>
     37   Localization involves a variety of tasks throughout your app development
     38   cycle, and advance planning is essential. This document helps you identify
     39   key aspects of localization to get your app ready for a successful worldwide
     40   launch on Google Play.
     41 </p>
     42 
     43 <div class="headerLine">
     44   <h2 id="identify-languages">
     45     1. Identify target languages and locales
     46   </h2>
     47 
     48 
     49 </div>
     50 
     51 <p>
     52   A basic but important step in preparing for localization is identifying the
     53   countries where youll distribute your apps and the languages spoken there.
     54   Localizing your apps is particularly important in countries where there is a
     55   large market opportunity and English or another international language is not
     56   widely used.
     57 </p>
     58 
     59 <p>
     60   For international users, you can manage your apps in three main dimensions:
     61   country, locale, and language. Of those, language is the key consideration
     62   for localization (locale can also significant because of differences in
     63   formats for dates, times, currencies, and similar information). Users control
     64   both the language and locale used on their Android devices and in turn those
     65   affect how your app is displayed.
     66 </p>
     67 
     68 <p>
     69   Typically, you would decide which countries to target first, based on overall
     70   market size and opportunity, app category, competitive landscape, local
     71   pricing and financial factors, and so on. Then, based on your country
     72   targeting, you would determine the languages you need to support in your
     73   apps.
     74 </p>
     75 
     76 <p>
     77   You may then decide to localize into some or all languages of the targeted
     78   country. It might make sense to start with a major regional language and add
     79   more languages as user base grows.
     80 </p>
     81 
     82 <p>
     83   Once you have identified your target languages, you can focus your
     84   development, translation, testing, and marketing efforts to these markets.
     85 </p>
     86 
     87 <h3 class="rel-resources clearfloat">Related resources</h3>
     88 
     89 <div class="resource-widget resource-flow-layout col-13" data-query=
     90 "collection:distribute/toolsreference/localizationchecklist/identifylocales"
     91 data-sortorder="-timestamp" data-cardsizes="9x3," data-maxresults="6">
     92 </div>
     93 
     94 <div class="headerLine">
     95   <h2 id="design">
     96     2. Design for localization
     97   </h2>
     98 
     99 
    100 </div>
    101 
    102 <p>
    103   After you've determined your target languages for localization, assess what
    104   you'll need to do to support them in your apps and plan the work early.
    105   Consider the vocabulary expansion, script requirements, character spacing and
    106   wrapping constraints, left-to-right and right-to-left support, and other
    107   potential factors in each language.
    108 </p>
    109 
    110 <h4>
    111   <strong>Design a single set of flexible layouts</strong>
    112 </h4>
    113 
    114 <p>
    115   As you create your layouts, make sure that any UI elements that hold text are
    116   designed generously. Its good to allow more space than necessary for your
    117   language (up to 30% more is normal) to accommodate other languages.
    118 </p>
    119 
    120 <p>
    121   Also, elements should be able to expand horizontally or vertically to
    122   accommodate variations in the width and height of UI strings or input text.
    123   Your text strings shouldnt overlap borders or the screen edge in any of your
    124   target languages.
    125 </p>
    126 
    127 <p>
    128   If you design your UI carefully, you can typically use a single set of
    129   layouts for all of the languages you support. See <a href=
    130   "{@docRoot}training/basics/fragments/fragment-ui.html">Building a Flexible
    131   UI</a> for more information.
    132 </p>
    133 
    134 <h4>
    135   <strong>Use alternative layouts where needed</strong>
    136 </h4>
    137 
    138 <p>
    139   In cases where your UI can't accommodate text in one of your target
    140   languages, you can create an <a href=
    141   "{@docRoot}guide/topics/resources/providing-resources.html#AlternativeResources">
    142   alternative layout</a> for that language only. Android makes it easy to
    143   declare sets of layouts and other resources to load for specific languages,
    144   locales, screen sizes, and so on, simply by tagging them with the appropriate
    145   resource qualifiers. While the flexibility of alternative layouts exists it
    146   can also make your apps harder to maintain over time. In general, using a
    147   single, more flexible layout is preferred.
    148 </p>
    149 
    150 <h4>
    151   <strong>Support RTL layouts and text</strong>
    152 </h4>
    153 
    154 <p>
    155   If youre distributing to countries where right-to-left (RTL) scripts are
    156   used, you should consider implementing support for RTL layouts and text
    157   display and editing, to the extent possible.
    158 </p>
    159 
    160 <p>
    161   Android 4.1 introduced limited support for bidirectional text, allowing apps
    162   to display and edit text in both left-to-right (LTR) and right-to-left (RTL)
    163   scripts. Android 4.2 added <a href=
    164   "http://android-developers.blogspot.fr/2013/03/native-rtl-support-in-android-42.html">
    165   full native support for RTL layouts</a>, including layout mirroring, so that
    166   you can deliver the same great app experiences to all of your users.
    167 </p>
    168 
    169 <p>
    170   At a minimum, for Android 4.2 users, it's simple to add basic RTL layout
    171   mirroring, which goes a long way toward meeting the needs of RTL users.
    172 </p>
    173 
    174 <h4>
    175   <strong>Use system-provided formats for dates, times, numbers, and
    176   currencies</strong>
    177 </h4>
    178 
    179 <p>
    180   Where your apps specify dates, times, numbers, currencies, and other entities
    181   that can vary by locale, make sure to use the system-provided formats, rather
    182   than app-specific formats. Keep in mind that not every locale uses the same
    183   thousands separator, decimal separator, or percent sign.
    184 </p>
    185 
    186 <p>
    187   Android provides a variety of utilities for formatting and converting
    188   patterns across locales, such as <a href=
    189   "{@docRoot}reference/android/text/format/DateUtils.html">DateUtils</a> and
    190   <a href="{@docRoot}reference/java/text/DateFormat.html">DateFormat</a> for
    191   dates; <a href=
    192   "{@docRoot}reference/java/lang/String.html#format(java.lang.String,%20java.lang.Object...)">
    193   String.format()</a> or <a href=
    194   "{@docRoot}reference/java/text/DecimalFormat.html">DecimalFormat</a> for
    195   numbers and currency; <a href=
    196   "{@docRoot}reference/android/telephony/PhoneNumberUtils.html">PhoneNumberUtils</a>
    197   for phone numbers; and others.
    198 </p>
    199 
    200 <p>
    201   Hardcoding your formats based on assumptions about the user's locale can
    202   result in problems when the user changes to another locale. Using
    203   system-provided formats and utilities is strongly encouraged.
    204 </p>
    205 
    206 <h4>
    207   <strong>Include a full set of default resources</strong>
    208 </h4>
    209 
    210 <p>
    211   Make sure that your apps can run properly regardless of language or locale by
    212   providing a complete set of default resources. The app's default resources
    213   are those that are <em>not marked</em> with any language or locale
    214   qualifiers, for example those stored in res/drawable/ and res/values/. If
    215   your apps attempt to load a resource that isn't available in the current
    216   language or in the default set, they will crash.
    217 </p>
    218 
    219 <p>
    220   Whatever the default language youre using in your apps, make sure that you
    221   store the associated layouts, drawables, and strings in default resource
    222   directories, without language or locale qualifiers.
    223 </p>
    224 
    225 <h3 class="rel-resources clearfloat">Related resources</h3>
    226 
    227 <div class="resource-widget resource-flow-layout col-13" data-query=
    228 "collection:distribute/tools/loc/designforloc" data-sortorder="-timestamp"
    229 data-cardsizes="9x3" data-maxresults="6">
    230 </div>
    231 
    232 <div class="headerLine">
    233   <h2 id="manage-strings">
    234     3. Manage strings for localization
    235   </h2>
    236 
    237 
    238 </div>
    239 
    240 <p>
    241   It's important to manage your apps UI strings properly, so that you deliver
    242   a great experience for users and make localization straightforward.
    243 </p>
    244 
    245 <h4>
    246   <strong>Move all strings into strings.xml</strong>
    247 </h4>
    248 
    249 <p>
    250   As you build your apps, remember not to hard code any string. Instead declare
    251   <em>all</em> of your strings as resources in a default strings.xml file which
    252   makes it easy to update and localize. Strings in strings.xml file can be
    253   extracted, translated and integrated back into your app (with appropriate
    254   qualifiers) without any changes to compiled code.
    255 </p>
    256 
    257 <p>
    258   If you generate images with text, put those strings in strings.xml as well,
    259   and regenerate the images after translation.
    260 </p>
    261 
    262 <h4>
    263   <strong>Follow Android guidelines for UI strings</strong>
    264 </h4>
    265 
    266 <p>
    267   As you design and develop your UIs, make sure that you pay close attention to
    268   <em>how</em> you talk to your user. In general, use a <a href=
    269   "{@docRoot}design/style/writing.html">succinct and compressed style</a> that
    270   is friendly but brief, and use a consistent style throughout your UIs.
    271 </p>
    272 
    273 <p>
    274   Make sure that you read and follow the Android Design recommendations for
    275   <a href="{@docRoot}design/style/writing.html">writing style and word
    276   choice</a>. Doing so will make your apps appear more polished to the user and
    277   will help users understand your UI more quickly.
    278 </p>
    279 
    280 <p>
    281   Also, always use Android standard terminology wherever possible&mdash;such as
    282   for UI elements such as "Action Bar," "Options Menu," "System Bar,"
    283   "Notifications," and so on. Using Android terms correctly and consistently
    284   makes translation easier and results in a better end-product for users.
    285 </p>
    286 
    287 <h4>
    288   <strong>Provide sufficient context for declared strings</strong>
    289 </h4>
    290 
    291 <p>
    292   As you declare strings in your strings.xml file, make sure to describe the
    293   context in which the string is used. This information will be invaluable to
    294   translators and result in better quality translation and will also help you
    295   manage your strings more effectively over time.
    296 </p>
    297 
    298 <p>
    299   Here's an example:
    300 </p>
    301 
    302 <pre class="prettyprint">
    303 &lt;!-- The action for submitting a form. This text is on a button that can fit 30 chars --&gt;
    304 &lt;string name="login_submit_button"&gt;Sign in&lt;/string&gt;
    305 </pre>
    306 <p>
    307   Consider providing context information that may include:
    308 </p>
    309 
    310 <ul>
    311   <li>
    312     <p>
    313       What is this string for? When/where is it presented to the user?
    314     </p>
    315   </li>
    316 
    317   <li>
    318     <p>
    319       Where is this in the layout? For example, if its a button, translations
    320       are less flexible than if it were a text box.
    321     </p>
    322   </li>
    323 </ul>
    324 
    325 <h4>
    326   <strong>Mark message parts that should not be translated</strong>
    327 </h4>
    328 
    329 <p>
    330   Often strings contain contain text that shouldnt be translated to other
    331   languages. Common examples might be a piece of code, a placeholder for a
    332   value, a special symbol, or a name. As you prepare you strings for
    333   translation, look for and mark text that should remain as-is, without
    334   translation, so that translators dont change it.
    335 </p>
    336 
    337 <p>
    338   To mark text that should not be translated, use an
    339   <code>&lt;xliff:g&gt;</code> placeholder tag. Here's an example tag that
    340   ensures the text "%1$s" will not be changed during translation (otherwise it
    341   could break the message):
    342 </p>
    343 
    344 <pre class="prettyprint">
    345 &lt;string name="countdown"&gt;
    346     &lt;xliff:g id="time" example="5 days&gt;%1$s&lt;/xliff:g&gt;until holiday
    347 &lt;/string&gt;
    348 </pre>
    349 <p>
    350   When you declare a placeholder tag, always add an id attribute that explains
    351   what the placeholder is for. If your apps will later replace the placeholder
    352   value, be sure to provide an example attribute to clarify the expected use.
    353 </p>
    354 
    355 <p>
    356   Here are some more examples of placeholder tags:
    357 </p>
    358 
    359 <pre>
    360 &lt;resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"&gt;
    361 
    362 &lt;!-- Example placeholder for a special unicode symbol --&gt;
    363 
    364 &lt;string name="star_rating"&gt;Check out our 5
    365 
    366     &lt;xliff:g id="star"&gt;\u2605&lt;/xliff:g&gt;
    367 
    368 &lt;/string&gt;
    369 
    370 &lt;!-- Example placeholder for a for a URL --&gt;
    371 
    372 &lt;string name="app_homeurl"&gt;
    373 
    374     Visit us at &lt;xliff:g id="application_homepage"&gt;http://my/app/home.html</xliff:g>;
    375 
    376 &lt;/string&gt;
    377 
    378 &lt;!-- Example placeholder for a name --&gt;
    379 
    380 &lt;string name="prod_name"&gt;
    381 
    382     Learn more at &lt;xliff:g id="prod_gamegroup"&gt;Game Group&lt;/xliff:g&gt;
    383 
    384 &lt;/string&gt;
    385 
    386 &lt;!-- Example placeholder for a literal --&gt;
    387 
    388 &lt;string name="promo_message"&gt;
    389 
    390     Please use the "&lt;xliff:g id="promotion_code"&gt;ABCDEFG&lt;/xliff:g&gt; to get a discount.
    391 
    392 &lt;/string&gt;
    393 
    394 ...
    395 
    396 &lt;/resources&gt;
    397 </pre>
    398 <h3 class="rel-resources clearfloat">Related resources</h3>
    399 
    400 <div class="resource-widget resource-flow-layout col-13" data-query=
    401 "collection:distribute/toolsreference/localizationchecklist/managestrings"
    402 data-sortorder="-timestamp" data-cardsizes="9x3" data-maxresults="6">
    403 </div>
    404 
    405 <div class="headerLine">
    406   <h2 id="translate-strings">
    407     4. Translate UI strings and other resources
    408   </h2>
    409 
    410 
    411 </div>
    412 
    413 <p>
    414   Translating your apps UI strings and resources to your target languages is
    415   the key phase of localization, and it's the one that requires the most care
    416   and planning.
    417 </p>
    418 
    419 <p>
    420   It is recommended to work with a professional translator (see <a href=
    421   "#gp-trans">Purchase professional translations</a>) to ensure high quality
    422   translations that enhance the value of your app. Machine translations,
    423   although an option may not produce as good an experience for your users.
    424 </p>
    425 
    426 <h4>
    427   <strong>Prepare for translation</strong>
    428 </h4>
    429 
    430 <p>
    431   Translation output quality will depend in part on your input therefore make
    432   sure that your strings.xml file is well organized, well commented, and
    433   accurate.
    434 </p>
    435 
    436 <p>
    437   Here are some ways to prepare your strings for translation:
    438 </p>
    439 
    440 <ul>
    441   <li>
    442     <p>
    443       Make sure your strings are formatted correctly and consistently.
    444     </p>
    445   </li>
    446 
    447   <li>
    448     <p>
    449       Follow the strings recommendations listed in <a href=
    450       "#manage-strings">Manage strings for localization</a>, above.
    451     </p>
    452   </li>
    453 
    454   <li>
    455     <p>
    456       Clean up the strings.xml file and remove unused strings.
    457     </p>
    458   </li>
    459 
    460   <li>
    461     <p>
    462       Place comments in the file to identify the owner, origin, and the version
    463       of the file, as well as any special instructions for translators.
    464     </p>
    465   </li>
    466 
    467   <li>
    468     <p>
    469       Identify existing translations, if any, and include those in an outgoing
    470       zip file or other package that you send to translators.
    471     </p>
    472   </li>
    473 
    474   <li>
    475     <p>
    476       Identify drawables or other resources that require translation and
    477       include them in the translators package.
    478     </p>
    479   </li>
    480 
    481   <li>
    482     <p>
    483       Additionally, consider translating your apps store listing details
    484       &mdash; app title and description, release notes, and so on &mdash; as
    485       well as other international marketing materials.
    486     </p>
    487   </li>
    488 
    489   <li>
    490     <p>
    491       Create a terminology list that explains the meaning and use of key terms
    492       found in your product, your market, or the underlying technology. Add the
    493       list to the translators package.
    494     </p>
    495   </li>
    496 </ul>
    497 
    498 <h4>
    499   <strong>Send your strings for translation</strong>
    500 </h4>
    501 
    502 <p>
    503   Early in the development cycle, contact professional translation vendors to
    504   get an idea of cost and turnaround time. Make sure to include multiple
    505   iterations in the cost. You can find translation vendors online or use
    506   translation services available directly from Google Play Developer console
    507   (see <a href="#gp-trans">Purchase professional translations</a>).
    508 </p>
    509 
    510 <p>
    511   When your translations are complete, take a preliminary look at the
    512   translations. Check that all files were translated, check for potential
    513   encoding issues, and make sure that declaration formats are intact.
    514 </p>
    515 
    516 <p>
    517   If everything looks good, carefully move the localized directories and files
    518   back into your apps resources. Make sure to tag the directories with the
    519   appropriate language and locale qualifiers so that they'll later be loaded
    520   properly.
    521 </p>
    522 
    523 <p>
    524   After the translations are merged back into your app, start <a href=
    525   "#test">testing the localized app</a>.
    526 </p>
    527 
    528 <h4 id="gp-trans">
    529   <strong>Purchase professional translations through Google Play</strong>
    530 </h4>
    531 
    532 <p>
    533   The <a href="https://support.google.com/l10n/answer/6359997">App Translation
    534   Service</a> can help you quickly purchase translations of your app. In the
    535   Developer Console and Android Studio, you get instant quotes from a list of
    536   third-party translation vendors. Beyond the app UI strings, your order can
    537   include translations for Play Store text, IAP names, and ad text.
    538 </p>
    539 
    540 <p>
    541   Your translation order is a direct agreement between you and your chosen
    542   vendor. The vendor will work directly with you to provide clarification and
    543   resolve any issues during the translation process.
    544 </p>
    545 
    546 <div>
    547   <img src="{@docRoot}images/gp-localization-trans-0.png" class="border-img">
    548 </div>
    549 
    550 
    551 <div class="headerLine">
    552   <h2 id="test">
    553     5. Test your localized app
    554   </h2>
    555 
    556 
    557 </div>
    558 
    559 <p>
    560   Once you've received your translated strings and resources and moved them
    561   back into your apps, you need to test the apps to make sure that theyre
    562   ready for distribution to your international users.
    563 </p>
    564 
    565 <p>
    566   Manual testing can help you discover localization issues in your layouts and
    567   strings that can affect user satisfaction and, ultimately, your apps' user
    568   rating.
    569 </p>
    570 
    571 <h4>
    572   <strong>Set up a test environment</strong>
    573 </h4>
    574 
    575 <p>
    576   To test your localized app, you'll need to set up an environment consisting
    577   of multiple devices (or virtual devices) and screen sizes, based on the
    578   markets and form factors youre targeting. Note that the range of devices in
    579   specific regions might be different. If possible, match your test devices to
    580   the actual devices likely to be available to users.
    581 </p>
    582 
    583 <h4>
    584   <strong>Look for common localization issues</strong>
    585 </h4>
    586 
    587 <p>
    588   On each test device, set the language or locale in Settings. Install and
    589   launch the app and then navigate through all of the UI flows, dialogs, and
    590   user interactions. Enter text in inputs. Some things to look for include:
    591 </p>
    592 
    593 <ul>
    594   <li>
    595     <p>
    596       Clipped text, or text that overlaps the edge of UI elements or the screen
    597     </p>
    598   </li>
    599 
    600   <li>
    601     <p>
    602       Poor line wrapping
    603     </p>
    604   </li>
    605 
    606   <li>
    607     <p>
    608       Incorrect word breaks or punctuation
    609     </p>
    610   </li>
    611 
    612   <li>
    613     <p>
    614       Incorrect alphabetical sorting
    615     </p>
    616   </li>
    617 
    618   <li>
    619     <p>
    620       Incorrect layout direction or text direction
    621     </p>
    622   </li>
    623 
    624   <li>
    625     <p>
    626       Untranslated text &mdash; if your default strings are displayed instead
    627       of translated strings, then you may have overlooked those strings for
    628       translation or marked the resources directory with an incorrect language
    629       qualifier.
    630     </p>
    631   </li>
    632 </ul>
    633 
    634 <p>
    635   For cases where your strings have expanded in translation and no longer fit
    636   your layouts, it's suggested you try to simplify your default text, simplify
    637   your translated text, or adjust your default layouts. If none of those
    638   resolves the issue, you can create a custom layout for the language.
    639 </p>
    640 
    641 <h4>
    642   <strong>Test for default resources</strong>
    643 </h4>
    644 
    645 <p>
    646   After you've tested your apps in all of your supported languages and locales,
    647   make sure to test it again in an <em>unsupported language</em> and locale.
    648   Thisll help you make sure that your apps includes a full set of default
    649   strings and resources, so that your apps are usable to all users, regardless
    650   of their preferred language.
    651 </p>
    652 
    653 <h4>
    654   <strong>Review with native-language speakers</strong>
    655 </h4>
    656 
    657 <p>
    658   During or after testing, it's recommended that you let native speakers review
    659   your localized apps. One way to do that is through beta testing with regional
    660   users &mdash; Google Play can help you do this. <!-- </p>
    661 
    662 <h3 class="rel-resources clearfloat">Related resources</h3>
    663 
    664 <div class="resource-widget resource-flow-layout col-13"
    665   data-query="collection:distribute/toolsreference/localizationchecklist/test"
    666   data-sortOrder="-timestamp"
    667   data-cardSizes="9x3,9x3,6x3,9x3,9x3,9x3"
    668   data-maxResults="6"></div> -->
    669 </p>
    670 
    671 <div class="headerLine">
    672   <h2 id="prepare-launch">
    673     6. Prepare for international launch
    674   </h2>
    675 
    676 
    677 </div>
    678 
    679 <p>
    680   Getting your apps translated is a key part of localization, but to help your
    681   product attract users and gain visibility, you should prepare for launch in
    682   your target countries and create a broader launch and marketing plan for
    683   international users.
    684 </p>
    685 
    686 <h4>
    687   <strong>Localize your Google Play listing</strong>
    688 </h4>
    689 
    690 <div class="sidebox-wrapper" style="float:right;">
    691   <div class="sidebox">
    692     <h2>
    693       Localize your Google Play listing
    694     </h2>
    695 
    696     <p>
    697       Google Play Store listing is the first impression international users
    698       will have of your app. You should highlight what's great about your apps
    699       to all of your users! Localize your listing in the Developer Console,
    700       including:
    701     </p>
    702 
    703     <ul>
    704       <li>App title and description
    705       </li>
    706 
    707       <li>App screenshots on phones and tablets
    708       </li>
    709 
    710       <li>Promotional graphics and videos.
    711       </li>
    712     </ul>
    713   </div>
    714 </div>
    715 
    716 <p>
    717   If you want your apps to be successful in international markets, it's
    718   essential to localize your Google Play store listing. You can manage your
    719   localized listing in the Developer Console.
    720 </p>
    721 
    722 <p>
    723   Well before launch, decide on your app title, description, promotional text,
    724   marketing names and programs, and other text and images. Send your listing
    725   text and images for translation early, so that youve them ready when beta
    726   testing begins. When your translated text is available, you can add it
    727   through the Developer Console.
    728 </p>
    729 
    730 <div class="sidebox-wrapper" style="float:right;">
    731   <div class="sidebox">
    732     <h2>
    733       Store listing translation in Google Play
    734     </h2>
    735 
    736     <p>
    737       You can use the <a href=
    738       "https://support.google.com/l10n/answer/6359997">App Translation
    739       Service</a> on Google Play to translate your store listing. You can use
    740       your existing published store listing text as the source or edit it
    741       online before placing your order (see <a href="#gp-trans">Purchase
    742       professional translations</a>).
    743     </p>
    744   </div>
    745 </div>
    746 
    747 <p>
    748   Also, since you've made the effort to create a great localized app, let users
    749   know about it! Take screenshots of your UI in each language, for phones and
    750   7- and 10- inch tablets. You can upload screenshots to the Developer Console
    751   for each language you support. These will be of great value to users browsing
    752   your app listings in other languages.
    753 </p>
    754 
    755 <p>
    756   It's also essential to create localized versions of your promotional graphics
    757   and videos. For example, your apps feature graphics might include text that
    758   should be translated, for maximum effectiveness, or you might want to take a
    759   different visual approach in one country than you do in another. You can
    760   create different versions of your promotional graphics for each language and
    761   upload them to the Developer Console. If you offer a promotional video, you
    762   can create localized versions of it and then add a link to the correct
    763   localized video for each language you support.
    764 </p>
    765 
    766 <h4>
    767   <strong>Plan a beta release in key countries</strong>
    768 </h4>
    769 
    770 <div class="sidebox-wrapper" style="float:right;">
    771   <div class="sidebox">
    772     <h2>
    773       Easy beta testing
    774     </h2>
    775 
    776     <p>
    777       Google Play now lets you set up groups of alpha and beta testers,
    778       anywhere around the world. Check out this powerful feature next time you
    779       sign in to the Developer Console.
    780     </p>
    781   </div>
    782 </div>
    783 
    784 <p>
    785   Before launching your apps, it's always valuable to get real-world feedback
    786   from users &mdash; even more so when you are launching an app in a new
    787   language, country, or region. In those cases, it's highly recommended that
    788   you distribute a pre-release version of your apps to users across your key
    789   markets and provide an easy means for them to provide feedback and report
    790   bugs.
    791 </p>
    792 
    793 <p>
    794   Google Play can help you set up a beta program for your apps. After you sign
    795   in to the Developer Console and upload your APK, you can set up groups of
    796   users for alpha testing and beta testing the app. You can start with a small
    797   group of alpha testers, then move to a larger group of beta testers.
    798 </p>
    799 
    800 <p>
    801   Once users are added, they access your app's store listing and install the
    802   app. <strong>Users on alpha or beta versions cannot leave reviews or
    803   ratings</strong>, so there is <strong>no risk to your rating</strong> on
    804   Google Play, however it does mean you need to setup a mechanism for your
    805   testers to provide you with feedback: consider creating a <a href=
    806   "http://www.google.com/+/business/">Google+</a> page or <a href=
    807   "https://groups.google.com/forum/#!overview">Google Groups</a>.
    808 </p>
    809 
    810 <p>
    811   The feedback you receive will help you adjust your UI, translations, and
    812   store listing to ensure a great experience for users.
    813 </p>
    814 
    815 <h4>
    816   <strong>Plan for international marketing</strong>
    817 </h4>
    818 
    819 <p>
    820   For highest visibility across countries, consider an international marketing
    821   or advertising campaign. The scope of the campaign will vary based on the
    822   budget you can support, but in general it's cost-effective and productive to
    823   do regional or country-specific marketing at launch and after.
    824 </p>
    825 
    826 <h4>
    827   <strong>Create localized Google Play badges</strong>
    828 </h4>
    829 
    830 <p>
    831   If youre preparing international marketing, make sure to include a <a href=
    832   "{@docRoot}distribute/tools/promote/badges.html">localized Google Play
    833   badge</a> to tell users you're on Google Play. You can use the badge
    834   generator to quickly build localized badges that you can use on websites or
    835   marketing materials. High-resolution assets are also available.
    836 </p>
    837 
    838 <h4>
    839   <strong>Create Localized Device Art</strong>
    840 </h4>
    841 
    842 <p>
    843   If you feature product shots of your apps running on Android devices, make
    844   sure that those shots look great and reflect the latest in Android devices.
    845   To help you create high-quality marketing materials, use the drag-and-drop
    846   <a href="{@docRoot}distribute/tools/promote/device-art.html">Device Art
    847   Generator</a> to quickly frame your screenshot on a Nexus device.
    848 </p>
    849 
    850 <h4>
    851   <strong>Check your Optimization Tips</strong>
    852 </h4>
    853 
    854 <p>
    855   As you prepare for launch, make sure to sign into the Developer Console and
    856   check your apps Optimization Tips. The Optimization Tips let you know when
    857   youre missing parts of your localized store listing and provide other
    858   helpful reminders for a successful localized launch.
    859 </p>
    860 
    861 <h3 class="rel-resources clearfloat">Related resources</h3>
    862 
    863 <div class="resource-widget resource-flow-layout col-13" data-query=
    864 "collection:distribute/toolsreference/localizationchecklist/preplaunch"
    865 data-sortorder="-timestamp" data-cardsizes="9x3,9x3,6x3,9x3,9x3,9x3"
    866 data-maxresults="6">
    867 </div>
    868 
    869 <div class="headerLine">
    870   <h2 id="support-users">
    871     7. Support international users after launch
    872   </h2>
    873 
    874 
    875 </div>
    876 
    877 <p>
    878   After you launch your apps internationally, you should be prepared to support
    879   users in a variety of languages and time zones. The extent of your
    880   international user support depends on your budget, but at a minimum you
    881   should watch your ratings, reviews, and download stats carefully after
    882   launch.
    883 </p>
    884 
    885 <p>
    886   Here are some suggestions:
    887 </p>
    888 
    889 <ul>
    890   <li>
    891     <p>
    892       Use the app stats in the Developer Console to compare your downloads,
    893       installs, and uninstalls, and ratings across languages and
    894       countries&mdash;If your downloads or ratings arent keeping up in
    895       specific languages or countries, consider options for improving your
    896       product or changing your marketing approach.
    897     </p>
    898   </li>
    899 
    900   <li>
    901     <p>
    902       Check reviews regularly&mdash;Google Play translates all user reviews for
    903       you, so you can stay in touch with how international users feel about
    904       your apps, what features they like and what issues are affecting them. By
    905       watching reviews, you can spot technical issues that may affect users in
    906       a particular country, then fix and update your apps.
    907     </p>
    908   </li>
    909 
    910   <li>
    911     <p>
    912       Respond to reviews if possible&mdash;It's good to engage with
    913       international users in their language or a common language if possible.
    914       If not, you can try using translation tools, although results may not be
    915       predictable. If your apps gets very popular in a language, consider
    916       getting support help from native-language speakers.
    917     </p>
    918   </li>
    919 
    920   <li>
    921     <p>
    922       Make sure there's a link to any support resources on your website.
    923       Consider setting up language-specific user groups, Google+ communities,
    924       or other support forums.
    925     </p>
    926   </li>
    927 </ul>
    928 
    929 <p>
    930   By following these practices for localizing your apps, promoting and
    931   marketing to international users, and providing ongoing support, you can
    932   attract many new users to your apps and maintain their loyalty.
    933 </p>
    934 
    935 <p>
    936   Make sure to read the <a href=
    937   "{@docRoot}distribute/tools/launch-checklist.html">Launch Checklist</a> to
    938   learn more about how to plan, build, and launch your app on Google Play.
    939 </p>
    940 <h3 class="rel-resources clearfloat">Related resources</h3>
    941 
    942 <div class="resource-widget resource-flow-layout col-13"
    943   data-query="collection:distribute/toolsreference/localizationchecklist/supportlaunch"
    944   data-sortOrder="-timestamp"
    945   data-cardSizes="9x3,9x3,6x3,9x3,9x3,9x3"
    946   data-maxResults="6"></div>
    947 
    948