1page.title=Localization Checklist 2page.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. 3meta.tags="localizing, publishing, disttools" 4page.tags="local, l10n, translation, language" 5page.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 you’ll 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" 91data-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. It’s 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 shouldn’t 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 you’re 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 you’re 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" 229data-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—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<!-- The action for submitting a form. This text is on a button that can fit 30 chars --> 304<string name="login_submit_button">Sign in</string> 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 it’s 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 shouldn’t 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 don’t change it. 335</p> 336 337<p> 338 To mark text that should not be translated, use an 339 <code><xliff:g></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<string name="countdown"> 346 <xliff:g id="time" example="5 days>%1$s</xliff:g>until holiday 347</string> 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<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> 361 362<!-- Example placeholder for a special unicode symbol --> 363 364<string name="star_rating">Check out our 5 365 366 <xliff:g id="star">\u2605</xliff:g> 367 368</string> 369 370<!-- Example placeholder for a for a URL --> 371 372<string name="app_homeurl"> 373 374 Visit us at <xliff:g id="application_homepage">http://my/app/home.html</xliff:g> 375 376</string> 377 378<!-- Example placeholder for a name --> 379 380<string name="prod_name"> 381 382 Learn more at <xliff:g id="prod_gamegroup">Game Group</xliff:g> 383 384</string> 385 386<!-- Example placeholder for a literal --> 387 388<string name="promo_message"> 389 390 Please use the "<xliff:g id="promotion_code">ABCDEFG</xliff:g>” to get a discount. 391 392</string> 393 394... 395 396</resources> 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" 402data-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 — app title and description, release notes, and so on — 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 Google Play App Translation Service can help you quickly find and purchase 534 translations of your app. In the Developer Console, you can browse a list of 535 third-party vendors who are pre-qualified by Google to offer high-quality 536 translation at competitive prices. You can upload the strings you want 537 translated, select the languages you want to translate into, and select your 538 translation vendor based on time and price. 539</p> 540 541<p> 542 Once you've purchased translations, you'll receive an email from your vendor. 543 Your translations are a direct business agreement between you and your 544 vendor; you'll need to work directly with the vendor to manage the 545 translation process and deliverables and resolve any support issues. 546</p> 547 548<div> 549 <img src="{@docRoot}images/gp-localization-trans-0.png" class="border-img"> 550</div> 551 552<h3 class="rel-resources clearfloat">Related resources</h3> 553 554<div class="resource-widget resource-flow-layout col-13" data-query= 555"collection:distribute/toolsreference/localizationchecklist/translatestrings" 556data-sortorder="-timestamp" data-cardsizes="9x3" data-maxresults="6"> 557</div> 558 559<div class="headerLine"> 560 <h2 id="test"> 561 5. Test your localized app 562 </h2> 563 564 565</div> 566 567<p> 568 Once you've received your translated strings and resources and moved them 569 back into your apps, you need to test the apps to make sure that they’re 570 ready for distribution to your international users. 571</p> 572 573<p> 574 Manual testing can help you discover localization issues in your layouts and 575 strings that can affect user satisfaction and, ultimately, your apps' user 576 rating. 577</p> 578 579<h4> 580 <strong>Set up a test environment</strong> 581</h4> 582 583<p> 584 To test your localized app, you'll need to set up an environment consisting 585 of multiple devices (or virtual devices) and screen sizes, based on the 586 markets and form factors you’re targeting. Note that the range of devices in 587 specific regions might be different. If possible, match your test devices to 588 the actual devices likely to be available to users. 589</p> 590 591<h4> 592 <strong>Look for common localization issues</strong> 593</h4> 594 595<p> 596 On each test device, set the language or locale in Settings. Install and 597 launch the app and then navigate through all of the UI flows, dialogs, and 598 user interactions. Enter text in inputs. Some things to look for include: 599</p> 600 601<ul> 602 <li> 603 <p> 604 Clipped text, or text that overlaps the edge of UI elements or the screen 605 </p> 606 </li> 607 608 <li> 609 <p> 610 Poor line wrapping 611 </p> 612 </li> 613 614 <li> 615 <p> 616 Incorrect word breaks or punctuation 617 </p> 618 </li> 619 620 <li> 621 <p> 622 Incorrect alphabetical sorting 623 </p> 624 </li> 625 626 <li> 627 <p> 628 Incorrect layout direction or text direction 629 </p> 630 </li> 631 632 <li> 633 <p> 634 Untranslated text — if your default strings are displayed instead 635 of translated strings, then you may have overlooked those strings for 636 translation or marked the resources directory with an incorrect language 637 qualifier. 638 </p> 639 </li> 640</ul> 641 642<p> 643 For cases where your strings have expanded in translation and no longer fit 644 your layouts, it's suggested you try to simplify your default text, simplify 645 your translated text, or adjust your default layouts. If none of those 646 resolves the issue, you can create a custom layout for the language. 647</p> 648 649<h4> 650 <strong>Test for default resources</strong> 651</h4> 652 653<p> 654 After you've tested your apps in all of your supported languages and locales, 655 make sure to test it again in an <em>unsupported language</em> and locale. 656 This’ll help you make sure that your apps includes a full set of default 657 strings and resources, so that your apps are usable to all users, regardless 658 of their preferred language. 659</p> 660 661<h4> 662 <strong>Review with native-language speakers</strong> 663</h4> 664 665<p> 666 During or after testing, it's recommended that you let native speakers review 667 your localized apps. One way to do that is through beta testing with regional 668 users — Google Play can help you do this. <!-- </p> 669 670<h3 class="rel-resources clearfloat">Related resources</h3> 671 672<div class="resource-widget resource-flow-layout col-13" 673 data-query="collection:distribute/toolsreference/localizationchecklist/test" 674 data-sortOrder="-timestamp" 675 data-cardSizes="9x3,9x3,6x3,9x3,9x3,9x3" 676 data-maxResults="6"></div> --> 677</p> 678 679<div class="headerLine"> 680 <h2 id="prepare-launch"> 681 6. Prepare for international launch 682 </h2> 683 684 685</div> 686 687<p> 688 Getting your apps translated is a key part of localization, but to help your 689 product attract users and gain visibility, you should prepare for launch in 690 your target countries and create a broader launch and marketing plan for 691 international users. 692</p> 693 694<h4> 695 <strong>Localize your Google Play listing</strong> 696</h4> 697 698<div class="sidebox-wrapper" style="float:right;"> 699 <div class="sidebox"> 700 <h2> 701 Localize your Google Play listing 702 </h2> 703 704 <p> 705 Google Play Store listing is the first impression international users 706 will have of your app. You should highlight what's great about your apps 707 to all of your users! Localize your listing in the Developer Console, 708 including: 709 </p> 710 711 <ul> 712 <li>App title and description 713 </li> 714 715 <li>App screenshots on phones and tablets 716 </li> 717 718 <li>Promotional graphics and videos. 719 </li> 720 </ul> 721 </div> 722</div> 723 724<p> 725 If you want your apps to be successful in international markets, it's 726 essential to localize your Google Play store listing. You can manage your 727 localized listing in the Developer Console. 728</p> 729 730<p> 731 Well before launch, decide on your app title, description, promotional text, 732 marketing names and programs, and other text and images. Send your listing 733 text and images for translation early, so that you’ve them ready when beta 734 testing begins. When your translated text is available, you can add it 735 through the Developer Console. 736</p> 737 738<div class="sidebox-wrapper" style="float:right;"> 739 <div class="sidebox"> 740 <h2> 741 Store listing translation in Google Play 742 </h2> 743 744 <p> 745 You can use the App Translation service on Google Play to translate your 746 store listing. Prepare an XML file with your store listing information 747 and upload just as you would upload the strings.xml file (see <a href= 748 "#gp-trans">Purchase professional translations</a>) 749 </p> 750 </div> 751</div> 752 753<p> 754 Also, since you've made the effort to create a great localized app, let users 755 know about it! Take screenshots of your UI in each language, for phones and 756 7- and 10- inch tablets. You can upload screenshots to the Developer Console 757 for each language you support. These will be of great value to users browsing 758 your app listings in other languages. 759</p> 760 761<p> 762 It's also essential to create localized versions of your promotional graphics 763 and videos. For example, your apps’ feature graphics might include text that 764 should be translated, for maximum effectiveness, or you might want to take a 765 different visual approach in one country than you do in another. You can 766 create different versions of your promotional graphics for each language and 767 upload them to the Developer Console. If you offer a promotional video, you 768 can create localized versions of it and then add a link to the correct 769 localized video for each language you support. 770</p> 771 772<h4> 773 <strong>Plan a beta release in key countries</strong> 774</h4> 775 776<div class="sidebox-wrapper" style="float:right;"> 777 <div class="sidebox"> 778 <h2> 779 Easy beta testing 780 </h2> 781 782 <p> 783 Google Play now lets you set up groups of alpha and beta testers, 784 anywhere around the world. Check out this powerful feature next time you 785 sign in to the Developer Console. 786 </p> 787 </div> 788</div> 789 790<p> 791 Before launching your apps, it's always valuable to get real-world feedback 792 from users — even more so when you are launching an app in a new 793 language, country, or region. In those cases, it's highly recommended that 794 you distribute a pre-release version of your apps to users across your key 795 markets and provide an easy means for them to provide feedback and report 796 bugs. 797</p> 798 799<p> 800 Google Play can help you set up a beta program for your apps. After you sign 801 in to the Developer Console and upload your APK, you can set up groups of 802 users for alpha testing and beta testing the app. You can start with a small 803 group of alpha testers, then move to a larger group of beta testers. 804</p> 805 806<p> 807 Once users are added, they access your app's store listing and install the 808 app. <strong>Users on alpha or beta versions cannot leave reviews or 809 ratings</strong>, so there is <strong>no risk to your rating</strong> on 810 Google Play, however it does mean you need to setup a mechanism for your 811 testers to provide you with feedback: consider creating a <a href= 812 "http://www.google.com/+/business/">Google+</a> page or <a href= 813 "https://groups.google.com/forum/#!overview">Google Groups</a>. 814</p> 815 816<p> 817 The feedback you receive will help you adjust your UI, translations, and 818 store listing to ensure a great experience for users. 819</p> 820 821<h4> 822 <strong>Plan for international marketing</strong> 823</h4> 824 825<p> 826 For highest visibility across countries, consider an international marketing 827 or advertising campaign. The scope of the campaign will vary based on the 828 budget you can support, but in general it's cost-effective and productive to 829 do regional or country-specific marketing at launch and after. 830</p> 831 832<h4> 833 <strong>Create localized Google Play badges</strong> 834</h4> 835 836<p> 837 If you’re preparing international marketing, make sure to include a <a href= 838 "{@docRoot}distribute/tools/promote/badges.html">localized Google Play 839 badge</a> to tell users you're on Google Play. You can use the badge 840 generator to quickly build localized badges that you can use on websites or 841 marketing materials. High-resolution assets are also available. 842</p> 843 844<h4> 845 <strong>Create Localized Device Art</strong> 846</h4> 847 848<p> 849 If you feature product shots of your apps running on Android devices, make 850 sure that those shots look great and reflect the latest in Android devices. 851 To help you create high-quality marketing materials, use the drag-and-drop 852 <a href="{@docRoot}distribute/tools/promote/device-art.html">Device Art 853 Generator</a> to quickly frame your screenshot on a Nexus device. 854</p> 855 856<h4> 857 <strong>Check your Optimization Tips</strong> 858</h4> 859 860<p> 861 As you prepare for launch, make sure to sign into the Developer Console and 862 check your apps’ Optimization Tips. The Optimization Tips let you know when 863 you’re missing parts of your localized store listing and provide other 864 helpful reminders for a successful localized launch. 865</p> 866 867<h3 class="rel-resources clearfloat">Related resources</h3> 868 869<div class="resource-widget resource-flow-layout col-13" data-query= 870"collection:distribute/toolsreference/localizationchecklist/preplaunch" 871data-sortorder="-timestamp" data-cardsizes="9x3,9x3,6x3,9x3,9x3,9x3" 872data-maxresults="6"> 873</div> 874 875<div class="headerLine"> 876 <h2 id="support-users"> 877 7. Support international users after launch 878 </h2> 879 880 881</div> 882 883<p> 884 After you launch your apps internationally, you should be prepared to support 885 users in a variety of languages and time zones. The extent of your 886 international user support depends on your budget, but at a minimum you 887 should watch your ratings, reviews, and download stats carefully after 888 launch. 889</p> 890 891<p> 892 Here are some suggestions: 893</p> 894 895<ul> 896 <li> 897 <p> 898 Use the app stats in the Developer Console to compare your downloads, 899 installs, and uninstalls, and ratings across languages and 900 countries—If your downloads or ratings aren’t keeping up in 901 specific languages or countries, consider options for improving your 902 product or changing your marketing approach. 903 </p> 904 </li> 905 906 <li> 907 <p> 908 Check reviews regularly—Google Play translates all user reviews for 909 you, so you can stay in touch with how international users feel about 910 your apps, what features they like and what issues are affecting them. By 911 watching reviews, you can spot technical issues that may affect users in 912 a particular country, then fix and update your apps. 913 </p> 914 </li> 915 916 <li> 917 <p> 918 Respond to reviews if possible—It's good to engage with 919 international users in their language or a common language if possible. 920 If not, you can try using translation tools, although results may not be 921 predictable. If your apps gets very popular in a language, consider 922 getting support help from native-language speakers. 923 </p> 924 </li> 925 926 <li> 927 <p> 928 Make sure there's a link to any support resources on your website. 929 Consider setting up language-specific user groups, Google+ communities, 930 or other support forums. 931 </p> 932 </li> 933</ul> 934 935<p> 936 By following these practices for localizing your apps, promoting and 937 marketing to international users, and providing ongoing support, you can 938 attract many new users to your apps and maintain their loyalty. 939</p> 940 941<p> 942 Make sure to read the <a href= 943 "{@docRoot}distribute/tools/launch-checklist.html">Launch Checklist</a> to 944 learn more about how to plan, build, and launch your app on Google Play. 945</p> 946<h3 class="rel-resources clearfloat">Related resources</h3> 947 948<div class="resource-widget resource-flow-layout col-13" 949 data-query="collection:distribute/toolsreference/localizationchecklist/supportlaunch" 950 data-sortOrder="-timestamp" 951 data-cardSizes="9x3,9x3,6x3,9x3,9x3,9x3" 952 data-maxResults="6"></div> 953 954