{"id":988613,"date":"2026-10-04T11:00:00","date_gmt":"2026-10-04T11:00:00","guid":{"rendered":"https:\/\/croncodestudio.com\/en\/?post_type=croncode_post&#038;p=988613"},"modified":"2026-09-08T22:58:43","modified_gmt":"2026-09-08T22:58:43","slug":"localizing-onboarding-not-just-strings","status":"publish","type":"croncode_post","link":"https:\/\/croncodestudio.com\/en\/journal\/localizing-onboarding-not-just-strings\/","title":{"rendered":"Localizing Onboarding, Not Just Strings"},"content":{"rendered":"<div class=\"vgblk-rw-wrapper limit-wrapper\">\n<p>Onboarding is the first argument that the app will not waste a person. Localization is not swapping words in a spreadsheet. It is choosing examples, permission reasons, and a tone that fits the market. Croncode ships consumer iOS with English and Turkish as a default pair. This page is about onboarding as a product, not about file formats. Broader market work lives in <a href=\"\/en\/journal\/designing-products-without-borders-scalability-and-localization-in-global-markets\/\">scalability and localization<\/a>.<\/p>\n<blockquote class=\"croncode-kisa-cevap\">\n<p>Onboarding localization is meaning, examples, and legal tone, not a string catalog dump. If Turkish and English share one joke and one legal hedge, you translated words and missed the user.<\/p>\n<\/blockquote>\n<h2>What has to change besides the catalog?<\/h2>\n<p>The first job example. The photo or case you show. The reason you ask for notifications or camera. The paywall\u2019s three honest lines. The support sentence that says how fast a human replies. Trust patterns: <a href=\"\/en\/journal\/designing-for-trust-onboarding-patterns-that-convert-skeptical-users-into-long-term-ones\/\">trust onboarding<\/a>. Push: <a href=\"\/en\/journal\/push-notifications-that-earn-the-permission\/\">earn the permission<\/a>. Paywalls: <a href=\"\/en\/journal\/in-app-paywalls-that-do-not-lie\/\">honest paywalls<\/a>.<\/p>\n<p>A closet in Istanbul weather is not a closet in a US office campus. A decision example that cites a US school calendar may confuse a Turkish user. A chauffeur window that assumes one airport code set will look careless. Products: <a href=\"\/en\/app\/yourstyle-ai-stylist-outfit\/\">YourStyle<\/a>, <a href=\"\/en\/app\/numira-navigate-lifes-choices-with-numira\/\">Numira<\/a>, <a href=\"\/en\/app\/luviport-flawless-journeys-the-premium-experience\/\">Luviport<\/a>. A narrative game needs spoiler-safe language in both tongues: <a href=\"\/en\/app\/spylie-uncover-the-truth-with-spylie\/\">Spylie<\/a>.<\/p>\n<h2>Which onboarding steps should you cut per locale?<\/h2>\n<ol>\n<li>A cultural joke that only one language can carry.<\/li>\n<li>A legal claim you cannot defend in that market.<\/li>\n<li>A permission you do not need for the first job.<\/li>\n<li>A tour of tabs that do not exist in that build.<\/li>\n<\/ol>\n<p>Thin but complete still applies: <a href=\"\/en\/journal\/when-an-mvp-is-too-thin-for-the-app-store\/\">MVP too thin<\/a>. Feature creep in two languages is twice the debt: <a href=\"\/en\/journal\/the-hidden-cost-of-feature-creep-why-the-best-consumer-apps-say-no-more-than-they-say-yes\/\">feature creep<\/a>.<\/p>\n<h2>When is a translator not enough?<\/h2>\n<table>\n<thead>\n<tr>\n<th>Task<\/th>\n<th>Translator<\/th>\n<th>Product person<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>Button labels<\/td>\n<td>Yes<\/td>\n<td>Review length<\/td>\n<\/tr>\n<tr>\n<td>Permission purpose strings<\/td>\n<td>Draft<\/td>\n<td>Must match the binary<\/td>\n<\/tr>\n<tr>\n<td>First-job example<\/td>\n<td>No<\/td>\n<td>Yes<\/td>\n<\/tr>\n<tr>\n<td>Review replies<\/td>\n<td>Helpful<\/td>\n<td>Owner still signs. <a href=\"\/en\/journal\/how-to-read-app-store-reviews-as-a-team\/\">Reviews<\/a><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>Design QA must run in both languages on a small phone: <a href=\"\/en\/journal\/design-qa-checklists-for-ios\/\">design QA<\/a>. Accessibility labels need locale too: <a href=\"\/en\/journal\/accessibility-basics-for-consumer-ios\/\">accessibility<\/a>.<\/p>\n<h2>How does an Istanbul studio work the two files?<\/h2>\n<p>English and Turkish move in the same increment. We do not \u201cadd TR later\u201d if the listing is in Turkey. Overlap hours: <a href=\"\/en\/journal\/hiring-an-app-team-in-istanbul-what-to-check\/\">Istanbul hiring<\/a>. Shipping: <a href=\"\/en\/journal\/how-croncode-ships-ai-consumer-apps-from-istanbul\/\">how we ship<\/a>. People: <a href=\"\/en\/team\/goktug-unver\/\">Goktug Unver<\/a>, <a href=\"\/en\/team\/yusufhan-sokur\/\">Yusufhan Sokur<\/a>, <a href=\"\/en\/team\/ozgur-ismet-ozkan\/\">Ozgur Ismet Ozkan<\/a>.<\/p>\n<p>Naming must be speakable in both markets: <a href=\"\/en\/journal\/how-we-name-apps-before-the-store\/\">naming<\/a>. Week two copy is onboarding\u2019s cousin: <a href=\"\/en\/journal\/retaining-users-in-week-two\/\">week two<\/a>.<\/p>\n<h2>What mistakes look like being global?<\/h2>\n<ul>\n<li><strong>Machine-translated legal text:<\/strong> you will eat the screenshot.<\/li>\n<li><strong>Mixed language tickets:<\/strong> a missed review note. Write the working language.<\/li>\n<li><strong>English screenshots on a Turkish listing:<\/strong> users feel baited.<\/li>\n<li><strong>AI examples that assume one culture\u2019s wardrobe or holidays:<\/strong> <a href=\"\/en\/journal\/how-to-brief-an-ai-app-studio\/\">AI brief<\/a>.<\/li>\n<\/ul>\n<p>Studio: <a href=\"\/en\/\">Croncode<\/a>. Quote languages in the packet: <a href=\"\/en\/journal\/what-to-send-when-requesting-a-software-quote\/\">what to send<\/a>. Hire: <a href=\"\/en\/hire-software-studio\/\">hire<\/a>. Custom: <a href=\"\/en\/custom-software\/\">custom software<\/a>. Contact: <a href=\"\/en\/contact-us\/\">contact<\/a>. Journal: <a href=\"\/en\/journel\/\">\/en\/journel\/<\/a>.<\/p>\n<h2>What should you send for an onboarding localization pass?<\/h2>\n<p>The first job, the not-now list, who writes legal, and three examples that are allowed in each market. If you already have users, send the support phrases that repeat: <a href=\"\/en\/journal\/support-email-as-a-product-surface\/\">support email<\/a>. Seasonal lines need their own calendar: <a href=\"\/en\/journal\/seasonal-content-for-consumer-apps\/\">seasonal content<\/a>. Catalog: <a href=\"\/en\/journal\/what-croncode-builds-mobile-ai-human-centered\/\">what Croncode builds<\/a>.<\/p>\n<p>We will not claim a rank in either language. ASO: <a href=\"\/en\/journal\/the-aso-playbook-nobody-talks-about-positioning-a-new-consumer-app-in-a-saturated-category\/\">positioning<\/a>. A keyword pile in the subtitle is not localized onboarding. The first job sentence must still be a sentence a tired person can use. If the English line is \u201cBuild a look from clothes you own\u201d and the Turkish line is a list of nouns, you translated for search and missed the user. Put the job first. Put keywords second, and only if they are true.<\/p>\n<h2>Frequently asked questions<\/h2>\n<h3>Can I ship English first and Turkish in 1.1?<\/h3>\n<p>Yes if the first market is English-only. If you already live in Turkey and sell there, treat Turkish as version one.<\/p>\n<h3>Do I need a native speaker on the team?<\/h3>\n<p>You need a native reviewer for user-facing meaning. A catalog tool is not a reviewer.<\/p>\n<h3>Should onboarding length match in both languages?<\/h3>\n<p>No. Turkish lines often run longer. Design for the longer locale or you will clip.<\/p>\n<h3>Is the store subtitle part of onboarding?<\/h3>\n<p>Yes. It is the sentence before install. Localize the job, not a pile of keywords.<\/p>\n<h3>Who owns locale QA at Croncode?<\/h3>\n<p>Design owns meaning. Engineering owns that the string is not hardcoded. Both sign the build note.<\/p>\n<\/div>\n<p><!-- .vgblk-rw-wrapper --><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Localize onboarding as meaning, examples, and legal tone, not as a string dump. Turkish and English need different proof, not a word swap.<\/p>\n","protected":false},"featured_media":988614,"template":"","croncode_category":[48],"croncode_author":[47],"class_list":["post-988613","croncode_post","type-croncode_post","status-publish","has-post-thumbnail","hentry","croncode_category-studio","croncode_author-yusufhan-sokur"],"_links":{"self":[{"href":"https:\/\/croncodestudio.com\/en\/wp-json\/wp\/v2\/croncode_post\/988613","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/croncodestudio.com\/en\/wp-json\/wp\/v2\/croncode_post"}],"about":[{"href":"https:\/\/croncodestudio.com\/en\/wp-json\/wp\/v2\/types\/croncode_post"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/croncodestudio.com\/en\/wp-json\/wp\/v2\/media\/988614"}],"wp:attachment":[{"href":"https:\/\/croncodestudio.com\/en\/wp-json\/wp\/v2\/media?parent=988613"}],"wp:term":[{"taxonomy":"croncode_category","embeddable":true,"href":"https:\/\/croncodestudio.com\/en\/wp-json\/wp\/v2\/croncode_category?post=988613"},{"taxonomy":"croncode_author","embeddable":true,"href":"https:\/\/croncodestudio.com\/en\/wp-json\/wp\/v2\/croncode_author?post=988613"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}