Locale Sync is a software translation SaaS which allow developers to easily manage their project translations. The service itself has Over the Air (OTA) support, that being the most interesting feature by far, you can still use our packages to manage your translation files without even creating an account.
Both Flutter and TS SDKs use generated code to make it easier to get auto-complete when developing, so, since you setup your environment and get your files generated, that will basically create one object for each language you’ve setted up on Locale Sync’s dashboard, that objects being the group of sentences and translations itself, which will be used as fallback in case somehow server get unreachable.When translations are fetched from backend, they’re stored locally on your application, to be used when the http request fails, if your app has no translations stored, lastly, the SDK will use the generated objects as translation source.
When both http and offline storage requests fails, the fallback will be used as a replacement for this translations. For this reason, we highly recommend you to keep your fallback strings in sync with the backend
{"docsConfig":{"$schema":"https://mintlify.com/docs.json","theme":"mint","name":"Locale Sync","colors":{"primary":"#F465F6","light":"#F465F6","dark":"#2C1434"},"favicon":"/favicon.svg","logo":{"light":"https://mintcdn.com/avcoding/xowKhuQtcdkiOVCd/logo/light.svg?fit=max\u0026auto=format\u0026n=xowKhuQtcdkiOVCd\u0026q=85\u0026s=f9696e325637bbcc402693aa79eb7362","dark":"https://mintcdn.com/avcoding/xowKhuQtcdkiOVCd/logo/dark.svg?fit=max\u0026auto=format\u0026n=xowKhuQtcdkiOVCd\u0026q=85\u0026s=8d89ed45c8bbac19055b54d1fc42bb7e"},"api":{"playground":{"display":"interactive"},"mdx":{"server":"https://api.localesync.com","auth":{"method":"key","name":"Repository-token"}}},"background":{"decoration":null,"color":{"light":null,"dark":"#131112"}},"navbar":{"links":[{"label":"Support","href":"mailto:hi@localesync.com"}],"primary":{"type":"button","label":"Dashboard","href":"https://app.localesync.com"}},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"avcoding","hasAudioNarration":false,"actualSubdomain":"avcoding","customDomains":["docs.localesync.com"],"gitSource":{"type":"github","owner":"viniciusamelio","repo":"locale-sync-docs","deployBranch":"main","contentDirectory":"","isPrivate":false,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6a20c53612ef21155ee57e0e","collectionId":"17f5b3e0-e809-48ae-87c3-ee28f7425d0d","schemaVersion":"v2"},"entitlements":{},"buildId":"6a20c53612ef21155ee57e0e:success","clientVersion":"0.0.3908","searchFilterCounts":[{"language":"default","tag":"Documentation","count":7},{"language":"default","tag":"API Reference","count":3},{"language":"default","tag":"Get Started","count":3},{"language":"default","tag":"SDK's","count":3},{"language":"default","tag":"Endpoints","count":2},{"language":"default","tag":"API Documentation","count":1},{"language":"default","tag":"Server Side","count":1}]},"assistantConfig":{},"hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-v7-file-tree","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"pause-universal-search-reconcile","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"per-site-search-delta","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-branches-v2-autocommit","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-branches-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-private-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"teamspace","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-nav-generations","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-agent-model-picker","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"client-snapshot-docs-config","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"isAtlas":false,"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"introduction","slug":"/introduction","pageMetadata":{"title":"Introduction","description":"What's Locale Sync?","href":"/introduction"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"What’s Locale Sync?\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,p:`p`,..._provideComponents(),...props.components},{Heading,OptimizedImage}=_components;if(!Heading)_missingMdxReference(`Heading`,true);if(!OptimizedImage)_missingMdxReference(`OptimizedImage`,true);return _jsxs(_Fragment,{children:[_jsx(OptimizedImage,{className:`mint-block dark:mint-hidden`,src:`https://mintcdn.com/avcoding/xowKhuQtcdkiOVCd/images/hero-light.svg?fit=max\u0026auto=format\u0026n=xowKhuQtcdkiOVCd\u0026q=85\u0026s=da0d240eab1fd65dc5c84af938643b07`,alt:`Hero Light`,\"data-og-width\":`700`,width:`700`,\"data-og-height\":`320`,height:`320`,\"data-path\":`images/hero-light.svg`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/avcoding/xowKhuQtcdkiOVCd/images/hero-light.svg?w=280\u0026fit=max\u0026auto=format\u0026n=xowKhuQtcdkiOVCd\u0026q=85\u0026s=51a4dd12d6b77e816f592570f66d7c68 280w, https://mintcdn.com/avcoding/xowKhuQtcdkiOVCd/images/hero-light.svg?w=560\u0026fit=max\u0026auto=format\u0026n=xowKhuQtcdkiOVCd\u0026q=85\u0026s=4fb5abf2f675f2b4801a11f3ff0d5629 560w, https://mintcdn.com/avcoding/xowKhuQtcdkiOVCd/images/hero-light.svg?w=840\u0026fit=max\u0026auto=format\u0026n=xowKhuQtcdkiOVCd\u0026q=85\u0026s=3e9665fc818b8faac2b3a0ae4d7259f9 840w, https://mintcdn.com/avcoding/xowKhuQtcdkiOVCd/images/hero-light.svg?w=1100\u0026fit=max\u0026auto=format\u0026n=xowKhuQtcdkiOVCd\u0026q=85\u0026s=1a15509aa8e081b2434a9a31f886ccfc 1100w, https://mintcdn.com/avcoding/xowKhuQtcdkiOVCd/images/hero-light.svg?w=1650\u0026fit=max\u0026auto=format\u0026n=xowKhuQtcdkiOVCd\u0026q=85\u0026s=8ffe6f5acd94f4fcf3c5ad39ec6e331e 1650w, https://mintcdn.com/avcoding/xowKhuQtcdkiOVCd/images/hero-light.svg?w=2500\u0026fit=max\u0026auto=format\u0026n=xowKhuQtcdkiOVCd\u0026q=85\u0026s=d78924e1e3ec5db853c27c57d43f8fbf 2500w`}),`\n`,_jsx(OptimizedImage,{className:`mint-hidden dark:mint-block`,src:`https://mintcdn.com/avcoding/xowKhuQtcdkiOVCd/images/hero-dark.svg?fit=max\u0026auto=format\u0026n=xowKhuQtcdkiOVCd\u0026q=85\u0026s=e9156dcfc1ccf5ed6aee373f52a420f0`,alt:`Hero Dark`,\"data-og-width\":`700`,width:`700`,\"data-og-height\":`320`,height:`320`,\"data-path\":`images/hero-dark.svg`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/avcoding/xowKhuQtcdkiOVCd/images/hero-dark.svg?w=280\u0026fit=max\u0026auto=format\u0026n=xowKhuQtcdkiOVCd\u0026q=85\u0026s=a940730830abb2754ba3c198af794758 280w, https://mintcdn.com/avcoding/xowKhuQtcdkiOVCd/images/hero-dark.svg?w=560\u0026fit=max\u0026auto=format\u0026n=xowKhuQtcdkiOVCd\u0026q=85\u0026s=5e6c2d42d9bbbfba6922964ea8128096 560w, https://mintcdn.com/avcoding/xowKhuQtcdkiOVCd/images/hero-dark.svg?w=840\u0026fit=max\u0026auto=format\u0026n=xowKhuQtcdkiOVCd\u0026q=85\u0026s=f556131c5557a410ae44246c0acf3e48 840w, https://mintcdn.com/avcoding/xowKhuQtcdkiOVCd/images/hero-dark.svg?w=1100\u0026fit=max\u0026auto=format\u0026n=xowKhuQtcdkiOVCd\u0026q=85\u0026s=0713ac8ead74145ce74cd87c7b814cfa 1100w, https://mintcdn.com/avcoding/xowKhuQtcdkiOVCd/images/hero-dark.svg?w=1650\u0026fit=max\u0026auto=format\u0026n=xowKhuQtcdkiOVCd\u0026q=85\u0026s=f4d6d46dd2ab10042ff94af333b7fb9a 1650w, https://mintcdn.com/avcoding/xowKhuQtcdkiOVCd/images/hero-dark.svg?w=2500\u0026fit=max\u0026auto=format\u0026n=xowKhuQtcdkiOVCd\u0026q=85\u0026s=3da88ca3c2b2828cc14ce77a2f095dac 2500w`}),`\n`,_jsx(_components.p,{children:`Locale Sync is a software translation SaaS which allow developers to easily manage their project translations. The service itself has Over the Air (OTA) support, that being the most interesting feature by far, you can still use our packages to manage your translation files without even creating an account.`}),`\n`,_jsx(Heading,{level:`2`,id:`how-it-works`,children:`How it works?`}),`\n`,_jsxs(_components.p,{children:[`Both Flutter and TS SDKs use generated code to make it easier to get auto-complete when developing, so, since you setup your environment and get your files generated, that will basically create one object for each language you’ve setted up on `,_jsx(`a`,{href:`#`,children:`Locale Sync’s dashboard`}),`, that objects being the group of sentences and translations itself, which will be used as fallback in case somehow server get unreachable.`]}),`\n`,_jsx(_components.p,{children:`When translations are fetched from backend, they’re stored locally on your application, to be used when the http request fails, if your app has no translations stored, lastly, the SDK will use the generated objects as translation source.`}),`\n`,_jsx(Heading,{level:`3`,id:`1-strings-fetched-successfully`,children:`1. Strings fetched successfully`}),`\n`,_jsx(OptimizedImage,{src:`https://mintcdn.com/avcoding/xowKhuQtcdkiOVCd/images/flow-1.svg?fit=max\u0026auto=format\u0026n=xowKhuQtcdkiOVCd\u0026q=85\u0026s=e84266903180c4afa325039b992cee10`,alt:`Strings fetched successfully flow`,className:`mint-hidden dark:mint-block`,\"data-og-width\":`700`,width:`700`,\"data-og-height\":`320`,height:`320`,\"data-path\":`images/flow-1.svg`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/avcoding/xowKhuQtcdkiOVCd/images/flow-1.svg?w=280\u0026fit=max\u0026auto=format\u0026n=xowKhuQtcdkiOVCd\u0026q=85\u0026s=2b4bd39aed2b2de63a9f52b4c3af07f6 280w, https://mintcdn.com/avcoding/xowKhuQtcdkiOVCd/images/flow-1.svg?w=560\u0026fit=max\u0026auto=format\u0026n=xowKhuQtcdkiOVCd\u0026q=85\u0026s=e6e66ffb308e54bdde9b862b22ec1773 560w, https://mintcdn.com/avcoding/xowKhuQtcdkiOVCd/images/flow-1.svg?w=840\u0026fit=max\u0026auto=format\u0026n=xowKhuQtcdkiOVCd\u0026q=85\u0026s=a2b88b6b530403a54c14de1012e5c3e4 840w, https://mintcdn.com/avcoding/xowKhuQtcdkiOVCd/images/flow-1.svg?w=1100\u0026fit=max\u0026auto=format\u0026n=xowKhuQtcdkiOVCd\u0026q=85\u0026s=665be086455841946a88c3a1fd84cc01 1100w, https://mintcdn.com/avcoding/xowKhuQtcdkiOVCd/images/flow-1.svg?w=1650\u0026fit=max\u0026auto=format\u0026n=xowKhuQtcdkiOVCd\u0026q=85\u0026s=a312384acf1b4a1829feea590344fe01 1650w, https://mintcdn.com/avcoding/xowKhuQtcdkiOVCd/images/flow-1.svg?w=2500\u0026fit=max\u0026auto=format\u0026n=xowKhuQtcdkiOVCd\u0026q=85\u0026s=6b69d50fe8db55a7497a4adcc21a71cb 2500w`}),`\n`,_jsx(OptimizedImage,{src:`https://mintcdn.com/avcoding/xowKhuQtcdkiOVCd/images/light/flow-1.svg?fit=max\u0026auto=format\u0026n=xowKhuQtcdkiOVCd\u0026q=85\u0026s=18fe25ed8ea9c8b695bd4bd694c6615b`,alt:`Strings fetched successfully flow`,className:`mint-block dark:mint-hidden`,\"data-og-width\":`700`,width:`700`,\"data-og-height\":`320`,height:`320`,\"data-path\":`images/light/flow-1.svg`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/avcoding/xowKhuQtcdkiOVCd/images/light/flow-1.svg?w=280\u0026fit=max\u0026auto=format\u0026n=xowKhuQtcdkiOVCd\u0026q=85\u0026s=15b5ce4ec220563e24178e3d911f3fc2 280w, https://mintcdn.com/avcoding/xowKhuQtcdkiOVCd/images/light/flow-1.svg?w=560\u0026fit=max\u0026auto=format\u0026n=xowKhuQtcdkiOVCd\u0026q=85\u0026s=938dafca8307c865ebc6b4d6ee530219 560w, https://mintcdn.com/avcoding/xowKhuQtcdkiOVCd/images/light/flow-1.svg?w=840\u0026fit=max\u0026auto=format\u0026n=xowKhuQtcdkiOVCd\u0026q=85\u0026s=9b18b44a76ac31b8942657c1f1356d01 840w, https://mintcdn.com/avcoding/xowKhuQtcdkiOVCd/images/light/flow-1.svg?w=1100\u0026fit=max\u0026auto=format\u0026n=xowKhuQtcdkiOVCd\u0026q=85\u0026s=18e66d806fa3899786014944e6da2a69 1100w, https://mintcdn.com/avcoding/xowKhuQtcdkiOVCd/images/light/flow-1.svg?w=1650\u0026fit=max\u0026auto=format\u0026n=xowKhuQtcdkiOVCd\u0026q=85\u0026s=056f49b5f793530c880b64279628d52d 1650w, https://mintcdn.com/avcoding/xowKhuQtcdkiOVCd/images/light/flow-1.svg?w=2500\u0026fit=max\u0026auto=format\u0026n=xowKhuQtcdkiOVCd\u0026q=85\u0026s=518f14ccb06840b6cee48c6abcc19fc9 2500w`}),`\n`,_jsx(_components.p,{children:`When the request succeeds strings are used in memory during app’s execution and saved into offline storage.`}),`\n`,_jsx(Heading,{level:`3`,id:`2-strings-fetch-fails`,children:`2. Strings fetch fails`}),`\n`,_jsx(OptimizedImage,{src:`https://mintcdn.com/avcoding/xowKhuQtcdkiOVCd/images/flow-2.svg?fit=max\u0026auto=format\u0026n=xowKhuQtcdkiOVCd\u0026q=85\u0026s=3f1b239d1cc4e84052746d4a0cb6768a`,alt:`Strings fetch fails flow`,className:`mint-hidden dark:mint-block`,\"data-og-width\":`700`,width:`700`,\"data-og-height\":`320`,height:`320`,\"data-path\":`images/flow-2.svg`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/avcoding/xowKhuQtcdkiOVCd/images/flow-2.svg?w=280\u0026fit=max\u0026auto=format\u0026n=xowKhuQtcdkiOVCd\u0026q=85\u0026s=abd75787c2244180527b90cca191b368 280w, https://mintcdn.com/avcoding/xowKhuQtcdkiOVCd/images/flow-2.svg?w=560\u0026fit=max\u0026auto=format\u0026n=xowKhuQtcdkiOVCd\u0026q=85\u0026s=d83c1ed76143865ffe82cba69157a460 560w, https://mintcdn.com/avcoding/xowKhuQtcdkiOVCd/images/flow-2.svg?w=840\u0026fit=max\u0026auto=format\u0026n=xowKhuQtcdkiOVCd\u0026q=85\u0026s=cc62a95cb6ef304683aa3889b69579d2 840w, https://mintcdn.com/avcoding/xowKhuQtcdkiOVCd/images/flow-2.svg?w=1100\u0026fit=max\u0026auto=format\u0026n=xowKhuQtcdkiOVCd\u0026q=85\u0026s=488171c9de557383928ad2cbedba4e4b 1100w, https://mintcdn.com/avcoding/xowKhuQtcdkiOVCd/images/flow-2.svg?w=1650\u0026fit=max\u0026auto=format\u0026n=xowKhuQtcdkiOVCd\u0026q=85\u0026s=cedc11c6ac08a6d6faa5f203baf923b9 1650w, https://mintcdn.com/avcoding/xowKhuQtcdkiOVCd/images/flow-2.svg?w=2500\u0026fit=max\u0026auto=format\u0026n=xowKhuQtcdkiOVCd\u0026q=85\u0026s=533b45b3ad3939a412b02526e1d7ae00 2500w`}),`\n`,_jsx(OptimizedImage,{src:`https://mintcdn.com/avcoding/xowKhuQtcdkiOVCd/images/light/flow-2.svg?fit=max\u0026auto=format\u0026n=xowKhuQtcdkiOVCd\u0026q=85\u0026s=d06e9643537ce69c49efdd81af5256e9`,alt:`Strings fetch fails flow`,className:`mint-block dark:mint-hidden`,\"data-og-width\":`700`,width:`700`,\"data-og-height\":`320`,height:`320`,\"data-path\":`images/light/flow-2.svg`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/avcoding/xowKhuQtcdkiOVCd/images/light/flow-2.svg?w=280\u0026fit=max\u0026auto=format\u0026n=xowKhuQtcdkiOVCd\u0026q=85\u0026s=18540e79bfa9ee307b92533e380518fa 280w, https://mintcdn.com/avcoding/xowKhuQtcdkiOVCd/images/light/flow-2.svg?w=560\u0026fit=max\u0026auto=format\u0026n=xowKhuQtcdkiOVCd\u0026q=85\u0026s=f8da44d7c9d0cc246a7fe35bf30cdd6f 560w, https://mintcdn.com/avcoding/xowKhuQtcdkiOVCd/images/light/flow-2.svg?w=840\u0026fit=max\u0026auto=format\u0026n=xowKhuQtcdkiOVCd\u0026q=85\u0026s=f8efe70f338e3d167cc5d829efac1576 840w, https://mintcdn.com/avcoding/xowKhuQtcdkiOVCd/images/light/flow-2.svg?w=1100\u0026fit=max\u0026auto=format\u0026n=xowKhuQtcdkiOVCd\u0026q=85\u0026s=9f0e2f03c3db89c4b815192908f379f6 1100w, https://mintcdn.com/avcoding/xowKhuQtcdkiOVCd/images/light/flow-2.svg?w=1650\u0026fit=max\u0026auto=format\u0026n=xowKhuQtcdkiOVCd\u0026q=85\u0026s=97ae875e7f80a0485b718595583ee34a 1650w, https://mintcdn.com/avcoding/xowKhuQtcdkiOVCd/images/light/flow-2.svg?w=2500\u0026fit=max\u0026auto=format\u0026n=xowKhuQtcdkiOVCd\u0026q=85\u0026s=720b07d79bd34e9ee5b52326b78b9b40 2500w`}),`\n`,_jsx(_components.p,{children:`When the request fails, our sdk will lookup for offline strings that may be stored offline.`}),`\n`,_jsx(Heading,{level:`3`,id:`3-fetch-and-offline-storage-fails`,children:`3. Fetch and offline storage fails`}),`\n`,_jsx(OptimizedImage,{src:`https://mintcdn.com/avcoding/xowKhuQtcdkiOVCd/images/flow-3.svg?fit=max\u0026auto=format\u0026n=xowKhuQtcdkiOVCd\u0026q=85\u0026s=8f09eb85005f53888e876058d96363c3`,alt:`Fallback flow`,className:`mint-hidden dark:mint-block`,\"data-og-width\":`700`,width:`700`,\"data-og-height\":`320`,height:`320`,\"data-path\":`images/flow-3.svg`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/avcoding/xowKhuQtcdkiOVCd/images/flow-3.svg?w=280\u0026fit=max\u0026auto=format\u0026n=xowKhuQtcdkiOVCd\u0026q=85\u0026s=dbc8be059d8d2128c16d0c2f82d8c5d5 280w, https://mintcdn.com/avcoding/xowKhuQtcdkiOVCd/images/flow-3.svg?w=560\u0026fit=max\u0026auto=format\u0026n=xowKhuQtcdkiOVCd\u0026q=85\u0026s=703ab194a4c2dc8589170eae1270152b 560w, https://mintcdn.com/avcoding/xowKhuQtcdkiOVCd/images/flow-3.svg?w=840\u0026fit=max\u0026auto=format\u0026n=xowKhuQtcdkiOVCd\u0026q=85\u0026s=c6cdf521b1d7627a20959b7a1d871dbd 840w, https://mintcdn.com/avcoding/xowKhuQtcdkiOVCd/images/flow-3.svg?w=1100\u0026fit=max\u0026auto=format\u0026n=xowKhuQtcdkiOVCd\u0026q=85\u0026s=c7c20245c4d91abb1b224a4f19021986 1100w, https://mintcdn.com/avcoding/xowKhuQtcdkiOVCd/images/flow-3.svg?w=1650\u0026fit=max\u0026auto=format\u0026n=xowKhuQtcdkiOVCd\u0026q=85\u0026s=7ccffb264591cfb32dfb4a9454bd94da 1650w, https://mintcdn.com/avcoding/xowKhuQtcdkiOVCd/images/flow-3.svg?w=2500\u0026fit=max\u0026auto=format\u0026n=xowKhuQtcdkiOVCd\u0026q=85\u0026s=70b4109f639499f77bbd70b6bb9a905a 2500w`}),`\n`,_jsx(OptimizedImage,{src:`https://mintcdn.com/avcoding/xowKhuQtcdkiOVCd/images/light/flow-3.svg?fit=max\u0026auto=format\u0026n=xowKhuQtcdkiOVCd\u0026q=85\u0026s=26b35754f055c547e732732bb5427316`,alt:`Fallback flow`,className:`mint-block dark:mint-hidden`,\"data-og-width\":`700`,width:`700`,\"data-og-height\":`320`,height:`320`,\"data-path\":`images/light/flow-3.svg`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/avcoding/xowKhuQtcdkiOVCd/images/light/flow-3.svg?w=280\u0026fit=max\u0026auto=format\u0026n=xowKhuQtcdkiOVCd\u0026q=85\u0026s=b10dacef1ec15bde1a5e00d2704c9828 280w, https://mintcdn.com/avcoding/xowKhuQtcdkiOVCd/images/light/flow-3.svg?w=560\u0026fit=max\u0026auto=format\u0026n=xowKhuQtcdkiOVCd\u0026q=85\u0026s=ca9625f9fd2fee2d9443eec607bfdfff 560w, https://mintcdn.com/avcoding/xowKhuQtcdkiOVCd/images/light/flow-3.svg?w=840\u0026fit=max\u0026auto=format\u0026n=xowKhuQtcdkiOVCd\u0026q=85\u0026s=b4fbb7a193c724d6cd441e658ad95ffa 840w, https://mintcdn.com/avcoding/xowKhuQtcdkiOVCd/images/light/flow-3.svg?w=1100\u0026fit=max\u0026auto=format\u0026n=xowKhuQtcdkiOVCd\u0026q=85\u0026s=9a29bd2ee6c79fcfccb8c2978e7f2cc9 1100w, https://mintcdn.com/avcoding/xowKhuQtcdkiOVCd/images/light/flow-3.svg?w=1650\u0026fit=max\u0026auto=format\u0026n=xowKhuQtcdkiOVCd\u0026q=85\u0026s=60053ee258573ff04b6d37b55920e31b 1650w, https://mintcdn.com/avcoding/xowKhuQtcdkiOVCd/images/light/flow-3.svg?w=2500\u0026fit=max\u0026auto=format\u0026n=xowKhuQtcdkiOVCd\u0026q=85\u0026s=bb7ce542b997d656fe9656df05e67ea0 2500w`}),`\n`,_jsx(_components.p,{children:`When both http and offline storage requests fails, the fallback will be used as a replacement for this translations. For this reason, we highly recommend you to keep your fallback strings in sync with the backend`}),`\n`,_jsx(Heading,{level:`2`,id:`setting-up`,children:`Setting up`}),`\n`,_jsxs(_components.p,{children:[`You can easily start setting up your project `,_jsx(_components.a,{href:`/config/config-file`,children:`here`})]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Introduction","description":"What's Locale Sync?","href":"/introduction"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"How it works?","slug":"how-it-works","depth":2,"children":[{"title":"1. Strings fetched successfully","slug":"1-strings-fetched-successfully","depth":3,"children":[]},{"title":"2. Strings fetch fails","slug":"2-strings-fetch-fails","depth":3,"children":[]},{"title":"3. Fetch and offline storage fails","slug":"3-fetch-and-offline-storage-fails","depth":3,"children":[]}]},{"title":"Setting up","slug":"setting-up","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"dynamicCss":".mint-block {\n display: block\n}\n.mint-hidden {\n display: none\n}\n.dark\\:mint-block:is(.dark *) {\n display: block\n}\n.dark\\:mint-hidden:is(.dark *) {\n display: none\n}","subdomain":"avcoding","siteName":"Locale Sync","title":"Introduction - Locale Sync","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-01-07T02:45:44.683Z","originalFileLocation":"introduction.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"What\u0026#x27;s Locale Sync?\">\u003cmeta data-mint-head name=\"application-name\" content=\"Locale Sync\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/avcoding/BNxI0WnNXgv4h4O5/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/avcoding/BNxI0WnNXgv4h4O5/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/avcoding/BNxI0WnNXgv4h4O5/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/avcoding/BNxI0WnNXgv4h4O5/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/avcoding/BNxI0WnNXgv4h4O5/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/avcoding/BNxI0WnNXgv4h4O5/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/avcoding/BNxI0WnNXgv4h4O5/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/avcoding/BNxI0WnNXgv4h4O5/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/avcoding/BNxI0WnNXgv4h4O5/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Introduction - Locale Sync\">\u003cmeta data-mint-head property=\"og:description\" content=\"What\u0026#x27;s Locale Sync?\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Locale Sync\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.localesync.com/introduction\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Introduction - Locale Sync\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"What\u0026#x27;s Locale Sync?\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/avcoding/BNxI0WnNXgv4h4O5/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Locale Sync\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#F465F6\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.localesync.com/introduction\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/introduction.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.localesync.com/#organization\",\"name\":\"Locale Sync\",\"url\":\"https://docs.localesync.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/avcoding/xowKhuQtcdkiOVCd/logo/light.svg?fit=max\u0026auto=format\u0026n=xowKhuQtcdkiOVCd\u0026q=85\u0026s=f9696e325637bbcc402693aa79eb7362\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.localesync.com#website\",\"name\":\"Locale Sync\",\"url\":\"https://docs.localesync.com\",\"publisher\":{\"@id\":\"https://docs.localesync.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.localesync.com/introduction#webpage\",\"url\":\"https://docs.localesync.com/introduction\",\"name\":\"Introduction\",\"description\":\"What's Locale Sync?\",\"dateModified\":\"2026-01-07T02:45:44.683Z\",\"isPartOf\":{\"@id\":\"https://docs.localesync.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.localesync.com/introduction#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.localesync.com/introduction#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Locale Sync\",\"item\":\"https://docs.localesync.com\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Introduction\",\"item\":\"https://docs.localesync.com/introduction\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.localesync.com/introduction#article\",\"headline\":\"Introduction\",\"name\":\"Introduction\",\"description\":\"What's Locale Sync?\",\"url\":\"https://docs.localesync.com/introduction\",\"mainEntityOfPage\":{\"@id\":\"https://docs.localesync.com/introduction#webpage\"},\"dateModified\":\"2026-01-07T02:45:44.683Z\",\"publisher\":{\"@id\":\"https://docs.localesync.com/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.localesync.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Locale Sync\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Locale Sync","nav":{"global":null,"tabs":[{"tab":"Documentation","groups":[{"group":"Get Started","pages":[{"title":"Introduction","href":"/introduction"},{"title":"Config file","description":"Let's set it up","href":"/config/config-file"},{"title":"Translation fallback","href":"/config/translation-fallback"}]},{"group":"SDK's","pages":[{"title":"Commands","href":"/sdk/commands"},{"title":"Flutter","href":"/sdk/flutter"},{"title":"Typescript","href":"/sdk/typescript"}]},{"group":"Server Side","pages":[{"title":"Web Hooks","href":"/server-side/web-hooks"}]}]},{"tab":"API Reference","pages":[{"title":"API Reference","href":"/api-reference/introduction"}]}]},"title":"Introduction - Locale Sync","buildId":"dpl_CUnGQP1HgFUzoxatVC37y4zP83Vx","deploymentId":"dpl_CUnGQP1HgFUzoxatVC37y4zP83Vx","dynamics":["a74be98ba7"],"chunks":["zoom-image-lightbox-DQ5W4Q2v.js","PlusIcon-jZ8vgk6R.js","lightbox-handle-r17bVUz3.js"]}