[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"footer-homepage":3,"footer-settings":84,"footer-integrations":220,"main-navigation":1197,"blog-post-nav-nav":1814,"blog-post-nav-[USE LATEST FEATURED]":1836,"blog-flutter-localization-internationalization-localazy":1857},{"status":4,"header_badges":5,"footer_badges":27,"footer_secured_badges":34,"slider_badges":48},"published",[6,15,21],{"id":7,"status":4,"sort":8,"link":9,"title":10,"badgeType":11,"badgeName":12,"metadata":8,"image":13},1,null,"https:\u002F\u002Fwww.g2.com\u002Fproducts\u002Flocalazy\u002Freviews","Best meets requirements","Other","G2-winter-24-best-meets-requirments",{"id":14},"8d5dd6fd-6995-4c92-8219-a6ed5ba6acdc",{"id":16,"status":4,"sort":8,"link":9,"title":17,"badgeType":11,"badgeName":18,"metadata":8,"image":19},2,"Best support","G2-winter-24-best-support",{"id":20},"e59dd465-84d9-45c7-987d-dd4048fd6992",{"id":22,"status":4,"sort":8,"link":9,"title":23,"badgeType":11,"badgeName":24,"metadata":8,"image":25},3,"Easiest admin","G2-winter-24-easiest-admin",{"id":26},"5f12c4c8-bec0-47cf-87b4-a4502e9f1bd2",[28],{"id":29,"status":4,"sort":8,"link":9,"title":30,"badgeType":11,"badgeName":31,"metadata":8,"image":32},12,"Users love us","Users love us 25",{"id":33},"232416a5-86ba-4be6-85a5-b88802003d53",[35,42],{"id":36,"status":4,"sort":8,"link":37,"title":38,"badgeType":11,"badgeName":39,"metadata":8,"image":40},11,"https:\u002F\u002Fsprinto.com\u002Fget-iso-27001\u002F","Sprinto ISO 27001","Sprinto ISO 27001 certificate",{"id":41},"c1c6c06c-6caf-4b78-8a7e-9606c395eb61",{"id":43,"status":4,"sort":8,"link":44,"title":45,"badgeType":11,"badgeName":45,"metadata":8,"image":46},13,"https:\u002F\u002Fwww.aicpa.org\u002Fsoc4so","SOC certificate",{"id":47},"4f4bc0a6-09a0-41df-8295-8f990d96d941",[49,56,61,66,71,76,82],{"id":50,"status":4,"sort":8,"link":9,"title":51,"badgeType":11,"badgeName":52,"metadata":53,"image":54},5,"Most likely to recommend","a","",{"id":55},"da055731-3f11-4fc7-96f2-c11c0b84c831",{"id":57,"status":4,"sort":8,"link":9,"title":58,"badgeType":11,"badgeName":8,"metadata":8,"image":59},6,"EMEA High Performer",{"id":60},"586fb488-81f2-41db-a4e8-ef309e50c0e6",{"id":62,"status":4,"sort":8,"link":9,"title":63,"badgeType":11,"badgeName":8,"metadata":8,"image":64},7,"Ease of Doing Business With",{"id":65},"bfa26865-430e-463d-9886-cb56a8a8ecf6",{"id":67,"status":4,"sort":8,"link":9,"title":68,"badgeType":11,"badgeName":8,"metadata":8,"image":69},8,"High Performer",{"id":70},"2cc1ba0f-c23a-4c97-ad4a-a655c97466fe",{"id":72,"status":4,"sort":8,"link":9,"title":73,"badgeType":11,"badgeName":8,"metadata":8,"image":74},9,"Fastest Implementation",{"id":75},"6f297758-1c95-45f4-a6e9-528319897132",{"id":77,"status":4,"sort":8,"link":78,"title":79,"badgeType":11,"badgeName":8,"metadata":8,"image":80},10,"https:\u002F\u002Fwww.intercert.com\u002Fservices\u002Fgovernance-risk-compliance\u002Fiso-iec-27001","Intercert ISO 27001",{"id":81},"0521a5f1-e1f2-4da6-a2bc-dc92773f2a7b",{"id":36,"status":4,"sort":8,"link":37,"title":38,"badgeType":11,"badgeName":39,"metadata":8,"image":83},{"id":41},{"id":7,"status":4,"security_section_title":85,"loved_section_title":86,"columns":87,"social_links":180,"policy_links":210},"Secured & trusted","Loved by users",[88,102,119,141,145],{"id":7,"status":4,"sort":8,"title":89,"column_key":90,"links":91},"Localazy","connect",[92,95,98],{"id":36,"status":4,"sort":7,"title":93,"url":94},"Book a demo","___LOCALAZY_MEETING_URL___",{"id":29,"status":4,"sort":16,"title":96,"url":97},"Contact","\u002Fcontact",{"id":99,"status":4,"sort":22,"title":100,"url":101},21,"About us","\u002Fabout-us",{"id":16,"status":4,"sort":8,"title":103,"column_key":104,"links":105},"Programs","programs",[106,110,113,116],{"id":7,"status":4,"sort":107,"title":108,"url":109},4,"Partner Program","\u002Fpartnership",{"id":16,"status":4,"sort":50,"title":111,"url":112},"Ambassador Program","\u002Fambassador",{"id":22,"status":4,"sort":57,"title":114,"url":115},"Startup Program","\u002Ffor\u002Fstartups",{"id":107,"status":4,"sort":62,"title":117,"url":118},"Nonprofits","\u002Ffor\u002Fnonprofit",{"id":22,"status":4,"sort":8,"title":120,"column_key":121,"links":122},"Use Cases","use_cases",[123,126,129,132,135,138],{"id":50,"status":4,"sort":67,"title":124,"url":125},"Software Localization","\u002Fterm\u002Fsoftware-localization",{"id":57,"status":4,"sort":72,"title":127,"url":128},"Machine Translation Services","\u002Ffeatures\u002Fmachine-translation",{"id":62,"status":4,"sort":77,"title":130,"url":131},"Translation API","\u002Ffeatures\u002Ftranslation-api",{"id":67,"status":4,"sort":36,"title":133,"url":134},"Crowdsourced Translations","\u002Ffeatures\u002Fshare-tm",{"id":72,"status":4,"sort":29,"title":136,"url":137},"Figma i18n & localization","\u002Ffeatures\u002Ffigma-localization-plugin",{"id":77,"status":4,"sort":43,"title":139,"url":140},"Translation as a Service","\u002Fterm\u002Ftranslation-service",{"id":107,"status":4,"sort":8,"title":142,"column_key":143,"links":144},"Integrations","integrations",[],{"id":50,"status":4,"sort":8,"title":146,"column_key":147,"links":148},"Resources","resources",[149,153,157,161,165,169,173,177],{"id":43,"status":4,"sort":150,"title":151,"url":152},14,"Documentation","\u002Fdocs",{"id":150,"status":4,"sort":154,"title":155,"url":156},15,"Dictionary","\u002Fdictionary",{"id":154,"status":4,"sort":158,"title":159,"url":160},16,"Case Studies","\u002Fcase-study",{"id":158,"status":4,"sort":162,"title":163,"url":164},17,"Discussion forum","___DISCUSS_URL___",{"id":162,"status":4,"sort":166,"title":167,"url":168},18,"Localization Blog","\u002Fblog",{"id":166,"status":4,"sort":170,"title":171,"url":172},19,"FAQ","\u002Ffaq",{"id":170,"status":4,"sort":174,"title":175,"url":176},20,"Pricing","\u002Fpricing",{"id":174,"status":4,"sort":99,"title":178,"url":179},"Brand assets","https:\u002F\u002Fdrive.google.com\u002Fdrive\u002Fu\u002F1\u002Ffolders\u002F1tZqsZHBlGelz7A2FwTsiwrs4j3sd9HTk",[181,186,191,196,201,206],{"id":7,"status":4,"sort":8,"platform":182,"icon":183,"url":184,"label":185},"feed","rss","\u002Ffeed.xml","Localazy RSS Feed",{"id":16,"status":4,"sort":8,"platform":187,"icon":188,"url":189,"label":190},"facebook","fb-logo","https:\u002F\u002Fwww.facebook.com\u002Flocalazy\u002F","Localazy facebook",{"id":22,"status":4,"sort":8,"platform":192,"icon":193,"url":194,"label":195},"github","github-logo","https:\u002F\u002Fgithub.com\u002Flocalazy","Localazy GitHub",{"id":107,"status":4,"sort":8,"platform":197,"icon":198,"url":199,"label":200},"x","x-twitter","https:\u002F\u002Fx.com\u002Flocalazy","Localazy X",{"id":50,"status":4,"sort":8,"platform":202,"icon":203,"url":204,"label":205},"linkedin","linkedin-logo","https:\u002F\u002Fwww.linkedin.com\u002Fcompany\u002F37836599\u002F","Localazy LinkedIn",{"id":57,"status":4,"sort":8,"platform":207,"icon":208,"url":164,"label":209},"discourse","discourse-logo","Localazy Discourse",[211,214,217],{"id":7,"status":4,"sort":8,"title":212,"url":213,"action":8},"Privacy policy","\u002Fprivacy-policy",{"id":16,"status":4,"sort":8,"title":215,"url":216,"action":8},"Terms & Conditions","\u002Fterms-and-conditions",{"id":22,"status":4,"sort":8,"title":218,"url":8,"action":219},"Cookies","cookie-consent",[221,387,468,579,671,755,847,940,1029,1136],{"id":222,"status":4,"created_on":223,"modified_on":224,"name":225,"slug":226,"description":227,"docs_link":228,"priority":8,"has_sdk":229,"sort":22,"highlighted":229,"in_menu":230,"changefreq":8,"support_type":231,"show_in_spa":230,"is_file_format":229,"meta_title":8,"meta_description":8,"featured_on_web":230,"marketing_subtitle":232,"tile_subtitle":233,"tile_description":234,"is_enterprise":229,"is_popular":229,"primary_use_case":8,"hierarchy_handling":8,"best_for":8,"file_extension":8,"format_code_example":8,"format_to_extension":235,"upload_features":237,"icon":238,"meta_image":240,"primary_tag":242,"tags":261,"integration_methods":281,"recommended_methods":371,"default_integration_method":372,"faq_categories":379,"translations":385,"platforms_id":222},33,"2022-03-18T08:09:24.000Z","2025-02-26T13:36:08.000Z","React","react","Manage your React app translations with Localazy, a continuous localization tool. React i18n done right. ","\u002Fdocs\u002Fcli\u002Fjson-format",false,true,"JSON format support","CLI support","react-i18next and more","Use Localazy to translate your React projects with your favorite i18n library.",{"json":236},"json",[],{"id":239},"26757a90-88a3-4a94-b587-9f38614ed3bd",{"id":241},"a97492ec-ee8d-429c-bf66-d0fe59b6e5c9",{"id":50,"status":4,"sort":16,"created_on":243,"label":244,"hidden":229,"icon":245,"translations":247},"2022-03-17T12:23:44.000Z","Web apps",{"id":246},"c9e70e4f-8136-432a-8d82-53c3501a9eb4",[248,250,254,258],{"id":50,"languages_code":249,"label":244},"xxa",{"id":251,"languages_code":252,"label":253},45,"es","Aplicaciones web",{"id":255,"languages_code":256,"label":257},50,"cs","Webové aplikace",{"id":259,"languages_code":260,"label":244},59,"en",[262,269],{"id":50,"status":4,"sort":16,"label":244,"hidden":229,"created_on":243,"icon":263,"translations":264},{"id":246},[265,266,267,268],{"id":50,"languages_code":249,"label":244},{"id":251,"languages_code":252,"label":253},{"id":255,"languages_code":256,"label":257},{"id":259,"languages_code":260,"label":244},{"id":67,"status":4,"sort":72,"label":270,"hidden":229,"created_on":271,"icon":8,"translations":272},"Framework","2022-03-17T12:23:45.000Z",[273,274,277,279],{"id":67,"languages_code":249,"label":270},{"id":275,"languages_code":252,"label":276},53,"Marco",{"id":278,"languages_code":256,"label":270},60,{"id":280,"languages_code":260,"label":270},67,[282,296,326,349],{"id":107,"status":4,"sort":57,"label":283,"alternative_label":8,"slug":284,"description":285,"documentation_link":286,"loc_icon":284,"is_official_plugin":229,"is_universal_plugin":229,"universal_plugin_vendor":8,"translations":287},"API","api","Translate strings directly or upload them into your Localazy project.","\u002Fdocs\u002Fapi\u002Fintroduction",[288,289,292,294],{"id":107,"languages_code":249,"label":283,"description":285,"slug":284},{"id":290,"languages_code":252,"label":283,"description":291,"slug":284},40,"Utilice la API para exportar traducciones e importar contenido de\u002Fa Localazy mediante programación.",{"id":255,"languages_code":260,"label":283,"description":293,"slug":284},"Choose between translating strings directly or uploading them into Localazy.",{"id":259,"languages_code":256,"label":283,"description":295,"slug":284},"Pomocí rozhraní API můžete programovaně exportovat překlady a importovat obsah z\u002Fdo Localazy.",{"id":22,"status":4,"sort":50,"label":297,"alternative_label":8,"slug":298,"description":299,"documentation_link":300,"loc_icon":301,"is_official_plugin":229,"is_universal_plugin":229,"universal_plugin_vendor":8,"translations":302},"Create source keys online","add-keys-manually","Add source keys via the web interface online and sync them into your project later.","\u002Fdocs\u002Fgeneral\u002Fimporting-localization-files#add-new-keys-in-ui","vpn-key-outline",[303,304,308,310,313,317,319,321],{"id":22,"languages_code":249,"label":297,"description":299,"slug":298},{"id":305,"languages_code":252,"label":306,"description":307,"slug":8},39,"Cree claves fuente en línea","Añada claves fuente a través de la interfaz web en línea y sincronícelas posteriormente en su proyecto.",{"id":309,"languages_code":260,"label":297,"description":299,"slug":298},51,{"id":278,"languages_code":256,"label":311,"description":312,"slug":8},"Vytvářejte zdrojové klíče online","Přidejte zdrojové klíče přes webové rozhraní online a synchronizujte je do svého projektu později.",{"id":314,"languages_code":252,"label":315,"description":316,"slug":298},64,"Cree claves de origen en línea","Añada claves de origen a través de la interfaz web en línea y sincronícelas posteriormente en su proyecto.",{"id":318,"languages_code":260,"label":297,"description":299,"slug":298},65,{"id":320,"languages_code":256,"label":311,"description":312,"slug":298},66,{"id":322,"languages_code":323,"label":324,"description":325,"slug":8},88,"de","Erstellen Sie Quellschlüssel online","Fügen Sie Quellschlüssel über die Weboberfläche online hinzu und synchronisieren Sie sie später mit Ihrem Projekt.",{"id":16,"status":4,"sort":107,"label":327,"alternative_label":328,"slug":329,"description":330,"documentation_link":331,"loc_icon":332,"is_official_plugin":229,"is_universal_plugin":229,"universal_plugin_vendor":8,"translations":333},"Direct file upload","File upload","web-upload","Upload your texts and existing translations in any format directly to start quickly.","\u002Fdocs\u002Fgeneral\u002Fimporting-localization-files","file-upload",[334,335,339,341,345],{"id":16,"languages_code":249,"label":327,"description":330,"slug":329},{"id":336,"languages_code":252,"label":337,"description":338,"slug":8},38,"Carga directa de archivos","Cargue sus textos y traducciones existentes en cualquier formato directamente para empezar rápidamente.",{"id":340,"languages_code":260,"label":327,"description":330,"slug":329},47,{"id":342,"languages_code":256,"label":343,"description":344,"slug":8},56,"Přímé nahrávání souborů","Nahrajte přímo své texty a stávající překlady v libovolném formátu a začněte pracovat ihned.",{"id":346,"languages_code":323,"label":347,"description":348,"slug":8},85,"Direkter Datei-Upload","Laden Sie Ihre Texte und vorhandenen Übersetzungen in einem beliebigen Format direkt hoch, um schnell loszulegen.",{"id":7,"status":4,"sort":22,"label":350,"alternative_label":351,"slug":352,"description":353,"documentation_link":354,"loc_icon":352,"is_official_plugin":229,"is_universal_plugin":229,"universal_plugin_vendor":8,"translations":355},"Command Line Interface","CLI","cli","The best option for developers that want to make localization an automated part of their workflow.","\u002Fdocs\u002Fcli\u002Fthe-basics",[356,357,361,363,367],{"id":7,"languages_code":249,"label":350,"description":353,"slug":352},{"id":358,"languages_code":252,"label":359,"description":360,"slug":352},37,"Interfaz de Línea de Comandos","La mejor opción para los desarrolladores que deseen hacer de la localización una parte automatizada de su flujo de trabajo.",{"id":362,"languages_code":260,"label":350,"description":353,"slug":352},46,{"id":364,"languages_code":256,"label":365,"description":366,"slug":352},55,"Rozhraní Příkazového Řádku","Nejlepší volba pro vývojáře, kteří chtějí, aby se lokalizace stala automatizovanou součástí jejich pracovních postupů.",{"id":368,"languages_code":323,"label":369,"description":370,"slug":8},87,"Befehlszeilenschnittstelle","Die beste Option für Entwickler, die die Lokalisierung zu einem automatisierten Teil ihres Arbeitsablaufs machen möchten.",[],{"id":7,"status":4,"sort":22,"label":350,"alternative_label":351,"slug":352,"description":353,"documentation_link":354,"loc_icon":352,"is_official_plugin":229,"is_universal_plugin":229,"universal_plugin_vendor":8,"translations":373},[374,375,376,377,378],{"id":7,"languages_code":249,"label":350,"description":353,"slug":352},{"id":358,"languages_code":252,"label":359,"description":360,"slug":352},{"id":362,"languages_code":260,"label":350,"description":353,"slug":352},{"id":364,"languages_code":256,"label":365,"description":366,"slug":352},{"id":368,"languages_code":323,"label":369,"description":370,"slug":8},[380],{"id":381,"status":4,"created_on":382,"sort":8,"slug":383,"label":384,"on_faq_index":8},76,"2025-02-26T12:44:29.000Z","front-end-common","Front-end Common",[386],{"languages_code":249,"name":225,"slug":226,"description":227,"support_type":231,"meta_title":8,"meta_description":8,"marketing_subtitle":232,"tile_subtitle":233,"tile_description":234,"id":222,"platforms_id":222,"docs_link":228},{"id":170,"status":4,"created_on":223,"modified_on":388,"name":389,"slug":390,"description":391,"docs_link":228,"priority":8,"has_sdk":229,"sort":107,"highlighted":229,"in_menu":230,"changefreq":8,"support_type":231,"show_in_spa":230,"is_file_format":229,"meta_title":8,"meta_description":8,"featured_on_web":230,"marketing_subtitle":232,"tile_subtitle":392,"tile_description":393,"is_enterprise":229,"is_popular":229,"primary_use_case":8,"hierarchy_handling":8,"best_for":8,"file_extension":8,"format_code_example":8,"format_to_extension":394,"upload_features":395,"icon":396,"meta_image":398,"primary_tag":400,"tags":407,"integration_methods":421,"recommended_methods":452,"default_integration_method":453,"faq_categories":460,"translations":466,"platforms_id":170},"2025-02-26T13:35:41.000Z","Vue.js","vuejs","Online Vue.js project localization tool for your translation management. Enjoy true continuous localization with Localazy & translate your JSON files automatically.","Vue.js & JSON","Enjoy true continuous localization with Localazy & translate your Vue projects automatically.",{"json":236},[],{"id":397},"6180b41f-3249-47d3-adcd-50fe1cf11bf1",{"id":399},"8171b836-d6b8-4354-8db3-34ccd384970d",{"id":50,"status":4,"sort":16,"created_on":243,"label":244,"hidden":229,"icon":401,"translations":402},{"id":246},[403,404,405,406],{"id":50,"languages_code":249,"label":244},{"id":251,"languages_code":252,"label":253},{"id":255,"languages_code":256,"label":257},{"id":259,"languages_code":260,"label":244},[408,415],{"id":50,"status":4,"sort":16,"label":244,"hidden":229,"created_on":243,"icon":409,"translations":410},{"id":246},[411,412,413,414],{"id":50,"languages_code":249,"label":244},{"id":251,"languages_code":252,"label":253},{"id":255,"languages_code":256,"label":257},{"id":259,"languages_code":260,"label":244},{"id":67,"status":4,"sort":72,"label":270,"hidden":229,"created_on":271,"icon":8,"translations":416},[417,418,419,420],{"id":67,"languages_code":249,"label":270},{"id":275,"languages_code":252,"label":276},{"id":278,"languages_code":256,"label":270},{"id":280,"languages_code":260,"label":270},[422,428,438,445],{"id":107,"status":4,"sort":57,"label":283,"alternative_label":8,"slug":284,"description":285,"documentation_link":286,"loc_icon":284,"is_official_plugin":229,"is_universal_plugin":229,"universal_plugin_vendor":8,"translations":423},[424,425,426,427],{"id":107,"languages_code":249,"label":283,"description":285,"slug":284},{"id":290,"languages_code":252,"label":283,"description":291,"slug":284},{"id":255,"languages_code":260,"label":283,"description":293,"slug":284},{"id":259,"languages_code":256,"label":283,"description":295,"slug":284},{"id":22,"status":4,"sort":50,"label":297,"alternative_label":8,"slug":298,"description":299,"documentation_link":300,"loc_icon":301,"is_official_plugin":229,"is_universal_plugin":229,"universal_plugin_vendor":8,"translations":429},[430,431,432,433,434,435,436,437],{"id":22,"languages_code":249,"label":297,"description":299,"slug":298},{"id":305,"languages_code":252,"label":306,"description":307,"slug":8},{"id":309,"languages_code":260,"label":297,"description":299,"slug":298},{"id":278,"languages_code":256,"label":311,"description":312,"slug":8},{"id":314,"languages_code":252,"label":315,"description":316,"slug":298},{"id":318,"languages_code":260,"label":297,"description":299,"slug":298},{"id":320,"languages_code":256,"label":311,"description":312,"slug":298},{"id":322,"languages_code":323,"label":324,"description":325,"slug":8},{"id":16,"status":4,"sort":107,"label":327,"alternative_label":328,"slug":329,"description":330,"documentation_link":331,"loc_icon":332,"is_official_plugin":229,"is_universal_plugin":229,"universal_plugin_vendor":8,"translations":439},[440,441,442,443,444],{"id":16,"languages_code":249,"label":327,"description":330,"slug":329},{"id":336,"languages_code":252,"label":337,"description":338,"slug":8},{"id":340,"languages_code":260,"label":327,"description":330,"slug":329},{"id":342,"languages_code":256,"label":343,"description":344,"slug":8},{"id":346,"languages_code":323,"label":347,"description":348,"slug":8},{"id":7,"status":4,"sort":22,"label":350,"alternative_label":351,"slug":352,"description":353,"documentation_link":354,"loc_icon":352,"is_official_plugin":229,"is_universal_plugin":229,"universal_plugin_vendor":8,"translations":446},[447,448,449,450,451],{"id":7,"languages_code":249,"label":350,"description":353,"slug":352},{"id":358,"languages_code":252,"label":359,"description":360,"slug":352},{"id":362,"languages_code":260,"label":350,"description":353,"slug":352},{"id":364,"languages_code":256,"label":365,"description":366,"slug":352},{"id":368,"languages_code":323,"label":369,"description":370,"slug":8},[],{"id":7,"status":4,"sort":22,"label":350,"alternative_label":351,"slug":352,"description":353,"documentation_link":354,"loc_icon":352,"is_official_plugin":229,"is_universal_plugin":229,"universal_plugin_vendor":8,"translations":454},[455,456,457,458,459],{"id":7,"languages_code":249,"label":350,"description":353,"slug":352},{"id":358,"languages_code":252,"label":359,"description":360,"slug":352},{"id":362,"languages_code":260,"label":350,"description":353,"slug":352},{"id":364,"languages_code":256,"label":365,"description":366,"slug":352},{"id":368,"languages_code":323,"label":369,"description":370,"slug":8},[461,465],{"id":342,"status":4,"created_on":462,"sort":8,"slug":463,"label":464,"on_faq_index":8},"2023-03-01T11:21:41.000Z","vue-localization","Vue.js Localization",{"id":381,"status":4,"created_on":382,"sort":8,"slug":383,"label":384,"on_faq_index":8},[467],{"languages_code":249,"name":389,"slug":390,"description":391,"support_type":231,"meta_title":8,"meta_description":8,"marketing_subtitle":232,"tile_subtitle":392,"tile_description":393,"id":170,"platforms_id":170,"docs_link":228},{"id":7,"status":4,"created_on":223,"modified_on":469,"name":470,"slug":471,"description":472,"docs_link":473,"priority":8,"has_sdk":229,"sort":57,"highlighted":229,"in_menu":230,"changefreq":8,"support_type":474,"show_in_spa":230,"is_file_format":229,"meta_title":8,"meta_description":8,"featured_on_web":229,"marketing_subtitle":232,"tile_subtitle":474,"tile_description":475,"is_enterprise":229,"is_popular":229,"primary_use_case":476,"hierarchy_handling":477,"best_for":478,"file_extension":479,"format_code_example":480,"format_to_extension":481,"upload_features":483,"icon":484,"meta_image":486,"primary_tag":488,"tags":499,"integration_methods":537,"recommended_methods":568,"default_integration_method":569,"faq_categories":576,"translations":577,"platforms_id":7},"2025-07-03T14:21:42.000Z","Flutter","flutter","Learn how to use Localazy CLI for localization of Flutter app. Flutter’s ARB format is fully supported including arrays, plurals, and selected context information. No extra configuration is necessary, but you can enable certain features if you want to.","\u002Fdocs\u002Fcli\u002Fflutter-format","ARB format support","Use the Localazy CLI for localization of Flutter projects. Flutter’s ARB format is fully supported.","Supports metadata like placeholders","JSON-like key-value","Flutter apps",".arb","```\n{\n  \"localazy_message\": \"Go international, today. With Localazy.\"\n}\n```",{"arb":482},"arb",[],{"id":485},"b9f13a11-9328-4a03-86cf-b20de0685606",{"id":487},"c2674666-4371-4aa4-9a65-438c7363fafe",{"id":57,"status":4,"sort":67,"created_on":271,"label":489,"hidden":229,"icon":490,"translations":492},"Mobile apps",{"id":491},"c9c7e1f5-8b59-4016-ae0c-6fba9469cd55",[493,494,496,498],{"id":57,"languages_code":249,"label":489},{"id":362,"languages_code":252,"label":495},"Aplicaciones móviles",{"id":364,"languages_code":256,"label":497},"Mobilní aplikace",{"id":318,"languages_code":260,"label":489},[500,511,518,525],{"id":62,"status":4,"sort":170,"label":501,"hidden":229,"created_on":271,"icon":502,"translations":504},"Desktop & Games",{"id":503},"65b04533-5b4c-430c-b8a4-ecce84754200",[505,506,508,510],{"id":62,"languages_code":249,"label":501},{"id":340,"languages_code":252,"label":507},"Escritorio y Juegos",{"id":342,"languages_code":256,"label":509},"Stolní počítače & Hry",{"id":320,"languages_code":260,"label":501},{"id":50,"status":4,"sort":16,"label":244,"hidden":229,"created_on":243,"icon":512,"translations":513},{"id":246},[514,515,516,517],{"id":50,"languages_code":249,"label":244},{"id":251,"languages_code":252,"label":253},{"id":255,"languages_code":256,"label":257},{"id":259,"languages_code":260,"label":244},{"id":57,"status":4,"sort":67,"label":489,"hidden":229,"created_on":271,"icon":519,"translations":520},{"id":491},[521,522,523,524],{"id":57,"languages_code":249,"label":489},{"id":362,"languages_code":252,"label":495},{"id":364,"languages_code":256,"label":497},{"id":318,"languages_code":260,"label":489},{"id":526,"status":4,"sort":527,"label":528,"hidden":230,"created_on":271,"icon":8,"translations":529},30,32,"ARB",[530,531,533,535],{"id":526,"languages_code":249,"label":528},{"id":532,"languages_code":252,"label":528},120,{"id":534,"languages_code":256,"label":528},125,{"id":536,"languages_code":260,"label":528},130,[538,544,554,561],{"id":107,"status":4,"sort":57,"label":283,"alternative_label":8,"slug":284,"description":285,"documentation_link":286,"loc_icon":284,"is_official_plugin":229,"is_universal_plugin":229,"universal_plugin_vendor":8,"translations":539},[540,541,542,543],{"id":107,"languages_code":249,"label":283,"description":285,"slug":284},{"id":290,"languages_code":252,"label":283,"description":291,"slug":284},{"id":255,"languages_code":260,"label":283,"description":293,"slug":284},{"id":259,"languages_code":256,"label":283,"description":295,"slug":284},{"id":22,"status":4,"sort":50,"label":297,"alternative_label":8,"slug":298,"description":299,"documentation_link":300,"loc_icon":301,"is_official_plugin":229,"is_universal_plugin":229,"universal_plugin_vendor":8,"translations":545},[546,547,548,549,550,551,552,553],{"id":22,"languages_code":249,"label":297,"description":299,"slug":298},{"id":305,"languages_code":252,"label":306,"description":307,"slug":8},{"id":309,"languages_code":260,"label":297,"description":299,"slug":298},{"id":278,"languages_code":256,"label":311,"description":312,"slug":8},{"id":314,"languages_code":252,"label":315,"description":316,"slug":298},{"id":318,"languages_code":260,"label":297,"description":299,"slug":298},{"id":320,"languages_code":256,"label":311,"description":312,"slug":298},{"id":322,"languages_code":323,"label":324,"description":325,"slug":8},{"id":16,"status":4,"sort":107,"label":327,"alternative_label":328,"slug":329,"description":330,"documentation_link":331,"loc_icon":332,"is_official_plugin":229,"is_universal_plugin":229,"universal_plugin_vendor":8,"translations":555},[556,557,558,559,560],{"id":16,"languages_code":249,"label":327,"description":330,"slug":329},{"id":336,"languages_code":252,"label":337,"description":338,"slug":8},{"id":340,"languages_code":260,"label":327,"description":330,"slug":329},{"id":342,"languages_code":256,"label":343,"description":344,"slug":8},{"id":346,"languages_code":323,"label":347,"description":348,"slug":8},{"id":7,"status":4,"sort":22,"label":350,"alternative_label":351,"slug":352,"description":353,"documentation_link":354,"loc_icon":352,"is_official_plugin":229,"is_universal_plugin":229,"universal_plugin_vendor":8,"translations":562},[563,564,565,566,567],{"id":7,"languages_code":249,"label":350,"description":353,"slug":352},{"id":358,"languages_code":252,"label":359,"description":360,"slug":352},{"id":362,"languages_code":260,"label":350,"description":353,"slug":352},{"id":364,"languages_code":256,"label":365,"description":366,"slug":352},{"id":368,"languages_code":323,"label":369,"description":370,"slug":8},[],{"id":7,"status":4,"sort":22,"label":350,"alternative_label":351,"slug":352,"description":353,"documentation_link":354,"loc_icon":352,"is_official_plugin":229,"is_universal_plugin":229,"universal_plugin_vendor":8,"translations":570},[571,572,573,574,575],{"id":7,"languages_code":249,"label":350,"description":353,"slug":352},{"id":358,"languages_code":252,"label":359,"description":360,"slug":352},{"id":362,"languages_code":260,"label":350,"description":353,"slug":352},{"id":364,"languages_code":256,"label":365,"description":366,"slug":352},{"id":368,"languages_code":323,"label":369,"description":370,"slug":8},[],[578],{"languages_code":249,"name":470,"slug":471,"description":472,"support_type":474,"meta_title":8,"meta_description":8,"marketing_subtitle":232,"tile_subtitle":474,"tile_description":475,"id":7,"platforms_id":7,"docs_link":473},{"id":580,"status":4,"created_on":581,"modified_on":582,"name":583,"slug":584,"description":585,"docs_link":586,"priority":8,"has_sdk":229,"sort":29,"highlighted":229,"in_menu":230,"changefreq":8,"support_type":587,"show_in_spa":230,"is_file_format":229,"meta_title":8,"meta_description":8,"featured_on_web":230,"marketing_subtitle":232,"tile_subtitle":587,"tile_description":588,"is_enterprise":229,"is_popular":229,"primary_use_case":8,"hierarchy_handling":8,"best_for":8,"file_extension":8,"format_code_example":8,"format_to_extension":589,"upload_features":591,"icon":592,"meta_image":594,"primary_tag":596,"tags":610,"integration_methods":625,"recommended_methods":656,"default_integration_method":657,"faq_categories":664,"translations":669,"platforms_id":580},31,"2022-03-18T08:09:25.000Z","2024-07-17T07:43:22.000Z","JavaScript","javascript","Localize your app with JavaScript localizations and Localazy CLI.\nUpload JavaScript files with strings to Localazy and manage your translations easily. Download translated files back.","\u002Fdocs\u002Fcli\u002Fjavascript-format","JS file support","Translating JS files is easy as a pie with Localazy!",{"js":590},"js",[],{"id":593},"4218d0c9-7e6b-494d-9663-37ceaf93ee8c",{"id":595},"2c6699eb-1d80-4772-8268-5597dbcead8c",{"id":77,"status":4,"sort":77,"created_on":271,"label":597,"hidden":229,"icon":598,"translations":600},"Programming Languages",{"id":599},"8c5836bb-1fbe-49c5-9330-8f931838c457",[601,602,605,608],{"id":77,"languages_code":249,"label":597},{"id":603,"languages_code":252,"label":604},63,"Lenguajes de Programación",{"id":606,"languages_code":256,"label":607},68,"Programovací Jazyky",{"id":609,"languages_code":260,"label":597},70,[611,618],{"id":50,"status":4,"sort":16,"label":244,"hidden":229,"created_on":243,"icon":612,"translations":613},{"id":246},[614,615,616,617],{"id":50,"languages_code":249,"label":244},{"id":251,"languages_code":252,"label":253},{"id":255,"languages_code":256,"label":257},{"id":259,"languages_code":260,"label":244},{"id":77,"status":4,"sort":77,"label":597,"hidden":229,"created_on":271,"icon":619,"translations":620},{"id":599},[621,622,623,624],{"id":77,"languages_code":249,"label":597},{"id":603,"languages_code":252,"label":604},{"id":606,"languages_code":256,"label":607},{"id":609,"languages_code":260,"label":597},[626,632,642,649],{"id":107,"status":4,"sort":57,"label":283,"alternative_label":8,"slug":284,"description":285,"documentation_link":286,"loc_icon":284,"is_official_plugin":229,"is_universal_plugin":229,"universal_plugin_vendor":8,"translations":627},[628,629,630,631],{"id":107,"languages_code":249,"label":283,"description":285,"slug":284},{"id":290,"languages_code":252,"label":283,"description":291,"slug":284},{"id":255,"languages_code":260,"label":283,"description":293,"slug":284},{"id":259,"languages_code":256,"label":283,"description":295,"slug":284},{"id":22,"status":4,"sort":50,"label":297,"alternative_label":8,"slug":298,"description":299,"documentation_link":300,"loc_icon":301,"is_official_plugin":229,"is_universal_plugin":229,"universal_plugin_vendor":8,"translations":633},[634,635,636,637,638,639,640,641],{"id":22,"languages_code":249,"label":297,"description":299,"slug":298},{"id":305,"languages_code":252,"label":306,"description":307,"slug":8},{"id":309,"languages_code":260,"label":297,"description":299,"slug":298},{"id":278,"languages_code":256,"label":311,"description":312,"slug":8},{"id":314,"languages_code":252,"label":315,"description":316,"slug":298},{"id":318,"languages_code":260,"label":297,"description":299,"slug":298},{"id":320,"languages_code":256,"label":311,"description":312,"slug":298},{"id":322,"languages_code":323,"label":324,"description":325,"slug":8},{"id":16,"status":4,"sort":107,"label":327,"alternative_label":328,"slug":329,"description":330,"documentation_link":331,"loc_icon":332,"is_official_plugin":229,"is_universal_plugin":229,"universal_plugin_vendor":8,"translations":643},[644,645,646,647,648],{"id":16,"languages_code":249,"label":327,"description":330,"slug":329},{"id":336,"languages_code":252,"label":337,"description":338,"slug":8},{"id":340,"languages_code":260,"label":327,"description":330,"slug":329},{"id":342,"languages_code":256,"label":343,"description":344,"slug":8},{"id":346,"languages_code":323,"label":347,"description":348,"slug":8},{"id":7,"status":4,"sort":22,"label":350,"alternative_label":351,"slug":352,"description":353,"documentation_link":354,"loc_icon":352,"is_official_plugin":229,"is_universal_plugin":229,"universal_plugin_vendor":8,"translations":650},[651,652,653,654,655],{"id":7,"languages_code":249,"label":350,"description":353,"slug":352},{"id":358,"languages_code":252,"label":359,"description":360,"slug":352},{"id":362,"languages_code":260,"label":350,"description":353,"slug":352},{"id":364,"languages_code":256,"label":365,"description":366,"slug":352},{"id":368,"languages_code":323,"label":369,"description":370,"slug":8},[],{"id":7,"status":4,"sort":22,"label":350,"alternative_label":351,"slug":352,"description":353,"documentation_link":354,"loc_icon":352,"is_official_plugin":229,"is_universal_plugin":229,"universal_plugin_vendor":8,"translations":658},[659,660,661,662,663],{"id":7,"languages_code":249,"label":350,"description":353,"slug":352},{"id":358,"languages_code":252,"label":359,"description":360,"slug":352},{"id":362,"languages_code":260,"label":350,"description":353,"slug":352},{"id":364,"languages_code":256,"label":365,"description":366,"slug":352},{"id":368,"languages_code":323,"label":369,"description":370,"slug":8},[665],{"id":666,"status":4,"created_on":667,"sort":8,"slug":668,"label":583,"on_faq_index":229},35,"2022-06-10T09:49:33.000Z","javascript-i18n-localization",[670],{"languages_code":249,"name":583,"slug":584,"description":585,"support_type":587,"meta_title":8,"meta_description":8,"marketing_subtitle":232,"tile_subtitle":587,"tile_description":588,"id":580,"platforms_id":580,"docs_link":586},{"id":29,"status":4,"created_on":581,"modified_on":672,"name":673,"slug":236,"description":674,"docs_link":228,"priority":8,"has_sdk":229,"sort":174,"highlighted":229,"in_menu":230,"changefreq":8,"support_type":675,"show_in_spa":230,"is_file_format":230,"meta_title":8,"meta_description":8,"featured_on_web":230,"marketing_subtitle":232,"tile_subtitle":676,"tile_description":677,"is_enterprise":229,"is_popular":230,"primary_use_case":678,"hierarchy_handling":679,"best_for":680,"file_extension":681,"format_code_example":682,"format_to_extension":683,"upload_features":684,"icon":685,"meta_image":687,"primary_tag":689,"tags":702,"integration_methods":710,"recommended_methods":741,"default_integration_method":742,"faq_categories":749,"translations":753,"platforms_id":29},"2025-10-14T11:22:29.000Z","JSON","Online JSON translator you will love. Comfortable JSON language files editor with powerful CLI under your fingers for continuous localization.","Advanced format support","{Objectively the best}","Translate any JSON files with Localazy, with the best in class plural and array support.","Used for structured data storage and APIs","Uses key-value pairs","Web & mobile apps, APIs",".json","```\n{\n  \"parent\": {\n    \"child\": {\n      \"another_nested_level\": \"All is supported.\"\n    }\n  }\n}\n```",{"json":236},[],{"id":686},"99ac3b7c-dba5-4693-a4f4-1f27a6d7782d",{"id":688},"8d614c20-667e-4bee-a64d-7d7ce9c0ee0a",{"id":107,"status":4,"sort":50,"created_on":271,"label":690,"hidden":229,"icon":691,"translations":693},"File formats",{"id":692},"ab7c8f89-dcce-45ab-9e21-8605aef289c3",[694,695,698,700],{"id":107,"languages_code":249,"label":690},{"id":696,"languages_code":252,"label":697},44,"Formatos de archivo",{"id":309,"languages_code":256,"label":699},"Formáty souborů",{"id":701,"languages_code":260,"label":690},62,[703],{"id":107,"status":4,"sort":50,"label":690,"hidden":229,"created_on":271,"icon":704,"translations":705},{"id":692},[706,707,708,709],{"id":107,"languages_code":249,"label":690},{"id":696,"languages_code":252,"label":697},{"id":309,"languages_code":256,"label":699},{"id":701,"languages_code":260,"label":690},[711,717,727,734],{"id":107,"status":4,"sort":57,"label":283,"alternative_label":8,"slug":284,"description":285,"documentation_link":286,"loc_icon":284,"is_official_plugin":229,"is_universal_plugin":229,"universal_plugin_vendor":8,"translations":712},[713,714,715,716],{"id":107,"languages_code":249,"label":283,"description":285,"slug":284},{"id":290,"languages_code":252,"label":283,"description":291,"slug":284},{"id":255,"languages_code":260,"label":283,"description":293,"slug":284},{"id":259,"languages_code":256,"label":283,"description":295,"slug":284},{"id":22,"status":4,"sort":50,"label":297,"alternative_label":8,"slug":298,"description":299,"documentation_link":300,"loc_icon":301,"is_official_plugin":229,"is_universal_plugin":229,"universal_plugin_vendor":8,"translations":718},[719,720,721,722,723,724,725,726],{"id":22,"languages_code":249,"label":297,"description":299,"slug":298},{"id":305,"languages_code":252,"label":306,"description":307,"slug":8},{"id":309,"languages_code":260,"label":297,"description":299,"slug":298},{"id":278,"languages_code":256,"label":311,"description":312,"slug":8},{"id":314,"languages_code":252,"label":315,"description":316,"slug":298},{"id":318,"languages_code":260,"label":297,"description":299,"slug":298},{"id":320,"languages_code":256,"label":311,"description":312,"slug":298},{"id":322,"languages_code":323,"label":324,"description":325,"slug":8},{"id":16,"status":4,"sort":107,"label":327,"alternative_label":328,"slug":329,"description":330,"documentation_link":331,"loc_icon":332,"is_official_plugin":229,"is_universal_plugin":229,"universal_plugin_vendor":8,"translations":728},[729,730,731,732,733],{"id":16,"languages_code":249,"label":327,"description":330,"slug":329},{"id":336,"languages_code":252,"label":337,"description":338,"slug":8},{"id":340,"languages_code":260,"label":327,"description":330,"slug":329},{"id":342,"languages_code":256,"label":343,"description":344,"slug":8},{"id":346,"languages_code":323,"label":347,"description":348,"slug":8},{"id":7,"status":4,"sort":22,"label":350,"alternative_label":351,"slug":352,"description":353,"documentation_link":354,"loc_icon":352,"is_official_plugin":229,"is_universal_plugin":229,"universal_plugin_vendor":8,"translations":735},[736,737,738,739,740],{"id":7,"languages_code":249,"label":350,"description":353,"slug":352},{"id":358,"languages_code":252,"label":359,"description":360,"slug":352},{"id":362,"languages_code":260,"label":350,"description":353,"slug":352},{"id":364,"languages_code":256,"label":365,"description":366,"slug":352},{"id":368,"languages_code":323,"label":369,"description":370,"slug":8},[],{"id":7,"status":4,"sort":22,"label":350,"alternative_label":351,"slug":352,"description":353,"documentation_link":354,"loc_icon":352,"is_official_plugin":229,"is_universal_plugin":229,"universal_plugin_vendor":8,"translations":743},[744,745,746,747,748],{"id":7,"languages_code":249,"label":350,"description":353,"slug":352},{"id":358,"languages_code":252,"label":359,"description":360,"slug":352},{"id":362,"languages_code":260,"label":350,"description":353,"slug":352},{"id":364,"languages_code":256,"label":365,"description":366,"slug":352},{"id":368,"languages_code":323,"label":369,"description":370,"slug":8},[750],{"id":751,"status":4,"created_on":752,"sort":8,"slug":236,"label":673,"on_faq_index":229},36,"2022-06-10T10:49:07.000Z",[754],{"languages_code":249,"name":673,"slug":236,"description":674,"support_type":675,"meta_title":8,"meta_description":8,"marketing_subtitle":232,"tile_subtitle":676,"tile_description":677,"id":29,"platforms_id":29,"docs_link":228},{"id":99,"status":4,"created_on":581,"modified_on":756,"name":757,"slug":758,"description":759,"docs_link":760,"priority":8,"has_sdk":229,"sort":99,"highlighted":229,"in_menu":230,"changefreq":8,"support_type":761,"show_in_spa":229,"is_file_format":230,"meta_title":8,"meta_description":8,"featured_on_web":230,"marketing_subtitle":232,"tile_subtitle":762,"tile_description":763,"is_enterprise":229,"is_popular":230,"primary_use_case":764,"hierarchy_handling":765,"best_for":766,"file_extension":767,"format_code_example":768,"format_to_extension":769,"upload_features":771,"icon":772,"meta_image":774,"primary_tag":776,"tags":783,"integration_methods":805,"recommended_methods":836,"default_integration_method":837,"faq_categories":844,"translations":845,"platforms_id":99},"2025-07-03T14:28:31.000Z","XLIFF","xliff","XLIFF is meant for localization. Enjoy Localazy - an online XLIFF editor for your translation management. Integrate your XLIFF files with Localazy to achieve true continuous localization and translate XLIFF files on autopilot.","\u002Fdocs\u002Fcli\u002Fxliff-12-format","File format support","Meant for localization","XLIFF stands for XML Localization Interchange File Format - and Localazy is the best way to manage XLIFF files.","Used in translation pipelines","XML-based exchange format","Translation & software",".xliff","```\n\u003Ctrans-unit id=\"localazy_message\">\n    \u003Csource>Go international, today. With Localazy.\u003C\u002Fsource>\n\u003C\u002Ftrans-unit>\n```",{"xliff":770},"xlf",[],{"id":773},"ca424cc8-e8a7-4aef-8dca-ef4a4d1334fc",{"id":775},"889970a6-cce8-4055-b96a-9c3f292aa67f",{"id":107,"status":4,"sort":50,"created_on":271,"label":690,"hidden":229,"icon":777,"translations":778},{"id":692},[779,780,781,782],{"id":107,"languages_code":249,"label":690},{"id":696,"languages_code":252,"label":697},{"id":309,"languages_code":256,"label":699},{"id":701,"languages_code":260,"label":690},[784,791,798],{"id":107,"status":4,"sort":50,"label":690,"hidden":229,"created_on":271,"icon":785,"translations":786},{"id":692},[787,788,789,790],{"id":107,"languages_code":249,"label":690},{"id":696,"languages_code":252,"label":697},{"id":309,"languages_code":256,"label":699},{"id":701,"languages_code":260,"label":690},{"id":107,"status":4,"sort":50,"label":690,"hidden":229,"created_on":271,"icon":792,"translations":793},{"id":692},[794,795,796,797],{"id":107,"languages_code":249,"label":690},{"id":696,"languages_code":252,"label":697},{"id":309,"languages_code":256,"label":699},{"id":701,"languages_code":260,"label":690},{"id":107,"status":4,"sort":50,"label":690,"hidden":229,"created_on":271,"icon":799,"translations":800},{"id":692},[801,802,803,804],{"id":107,"languages_code":249,"label":690},{"id":696,"languages_code":252,"label":697},{"id":309,"languages_code":256,"label":699},{"id":701,"languages_code":260,"label":690},[806,812,822,829],{"id":107,"status":4,"sort":57,"label":283,"alternative_label":8,"slug":284,"description":285,"documentation_link":286,"loc_icon":284,"is_official_plugin":229,"is_universal_plugin":229,"universal_plugin_vendor":8,"translations":807},[808,809,810,811],{"id":107,"languages_code":249,"label":283,"description":285,"slug":284},{"id":290,"languages_code":252,"label":283,"description":291,"slug":284},{"id":255,"languages_code":260,"label":283,"description":293,"slug":284},{"id":259,"languages_code":256,"label":283,"description":295,"slug":284},{"id":22,"status":4,"sort":50,"label":297,"alternative_label":8,"slug":298,"description":299,"documentation_link":300,"loc_icon":301,"is_official_plugin":229,"is_universal_plugin":229,"universal_plugin_vendor":8,"translations":813},[814,815,816,817,818,819,820,821],{"id":22,"languages_code":249,"label":297,"description":299,"slug":298},{"id":305,"languages_code":252,"label":306,"description":307,"slug":8},{"id":309,"languages_code":260,"label":297,"description":299,"slug":298},{"id":278,"languages_code":256,"label":311,"description":312,"slug":8},{"id":314,"languages_code":252,"label":315,"description":316,"slug":298},{"id":318,"languages_code":260,"label":297,"description":299,"slug":298},{"id":320,"languages_code":256,"label":311,"description":312,"slug":298},{"id":322,"languages_code":323,"label":324,"description":325,"slug":8},{"id":16,"status":4,"sort":107,"label":327,"alternative_label":328,"slug":329,"description":330,"documentation_link":331,"loc_icon":332,"is_official_plugin":229,"is_universal_plugin":229,"universal_plugin_vendor":8,"translations":823},[824,825,826,827,828],{"id":16,"languages_code":249,"label":327,"description":330,"slug":329},{"id":336,"languages_code":252,"label":337,"description":338,"slug":8},{"id":340,"languages_code":260,"label":327,"description":330,"slug":329},{"id":342,"languages_code":256,"label":343,"description":344,"slug":8},{"id":346,"languages_code":323,"label":347,"description":348,"slug":8},{"id":7,"status":4,"sort":22,"label":350,"alternative_label":351,"slug":352,"description":353,"documentation_link":354,"loc_icon":352,"is_official_plugin":229,"is_universal_plugin":229,"universal_plugin_vendor":8,"translations":830},[831,832,833,834,835],{"id":7,"languages_code":249,"label":350,"description":353,"slug":352},{"id":358,"languages_code":252,"label":359,"description":360,"slug":352},{"id":362,"languages_code":260,"label":350,"description":353,"slug":352},{"id":364,"languages_code":256,"label":365,"description":366,"slug":352},{"id":368,"languages_code":323,"label":369,"description":370,"slug":8},[],{"id":7,"status":4,"sort":22,"label":350,"alternative_label":351,"slug":352,"description":353,"documentation_link":354,"loc_icon":352,"is_official_plugin":229,"is_universal_plugin":229,"universal_plugin_vendor":8,"translations":838},[839,840,841,842,843],{"id":7,"languages_code":249,"label":350,"description":353,"slug":352},{"id":358,"languages_code":252,"label":359,"description":360,"slug":352},{"id":362,"languages_code":260,"label":350,"description":353,"slug":352},{"id":364,"languages_code":256,"label":365,"description":366,"slug":352},{"id":368,"languages_code":323,"label":369,"description":370,"slug":8},[],[846],{"languages_code":249,"name":757,"slug":758,"description":759,"support_type":761,"meta_title":8,"meta_description":8,"marketing_subtitle":232,"tile_subtitle":762,"tile_description":763,"id":99,"platforms_id":99,"docs_link":760},{"id":174,"status":4,"created_on":848,"modified_on":848,"name":849,"slug":850,"description":851,"docs_link":852,"priority":8,"has_sdk":229,"sort":853,"highlighted":229,"in_menu":230,"changefreq":8,"support_type":761,"show_in_spa":230,"is_file_format":230,"meta_title":8,"meta_description":8,"featured_on_web":229,"marketing_subtitle":232,"tile_subtitle":854,"tile_description":855,"is_enterprise":229,"is_popular":230,"primary_use_case":8,"hierarchy_handling":8,"best_for":8,"file_extension":8,"format_code_example":8,"format_to_extension":856,"upload_features":857,"icon":858,"meta_image":860,"primary_tag":862,"tags":869,"integration_methods":898,"recommended_methods":929,"default_integration_method":930,"faq_categories":937,"translations":938,"platforms_id":174},"2026-05-21T20:49:09.000Z","PO","po","Edit .po and .pot files with your team, automate translation with AI, and ship faster.","\u002Fdocs\u002Fcli\u002Fpo-format",24,"Seamless integration","Upload, edit and translate PO files with Localazy.",{"po":850},[],{"id":859},"25f317fe-0c10-4f0b-92cd-f80d1f3c6a67",{"id":861},"490022f9-d91a-4e1a-9e79-db374ec997c2",{"id":107,"status":4,"sort":50,"created_on":271,"label":690,"hidden":229,"icon":863,"translations":864},{"id":692},[865,866,867,868],{"id":107,"languages_code":249,"label":690},{"id":696,"languages_code":252,"label":697},{"id":309,"languages_code":256,"label":699},{"id":701,"languages_code":260,"label":690},[870,877,888],{"id":107,"status":4,"sort":50,"label":690,"hidden":229,"created_on":271,"icon":871,"translations":872},{"id":692},[873,874,875,876],{"id":107,"languages_code":249,"label":690},{"id":696,"languages_code":252,"label":697},{"id":309,"languages_code":256,"label":699},{"id":701,"languages_code":260,"label":690},{"id":878,"status":4,"sort":878,"label":879,"hidden":230,"created_on":271,"icon":8,"translations":880},34,"C++",[881,882,884,886],{"id":878,"languages_code":249,"label":879},{"id":883,"languages_code":252,"label":879},135,{"id":885,"languages_code":256,"label":879},140,{"id":887,"languages_code":260,"label":879},144,{"id":99,"status":4,"sort":853,"label":889,"hidden":230,"created_on":271,"icon":8,"translations":890},"Gettext",[891,892,894,896],{"id":99,"languages_code":249,"label":889},{"id":893,"languages_code":252,"label":889},101,{"id":895,"languages_code":256,"label":889},106,{"id":897,"languages_code":260,"label":889},111,[899,905,915,922],{"id":107,"status":4,"sort":57,"label":283,"alternative_label":8,"slug":284,"description":285,"documentation_link":286,"loc_icon":284,"is_official_plugin":229,"is_universal_plugin":229,"universal_plugin_vendor":8,"translations":900},[901,902,903,904],{"id":107,"languages_code":249,"label":283,"description":285,"slug":284},{"id":290,"languages_code":252,"label":283,"description":291,"slug":284},{"id":255,"languages_code":260,"label":283,"description":293,"slug":284},{"id":259,"languages_code":256,"label":283,"description":295,"slug":284},{"id":22,"status":4,"sort":50,"label":297,"alternative_label":8,"slug":298,"description":299,"documentation_link":300,"loc_icon":301,"is_official_plugin":229,"is_universal_plugin":229,"universal_plugin_vendor":8,"translations":906},[907,908,909,910,911,912,913,914],{"id":22,"languages_code":249,"label":297,"description":299,"slug":298},{"id":305,"languages_code":252,"label":306,"description":307,"slug":8},{"id":309,"languages_code":260,"label":297,"description":299,"slug":298},{"id":278,"languages_code":256,"label":311,"description":312,"slug":8},{"id":314,"languages_code":252,"label":315,"description":316,"slug":298},{"id":318,"languages_code":260,"label":297,"description":299,"slug":298},{"id":320,"languages_code":256,"label":311,"description":312,"slug":298},{"id":322,"languages_code":323,"label":324,"description":325,"slug":8},{"id":16,"status":4,"sort":107,"label":327,"alternative_label":328,"slug":329,"description":330,"documentation_link":331,"loc_icon":332,"is_official_plugin":229,"is_universal_plugin":229,"universal_plugin_vendor":8,"translations":916},[917,918,919,920,921],{"id":16,"languages_code":249,"label":327,"description":330,"slug":329},{"id":336,"languages_code":252,"label":337,"description":338,"slug":8},{"id":340,"languages_code":260,"label":327,"description":330,"slug":329},{"id":342,"languages_code":256,"label":343,"description":344,"slug":8},{"id":346,"languages_code":323,"label":347,"description":348,"slug":8},{"id":7,"status":4,"sort":22,"label":350,"alternative_label":351,"slug":352,"description":353,"documentation_link":354,"loc_icon":352,"is_official_plugin":229,"is_universal_plugin":229,"universal_plugin_vendor":8,"translations":923},[924,925,926,927,928],{"id":7,"languages_code":249,"label":350,"description":353,"slug":352},{"id":358,"languages_code":252,"label":359,"description":360,"slug":352},{"id":362,"languages_code":260,"label":350,"description":353,"slug":352},{"id":364,"languages_code":256,"label":365,"description":366,"slug":352},{"id":368,"languages_code":323,"label":369,"description":370,"slug":8},[],{"id":7,"status":4,"sort":22,"label":350,"alternative_label":351,"slug":352,"description":353,"documentation_link":354,"loc_icon":352,"is_official_plugin":229,"is_universal_plugin":229,"universal_plugin_vendor":8,"translations":931},[932,933,934,935,936],{"id":7,"languages_code":249,"label":350,"description":353,"slug":352},{"id":358,"languages_code":252,"label":359,"description":360,"slug":352},{"id":362,"languages_code":260,"label":350,"description":353,"slug":352},{"id":364,"languages_code":256,"label":365,"description":366,"slug":352},{"id":368,"languages_code":323,"label":369,"description":370,"slug":8},[],[939],{"languages_code":249,"name":849,"slug":850,"description":851,"support_type":761,"meta_title":8,"meta_description":8,"marketing_subtitle":232,"tile_subtitle":854,"tile_description":855,"id":174,"platforms_id":174,"docs_link":852},{"id":941,"status":4,"created_on":581,"modified_on":942,"name":943,"slug":944,"description":945,"docs_link":946,"priority":8,"has_sdk":229,"sort":947,"highlighted":229,"in_menu":230,"changefreq":8,"support_type":761,"show_in_spa":230,"is_file_format":230,"meta_title":8,"meta_description":8,"featured_on_web":229,"marketing_subtitle":232,"tile_subtitle":948,"tile_description":949,"is_enterprise":229,"is_popular":229,"primary_use_case":950,"hierarchy_handling":951,"best_for":952,"file_extension":953,"format_code_example":954,"format_to_extension":955,"upload_features":956,"icon":957,"meta_image":958,"primary_tag":960,"tags":967,"integration_methods":985,"recommended_methods":1016,"default_integration_method":1017,"faq_categories":1024,"translations":1027,"platforms_id":941},26,"2025-10-02T08:32:44.000Z","RESX","resx","Quickly translate and manage your RESX files with Localazy or integrate Localazy with your .NET project and enjoy a fully automated localization process. ","\u002Fdocs\u002Fcli\u002Fresx-format",27,".NET localization","Translate .NET projects using RESX files and Localazy.","Standard format for Windows\u002F.NET localization","Flat key-value structure",".NET applications",".resx","```\n\u003C?xml version=\"1.0\" encoding=\"utf-8\"?>\n\u003Croot>\n  \u003Cdata name=\"localazy_message\" xml:space=\"preserve\">\n    \u003Cvalue>Go international, today. With Localazy.\u003C\u002Fvalue>\n  \u003C\u002Fdata>\n\u003C\u002Froot>\n```",{"resx":944},[],{"id":859},{"id":959},"1f07bf83-9363-47d6-b21b-a5121c0efaf6",{"id":107,"status":4,"sort":50,"created_on":271,"label":690,"hidden":229,"icon":961,"translations":962},{"id":692},[963,964,965,966],{"id":107,"languages_code":249,"label":690},{"id":696,"languages_code":252,"label":697},{"id":309,"languages_code":256,"label":699},{"id":701,"languages_code":260,"label":690},[968,975],{"id":107,"status":4,"sort":50,"label":690,"hidden":229,"created_on":271,"icon":969,"translations":970},{"id":692},[971,972,973,974],{"id":107,"languages_code":249,"label":690},{"id":696,"languages_code":252,"label":697},{"id":309,"languages_code":256,"label":699},{"id":701,"languages_code":260,"label":690},{"id":853,"status":4,"sort":941,"label":976,"hidden":230,"created_on":271,"icon":8,"translations":977},"C#",[978,979,981,983],{"id":853,"languages_code":249,"label":976},{"id":980,"languages_code":252,"label":976},103,{"id":982,"languages_code":256,"label":976},108,{"id":984,"languages_code":260,"label":976},113,[986,992,1002,1009],{"id":107,"status":4,"sort":57,"label":283,"alternative_label":8,"slug":284,"description":285,"documentation_link":286,"loc_icon":284,"is_official_plugin":229,"is_universal_plugin":229,"universal_plugin_vendor":8,"translations":987},[988,989,990,991],{"id":107,"languages_code":249,"label":283,"description":285,"slug":284},{"id":290,"languages_code":252,"label":283,"description":291,"slug":284},{"id":255,"languages_code":260,"label":283,"description":293,"slug":284},{"id":259,"languages_code":256,"label":283,"description":295,"slug":284},{"id":22,"status":4,"sort":50,"label":297,"alternative_label":8,"slug":298,"description":299,"documentation_link":300,"loc_icon":301,"is_official_plugin":229,"is_universal_plugin":229,"universal_plugin_vendor":8,"translations":993},[994,995,996,997,998,999,1000,1001],{"id":22,"languages_code":249,"label":297,"description":299,"slug":298},{"id":305,"languages_code":252,"label":306,"description":307,"slug":8},{"id":309,"languages_code":260,"label":297,"description":299,"slug":298},{"id":278,"languages_code":256,"label":311,"description":312,"slug":8},{"id":314,"languages_code":252,"label":315,"description":316,"slug":298},{"id":318,"languages_code":260,"label":297,"description":299,"slug":298},{"id":320,"languages_code":256,"label":311,"description":312,"slug":298},{"id":322,"languages_code":323,"label":324,"description":325,"slug":8},{"id":16,"status":4,"sort":107,"label":327,"alternative_label":328,"slug":329,"description":330,"documentation_link":331,"loc_icon":332,"is_official_plugin":229,"is_universal_plugin":229,"universal_plugin_vendor":8,"translations":1003},[1004,1005,1006,1007,1008],{"id":16,"languages_code":249,"label":327,"description":330,"slug":329},{"id":336,"languages_code":252,"label":337,"description":338,"slug":8},{"id":340,"languages_code":260,"label":327,"description":330,"slug":329},{"id":342,"languages_code":256,"label":343,"description":344,"slug":8},{"id":346,"languages_code":323,"label":347,"description":348,"slug":8},{"id":7,"status":4,"sort":22,"label":350,"alternative_label":351,"slug":352,"description":353,"documentation_link":354,"loc_icon":352,"is_official_plugin":229,"is_universal_plugin":229,"universal_plugin_vendor":8,"translations":1010},[1011,1012,1013,1014,1015],{"id":7,"languages_code":249,"label":350,"description":353,"slug":352},{"id":358,"languages_code":252,"label":359,"description":360,"slug":352},{"id":362,"languages_code":260,"label":350,"description":353,"slug":352},{"id":364,"languages_code":256,"label":365,"description":366,"slug":352},{"id":368,"languages_code":323,"label":369,"description":370,"slug":8},[],{"id":7,"status":4,"sort":22,"label":350,"alternative_label":351,"slug":352,"description":353,"documentation_link":354,"loc_icon":352,"is_official_plugin":229,"is_universal_plugin":229,"universal_plugin_vendor":8,"translations":1018},[1019,1020,1021,1022,1023],{"id":7,"languages_code":249,"label":350,"description":353,"slug":352},{"id":358,"languages_code":252,"label":359,"description":360,"slug":352},{"id":362,"languages_code":260,"label":350,"description":353,"slug":352},{"id":364,"languages_code":256,"label":365,"description":366,"slug":352},{"id":368,"languages_code":323,"label":369,"description":370,"slug":8},[1025],{"id":696,"status":4,"created_on":1026,"sort":8,"slug":944,"label":943,"on_faq_index":8},"2022-08-01T16:44:06.000Z",[1028],{"languages_code":249,"name":943,"slug":944,"description":945,"support_type":761,"meta_title":8,"meta_description":8,"marketing_subtitle":232,"tile_subtitle":948,"tile_description":949,"id":941,"platforms_id":941,"docs_link":946},{"id":1030,"status":4,"created_on":1031,"modified_on":1032,"name":1033,"slug":1034,"description":1035,"docs_link":1036,"priority":8,"has_sdk":8,"sort":1037,"highlighted":229,"in_menu":230,"changefreq":8,"support_type":1038,"show_in_spa":230,"is_file_format":8,"meta_title":8,"meta_description":8,"featured_on_web":230,"marketing_subtitle":1038,"tile_subtitle":1038,"tile_description":1039,"is_enterprise":229,"is_popular":230,"primary_use_case":8,"hierarchy_handling":8,"best_for":8,"file_extension":8,"format_code_example":8,"format_to_extension":8,"upload_features":8,"icon":1040,"meta_image":1042,"primary_tag":1044,"tags":1056,"integration_methods":1103,"recommended_methods":1123,"default_integration_method":1124,"faq_categories":1131,"translations":1134,"platforms_id":1030},72,"2022-06-16T09:08:11.000Z","2026-04-27T18:16:54.000Z","Strapi","strapi","Enjoy seamless integration of Strapi & Localazy and translate your website efficiently. Download the official Localazy plugin in the Strapi Marketplace to get started!","\u002Fdocs\u002Fstrapi\u002Fstrapi-plugin-introduction",54,"Localization Plugin","Localize your Strapi website with our official localization plugin. Easy setup and installation.",{"id":1041},"cde7f1d0-f2e0-4243-929e-a3f8f9146e69",{"id":1043},"5995b721-a2ea-487e-ad4b-298a489bbd24",{"id":29,"status":4,"sort":36,"created_on":271,"label":1045,"hidden":229,"icon":1046,"translations":1048},"CMS",{"id":1047},"1172a655-928c-4594-9263-d8afdfd9cd79",[1049,1050,1052,1054],{"id":29,"languages_code":249,"label":1045},{"id":1051,"languages_code":252,"label":1045},73,{"id":1053,"languages_code":256,"label":1045},81,{"id":1055,"languages_code":260,"label":1045},84,[1057,1069,1082,1089],{"id":166,"status":4,"sort":162,"label":1058,"hidden":229,"created_on":271,"icon":8,"translations":1059},"Multilingual SEO",[1060,1061,1064,1067],{"id":166,"languages_code":249,"label":1058},{"id":1062,"languages_code":252,"label":1063},89,"SEO multilingüe",{"id":1065,"languages_code":256,"label":1066},94,"Vícejazyčné SEO",{"id":1068,"languages_code":260,"label":1058},99,{"id":222,"status":4,"sort":222,"label":1070,"hidden":229,"created_on":271,"icon":1071,"translations":1073},"E-commerce",{"id":1072},"e782ed3f-d954-45ca-8b17-5bf5fe95f30a",[1074,1075,1078,1080],{"id":222,"languages_code":249,"label":1070},{"id":1076,"languages_code":252,"label":1077},132,"Comercio electrónico",{"id":1079,"languages_code":256,"label":1070},137,{"id":1081,"languages_code":260,"label":1070},142,{"id":29,"status":4,"sort":36,"label":1045,"hidden":229,"created_on":271,"icon":1083,"translations":1084},{"id":1047},[1085,1086,1087,1088],{"id":29,"languages_code":249,"label":1045},{"id":1051,"languages_code":252,"label":1045},{"id":1053,"languages_code":256,"label":1045},{"id":1055,"languages_code":260,"label":1045},{"id":16,"status":4,"sort":57,"label":1090,"hidden":229,"created_on":271,"icon":1091,"translations":1093},"Marketing tools",{"id":1092},"098fe6a4-dd2e-42d8-937e-2d8121e6e266",[1094,1095,1098,1101],{"id":16,"languages_code":249,"label":1090},{"id":1096,"languages_code":252,"label":1097},43,"Herramientas de marketing",{"id":1099,"languages_code":256,"label":1100},48,"Marketingové nástroje",{"id":1102,"languages_code":260,"label":1090},58,[1104],{"id":67,"status":4,"sort":8,"label":1105,"alternative_label":1106,"slug":1107,"description":1108,"documentation_link":1109,"loc_icon":1110,"is_official_plugin":230,"is_universal_plugin":229,"universal_plugin_vendor":8,"translations":1111},"Official Strapi Plugin","Official Plugin","official-strapi-plugin","Our developers maintain an official Strapi localization plugin. Start in a few clicks!","\u002Fdocs\u002Fstrapi","localazy-box",[1112,1113,1116,1117,1120],{"id":67,"languages_code":249,"label":1105,"description":1108,"slug":1107},{"id":1096,"languages_code":252,"label":1114,"description":1115,"slug":8},"Complemento Oficial de Strapi","Nuestros desarrolladores mantienen un complemento oficial de localización de Strapi. ¡Empiece en unos pocos clics!",{"id":275,"languages_code":260,"label":1105,"description":1108,"slug":1107},{"id":701,"languages_code":256,"label":1118,"description":1119,"slug":8},"Oficiál Plugin Strapi","Naši vývojáři udržují a neustále vylepšují oficiální lokalizační plugin Strapi. Začněte několika kliknutími!",{"id":1062,"languages_code":323,"label":1121,"description":1122,"slug":8},"Offizielles Strapi-Plugin","Unsere Entwickler pflegen ein offizielles Strapi-Lokalisierungs-Plugin. Starten Sie mit ein paar Klicks!",[],{"id":67,"status":4,"sort":8,"label":1105,"alternative_label":1106,"slug":1107,"description":1108,"documentation_link":1109,"loc_icon":1110,"is_official_plugin":230,"is_universal_plugin":229,"universal_plugin_vendor":8,"translations":1125},[1126,1127,1128,1129,1130],{"id":67,"languages_code":249,"label":1105,"description":1108,"slug":1107},{"id":1096,"languages_code":252,"label":1114,"description":1115,"slug":8},{"id":275,"languages_code":260,"label":1105,"description":1108,"slug":1107},{"id":701,"languages_code":256,"label":1118,"description":1119,"slug":8},{"id":1062,"languages_code":323,"label":1121,"description":1122,"slug":8},[1132],{"id":358,"status":4,"created_on":1133,"sort":8,"slug":1034,"label":1033,"on_faq_index":8},"2022-06-16T09:24:13.000Z",[1135],{"languages_code":249,"name":1033,"slug":1034,"description":1035,"support_type":1038,"meta_title":8,"meta_description":8,"marketing_subtitle":1038,"tile_subtitle":1038,"tile_description":1039,"id":1030,"platforms_id":1030,"docs_link":1036},{"id":278,"status":4,"created_on":581,"modified_on":1137,"name":1138,"slug":1139,"description":8,"docs_link":1140,"priority":8,"has_sdk":229,"sort":364,"highlighted":229,"in_menu":230,"changefreq":8,"support_type":1141,"show_in_spa":230,"is_file_format":229,"meta_title":8,"meta_description":8,"featured_on_web":230,"marketing_subtitle":1142,"tile_subtitle":1143,"tile_description":1144,"is_enterprise":229,"is_popular":230,"primary_use_case":8,"hierarchy_handling":8,"best_for":8,"file_extension":8,"format_code_example":8,"format_to_extension":8,"upload_features":1145,"icon":1146,"meta_image":1148,"primary_tag":1150,"tags":1164,"integration_methods":1172,"recommended_methods":1187,"default_integration_method":1188,"faq_categories":1194,"translations":1195,"platforms_id":278},"2024-12-20T15:00:22.000Z","Figma","figma","\u002Fdocs\u002Fintegrations\u002Fquick-start-figma","plugin","Figma plugin","Localization plugin","Quickly translate your Figma designs and seamlessly reuse the translations during the development of your project.",[],{"id":1147},"813745a4-a77d-4735-93b7-e0dd731b2304",{"id":1149},"7573fed6-8817-4cb4-84d2-be327e6c4891",{"id":22,"status":4,"sort":62,"created_on":271,"label":1151,"hidden":229,"icon":1152,"translations":1154},"Design tools",{"id":1153},"1053d863-b690-4fbd-aadf-dbf2ba282768",[1155,1156,1159,1162],{"id":22,"languages_code":249,"label":1151},{"id":1157,"languages_code":252,"label":1158},42,"Herramientas de diseño",{"id":1160,"languages_code":256,"label":1161},49,"Nástroje pro návrh",{"id":1163,"languages_code":260,"label":1151},57,[1165],{"id":22,"status":4,"sort":62,"label":1151,"hidden":229,"created_on":271,"icon":1166,"translations":1167},{"id":1153},[1168,1169,1170,1171],{"id":22,"languages_code":249,"label":1151},{"id":1157,"languages_code":252,"label":1158},{"id":1160,"languages_code":256,"label":1161},{"id":1163,"languages_code":260,"label":1151},[1173],{"id":62,"status":4,"sort":8,"label":1106,"alternative_label":1106,"slug":1174,"description":1175,"documentation_link":152,"loc_icon":1110,"is_official_plugin":230,"is_universal_plugin":229,"universal_plugin_vendor":8,"translations":1176},"official-plugin","Our developers maintain an official plugin for this integration. Start in a few clicks!",[1177,1178,1182,1184],{"id":62,"languages_code":249,"label":1106,"description":1175,"slug":1174},{"id":1179,"languages_code":252,"label":1180,"description":1181,"slug":8},23,"Plugin Oficial","Nuestros desarrolladores mantienen un plugin oficial para esta integración. ¡Empiece con unos pocos clics!",{"id":1183,"languages_code":260,"label":1106,"description":1175,"slug":1174},29,{"id":666,"languages_code":256,"label":1185,"description":1186,"slug":8},"Oficiální Plugin","Naši vývojáři udržují a neustále vylepšují oficiální plugin pro tuto integraci. Začněte několika kliknutími!",[],{"id":62,"status":4,"sort":8,"label":1106,"alternative_label":1106,"slug":1174,"description":1175,"documentation_link":152,"loc_icon":1110,"is_official_plugin":230,"is_universal_plugin":229,"universal_plugin_vendor":8,"translations":1189},[1190,1191,1192,1193],{"id":62,"languages_code":249,"label":1106,"description":1175,"slug":1174},{"id":1179,"languages_code":252,"label":1180,"description":1181,"slug":8},{"id":1183,"languages_code":260,"label":1106,"description":1175,"slug":1174},{"id":666,"languages_code":256,"label":1185,"description":1186,"slug":8},[],[1196],{"languages_code":249,"name":1138,"slug":1139,"description":8,"support_type":1141,"meta_title":8,"meta_description":8,"marketing_subtitle":1142,"tile_subtitle":1143,"tile_description":1144,"id":278,"platforms_id":278,"docs_link":1140},[1198,1379,1589,1690,1809,1811],{"id":16,"name":1199,"url":8,"url_text":8,"status":4,"groups":1200},"Solutions",[1201,1210,1277,1309],{"navigation_items_group_id":1202},{"id":22,"sort":50,"status":4,"name":1203,"render_show_all_url":229,"show_all_url_position":1204,"show_favorite_icon":230,"show_all_url":8,"represent_as_tile":229,"items":1205},"Featured Article","top",[1206],{"collection":1207,"item":1208},"blog_post_navigation_item_type",{"id":107,"status":4,"sort":8,"show_author_img":230,"blog_post_tag":1209,"description":8},"nav",{"navigation_items_group_id":1211},{"id":50,"sort":7,"status":4,"name":1212,"render_show_all_url":229,"show_all_url_position":1204,"show_favorite_icon":229,"show_all_url":1213,"represent_as_tile":230,"items":1214},"Your Role","\u002Froles",[1215,1227,1237,1247,1257,1267],{"collection":1216,"item":1217},"relation_navigation_item_type",{"id":7,"status":4,"sort":8,"name":1218,"item":1219},"CMO",[1220],{"collection":1221,"item":1222},"personas",{"id":7,"status":4,"sort":8,"slug":1223,"icon":1224},"chief-marketing-officers",{"id":1225,"title":1226},"526097d8-176f-48e5-83d3-2fc4d77061f9","La Mail Bulk",{"collection":1216,"item":1228},{"id":22,"status":4,"sort":8,"name":1229,"item":1230},"CTO",[1231],{"collection":1221,"item":1232},{"id":107,"status":4,"sort":8,"slug":1233,"icon":1234},"chief-technical-officers",{"id":1235,"title":1236},"f808fdf0-c78b-4294-ba59-fe25f46fe825","La Mechanic",{"collection":1216,"item":1238},{"id":174,"status":4,"sort":8,"name":1239,"item":1240},"Product Manager",[1241],{"collection":1221,"item":1242},{"id":166,"status":4,"sort":8,"slug":1243,"icon":1244},"product-managers",{"id":1245,"title":1246},"ea39586a-21fc-4b34-ba87-496028e5198f","La Worker",{"collection":1216,"item":1248},{"id":358,"status":4,"sort":8,"name":1249,"item":1250},"Translator",[1251],{"collection":1221,"item":1252},{"id":174,"status":4,"sort":8,"slug":1253,"icon":1254},"professional-translators",{"id":1255,"title":1256},"07945171-d51d-4ca8-96c0-21cde9db258f","La Chat",{"collection":1216,"item":1258},{"id":336,"status":4,"sort":8,"name":1259,"item":1260},"Developer",[1261],{"collection":1221,"item":1262},{"id":526,"status":4,"sort":8,"slug":1263,"icon":1264},"software-developers",{"id":1265,"title":1266},"1806e46d-c551-4845-bf42-4407344d229e","La Terminal",{"collection":1216,"item":1268},{"id":947,"status":4,"sort":8,"name":1269,"item":1270},"Localization Manager",[1271],{"collection":1221,"item":1272},{"id":57,"status":4,"sort":8,"slug":1273,"icon":1274},"localization-managers",{"id":1275,"title":1276},"dac69bd1-bf5d-41d0-87d4-dd13e314698a","La Language",{"navigation_items_group_id":1278},{"id":72,"sort":22,"status":4,"name":1279,"render_show_all_url":229,"show_all_url_position":1280,"show_favorite_icon":229,"show_all_url":8,"represent_as_tile":229,"items":1281},"Use cases","bottom",[1282,1287,1291,1296,1300,1305],{"collection":1283,"item":1284},"simple_link_navigation_item_type",{"id":853,"status":4,"sort":8,"url":1285,"url_text":1286,"show_favorite_icon":229},"https:\u002F\u002Flocalazy.com\u002Fuse-cases\u002Fsoftware-localization","Software localization",{"collection":1283,"item":1288},{"id":941,"status":4,"sort":8,"url":1289,"url_text":1290,"show_favorite_icon":229},"https:\u002F\u002Flocalazy.com\u002Fuse-cases\u002Fmobile-app-localization","Mobile app localization",{"collection":1283,"item":1292},{"id":1293,"status":4,"sort":8,"url":1294,"url_text":1295,"show_favorite_icon":229},25,"https:\u002F\u002Flocalazy.com\u002Fuse-cases\u002Fwebsite-localization","Website localization",{"collection":1283,"item":1297},{"id":947,"status":4,"sort":8,"url":1298,"url_text":1299,"show_favorite_icon":229},"https:\u002F\u002Flocalazy.com\u002Fuse-cases\u002Fdesign-localization","Design localization",{"collection":1283,"item":1301},{"id":1302,"status":4,"sort":8,"url":1303,"url_text":1304,"show_favorite_icon":229},28,"https:\u002F\u002Flocalazy.com\u002Fuse-cases\u002Fgame-localization","Game localization",{"collection":1283,"item":1306},{"id":1183,"status":4,"sort":8,"url":1307,"url_text":1308,"show_favorite_icon":229},"https:\u002F\u002Flocalazy.com\u002Fuse-cases\u002Fhelp-and-docs-localization","Help & docs localization",{"navigation_items_group_id":1310},{"id":67,"sort":16,"status":4,"name":1311,"render_show_all_url":229,"show_all_url_position":1280,"show_favorite_icon":229,"show_all_url":8,"represent_as_tile":229,"items":1312},"Industry",[1313,1323,1333,1342,1352,1361,1372],{"collection":1216,"item":1314},{"id":1179,"status":4,"sort":8,"name":1315,"item":1316},"Digital Agencies",[1317],{"collection":1221,"item":1318},{"id":62,"status":4,"sort":8,"slug":1319,"icon":1320},"digital-agencies",{"id":1321,"title":1322},"547f5619-b21d-4b29-86f1-8b2200313cde","La Digi Agency",{"collection":1216,"item":1324},{"id":305,"status":4,"sort":8,"name":1325,"item":1326},"Startups & SaaS",[1327],{"collection":1221,"item":1328},{"id":16,"status":4,"sort":8,"slug":1329,"icon":1330},"startups",{"id":1331,"title":1332},"da1516e2-4afc-40a2-bcbf-a8161e2d610d","La Saa S",{"collection":1216,"item":1334},{"id":16,"status":4,"sort":8,"name":1070,"item":1335},[1336],{"collection":1221,"item":1337},{"id":50,"status":4,"sort":8,"slug":1338,"icon":1339},"e-commerce",{"id":1340,"title":1341},"a3d09cd2-054f-4bb5-a0a2-d3d207db65df","La Ecommerce",{"collection":1216,"item":1343},{"id":170,"status":4,"sort":8,"name":1344,"item":1345},"FinTech Platforms",[1346],{"collection":1221,"item":1347},{"id":947,"status":4,"sort":8,"slug":1348,"icon":1349},"fintech",{"id":1350,"title":1351},"147339ba-07d1-4e5e-baad-23d27e60c919","La Money",{"collection":1216,"item":1353},{"id":853,"status":4,"sort":8,"name":1354,"item":1355},"Translation Agencies",[1356],{"collection":1221,"item":1357},{"id":853,"status":4,"sort":8,"slug":1358,"icon":1359},"translation-agencies",{"id":1360,"title":1276},"15d6fe33-2af8-4d6e-933d-5caa64394511",{"collection":1216,"item":1362},{"id":1363,"status":4,"sort":8,"name":1364,"item":1365},22,"Travel & Tourism",[1366],{"collection":1221,"item":1367},{"id":22,"status":4,"sort":8,"slug":1368,"icon":1369},"tourism",{"id":1370,"title":1371},"23a785e8-0ae5-4c4b-8452-aab1b58182a6","La Travel",{"collection":1216,"item":1373},{"id":1293,"status":4,"sort":8,"name":1374,"item":1375},"Nonprofit Causes",[1376],{"collection":1221,"item":1377},{"id":1302,"status":4,"sort":8,"slug":1378,"icon":8},"nonprofit",{"id":50,"name":1380,"url":8,"url_text":8,"status":4,"groups":1381},"Features",[1382,1441,1492,1538],{"navigation_items_group_id":1383},{"id":36,"sort":57,"status":4,"name":1384,"render_show_all_url":229,"show_all_url_position":1204,"show_favorite_icon":229,"show_all_url":8,"represent_as_tile":229,"items":1385},"Localization",[1386,1394,1402,1409,1416,1420,1427,1434],{"collection":1216,"item":1387},{"id":696,"status":4,"sort":8,"name":1388,"item":1389},"Localization services",[1390],{"collection":1391,"item":1392},"products",{"id":72,"status":4,"slug":1393},"continuous-localization-team",{"collection":1216,"item":1395},{"id":251,"status":4,"sort":8,"name":1396,"item":1397},"Translation management",[1398],{"collection":1399,"item":1400},"term_landing_page",{"id":1183,"status":4,"slug":1401},"translation-management-system",{"collection":1216,"item":1403},{"id":362,"status":4,"sort":8,"name":1404,"item":1405},"Context Screenshots",[1406],{"collection":1391,"item":1407},{"id":43,"status":4,"slug":1408},"context-screenshots-ocr",{"collection":1216,"item":1410},{"id":340,"status":4,"sort":8,"name":1411,"item":1412},"Translation Glossary",[1413],{"collection":1391,"item":1414},{"id":162,"status":4,"slug":1415},"glossary",{"collection":1283,"item":1417},{"id":107,"status":4,"sort":8,"url":1418,"url_text":1419,"show_favorite_icon":229},"\u002Fdocs\u002Fgeneral\u002Freviewing-translations","Quality control",{"collection":1216,"item":1421},{"id":878,"status":4,"sort":8,"name":1422,"item":1423},"Connected Projects",[1424],{"collection":1391,"item":1425},{"id":7,"status":4,"slug":1426},"connected-projects",{"collection":1216,"item":1428},{"id":314,"status":4,"sort":8,"name":1429,"item":1430},"Plural handling",[1431],{"collection":1391,"item":1432},{"id":527,"status":4,"slug":1433},"plurals",{"collection":1216,"item":1435},{"id":318,"status":4,"sort":8,"name":1436,"item":1437},"Style guides",[1438],{"collection":1391,"item":1439},{"id":336,"status":4,"slug":1440},"style-guide",{"navigation_items_group_id":1442},{"id":29,"sort":62,"status":4,"name":1443,"render_show_all_url":229,"show_all_url_position":1204,"show_favorite_icon":229,"show_all_url":8,"represent_as_tile":229,"items":1444},"Translation",[1445,1452,1459,1463,1470,1477,1485],{"collection":1216,"item":1446},{"id":751,"status":4,"sort":8,"name":1447,"item":1448},"Professional translations",[1449],{"collection":1399,"item":1450},{"id":526,"status":4,"slug":1451},"professional-translation-services",{"collection":1216,"item":1453},{"id":1099,"status":4,"sort":8,"name":1454,"item":1455},"Crowdsourced translations",[1456],{"collection":1391,"item":1457},{"id":67,"status":4,"slug":1458},"share-tm",{"collection":1283,"item":1460},{"id":50,"status":4,"sort":8,"url":1461,"url_text":1462,"show_favorite_icon":229},"\u002Fdocs\u002Fgeneral\u002Ftranslating-strings","Translation interface",{"collection":1216,"item":1464},{"id":364,"status":4,"sort":8,"name":1465,"item":1466},"Machine translations",[1467],{"collection":1391,"item":1468},{"id":50,"status":4,"slug":1469},"machine-translation",{"collection":1216,"item":1471},{"id":278,"status":4,"sort":8,"name":1472,"item":1473},"Localazy AI translation",[1474],{"collection":1391,"item":1475},{"id":1183,"status":4,"slug":1476},"localazy-ai",{"collection":1216,"item":1478},{"id":1479,"status":4,"sort":8,"name":1480,"item":1481},61,"Translation Memory",[1482],{"collection":1391,"item":1483},{"id":666,"status":4,"slug":1484},"translation-memory",{"collection":1216,"item":1486},{"id":603,"status":4,"sort":8,"name":1487,"item":1488},"Code & placeholders",[1489],{"collection":1391,"item":1490},{"id":526,"status":4,"slug":1491},"code-and-placeholders",{"navigation_items_group_id":1493},{"id":43,"sort":67,"status":4,"name":1494,"render_show_all_url":229,"show_all_url_position":1204,"show_favorite_icon":229,"show_all_url":8,"represent_as_tile":229,"items":1495},"Management",[1496,1500,1507,1515,1523,1530,1534],{"collection":1283,"item":1497},{"id":67,"status":4,"sort":8,"url":1498,"url_text":1499,"show_favorite_icon":229},"\u002Fdocs\u002Fgeneral\u002Fdefining-user-roles","User roles",{"collection":1216,"item":1501},{"id":309,"status":4,"sort":8,"name":1502,"item":1503},"Duplicity Linking",[1504],{"collection":1391,"item":1505},{"id":170,"status":4,"slug":1506},"duplicity-linking",{"collection":1216,"item":1508},{"id":1509,"status":4,"sort":8,"name":1510,"item":1511},52,"Language Permissions",[1512],{"collection":1391,"item":1513},{"id":99,"status":4,"slug":1514},"language-permissions",{"collection":1216,"item":1516},{"id":275,"status":1517,"sort":8,"name":1518,"item":1519},"draft","Automations",[1520],{"collection":1391,"item":1521},{"id":174,"status":4,"slug":1522},"automations",{"collection":1216,"item":1524},{"id":1102,"status":4,"sort":8,"name":1525,"item":1526},"Branching",[1527],{"collection":1391,"item":1528},{"id":947,"status":4,"slug":1529},"branching",{"collection":1283,"item":1531},{"id":99,"status":1517,"sort":8,"url":1532,"url_text":1533,"show_favorite_icon":229},"https:\u002F\u002Flocalazy.com\u002Fdocs\u002Fgeneral\u002Fsso-configuration","SSO",{"collection":1283,"item":1535},{"id":1363,"status":1517,"sort":8,"url":1536,"url_text":1537,"show_favorite_icon":229},"https:\u002F\u002Flocalazy.com\u002Fdocs\u002Fgeneral\u002Flanguage-statistics","Reporting",{"navigation_items_group_id":1539},{"id":150,"sort":72,"status":4,"name":1540,"render_show_all_url":229,"show_all_url_position":1204,"show_favorite_icon":229,"show_all_url":8,"represent_as_tile":229,"items":1541},"Development",[1542,1548,1554,1561,1568,1575,1582],{"collection":1216,"item":1543},{"id":1183,"status":4,"sort":8,"name":130,"item":1544},[1545],{"collection":1391,"item":1546},{"id":36,"status":4,"slug":1547},"translation-api",{"collection":1216,"item":1549},{"id":222,"status":4,"sort":8,"name":1550,"item":1551},"Localazy CLI",[1552],{"collection":1391,"item":1553},{"id":62,"status":4,"slug":352},{"collection":1216,"item":1555},{"id":527,"status":4,"sort":8,"name":1556,"item":1557},"Language CDN",[1558],{"collection":1391,"item":1559},{"id":107,"status":4,"slug":1560},"language-cdn",{"collection":1216,"item":1562},{"id":1302,"status":4,"sort":8,"name":1563,"item":1564},"Releases",[1565],{"collection":1391,"item":1566},{"id":57,"status":4,"slug":1567},"releases",{"collection":1216,"item":1569},{"id":1163,"status":1517,"sort":8,"name":1570,"item":1571},"Format Conversions",[1572],{"collection":1391,"item":1573},{"id":16,"status":4,"slug":1574},"format-conversions",{"collection":1216,"item":1576},{"id":259,"status":4,"sort":8,"name":1577,"item":1578},"Webhooks",[1579],{"collection":1391,"item":1580},{"id":580,"status":4,"slug":1581},"webhooks",{"collection":1216,"item":1583},{"id":701,"status":4,"sort":8,"name":1584,"item":1585},"Export Aliases",[1586],{"collection":1391,"item":1587},{"id":222,"status":4,"slug":1588},"export-aliases",{"id":107,"name":142,"url":8,"url_text":8,"status":4,"groups":1590},[1591,1680],{"navigation_items_group_id":1592},{"id":62,"sort":77,"status":4,"name":1593,"render_show_all_url":229,"show_all_url_position":1204,"show_favorite_icon":229,"show_all_url":8,"represent_as_tile":229,"items":1594},"Most popular",[1595],{"collection":1216,"item":1596},{"id":29,"status":4,"sort":8,"name":142,"item":1597},[1598,1606,1613,1617,1621,1627,1631,1638,1642,1646,1650,1654,1658,1665,1672],{"collection":1599,"item":1600},"platforms",{"id":57,"status":4,"sort":7,"slug":1601,"name":1602,"icon":1603},"android","Android",{"id":1604,"title":1605},"ff965add-53b0-44ad-b27c-ea4ef641d384","Ic Outline Android",{"collection":1599,"item":1607},{"id":62,"status":4,"sort":16,"slug":1608,"name":1609,"icon":1610},"ios","iOS",{"id":1611,"title":1612},"886285d7-816a-4430-b5a5-edfe307b238e","Ios",{"collection":1599,"item":1614},{"id":222,"status":4,"sort":22,"slug":226,"name":225,"icon":1615},{"id":239,"title":1616},"Logos React",{"collection":1599,"item":1618},{"id":170,"status":4,"sort":107,"slug":390,"name":389,"icon":1619},{"id":397,"title":1620},"Vue",{"collection":1599,"item":1622},{"id":158,"status":4,"sort":50,"slug":1623,"name":1624,"icon":1625},"angular","Angular",{"id":1626,"title":1624},"2a31a97a-48c5-4531-aa36-41c9dd0bdbef",{"collection":1599,"item":1628},{"id":7,"status":4,"sort":57,"slug":471,"name":470,"icon":1629},{"id":485,"title":1630},"Logos Flutter",{"collection":1599,"item":1632},{"id":22,"status":4,"sort":36,"slug":1633,"name":1634,"icon":1635},"typescript","TypeScript",{"id":1636,"title":1637},"8d1319b5-8a96-4199-8407-00add3418b1f","Logos Typescript Icon",{"collection":1599,"item":1639},{"id":580,"status":4,"sort":29,"slug":584,"name":583,"icon":1640},{"id":593,"title":1641},"Logos Javascript",{"collection":1599,"item":1643},{"id":29,"status":4,"sort":174,"slug":236,"name":673,"icon":1644},{"id":686,"title":1645},"Logos Json",{"collection":1599,"item":1647},{"id":99,"status":4,"sort":99,"slug":758,"name":757,"icon":1648},{"id":773,"title":1649},"Format",{"collection":1599,"item":1651},{"id":1030,"status":4,"sort":1037,"slug":1034,"name":1033,"icon":1652},{"id":1041,"title":1653},"Strapi Logo Purple",{"collection":1599,"item":1655},{"id":278,"status":4,"sort":364,"slug":1139,"name":1138,"icon":1656},{"id":1147,"title":1657},"Figma Icon",{"collection":1599,"item":1659},{"id":309,"status":4,"sort":340,"slug":1660,"name":1661,"icon":1662},"microsoft-excel","Microsoft Excel",{"id":1663,"title":1664},"7a175955-7b96-4561-939f-a0e1924faa40","Excel",{"collection":1599,"item":1666},{"id":320,"status":4,"sort":1479,"slug":1667,"name":1668,"icon":1669},"github-actions","GitHub Actions",{"id":1670,"title":1671},"da17554f-ac6d-443d-9bac-1f29645ec1c6","Github Icon",{"collection":1599,"item":1673},{"id":1674,"status":4,"sort":1675,"slug":1676,"name":1677,"icon":1678},97,999,"webflow","Webflow",{"id":1679,"title":1677},"ff43a386-52f8-499f-b77c-ab9a30f4a77e",{"navigation_items_group_id":1681},{"id":107,"sort":36,"status":4,"name":1682,"render_show_all_url":229,"show_all_url_position":1204,"show_favorite_icon":229,"show_all_url":8,"represent_as_tile":229,"items":1683},"Explore more",[1684],{"collection":1685,"item":1686},"text_link_navigation_item_type",{"id":7,"status":4,"sort":8,"text":1687,"url":1688,"url_text":1689},"Localazy is a technology-agnostic platform supporting 50+ frameworks, file formats & popular tools.","\u002Fintegrations","See all integrations",{"id":7,"name":146,"url":8,"url_text":8,"status":4,"groups":1691},[1692,1716,1722],{"navigation_items_group_id":1693},{"id":7,"sort":29,"status":4,"name":1694,"render_show_all_url":229,"show_all_url_position":1204,"show_favorite_icon":229,"show_all_url":8,"represent_as_tile":229,"items":1695},"Helpful Links",[1696,1699,1701,1705,1707,1710,1712],{"collection":1283,"item":1697},{"id":43,"status":4,"sort":8,"url":168,"url_text":1698,"show_favorite_icon":230},"Localazy Blog",{"collection":1283,"item":1700},{"id":150,"status":4,"sort":8,"url":152,"url_text":151,"show_favorite_icon":230},{"collection":1283,"item":1702},{"id":7,"status":4,"sort":8,"url":1703,"url_text":1704,"show_favorite_icon":229},"https:\u002F\u002Fdiscuss.localazy.com\u002F","Discussion Forum",{"collection":1283,"item":1706},{"id":29,"status":4,"sort":8,"url":160,"url_text":159,"show_favorite_icon":229},{"collection":1283,"item":1708},{"id":22,"status":4,"sort":8,"url":109,"url_text":1709,"show_favorite_icon":229},"Become a Partner",{"collection":1283,"item":1711},{"id":154,"status":4,"sort":8,"url":172,"url_text":171,"show_favorite_icon":229},{"collection":1283,"item":1713},{"id":162,"status":4,"sort":8,"url":1714,"url_text":1715,"show_favorite_icon":229},"\u002Ftags\u002Frelease-update","Release Updates",{"navigation_items_group_id":1717},{"id":16,"sort":150,"status":4,"name":1698,"render_show_all_url":230,"show_all_url_position":1204,"show_favorite_icon":229,"show_all_url":168,"represent_as_tile":229,"items":1718},[1719],{"collection":1207,"item":1720},{"id":22,"status":4,"sort":8,"show_author_img":229,"blog_post_tag":1721,"description":8},"[USE LATEST FEATURED]",{"navigation_items_group_id":1723},{"id":57,"sort":43,"status":4,"name":151,"render_show_all_url":230,"show_all_url_position":1204,"show_favorite_icon":229,"show_all_url":152,"represent_as_tile":229,"items":1724},[1725,1739,1750,1759,1770,1780,1791,1799],{"collection":1216,"item":1726},{"id":107,"status":4,"sort":8,"name":1727,"item":1728},"General",[1729],{"collection":1730,"item":1731},"docs_section",{"id":16,"status":4,"sort":7,"slug":1732,"name":1727,"icon":1733,"featured_icon":1736},"general",{"id":1734,"title":1735},"423101f1-308c-42f1-8dfe-53272019e7cb","Global",{"id":1737,"title":1738},"0f7ca4cb-dc3b-4f62-b476-132ed5c4931f","General Doc",{"collection":1216,"item":1740},{"id":50,"status":4,"sort":8,"name":351,"item":1741},[1742],{"collection":1730,"item":1743},{"id":22,"status":4,"sort":16,"slug":352,"name":351,"icon":1744,"featured_icon":1747},{"id":1745,"title":1746},"2f7a4573-8265-4d76-8d55-ce0cc79b8983","Cli",{"id":1748,"title":1749},"3f76ff7b-0e74-4046-bb03-4ca99c3b66d5","Doc Cat Cli",{"collection":1216,"item":1751},{"id":67,"status":4,"sort":8,"name":283,"item":1752},[1753],{"collection":1730,"item":1754},{"id":174,"status":4,"sort":22,"slug":284,"name":283,"icon":1755,"featured_icon":1756},{"id":1745,"title":1746},{"id":1757,"title":1758},"20866781-e69b-4e01-9456-05437487b75c","API Doc",{"collection":1216,"item":1760},{"id":255,"status":4,"sort":8,"name":1761,"item":1762},"CDN",[1763],{"collection":1730,"item":1764},{"id":941,"status":4,"sort":107,"slug":1765,"name":1761,"icon":1766,"featured_icon":1767},"cdn",{"id":1734,"title":1735},{"id":1768,"title":1769},"a8ee9cb7-4e02-41f0-b595-eb518c3085b6","Doc Cat Cdn",{"collection":1216,"item":1771},{"id":57,"status":4,"sort":8,"name":1602,"item":1772},[1773],{"collection":1730,"item":1774},{"id":7,"status":4,"sort":50,"slug":1601,"name":1602,"icon":1775,"featured_icon":1777},{"id":1776,"title":1602},"fb8329ae-0c0c-4fbc-bcdc-83f2eeda1039",{"id":1778,"title":1779},"f7c0dec8-5b42-4943-ab3a-e3665723ad6f","Doc Cat Android",{"collection":1216,"item":1781},{"id":62,"status":4,"sort":8,"name":1609,"item":1782},[1783],{"collection":1730,"item":1784},{"id":107,"status":4,"sort":57,"slug":1608,"name":1609,"icon":1785,"featured_icon":1788},{"id":1786,"title":1787},"289e136c-55df-4d51-847b-1782a2308ee4","Ios Blue",{"id":1789,"title":1790},"2968d3f0-14b5-4427-82e7-f1ea2de17846","Doc Cat Ios",{"collection":1216,"item":1792},{"id":72,"status":4,"sort":8,"name":1138,"item":1793},[1794],{"collection":1730,"item":1795},{"id":99,"status":4,"sort":62,"slug":1139,"name":1138,"icon":1796,"featured_icon":1797},{"id":1745,"title":1746},{"id":1798,"title":1138},"f5e66b5b-a439-47f6-af4a-6ad261de2e87",{"collection":1216,"item":1800},{"id":77,"status":4,"sort":8,"name":1033,"item":1801},[1802],{"collection":1730,"item":1803},{"id":1179,"status":4,"sort":67,"slug":1034,"name":1033,"icon":1804,"featured_icon":1806},{"id":1805,"title":1033},"3b4b03c7-e131-49e6-a014-c8c2c8a2751e",{"id":1807,"title":1808},"1dd05c76-e517-4aea-a3d8-49cfddb40056","Strapi Doc",{"id":22,"name":175,"url":176,"url_text":175,"status":4,"groups":1810},[],{"id":57,"name":93,"url":1812,"url_text":93,"status":4,"groups":1813},"\u002Fbook-demo",[],{"id":1815,"owner":1816,"created_by":8,"sort":8,"title":1821,"slug":1822,"modified_on":53,"created_on":1823,"pinned":229,"badge":8,"priority":1824,"main_image":1825,"status":4,"tags":1826,"dictionary":1834,"reading_time":1835,"excerpt":-1,"og_title":53,"og_description":53,"og_image":53},"69d78a237ab1270001eddabf",{"id":1817,"first_name":1818,"last_name":53,"slug":1819,"avatar":1820},"606c233dcf7b6a0001d1da93","Petr Hodný","petr-hodny","https:\u002F\u002Fghost.localazy.com\u002Fcontent\u002Fimages\u002F2023\u002F12\u002Fpetr.png","Translation API: Translate your content on the fly with Localazy AI!","translation-api-translate-your-content-on-the-fly-with-localazy-ai","2026-04-24T09:27:26.000+02:00","0.7","https:\u002F\u002Fghost.localazy.com\u002Fcontent\u002Fimages\u002F2026\u002F04\u002FLocalazy-AI-translation-api.png",[1827,1829,1832],{"id":278,"created_on":1828,"status":4,"label":283,"slug":284,"on_index_page":229},"2026-06-17 05:15:27",{"id":314,"created_on":1828,"status":4,"label":1830,"slug":1831,"on_index_page":230},"AI","ai",{"id":278,"created_on":1828,"status":4,"label":1384,"slug":1833,"on_index_page":230},"localization",[],0,{"id":1837,"owner":1838,"created_by":8,"sort":8,"title":1843,"slug":1844,"modified_on":53,"created_on":1845,"pinned":229,"badge":8,"priority":1824,"main_image":1846,"status":4,"tags":1847,"dictionary":1856,"reading_time":1835,"excerpt":-1,"og_title":53,"og_description":53,"og_image":53},"69e62c567ab1270001ede506",{"id":1839,"first_name":1840,"last_name":53,"slug":1841,"avatar":1842},"6824a22d63350c0001d5a5d4","Stephanie Casale","stephanie-casale","https:\u002F\u002Fghost.localazy.com\u002Fcontent\u002Fimages\u002F2026\u002F03\u002FStephanie.png","4 Arabic localization assumptions that fail in the real world, told by a Marine Corps linguist","4-arabic-localization-assumptions-that-fail-told-by-a-marine-corps-linguist","2026-06-09T17:41:36.000+02:00","https:\u002F\u002Fghost.localazy.com\u002Fcontent\u002Fimages\u002F2026\u002F06\u002FArabicLocal---Marine-Corps-5.png",[1848,1849,1853],{"id":278,"created_on":1828,"status":4,"label":1384,"slug":1833,"on_index_page":230},{"id":1850,"created_on":1828,"status":4,"label":1851,"slug":1852,"on_index_page":229},646,"Business Development","business-development",{"id":278,"created_on":1828,"status":4,"label":1854,"slug":1855,"on_index_page":229},"Locales","locales",[],{"post":1858,"relatedPosts":2036,"banner":2095},{"id":1859,"owner":1860,"created_by":8,"sort":8,"title":1865,"slug":1866,"modified_on":1867,"created_on":1868,"pinned":229,"badge":8,"priority":1824,"main_image":1869,"status":4,"tags":1870,"dictionary":1876,"reading_time":72,"excerpt":1954,"og_title":53,"og_description":53,"og_image":53,"content":1955,"meta_title":53,"meta_description":1956,"canonical":53,"cta":1957,"fullGhostPost":1964},"60a37fc7cf7b6a0001d1f1ae",{"id":1861,"first_name":1862,"last_name":53,"slug":1863,"avatar":1864},"6092822ecf7b6a0001d1daac","Ümit Duran","umit-duran","https:\u002F\u002Fghost.localazy.com\u002Fcontent\u002Fimages\u002F2023\u002F12\u002Fumit.png","How to localize your Flutter app with Localazy","flutter-localization-internationalization-localazy","2026-04-16T16:29:46.000+02:00","2020-11-23T13:22:08.000+01:00","https:\u002F\u002Fdirectus9.localazy.com\u002Fassets\u002Ff9e69bfd-8b43-49a5-971c-0d53d72db9f4",[1871,1872,1875],{"id":278,"created_on":1828,"status":4,"label":1384,"slug":1833,"on_index_page":230},{"id":278,"created_on":1828,"status":4,"label":1873,"slug":1874,"on_index_page":229},"HowTo","howto",{"id":278,"created_on":1828,"status":4,"label":470,"slug":471,"on_index_page":229},[1877,1893,1901,1906,1933,1944],{"id":16,"status":4,"owner":1878,"created_on":1879,"title":1384,"excerpt":1880,"content":1881,"slug":1833,"meta_title":8,"meta_description":8,"canonical":8,"related_terms":1882},"2bac48a8-b362-482f-b574-3bc71dca4c5b","2022-03-17T12:22:54.000Z","The process of preparing a product for a particular market.","Localization (l10n) is an essential part of the **[internationalization](https:\u002F\u002Flocalazy.com\u002Fdictionary\u002Finternationalization)** process. During localization, a product is prepared to be used in a particular destination, language and culture. Part of the localization process consists of changing locales such as currency, text orientation, or date format; and aligning the product with local, technical, or legislative requirements.\n\nA crucial part of localization is **[translation](https:\u002F\u002Flocalazy.com\u002Fdictionary\u002Ftranslation\u002F)**.\n\nLocalization is the process of adapting an internationalized product to meet the specific needs of a target market by translating it into the native language of that market. This includes translating the user interface, text, graphics, and other content to match the specific target locale.\n\nThe goal of localization is to provide an optimal user experience for the target market, as well as to make the product accessible to a wider audience. This process often involves more than just translation, and may include adjusting graphics, changing text length to accommodate different writing systems, and modifying the product's layout to fit cultural differences.\n\nInternationalization and localization are essential components of **[globalization](https:\u002F\u002Flocalazy.com\u002Fdictionary\u002Fglobalization)** (g11n) and play a key role in expanding a product's reach and success. It's important to ensure that any Creative Commons attribution is considered during localization to prevent copyright infringement.\n\nBy localizing products, companies can reach new markets and increase their customer base, ultimately helping their business grow and thrive. The number of letters in the term i18n and l10n refers to the number of characters between the first and last letters in the term, and is used as a shorthand for internationalization and localization, respectively.",[1883,1884,1886,1888,1890],{"id":16,"slug":1833},{"id":107,"slug":1885},"translation",{"id":72,"slug":1887},"gilt",{"id":305,"slug":1889},"translation-management-system-tms",{"id":1891,"slug":1892},79,"internationalization",{"id":22,"status":4,"owner":1878,"created_on":1879,"title":1894,"excerpt":1895,"content":1896,"slug":1897,"meta_title":8,"meta_description":8,"canonical":8,"related_terms":1898},"L10n","An abbreviation of Localization.","Read more about [Localization](\u002Fdictionary\u002Flocalization\u002F) (L10n).\n\n\"L10n\" stands for \"localization\". In the context of technology and digital products, localization means adapting a product to make it suitable and appealing to a specific local market or region. This can involve translating the product's language, changing cultural references, and even modifying the design or functionality to better suit local laws, customs, and user behavior. Essentially, localization is all about making a product feel like it was specifically made for a particular audience, rather than just being a general, one-size-fits-all product.","l10n",[1899,1900],{"id":16,"slug":1833},{"id":72,"slug":1887},{"id":170,"status":4,"owner":1878,"created_on":1902,"title":470,"excerpt":1903,"content":1904,"slug":471,"meta_title":8,"meta_description":8,"canonical":8,"related_terms":1905},"2022-03-17T12:22:55.000Z","A SDK made by Google for building natively compiled applications for mobile, web, and desktop from a single codebase.","Flutter is a software development kit by Google written in C, C++, and Dart. Flutter is used to make applications for the major mobile and desktop operating systems. It is open source, so the community can help contribute to adding new features.",[],{"id":1102,"status":4,"owner":1878,"created_on":1902,"title":1907,"excerpt":1908,"content":1909,"slug":1910,"meta_title":1907,"meta_description":53,"canonical":53,"related_terms":1911},"Continuous Integration (CI)","Continuous integration (CI) is a way for developers to work together by combining their changes often to avoid problems later.","Continuous integration (CI) is a practice in software development where developers frequently combine, or \"merge,\" their work into a shared codebase, usually several times a day. This helps catch mistakes early and keeps the code working smoothly. When developers don't merge their work often, it can lead to \"integration hell,\" where fixing code conflicts takes more time and effort than writing the code itself. CI makes teamwork easier for developers and keeps projects manageable and on track.","continuous-integration",[1912,1914,1916,1918,1921,1924,1927,1930],{"id":278,"slug":1913},"externalized-string",{"id":701,"slug":1915},"intellij-idea",{"id":603,"slug":1917},"integrated-development-kit-ide",{"id":1919,"slug":1920},203,"no-code",{"id":1922,"slug":1923},219,"platform-engineering",{"id":1925,"slug":1926},220,"internal-developer-portal",{"id":1928,"slug":1929},221,"developer-onboarding-experience",{"id":1931,"slug":1932},222,"gitops",{"id":603,"status":4,"owner":1878,"created_on":1934,"title":1935,"excerpt":1936,"content":1937,"slug":1917,"meta_title":53,"meta_description":53,"canonical":53,"related_terms":1938},"2026-05-12T07:09:23.000Z","Integrated Development Environment (IDE)","A software application that provides developers with a complete set of tools for writing, testing, and debugging code in one place.","An IDE (Integrated Development Environment) typically includes a source code editor, compiler or interpreter, build automation tools (such as Gradle for Android), a debugger, and a system for managing libraries and plugins.\n\nThese features let the IDEs streamline the software development process and reduce the need to switch between multiple standalone tools.\n\n### 🧩 What are the core features of IDEs?\n\n* **Source code editor**: Syntax highlighting, auto-completion, and error detection.\n* **Compiler\u002FInterpreter**: Translates code into executable programs.\n* **Build automation**: Tools like Gradle or Maven to manage builds and dependencies.\n* **Debugger**: Identifies and resolves code errors step by step.\n* **Plugin & library support**: Extend functionality for specific frameworks or languages.\n* **Version control integration**: Built-in Git support for collaboration.\n\n### ⚙️ Examples of IDEs\n\n* [**Android Studio**](https:\u002F\u002Flocalazy.com\u002Fdictionary\u002Fandroid-studio): The official IDE for Android development.\n* [**IntelliJ IDEA**](https:\u002F\u002Flocalazy.com\u002Fdictionary\u002Fintellij-idea): Popular for Java, Kotlin, and multi-language support.\n* [**NetBeans**](https:\u002F\u002Fwww.oracle.com\u002Ftools\u002Ftechnologies\u002Fnetbeans-ide.html): Open-source, focused on Java and PHP development.\n* [**Eclipse**](https:\u002F\u002Feclipseide.org\u002F): Widely used, extensible through plugins, especially in enterprise projects.\n\nPlacing the full toolkit in one environment allows IDEs to accelerate coding tasks, simplify project management, and raise code consistency.",[1939,1941,1943],{"id":1363,"slug":1940},"gradle",{"id":1293,"slug":1942},"android-studio",{"id":701,"slug":1915},{"id":1891,"status":4,"owner":1878,"created_on":1934,"title":1945,"excerpt":1946,"content":1947,"slug":1892,"meta_title":53,"meta_description":53,"canonical":53,"related_terms":1948},"Internationalization (i18n)","The process of making your software localizable.","Internationalization (i18n) is the process of preparing software, digital products, and content so they can be easily adapted for various languages, regions, and cultures without requiring extensive reengineering.\n\nThis foundational step ensures that a product can be efficiently localized to meet the needs of different global markets. To internationalize your software, you need to pay attention to technical requirements. The code structure and design has to be prepared to allow for [localization](https:\u002F\u002Flocalazy.com\u002Fdictionary\u002Flocalization).\n\nIt involves considering various linguistic and cultural factors during the initial design and development phases. This process should start, ideally, in the design phase. For example, you may want to have externalised strings so you can bring your strings to the translation management tool.\n\nEvery business looking to expand their reach and provide User Experiences (UX) across diverse markets needs to consider internationalization and then localization.\n\n## 🌐 Key points about internationalization (i18n): \n\n* Internationalization involves creating flexible and adaptable designs that accommodate various languages, scripts, and cultural norms.\n* By preparing content and software for localization, internationalization simplifies the process of translating and adapting products for specific markets.\n* This process includes using Unicode, supporting different character sets, and ensuring compatibility with various regional formats (dates, currencies, etc.).\n* Investing in internationalization upfront reduces the time and cost associated with localizing products for multiple markets.\n\nBy prioritizing internationalization, companies can create products that are more versatile and ready for global distribution, ensuring they meet the needs of international users effectively.",[1949,1950,1951,1953],{"id":16,"slug":1833},{"id":107,"slug":1885},{"id":50,"slug":1952},"globalization",{"id":72,"slug":1887},"Localization of a Flutter application can be challenging and tedious because you need to create local files for every language and fill them with content. In this article, I’ll show you how can you handle the localization problem, easily localization files easily with Localazy in your Flutter apps.","\u003C!--kg-card-begin: html-->\u003Ch2 id=\"how-to-localize-flutter-app-with-localazy\" id=\"how-to-localize-flutter-app-with-localazy\">How to localize Flutter app with Localazy \u003Ca class=\"markdownit-header-anchor\" href=\"#how-to-localize-flutter-app-with-localazy\">🔗\u003C\u002Fa>\u003C\u002Fh2>\n\u003Cp>\u003Cstrong>\u003Ca href=\"\u002Fdictionary\u002Flocalization\">Localization\u003C\u002Fa>\u003C\u002Fstrong> is the process of rendering the content of your app into other languages and customizing your app for each target market that you want to support.\u003C\u002Fp>\n\u003Ch2 id=\"benefits-of-localazy\" id=\"benefits-of-localazy\">Benefits Of Localazy \u003Ca class=\"markdownit-header-anchor\" href=\"#benefits-of-localazy\">🔗\u003C\u002Fa>\u003C\u002Fh2>\n\u003Ch3 id=\"save-money-on-translations\" id=\"save-money-on-translations\">Save money on translations \u003Ca class=\"markdownit-header-anchor\" href=\"#save-money-on-translations\">🔗\u003C\u002Fa>\u003C\u002Fh3>\n\u003Cp>Save up to 50% of translation costs thanks to \u003Cstrong>\u003Ca href=\"\u002Fdocs\u002Fgeneral\u002Fwhat-is-localazy-sharetm\">shared translations\u003C\u002Fa>\u003C\u002Fstrong>. Localize your app to 80+ languages for free.\u003C\u002Fp>\n\u003Ch4 id=\"what-is-localazy-sharetm\">What is Localazy ShareTM\u003C\u002Fh4>\n\u003Cp>\u003Ca href=\"\u002Fdictionary\u002Fsharetm\">ShareTM\u003C\u002Fa> is \u003Ca href=\"\u002Fdocs\u002Fgeneral\u002Fwhat-is-localazy-sharetm\">what makes Localazy unique\u003C\u002Fa> and different from other translation platforms.\nWe are developers; we share our code on Github, Gitlab, or in another place. We cooperate, share our knowledge and libraries. We have this in our DNA. It saves us time and money; it helps us to move forward faster and produce better software.\u003C\u002Fp>\n\u003Cp>Why don’t we share translations to make our apps better for the worldwide audience? Why we pay for translating the same words again and again? Does it make sense? It does not, and ShareTM is here to fix this issue.\u003C\u002Fp>\n\u003Cp>Upload your app to Localazy and instantly share your translations with other apps on the platform, and as a reward, get your app translated to more languages for free.\u003C\u002Fp>\n\u003Ch3 id=\"stay-assured-about-high-quality\" id=\"stay-assured-about-high-quality\">Stay assured about high quality \u003Ca class=\"markdownit-header-anchor\" href=\"#stay-assured-about-high-quality\">🔗\u003C\u002Fa>\u003C\u002Fh3>\n\u003Cp>Verify translations with the \u003Cstrong>\u003Ca href=\"https:\u002F\u002Flocalazy.com\u002Fdocs\u002Fgeneral\u002Funique-review-process-and-self-managed-translations\">pro-active review\u003C\u002Fa>\u003C\u002Fstrong> and use all tools for providing context to your translators for free.\u003C\u002Fp>\n\u003Ch3 id=\"keep-track-of-changes\" id=\"keep-track-of-changes\">Keep track of changes \u003Ca class=\"markdownit-header-anchor\" href=\"#keep-track-of-changes\">🔗\u003C\u002Fa>\u003C\u002Fh3>\n\u003Cp>While the review is a way to ensure translation quality in other translation platforms, Localazy is organized around it. But our review process is entirely different. It’s not just a set of filtering options to find strings that may be inaccurately translated.\u003C\u002Fp>\n\u003Cp>Our review process is a pro-active tool that helps you to verify translations and keep track of all changes that happened on Localazy while you spend your precious time developing your app and making it better.\nNo matter if you visit Localazy every day or once per month, you never get lost! The best recipe for a peaceful mind.\u003C\u002Fp>\n\u003Ch2 id=\"sign-up-and-create-an-app\" id=\"sign-up-and-create-an-app\">Sign Up and Create an App \u003Ca class=\"markdownit-header-anchor\" href=\"#sign-up-and-create-an-app\">🔗\u003C\u002Fa>\u003C\u002Fh2>\n\u003Cp>Firstly, you need to \u003Cstrong>\u003Ca href=\"https:\u002F\u002Flocalazy.com\u002Fregister\">sign up\u003C\u002Fa>\u003C\u002Fstrong> and create an app in Localazy. In this article, we’ll create a basic \u003Ca href=\"\u002Fflutter\">Flutter\u003C\u002Fa> app which is using multi-language support.\u003C\u002Fp>\n\u003Cp>\u003Cimg src=\"https:\u002F\u002Fdirectus9.localazy.com\u002Fassets\u002F7d1a207b-85f7-464e-859a-37775733bcac\" alt=\"Register page\">\u003C\u002Fp>\n\u003Cp>After you create a new account in Localazy, you will see a new page which name is \u003Cstrong>Create a New App\u003C\u002Fstrong>. We are giving a name as “flutter-localazy”.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>App Type\u003C\u002Fstrong> means, if you do it public, people can help to improve translation and if you choose private, only invited people can improve the translation.\u003C\u002Fp>\n\u003Cp>And we are choosing English as the source language.\u003C\u002Fp>\n\u003Cp>Also, we are using \u003Cstrong>\u003Ca href=\"https:\u002F\u002Flocalazy.com\u002Fdocs\u002Fgeneral\u002Fwhat-is-localazy-sharetm\">ShareTM\u003C\u002Fa>\u003C\u002Fstrong> feature. ShareTM is what makes Localazy unique and different from other translation platforms. Briefly, \u003Cstrong>ShareTM\u003C\u002Fstrong> is highly accurate translation memory. It allows using of community translations.\u003C\u002Fp>\n\u003Cp>\u003Cimg src=\"https:\u002F\u002Fdirectus9.localazy.com\u002Fassets\u002F32555683-699f-4092-8e25-adef903597b8\" alt=\"Create a new App\">\u003C\u002Fp>\n\u003Cp>After all these things we can create a new project. Then you will see a “\u003Cstrong>Select Your Integration\u003C\u002Fstrong>” page. You can integrate Localazy to all these platforms, we will choose \u003Cstrong>Flutter\u003C\u002Fstrong> for now.\u003C\u002Fp>\n\u003Cp>\u003Cimg src=\"https:\u002F\u002Fdirectus9.localazy.com\u002Fassets\u002F40b483a6-2568-4644-80ba-f2b94dc46d38\" alt=\"Select Your Integration\">\u003C\u002Fp>\n\u003Cp>Now, we need to install \u003Cstrong>\u003Ca href=\"https:\u002F\u002Flocalazy.com\u002Fdocs\u002Fcli\u002Finstallation\">Localazy CLI\u003C\u002Fa>\u003C\u002Fstrong> tool to manage the upload and download of phrases.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Installation\u003C\u002Fstrong>\nLocalazy CLI is available as a native app for all major platforms (Windows, Linux and macOS), Java’s JAR and Docker…\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Localazy CLI\u003C\u002Fstrong> is a command-line interface, and we can use it to upload files to the Localazy platform and download translations back to our app.\u003C\u002Fp>\n\u003Cp>Also, \u003Ca href=\"\u002Fblog\u002Flocalazy-cli-sofware-localization-tool-kotlin-github\">Localazy CLI\u003C\u002Fa> is available as a \u003Cstrong>native app for all major platforms\u003C\u002Fstrong> (Windows, Linux and macOS), Java’s JAR and Docker image.\u003C\u002Fp>\n\u003Cblockquote>\n\u003Cp>You need to install Localazy CLI inside project folder or update your path\u003C\u002Fp>\n\u003C\u002Fblockquote>\n\u003Ch2 id=\"set-up-flutter-project\" id=\"set-up-flutter-project\">Set Up Flutter Project \u003Ca class=\"markdownit-header-anchor\" href=\"#set-up-flutter-project\">🔗\u003C\u002Fa>\u003C\u002Fh2>\n\u003Cp>After \u003Cstrong>\u003Ca href=\"https:\u002F\u002Fflutter.dev\u002Fdocs\u002Fget-started\u002Finstall\">install Flutter\u003C\u002Fa>\u003C\u002Fstrong>, we create a new Flutter project.\u003C\u002Fp>\n\u003Cp>Use the \u003Ccode>flutter create\u003C\u002Fcode> the command to create a new project:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>$ flutter create flutter_localazy\n$ cd flutter_localazy\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>The command creates a Flutter project directory called \u003Ccode>flutter_localazy\u003C\u002Fcode> that contains a simple demo app that uses \u003Cstrong>\u003Ca href=\"https:\u002F\u002Fmaterial.io\u002Fguidelines\">Material Components\u003C\u002Fa>\u003C\u002Fstrong>.\u003C\u002Fp>\n\u003Cp>\u003Cimg src=\"https:\u002F\u002Fdirectus9.localazy.com\u002Fassets\u002Faac05215-3df7-4d01-9f9e-148a09e03af6\" alt=\"Demo App\">\u003C\u002Fp>\n\u003Cp>First step is to include required packages in \u003Ccode>pubspec.yaml\u003C\u002Fcode> file. For that just add the two packages name under the dependencies. It would look something like this.\u003C\u002Fp>\n\u003Cpre>\u003Ccode>dependencies:\n  flutter:\n    sdk: flutter\n  flutter_localizations:     \u002F\u002Fadd this line\n    sdk: flutter             \u002F\u002Fadd this line\n    \n  intl_translation: ^0.17.1  \u002F\u002Fadd this line\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>After you save this file, \u003Ca href=\"\u002Fdictionary\u002Fflutter\">Flutter\u003C\u002Fa> will automatically download and it will include the packages. You can now use it in your app anywhere simply by importing it. We’ll import it in the \u003Ccode>main.dart\u003C\u002Fcode> file first. Go to, your \u003Ccode>main.dart\u003C\u002Fcode> file and add import the package.\u003C\u002Fp>\n\u003Cpre>\u003Ccode>import 'package:flutter_localizations\u002Fflutter_localizations.dart';\nimport 'package:intl\u002Fintl.dart';\nvoid main() =&gt; runApp(MyApp());\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>The next step is to set up the Localization delegates in your \u003Ccode>main.dart\u003C\u002Fcode> file. For that, you need to specify the two delegates first.\u003C\u002Fp>\n\u003Cpre>\u003Ccode>Widget build(BuildContext context) {\n    return MaterialApp(\n      localizationsDelegates: [\n        GlobalMaterialLocalizations.delegate,\n        GlobalWidgetsLocalizations.delegate\n      ],\n      supportedLocales: [\n        const Locale('en', 'US'),\n        const Locale('de', 'DE')\n      ],\n      ...\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>\u003Ccode>GlobalMaterialLocalizations.delegate\u003C\u002Fcode> provides localized strings and other values for the Material Components library. \u003Ccode>GlobalWidgetsLocalizations.delegate\u003C\u002Fcode> defines the default text direction, either left to right or right to left, for the widgets library. As you can see here, we added two lists to our Material app \u003Ccode>localizationsDelegates\u003C\u002Fcode> &amp; \u003Ccode>supportedLocales\u003C\u002Fcode>. The \u003Ccode>supportedLocales\u003C\u002Fcode> parameter holds the list of languages that our app will support.\u003C\u002Fp>\n\u003Cp>Next step is to create an \u003Ccode>AppLocalization\u003C\u002Fcode> &amp; \u003Ccode>AppLocalizationDelegate\u003C\u002Fcode>. Classes in which we’ll be defining our keywords and their translations. We’ll also use it throughout the app and for manually switching the Locale if required. Therefore Isuggest you create this class in a separate folder in your lib directory. Mine looks like \u003Ccode>\u002Flib\u002Flocale\u002Fapp_localization.dart\u003C\u002Fcode> The AppLocalization class will only have two static methods for now. The \u003Ccode>load()\u003C\u002Fcode> &amp; \u003Ccode>of()\u003C\u002Fcode> method.\u003C\u002Fp>\n\u003Cpre>\u003Ccode>import 'package:flutter\u002Fmaterial.dart';\nimport 'package:intl\u002Fintl.dart';\n\nclass AppLocalization {\n  \n  static Future&lt;AppLocalization&gt; load(Locale locale) {\n    final String name = locale.countryCode.isEmpty ? locale.languageCode : locale.toString();\n    final String localeName = Intl.canonicalizedLocale(name);\n    return initializeMessages(localeName).then((_) {\n      Intl.defaultLocale = localeName;\n      return AppLocalization();\n    });\n  }\n\n  static AppLocalization of(BuildContext context) {\n    return Localizations.of&lt;AppLocalization&gt;(context, AppLocalization);\n  }\n  \n  \u002F\u002F list of locales\nString get heyWorld {\n  return Intl.*message*(\n    'You have pushed the button this many times:',\n    name: 'heyWorld',\n    desc: 'Simple word for greeting ',\n  );\n}\n}\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>\u003Cem>PS: Note that your \u003Ccode>load()\u003C\u002Fcode> might be returning an error on the line: \u003Ccode>return initializeMessages()\u003C\u002Fcode> ignore this for now, we’ll remove it in a while.\u003C\u002Fem>\u003C\u002Fp>\n\u003Cp>\u003Ccode>load()\u003C\u002Fcode> : It will load\u002Fset all the Localized values. You can also call this method if you wish to switch the locale of app manually.\u003C\u002Fp>\n\u003Cp>\u003Ccode>of()\u003C\u002Fcode> : This method will return the instance of current Localization of the app. Somewhat like a factory method.\u003C\u002Fp>\n\u003Cp>\u003Ccode>get heyWorld\u003C\u002Fcode>: This getter returns the value of the heyWorld. This property is what will be using to get its translations based on locale of the app. For demo purpose I have only set 1 String as for now but you can as many as you can.\u003C\u002Fp>\n\u003Cp>Now create an \u003Ccode>AppLocalizationDelegate\u003C\u002Fcode> for the \u003Ccode>AppLocalization\u003C\u002Fcode> class.\u003C\u002Fp>\n\u003Cpre>\u003Ccode>class AppLocalizationDelegate extends LocalizationsDelegate&lt;AppLocalization&gt;{\n  final Locale overriddenLocale;\n\n  const AppLocalizationDelegate(this.overriddenLocale);\n\n  @override\n  bool isSupported(Locale locale) =&gt; ['en', 'de'].contains(locale.languageCode);\n\n  @override\n  Future&lt;AppLocalization&gt; load(Locale locale) =&gt; AppLocalization.load(locale);\n\n  @override\n  bool shouldReload(LocalizationsDelegate&lt;AppLocalization&gt; old) =&gt; false; \n}\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>As you can see this Delegate class is extended from main LocalizationsDelegate and we have pointed it to AppLocalization via \u003CAppLocalization> add the above required methods and take a look at the isSupported() method:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>@override\nbool isSupported(Locale locale)=&gt;['en','de'].contains(locale.languageCode);\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>This method will be called to check if the language is supported or not, based on the Locale instance provided. Make sure to you have your supported languages inserted in this list here such as: \u003Ccode>[‘en’, ‘de’ ….]\u003C\u002Fcode>\u003C\u002Fp>\n\u003Cp>Now create a \u003Ca href=\"\u002Fdictionary\u002Fl10n\">l10n\u003C\u002Fa> directory in your lib folder. This directory will hold all the translated values as per your Locale. Your final directory structure will look somewhat like this:\u003C\u002Fp>\n\u003Cp>\u003Cimg src=\"https:\u002F\u002Fdirectus9.localazy.com\u002Fassets\u002Fcf774415-bcd4-4b53-b8e8-7cb2b272b7fd\" alt=\"\">\u003C\u002Fp>\n\u003Cp>In your Terminal and run the following command to create the arb files:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>$ flutter pub run intl_translation:extract_to_arb --output-dir=lib\u002Fl10n lib\u002Flocale\u002Fapp_localization.dart\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>NOTE: The Dart intl package only creates one template file of .arb from your Localization class and names it \u003Ccode>intl_messages.arb\u003C\u002Fcode>. From here, you now have to manually create other resource files with convention \u003Ccode>intl_[LANGUAGE_CODE].arb\u003C\u002Fcode> and copy the content of \u003Ccode>intl_messages.arb\u003C\u002Fcode> directly with updated the values.\u003C\u002Fp>\n\u003Cp>Eg: For English format you will create file \u003Ccode>intl_en.arb\u003C\u002Fcode> and the content copied from \u003Ccode>intl_messages.arb\u003C\u002Fcode> :\u003C\u002Fp>\n\u003Cpre>\u003Ccode>{\n  &quot;@@last_modified&quot;: &quot;2020-11-07T23:41:23.983052&quot;,\n  &quot;heyWorld&quot;: &quot;You have pushed the button this many times:&quot;,\n  &quot;@heyWorld&quot;: {\n    &quot;description&quot;: &quot;Simple word for greeting &quot;,\n    &quot;type&quot;: &quot;text&quot;,\n    &quot;placeholders&quot;: {}\n  }\n}\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Now let’s create one in the German language. So this will be:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>{\n  &quot;@@last_modified&quot;: &quot;2019-06-27T23:38:38.868199&quot;,\n  &quot;heyWorld&quot;: &quot;Hey Welt&quot;,\n  &quot;@heyWorld&quot;: {\n    &quot;description&quot;: &quot;Einfaches Wort zur Begrüßung&quot;,\n    &quot;type&quot;: &quot;text&quot;,\n    &quot;placeholders&quot;: {}\n  }\n}\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Once you created these files in your l10n folder. Now you need to run another command to create the corresponding \u003Ccode>.dart\u003C\u002Fcode> files that will be used to manage these resource files. For that run the following command:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>$ flutter pub run intl_translation:generate_from_arb --output-dir=lib\u002Fl10n --no-use-deferred-loading lib\u002Fl10n\u002Fintl_messages.arb lib\u002Fl10n\u002Fintl_de.arb lib\u002Fl10n\u002Fintl_en.arb lib\u002Flocale\u002Fapp_localization.dart\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>NOTE that i have only 2 files \u003Ccode>intl_en.arb\u003C\u002Fcode> &amp; \u003Ccode>intl_de.arb\u003C\u002Fcode> therefore I am only passing those in command. But if you have more or less, you need to pass them all.\u003C\u002Fp>\n\u003Cp>\u003Cimg src=\"https:\u002F\u002Fdirectus9.localazy.com\u002Fassets\u002Fb8451b01-1a95-406e-9f8b-9132035676bc\" alt=\"\">\u003C\u002Fp>\n\u003Cp>Now import the \u003Ccode>messages_all.dart\u003C\u002Fcode> file in your \u003Ccode>AppLocalization\u003C\u002Fcode> Class and here’s a final look at your AppLocalization Class:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>class AppLocalization {\n  \n  static Future&lt;AppLocalization&gt; load(Locale locale) {\n    final String name = locale.countryCode.isEmpty ? locale.languageCode : locale.toString();\n    final String localeName = Intl.canonicalizedLocale(name);\n    return initializeMessages(localeName).then((_) {\n      Intl.defaultLocale = localeName;\n      return AppLocalization();\n    });\n  }\n\n  static AppLocalization of(BuildContext context) {\n    return Localizations.of&lt;AppLocalization&gt;(context, AppLocalization);\n  }\n\n  String get heyWorld {\n    return Intl.message(\n      'Hey World',\n      name: 'heyWorld',\n      desc: 'Simpel word for greeting ',\n    );\n  }\n}\n\nclass AppLocalizationDelegate extends LocalizationsDelegate&lt;AppLocalization&gt; {\n  final Locale overriddenLocale;\n\n  const AppLocalizationDelegate(this.overriddenLocale);\n\n  @override\n  bool isSupported(Locale locale) =&gt; ['en', 'es', 'de'].contains(locale.languageCode);\n\n  @override\n  Future&lt;AppLocalization&gt; load(Locale locale) =&gt; AppLocalization.load(locale);\n  \n  @override\n  bool shouldReload(LocalizationsDelegate&lt;AppLocalization&gt; old) =&gt; false;\n}\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>\u003Cem>The error is gone! right. \u003Cimg class=\"emoji\" draggable=\"false\" alt=\"😉\" src=\"https:\u002F\u002Ftwemoji.maxcdn.com\u002Fv\u002F13.0.2\u002F72x72\u002F1f609.png\"\u002F>\u003C\u002Fem> Now you’re just one step from using the language values based on your current localization settings. To use language specific text in your app, you’ll simply need to follow the two steps:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\n\u003Cp>import \u003Ccode>AppLocalization\u003C\u002Fcode> class where you want to use the text\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Call localized value of text via: \u003Ccode>AppLocalizations.of(context).heyWorld\u003C\u002Fcode>\u003C\u002Fp>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Now what is happening here is that if you call the above method, it calls the getter of the \u003Ccode>AppLocalization\u003C\u002Fcode> class and returns its value based on the Locale of the context.\u003C\u002Fp>\n\u003Cp>If the context is \u003Ccode>en\u003C\u002Fcode> (i.e. english) it will return the value from \u003Ccode>intl_en.arb\u003C\u002Fcode> and when the Locale changes to de ( i.e. german) it will return the value from \u003Ccode>intl_de.arb\u003C\u002Fcode>. And since we’re using the same class getter for both languages ie \u003Ccode>(heyWorld)\u003C\u002Fcode> therefore we don’t need to worry about that either. Flutter will take care of that. But wait, here comes the best part.\u003C\u002Fp>\n\u003Ch2 id=\"integrate-localazy-for-strings-management\" id=\"integrate-localazy-for-strings-management\">Integrate Localazy for strings management \u003Ca class=\"markdownit-header-anchor\" href=\"#integrate-localazy-for-strings-management\">🔗\u003C\u002Fa>\u003C\u002Fh2>\n\u003Cp>Now it’s time to add the integration with Localazy. Create localazy.json in the \u003Cstrong>root folder\u003C\u002Fstrong> and paste the following configuration. Use the \u003Cstrong>write\u003C\u002Fstrong> and \u003Cstrong>read\u003C\u002Fstrong> keys from the step 2 of the \u003Cstrong>integration guide page\u003C\u002Fstrong>.\u003C\u002Fp>\n\u003Cp>In your \u003Ccode>main.dart\u003C\u002Fcode> file will be like this:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>void main() =&gt; runApp(MyApp());\n\nclass MyApp extends StatefulWidget {\n  @override\n  State&lt;StatefulWidget&gt; createState() =&gt; _MyAppState();\n}\n\nclass _MyAppState extends State&lt;MyApp&gt; {\n  \u002F\u002F This widget is the root of your application.\n  AppLocalizationDelegate _localeOverrideDelegate =\n  AppLocalizationDelegate(Locale('en', 'US'));\n\n  @override\n  Widget build(BuildContext context) {\n    return new MaterialApp(localizationsDelegates: [\n      GlobalMaterialLocalizations.*delegate*,\n      GlobalWidgetsLocalizations.*delegate*,\n      _localeOverrideDelegate\n    ], supportedLocales: [\n      const Locale('en', 'US'),\n      const Locale('de', 'DE')\n    ],\n        home: MyHomePage());\n  }\n}\n\nclass MyHomePage extends StatefulWidget {\n  @override\n  State&lt;StatefulWidget&gt; createState() =&gt; _MyHomePageState();\n}\n\nclass _MyHomePageState extends State&lt;MyHomePage&gt; {\n\n  int _counter = 0;\n\n  void _incrementCounter() {\n    setState(() {\n      _counter++;\n    });\n  }\n\n  @override\n  Widget build(BuildContext context) {\n    return Scaffold(\n      appBar: AppBar(\n         title: Text(&quot;Flutter Demo Localazy&quot;),\n      ),\n      body: Center(\n        child: Column(\n          mainAxisAlignment: MainAxisAlignment.center,\n          children: &lt;Widget&gt;[\n            Text(\n              AppLocalization.*of*(context).heyWorld,\n            ),\n            Text(\n              '$_counter',\n              style: Theme.*of*(context).textTheme.headline4,\n            ),\n          ],\n        ),\n      ),\n      floatingActionButton: FloatingActionButton(\n        onPressed: _incrementCounter,\n        tooltip: 'Increment',\n        child: Icon(Icons.*add*),\n      ),\n    );\n  }\n}\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch2 id=\"implement-localization-to-flutter-app\" id=\"implement-localization-to-flutter-app\">Implement Localization to Flutter App \u003Ca class=\"markdownit-header-anchor\" href=\"#implement-localization-to-flutter-app\">🔗\u003C\u002Fa>\u003C\u002Fh2>\n\u003Cp>We created our localization files easily, now we will add localazy to our Flutter app according to documentation.\u003C\u002Fp>\n\u003Cpre>\u003Ccode>{\n    &quot;writeKey&quot;: &quot;your-write-key&quot;,\n    &quot;readKey&quot;: &quot;your-read-key&quot;,\n\n    &quot;upload&quot;: {\n      &quot;type&quot;: &quot;arb&quot;,\n      &quot;files&quot;: &quot;lib\u002Fl10n\u002Fintl_en.arb&quot;\n    },\n\n    &quot;download&quot;: {\n      &quot;files&quot;: &quot;lib\u002Fl10n\u002Fintl_${lang}.arb&quot;\n    }\n\n}\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>And the project structure will be like this.\u003C\u002Fp>\n\u003Cp>\u003Cimg src=\"https:\u002F\u002Fdirectus9.localazy.com\u002Fassets\u002Fbea2c146-cdde-4156-9526-868869eabdd9\" alt=\"\">\u003C\u002Fp>\n\u003Cp>Since we’ve set English to be the source language, this file will contain the source phrases for our application. You can fill in any key-value pair you like.\u003C\u002Fp>\n\u003Cblockquote>\n\u003Cp>Flutter’s ARB format is fully supported including arrays, plurals and selected context information. No extra configuration is necessary, but you can enable certain features if you want so.\n\u003Ca href=\"https:\u002F\u002Flocalazy.com\u002Fdocs\u002Fcli\u002Fflutter-format\">File Format - Flutter ARB\u003C\u002Fa>\n*Flutter’s ARB format is fully supported including arrays, plurals and selected context information.\u003C\u002Fp>\n\u003C\u002Fblockquote>\n\u003Cpre>\u003Ccode>{\n    &quot;@@last_modified&quot;: &quot;2019-06-28T17:50:47.781400&quot;,\n    &quot;heyWorld&quot;: &quot;You have pushed the button this many times:&quot;,\n    &quot;@heyWorld&quot;: {\n      &quot;description&quot;: &quot;Simple word for greeting &quot;,\n      &quot;type&quot;: &quot;text&quot;,\n      &quot;placeholders&quot;: {}\n    }\n  }\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>\u003Cimg src=\"https:\u002F\u002Fdirectus9.localazy.com\u002Fassets\u002Ff1254f0f-50f2-48df-8704-5655be19789b\" alt=\"\">\u003C\u002Fp>\n\u003Cp>We created language files for our project. Now, the application is ready to have \u003Ca href=\"\u002Ftags\u002Flocalization\">localization managed by Localazy\u003C\u002Fa>. We can upload our language to Localazy and add multi-language support with using Localazy features.\u003C\u002Fp>\n\u003Cp>Let’s upload the English file to Localazy.\u003C\u002Fp>\n\u003Cpre>\u003Ccode>localazy upload\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>And it’s done in 2 seconds.\u003C\u002Fp>\n\u003Cpre>\u003Ccode>Localazy CLI, v1.1.9\nAdvanced file uploader\u002Fdownloader for the Localazy translation platform.\n\nRead more information at [https:\u002F\u002Flocalazy.com\u002Fdocs\u002Fcli](https:\u002F\u002Flocalazy.com\u002Fdocs\u002Fcli)\n\nUploading...\n  - deprecate missing: false\n  - import as new: false\n  - app version: 0\n  - groups: (default only)\n  - folder: .\n\nProcessing files...\n\n.\u002Flib\u002Fl10n\u002Fintl_en.arb\n  (file=intl.arb, lang=inherited, type=arb)\n\nVerifying...\n\nValidating...\n\nUploading 432 B...\n\nYour data has been uploaded to Localazy. It's scheduled for processing and will be imported soon.\nYou will be notified about the progress on the Localazy platform (through notifications).\n\nYour app on Localazy: [https:\u002F\u002Fconnect.localazy.com\u002Fp\u002Fflutter-localazy](https:\u002F\u002Fconnect.localazy.com\u002Fp\u002Fflutter-localazy)\n\nDone.\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>\u003Cimg src=\"https:\u002F\u002Fdirectus9.localazy.com\u002Fassets\u002F683d2d76-a72b-461a-93c1-1b3e1af50810\" alt=\"\">\u003C\u002Fp>\n\u003Cp>After refreshing this page, it shows our translations. Now we can add multiple languages.\u003C\u002Fp>\n\u003Cp>\u003Cimg src=\"https:\u002F\u002Fdirectus9.localazy.com\u002Fassets\u002Fc43de7a3-b26d-4185-a3a7-212e719b3dd9\" alt=\"\">\u003C\u002Fp>\n\u003Cp>Open the \u003Cem>Add languages\u003C\u002Fem> tab and there you find a couple of languages with info about the percentage of automated translations. Also you will see the suggestions for every key. You can just click and translate every key according to suggestions. It’s really easy to implement multiple languages.\u003C\u002Fp>\n\u003Cp>\u003Cimg src=\"https:\u002F\u002Fdirectus9.localazy.com\u002Fassets\u002Fc23c8665-56ac-4fb2-9af5-2da0bd071345\" alt=\"\">\u003C\u002Fp>\n\u003Cp>Whenever you want, you can improve your translation, add new keys, or remove old keys. When we go back to project we need to do just download with CLI.\u003C\u002Fp>\n\u003Cpre>\u003Ccode>localazy download\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>With this command, you’ll download all the newly accepted phrases and newly added languages. In the \u003Cem>locales\u003C\u002Fem> folder, we can see there is newly \u003Cem>intl_de.arb\u003C\u002Fem>.\u003C\u002Fp>\n\u003Cp>We created our localization files easily, now we will add localization to our \u003Ca href=\"\u002Ftags\u002Fflutter\">Flutter\u003C\u002Fa> app according to documentation.\u003C\u002Fp>\n\u003Cp>\u003Cimg src=\"https:\u002F\u002Fdirectus9.localazy.com\u002Fassets\u002Fa902ec50-0218-4cf9-a9a8-6deae546955b\" alt=\"\">\u003C\u002Fp>\n\u003Cp>I hope you’ve enjoyed this short intro into Localazy with Flutter. If you’d like to get closer to us, join \u003Ca href=\"https:\u002F\u002Fdiscord.gg\u002FCAVhHrh\">Discord\u003C\u002Fa>.\u003C\u002Fp>\n\u003Cp>You can get all code from the link in below:\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fdurannumit\u002Fflutter-localazy\">https:\u002F\u002Fgithub.com\u002Fdurannumit\u002Fflutter-localazy\u003C\u002Fa>\u003C\u002Fp>\n\u003C!--kg-card-end: html-->","Flutter app internationalization and localization using Localazy for your peace of mind.",{"id":62,"status":4,"created_on":1958,"modified_on":1959,"icon":1960,"header":1961,"description":1962,"button_label":1963,"link":471},"2022-03-17T12:23:03.000Z","2021-01-29T18:24:20.000Z","app","Flutter app localization","Go ahead and make your Flutter app international in a few steps. Rich shared translations memory is waiting to be used in minutes from now.","See integration",{"slug":1866,"id":1859,"uuid":1965,"title":1865,"html":1966,"comment_id":1967,"feature_image":1869,"featured":229,"visibility":1968,"email_recipient_filter":1969,"created_at":1868,"updated_at":1867,"published_at":1868,"custom_excerpt":1954,"codeinjection_head":1970,"codeinjection_foot":8,"custom_template":1967,"canonical_url":8,"authors":1971,"tags":1975,"primary_author":2033,"primary_tag":2034,"url":2035,"excerpt":1954,"reading_time":36,"access":230,"send_email_when_published":229,"og_image":8,"og_title":8,"og_description":8,"twitter_image":8,"twitter_title":8,"twitter_description":8,"meta_title":8,"meta_description":1956,"email_subject":8,"frontmatter":8,"dictionary":1876,"cta":1957,"plainTags":1870},"2b6e9c3f-49df-496e-bfd2-319aab87a75f","\u003C!--kg-card-begin: html-->\u003Ch2 id=\"how-to-localize-flutter-app-with-localazy\" id=\"how-to-localize-flutter-app-with-localazy\">How to localize Flutter app with Localazy \u003Ca class=\"markdownit-header-anchor\" href=\"#how-to-localize-flutter-app-with-localazy\">🔗\u003C\u002Fa>\u003C\u002Fh2>\n\u003Cp>\u003Cstrong>\u003Ca href=\"https:\u002F\u002Fghost.localazy.com\u002Fdictionary\u002Flocalization\">Localization\u003C\u002Fa>\u003C\u002Fstrong> is the process of rendering the content of your app into other languages and customizing your app for each target market that you want to support.\u003C\u002Fp>\n\u003Ch2 id=\"benefits-of-localazy\" id=\"benefits-of-localazy\">Benefits Of Localazy \u003Ca class=\"markdownit-header-anchor\" href=\"#benefits-of-localazy\">🔗\u003C\u002Fa>\u003C\u002Fh2>\n\u003Ch3 id=\"save-money-on-translations\" id=\"save-money-on-translations\">Save money on translations \u003Ca class=\"markdownit-header-anchor\" href=\"#save-money-on-translations\">🔗\u003C\u002Fa>\u003C\u002Fh3>\n\u003Cp>Save up to 50% of translation costs thanks to \u003Cstrong>\u003Ca href=\"https:\u002F\u002Fghost.localazy.com\u002Fdocs\u002Fgeneral\u002Fwhat-is-localazy-sharetm\">shared translations\u003C\u002Fa>\u003C\u002Fstrong>. Localize your app to 80+ languages for free.\u003C\u002Fp>\n\u003Ch4 id=\"what-is-localazy-sharetm\">What is Localazy ShareTM\u003C\u002Fh4>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fghost.localazy.com\u002Fdictionary\u002Fsharetm\">ShareTM\u003C\u002Fa> is \u003Ca href=\"https:\u002F\u002Fghost.localazy.com\u002Fdocs\u002Fgeneral\u002Fwhat-is-localazy-sharetm\">what makes Localazy unique\u003C\u002Fa> and different from other translation platforms.\nWe are developers; we share our code on Github, Gitlab, or in another place. We cooperate, share our knowledge and libraries. We have this in our DNA. It saves us time and money; it helps us to move forward faster and produce better software.\u003C\u002Fp>\n\u003Cp>Why don’t we share translations to make our apps better for the worldwide audience? Why we pay for translating the same words again and again? Does it make sense? It does not, and ShareTM is here to fix this issue.\u003C\u002Fp>\n\u003Cp>Upload your app to Localazy and instantly share your translations with other apps on the platform, and as a reward, get your app translated to more languages for free.\u003C\u002Fp>\n\u003Ch3 id=\"stay-assured-about-high-quality\" id=\"stay-assured-about-high-quality\">Stay assured about high quality \u003Ca class=\"markdownit-header-anchor\" href=\"#stay-assured-about-high-quality\">🔗\u003C\u002Fa>\u003C\u002Fh3>\n\u003Cp>Verify translations with the \u003Cstrong>\u003Ca href=\"https:\u002F\u002Flocalazy.com\u002Fdocs\u002Fgeneral\u002Funique-review-process-and-self-managed-translations\">pro-active review\u003C\u002Fa>\u003C\u002Fstrong> and use all tools for providing context to your translators for free.\u003C\u002Fp>\n\u003Ch3 id=\"keep-track-of-changes\" id=\"keep-track-of-changes\">Keep track of changes \u003Ca class=\"markdownit-header-anchor\" href=\"#keep-track-of-changes\">🔗\u003C\u002Fa>\u003C\u002Fh3>\n\u003Cp>While the review is a way to ensure translation quality in other translation platforms, Localazy is organized around it. But our review process is entirely different. It’s not just a set of filtering options to find strings that may be inaccurately translated.\u003C\u002Fp>\n\u003Cp>Our review process is a pro-active tool that helps you to verify translations and keep track of all changes that happened on Localazy while you spend your precious time developing your app and making it better.\nNo matter if you visit Localazy every day or once per month, you never get lost! The best recipe for a peaceful mind.\u003C\u002Fp>\n\u003Ch2 id=\"sign-up-and-create-an-app\" id=\"sign-up-and-create-an-app\">Sign Up and Create an App \u003Ca class=\"markdownit-header-anchor\" href=\"#sign-up-and-create-an-app\">🔗\u003C\u002Fa>\u003C\u002Fh2>\n\u003Cp>Firstly, you need to \u003Cstrong>\u003Ca href=\"https:\u002F\u002Flocalazy.com\u002Fregister\">sign up\u003C\u002Fa>\u003C\u002Fstrong> and create an app in Localazy. In this article, we’ll create a basic \u003Ca href=\"https:\u002F\u002Fghost.localazy.com\u002Fflutter\">Flutter\u003C\u002Fa> app which is using multi-language support.\u003C\u002Fp>\n\u003Cp>\u003Cimg src=\"https:\u002F\u002Fdirectus9.localazy.com\u002Fassets\u002F7d1a207b-85f7-464e-859a-37775733bcac\" alt=\"Register page\">\u003C\u002Fp>\n\u003Cp>After you create a new account in Localazy, you will see a new page which name is \u003Cstrong>Create a New App\u003C\u002Fstrong>. We are giving a name as “flutter-localazy”.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>App Type\u003C\u002Fstrong> means, if you do it public, people can help to improve translation and if you choose private, only invited people can improve the translation.\u003C\u002Fp>\n\u003Cp>And we are choosing English as the source language.\u003C\u002Fp>\n\u003Cp>Also, we are using \u003Cstrong>\u003Ca href=\"https:\u002F\u002Flocalazy.com\u002Fdocs\u002Fgeneral\u002Fwhat-is-localazy-sharetm\">ShareTM\u003C\u002Fa>\u003C\u002Fstrong> feature. ShareTM is what makes Localazy unique and different from other translation platforms. Briefly, \u003Cstrong>ShareTM\u003C\u002Fstrong> is highly accurate translation memory. It allows using of community translations.\u003C\u002Fp>\n\u003Cp>\u003Cimg src=\"https:\u002F\u002Fdirectus9.localazy.com\u002Fassets\u002F32555683-699f-4092-8e25-adef903597b8\" alt=\"Create a new App\">\u003C\u002Fp>\n\u003Cp>After all these things we can create a new project. Then you will see a “\u003Cstrong>Select Your Integration\u003C\u002Fstrong>” page. You can integrate Localazy to all these platforms, we will choose \u003Cstrong>Flutter\u003C\u002Fstrong> for now.\u003C\u002Fp>\n\u003Cp>\u003Cimg src=\"https:\u002F\u002Fdirectus9.localazy.com\u002Fassets\u002F40b483a6-2568-4644-80ba-f2b94dc46d38\" alt=\"Select Your Integration\">\u003C\u002Fp>\n\u003Cp>Now, we need to install \u003Cstrong>\u003Ca href=\"https:\u002F\u002Flocalazy.com\u002Fdocs\u002Fcli\u002Finstallation\">Localazy CLI\u003C\u002Fa>\u003C\u002Fstrong> tool to manage the upload and download of phrases.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Installation\u003C\u002Fstrong>\nLocalazy CLI is available as a native app for all major platforms (Windows, Linux and macOS), Java’s JAR and Docker…\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Localazy CLI\u003C\u002Fstrong> is a command-line interface, and we can use it to upload files to the Localazy platform and download translations back to our app.\u003C\u002Fp>\n\u003Cp>Also, \u003Ca href=\"https:\u002F\u002Fghost.localazy.com\u002Fblog\u002Flocalazy-cli-sofware-localization-tool-kotlin-github\">Localazy CLI\u003C\u002Fa> is available as a \u003Cstrong>native app for all major platforms\u003C\u002Fstrong> (Windows, Linux and macOS), Java’s JAR and Docker image.\u003C\u002Fp>\n\u003Cblockquote>\n\u003Cp>You need to install Localazy CLI inside project folder or update your path\u003C\u002Fp>\n\u003C\u002Fblockquote>\n\u003Ch2 id=\"set-up-flutter-project\" id=\"set-up-flutter-project\">Set Up Flutter Project \u003Ca class=\"markdownit-header-anchor\" href=\"#set-up-flutter-project\">🔗\u003C\u002Fa>\u003C\u002Fh2>\n\u003Cp>After \u003Cstrong>\u003Ca href=\"https:\u002F\u002Fflutter.dev\u002Fdocs\u002Fget-started\u002Finstall\">install Flutter\u003C\u002Fa>\u003C\u002Fstrong>, we create a new Flutter project.\u003C\u002Fp>\n\u003Cp>Use the \u003Ccode>flutter create\u003C\u002Fcode> the command to create a new project:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>$ flutter create flutter_localazy\n$ cd flutter_localazy\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>The command creates a Flutter project directory called \u003Ccode>flutter_localazy\u003C\u002Fcode> that contains a simple demo app that uses \u003Cstrong>\u003Ca href=\"https:\u002F\u002Fmaterial.io\u002Fguidelines\">Material Components\u003C\u002Fa>\u003C\u002Fstrong>.\u003C\u002Fp>\n\u003Cp>\u003Cimg src=\"https:\u002F\u002Fdirectus9.localazy.com\u002Fassets\u002Faac05215-3df7-4d01-9f9e-148a09e03af6\" alt=\"Demo App\">\u003C\u002Fp>\n\u003Cp>First step is to include required packages in \u003Ccode>pubspec.yaml\u003C\u002Fcode> file. For that just add the two packages name under the dependencies. It would look something like this.\u003C\u002Fp>\n\u003Cpre>\u003Ccode>dependencies:\n  flutter:\n    sdk: flutter\n  flutter_localizations:     \u002F\u002Fadd this line\n    sdk: flutter             \u002F\u002Fadd this line\n    \n  intl_translation: ^0.17.1  \u002F\u002Fadd this line\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>After you save this file, \u003Ca href=\"https:\u002F\u002Fghost.localazy.com\u002Fdictionary\u002Fflutter\">Flutter\u003C\u002Fa> will automatically download and it will include the packages. You can now use it in your app anywhere simply by importing it. We’ll import it in the \u003Ccode>main.dart\u003C\u002Fcode> file first. Go to, your \u003Ccode>main.dart\u003C\u002Fcode> file and add import the package.\u003C\u002Fp>\n\u003Cpre>\u003Ccode>import 'package:flutter_localizations\u002Fflutter_localizations.dart';\nimport 'package:intl\u002Fintl.dart';\nvoid main() =&gt; runApp(MyApp());\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>The next step is to set up the Localization delegates in your \u003Ccode>main.dart\u003C\u002Fcode> file. For that, you need to specify the two delegates first.\u003C\u002Fp>\n\u003Cpre>\u003Ccode>Widget build(BuildContext context) {\n    return MaterialApp(\n      localizationsDelegates: [\n        GlobalMaterialLocalizations.delegate,\n        GlobalWidgetsLocalizations.delegate\n      ],\n      supportedLocales: [\n        const Locale('en', 'US'),\n        const Locale('de', 'DE')\n      ],\n      ...\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>\u003Ccode>GlobalMaterialLocalizations.delegate\u003C\u002Fcode> provides localized strings and other values for the Material Components library. \u003Ccode>GlobalWidgetsLocalizations.delegate\u003C\u002Fcode> defines the default text direction, either left to right or right to left, for the widgets library. As you can see here, we added two lists to our Material app \u003Ccode>localizationsDelegates\u003C\u002Fcode> &amp; \u003Ccode>supportedLocales\u003C\u002Fcode>. The \u003Ccode>supportedLocales\u003C\u002Fcode> parameter holds the list of languages that our app will support.\u003C\u002Fp>\n\u003Cp>Next step is to create an \u003Ccode>AppLocalization\u003C\u002Fcode> &amp; \u003Ccode>AppLocalizationDelegate\u003C\u002Fcode>. Classes in which we’ll be defining our keywords and their translations. We’ll also use it throughout the app and for manually switching the Locale if required. Therefore Isuggest you create this class in a separate folder in your lib directory. Mine looks like \u003Ccode>\u002Flib\u002Flocale\u002Fapp_localization.dart\u003C\u002Fcode> The AppLocalization class will only have two static methods for now. The \u003Ccode>load()\u003C\u002Fcode> &amp; \u003Ccode>of()\u003C\u002Fcode> method.\u003C\u002Fp>\n\u003Cpre>\u003Ccode>import 'package:flutter\u002Fmaterial.dart';\nimport 'package:intl\u002Fintl.dart';\n\nclass AppLocalization {\n  \n  static Future&lt;AppLocalization&gt; load(Locale locale) {\n    final String name = locale.countryCode.isEmpty ? locale.languageCode : locale.toString();\n    final String localeName = Intl.canonicalizedLocale(name);\n    return initializeMessages(localeName).then((_) {\n      Intl.defaultLocale = localeName;\n      return AppLocalization();\n    });\n  }\n\n  static AppLocalization of(BuildContext context) {\n    return Localizations.of&lt;AppLocalization&gt;(context, AppLocalization);\n  }\n  \n  \u002F\u002F list of locales\nString get heyWorld {\n  return Intl.*message*(\n    'You have pushed the button this many times:',\n    name: 'heyWorld',\n    desc: 'Simple word for greeting ',\n  );\n}\n}\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>\u003Cem>PS: Note that your \u003Ccode>load()\u003C\u002Fcode> might be returning an error on the line: \u003Ccode>return initializeMessages()\u003C\u002Fcode> ignore this for now, we’ll remove it in a while.\u003C\u002Fem>\u003C\u002Fp>\n\u003Cp>\u003Ccode>load()\u003C\u002Fcode> : It will load\u002Fset all the Localized values. You can also call this method if you wish to switch the locale of app manually.\u003C\u002Fp>\n\u003Cp>\u003Ccode>of()\u003C\u002Fcode> : This method will return the instance of current Localization of the app. Somewhat like a factory method.\u003C\u002Fp>\n\u003Cp>\u003Ccode>get heyWorld\u003C\u002Fcode>: This getter returns the value of the heyWorld. This property is what will be using to get its translations based on locale of the app. For demo purpose I have only set 1 String as for now but you can as many as you can.\u003C\u002Fp>\n\u003Cp>Now create an \u003Ccode>AppLocalizationDelegate\u003C\u002Fcode> for the \u003Ccode>AppLocalization\u003C\u002Fcode> class.\u003C\u002Fp>\n\u003Cpre>\u003Ccode>class AppLocalizationDelegate extends LocalizationsDelegate&lt;AppLocalization&gt;{\n  final Locale overriddenLocale;\n\n  const AppLocalizationDelegate(this.overriddenLocale);\n\n  @override\n  bool isSupported(Locale locale) =&gt; ['en', 'de'].contains(locale.languageCode);\n\n  @override\n  Future&lt;AppLocalization&gt; load(Locale locale) =&gt; AppLocalization.load(locale);\n\n  @override\n  bool shouldReload(LocalizationsDelegate&lt;AppLocalization&gt; old) =&gt; false; \n}\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>As you can see this Delegate class is extended from main LocalizationsDelegate and we have pointed it to AppLocalization via \u003CAppLocalization> add the above required methods and take a look at the isSupported() method:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>@override\nbool isSupported(Locale locale)=&gt;['en','de'].contains(locale.languageCode);\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>This method will be called to check if the language is supported or not, based on the Locale instance provided. Make sure to you have your supported languages inserted in this list here such as: \u003Ccode>[‘en’, ‘de’ ….]\u003C\u002Fcode>\u003C\u002Fp>\n\u003Cp>Now create a \u003Ca href=\"https:\u002F\u002Fghost.localazy.com\u002Fdictionary\u002Fl10n\">l10n\u003C\u002Fa> directory in your lib folder. This directory will hold all the translated values as per your Locale. Your final directory structure will look somewhat like this:\u003C\u002Fp>\n\u003Cp>\u003Cimg src=\"https:\u002F\u002Fdirectus9.localazy.com\u002Fassets\u002Fcf774415-bcd4-4b53-b8e8-7cb2b272b7fd\" alt=\"\">\u003C\u002Fp>\n\u003Cp>In your Terminal and run the following command to create the arb files:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>$ flutter pub run intl_translation:extract_to_arb --output-dir=lib\u002Fl10n lib\u002Flocale\u002Fapp_localization.dart\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>NOTE: The Dart intl package only creates one template file of .arb from your Localization class and names it \u003Ccode>intl_messages.arb\u003C\u002Fcode>. From here, you now have to manually create other resource files with convention \u003Ccode>intl_[LANGUAGE_CODE].arb\u003C\u002Fcode> and copy the content of \u003Ccode>intl_messages.arb\u003C\u002Fcode> directly with updated the values.\u003C\u002Fp>\n\u003Cp>Eg: For English format you will create file \u003Ccode>intl_en.arb\u003C\u002Fcode> and the content copied from \u003Ccode>intl_messages.arb\u003C\u002Fcode> :\u003C\u002Fp>\n\u003Cpre>\u003Ccode>{\n  &quot;@@last_modified&quot;: &quot;2020-11-07T23:41:23.983052&quot;,\n  &quot;heyWorld&quot;: &quot;You have pushed the button this many times:&quot;,\n  &quot;@heyWorld&quot;: {\n    &quot;description&quot;: &quot;Simple word for greeting &quot;,\n    &quot;type&quot;: &quot;text&quot;,\n    &quot;placeholders&quot;: {}\n  }\n}\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Now let’s create one in the German language. So this will be:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>{\n  &quot;@@last_modified&quot;: &quot;2019-06-27T23:38:38.868199&quot;,\n  &quot;heyWorld&quot;: &quot;Hey Welt&quot;,\n  &quot;@heyWorld&quot;: {\n    &quot;description&quot;: &quot;Einfaches Wort zur Begrüßung&quot;,\n    &quot;type&quot;: &quot;text&quot;,\n    &quot;placeholders&quot;: {}\n  }\n}\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Once you created these files in your l10n folder. Now you need to run another command to create the corresponding \u003Ccode>.dart\u003C\u002Fcode> files that will be used to manage these resource files. For that run the following command:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>$ flutter pub run intl_translation:generate_from_arb --output-dir=lib\u002Fl10n --no-use-deferred-loading lib\u002Fl10n\u002Fintl_messages.arb lib\u002Fl10n\u002Fintl_de.arb lib\u002Fl10n\u002Fintl_en.arb lib\u002Flocale\u002Fapp_localization.dart\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>NOTE that i have only 2 files \u003Ccode>intl_en.arb\u003C\u002Fcode> &amp; \u003Ccode>intl_de.arb\u003C\u002Fcode> therefore I am only passing those in command. But if you have more or less, you need to pass them all.\u003C\u002Fp>\n\u003Cp>\u003Cimg src=\"https:\u002F\u002Fdirectus9.localazy.com\u002Fassets\u002Fb8451b01-1a95-406e-9f8b-9132035676bc\" alt=\"\">\u003C\u002Fp>\n\u003Cp>Now import the \u003Ccode>messages_all.dart\u003C\u002Fcode> file in your \u003Ccode>AppLocalization\u003C\u002Fcode> Class and here’s a final look at your AppLocalization Class:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>class AppLocalization {\n  \n  static Future&lt;AppLocalization&gt; load(Locale locale) {\n    final String name = locale.countryCode.isEmpty ? locale.languageCode : locale.toString();\n    final String localeName = Intl.canonicalizedLocale(name);\n    return initializeMessages(localeName).then((_) {\n      Intl.defaultLocale = localeName;\n      return AppLocalization();\n    });\n  }\n\n  static AppLocalization of(BuildContext context) {\n    return Localizations.of&lt;AppLocalization&gt;(context, AppLocalization);\n  }\n\n  String get heyWorld {\n    return Intl.message(\n      'Hey World',\n      name: 'heyWorld',\n      desc: 'Simpel word for greeting ',\n    );\n  }\n}\n\nclass AppLocalizationDelegate extends LocalizationsDelegate&lt;AppLocalization&gt; {\n  final Locale overriddenLocale;\n\n  const AppLocalizationDelegate(this.overriddenLocale);\n\n  @override\n  bool isSupported(Locale locale) =&gt; ['en', 'es', 'de'].contains(locale.languageCode);\n\n  @override\n  Future&lt;AppLocalization&gt; load(Locale locale) =&gt; AppLocalization.load(locale);\n  \n  @override\n  bool shouldReload(LocalizationsDelegate&lt;AppLocalization&gt; old) =&gt; false;\n}\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>\u003Cem>The error is gone! right. \u003Cimg class=\"emoji\" draggable=\"false\" alt=\"😉\" src=\"https:\u002F\u002Ftwemoji.maxcdn.com\u002Fv\u002F13.0.2\u002F72x72\u002F1f609.png\"\u002F>\u003C\u002Fem> Now you’re just one step from using the language values based on your current localization settings. To use language specific text in your app, you’ll simply need to follow the two steps:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\n\u003Cp>import \u003Ccode>AppLocalization\u003C\u002Fcode> class where you want to use the text\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Call localized value of text via: \u003Ccode>AppLocalizations.of(context).heyWorld\u003C\u002Fcode>\u003C\u002Fp>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Now what is happening here is that if you call the above method, it calls the getter of the \u003Ccode>AppLocalization\u003C\u002Fcode> class and returns its value based on the Locale of the context.\u003C\u002Fp>\n\u003Cp>If the context is \u003Ccode>en\u003C\u002Fcode> (i.e. english) it will return the value from \u003Ccode>intl_en.arb\u003C\u002Fcode> and when the Locale changes to de ( i.e. german) it will return the value from \u003Ccode>intl_de.arb\u003C\u002Fcode>. And since we’re using the same class getter for both languages ie \u003Ccode>(heyWorld)\u003C\u002Fcode> therefore we don’t need to worry about that either. Flutter will take care of that. But wait, here comes the best part.\u003C\u002Fp>\n\u003Ch2 id=\"integrate-localazy-for-strings-management\" id=\"integrate-localazy-for-strings-management\">Integrate Localazy for strings management \u003Ca class=\"markdownit-header-anchor\" href=\"#integrate-localazy-for-strings-management\">🔗\u003C\u002Fa>\u003C\u002Fh2>\n\u003Cp>Now it’s time to add the integration with Localazy. Create localazy.json in the \u003Cstrong>root folder\u003C\u002Fstrong> and paste the following configuration. Use the \u003Cstrong>write\u003C\u002Fstrong> and \u003Cstrong>read\u003C\u002Fstrong> keys from the step 2 of the \u003Cstrong>integration guide page\u003C\u002Fstrong>.\u003C\u002Fp>\n\u003Cp>In your \u003Ccode>main.dart\u003C\u002Fcode> file will be like this:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>void main() =&gt; runApp(MyApp());\n\nclass MyApp extends StatefulWidget {\n  @override\n  State&lt;StatefulWidget&gt; createState() =&gt; _MyAppState();\n}\n\nclass _MyAppState extends State&lt;MyApp&gt; {\n  \u002F\u002F This widget is the root of your application.\n  AppLocalizationDelegate _localeOverrideDelegate =\n  AppLocalizationDelegate(Locale('en', 'US'));\n\n  @override\n  Widget build(BuildContext context) {\n    return new MaterialApp(localizationsDelegates: [\n      GlobalMaterialLocalizations.*delegate*,\n      GlobalWidgetsLocalizations.*delegate*,\n      _localeOverrideDelegate\n    ], supportedLocales: [\n      const Locale('en', 'US'),\n      const Locale('de', 'DE')\n    ],\n        home: MyHomePage());\n  }\n}\n\nclass MyHomePage extends StatefulWidget {\n  @override\n  State&lt;StatefulWidget&gt; createState() =&gt; _MyHomePageState();\n}\n\nclass _MyHomePageState extends State&lt;MyHomePage&gt; {\n\n  int _counter = 0;\n\n  void _incrementCounter() {\n    setState(() {\n      _counter++;\n    });\n  }\n\n  @override\n  Widget build(BuildContext context) {\n    return Scaffold(\n      appBar: AppBar(\n         title: Text(&quot;Flutter Demo Localazy&quot;),\n      ),\n      body: Center(\n        child: Column(\n          mainAxisAlignment: MainAxisAlignment.center,\n          children: &lt;Widget&gt;[\n            Text(\n              AppLocalization.*of*(context).heyWorld,\n            ),\n            Text(\n              '$_counter',\n              style: Theme.*of*(context).textTheme.headline4,\n            ),\n          ],\n        ),\n      ),\n      floatingActionButton: FloatingActionButton(\n        onPressed: _incrementCounter,\n        tooltip: 'Increment',\n        child: Icon(Icons.*add*),\n      ),\n    );\n  }\n}\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch2 id=\"implement-localization-to-flutter-app\" id=\"implement-localization-to-flutter-app\">Implement Localization to Flutter App \u003Ca class=\"markdownit-header-anchor\" href=\"#implement-localization-to-flutter-app\">🔗\u003C\u002Fa>\u003C\u002Fh2>\n\u003Cp>We created our localization files easily, now we will add localazy to our Flutter app according to documentation.\u003C\u002Fp>\n\u003Cpre>\u003Ccode>{\n    &quot;writeKey&quot;: &quot;your-write-key&quot;,\n    &quot;readKey&quot;: &quot;your-read-key&quot;,\n\n    &quot;upload&quot;: {\n      &quot;type&quot;: &quot;arb&quot;,\n      &quot;files&quot;: &quot;lib\u002Fl10n\u002Fintl_en.arb&quot;\n    },\n\n    &quot;download&quot;: {\n      &quot;files&quot;: &quot;lib\u002Fl10n\u002Fintl_${lang}.arb&quot;\n    }\n\n}\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>And the project structure will be like this.\u003C\u002Fp>\n\u003Cp>\u003Cimg src=\"https:\u002F\u002Fdirectus9.localazy.com\u002Fassets\u002Fbea2c146-cdde-4156-9526-868869eabdd9\" alt=\"\">\u003C\u002Fp>\n\u003Cp>Since we’ve set English to be the source language, this file will contain the source phrases for our application. You can fill in any key-value pair you like.\u003C\u002Fp>\n\u003Cblockquote>\n\u003Cp>Flutter’s ARB format is fully supported including arrays, plurals and selected context information. No extra configuration is necessary, but you can enable certain features if you want so.\n\u003Ca href=\"https:\u002F\u002Flocalazy.com\u002Fdocs\u002Fcli\u002Fflutter-format\">File Format - Flutter ARB\u003C\u002Fa>\n*Flutter’s ARB format is fully supported including arrays, plurals and selected context information.\u003C\u002Fp>\n\u003C\u002Fblockquote>\n\u003Cpre>\u003Ccode>{\n    &quot;@@last_modified&quot;: &quot;2019-06-28T17:50:47.781400&quot;,\n    &quot;heyWorld&quot;: &quot;You have pushed the button this many times:&quot;,\n    &quot;@heyWorld&quot;: {\n      &quot;description&quot;: &quot;Simple word for greeting &quot;,\n      &quot;type&quot;: &quot;text&quot;,\n      &quot;placeholders&quot;: {}\n    }\n  }\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>\u003Cimg src=\"https:\u002F\u002Fdirectus9.localazy.com\u002Fassets\u002Ff1254f0f-50f2-48df-8704-5655be19789b\" alt=\"\">\u003C\u002Fp>\n\u003Cp>We created language files for our project. Now, the application is ready to have \u003Ca href=\"https:\u002F\u002Fghost.localazy.com\u002Ftags\u002Flocalization\">localization managed by Localazy\u003C\u002Fa>. We can upload our language to Localazy and add multi-language support with using Localazy features.\u003C\u002Fp>\n\u003Cp>Let’s upload the English file to Localazy.\u003C\u002Fp>\n\u003Cpre>\u003Ccode>localazy upload\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>And it’s done in 2 seconds.\u003C\u002Fp>\n\u003Cpre>\u003Ccode>Localazy CLI, v1.1.9\nAdvanced file uploader\u002Fdownloader for the Localazy translation platform.\n\nRead more information at [https:\u002F\u002Flocalazy.com\u002Fdocs\u002Fcli](https:\u002F\u002Flocalazy.com\u002Fdocs\u002Fcli)\n\nUploading...\n  - deprecate missing: false\n  - import as new: false\n  - app version: 0\n  - groups: (default only)\n  - folder: .\n\nProcessing files...\n\n.\u002Flib\u002Fl10n\u002Fintl_en.arb\n  (file=intl.arb, lang=inherited, type=arb)\n\nVerifying...\n\nValidating...\n\nUploading 432 B...\n\nYour data has been uploaded to Localazy. It's scheduled for processing and will be imported soon.\nYou will be notified about the progress on the Localazy platform (through notifications).\n\nYour app on Localazy: [https:\u002F\u002Fconnect.localazy.com\u002Fp\u002Fflutter-localazy](https:\u002F\u002Fconnect.localazy.com\u002Fp\u002Fflutter-localazy)\n\nDone.\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>\u003Cimg src=\"https:\u002F\u002Fdirectus9.localazy.com\u002Fassets\u002F683d2d76-a72b-461a-93c1-1b3e1af50810\" alt=\"\">\u003C\u002Fp>\n\u003Cp>After refreshing this page, it shows our translations. Now we can add multiple languages.\u003C\u002Fp>\n\u003Cp>\u003Cimg src=\"https:\u002F\u002Fdirectus9.localazy.com\u002Fassets\u002Fc43de7a3-b26d-4185-a3a7-212e719b3dd9\" alt=\"\">\u003C\u002Fp>\n\u003Cp>Open the \u003Cem>Add languages\u003C\u002Fem> tab and there you find a couple of languages with info about the percentage of automated translations. Also you will see the suggestions for every key. You can just click and translate every key according to suggestions. It’s really easy to implement multiple languages.\u003C\u002Fp>\n\u003Cp>\u003Cimg src=\"https:\u002F\u002Fdirectus9.localazy.com\u002Fassets\u002Fc23c8665-56ac-4fb2-9af5-2da0bd071345\" alt=\"\">\u003C\u002Fp>\n\u003Cp>Whenever you want, you can improve your translation, add new keys, or remove old keys. When we go back to project we need to do just download with CLI.\u003C\u002Fp>\n\u003Cpre>\u003Ccode>localazy download\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>With this command, you’ll download all the newly accepted phrases and newly added languages. In the \u003Cem>locales\u003C\u002Fem> folder, we can see there is newly \u003Cem>intl_de.arb\u003C\u002Fem>.\u003C\u002Fp>\n\u003Cp>We created our localization files easily, now we will add localization to our \u003Ca href=\"https:\u002F\u002Fghost.localazy.com\u002Ftags\u002Fflutter\">Flutter\u003C\u002Fa> app according to documentation.\u003C\u002Fp>\n\u003Cp>\u003Cimg src=\"https:\u002F\u002Fdirectus9.localazy.com\u002Fassets\u002Fa902ec50-0218-4cf9-a9a8-6deae546955b\" alt=\"\">\u003C\u002Fp>\n\u003Cp>I hope you’ve enjoyed this short intro into Localazy with Flutter. If you’d like to get closer to us, join \u003Ca href=\"https:\u002F\u002Fdiscord.gg\u002FCAVhHrh\">Discord\u003C\u002Fa>.\u003C\u002Fp>\n\u003Cp>You can get all code from the link in below:\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fdurannumit\u002Fflutter-localazy\">https:\u002F\u002Fgithub.com\u002Fdurannumit\u002Fflutter-localazy\u003C\u002Fa>\u003C\u002Fp>\n\u003C!--kg-card-end: html-->","57","public","none","{\"intercomArticleUrl\":\"\"}",[1972],{"id":1861,"name":1862,"slug":1863,"profile_image":1864,"cover_image":8,"bio":8,"website":8,"location":1973,"facebook":8,"twitter":8,"meta_title":8,"meta_description":8,"url":1974},"Berlin, Germany","https:\u002F\u002Fghost.localazy.com\u002Fauthor\u002Fumit-duran\u002F",[1976,1981,1984,1987,1990,1996,2002,2008,2013,2018,2023,2028],{"id":1977,"name":1978,"slug":1979,"description":1962,"feature_image":8,"visibility":1968,"og_image":8,"og_title":8,"og_description":8,"twitter_image":8,"twitter_title":8,"twitter_description":8,"meta_title":8,"meta_description":8,"codeinjection_head":8,"codeinjection_foot":8,"canonical_url":8,"accent_color":8,"url":1980},"60a37fc7cf7b6a0001d1f115","[CTA] Flutter app localization","cta-7","https:\u002F\u002Fghost.localazy.com\u002Ftag\u002Fcta-7\u002F",{"id":1982,"name":1384,"slug":1833,"description":1384,"feature_image":8,"visibility":1968,"og_image":8,"og_title":8,"og_description":8,"twitter_image":8,"twitter_title":8,"twitter_description":8,"meta_title":8,"meta_description":8,"codeinjection_head":8,"codeinjection_foot":8,"canonical_url":8,"accent_color":8,"url":1983},"60a37fc7cf7b6a0001d1f0f9","https:\u002F\u002Fghost.localazy.com\u002Ftag\u002Flocalization\u002F",{"id":1985,"name":1873,"slug":1874,"description":1873,"feature_image":8,"visibility":1968,"og_image":8,"og_title":8,"og_description":8,"twitter_image":8,"twitter_title":8,"twitter_description":8,"meta_title":8,"meta_description":8,"codeinjection_head":8,"codeinjection_foot":8,"canonical_url":8,"accent_color":8,"url":1986},"60a37fc7cf7b6a0001d1f0fa","https:\u002F\u002Fghost.localazy.com\u002Ftag\u002Fhowto\u002F",{"id":1988,"name":470,"slug":471,"description":470,"feature_image":8,"visibility":1968,"og_image":8,"og_title":8,"og_description":8,"twitter_image":8,"twitter_title":8,"twitter_description":8,"meta_title":8,"meta_description":8,"codeinjection_head":8,"codeinjection_foot":8,"canonical_url":8,"accent_color":8,"url":1989},"60a37fc7cf7b6a0001d1f107","https:\u002F\u002Fghost.localazy.com\u002Ftag\u002Fflutter\u002F",{"id":1991,"name":1992,"slug":1993,"description":1994,"feature_image":8,"visibility":1968,"og_image":8,"og_title":8,"og_description":8,"twitter_image":8,"twitter_title":8,"twitter_description":8,"meta_title":8,"meta_description":8,"codeinjection_head":8,"codeinjection_foot":8,"canonical_url":8,"accent_color":8,"url":1995},"60a37fc7cf7b6a0001d1f11f","[DICT] Localization","term-2","Localization is a process of preparing a product for a particular market.","https:\u002F\u002Fghost.localazy.com\u002Ftag\u002Fterm-2\u002F",{"id":1997,"name":1998,"slug":1999,"description":2000,"feature_image":8,"visibility":1968,"og_image":8,"og_title":8,"og_description":8,"twitter_image":8,"twitter_title":8,"twitter_description":8,"meta_title":8,"meta_description":8,"codeinjection_head":8,"codeinjection_foot":8,"canonical_url":8,"accent_color":8,"url":2001},"60a37fc7cf7b6a0001d1f120","[DICT] L10n","term-3","L10n is an abbreviation of Localization.","https:\u002F\u002Fghost.localazy.com\u002Ftag\u002Fterm-3\u002F",{"id":2003,"name":2004,"slug":2005,"description":2006,"feature_image":8,"visibility":1968,"og_image":8,"og_title":8,"og_description":8,"twitter_image":8,"twitter_title":8,"twitter_description":8,"meta_title":8,"meta_description":8,"codeinjection_head":8,"codeinjection_foot":8,"canonical_url":8,"accent_color":8,"url":2007},"60a37fc7cf7b6a0001d1f130","[DICT] Flutter","term-19","Flutter is SDK made by Google for building natively compiled applications for mobile, web and desktop from a single codebase.","https:\u002F\u002Fghost.localazy.com\u002Ftag\u002Fterm-19\u002F",{"id":2009,"name":2010,"slug":2011,"description":1908,"feature_image":8,"visibility":1968,"og_image":8,"og_title":8,"og_description":8,"twitter_image":8,"twitter_title":8,"twitter_description":8,"meta_title":8,"meta_description":8,"codeinjection_head":8,"codeinjection_foot":8,"canonical_url":8,"accent_color":8,"url":2012},"60a37fc7cf7b6a0001d1f157","[DICT] Continuous Integration","term-58","https:\u002F\u002Fghost.localazy.com\u002Ftag\u002Fterm-58\u002F",{"id":2014,"name":2015,"slug":2016,"description":1936,"feature_image":8,"visibility":1968,"og_image":8,"og_title":8,"og_description":8,"twitter_image":8,"twitter_title":8,"twitter_description":8,"meta_title":8,"meta_description":8,"codeinjection_head":8,"codeinjection_foot":8,"canonical_url":8,"accent_color":8,"url":2017},"60a37fc7cf7b6a0001d1f15c","[DICT] Integrated Development Environment (IDE)","term-63","https:\u002F\u002Fghost.localazy.com\u002Ftag\u002Fterm-63\u002F",{"id":2019,"name":2020,"slug":2021,"description":1946,"feature_image":8,"visibility":1968,"og_image":8,"og_title":8,"og_description":8,"twitter_image":8,"twitter_title":8,"twitter_description":8,"meta_title":8,"meta_description":8,"codeinjection_head":8,"codeinjection_foot":8,"canonical_url":8,"accent_color":8,"url":2022},"60a37fc7cf7b6a0001d1f16c","[DICT] Internationalization (i18n)","term-79","https:\u002F\u002Fghost.localazy.com\u002Ftag\u002Fterm-79\u002F",{"id":2024,"name":2025,"slug":2026,"description":8,"feature_image":8,"visibility":1968,"og_image":8,"og_title":8,"og_description":8,"twitter_image":8,"twitter_title":8,"twitter_description":8,"meta_title":8,"meta_description":8,"codeinjection_head":8,"codeinjection_foot":8,"canonical_url":8,"accent_color":8,"url":2027},"61a0daffdf4bcb00010bc50c","[SYNDICATE]","syndicate","https:\u002F\u002Fghost.localazy.com\u002Ftag\u002Fsyndicate\u002F",{"id":2029,"name":2030,"slug":2031,"description":8,"feature_image":8,"visibility":1968,"og_image":8,"og_title":8,"og_description":8,"twitter_image":8,"twitter_title":8,"twitter_description":8,"meta_title":8,"meta_description":8,"codeinjection_head":8,"codeinjection_foot":8,"canonical_url":8,"accent_color":8,"url":2032},"64710a2f047091000193ca3d","[INTERCOM]","intercom","https:\u002F\u002Fghost.localazy.com\u002Ftag\u002Fintercom\u002F",{"id":1861,"name":1862,"slug":1863,"profile_image":1864,"cover_image":8,"bio":8,"website":8,"location":1973,"facebook":8,"twitter":8,"meta_title":8,"meta_description":8,"url":1974},{"id":1977,"name":1978,"slug":1979,"description":1962,"feature_image":8,"visibility":1968,"og_image":8,"og_title":8,"og_description":8,"twitter_image":8,"twitter_title":8,"twitter_description":8,"meta_title":8,"meta_description":8,"codeinjection_head":8,"codeinjection_foot":8,"canonical_url":8,"accent_color":8,"url":1980},"https:\u002F\u002Fghost.localazy.com\u002Fflutter-localization-internationalization-localazy\u002F",[2037,2054,2076],{"id":2038,"owner":2039,"created_by":8,"sort":8,"title":2044,"slug":2045,"modified_on":53,"created_on":2046,"pinned":229,"badge":8,"priority":1824,"main_image":2047,"status":4,"tags":2048,"dictionary":2053,"reading_time":1835,"excerpt":-1,"og_title":53,"og_description":53,"og_image":53},"665d9cb634f1ce00011a0d19",{"id":2040,"first_name":2041,"last_name":53,"slug":2042,"avatar":2043},"65647a510470910001942873","Simona Rahmanova","simona-rahmanova","https:\u002F\u002Fghost.localazy.com\u002Fcontent\u002Fimages\u002F2024\u002F03\u002Fsimona.png","Localization 101 | Basic concepts for newcomers","localization-101-basic-concepts-a-beginner-needs-to-know","2024-07-29T15:24:00.000+02:00","https:\u002F\u002Fghost.localazy.com\u002Fcontent\u002Fimages\u002F2024\u002F06\u002Flocalization-101.png",[2049,2050],{"id":278,"created_on":1828,"status":4,"label":1384,"slug":1833,"on_index_page":230},{"id":278,"created_on":1828,"status":4,"label":2051,"slug":2052,"on_index_page":229},"Guide","guide",[],{"id":2055,"owner":2056,"created_by":8,"sort":8,"title":2061,"slug":2062,"modified_on":53,"created_on":2063,"pinned":229,"badge":8,"priority":1824,"main_image":2064,"status":4,"tags":2065,"dictionary":2075,"reading_time":1835,"excerpt":-1,"og_title":53,"og_description":53,"og_image":53},"6372308e04709100019374c9",{"id":2057,"first_name":2058,"last_name":53,"slug":2059,"avatar":2060},"6061ffdd2a37af00016d413d","Daniel Charvát","daniel-charvat","https:\u002F\u002Fghost.localazy.com\u002Fcontent\u002Fimages\u002F2023\u002F12\u002Fdan-1.png","Figma in Localization: Figma as a Source of Truth","figma-series-figma-as-source-of-truth","2023-02-08T20:43:55.000+01:00","https:\u002F\u002Fghost.localazy.com\u002Fcontent\u002Fimages\u002F2023\u002F01\u002FFigma-Series-3.png",[2066,2068,2069,2072],{"id":2067,"created_on":1828,"status":4,"label":1138,"slug":1139,"on_index_page":230},6183,{"id":278,"created_on":1828,"status":4,"label":1873,"slug":1874,"on_index_page":229},{"id":278,"created_on":1828,"status":4,"label":2070,"slug":2071,"on_index_page":230},"DevTips","devtips",{"id":318,"created_on":1828,"status":4,"label":2073,"slug":2074,"on_index_page":229},"Design","design",[],{"id":2077,"owner":2078,"created_by":8,"sort":8,"title":2083,"slug":2084,"modified_on":53,"created_on":2085,"pinned":229,"badge":8,"priority":1824,"main_image":2086,"status":4,"tags":2087,"dictionary":2094,"reading_time":1835,"excerpt":-1,"og_title":53,"og_description":53,"og_image":53},"63dd1bf30470910001939f8b",{"id":2079,"first_name":2080,"last_name":53,"slug":2081,"avatar":2082},"61dc4e87df4bcb00010bd508","Mary Okosun","mary-okosun","https:\u002F\u002Fghost.localazy.com\u002Fcontent\u002Fimages\u002F2023\u002F12\u002Fokosun.png","The ultimate guide to Localazy API","the-ultimate-guide-to-localazy-api","2023-03-15T10:00:00.000+01:00","https:\u002F\u002Fghost.localazy.com\u002Fcontent\u002Fimages\u002F2023\u002F03\u002Fultimate-localazy-api-guide.png",[2088,2089,2092,2093],{"id":278,"created_on":1828,"status":4,"label":283,"slug":284,"on_index_page":229},{"id":278,"created_on":1828,"status":4,"label":2090,"slug":2091,"on_index_page":229},"Automated Localization","automated-localization",{"id":278,"created_on":1828,"status":4,"label":1873,"slug":1874,"on_index_page":229},{"id":278,"created_on":1828,"status":4,"label":2051,"slug":2052,"on_index_page":229},[],{"id":7,"sort":8,"created_on":2096,"name":2097,"cta_link":2098,"banner_image":2099},"2022-03-17T12:23:14.000Z","default","https:\u002F\u002Flocalazy.com\u002Ffeatures\u002Flocalazy-ai",{"id":2100},"72defd59-a21d-44b9-822c-4e183ca62b99"]