CINXE.COM
Mobile Apps Localization | Developer Portal
<!DOCTYPE html><html lang="en" dir="ltr" data-has-toc data-has-sidebar data-theme="dark" class="astro-bguv2lll"> <head><meta charset="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><title>Mobile Apps Localization | Developer Portal</title><link rel="canonical" href="https://support.crowdin.com/developer/apps-localization/"/><link rel="sitemap" href="/sitemap-index.xml"/><script>window.dataLayer = window.dataLayer || []; function gtag() { window.dataLayer.push(arguments); } gtag("consent", "default", { ad_storage: "denied", ad_user_data: "denied", ad_personalization: "denied", analytics_storage: "denied", functionality_storage: "denied", personalization_storage: "denied", security_storage: "granted", wait_for_update: 2000, }); gtag("set", "ads_data_redaction", true); gtag("set", "url_passthrough", true); </script><script src="https://gtm-sst.crowdin.com/gtm.js?id=GTM-MW5LV72" defer></script><script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 'https://gtm-sst.crowdin.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); })(window,document,'script','dataLayer','GTM-MW5LV72'); </script><script id="cookieyes" src="https://cdn-cookieyes.com/client_data/2dabfbbec8b71e267115f6a5/script.js" defer></script><link rel="icon" href="/favicon.ico" sizes="32x32"/><link rel="shortcut icon" href="/favicon.svg" type="image/svg+xml"/><meta name="generator" content="Astro v4.16.10"/><meta name="generator" content="Starlight v0.28.6"/><meta property="og:title" content="Mobile Apps Localization"/><meta property="og:type" content="article"/><meta property="og:url" content="https://support.crowdin.com/developer/apps-localization/"/><meta property="og:locale" content="en"/><meta property="og:description" content="Manage localization for iOS and Android apps without translating the same strings twice"/><meta property="og:site_name" content="Developer Portal"/><meta name="twitter:card" content="summary_large_image"/><meta name="description" content="Manage localization for iOS and Android apps without translating the same strings twice"/> <meta property="og:image" content="https://support.crowdin.com/og/developer/guides/apps-localization.png"> <meta name="twitter:image" content="https://support.crowdin.com/og/developer/guides/apps-localization.png"> <script src="/src/scripts/helpscout.js" defer></script> <style> #developer-nav-button { font-weight: 600; color: var(--sl-color-black); background-color: var(--sl-color-white); } </style> <script> window.StarlightThemeProvider = (() => { const storedTheme = typeof localStorage !== 'undefined' && localStorage.getItem('starlight-theme'); const theme = storedTheme || (window.matchMedia('(prefers-color-scheme: light)').matches ? 'light' : 'dark'); document.documentElement.dataset.theme = theme === 'light' ? 'light' : 'dark'; return { updatePickers(theme = storedTheme || 'auto') { document.querySelectorAll('starlight-theme-select').forEach((picker) => { const select = picker.querySelector('select'); if (select) select.value = theme; /** @type {HTMLTemplateElement | null} */ const tmpl = document.querySelector(`#theme-icons`); const newIcon = tmpl && tmpl.content.querySelector('.' + theme); if (newIcon) { const oldIcon = picker.querySelector('svg.label-icon'); if (oldIcon) { oldIcon.replaceChildren(...newIcon.cloneNode(true).childNodes); } } }); }, }; })(); </script><template id="theme-icons"><svg aria-hidden="true" class="light astro-c6vsoqas" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="M5 12a1 1 0 0 0-1-1H3a1 1 0 0 0 0 2h1a1 1 0 0 0 1-1Zm.64 5-.71.71a1 1 0 0 0 0 1.41 1 1 0 0 0 1.41 0l.71-.71A1 1 0 0 0 5.64 17ZM12 5a1 1 0 0 0 1-1V3a1 1 0 0 0-2 0v1a1 1 0 0 0 1 1Zm5.66 2.34a1 1 0 0 0 .7-.29l.71-.71a1 1 0 1 0-1.41-1.41l-.66.71a1 1 0 0 0 0 1.41 1 1 0 0 0 .66.29Zm-12-.29a1 1 0 0 0 1.41 0 1 1 0 0 0 0-1.41l-.71-.71a1.004 1.004 0 1 0-1.43 1.41l.73.71ZM21 11h-1a1 1 0 0 0 0 2h1a1 1 0 0 0 0-2Zm-2.64 6A1 1 0 0 0 17 18.36l.71.71a1 1 0 0 0 1.41 0 1 1 0 0 0 0-1.41l-.76-.66ZM12 6.5a5.5 5.5 0 1 0 5.5 5.5A5.51 5.51 0 0 0 12 6.5Zm0 9a3.5 3.5 0 1 1 0-7 3.5 3.5 0 0 1 0 7Zm0 3.5a1 1 0 0 0-1 1v1a1 1 0 0 0 2 0v-1a1 1 0 0 0-1-1Z"/></svg> <svg aria-hidden="true" class="dark astro-c6vsoqas" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="M21.64 13a1 1 0 0 0-1.05-.14 8.049 8.049 0 0 1-3.37.73 8.15 8.15 0 0 1-8.14-8.1 8.59 8.59 0 0 1 .25-2A1 1 0 0 0 8 2.36a10.14 10.14 0 1 0 14 11.69 1 1 0 0 0-.36-1.05Zm-9.5 6.69A8.14 8.14 0 0 1 7.08 5.22v.27a10.15 10.15 0 0 0 10.14 10.14 9.784 9.784 0 0 0 2.1-.22 8.11 8.11 0 0 1-7.18 4.32v-.04Z"/></svg> <svg aria-hidden="true" class="auto astro-c6vsoqas" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="M21 14h-1V7a3 3 0 0 0-3-3H7a3 3 0 0 0-3 3v7H3a1 1 0 0 0-1 1v2a3 3 0 0 0 3 3h14a3 3 0 0 0 3-3v-2a1 1 0 0 0-1-1ZM6 7a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v7H6V7Zm14 10a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1v-1h16v1Z"/></svg> </template><link rel="stylesheet" href="/_astro/privacy-policy.DIyL8RFU.css"> <style>:root{--sl-badge-default-border: var(--sl-color-accent);--sl-badge-default-bg: var(--sl-color-accent-low);--sl-badge-default-text: #fff;--sl-badge-note-border: var(--sl-color-blue);--sl-badge-note-bg: var(--sl-color-blue-low);--sl-badge-note-text: #fff;--sl-badge-danger-border: var(--sl-color-red);--sl-badge-danger-bg: var(--sl-color-red-low);--sl-badge-danger-text: #fff;--sl-badge-success-border: var(--sl-color-green);--sl-badge-success-bg: var(--sl-color-green-low);--sl-badge-success-text: #fff;--sl-badge-caution-border: var(--sl-color-orange);--sl-badge-caution-bg: var(--sl-color-orange-low);--sl-badge-caution-text: #fff;--sl-badge-tip-border: var(--sl-color-purple);--sl-badge-tip-bg: var(--sl-color-purple-low);--sl-badge-tip-text: #fff}[data-theme=light]:root{--sl-badge-default-bg: var(--sl-color-accent-high);--sl-badge-note-bg: var(--sl-color-blue-high);--sl-badge-danger-bg: var(--sl-color-red-high);--sl-badge-success-bg: var(--sl-color-green-high);--sl-badge-caution-bg: var(--sl-color-orange-high);--sl-badge-tip-bg: var(--sl-color-purple-high)}.sl-badge:where(.astro-avdet4wd){display:inline-block;border:1px solid var(--sl-color-border-badge);border-radius:.25rem;font-family:var(--sl-font-system-mono);line-height:normal;color:var(--sl-color-text-badge);background-color:var(--sl-color-bg-badge);overflow-wrap:anywhere}.sidebar-content .sl-badge:where(.astro-avdet4wd){line-height:1;font-size:var(--sl-text-xs);padding:.125rem .375rem}.sidebar-content a[aria-current=page]>.sl-badge:where(.astro-avdet4wd){--sl-color-bg-badge: transparent;--sl-color-border-badge: currentColor;color:inherit}.default:where(.astro-avdet4wd){--sl-color-bg-badge: var(--sl-badge-default-bg);--sl-color-border-badge: var(--sl-badge-default-border);--sl-color-text-badge: var(--sl-badge-default-text)}.note:where(.astro-avdet4wd){--sl-color-bg-badge: var(--sl-badge-note-bg);--sl-color-border-badge: var(--sl-badge-note-border);--sl-color-text-badge: var(--sl-badge-note-text)}.danger:where(.astro-avdet4wd){--sl-color-bg-badge: var(--sl-badge-danger-bg);--sl-color-border-badge: var(--sl-badge-danger-border);--sl-color-text-badge: var(--sl-badge-danger-text)}.success:where(.astro-avdet4wd){--sl-color-bg-badge: var(--sl-badge-success-bg);--sl-color-border-badge: var(--sl-badge-success-border);--sl-color-text-badge: var(--sl-badge-success-text)}.tip:where(.astro-avdet4wd){--sl-color-bg-badge: var(--sl-badge-tip-bg);--sl-color-border-badge: var(--sl-badge-tip-border);--sl-color-text-badge: var(--sl-badge-tip-text)}.caution:where(.astro-avdet4wd){--sl-color-bg-badge: var(--sl-badge-caution-bg);--sl-color-border-badge: var(--sl-badge-caution-border);--sl-color-text-badge: var(--sl-badge-caution-text)}.small:where(.astro-avdet4wd){font-size:var(--sl-text-xs);padding:.125rem .25rem}.medium:where(.astro-avdet4wd){font-size:var(--sl-text-sm);padding:.175rem .35rem}.large:where(.astro-avdet4wd){font-size:var(--sl-text-base);padding:.225rem .45rem}.sl-markdown-content :is(h1,h2,h3,h4,h5,h6) .sl-badge:where(.astro-avdet4wd){vertical-align:middle} .card-grid:where(.astro-zntqmydn){display:grid;gap:1rem}.card-grid:where(.astro-zntqmydn)>*{margin-top:0!important}@media (min-width: 50rem){.card-grid:where(.astro-zntqmydn){grid-template-columns:1fr 1fr;gap:1.5rem}.stagger:where(.astro-zntqmydn){--stagger-height: 5rem;padding-bottom:var(--stagger-height)}.stagger:where(.astro-zntqmydn)>*:nth-child(2n){transform:translateY(var(--stagger-height))}} .card:where(.astro-v5tidmuc){--sl-card-border: var(--sl-color-purple);--sl-card-bg: var(--sl-color-purple-low);border:1px solid var(--sl-color-gray-5);background-color:var(--sl-color-black);padding:clamp(1rem,calc(.125rem + 3vw),2.5rem);flex-direction:column;gap:clamp(.5rem,calc(.125rem + 1vw),1rem)}.card:where(.astro-v5tidmuc):nth-child(4n+1){--sl-card-border: var(--sl-color-orange);--sl-card-bg: var(--sl-color-orange-low)}.card:where(.astro-v5tidmuc):nth-child(4n+3){--sl-card-border: var(--sl-color-green);--sl-card-bg: var(--sl-color-green-low)}.card:where(.astro-v5tidmuc):nth-child(4n+4){--sl-card-border: var(--sl-color-red);--sl-card-bg: var(--sl-color-red-low)}.card:where(.astro-v5tidmuc):nth-child(4n+5){--sl-card-border: var(--sl-color-blue);--sl-card-bg: var(--sl-color-blue-low)}.title:where(.astro-v5tidmuc){font-weight:600;font-size:var(--sl-text-h4);color:var(--sl-color-white);line-height:var(--sl-line-height-headings);gap:1rem;align-items:center}.card:where(.astro-v5tidmuc) .icon:where(.astro-v5tidmuc){border:1px solid var(--sl-card-border);background-color:var(--sl-card-bg);padding:.2em;border-radius:.25rem}.card:where(.astro-v5tidmuc) .body:where(.astro-v5tidmuc){margin:0;font-size:clamp(var(--sl-text-sm),calc(.5rem + 1vw),var(--sl-text-body))} svg:where(.astro-c6vsoqas){color:var(--sl-icon-color);font-size:var(--sl-icon-size, 1em);width:1em;height:1em} starlight-tabs:where(.astro-esqgolmp){display:block}.tablist-wrapper:where(.astro-esqgolmp){overflow-x:auto}:where(.astro-esqgolmp)[role=tablist]{display:flex;list-style:none;border-bottom:2px solid var(--sl-color-gray-5);padding:0}.tab:where(.astro-esqgolmp){margin-bottom:-2px}.tab:where(.astro-esqgolmp)>:where(.astro-esqgolmp)[role=tab]{display:flex;align-items:center;gap:.5rem;padding:0 1.25rem;text-decoration:none;border-bottom:2px solid var(--sl-color-gray-5);color:var(--sl-color-gray-3);outline-offset:var(--sl-outline-offset-inside);overflow-wrap:initial}.tab:where(.astro-esqgolmp) :where(.astro-esqgolmp)[role=tab][aria-selected=true]{color:var(--sl-color-white);border-color:var(--sl-color-text-accent);font-weight:600}.tablist-wrapper:where(.astro-esqgolmp)~[role=tabpanel]{margin-top:1rem} .sl-link-card:where(.astro-mf7fz2mj){display:grid;grid-template-columns:1fr auto;gap:.5rem;border:1px solid var(--sl-color-gray-5);border-radius:.5rem;padding:1rem;box-shadow:var(--sl-shadow-sm);position:relative}a:where(.astro-mf7fz2mj){text-decoration:none;line-height:var(--sl-line-height-headings)}a:where(.astro-mf7fz2mj):before{content:"";position:absolute;inset:0}.stack:where(.astro-mf7fz2mj){flex-direction:column;gap:.5rem}.title:where(.astro-mf7fz2mj){color:var(--sl-color-white);font-weight:600;font-size:var(--sl-text-lg)}.description:where(.astro-mf7fz2mj){color:var(--sl-color-gray-3);line-height:1.5}.icon:where(.astro-mf7fz2mj){color:var(--sl-color-gray-3)}.sl-link-card:where(.astro-mf7fz2mj):hover{background:var(--sl-color-gray-7, var(--sl-color-gray-6));border-color:var(--sl-color-gray-2)}.sl-link-card:where(.astro-mf7fz2mj):hover .icon:where(.astro-mf7fz2mj){color:var(--sl-color-white)} .sl-steps{--bullet-size: calc(var(--sl-line-height) * 1rem);--bullet-margin: .375rem;list-style:none;counter-reset:steps-counter var(--sl-steps-start, 0);padding-inline-start:0}.sl-steps>li{counter-increment:steps-counter;position:relative;padding-inline-start:calc(var(--bullet-size) + 1rem);padding-bottom:1px;min-height:calc(var(--bullet-size) + var(--bullet-margin))}.sl-steps>li+li{margin-top:0}.sl-steps>li:before{content:counter(steps-counter);position:absolute;top:0;inset-inline-start:0;width:var(--bullet-size);height:var(--bullet-size);line-height:var(--bullet-size);font-size:var(--sl-text-xs);font-weight:600;text-align:center;color:var(--sl-color-white);background-color:var(--sl-color-gray-6);border-radius:99rem;box-shadow:inset 0 0 0 1px var(--sl-color-gray-5)}.sl-steps>li:after{--guide-width: 1px;content:"";position:absolute;top:calc(var(--bullet-size) + var(--bullet-margin));bottom:var(--bullet-margin);inset-inline-start:calc((var(--bullet-size) - var(--guide-width)) / 2);width:var(--guide-width);background-color:var(--sl-color-hairline-light)}.sl-steps>li>:first-child{--lh: calc(1em * var(--sl-line-height));--shift-y: calc(.5 * (var(--bullet-size) - var(--lh)));transform:translateY(var(--shift-y));margin-bottom:var(--shift-y)}.sl-steps>li>:first-child:where(h1,h2,h3,h4,h5,h6){--lh: calc(1em * var(--sl-line-height-headings))}@supports (--prop: 1lh){.sl-steps>li>:first-child{--lh: 1lh}} starlight-file-tree:where(.astro-p67cqifm){--x-space: 1.5rem;--y-space: .125rem;--y-pad: 0;display:block;border:1px solid var(--sl-color-gray-5);padding:1rem;background-color:var(--sl-color-gray-6);font-size:var(--sl-text-xs);font-family:var(--__sl-font-mono);overflow-x:auto}starlight-file-tree:where(.astro-p67cqifm) .directory>details{border:0;padding:0;padding-inline-start:var(--x-space);background:transparent}starlight-file-tree:where(.astro-p67cqifm) .directory>details>summary{margin-inline-start:calc(-1 * var(--x-space));border:0;padding:var(--y-pad) .625rem;font-weight:400;color:var(--sl-color-white);max-width:100%}starlight-file-tree:where(.astro-p67cqifm) .directory>details>summary::marker,starlight-file-tree:where(.astro-p67cqifm) .directory>details>summary::-webkit-details-marker{color:var(--sl-color-gray-3)}starlight-file-tree:where(.astro-p67cqifm) .directory>details>summary:hover,starlight-file-tree:where(.astro-p67cqifm) .directory>details>summary:hover .tree-icon{cursor:pointer;color:var(--sl-color-text-accent);fill:var(--sl-color-text-accent)}starlight-file-tree:where(.astro-p67cqifm) .directory>details>summary:hover~ul{border-color:var(--sl-color-gray-4)}starlight-file-tree:where(.astro-p67cqifm) .directory>details>summary:hover .highlight .tree-icon{fill:var(--sl-color-text-invert)}starlight-file-tree:where(.astro-p67cqifm) ul{margin-inline-start:.5rem;border-inline-start:1px solid var(--sl-color-gray-5);padding:0;padding-inline-start:.125rem;list-style:none}starlight-file-tree:where(.astro-p67cqifm)>ul{margin:0;border:0;padding:0}starlight-file-tree:where(.astro-p67cqifm) li{margin:var(--y-space) 0;padding:var(--y-pad) 0}starlight-file-tree:where(.astro-p67cqifm) .file{margin-inline-start:calc(var(--x-space) - .125rem);color:var(--sl-color-white)}starlight-file-tree:where(.astro-p67cqifm) .tree-entry{display:inline-flex;align-items:flex-start;flex-wrap:wrap;max-width:calc(100% - 1rem)}@media (min-width: 30em){starlight-file-tree:where(.astro-p67cqifm) .tree-entry{flex-wrap:nowrap}}starlight-file-tree:where(.astro-p67cqifm) .tree-entry>:first-child{flex-shrink:0}starlight-file-tree:where(.astro-p67cqifm) .empty{color:var(--sl-color-gray-3);padding-inline-start:.375rem}starlight-file-tree:where(.astro-p67cqifm) .comment{color:var(--sl-color-gray-3);padding-inline-start:1.625rem;max-width:24rem;min-width:12rem}starlight-file-tree:where(.astro-p67cqifm) .highlight{display:inline-block;border-radius:.25rem;padding-inline-end:.5rem;color:var(--sl-color-text-invert);background-color:var(--sl-color-text-accent)}starlight-file-tree:where(.astro-p67cqifm) svg{display:inline;fill:var(--sl-color-gray-3);vertical-align:middle;margin-inline:.25rem .375rem;width:.875rem;height:.875rem}starlight-file-tree:where(.astro-p67cqifm) .highlight svg.tree-icon{fill:var(--sl-color-text-invert)} .sl-link-button:where(.astro-xwgiixxa){align-items:center;border:1px solid transparent;border-radius:999rem;display:inline-flex;font-size:var(--sl-text-sm);gap:.5em;line-height:1.1875;outline-offset:.25rem;padding:.4375rem 1.125rem;text-decoration:none}.sl-link-button:where(.astro-xwgiixxa).primary{background:var(--sl-color-text-accent);border-color:var(--sl-color-text-accent);color:var(--sl-color-black)}.sl-link-button:where(.astro-xwgiixxa).primary:hover{color:var(--sl-color-black)}.sl-link-button:where(.astro-xwgiixxa).secondary{border-color:inherit;color:var(--sl-color-white)}.sl-link-button:where(.astro-xwgiixxa).minimal{color:var(--sl-color-white);padding-inline:0}.sl-link-button:where(.astro-xwgiixxa) svg{flex-shrink:0}@media (min-width: 50rem){.sl-link-button:where(.astro-xwgiixxa){font-size:var(--sl-text-base);padding:.9375rem 1.25rem}}.sl-markdown-content .sl-link-button:where(.astro-xwgiixxa){margin-inline-end:1rem}.sl-markdown-content .sl-link-button:where(.astro-xwgiixxa):not(:where(p *)){margin-block:1rem} </style><script type="module" src="/_astro/hoisted.BV5E3Qmv.js"></script> <script type="module" src="/_astro/page.7qqag-5g.js"></script><style>.read-more:where(.astro-szj46hnz){display:flex;gap:.5rem;align-items:flex-start}.icon:where(.astro-szj46hnz){--icon-size: 1.5rem;font-size:var(--icon-size);flex-shrink:0;margin-block:calc((var(--sl-line-height) * 1rem - var(--icon-size)) / 2);color:var(--sl-color-text-accent)} </style><script src="/_astro/Tabs.astro_astro_type_script_index_0_lang.3nBd5krW.js" type="module"></script></head> <body class="astro-bguv2lll"> <a href="#_top" class="astro-7q3lir66">Skip to content</a> <div class="page sl-flex astro-vrdttmbt"> <header class="header astro-vrdttmbt"><div class="header sl-flex astro-kmkmnagf"> <div class="title-wrapper sl-flex astro-kmkmnagf"> <div class="astro-dcan6uai"> <a href="/" class="site-title sl-flex astro-m46x6ez3"> <img class="light:sl-hidden astro-m46x6ez3" alt="" src="/_astro/light.CAHvKVIz.svg" width="235" height="39"> <img class="dark:sl-hidden astro-m46x6ez3" alt="" src="/_astro/dark.CcUzcp8d.svg" width="235" height="39"> <span class="sr-only astro-m46x6ez3"> Crowdin Docs </span> </a> <ul class="astro-vtgkq7vy"> <li class="astro-vtgkq7vy"> <a href="/introduction/" id="crowdin-nav-button" class="nav-link astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy"> Crowdin Help </a> </li><li class="astro-vtgkq7vy"> <a href="/enterprise/introduction/" id="enterprise-nav-button" class="nav-link astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy"> Enterprise Help </a> </li><li class="astro-vtgkq7vy"> <a href="/developer/crowdin-apps-about/" id="developer-nav-button" class="nav-link astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy"> Developer Portal </a> </li><li class="astro-vtgkq7vy"> <a href="https://store.crowdin.com" target="_blank" class="nav-link astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy"> Store </a> </li><li class="astro-vtgkq7vy"> <a href="https://crowdin.com/blog" target="_blank" class="nav-link astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy"> Blog </a> </li><li class="astro-vtgkq7vy"> <a href="https://community.crowdin.com/" target="_blank" class="nav-link astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy astro-vtgkq7vy"> Community </a> </li> </ul> </div> </div> <div class="sl-flex astro-kmkmnagf"> <site-search data-translations="{"placeholder":"Search"}" class="astro-v37mnknz"> <button data-open-modal disabled aria-label="Search" aria-keyshortcuts="Control+K" class="astro-v37mnknz"> <svg aria-hidden="true" class="astro-v37mnknz astro-c6vsoqas" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="M21.71 20.29 18 16.61A9 9 0 1 0 16.61 18l3.68 3.68a.999.999 0 0 0 1.42 0 1 1 0 0 0 0-1.39ZM11 18a7 7 0 1 1 0-14 7 7 0 0 1 0 14Z"/></svg> <span class="sl-hidden md:sl-block astro-v37mnknz" aria-hidden="true">Search</span> <kbd class="sl-hidden md:sl-flex astro-v37mnknz" style="display: none;"> <kbd class="astro-v37mnknz">Ctrl</kbd><kbd class="astro-v37mnknz">K</kbd> </kbd> </button> <dialog style="padding:0" aria-label="Search" class="astro-v37mnknz"> <div class="dialog-frame sl-flex astro-v37mnknz"> <button data-close-modal class="sl-flex md:sl-hidden astro-v37mnknz"> Cancel </button> <div class="search-container astro-v37mnknz"> <div id="starlight__search" class="astro-v37mnknz"></div> </div> </div> </dialog> </site-search> <script> (() => { const openBtn = document.querySelector('button[data-open-modal]'); const shortcut = openBtn?.querySelector('kbd'); if (!openBtn || !(shortcut instanceof HTMLElement)) return; const platformKey = shortcut.querySelector('kbd'); if (platformKey && /(Mac|iPhone|iPod|iPad)/i.test(navigator.platform)) { platformKey.textContent = '⌘'; openBtn.setAttribute('aria-keyshortcuts', 'Meta+K'); } shortcut.style.display = ''; })(); </script> </div> <div class="sl-hidden md:sl-flex right-group astro-kmkmnagf"> <div class="sl-flex social-icons astro-kmkmnagf"> <a href="https://x.com/crowdin" rel="me" class="sl-flex astro-wy4te6ga"><span class="sr-only astro-wy4te6ga">X</span><svg aria-hidden="true" class="astro-wy4te6ga astro-c6vsoqas" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="M 18.242188 2.25 L 21.554688 2.25 L 14.324219 10.507812 L 22.828125 21.75 L 16.171875 21.75 L 10.953125 14.933594 L 4.992188 21.75 L 1.679688 21.75 L 9.40625 12.914062 L 1.257812 2.25 L 8.082031 2.25 L 12.792969 8.480469 Z M 17.082031 19.773438 L 18.914062 19.773438 L 7.082031 4.125 L 5.113281 4.125 Z M 17.082031 19.773438 "/></svg> </a><a href="https://www.linkedin.com/company/crowdin" rel="me" class="sl-flex astro-wy4te6ga"><span class="sr-only astro-wy4te6ga">LinkedIn</span><svg aria-hidden="true" class="astro-wy4te6ga astro-c6vsoqas" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="M20.47 2H3.53a1.45 1.45 0 0 0-1.47 1.43v17.14A1.45 1.45 0 0 0 3.53 22h16.94a1.45 1.45 0 0 0 1.47-1.43V3.43A1.45 1.45 0 0 0 20.47 2ZM8.09 18.74h-3v-9h3v9ZM6.59 8.48a1.56 1.56 0 0 1 0-3.12 1.57 1.57 0 1 1 0 3.12Zm12.32 10.26h-3v-4.83c0-1.21-.43-2-1.52-2A1.65 1.65 0 0 0 12.85 13a2 2 0 0 0-.1.73v5h-3v-9h3V11a3 3 0 0 1 2.71-1.5c2 0 3.45 1.29 3.45 4.06v5.18Z"/></svg> </a><a href="https://youtube.com/@crowdin-localization" rel="me" class="sl-flex astro-wy4te6ga"><span class="sr-only astro-wy4te6ga">YouTube</span><svg aria-hidden="true" class="astro-wy4te6ga astro-c6vsoqas" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="M23.5 6.2A3 3 0 0 0 21.4 4c-1.9-.5-9.4-.5-9.4-.5s-7.5 0-9.4.5A3 3 0 0 0 .5 6.3C0 8 0 12 0 12s0 4 .5 5.8A3 3 0 0 0 2.6 20c1.9.6 9.4.6 9.4.6s7.5 0 9.4-.6a3 3 0 0 0 2.1-2c.5-2 .5-5.9.5-5.9s0-4-.5-5.8zm-14 9.4V8.4l6.3 3.6-6.3 3.6z"/></svg> </a><a href="https://github.com/crowdin" rel="me" class="sl-flex astro-wy4te6ga"><span class="sr-only astro-wy4te6ga">GitHub</span><svg aria-hidden="true" class="astro-wy4te6ga astro-c6vsoqas" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="M12 .3a12 12 0 0 0-3.8 23.38c.6.12.83-.26.83-.57L9 21.07c-3.34.72-4.04-1.61-4.04-1.61-.55-1.39-1.34-1.76-1.34-1.76-1.08-.74.09-.73.09-.73 1.2.09 1.83 1.24 1.83 1.24 1.08 1.83 2.81 1.3 3.5 1 .1-.78.42-1.31.76-1.61-2.67-.3-5.47-1.33-5.47-5.93 0-1.31.47-2.38 1.24-3.22-.14-.3-.54-1.52.1-3.18 0 0 1-.32 3.3 1.23a11.5 11.5 0 0 1 6 0c2.28-1.55 3.29-1.23 3.29-1.23.64 1.66.24 2.88.12 3.18a4.65 4.65 0 0 1 1.23 3.22c0 4.61-2.8 5.63-5.48 5.92.42.36.81 1.1.81 2.22l-.01 3.29c0 .31.2.69.82.57A12 12 0 0 0 12 .3Z"/></svg> </a> </div> <starlight-theme-select> <label style="--sl-select-width: 6.25em" class="astro-4yphtoen"> <span class="sr-only astro-4yphtoen">Select theme</span> <svg aria-hidden="true" class="icon label-icon astro-4yphtoen astro-c6vsoqas" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="M21 14h-1V7a3 3 0 0 0-3-3H7a3 3 0 0 0-3 3v7H3a1 1 0 0 0-1 1v2a3 3 0 0 0 3 3h14a3 3 0 0 0 3-3v-2a1 1 0 0 0-1-1ZM6 7a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v7H6V7Zm14 10a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1v-1h16v1Z"/></svg> <select value="auto" class="astro-4yphtoen"> <option value="dark" class="astro-4yphtoen">Dark</option><option value="light" class="astro-4yphtoen">Light</option><option value="auto" selected class="astro-4yphtoen">Auto</option> </select> <svg aria-hidden="true" class="icon caret astro-4yphtoen astro-c6vsoqas" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="M17 9.17a1 1 0 0 0-1.41 0L12 12.71 8.46 9.17a1 1 0 1 0-1.41 1.42l4.24 4.24a1.002 1.002 0 0 0 1.42 0L17 10.59a1.002 1.002 0 0 0 0-1.42Z"/></svg> </label> </starlight-theme-select> <script> StarlightThemeProvider.updatePickers(); </script> </div> </div> </header> <nav class="sidebar astro-vrdttmbt" aria-label="Main"> <starlight-menu-button class="astro-jif73yzw"> <button aria-expanded="false" aria-label="Menu" aria-controls="starlight__sidebar" class="sl-flex md:sl-hidden astro-jif73yzw"> <svg aria-hidden="true" class="astro-jif73yzw astro-c6vsoqas" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="M3 8h18a1 1 0 1 0 0-2H3a1 1 0 0 0 0 2Zm18 8H3a1 1 0 0 0 0 2h18a1 1 0 0 0 0-2Zm0-5H3a1 1 0 0 0 0 2h18a1 1 0 0 0 0-2Z"/></svg> </button> </starlight-menu-button> <div id="starlight__sidebar" class="sidebar-pane astro-vrdttmbt"> <div class="sidebar-content sl-flex astro-vrdttmbt"> <div hidden data-starlight-multi-sidebar-label="Crowdin Help"><sl-sidebar-state-persist data-hash="170wlro" class="astro-kku4brbg"> <script> (() => { try { if (!matchMedia('(min-width: 50em)').matches) return; /** @type {HTMLElement | null} */ const target = document.querySelector('sl-sidebar-state-persist'); const state = JSON.parse(sessionStorage.getItem('sl-sidebar-state') || '0'); if (!target || !state || target.dataset.hash !== state.hash) return; window._starlightScrollRestore = state.scroll; customElements.define( 'sl-sidebar-restore', class SidebarRestore extends HTMLElement { connectedCallback() { try { const idx = parseInt(this.dataset.index || ''); const details = this.closest('details'); if (details && typeof state.open[idx] === 'boolean') details.open = state.open[idx]; } catch {} } } ); } catch {} })(); </script> <ul class="top-level astro-3ii7xxms"> <li class="astro-3ii7xxms"> <details class="astro-3ii7xxms"> <sl-sidebar-restore data-index="0"></sl-sidebar-restore> <summary class="astro-3ii7xxms"> <div class="group-label astro-3ii7xxms"> <span class="large astro-3ii7xxms">Getting Started</span> </div> <svg aria-hidden="true" class="caret astro-3ii7xxms astro-c6vsoqas" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1.25rem;"><path d="m14.83 11.29-4.24-4.24a1 1 0 1 0-1.42 1.41L12.71 12l-3.54 3.54a1 1 0 0 0 0 1.41 1 1 0 0 0 .71.29 1 1 0 0 0 .71-.29l4.24-4.24a1.002 1.002 0 0 0 0-1.42Z"/></svg> </summary> <ul class="astro-3ii7xxms"> <li class="astro-3ii7xxms"> <a href="/introduction/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Introduction</span> </a> </li><li class="astro-3ii7xxms"> <a href="/for-managers/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">For Managers</span> </a> </li><li class="astro-3ii7xxms"> <a href="/for-translators/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">For Translators</span> </a> </li><li class="astro-3ii7xxms"> <a href="/supported-formats/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Supported Formats</span> </a> </li><li class="astro-3ii7xxms"> <a href="/migrating-to-crowdin/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Migrating to Crowdin</span> </a> </li><li class="astro-3ii7xxms"> <a href="/additional-support-services/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Additional Support Services</span> </a> </li><li class="astro-3ii7xxms"> <details class="astro-3ii7xxms"> <sl-sidebar-restore data-index="28"></sl-sidebar-restore> <summary class="astro-3ii7xxms"> <div class="group-label astro-3ii7xxms"> <span class="large astro-3ii7xxms">Account</span> </div> <svg aria-hidden="true" class="caret astro-3ii7xxms astro-c6vsoqas" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1.25rem;"><path d="m14.83 11.29-4.24-4.24a1 1 0 1 0-1.42 1.41L12.71 12l-3.54 3.54a1 1 0 0 0 0 1.41 1 1 0 0 0 .71.29 1 1 0 0 0 .71-.29l4.24-4.24a1.002 1.002 0 0 0 0-1.42Z"/></svg> </summary> <ul class="astro-3ii7xxms"> <li class="astro-3ii7xxms"> <a href="/account-notifications/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Notifications</span> </a> </li><li class="astro-3ii7xxms"> <a href="/messages/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Messages</span> </a> </li><li class="astro-3ii7xxms"> <a href="/account-settings/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Settings</span> </a> </li> </ul> </details> </li> </ul> </details> </li><li class="astro-3ii7xxms"> <details class="astro-3ii7xxms"> <sl-sidebar-restore data-index="1"></sl-sidebar-restore> <summary class="astro-3ii7xxms"> <div class="group-label astro-3ii7xxms"> <span class="large astro-3ii7xxms">Translation Process</span> </div> <svg aria-hidden="true" class="caret astro-3ii7xxms astro-c6vsoqas" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1.25rem;"><path d="m14.83 11.29-4.24-4.24a1 1 0 1 0-1.42 1.41L12.71 12l-3.54 3.54a1 1 0 0 0 0 1.41 1 1 0 0 0 .71.29 1 1 0 0 0 .71-.29l4.24-4.24a1.002 1.002 0 0 0 0-1.42Z"/></svg> </summary> <ul class="astro-3ii7xxms"> <li class="astro-3ii7xxms"> <a href="/translation-strategies/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Translation Strategies</span> </a> </li><li class="astro-3ii7xxms"> <a href="/crowdin-ai/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Crowdin AI</span> </a> </li><li class="astro-3ii7xxms"> <a href="/pre-translation/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Pre-Translation</span> </a> </li><li class="astro-3ii7xxms"> <a href="/ordering-professional-translations/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Ordering Professional Translations</span> </a> </li><li class="astro-3ii7xxms"> <a href="/offline-translation/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Offline Translation</span> </a> </li> </ul> </details> </li><li class="astro-3ii7xxms"> <details class="astro-3ii7xxms"> <sl-sidebar-restore data-index="2"></sl-sidebar-restore> <summary class="astro-3ii7xxms"> <div class="group-label astro-3ii7xxms"> <span class="large astro-3ii7xxms">Project Management</span> </div> <svg aria-hidden="true" class="caret astro-3ii7xxms astro-c6vsoqas" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1.25rem;"><path d="m14.83 11.29-4.24-4.24a1 1 0 1 0-1.42 1.41L12.71 12l-3.54 3.54a1 1 0 0 0 0 1.41 1 1 0 0 0 .71.29 1 1 0 0 0 .71-.29l4.24-4.24a1.002 1.002 0 0 0 0-1.42Z"/></svg> </summary> <ul class="astro-3ii7xxms"> <li class="astro-3ii7xxms"> <a href="/creating-project/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Creating a Project</span> </a> </li><li class="astro-3ii7xxms"> <a href="/screenshots/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Screenshots</span> </a> </li><li class="astro-3ii7xxms"> <a href="/project-activity/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Project Activity</span> </a> </li><li class="astro-3ii7xxms"> <a href="/discussions/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Discussions</span> </a> </li><li class="astro-3ii7xxms"> <a href="/webhooks/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Webhooks</span> </a> </li><li class="astro-3ii7xxms"> <details class="astro-3ii7xxms"> <sl-sidebar-restore data-index="29"></sl-sidebar-restore> <summary class="astro-3ii7xxms"> <div class="group-label astro-3ii7xxms"> <span class="large astro-3ii7xxms">Sources</span> </div> <svg aria-hidden="true" class="caret astro-3ii7xxms astro-c6vsoqas" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1.25rem;"><path d="m14.83 11.29-4.24-4.24a1 1 0 1 0-1.42 1.41L12.71 12l-3.54 3.54a1 1 0 0 0 0 1.41 1 1 0 0 0 .71.29 1 1 0 0 0 .71-.29l4.24-4.24a1.002 1.002 0 0 0 0-1.42Z"/></svg> </summary> <ul class="astro-3ii7xxms"> <li class="astro-3ii7xxms"> <a href="/uploading-files/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Uploading Source Files</span> </a> </li><li class="astro-3ii7xxms"> <a href="/file-management/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">File Management</span> </a> </li><li class="astro-3ii7xxms"> <a href="/string-management/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">String Management</span> </a> </li><li class="astro-3ii7xxms"> <a href="/version-management/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Version Management</span> </a> </li><li class="astro-3ii7xxms"> <a href="/custom-segmentation/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Custom Segmentation</span> </a> </li><li class="astro-3ii7xxms"> <a href="/asset-localization/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Asset Localization</span> </a> </li><li class="astro-3ii7xxms"> <a href="/csv-xlsx-configuration/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">CSV / XLSX File Configuration</span> </a> </li><li class="astro-3ii7xxms"> <a href="/xml-configuration/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">XML File Configuration</span> </a> </li> </ul> </details> </li><li class="astro-3ii7xxms"> <details class="astro-3ii7xxms"> <sl-sidebar-restore data-index="30"></sl-sidebar-restore> <summary class="astro-3ii7xxms"> <div class="group-label astro-3ii7xxms"> <span class="large astro-3ii7xxms">Translations</span> </div> <svg aria-hidden="true" class="caret astro-3ii7xxms astro-c6vsoqas" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1.25rem;"><path d="m14.83 11.29-4.24-4.24a1 1 0 1 0-1.42 1.41L12.71 12l-3.54 3.54a1 1 0 0 0 0 1.41 1 1 0 0 0 .71.29 1 1 0 0 0 .71-.29l4.24-4.24a1.002 1.002 0 0 0 0-1.42Z"/></svg> </summary> <ul class="astro-3ii7xxms"> <li class="astro-3ii7xxms"> <a href="/downloading-translations/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Downloading Translations</span> </a> </li><li class="astro-3ii7xxms"> <a href="/uploading-translations/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Uploading Existing Translations</span> </a> </li><li class="astro-3ii7xxms"> <a href="/bundles/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Target Files Bundles</span> </a> </li> </ul> </details> </li><li class="astro-3ii7xxms"> <details class="astro-3ii7xxms"> <sl-sidebar-restore data-index="31"></sl-sidebar-restore> <summary class="astro-3ii7xxms"> <div class="group-label astro-3ii7xxms"> <span class="large astro-3ii7xxms">Project Settings</span> </div> <svg aria-hidden="true" class="caret astro-3ii7xxms astro-c6vsoqas" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1.25rem;"><path d="m14.83 11.29-4.24-4.24a1 1 0 1 0-1.42 1.41L12.71 12l-3.54 3.54a1 1 0 0 0 0 1.41 1 1 0 0 0 .71.29 1 1 0 0 0 .71-.29l4.24-4.24a1.002 1.002 0 0 0 0-1.42Z"/></svg> </summary> <ul class="astro-3ii7xxms"> <li class="astro-3ii7xxms"> <a href="/project-settings/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">General</span> </a> </li><li class="astro-3ii7xxms"> <a href="/project-settings/privacy-collaboration/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Privacy & Collaboration</span> </a> </li><li class="astro-3ii7xxms"> <a href="/project-settings/languages/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Languages</span> </a> </li><li class="astro-3ii7xxms"> <a href="/project-settings/qa-checks/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">QA Checks</span> </a> </li><li class="astro-3ii7xxms"> <a href="/project-settings/translation-memories/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Translation Memories</span> </a> </li><li class="astro-3ii7xxms"> <a href="/project-settings/glossaries/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Glossaries</span> </a> </li><li class="astro-3ii7xxms"> <a href="/project-settings/machine-translation/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Machine Translation</span> </a> </li><li class="astro-3ii7xxms"> <a href="/project-settings/ai/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">AI</span> </a> </li><li class="astro-3ii7xxms"> <a href="/project-settings/pre-translate/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Pre-Translate</span> </a> </li><li class="astro-3ii7xxms"> <a href="/project-settings/import/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Import</span> </a> </li><li class="astro-3ii7xxms"> <a href="/project-settings/export/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Export</span> </a> </li><li class="astro-3ii7xxms"> <a href="/project-settings/labels/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Labels</span> </a> </li><li class="astro-3ii7xxms"> <a href="/project-settings/parser-configuration/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Parser Configuration</span> </a> </li><li class="astro-3ii7xxms"> <a href="/project-settings/file-processors/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">File Processors</span> </a> </li> </ul> </details> </li> </ul> </details> </li><li class="astro-3ii7xxms"> <details class="astro-3ii7xxms"> <sl-sidebar-restore data-index="3"></sl-sidebar-restore> <summary class="astro-3ii7xxms"> <div class="group-label astro-3ii7xxms"> <span class="large astro-3ii7xxms">Team Management</span> </div> <svg aria-hidden="true" class="caret astro-3ii7xxms astro-c6vsoqas" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1.25rem;"><path d="m14.83 11.29-4.24-4.24a1 1 0 1 0-1.42 1.41L12.71 12l-3.54 3.54a1 1 0 0 0 0 1.41 1 1 0 0 0 .71.29 1 1 0 0 0 .71-.29l4.24-4.24a1.002 1.002 0 0 0 0-1.42Z"/></svg> </summary> <ul class="astro-3ii7xxms"> <li class="astro-3ii7xxms"> <a href="/roles/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Roles</span> </a> </li><li class="astro-3ii7xxms"> <a href="/inviting-people/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Inviting People</span> </a> </li><li class="astro-3ii7xxms"> <a href="/project-members/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Project Members</span> </a> </li><li class="astro-3ii7xxms"> <a href="/manager-permissions/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Manager Permissions</span> </a> </li> </ul> </details> </li><li class="astro-3ii7xxms"> <details class="astro-3ii7xxms"> <sl-sidebar-restore data-index="4"></sl-sidebar-restore> <summary class="astro-3ii7xxms"> <div class="group-label astro-3ii7xxms"> <span class="large astro-3ii7xxms">Integrations</span> </div> <svg aria-hidden="true" class="caret astro-3ii7xxms astro-c6vsoqas" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1.25rem;"><path d="m14.83 11.29-4.24-4.24a1 1 0 1 0-1.42 1.41L12.71 12l-3.54 3.54a1 1 0 0 0 0 1.41 1 1 0 0 0 .71.29 1 1 0 0 0 .71-.29l4.24-4.24a1.002 1.002 0 0 0 0-1.42Z"/></svg> </summary> <ul class="astro-3ii7xxms"> <li class="astro-3ii7xxms"> <a href="/integrations/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Overview</span> </a> </li><li class="astro-3ii7xxms"> <a href="/github-integration/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">GitHub Integration</span> </a> </li><li class="astro-3ii7xxms"> <a href="/gitlab-integration/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">GitLab Integration</span> </a> </li><li class="astro-3ii7xxms"> <a href="/bitbucket-integration/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Bitbucket Integration</span> </a> </li><li class="astro-3ii7xxms"> <a href="/azure-repos-integration/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Azure Repos Integration</span> </a> </li><li class="astro-3ii7xxms"> <a href="/configuring-vcs-integrations-online/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Configuring VCS Integrations Online</span> </a> </li><li class="astro-3ii7xxms"> <a href="/content-delivery/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Content Delivery</span> </a> </li><li class="astro-3ii7xxms"> <a href="/jira-integration/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Jira Integration</span> </a> </li><li class="astro-3ii7xxms"> <a href="/figma-plugin/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Figma Plugin</span> </a> </li><li class="astro-3ii7xxms"> <a href="/sketch-plugin/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Sketch Plugin</span> </a> </li><li class="astro-3ii7xxms"> <a href="/adobe-xd-plugin/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Adobe XD Plugin</span> </a> </li><li class="astro-3ii7xxms"> <a href="/google-play-integration/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Google Play Integration</span> </a> </li> </ul> </details> </li><li class="astro-3ii7xxms"> <details class="astro-3ii7xxms"> <sl-sidebar-restore data-index="5"></sl-sidebar-restore> <summary class="astro-3ii7xxms"> <div class="group-label astro-3ii7xxms"> <span class="large astro-3ii7xxms">Localization Resources</span> </div> <svg aria-hidden="true" class="caret astro-3ii7xxms astro-c6vsoqas" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1.25rem;"><path d="m14.83 11.29-4.24-4.24a1 1 0 1 0-1.42 1.41L12.71 12l-3.54 3.54a1 1 0 0 0 0 1.41 1 1 0 0 0 .71.29 1 1 0 0 0 .71-.29l4.24-4.24a1.002 1.002 0 0 0 0-1.42Z"/></svg> </summary> <ul class="astro-3ii7xxms"> <li class="astro-3ii7xxms"> <a href="/glossary/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Glossary</span> </a> </li><li class="astro-3ii7xxms"> <a href="/machine-translation/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Machine Translation</span> </a> </li><li class="astro-3ii7xxms"> <a href="/translation-memory/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Translation Memory</span> </a> </li> </ul> </details> </li><li class="astro-3ii7xxms"> <details class="astro-3ii7xxms"> <sl-sidebar-restore data-index="6"></sl-sidebar-restore> <summary class="astro-3ii7xxms"> <div class="group-label astro-3ii7xxms"> <span class="large astro-3ii7xxms">Online Editor</span> </div> <svg aria-hidden="true" class="caret astro-3ii7xxms astro-c6vsoqas" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1.25rem;"><path d="m14.83 11.29-4.24-4.24a1 1 0 1 0-1.42 1.41L12.71 12l-3.54 3.54a1 1 0 0 0 0 1.41 1 1 0 0 0 .71.29 1 1 0 0 0 .71-.29l4.24-4.24a1.002 1.002 0 0 0 0-1.42Z"/></svg> </summary> <ul class="astro-3ii7xxms"> <li class="astro-3ii7xxms"> <a href="/online-editor/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Editor Overview</span> </a> </li><li class="astro-3ii7xxms"> <a href="/expression-syntax-elements/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Expression Syntax Elements</span> </a> </li><li class="astro-3ii7xxms"> <a href="/icu-message-syntax/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">ICU Message Syntax</span> </a> </li><li class="astro-3ii7xxms"> <a href="/translation-consistency/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Translation Consistency</span> </a> </li><li class="astro-3ii7xxms"> <a href="/word-counter/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Word Counter</span> </a> </li> </ul> </details> </li><li class="astro-3ii7xxms"> <details class="astro-3ii7xxms"> <sl-sidebar-restore data-index="7"></sl-sidebar-restore> <summary class="astro-3ii7xxms"> <div class="group-label astro-3ii7xxms"> <span class="large astro-3ii7xxms">Tasks</span> </div> <svg aria-hidden="true" class="caret astro-3ii7xxms astro-c6vsoqas" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1.25rem;"><path d="m14.83 11.29-4.24-4.24a1 1 0 1 0-1.42 1.41L12.71 12l-3.54 3.54a1 1 0 0 0 0 1.41 1 1 0 0 0 .71.29 1 1 0 0 0 .71-.29l4.24-4.24a1.002 1.002 0 0 0 0-1.42Z"/></svg> </summary> <ul class="astro-3ii7xxms"> <li class="astro-3ii7xxms"> <a href="/tasks/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Project Tasks</span> </a> </li><li class="astro-3ii7xxms"> <a href="/user-tasks/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">User Tasks</span> </a> </li><li class="astro-3ii7xxms"> <a href="/crowdin-language-services/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Crowdin Language Services</span> </a> </li><li class="astro-3ii7xxms"> <a href="/blend-integration/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">BLEND Integration</span> </a> </li> </ul> </details> </li><li class="astro-3ii7xxms"> <details class="astro-3ii7xxms"> <sl-sidebar-restore data-index="8"></sl-sidebar-restore> <summary class="astro-3ii7xxms"> <div class="group-label astro-3ii7xxms"> <span class="large astro-3ii7xxms">Reports</span> </div> <svg aria-hidden="true" class="caret astro-3ii7xxms astro-c6vsoqas" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1.25rem;"><path d="m14.83 11.29-4.24-4.24a1 1 0 1 0-1.42 1.41L12.71 12l-3.54 3.54a1 1 0 0 0 0 1.41 1 1 0 0 0 .71.29 1 1 0 0 0 .71-.29l4.24-4.24a1.002 1.002 0 0 0 0-1.42Z"/></svg> </summary> <ul class="astro-3ii7xxms"> <li class="astro-3ii7xxms"> <a href="/project-reports/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Project Reports</span> </a> </li><li class="astro-3ii7xxms"> <a href="/contributor-reports/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Contributor Reports</span> </a> </li> </ul> </details> </li><li class="astro-3ii7xxms"> <details class="astro-3ii7xxms"> <sl-sidebar-restore data-index="9"></sl-sidebar-restore> <summary class="astro-3ii7xxms"> <div class="group-label astro-3ii7xxms"> <span class="large astro-3ii7xxms">Billing and Payments</span> </div> <svg aria-hidden="true" class="caret astro-3ii7xxms astro-c6vsoqas" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1.25rem;"><path d="m14.83 11.29-4.24-4.24a1 1 0 1 0-1.42 1.41L12.71 12l-3.54 3.54a1 1 0 0 0 0 1.41 1 1 0 0 0 .71.29 1 1 0 0 0 .71-.29l4.24-4.24a1.002 1.002 0 0 0 0-1.42Z"/></svg> </summary> <ul class="astro-3ii7xxms"> <li class="astro-3ii7xxms"> <a href="/payments-invoices/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Payments and Invoices</span> </a> </li><li class="astro-3ii7xxms"> <a href="/changing-subscription-plan/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Changing Subscription Plan</span> </a> </li><li class="astro-3ii7xxms"> <a href="/crowdin-managed-services/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Crowdin Managed Services</span> </a> </li><li class="astro-3ii7xxms"> <a href="/app-subscriptions/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">App Subscriptions</span> </a> </li><li class="astro-3ii7xxms"> <a href="/billing-settings/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Billing Settings</span> </a> </li> </ul> </details> </li> </ul> <script> (() => { const scroller = document.getElementById('starlight__sidebar'); if (!window._starlightScrollRestore || !scroller) return; scroller.scrollTop = window._starlightScrollRestore; delete window._starlightScrollRestore; })(); </script> </sl-sidebar-state-persist> <div class="md:sl-hidden"> <div class="mobile-preferences sl-flex astro-wu23bvmt"> <div class="sl-flex social-icons astro-wu23bvmt"> <a href="https://x.com/crowdin" rel="me" class="sl-flex astro-wy4te6ga"><span class="sr-only astro-wy4te6ga">X</span><svg aria-hidden="true" class="astro-wy4te6ga astro-c6vsoqas" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="M 18.242188 2.25 L 21.554688 2.25 L 14.324219 10.507812 L 22.828125 21.75 L 16.171875 21.75 L 10.953125 14.933594 L 4.992188 21.75 L 1.679688 21.75 L 9.40625 12.914062 L 1.257812 2.25 L 8.082031 2.25 L 12.792969 8.480469 Z M 17.082031 19.773438 L 18.914062 19.773438 L 7.082031 4.125 L 5.113281 4.125 Z M 17.082031 19.773438 "/></svg> </a><a href="https://www.linkedin.com/company/crowdin" rel="me" class="sl-flex astro-wy4te6ga"><span class="sr-only astro-wy4te6ga">LinkedIn</span><svg aria-hidden="true" class="astro-wy4te6ga astro-c6vsoqas" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="M20.47 2H3.53a1.45 1.45 0 0 0-1.47 1.43v17.14A1.45 1.45 0 0 0 3.53 22h16.94a1.45 1.45 0 0 0 1.47-1.43V3.43A1.45 1.45 0 0 0 20.47 2ZM8.09 18.74h-3v-9h3v9ZM6.59 8.48a1.56 1.56 0 0 1 0-3.12 1.57 1.57 0 1 1 0 3.12Zm12.32 10.26h-3v-4.83c0-1.21-.43-2-1.52-2A1.65 1.65 0 0 0 12.85 13a2 2 0 0 0-.1.73v5h-3v-9h3V11a3 3 0 0 1 2.71-1.5c2 0 3.45 1.29 3.45 4.06v5.18Z"/></svg> </a><a href="https://youtube.com/@crowdin-localization" rel="me" class="sl-flex astro-wy4te6ga"><span class="sr-only astro-wy4te6ga">YouTube</span><svg aria-hidden="true" class="astro-wy4te6ga astro-c6vsoqas" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="M23.5 6.2A3 3 0 0 0 21.4 4c-1.9-.5-9.4-.5-9.4-.5s-7.5 0-9.4.5A3 3 0 0 0 .5 6.3C0 8 0 12 0 12s0 4 .5 5.8A3 3 0 0 0 2.6 20c1.9.6 9.4.6 9.4.6s7.5 0 9.4-.6a3 3 0 0 0 2.1-2c.5-2 .5-5.9.5-5.9s0-4-.5-5.8zm-14 9.4V8.4l6.3 3.6-6.3 3.6z"/></svg> </a><a href="https://github.com/crowdin" rel="me" class="sl-flex astro-wy4te6ga"><span class="sr-only astro-wy4te6ga">GitHub</span><svg aria-hidden="true" class="astro-wy4te6ga astro-c6vsoqas" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="M12 .3a12 12 0 0 0-3.8 23.38c.6.12.83-.26.83-.57L9 21.07c-3.34.72-4.04-1.61-4.04-1.61-.55-1.39-1.34-1.76-1.34-1.76-1.08-.74.09-.73.09-.73 1.2.09 1.83 1.24 1.83 1.24 1.08 1.83 2.81 1.3 3.5 1 .1-.78.42-1.31.76-1.61-2.67-.3-5.47-1.33-5.47-5.93 0-1.31.47-2.38 1.24-3.22-.14-.3-.54-1.52.1-3.18 0 0 1-.32 3.3 1.23a11.5 11.5 0 0 1 6 0c2.28-1.55 3.29-1.23 3.29-1.23.64 1.66.24 2.88.12 3.18a4.65 4.65 0 0 1 1.23 3.22c0 4.61-2.8 5.63-5.48 5.92.42.36.81 1.1.81 2.22l-.01 3.29c0 .31.2.69.82.57A12 12 0 0 0 12 .3Z"/></svg> </a> </div> <starlight-theme-select> <label style="--sl-select-width: 6.25em" class="astro-4yphtoen"> <span class="sr-only astro-4yphtoen">Select theme</span> <svg aria-hidden="true" class="icon label-icon astro-4yphtoen astro-c6vsoqas" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="M21 14h-1V7a3 3 0 0 0-3-3H7a3 3 0 0 0-3 3v7H3a1 1 0 0 0-1 1v2a3 3 0 0 0 3 3h14a3 3 0 0 0 3-3v-2a1 1 0 0 0-1-1ZM6 7a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v7H6V7Zm14 10a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1v-1h16v1Z"/></svg> <select value="auto" class="astro-4yphtoen"> <option value="dark" class="astro-4yphtoen">Dark</option><option value="light" class="astro-4yphtoen">Light</option><option value="auto" selected class="astro-4yphtoen">Auto</option> </select> <svg aria-hidden="true" class="icon caret astro-4yphtoen astro-c6vsoqas" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="M17 9.17a1 1 0 0 0-1.41 0L12 12.71 8.46 9.17a1 1 0 1 0-1.41 1.42l4.24 4.24a1.002 1.002 0 0 0 1.42 0L17 10.59a1.002 1.002 0 0 0 0-1.42Z"/></svg> </label> </starlight-theme-select> <script> StarlightThemeProvider.updatePickers(); </script> </div> </div></div><div hidden data-starlight-multi-sidebar-label="Enterprise Help"><sl-sidebar-state-persist data-hash="0mapk94" class="astro-kku4brbg"> <script> (() => { try { if (!matchMedia('(min-width: 50em)').matches) return; /** @type {HTMLElement | null} */ const target = document.querySelector('sl-sidebar-state-persist'); const state = JSON.parse(sessionStorage.getItem('sl-sidebar-state') || '0'); if (!target || !state || target.dataset.hash !== state.hash) return; window._starlightScrollRestore = state.scroll; customElements.define( 'sl-sidebar-restore', class SidebarRestore extends HTMLElement { connectedCallback() { try { const idx = parseInt(this.dataset.index || ''); const details = this.closest('details'); if (details && typeof state.open[idx] === 'boolean') details.open = state.open[idx]; } catch {} } } ); } catch {} })(); </script> <ul class="top-level astro-3ii7xxms"> <li class="astro-3ii7xxms"> <details class="astro-3ii7xxms"> <sl-sidebar-restore data-index="10"></sl-sidebar-restore> <summary class="astro-3ii7xxms"> <div class="group-label astro-3ii7xxms"> <span class="large astro-3ii7xxms">Getting Started</span> </div> <svg aria-hidden="true" class="caret astro-3ii7xxms astro-c6vsoqas" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1.25rem;"><path d="m14.83 11.29-4.24-4.24a1 1 0 1 0-1.42 1.41L12.71 12l-3.54 3.54a1 1 0 0 0 0 1.41 1 1 0 0 0 .71.29 1 1 0 0 0 .71-.29l4.24-4.24a1.002 1.002 0 0 0 0-1.42Z"/></svg> </summary> <ul class="astro-3ii7xxms"> <li class="astro-3ii7xxms"> <a href="/enterprise/introduction/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Enterprise Introduction</span> </a> </li><li class="astro-3ii7xxms"> <a href="/enterprise/for-managers/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">For Managers</span> </a> </li><li class="astro-3ii7xxms"> <a href="/enterprise/for-translators/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">For Translators</span> </a> </li><li class="astro-3ii7xxms"> <a href="/enterprise/for-vendors/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">For Vendors</span> </a> </li><li class="astro-3ii7xxms"> <a href="/enterprise/supported-formats/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Supported Formats</span> </a> </li><li class="astro-3ii7xxms"> <a href="/enterprise/migrating-to-crowdin-enterprise/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Migrating to Crowdin Enterprise</span> </a> </li><li class="astro-3ii7xxms"> <a href="/enterprise/additional-support-services/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Additional Support Services</span> </a> </li><li class="astro-3ii7xxms"> <details class="astro-3ii7xxms"> <sl-sidebar-restore data-index="32"></sl-sidebar-restore> <summary class="astro-3ii7xxms"> <div class="group-label astro-3ii7xxms"> <span class="large astro-3ii7xxms">Account</span> </div> <svg aria-hidden="true" class="caret astro-3ii7xxms astro-c6vsoqas" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1.25rem;"><path d="m14.83 11.29-4.24-4.24a1 1 0 1 0-1.42 1.41L12.71 12l-3.54 3.54a1 1 0 0 0 0 1.41 1 1 0 0 0 .71.29 1 1 0 0 0 .71-.29l4.24-4.24a1.002 1.002 0 0 0 0-1.42Z"/></svg> </summary> <ul class="astro-3ii7xxms"> <li class="astro-3ii7xxms"> <a href="/enterprise/account-notifications/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Notifications</span> </a> </li><li class="astro-3ii7xxms"> <a href="/enterprise/messages/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Messages</span> </a> </li><li class="astro-3ii7xxms"> <a href="/enterprise/account-settings/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Settings</span> </a> </li> </ul> </details> </li> </ul> </details> </li><li class="astro-3ii7xxms"> <details class="astro-3ii7xxms"> <sl-sidebar-restore data-index="11"></sl-sidebar-restore> <summary class="astro-3ii7xxms"> <div class="group-label astro-3ii7xxms"> <span class="large astro-3ii7xxms">Translation Process</span> </div> <svg aria-hidden="true" class="caret astro-3ii7xxms astro-c6vsoqas" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1.25rem;"><path d="m14.83 11.29-4.24-4.24a1 1 0 1 0-1.42 1.41L12.71 12l-3.54 3.54a1 1 0 0 0 0 1.41 1 1 0 0 0 .71.29 1 1 0 0 0 .71-.29l4.24-4.24a1.002 1.002 0 0 0 0-1.42Z"/></svg> </summary> <ul class="astro-3ii7xxms"> <li class="astro-3ii7xxms"> <a href="/enterprise/translation-strategies/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Translation Strategies</span> </a> </li><li class="astro-3ii7xxms"> <a href="/enterprise/crowdin-ai/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Crowdin AI</span> </a> </li><li class="astro-3ii7xxms"> <a href="/enterprise/pre-translation/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Pre-Translation</span> </a> </li><li class="astro-3ii7xxms"> <a href="/enterprise/offline-translation/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Offline Translation</span> </a> </li> </ul> </details> </li><li class="astro-3ii7xxms"> <details class="astro-3ii7xxms"> <sl-sidebar-restore data-index="12"></sl-sidebar-restore> <summary class="astro-3ii7xxms"> <div class="group-label astro-3ii7xxms"> <span class="large astro-3ii7xxms">Organization Management</span> </div> <svg aria-hidden="true" class="caret astro-3ii7xxms astro-c6vsoqas" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1.25rem;"><path d="m14.83 11.29-4.24-4.24a1 1 0 1 0-1.42 1.41L12.71 12l-3.54 3.54a1 1 0 0 0 0 1.41 1 1 0 0 0 .71.29 1 1 0 0 0 .71-.29l4.24-4.24a1.002 1.002 0 0 0 0-1.42Z"/></svg> </summary> <ul class="astro-3ii7xxms"> <li class="astro-3ii7xxms"> <a href="/enterprise/organization/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Start with an Organization</span> </a> </li><li class="astro-3ii7xxms"> <a href="/enterprise/groups/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Groups</span> </a> </li><li class="astro-3ii7xxms"> <a href="/enterprise/vendors/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Vendors</span> </a> </li><li class="astro-3ii7xxms"> <a href="/enterprise/clients/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Clients</span> </a> </li><li class="astro-3ii7xxms"> <a href="/enterprise/crowdsourcing/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Crowdsourcing</span> </a> </li><li class="astro-3ii7xxms"> <details class="astro-3ii7xxms"> <sl-sidebar-restore data-index="33"></sl-sidebar-restore> <summary class="astro-3ii7xxms"> <div class="group-label astro-3ii7xxms"> <span class="large astro-3ii7xxms">Workflows</span> </div> <svg aria-hidden="true" class="caret astro-3ii7xxms astro-c6vsoqas" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1.25rem;"><path d="m14.83 11.29-4.24-4.24a1 1 0 1 0-1.42 1.41L12.71 12l-3.54 3.54a1 1 0 0 0 0 1.41 1 1 0 0 0 .71.29 1 1 0 0 0 .71-.29l4.24-4.24a1.002 1.002 0 0 0 0-1.42Z"/></svg> </summary> <ul class="astro-3ii7xxms"> <li class="astro-3ii7xxms"> <a href="/enterprise/workflows/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Workflow Overview</span> </a> </li><li class="astro-3ii7xxms"> <a href="/enterprise/translation-proofreading-by-vendor/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Translation and Proofreading by Vendor</span> </a> </li><li class="astro-3ii7xxms"> <a href="/enterprise/source-text-review/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Source Text Review</span> </a> </li><li class="astro-3ii7xxms"> <a href="/enterprise/custom-code/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Custom Code</span> </a> </li><li class="astro-3ii7xxms"> <a href="/enterprise/translation-by-api-vendor/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Translation by API Vendor</span> </a> </li> </ul> </details> </li><li class="astro-3ii7xxms"> <details class="astro-3ii7xxms"> <sl-sidebar-restore data-index="34"></sl-sidebar-restore> <summary class="astro-3ii7xxms"> <div class="group-label astro-3ii7xxms"> <span class="large astro-3ii7xxms">Organization Settings</span> </div> <svg aria-hidden="true" class="caret astro-3ii7xxms astro-c6vsoqas" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1.25rem;"><path d="m14.83 11.29-4.24-4.24a1 1 0 1 0-1.42 1.41L12.71 12l-3.54 3.54a1 1 0 0 0 0 1.41 1 1 0 0 0 .71.29 1 1 0 0 0 .71-.29l4.24-4.24a1.002 1.002 0 0 0 0-1.42Z"/></svg> </summary> <ul class="astro-3ii7xxms"> <li class="astro-3ii7xxms"> <a href="/enterprise/organization-settings/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Overview</span> </a> </li><li class="astro-3ii7xxms"> <a href="/enterprise/authentication/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Authentication</span> </a> </li><li class="astro-3ii7xxms"> <a href="/enterprise/saml/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">SAML single sign-on</span> </a> </li><li class="astro-3ii7xxms"> <a href="/enterprise/oidc/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">OpenID Connect</span> </a> </li><li class="astro-3ii7xxms"> <a href="/enterprise/fields/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Fields</span> <span class="sl-badge default small astro-3ii7xxms astro-avdet4wd">New</span> </a> </li><li class="astro-3ii7xxms"> <a href="/enterprise/custom-placeholders/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Custom Placeholders</span> </a> </li><li class="astro-3ii7xxms"> <a href="/enterprise/custom-qa-checks/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Custom QA Checks</span> </a> </li><li class="astro-3ii7xxms"> <a href="/enterprise/permissions-granularity-mode/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Permission Granularity Mode</span> </a> </li> </ul> </details> </li> </ul> </details> </li><li class="astro-3ii7xxms"> <details class="astro-3ii7xxms"> <sl-sidebar-restore data-index="13"></sl-sidebar-restore> <summary class="astro-3ii7xxms"> <div class="group-label astro-3ii7xxms"> <span class="large astro-3ii7xxms">Project Management</span> </div> <svg aria-hidden="true" class="caret astro-3ii7xxms astro-c6vsoqas" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1.25rem;"><path d="m14.83 11.29-4.24-4.24a1 1 0 1 0-1.42 1.41L12.71 12l-3.54 3.54a1 1 0 0 0 0 1.41 1 1 0 0 0 .71.29 1 1 0 0 0 .71-.29l4.24-4.24a1.002 1.002 0 0 0 0-1.42Z"/></svg> </summary> <ul class="astro-3ii7xxms"> <li class="astro-3ii7xxms"> <a href="/enterprise/creating-project/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Creating a Project</span> </a> </li><li class="astro-3ii7xxms"> <a href="/enterprise/screenshots/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Screenshots</span> </a> </li><li class="astro-3ii7xxms"> <a href="/enterprise/project-activity/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Project Activity</span> </a> </li><li class="astro-3ii7xxms"> <a href="/enterprise/webhooks/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Webhooks</span> </a> </li><li class="astro-3ii7xxms"> <details class="astro-3ii7xxms"> <sl-sidebar-restore data-index="35"></sl-sidebar-restore> <summary class="astro-3ii7xxms"> <div class="group-label astro-3ii7xxms"> <span class="large astro-3ii7xxms">Sources</span> </div> <svg aria-hidden="true" class="caret astro-3ii7xxms astro-c6vsoqas" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1.25rem;"><path d="m14.83 11.29-4.24-4.24a1 1 0 1 0-1.42 1.41L12.71 12l-3.54 3.54a1 1 0 0 0 0 1.41 1 1 0 0 0 .71.29 1 1 0 0 0 .71-.29l4.24-4.24a1.002 1.002 0 0 0 0-1.42Z"/></svg> </summary> <ul class="astro-3ii7xxms"> <li class="astro-3ii7xxms"> <a href="/enterprise/uploading-files/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Uploading Source Files</span> </a> </li><li class="astro-3ii7xxms"> <a href="/enterprise/file-management/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">File Management</span> </a> </li><li class="astro-3ii7xxms"> <a href="/enterprise/string-management/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">String Management</span> </a> </li><li class="astro-3ii7xxms"> <a href="/enterprise/version-management/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Version Management</span> </a> </li><li class="astro-3ii7xxms"> <a href="/enterprise/custom-segmentation/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Custom Segmentation</span> </a> </li><li class="astro-3ii7xxms"> <a href="/enterprise/asset-localization/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Asset Localization</span> </a> </li><li class="astro-3ii7xxms"> <a href="/enterprise/csv-xlsx-configuration/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">CSV / XLSX File Configuration</span> </a> </li><li class="astro-3ii7xxms"> <a href="/enterprise/xml-configuration/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">XML File Configuration</span> </a> </li> </ul> </details> </li><li class="astro-3ii7xxms"> <details class="astro-3ii7xxms"> <sl-sidebar-restore data-index="36"></sl-sidebar-restore> <summary class="astro-3ii7xxms"> <div class="group-label astro-3ii7xxms"> <span class="large astro-3ii7xxms">Translations</span> </div> <svg aria-hidden="true" class="caret astro-3ii7xxms astro-c6vsoqas" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1.25rem;"><path d="m14.83 11.29-4.24-4.24a1 1 0 1 0-1.42 1.41L12.71 12l-3.54 3.54a1 1 0 0 0 0 1.41 1 1 0 0 0 .71.29 1 1 0 0 0 .71-.29l4.24-4.24a1.002 1.002 0 0 0 0-1.42Z"/></svg> </summary> <ul class="astro-3ii7xxms"> <li class="astro-3ii7xxms"> <a href="/enterprise/downloading-translations/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Downloading Translations</span> </a> </li><li class="astro-3ii7xxms"> <a href="/enterprise/uploading-translations/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Uploading Existing Translations</span> </a> </li><li class="astro-3ii7xxms"> <a href="/enterprise/bundles/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Target Files Bundles</span> </a> </li> </ul> </details> </li><li class="astro-3ii7xxms"> <details class="astro-3ii7xxms"> <sl-sidebar-restore data-index="37"></sl-sidebar-restore> <summary class="astro-3ii7xxms"> <div class="group-label astro-3ii7xxms"> <span class="large astro-3ii7xxms">Project Settings</span> </div> <svg aria-hidden="true" class="caret astro-3ii7xxms astro-c6vsoqas" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1.25rem;"><path d="m14.83 11.29-4.24-4.24a1 1 0 1 0-1.42 1.41L12.71 12l-3.54 3.54a1 1 0 0 0 0 1.41 1 1 0 0 0 .71.29 1 1 0 0 0 .71-.29l4.24-4.24a1.002 1.002 0 0 0 0-1.42Z"/></svg> </summary> <ul class="astro-3ii7xxms"> <li class="astro-3ii7xxms"> <a href="/enterprise/project-settings/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">General</span> </a> </li><li class="astro-3ii7xxms"> <a href="/enterprise/project-settings/privacy/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Privacy</span> </a> </li><li class="astro-3ii7xxms"> <a href="/enterprise/project-settings/languages/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Languages</span> </a> </li><li class="astro-3ii7xxms"> <a href="/enterprise/project-settings/qa-checks/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Quality Assurance</span> </a> </li><li class="astro-3ii7xxms"> <a href="/enterprise/project-settings/translation-memories/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Translation Memories</span> </a> </li><li class="astro-3ii7xxms"> <a href="/enterprise/project-settings/glossaries/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Glossaries</span> </a> </li><li class="astro-3ii7xxms"> <a href="/enterprise/project-settings/machine-translation/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Machine Translation</span> </a> </li><li class="astro-3ii7xxms"> <a href="/enterprise/project-settings/ai/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">AI</span> </a> </li><li class="astro-3ii7xxms"> <a href="/enterprise/project-settings/import/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Import</span> </a> </li><li class="astro-3ii7xxms"> <a href="/enterprise/project-settings/export/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Export</span> </a> </li><li class="astro-3ii7xxms"> <a href="/enterprise/project-settings/labels/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Labels</span> </a> </li><li class="astro-3ii7xxms"> <a href="/enterprise/project-settings/parser-configuration/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Parser Configuration</span> </a> </li><li class="astro-3ii7xxms"> <a href="/enterprise/project-settings/file-processors/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">File Processors</span> </a> </li> </ul> </details> </li> </ul> </details> </li><li class="astro-3ii7xxms"> <details class="astro-3ii7xxms"> <sl-sidebar-restore data-index="14"></sl-sidebar-restore> <summary class="astro-3ii7xxms"> <div class="group-label astro-3ii7xxms"> <span class="large astro-3ii7xxms">Team Management</span> </div> <svg aria-hidden="true" class="caret astro-3ii7xxms astro-c6vsoqas" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1.25rem;"><path d="m14.83 11.29-4.24-4.24a1 1 0 1 0-1.42 1.41L12.71 12l-3.54 3.54a1 1 0 0 0 0 1.41 1 1 0 0 0 .71.29 1 1 0 0 0 .71-.29l4.24-4.24a1.002 1.002 0 0 0 0-1.42Z"/></svg> </summary> <ul class="astro-3ii7xxms"> <li class="astro-3ii7xxms"> <a href="/enterprise/roles/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Roles</span> </a> </li><li class="astro-3ii7xxms"> <a href="/enterprise/inviting-people/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Inviting People</span> </a> </li><li class="astro-3ii7xxms"> <a href="/enterprise/project-members/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Project Members</span> </a> </li><li class="astro-3ii7xxms"> <a href="/enterprise/organization-members/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Organization Members</span> </a> </li><li class="astro-3ii7xxms"> <a href="/enterprise/teams/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Teams</span> </a> </li> </ul> </details> </li><li class="astro-3ii7xxms"> <details class="astro-3ii7xxms"> <sl-sidebar-restore data-index="15"></sl-sidebar-restore> <summary class="astro-3ii7xxms"> <div class="group-label astro-3ii7xxms"> <span class="large astro-3ii7xxms">Integrations</span> </div> <svg aria-hidden="true" class="caret astro-3ii7xxms astro-c6vsoqas" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1.25rem;"><path d="m14.83 11.29-4.24-4.24a1 1 0 1 0-1.42 1.41L12.71 12l-3.54 3.54a1 1 0 0 0 0 1.41 1 1 0 0 0 .71.29 1 1 0 0 0 .71-.29l4.24-4.24a1.002 1.002 0 0 0 0-1.42Z"/></svg> </summary> <ul class="astro-3ii7xxms"> <li class="astro-3ii7xxms"> <a href="/enterprise/integrations/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Overview</span> </a> </li><li class="astro-3ii7xxms"> <a href="/enterprise/github-integration/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">GitHub Integration</span> </a> </li><li class="astro-3ii7xxms"> <a href="/enterprise/gitlab-integration/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">GitLab Integration</span> </a> </li><li class="astro-3ii7xxms"> <a href="/enterprise/bitbucket-integration/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Bitbucket Integration</span> </a> </li><li class="astro-3ii7xxms"> <a href="/enterprise/azure-repos-integration/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Azure Repos Integration</span> </a> </li><li class="astro-3ii7xxms"> <a href="/enterprise/configuring-vcs-integrations-online/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Configuring VCS Integrations Online</span> </a> </li><li class="astro-3ii7xxms"> <a href="/enterprise/content-delivery/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Content Delivery</span> </a> </li><li class="astro-3ii7xxms"> <a href="/enterprise/jira-integration/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Jira Integration</span> </a> </li><li class="astro-3ii7xxms"> <a href="/enterprise/figma-plugin/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Figma Plugin</span> </a> </li><li class="astro-3ii7xxms"> <a href="/enterprise/sketch-plugin/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Sketch Plugin</span> </a> </li><li class="astro-3ii7xxms"> <a href="/enterprise/adobe-xd-plugin/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Adobe XD Plugin</span> </a> </li><li class="astro-3ii7xxms"> <a href="/enterprise/google-play-integration/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Google Play Integration</span> </a> </li> </ul> </details> </li><li class="astro-3ii7xxms"> <details class="astro-3ii7xxms"> <sl-sidebar-restore data-index="16"></sl-sidebar-restore> <summary class="astro-3ii7xxms"> <div class="group-label astro-3ii7xxms"> <span class="large astro-3ii7xxms">Localization Resources</span> </div> <svg aria-hidden="true" class="caret astro-3ii7xxms astro-c6vsoqas" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1.25rem;"><path d="m14.83 11.29-4.24-4.24a1 1 0 1 0-1.42 1.41L12.71 12l-3.54 3.54a1 1 0 0 0 0 1.41 1 1 0 0 0 .71.29 1 1 0 0 0 .71-.29l4.24-4.24a1.002 1.002 0 0 0 0-1.42Z"/></svg> </summary> <ul class="astro-3ii7xxms"> <li class="astro-3ii7xxms"> <a href="/enterprise/glossary/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Glossary</span> </a> </li><li class="astro-3ii7xxms"> <a href="/enterprise/machine-translation/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Machine Translation</span> </a> </li><li class="astro-3ii7xxms"> <a href="/enterprise/translation-memory/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Translation Memory</span> </a> </li> </ul> </details> </li><li class="astro-3ii7xxms"> <details class="astro-3ii7xxms"> <sl-sidebar-restore data-index="17"></sl-sidebar-restore> <summary class="astro-3ii7xxms"> <div class="group-label astro-3ii7xxms"> <span class="large astro-3ii7xxms">Online Editor</span> </div> <svg aria-hidden="true" class="caret astro-3ii7xxms astro-c6vsoqas" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1.25rem;"><path d="m14.83 11.29-4.24-4.24a1 1 0 1 0-1.42 1.41L12.71 12l-3.54 3.54a1 1 0 0 0 0 1.41 1 1 0 0 0 .71.29 1 1 0 0 0 .71-.29l4.24-4.24a1.002 1.002 0 0 0 0-1.42Z"/></svg> </summary> <ul class="astro-3ii7xxms"> <li class="astro-3ii7xxms"> <a href="/enterprise/online-editor/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Overview</span> </a> </li><li class="astro-3ii7xxms"> <a href="/enterprise/expression-syntax-elements/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Expression Syntax Elements</span> </a> </li><li class="astro-3ii7xxms"> <a href="/enterprise/icu-message-syntax/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">ICU Message Syntax</span> </a> </li><li class="astro-3ii7xxms"> <a href="/enterprise/translation-consistency/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Translation Consistency</span> </a> </li><li class="astro-3ii7xxms"> <a href="/enterprise/word-counter/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Word Counter</span> </a> </li> </ul> </details> </li><li class="astro-3ii7xxms"> <details class="astro-3ii7xxms"> <sl-sidebar-restore data-index="18"></sl-sidebar-restore> <summary class="astro-3ii7xxms"> <div class="group-label astro-3ii7xxms"> <span class="large astro-3ii7xxms">Tasks</span> </div> <svg aria-hidden="true" class="caret astro-3ii7xxms astro-c6vsoqas" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1.25rem;"><path d="m14.83 11.29-4.24-4.24a1 1 0 1 0-1.42 1.41L12.71 12l-3.54 3.54a1 1 0 0 0 0 1.41 1 1 0 0 0 .71.29 1 1 0 0 0 .71-.29l4.24-4.24a1.002 1.002 0 0 0 0-1.42Z"/></svg> </summary> <ul class="astro-3ii7xxms"> <li class="astro-3ii7xxms"> <a href="/enterprise/tasks/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Project Tasks</span> </a> </li><li class="astro-3ii7xxms"> <a href="/enterprise/user-tasks/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">User Tasks</span> </a> </li> </ul> </details> </li><li class="astro-3ii7xxms"> <details class="astro-3ii7xxms"> <sl-sidebar-restore data-index="19"></sl-sidebar-restore> <summary class="astro-3ii7xxms"> <div class="group-label astro-3ii7xxms"> <span class="large astro-3ii7xxms">Reports</span> </div> <svg aria-hidden="true" class="caret astro-3ii7xxms astro-c6vsoqas" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1.25rem;"><path d="m14.83 11.29-4.24-4.24a1 1 0 1 0-1.42 1.41L12.71 12l-3.54 3.54a1 1 0 0 0 0 1.41 1 1 0 0 0 .71.29 1 1 0 0 0 .71-.29l4.24-4.24a1.002 1.002 0 0 0 0-1.42Z"/></svg> </summary> <ul class="astro-3ii7xxms"> <li class="astro-3ii7xxms"> <a href="/enterprise/organization-reports/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Organization Reports</span> </a> </li><li class="astro-3ii7xxms"> <a href="/enterprise/project-reports/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Project Reports</span> </a> </li><li class="astro-3ii7xxms"> <a href="/enterprise/contributor-reports/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Contributor Reports</span> </a> </li> </ul> </details> </li><li class="astro-3ii7xxms"> <details class="astro-3ii7xxms"> <sl-sidebar-restore data-index="20"></sl-sidebar-restore> <summary class="astro-3ii7xxms"> <div class="group-label astro-3ii7xxms"> <span class="large astro-3ii7xxms">Billing and Payments</span> </div> <svg aria-hidden="true" class="caret astro-3ii7xxms astro-c6vsoqas" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1.25rem;"><path d="m14.83 11.29-4.24-4.24a1 1 0 1 0-1.42 1.41L12.71 12l-3.54 3.54a1 1 0 0 0 0 1.41 1 1 0 0 0 .71.29 1 1 0 0 0 .71-.29l4.24-4.24a1.002 1.002 0 0 0 0-1.42Z"/></svg> </summary> <ul class="astro-3ii7xxms"> <li class="astro-3ii7xxms"> <a href="/enterprise/payments-invoices/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Payments and Invoices</span> </a> </li><li class="astro-3ii7xxms"> <a href="/enterprise/changing-subscription-plan/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Changing Subscription Plan</span> </a> </li><li class="astro-3ii7xxms"> <a href="/enterprise/crowdin-managed-services/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Crowdin Managed Services</span> </a> </li><li class="astro-3ii7xxms"> <a href="/enterprise/app-subscriptions/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">App Subscriptions</span> </a> </li><li class="astro-3ii7xxms"> <a href="/enterprise/billing-settings/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Billing Settings</span> </a> </li> </ul> </details> </li> </ul> <script> (() => { const scroller = document.getElementById('starlight__sidebar'); if (!window._starlightScrollRestore || !scroller) return; scroller.scrollTop = window._starlightScrollRestore; delete window._starlightScrollRestore; })(); </script> </sl-sidebar-state-persist> <div class="md:sl-hidden"> <div class="mobile-preferences sl-flex astro-wu23bvmt"> <div class="sl-flex social-icons astro-wu23bvmt"> <a href="https://x.com/crowdin" rel="me" class="sl-flex astro-wy4te6ga"><span class="sr-only astro-wy4te6ga">X</span><svg aria-hidden="true" class="astro-wy4te6ga astro-c6vsoqas" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="M 18.242188 2.25 L 21.554688 2.25 L 14.324219 10.507812 L 22.828125 21.75 L 16.171875 21.75 L 10.953125 14.933594 L 4.992188 21.75 L 1.679688 21.75 L 9.40625 12.914062 L 1.257812 2.25 L 8.082031 2.25 L 12.792969 8.480469 Z M 17.082031 19.773438 L 18.914062 19.773438 L 7.082031 4.125 L 5.113281 4.125 Z M 17.082031 19.773438 "/></svg> </a><a href="https://www.linkedin.com/company/crowdin" rel="me" class="sl-flex astro-wy4te6ga"><span class="sr-only astro-wy4te6ga">LinkedIn</span><svg aria-hidden="true" class="astro-wy4te6ga astro-c6vsoqas" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="M20.47 2H3.53a1.45 1.45 0 0 0-1.47 1.43v17.14A1.45 1.45 0 0 0 3.53 22h16.94a1.45 1.45 0 0 0 1.47-1.43V3.43A1.45 1.45 0 0 0 20.47 2ZM8.09 18.74h-3v-9h3v9ZM6.59 8.48a1.56 1.56 0 0 1 0-3.12 1.57 1.57 0 1 1 0 3.12Zm12.32 10.26h-3v-4.83c0-1.21-.43-2-1.52-2A1.65 1.65 0 0 0 12.85 13a2 2 0 0 0-.1.73v5h-3v-9h3V11a3 3 0 0 1 2.71-1.5c2 0 3.45 1.29 3.45 4.06v5.18Z"/></svg> </a><a href="https://youtube.com/@crowdin-localization" rel="me" class="sl-flex astro-wy4te6ga"><span class="sr-only astro-wy4te6ga">YouTube</span><svg aria-hidden="true" class="astro-wy4te6ga astro-c6vsoqas" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="M23.5 6.2A3 3 0 0 0 21.4 4c-1.9-.5-9.4-.5-9.4-.5s-7.5 0-9.4.5A3 3 0 0 0 .5 6.3C0 8 0 12 0 12s0 4 .5 5.8A3 3 0 0 0 2.6 20c1.9.6 9.4.6 9.4.6s7.5 0 9.4-.6a3 3 0 0 0 2.1-2c.5-2 .5-5.9.5-5.9s0-4-.5-5.8zm-14 9.4V8.4l6.3 3.6-6.3 3.6z"/></svg> </a><a href="https://github.com/crowdin" rel="me" class="sl-flex astro-wy4te6ga"><span class="sr-only astro-wy4te6ga">GitHub</span><svg aria-hidden="true" class="astro-wy4te6ga astro-c6vsoqas" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="M12 .3a12 12 0 0 0-3.8 23.38c.6.12.83-.26.83-.57L9 21.07c-3.34.72-4.04-1.61-4.04-1.61-.55-1.39-1.34-1.76-1.34-1.76-1.08-.74.09-.73.09-.73 1.2.09 1.83 1.24 1.83 1.24 1.08 1.83 2.81 1.3 3.5 1 .1-.78.42-1.31.76-1.61-2.67-.3-5.47-1.33-5.47-5.93 0-1.31.47-2.38 1.24-3.22-.14-.3-.54-1.52.1-3.18 0 0 1-.32 3.3 1.23a11.5 11.5 0 0 1 6 0c2.28-1.55 3.29-1.23 3.29-1.23.64 1.66.24 2.88.12 3.18a4.65 4.65 0 0 1 1.23 3.22c0 4.61-2.8 5.63-5.48 5.92.42.36.81 1.1.81 2.22l-.01 3.29c0 .31.2.69.82.57A12 12 0 0 0 12 .3Z"/></svg> </a> </div> <starlight-theme-select> <label style="--sl-select-width: 6.25em" class="astro-4yphtoen"> <span class="sr-only astro-4yphtoen">Select theme</span> <svg aria-hidden="true" class="icon label-icon astro-4yphtoen astro-c6vsoqas" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="M21 14h-1V7a3 3 0 0 0-3-3H7a3 3 0 0 0-3 3v7H3a1 1 0 0 0-1 1v2a3 3 0 0 0 3 3h14a3 3 0 0 0 3-3v-2a1 1 0 0 0-1-1ZM6 7a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v7H6V7Zm14 10a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1v-1h16v1Z"/></svg> <select value="auto" class="astro-4yphtoen"> <option value="dark" class="astro-4yphtoen">Dark</option><option value="light" class="astro-4yphtoen">Light</option><option value="auto" selected class="astro-4yphtoen">Auto</option> </select> <svg aria-hidden="true" class="icon caret astro-4yphtoen astro-c6vsoqas" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="M17 9.17a1 1 0 0 0-1.41 0L12 12.71 8.46 9.17a1 1 0 1 0-1.41 1.42l4.24 4.24a1.002 1.002 0 0 0 1.42 0L17 10.59a1.002 1.002 0 0 0 0-1.42Z"/></svg> </label> </starlight-theme-select> <script> StarlightThemeProvider.updatePickers(); </script> </div> </div></div><div data-starlight-multi-sidebar-label="Developer Portal"><sl-sidebar-state-persist data-hash="0981s9n" class="astro-kku4brbg"> <script> (() => { try { if (!matchMedia('(min-width: 50em)').matches) return; /** @type {HTMLElement | null} */ const target = document.querySelector('sl-sidebar-state-persist'); const state = JSON.parse(sessionStorage.getItem('sl-sidebar-state') || '0'); if (!target || !state || target.dataset.hash !== state.hash) return; window._starlightScrollRestore = state.scroll; customElements.define( 'sl-sidebar-restore', class SidebarRestore extends HTMLElement { connectedCallback() { try { const idx = parseInt(this.dataset.index || ''); const details = this.closest('details'); if (details && typeof state.open[idx] === 'boolean') details.open = state.open[idx]; } catch {} } } ); } catch {} })(); </script> <ul class="top-level astro-3ii7xxms"> <li class="astro-3ii7xxms"> <details open class="astro-3ii7xxms"> <sl-sidebar-restore data-index="21"></sl-sidebar-restore> <summary class="astro-3ii7xxms"> <div class="group-label astro-3ii7xxms"> <span class="large astro-3ii7xxms">Crowdin Apps</span> </div> <svg aria-hidden="true" class="caret astro-3ii7xxms astro-c6vsoqas" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1.25rem;"><path d="m14.83 11.29-4.24-4.24a1 1 0 1 0-1.42 1.41L12.71 12l-3.54 3.54a1 1 0 0 0 0 1.41 1 1 0 0 0 .71.29 1 1 0 0 0 .71-.29l4.24-4.24a1.002 1.002 0 0 0 0-1.42Z"/></svg> </summary> <ul class="astro-3ii7xxms"> <li class="astro-3ii7xxms"> <a href="/developer/crowdin-apps-about/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">About Crowdin Apps</span> </a> </li><li class="astro-3ii7xxms"> <a href="/developer/crowdin-apps-quick-start/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Quick Start</span> </a> </li><li class="astro-3ii7xxms"> <a href="/developer/crowdin-apps-app-descriptor/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">App Descriptor</span> </a> </li><li class="astro-3ii7xxms"> <a href="/developer/crowdin-apps-js/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Crowdin Apps JS</span> </a> </li><li class="astro-3ii7xxms"> <a href="/developer/crowdin-apps-installation/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">App Installation</span> </a> </li><li class="astro-3ii7xxms"> <a href="/developer/crowdin-apps-security/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Security for Crowdin Apps</span> </a> </li><li class="astro-3ii7xxms"> <a href="/developer/crowdin-apps-user-interface/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">User Interface</span> </a> </li><li class="astro-3ii7xxms"> <details class="astro-3ii7xxms"> <sl-sidebar-restore data-index="38"></sl-sidebar-restore> <summary class="astro-3ii7xxms"> <div class="group-label astro-3ii7xxms"> <span class="large astro-3ii7xxms">Publishing</span> </div> <svg aria-hidden="true" class="caret astro-3ii7xxms astro-c6vsoqas" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1.25rem;"><path d="m14.83 11.29-4.24-4.24a1 1 0 1 0-1.42 1.41L12.71 12l-3.54 3.54a1 1 0 0 0 0 1.41 1 1 0 0 0 .71.29 1 1 0 0 0 .71-.29l4.24-4.24a1.002 1.002 0 0 0 0-1.42Z"/></svg> </summary> <ul class="astro-3ii7xxms"> <li class="astro-3ii7xxms"> <a href="/developer/crowdin-apps-monetization/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Crowdin Apps Monetization</span> </a> </li><li class="astro-3ii7xxms"> <a href="/developer/crowdin-apps-publishing/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Publishing Your App</span> </a> </li><li class="astro-3ii7xxms"> <a href="/developer/crowdin-apps-releasing/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Releasing Crowdin Apps</span> </a> </li><li class="astro-3ii7xxms"> <a href="/developer/crowdin-apps-promoting/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Crowdin Apps Promoting</span> </a> </li> </ul> </details> </li> </ul> </details> </li><li class="astro-3ii7xxms"> <details class="astro-3ii7xxms"> <sl-sidebar-restore data-index="22"></sl-sidebar-restore> <summary class="astro-3ii7xxms"> <div class="group-label astro-3ii7xxms"> <span class="large astro-3ii7xxms">Modules</span> </div> <svg aria-hidden="true" class="caret astro-3ii7xxms astro-c6vsoqas" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1.25rem;"><path d="m14.83 11.29-4.24-4.24a1 1 0 1 0-1.42 1.41L12.71 12l-3.54 3.54a1 1 0 0 0 0 1.41 1 1 0 0 0 .71.29 1 1 0 0 0 .71-.29l4.24-4.24a1.002 1.002 0 0 0 0-1.42Z"/></svg> </summary> <ul class="astro-3ii7xxms"> <li class="astro-3ii7xxms"> <details class="astro-3ii7xxms"> <sl-sidebar-restore data-index="39"></sl-sidebar-restore> <summary class="astro-3ii7xxms"> <div class="group-label astro-3ii7xxms"> <span class="large astro-3ii7xxms">UI Modules</span> </div> <svg aria-hidden="true" class="caret astro-3ii7xxms astro-c6vsoqas" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1.25rem;"><path d="m14.83 11.29-4.24-4.24a1 1 0 1 0-1.42 1.41L12.71 12l-3.54 3.54a1 1 0 0 0 0 1.41 1 1 0 0 0 .71.29 1 1 0 0 0 .71-.29l4.24-4.24a1.002 1.002 0 0 0 0-1.42Z"/></svg> </summary> <ul class="astro-3ii7xxms"> <li class="astro-3ii7xxms"> <a href="/developer/crowdin-apps-modules-ui/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Overview</span> </a> </li><li class="astro-3ii7xxms"> <a href="/developer/crowdin-apps-module-project-integrations/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Integrations</span> </a> </li><li class="astro-3ii7xxms"> <a href="/developer/crowdin-apps-module-project-tools/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Tools</span> </a> </li><li class="astro-3ii7xxms"> <a href="/developer/crowdin-apps-module-project-reports/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Reports</span> </a> </li><li class="astro-3ii7xxms"> <a href="/developer/crowdin-apps-module-project-menu/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Project Menu</span> </a> </li><li class="astro-3ii7xxms"> <a href="/developer/crowdin-apps-module-project-menu-crowdsource/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Project Menu (Crowdsource View)</span> </a> </li><li class="astro-3ii7xxms"> <a href="/developer/crowdin-apps-module-editor-right-panel/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Editor Right Panel</span> </a> </li><li class="astro-3ii7xxms"> <a href="/developer/crowdin-apps-module-editor-translations-panel/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Editor Translations Panel</span> </a> </li><li class="astro-3ii7xxms"> <a href="/developer/crowdin-apps-module-organization-menu/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Organization Menu</span> </a> </li><li class="astro-3ii7xxms"> <a href="/developer/crowdin-apps-module-organization-menu-crowdsource/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Organization Menu (Crowdsource View)</span> </a> </li><li class="astro-3ii7xxms"> <a href="/developer/crowdin-apps-module-profile-resources-menu/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Resources</span> </a> </li><li class="astro-3ii7xxms"> <a href="/developer/crowdin-apps-module-custom-mt/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Custom MT</span> </a> </li><li class="astro-3ii7xxms"> <a href="/developer/crowdin-apps-module-custom-ai/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Custom AI</span> <span class="sl-badge default small astro-3ii7xxms astro-avdet4wd">New</span> </a> </li><li class="astro-3ii7xxms"> <a href="/developer/crowdin-apps-module-ai-prompt-provider/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">AI Prompt Provider</span> <span class="sl-badge default small astro-3ii7xxms astro-avdet4wd">New</span> </a> </li><li class="astro-3ii7xxms"> <a href="/developer/crowdin-apps-module-context-menu/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Context Menu</span> </a> </li><li class="astro-3ii7xxms"> <a href="/developer/crowdin-apps-module-modal/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Modal</span> </a> </li> </ul> </details> </li><li class="astro-3ii7xxms"> <details class="astro-3ii7xxms"> <sl-sidebar-restore data-index="40"></sl-sidebar-restore> <summary class="astro-3ii7xxms"> <div class="group-label astro-3ii7xxms"> <span class="large astro-3ii7xxms">File Processing Modules</span> </div> <svg aria-hidden="true" class="caret astro-3ii7xxms astro-c6vsoqas" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1.25rem;"><path d="m14.83 11.29-4.24-4.24a1 1 0 1 0-1.42 1.41L12.71 12l-3.54 3.54a1 1 0 0 0 0 1.41 1 1 0 0 0 .71.29 1 1 0 0 0 .71-.29l4.24-4.24a1.002 1.002 0 0 0 0-1.42Z"/></svg> </summary> <ul class="astro-3ii7xxms"> <li class="astro-3ii7xxms"> <a href="/developer/crowdin-apps-modules-file-processing/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Overview</span> </a> </li><li class="astro-3ii7xxms"> <a href="/developer/crowdin-apps-module-custom-file-format/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Custom File Format</span> </a> </li><li class="astro-3ii7xxms"> <a href="/developer/crowdin-apps-module-file-pre-import-processing/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">File Pre-Import Processing</span> </a> </li><li class="astro-3ii7xxms"> <a href="/developer/crowdin-apps-module-file-post-import-processing/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">File Post-Import Processing</span> </a> </li><li class="astro-3ii7xxms"> <a href="/developer/crowdin-apps-module-file-pre-export-processing/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">File Pre-Export Processing</span> </a> </li><li class="astro-3ii7xxms"> <a href="/developer/crowdin-apps-module-file-post-export-processing/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">File Post-Export Processing</span> </a> </li> </ul> </details> </li><li class="astro-3ii7xxms"> <details class="astro-3ii7xxms"> <sl-sidebar-restore data-index="41"></sl-sidebar-restore> <summary class="astro-3ii7xxms"> <div class="group-label astro-3ii7xxms"> <span class="large astro-3ii7xxms">Other</span> </div> <svg aria-hidden="true" class="caret astro-3ii7xxms astro-c6vsoqas" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1.25rem;"><path d="m14.83 11.29-4.24-4.24a1 1 0 1 0-1.42 1.41L12.71 12l-3.54 3.54a1 1 0 0 0 0 1.41 1 1 0 0 0 .71.29 1 1 0 0 0 .71-.29l4.24-4.24a1.002 1.002 0 0 0 0-1.42Z"/></svg> </summary> <ul class="astro-3ii7xxms"> <li class="astro-3ii7xxms"> <a href="/developer/crowdin-apps-module-api/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">API</span> </a> </li><li class="astro-3ii7xxms"> <a href="/developer/crowdin-apps-module-custom-spellchecker/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Custom Spellchecker</span> </a> </li><li class="astro-3ii7xxms"> <a href="/developer/crowdin-apps-module-external-qa-check/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">External QA Check</span> <span class="sl-badge default small astro-3ii7xxms astro-avdet4wd">New</span> </a> </li> </ul> </details> </li> </ul> </details> </li><li class="astro-3ii7xxms"> <details class="astro-3ii7xxms"> <sl-sidebar-restore data-index="23"></sl-sidebar-restore> <summary class="astro-3ii7xxms"> <div class="group-label astro-3ii7xxms"> <span class="large astro-3ii7xxms">Capabilities</span> </div> <svg aria-hidden="true" class="caret astro-3ii7xxms astro-c6vsoqas" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1.25rem;"><path d="m14.83 11.29-4.24-4.24a1 1 0 1 0-1.42 1.41L12.71 12l-3.54 3.54a1 1 0 0 0 0 1.41 1 1 0 0 0 .71.29 1 1 0 0 0 .71-.29l4.24-4.24a1.002 1.002 0 0 0 0-1.42Z"/></svg> </summary> <ul class="astro-3ii7xxms"> <li class="astro-3ii7xxms"> <a href="/developer/in-context-localization/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">In-Context</span> </a> </li><li class="astro-3ii7xxms"> <a href="/developer/webhooks/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Webhook Events</span> </a> </li><li class="astro-3ii7xxms"> <a href="/developer/pseudolocalization/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Pseudolocalization</span> </a> </li><li class="astro-3ii7xxms"> <a href="/developer/editor-themes/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Editor Themes</span> </a> </li> </ul> </details> </li><li class="astro-3ii7xxms"> <details class="astro-3ii7xxms"> <sl-sidebar-restore data-index="24"></sl-sidebar-restore> <summary class="astro-3ii7xxms"> <div class="group-label astro-3ii7xxms"> <span class="large astro-3ii7xxms">API</span> </div> <svg aria-hidden="true" class="caret astro-3ii7xxms astro-c6vsoqas" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1.25rem;"><path d="m14.83 11.29-4.24-4.24a1 1 0 1 0-1.42 1.41L12.71 12l-3.54 3.54a1 1 0 0 0 0 1.41 1 1 0 0 0 .71.29 1 1 0 0 0 .71-.29l4.24-4.24a1.002 1.002 0 0 0 0-1.42Z"/></svg> </summary> <ul class="astro-3ii7xxms"> <li class="astro-3ii7xxms"> <a href="/developer/api/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Overview</span> </a> </li><li class="astro-3ii7xxms"> <a href="/developer/api/v2/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Crowdin API (File-based)</span> </a> </li><li class="astro-3ii7xxms"> <a href="/developer/api/v2/string-based/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Crowdin API (String-based)</span> </a> </li><li class="astro-3ii7xxms"> <a href="/developer/enterprise/api/v2/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Enterprise API (File-based)</span> </a> </li><li class="astro-3ii7xxms"> <a href="/developer/enterprise/api/v2/string-based/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Enterprise API (String-based)</span> </a> </li><li class="astro-3ii7xxms"> <a href="/developer/graphql-api/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">GraphQL API</span> </a> </li><li class="astro-3ii7xxms"> <a href="/developer/croql/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Crowdin Query Language (CroQL)</span> </a> </li><li class="astro-3ii7xxms"> <a href="/developer/language-codes/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Language Codes</span> </a> </li> </ul> </details> </li><li class="astro-3ii7xxms"> <details class="astro-3ii7xxms"> <sl-sidebar-restore data-index="25"></sl-sidebar-restore> <summary class="astro-3ii7xxms"> <div class="group-label astro-3ii7xxms"> <span class="large astro-3ii7xxms">Dev Tools</span> </div> <svg aria-hidden="true" class="caret astro-3ii7xxms astro-c6vsoqas" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1.25rem;"><path d="m14.83 11.29-4.24-4.24a1 1 0 1 0-1.42 1.41L12.71 12l-3.54 3.54a1 1 0 0 0 0 1.41 1 1 0 0 0 .71.29 1 1 0 0 0 .71-.29l4.24-4.24a1.002 1.002 0 0 0 0-1.42Z"/></svg> </summary> <ul class="astro-3ii7xxms"> <li class="astro-3ii7xxms"> <a href="/developer/dev-tools/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Overview</span> </a> </li><li class="astro-3ii7xxms"> <a href="/developer/configuration-file/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Configuration File</span> </a> </li><li class="astro-3ii7xxms"> <a href="https://crowdin.github.io/crowdin-cli/" class="astro-3ii7xxms" target="_blank"> <span class="astro-3ii7xxms">Console Client (CLI)</span> </a> </li><li class="astro-3ii7xxms"> <a href="https://github.com/marketplace/actions/crowdin-action" class="astro-3ii7xxms" target="_blank"> <span class="astro-3ii7xxms">GitHub Action</span> </a> </li><li class="astro-3ii7xxms"> <a href="https://marketplace.visualstudio.com/items?itemName=Crowdin.vscode-crowdin" class="astro-3ii7xxms" target="_blank"> <span class="astro-3ii7xxms">Visual Studio Code Plugin</span> </a> </li><li class="astro-3ii7xxms"> <a href="https://github.com/crowdin/android-studio-plugin#readme" class="astro-3ii7xxms" target="_blank"> <span class="astro-3ii7xxms">Android Studio Plugin</span> </a> </li><li class="astro-3ii7xxms"> <a href="https://crowdin.github.io/mobile-sdk-android/" class="astro-3ii7xxms" target="_blank"> <span class="astro-3ii7xxms">Android SDK</span> </a> </li><li class="astro-3ii7xxms"> <a href="https://crowdin.github.io/mobile-sdk-ios/" class="astro-3ii7xxms" target="_blank"> <span class="astro-3ii7xxms">iOS SDK</span> </a> </li><li class="astro-3ii7xxms"> <a href="https://crowdin.github.io/ota-client-js/" class="astro-3ii7xxms" target="_blank"> <span class="astro-3ii7xxms">Website JS SDK</span> </a> </li><li class="astro-3ii7xxms"> <a href="https://github.com/crowdin/flutter-sdk#readme" class="astro-3ii7xxms" target="_blank"> <span class="astro-3ii7xxms">Flutter SDK</span> </a> </li> </ul> </details> </li><li class="astro-3ii7xxms"> <details class="astro-3ii7xxms"> <sl-sidebar-restore data-index="26"></sl-sidebar-restore> <summary class="astro-3ii7xxms"> <div class="group-label astro-3ii7xxms"> <span class="large astro-3ii7xxms">Security</span> </div> <svg aria-hidden="true" class="caret astro-3ii7xxms astro-c6vsoqas" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1.25rem;"><path d="m14.83 11.29-4.24-4.24a1 1 0 1 0-1.42 1.41L12.71 12l-3.54 3.54a1 1 0 0 0 0 1.41 1 1 0 0 0 .71.29 1 1 0 0 0 .71-.29l4.24-4.24a1.002 1.002 0 0 0 0-1.42Z"/></svg> </summary> <ul class="astro-3ii7xxms"> <li class="astro-3ii7xxms"> <a href="/developer/ip-addresses/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">IP Addresses and Domains</span> </a> </li><li class="astro-3ii7xxms"> <a href="/developer/understanding-scopes/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Understanding Scopes</span> </a> </li><li class="astro-3ii7xxms"> <a href="/developer/authorizing-oauth-apps/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Authorizing OAuth Apps</span> </a> </li> </ul> </details> </li><li class="astro-3ii7xxms"> <details open class="astro-3ii7xxms"> <sl-sidebar-restore data-index="27"></sl-sidebar-restore> <summary class="astro-3ii7xxms"> <div class="group-label astro-3ii7xxms"> <span class="large astro-3ii7xxms">Guides</span> </div> <svg aria-hidden="true" class="caret astro-3ii7xxms astro-c6vsoqas" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1.25rem;"><path d="m14.83 11.29-4.24-4.24a1 1 0 1 0-1.42 1.41L12.71 12l-3.54 3.54a1 1 0 0 0 0 1.41 1 1 0 0 0 .71.29 1 1 0 0 0 .71-.29l4.24-4.24a1.002 1.002 0 0 0 0-1.42Z"/></svg> </summary> <ul class="astro-3ii7xxms"> <li class="astro-3ii7xxms"> <a href="/developer/apps-localization/" aria-current="page" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Mobile Apps Localization</span> </a> </li><li class="astro-3ii7xxms"> <a href="/developer/automating-screenshot-management/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Automating Screenshot Management</span> </a> </li><li class="astro-3ii7xxms"> <a href="/developer/shopify-apps-localization/" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Shopify Apps Localization</span> </a> </li> </ul> </details> </li> </ul> <script> (() => { const scroller = document.getElementById('starlight__sidebar'); if (!window._starlightScrollRestore || !scroller) return; scroller.scrollTop = window._starlightScrollRestore; delete window._starlightScrollRestore; })(); </script> </sl-sidebar-state-persist> <div class="md:sl-hidden"> <div class="mobile-preferences sl-flex astro-wu23bvmt"> <div class="sl-flex social-icons astro-wu23bvmt"> <a href="https://x.com/crowdin" rel="me" class="sl-flex astro-wy4te6ga"><span class="sr-only astro-wy4te6ga">X</span><svg aria-hidden="true" class="astro-wy4te6ga astro-c6vsoqas" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="M 18.242188 2.25 L 21.554688 2.25 L 14.324219 10.507812 L 22.828125 21.75 L 16.171875 21.75 L 10.953125 14.933594 L 4.992188 21.75 L 1.679688 21.75 L 9.40625 12.914062 L 1.257812 2.25 L 8.082031 2.25 L 12.792969 8.480469 Z M 17.082031 19.773438 L 18.914062 19.773438 L 7.082031 4.125 L 5.113281 4.125 Z M 17.082031 19.773438 "/></svg> </a><a href="https://www.linkedin.com/company/crowdin" rel="me" class="sl-flex astro-wy4te6ga"><span class="sr-only astro-wy4te6ga">LinkedIn</span><svg aria-hidden="true" class="astro-wy4te6ga astro-c6vsoqas" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="M20.47 2H3.53a1.45 1.45 0 0 0-1.47 1.43v17.14A1.45 1.45 0 0 0 3.53 22h16.94a1.45 1.45 0 0 0 1.47-1.43V3.43A1.45 1.45 0 0 0 20.47 2ZM8.09 18.74h-3v-9h3v9ZM6.59 8.48a1.56 1.56 0 0 1 0-3.12 1.57 1.57 0 1 1 0 3.12Zm12.32 10.26h-3v-4.83c0-1.21-.43-2-1.52-2A1.65 1.65 0 0 0 12.85 13a2 2 0 0 0-.1.73v5h-3v-9h3V11a3 3 0 0 1 2.71-1.5c2 0 3.45 1.29 3.45 4.06v5.18Z"/></svg> </a><a href="https://youtube.com/@crowdin-localization" rel="me" class="sl-flex astro-wy4te6ga"><span class="sr-only astro-wy4te6ga">YouTube</span><svg aria-hidden="true" class="astro-wy4te6ga astro-c6vsoqas" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="M23.5 6.2A3 3 0 0 0 21.4 4c-1.9-.5-9.4-.5-9.4-.5s-7.5 0-9.4.5A3 3 0 0 0 .5 6.3C0 8 0 12 0 12s0 4 .5 5.8A3 3 0 0 0 2.6 20c1.9.6 9.4.6 9.4.6s7.5 0 9.4-.6a3 3 0 0 0 2.1-2c.5-2 .5-5.9.5-5.9s0-4-.5-5.8zm-14 9.4V8.4l6.3 3.6-6.3 3.6z"/></svg> </a><a href="https://github.com/crowdin" rel="me" class="sl-flex astro-wy4te6ga"><span class="sr-only astro-wy4te6ga">GitHub</span><svg aria-hidden="true" class="astro-wy4te6ga astro-c6vsoqas" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="M12 .3a12 12 0 0 0-3.8 23.38c.6.12.83-.26.83-.57L9 21.07c-3.34.72-4.04-1.61-4.04-1.61-.55-1.39-1.34-1.76-1.34-1.76-1.08-.74.09-.73.09-.73 1.2.09 1.83 1.24 1.83 1.24 1.08 1.83 2.81 1.3 3.5 1 .1-.78.42-1.31.76-1.61-2.67-.3-5.47-1.33-5.47-5.93 0-1.31.47-2.38 1.24-3.22-.14-.3-.54-1.52.1-3.18 0 0 1-.32 3.3 1.23a11.5 11.5 0 0 1 6 0c2.28-1.55 3.29-1.23 3.29-1.23.64 1.66.24 2.88.12 3.18a4.65 4.65 0 0 1 1.23 3.22c0 4.61-2.8 5.63-5.48 5.92.42.36.81 1.1.81 2.22l-.01 3.29c0 .31.2.69.82.57A12 12 0 0 0 12 .3Z"/></svg> </a> </div> <starlight-theme-select> <label style="--sl-select-width: 6.25em" class="astro-4yphtoen"> <span class="sr-only astro-4yphtoen">Select theme</span> <svg aria-hidden="true" class="icon label-icon astro-4yphtoen astro-c6vsoqas" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="M21 14h-1V7a3 3 0 0 0-3-3H7a3 3 0 0 0-3 3v7H3a1 1 0 0 0-1 1v2a3 3 0 0 0 3 3h14a3 3 0 0 0 3-3v-2a1 1 0 0 0-1-1ZM6 7a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v7H6V7Zm14 10a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1v-1h16v1Z"/></svg> <select value="auto" class="astro-4yphtoen"> <option value="dark" class="astro-4yphtoen">Dark</option><option value="light" class="astro-4yphtoen">Light</option><option value="auto" selected class="astro-4yphtoen">Auto</option> </select> <svg aria-hidden="true" class="icon caret astro-4yphtoen astro-c6vsoqas" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="M17 9.17a1 1 0 0 0-1.41 0L12 12.71 8.46 9.17a1 1 0 1 0-1.41 1.42l4.24 4.24a1.002 1.002 0 0 0 1.42 0L17 10.59a1.002 1.002 0 0 0 0-1.42Z"/></svg> </label> </starlight-theme-select> <script> StarlightThemeProvider.updatePickers(); </script> </div> </div></div> </div> </div> </nav> <div class="main-frame astro-vrdttmbt"> <div class="lg:sl-flex astro-67yu43on"> <aside class="right-sidebar-container astro-67yu43on"> <div class="right-sidebar astro-67yu43on"> <div class="lg:sl-hidden astro-pb3aqygn"><mobile-starlight-toc data-min-h="2" data-max-h="4" class="astro-bboabfps"><nav aria-labelledby="starlight__on-this-page--mobile" class="astro-bboabfps"><details id="starlight__mobile-toc" class="astro-bboabfps"><summary id="starlight__on-this-page--mobile" class="sl-flex astro-bboabfps"><div class="toggle sl-flex astro-bboabfps">On this page<svg aria-hidden="true" class="caret astro-bboabfps astro-c6vsoqas" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1rem;"><path d="m14.83 11.29-4.24-4.24a1 1 0 1 0-1.42 1.41L12.71 12l-3.54 3.54a1 1 0 0 0 0 1.41 1 1 0 0 0 .71.29 1 1 0 0 0 .71-.29l4.24-4.24a1.002 1.002 0 0 0 0-1.42Z"/></svg> </div><span class="display-current astro-bboabfps"></span></summary><div class="dropdown astro-bboabfps"><ul class="isMobile astro-4elwmllm" style="--depth: 0;"> <li class="astro-4elwmllm" style="--depth: 0;"> <a href="#_top" data-shb-heading="Overview" class="astro-4elwmllm" style="--depth: 0;"> <span class="astro-7vjlygkt">Overview</span> </a> </li><li class="astro-4elwmllm" style="--depth: 0;"> <a href="#localization-management-within-a-single-project" data-shb-heading="Localization Management within a Single Project" class="astro-4elwmllm" style="--depth: 0;"> <span class="astro-7vjlygkt">Localization Management within a Single Project</span> </a> <ul class="isMobile astro-4elwmllm" style="--depth: 1;"> <li class="astro-4elwmllm" style="--depth: 1;"> <a href="#hide-duplicates" data-shb-heading="Hide Duplicates" class="astro-4elwmllm" style="--depth: 1;"> <span class="astro-7vjlygkt">Hide Duplicates</span> </a> </li><li class="astro-4elwmllm" style="--depth: 1;"> <a href="#unify-placeholders" data-shb-heading="Unify Placeholders" class="astro-4elwmllm" style="--depth: 1;"> <span class="astro-7vjlygkt">Unify Placeholders</span> </a> </li> </ul> </li><li class="astro-4elwmllm" style="--depth: 0;"> <a href="#localization-management-within-a-single-project-with-bundles" data-shb-heading="Localization Management within a Single Project with Bundles" class="astro-4elwmllm" style="--depth: 0;"> <span class="astro-7vjlygkt">Localization Management within a Single Project with Bundles</span> </a> <ul class="isMobile astro-4elwmllm" style="--depth: 1;"> <li class="astro-4elwmllm" style="--depth: 1;"> <a href="#translation-export-using-bundles" data-shb-heading="Translation Export using Bundles" class="astro-4elwmllm" style="--depth: 1;"> <span class="astro-7vjlygkt">Translation Export using Bundles</span> </a> </li> </ul> </li><li class="astro-4elwmllm" style="--depth: 0;"> <a href="#next-steps-in-mobile-apps-localization" data-shb-heading="Next Steps in Mobile Apps Localization" class="astro-4elwmllm" style="--depth: 0;"> <span class="astro-7vjlygkt">Next Steps in Mobile Apps Localization</span> </a> </li> </ul> </div></details></nav></mobile-starlight-toc></div><div class="right-sidebar-panel sl-hidden lg:sl-block astro-pb3aqygn"><div class="sl-container astro-pb3aqygn"><starlight-toc data-min-h="2" data-max-h="4"><nav aria-labelledby="starlight__on-this-page"><h2 id="starlight__on-this-page">On this page</h2><ul class="astro-4elwmllm" style="--depth: 0;"> <li class="astro-4elwmllm" style="--depth: 0;"> <a href="#_top" data-shb-heading="Overview" class="astro-4elwmllm" style="--depth: 0;"> <span class="astro-7vjlygkt">Overview</span> </a> </li><li class="astro-4elwmllm" style="--depth: 0;"> <a href="#localization-management-within-a-single-project" data-shb-heading="Localization Management within a Single Project" class="astro-4elwmllm" style="--depth: 0;"> <span class="astro-7vjlygkt">Localization Management within a Single Project</span> </a> <ul class="astro-4elwmllm" style="--depth: 1;"> <li class="astro-4elwmllm" style="--depth: 1;"> <a href="#hide-duplicates" data-shb-heading="Hide Duplicates" class="astro-4elwmllm" style="--depth: 1;"> <span class="astro-7vjlygkt">Hide Duplicates</span> </a> </li><li class="astro-4elwmllm" style="--depth: 1;"> <a href="#unify-placeholders" data-shb-heading="Unify Placeholders" class="astro-4elwmllm" style="--depth: 1;"> <span class="astro-7vjlygkt">Unify Placeholders</span> </a> </li> </ul> </li><li class="astro-4elwmllm" style="--depth: 0;"> <a href="#localization-management-within-a-single-project-with-bundles" data-shb-heading="Localization Management within a Single Project with Bundles" class="astro-4elwmllm" style="--depth: 0;"> <span class="astro-7vjlygkt">Localization Management within a Single Project with Bundles</span> </a> <ul class="astro-4elwmllm" style="--depth: 1;"> <li class="astro-4elwmllm" style="--depth: 1;"> <a href="#translation-export-using-bundles" data-shb-heading="Translation Export using Bundles" class="astro-4elwmllm" style="--depth: 1;"> <span class="astro-7vjlygkt">Translation Export using Bundles</span> </a> </li> </ul> </li><li class="astro-4elwmllm" style="--depth: 0;"> <a href="#next-steps-in-mobile-apps-localization" data-shb-heading="Next Steps in Mobile Apps Localization" class="astro-4elwmllm" style="--depth: 0;"> <span class="astro-7vjlygkt">Next Steps in Mobile Apps Localization</span> </a> </li> </ul> </nav></starlight-toc></div></div> </div> </aside> <div class="main-pane astro-67yu43on"> <main data-pagefind-body lang="en" dir="ltr" class="astro-bguv2lll"> <div class="content-panel astro-7nkwcw3z"> <div class="sl-container astro-7nkwcw3z"> <h1 id="_top" class="astro-j6tvhyss">Mobile Apps Localization</h1> </div> </div> <div class="content-panel astro-7nkwcw3z"> <div class="sl-container astro-7nkwcw3z"> <div class="sl-markdown-content"> <p>Effectively manage localization for iOS and Android apps without translating the same strings twice.</p> <h2 id="localization-management-within-a-single-project"><a href="#localization-management-within-a-single-project">Localization Management within a Single Project</a></h2> <p>Translate iOS and Android files within one Crowdin project. Use one of the options suggested below, depending on your project specifications.</p> <p>Recommendations:</p> <ul> <li>Upload iOS (iOS Strings, iOS XLIFF) and Android (Android XML) app files into different locations (folders) in the Crowdin project.</li> <li>Connect both Android and iOS repos to your Crowdin project to automate the synchronization of the source and translation files.</li> <li>Use the <strong>Duplicate Strings</strong> option to manage duplicates.</li> <li>Use the <strong>Unify Placeholders</strong> option to manage Android and iOS placeholders.</li> </ul> <h3 id="hide-duplicates"><a href="#hide-duplicates">Hide Duplicates</a></h3> <p>Upload iOS and Android app files to one Crowdin project and select the <strong>Hide</strong> option in the project’s <strong>Settings > Import > Source Strings</strong>.</p> <p>Usually, the app developed for iOS and Android platforms share most of the source strings for iOS and Android files. So once you select the <strong>Hide</strong> option, the system will detect the duplicate strings for both types of files (iOS and Android) and hide them while keeping visible only the strings in the files uploaded first.</p> <p>Once the string that was uploaded first is translated, the hidden duplicate will get this translation automatically due to the selected <strong>Hide</strong> option. This way, translators will translate only the unique visible texts. When the translation of the visible string is updated, its hidden duplicates will also get the updated translation.</p> <div class="read-more astro-szj46hnz"> <svg aria-hidden="true" class="icon astro-szj46hnz astro-c6vsoqas" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="M21.17 2.06A13.1 13.1 0 0 0 19 1.87a12.94 12.94 0 0 0-7 2.05 12.94 12.94 0 0 0-7-2 13.1 13.1 0 0 0-2.17.19 1 1 0 0 0-.83 1v12a1 1 0 0 0 1.17 1 10.9 10.9 0 0 1 8.25 1.91l.12.07h.11a.91.91 0 0 0 .7 0h.11l.12-.07A10.899 10.899 0 0 1 20.83 16 1 1 0 0 0 22 15V3a1 1 0 0 0-.83-.94ZM11 15.35a12.87 12.87 0 0 0-6-1.48H4v-10c.333-.02.667-.02 1 0a10.86 10.86 0 0 1 6 1.8v9.68Zm9-1.44h-1a12.87 12.87 0 0 0-6 1.48V5.67a10.86 10.86 0 0 1 6-1.8c.333-.02.667-.02 1 0v10.04Zm1.17 4.15a13.098 13.098 0 0 0-2.17-.19 12.94 12.94 0 0 0-7 2.05 12.94 12.94 0 0 0-7-2.05c-.727.003-1.453.066-2.17.19A1 1 0 0 0 2 19.21a1 1 0 0 0 1.17.79 10.9 10.9 0 0 1 8.25 1.91 1 1 0 0 0 1.16 0A10.9 10.9 0 0 1 20.83 20a1 1 0 0 0 1.17-.79 1 1 0 0 0-.83-1.15Z"/></svg> <span class="astro-szj46hnz"><p>Read more about <a href="/project-settings/import/#duplicate-strings">Duplicate Strings</a>.</p></span> </div> <h3 id="unify-placeholders"><a href="#unify-placeholders">Unify Placeholders</a></h3> <p>If some source strings for iOS and Android are the same but differ only in placeholders, we recommend selecting the <strong>Unify Placeholders</strong> option in the project’s <strong>Settings > Import > Source Strings</strong>.</p> <p>For example, you added the iOS string <code dir="auto">Hello, %@!</code> and a similar one to Android <code dir="auto">Hello, %s!</code>. The <strong>Unify Placeholders</strong> option will convert both to <code dir="auto">Hello, [%s]!</code>, so translation from the Android file can migrate to iOS. On export, you will get translations with the original placeholders.</p> <p>It’s also possible to add/modify new strings online in the project for Android XML and iOS Strings files via the <strong>Strings</strong> section of the project.</p> <div class="read-more astro-szj46hnz"> <svg aria-hidden="true" class="icon astro-szj46hnz astro-c6vsoqas" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="M21.17 2.06A13.1 13.1 0 0 0 19 1.87a12.94 12.94 0 0 0-7 2.05 12.94 12.94 0 0 0-7-2 13.1 13.1 0 0 0-2.17.19 1 1 0 0 0-.83 1v12a1 1 0 0 0 1.17 1 10.9 10.9 0 0 1 8.25 1.91l.12.07h.11a.91.91 0 0 0 .7 0h.11l.12-.07A10.899 10.899 0 0 1 20.83 16 1 1 0 0 0 22 15V3a1 1 0 0 0-.83-.94ZM11 15.35a12.87 12.87 0 0 0-6-1.48H4v-10c.333-.02.667-.02 1 0a10.86 10.86 0 0 1 6 1.8v9.68Zm9-1.44h-1a12.87 12.87 0 0 0-6 1.48V5.67a10.86 10.86 0 0 1 6-1.8c.333-.02.667-.02 1 0v10.04Zm1.17 4.15a13.098 13.098 0 0 0-2.17-.19 12.94 12.94 0 0 0-7 2.05 12.94 12.94 0 0 0-7-2.05c-.727.003-1.453.066-2.17.19A1 1 0 0 0 2 19.21a1 1 0 0 0 1.17.79 10.9 10.9 0 0 1 8.25 1.91 1 1 0 0 0 1.16 0A10.9 10.9 0 0 1 20.83 20a1 1 0 0 0 1.17-.79 1 1 0 0 0-.83-1.15Z"/></svg> <span class="astro-szj46hnz"><p>Read more about <a href="/string-management/#string-editing">String Editing</a>.</p></span> </div> <h2 id="localization-management-within-a-single-project-with-bundles"><a href="#localization-management-within-a-single-project-with-bundles">Localization Management within a Single Project with Bundles</a></h2> <p>Recommendations:</p> <ul> <li>Upload either iOS (iOS Strings, iOS XLIFF) or Android (Android XML) app files to your Crowdin project.</li> <li>Configure bundles to be able to export translations in the needed file format.</li> </ul> <div class="read-more astro-szj46hnz"> <svg aria-hidden="true" class="icon astro-szj46hnz astro-c6vsoqas" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="M21.17 2.06A13.1 13.1 0 0 0 19 1.87a12.94 12.94 0 0 0-7 2.05 12.94 12.94 0 0 0-7-2 13.1 13.1 0 0 0-2.17.19 1 1 0 0 0-.83 1v12a1 1 0 0 0 1.17 1 10.9 10.9 0 0 1 8.25 1.91l.12.07h.11a.91.91 0 0 0 .7 0h.11l.12-.07A10.899 10.899 0 0 1 20.83 16 1 1 0 0 0 22 15V3a1 1 0 0 0-.83-.94ZM11 15.35a12.87 12.87 0 0 0-6-1.48H4v-10c.333-.02.667-.02 1 0a10.86 10.86 0 0 1 6 1.8v9.68Zm9-1.44h-1a12.87 12.87 0 0 0-6 1.48V5.67a10.86 10.86 0 0 1 6-1.8c.333-.02.667-.02 1 0v10.04Zm1.17 4.15a13.098 13.098 0 0 0-2.17-.19 12.94 12.94 0 0 0-7 2.05 12.94 12.94 0 0 0-7-2.05c-.727.003-1.453.066-2.17.19A1 1 0 0 0 2 19.21a1 1 0 0 0 1.17.79 10.9 10.9 0 0 1 8.25 1.91 1 1 0 0 0 1.16 0A10.9 10.9 0 0 1 20.83 20a1 1 0 0 0 1.17-.79 1 1 0 0 0-.83-1.15Z"/></svg> <span class="astro-szj46hnz"><p>Read more about <a href="/bundles/">Bundles</a>.</p></span> </div> <h3 id="translation-export-using-bundles"><a href="#translation-export-using-bundles">Translation Export using Bundles</a></h3> <p>Localize the resources of just one application within Crowdin, and download different file formats for both your Android and iOS apps.</p> <p>For example, you can upload an XML file to Crowdin for <a href="https://crowdin.com/blog/2022/08/10/android-app-localization-tutorial" rel="nofollow" target="_blank">Android localization</a> and receive two files on export: XML for Android and Strings for iOS. You might need to make some slight adjustments to the exported files (translation keys will remain the same as in the Android file, so they might need adjustments for the iOS file). However, the localization time and expenses for translation services can be significantly reduced using this approach.</p> <h2 id="next-steps-in-mobile-apps-localization"><a href="#next-steps-in-mobile-apps-localization">Next Steps in Mobile Apps Localization</a></h2> <p>Here are the next steps you might consider while localizing your mobile apps. As an alternative to a more traditional approach when dealing with source files, you can send strings for translation directly from your design tools with the help of Crowdin plugins. Another good option is to use Over-the-Air Content Delivery to update translated strings of your mobile apps instantly without a need to roll out a new version on the App Store or Google Play.</p> <div class="read-more astro-szj46hnz"> <svg aria-hidden="true" class="icon astro-szj46hnz astro-c6vsoqas" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="M21.17 2.06A13.1 13.1 0 0 0 19 1.87a12.94 12.94 0 0 0-7 2.05 12.94 12.94 0 0 0-7-2 13.1 13.1 0 0 0-2.17.19 1 1 0 0 0-.83 1v12a1 1 0 0 0 1.17 1 10.9 10.9 0 0 1 8.25 1.91l.12.07h.11a.91.91 0 0 0 .7 0h.11l.12-.07A10.899 10.899 0 0 1 20.83 16 1 1 0 0 0 22 15V3a1 1 0 0 0-.83-.94ZM11 15.35a12.87 12.87 0 0 0-6-1.48H4v-10c.333-.02.667-.02 1 0a10.86 10.86 0 0 1 6 1.8v9.68Zm9-1.44h-1a12.87 12.87 0 0 0-6 1.48V5.67a10.86 10.86 0 0 1 6-1.8c.333-.02.667-.02 1 0v10.04Zm1.17 4.15a13.098 13.098 0 0 0-2.17-.19 12.94 12.94 0 0 0-7 2.05 12.94 12.94 0 0 0-7-2.05c-.727.003-1.453.066-2.17.19A1 1 0 0 0 2 19.21a1 1 0 0 0 1.17.79 10.9 10.9 0 0 1 8.25 1.91 1 1 0 0 0 1.16 0A10.9 10.9 0 0 1 20.83 20a1 1 0 0 0 1.17-.79 1 1 0 0 0-.83-1.15Z"/></svg> <span class="astro-szj46hnz"><p>Read more about <a href="https://crowdin.com/blog/2022/08/10/android-app-localization-tutorial" rel="nofollow" target="_blank">Android</a> or iOS <a href="https://crowdin.com/blog/2021/02/11/smart-ways-to-approach-mobile-app-localization" rel="nofollow" target="_blank">mobile app localization</a> on our blog.</p></span> </div> </div> <footer class="sl-flex astro-3yyafb3n"> <div class="meta sl-flex astro-3yyafb3n"> <a href="https://github.com/crowdin/docs/edit/main/src/content/docs/developer/guides/apps-localization.mdx" class="sl-flex astro-eez2twj6"><svg aria-hidden="true" class="astro-eez2twj6 astro-c6vsoqas" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1.2em;"><path d="M22 7.24a1 1 0 0 0-.29-.71l-4.24-4.24a1 1 0 0 0-1.1-.22 1 1 0 0 0-.32.22l-2.83 2.83L2.29 16.05a1 1 0 0 0-.29.71V21a1 1 0 0 0 1 1h4.24a1 1 0 0 0 .76-.29l10.87-10.93L21.71 8c.1-.1.17-.2.22-.33a1 1 0 0 0 0-.24v-.14l.07-.05ZM6.83 20H4v-2.83l9.93-9.93 2.83 2.83L6.83 20ZM18.17 8.66l-2.83-2.83 1.42-1.41 2.82 2.82-1.41 1.42Z"/></svg> Edit page</a> </div> <div class="pagination-links astro-u2l5gyhi" dir="ltr"> </div> </footer> <div class="w-full flex astro-sz7xmlte"><div class="mx-auto astro-sz7xmlte"><div class="flex flex-col border p-3 rounded-xl w-72"> <div id="vote-buttons" class="flex gap-4 mx-auto"> <span>Was this page helpful?</span> <div class="flex gap-3"> <svg width="20" height="20" id="like" class="!mt-1 cursor-pointer hover:text-accent-700" data-icon="mdi:thumb-up"> <symbol id="ai:mdi:thumb-up" viewBox="0 0 24 24"><path fill="currentColor" d="M23 10a2 2 0 0 0-2-2h-6.32l.96-4.57c.02-.1.03-.21.03-.32c0-.41-.17-.79-.44-1.06L14.17 1L7.59 7.58C7.22 7.95 7 8.45 7 9v10a2 2 0 0 0 2 2h9c.83 0 1.54-.5 1.84-1.22l3.02-7.05c.09-.23.14-.47.14-.73zM1 21h4V9H1z"/></symbol><use href="#ai:mdi:thumb-up"></use> </svg> <svg width="20" height="20" id="dislike" class="!mt-1 cursor-pointer hover:text-accent-700" data-icon="mdi:thumb-down"> <symbol id="ai:mdi:thumb-down" viewBox="0 0 24 24"><path fill="currentColor" d="M19 15h4V3h-4m-4 0H6c-.83 0-1.54.5-1.84 1.22l-3.02 7.05c-.09.23-.14.47-.14.73v2a2 2 0 0 0 2 2h6.31l-.95 4.57c-.02.1-.03.2-.03.31c0 .42.17.79.44 1.06L9.83 23l6.58-6.59c.37-.36.59-.86.59-1.41V5a2 2 0 0 0-2-2"/></symbol><use href="#ai:mdi:thumb-down"></use> </svg> </div> </div> <div id="feedback-form" class="mt-2 hidden"> <div> <textarea id="feedback-comment" class="w-full p-2 border border-gray-300 rounded-md resize-none text-base" rows="3" maxlength="250" placeholder="Tell us more..."></textarea> </div> <button id="submit-button" class="bg-accent-600 hover:bg-accent-700 text-white py-1 px-4 !mt-1 rounded-md cursor-pointer transition"> Submit </button> </div> <span id="feedback-success" class="hidden text-accent-800 mx-auto">Thank you for your feedback!</span> </div> </div></div> </div> </div> </main> </div> </div> </div> </div> </body></html>