[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"footer-homepage":3,"footer-settings":84,"footer-integrations":220,"main-navigation":1197,"docs-general-style-guide":1814,"blog-post-nav-[USE LATEST FEATURED]":3360,"blog-post-nav-nav":3384},{"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",[],{"content":1815,"sections":1907,"docsInSection":2029,"defaultSearchItems":3358,"relatedBlogArticles":3359},{"doc":1816,"originalContent":1823,"originalExcerpt":1822,"placeholders":1846},{"id":1817,"status":4,"sort":8,"owner":1818,"created_on":1819,"modified_on":1820,"slug":1440,"title":1821,"excerpt":1822,"content":1823,"meta_title":8,"meta_description":8,"pinned":229,"main_image":8,"section":1824,"subsection":1832,"cta":8,"faq":1836,"dictionary":1838,"blog_articles":1840,"translations":1842,"documentation_id":1817},261,"c1edb242-a6d8-43ff-82c9-b5eebc39595a","2025-09-17T08:57:55.000Z","2025-10-20T21:37:19.000Z","Style guide","A style guide defines how your project should sound across languages. It sets expectations for tone, formality, audience, and brand voice so both AI and human translators stay consistent.","## Introduction\nA style guide keeps everyone on the same page. It helps contributors across different languages produce consistent results, makes reviews quicker with fewer rewrites, and even improves AI translation quality by giving it the context it needs to get things right.\n\n![](https:\u002F\u002Fdirectus9.localazy.com\u002Fassets\u002Ff138630b-b308-4a14-93ca-42b5661aa6df)\n\n:::info\nOnly project Managers and Owners can create and edit the style guide. Other roles can only view it.\n:::\n\n---\n\n## How to create a style guide\n\n1) Open your project in the app.\n2) Go to **Style guide** from the main menu under **Context**\n3) Click **Create styleguide** and complete the short onboarding.\n\n![](https:\u002F\u002Fdirectus9.localazy.com\u002Fassets\u002Fcc91bd4c-5217-4034-b05a-78a4f96582a2)\n\n## Configuring the style guide\nThe form is organized into blocks. As you fill them in, your preferences guide AI-assisted translations and help human translators understand your expectations.\n\n### Project & Industry\nSet project context and share sources of truth. This information helps translators, writers, and AI tools understand the purpose, scope, and positioning of the content they’re working on.\n\n| Field                   | Options \u002F Description |\n| ----------------------- | ---------------------------- |\n| **Project Type**        | Mobile, Web, SaaS, Blog, SEO, Company, E-commerce, Game, Marketing, Documentation, User interface, Help center, Social media, Email campaigns, Not specified   |\n| **Project URLs**        | Add key links (e.g., Website, Docs, Blog) so translators can reference the right content   |\n| **Project Description** | Briefly explain your product, audience, and key concepts  |\n| **Industry**            | Business, Legal, Medical, Healthcare, Education, Finance, Banking, Manufacturing, E-commerce, Gaming, Technology, E-learning, Travel & tourism, Software development, Marketing & advertising, Fashion, Entertainment, Automotive, Real estate, Food & beverage, Telecommunications, Logistics, Agriculture, Not specified |\n| **Domain**              | Academic, Business, General, Legal, Creative, Technical, Scientific   |\n| **Brand Voice**         | Corporate, Startup, Playful, Serious, Innovative, Traditional, Luxury, Accessible, Not specified    |\n\n\n:::info\nLocalazy AI currently does not crawl URLs provided in the style guide.\n:::\n\n\n### Language Preferences\nTune global style expectations across languages. These settings ensure that all content is consistent, on-brand, and communicates in the right way across different languages and platforms.\n\n| Field                | Options  |\n| -------------------- | ----------------------- |\n| **Formality**        | Very formal, Formal, Neutral, Casual, Very casual |\n| **Tone**             | Professional, Authoritative, Emphatic, Direct, Calm, Neutral, Helpful, Friendly, Competitive, Instructional, Emotional, Conversational, Humorous, Inspiring, Urgent, Reassuring |\n| **Sentiment**        | Positive, Negative, Neutral, Context dependent  |\n| **Preferred Gender** | Neutral, Male, Female, Context dependent     |\n\n\n#### Audience Details\nDescribe who you’re talking to.\n- **Audience Expertise**: Beginner, General, Knowledgeable, Expert\n- **Audience Education**: High school, Undergraduate, Graduate, Professional, Not specified\n\n### Advanced Configuration\nControl how literal or adaptive the output should be and share extra rules.\n- **Transcreation**\n  - Disable: Keep close to source\n  - If necessary: Allow adaptation when needed for naturalness\n  - Enabled: Permit broader cultural adaptation\n- **URL Handling**\n  - Keep: Preserve URLs\n  - Localize: Adapt links where appropriate\n- **Accuracy**\n  - Accurate: Prioritize faithful meaning\n  - Balanced: Mix accuracy and fluency\n  - Fluent: Optimize for natural, flowing language\n- **General Instructions**\n  - This is your custom prompt. Include free-form do’s\u002Fdon’ts, preferred terminology, examples, and style notes\n\n## Best practices\nYou don’t need to fill in everything. Too much context can dilute AI prompts and overwhelm translators. Focus on the few settings that matter for your project, then iterate.\n\n- **Start small**: Pick 3–5 essentials (e.g., Project Type, Project Description, Formality, Tone, a short General Instructions block)\n- **Be specific, not exhaustive**: Add a handful of do’s\u002Fdon’ts and 2–3 key terms with examples instead of long essays\n- **Link to sources**: Provide Website\u002FDocs\u002FHelp Center URLs instead of duplicating content in the form\n- **Calibrate strictness**: Begin with Accuracy = Accurate and Transcreation = Disable\u002FIf necessary; relax later if needed\n- **Use overrides sparingly**: Only add per-language differences where culture or grammar demands it (e.g., higher formality in Japanese)\n- **Review outcomes**: Translate a sample set, inspect results, then adjust tone\u002Fformality or instructions based on what you see\n\n---\n\n## Language overrides\n\nPer-language overrides let you tailor rules for specific locales. \n\n### Replacing base values with overrides\nFor all fields except General Instructions, a language override replaces the base value. Only the override is applied for that language.\n\n- Example: Global Formality = Neutral. Override Formality = Very formal for Japanese. Japanese uses Very formal; other languages use Neutral.\n\n\n![](https:\u002F\u002Fdirectus9.localazy.com\u002Fassets\u002Fcb58a7a2-556e-400c-b576-7d1b0e6df9f2)\n\n### Language specific instructions\nLanguage-specific instructions are appended to the global General Instructions. Both are applied for that language. Here, you can apply the selected override to multiple languages at the same time. \n\n- Example: Global instructions define brand terms and voice. German instructions add capitalization rules; Japanese instructions add polite form notes. Each language receives the global part plus its own extra notes.\n\n![](https:\u002F\u002Fdirectus9.localazy.com\u002Fassets\u002F9d0643aa-04b9-4619-841e-f166d9471541)\n\n---\n\n## Style guide preview\n\nThe style guide preview is a compact, read‑only brief generated from your project’s style guide. Think of it as the translator’s cheat sheet: it surfaces only the rules and context that matter, right where translation decisions happen. This helps translators stay aligned on tone, formality, and intent without jumping between screens or guessing.\n\n![](https:\u002F\u002Fdirectus9.localazy.com\u002Fassets\u002F1c956a05-bed8-4671-bcc7-0e92c1963b77)\n\nYou can open the preview from two places: directly in the translations table and inside the translate\u002Freview interface. Wherever you’re working, the preview sits beside your content so you can double‑check expectations as you translate or review.\n\nThe preview is always language‑aware. It shows only the values that apply to the language you’re currently viewing. For example, if your base Formality is Neutral but you set a Very formal override for Japanese, users browsing Japanese will see Very formal in the preview. Users working in other languages will see the base Neutral value. This applies to all overrideable options, so the brief always reflects the exact rules for each locale.\n\nAny time the style guide is updated, the preview highlights the change with a red Updated badge. It’s an at‑a‑glance nudge for translators and reviewers that guidance has changed, so they can adjust their work accordingly.\n\n![](https:\u002F\u002Fdirectus9.localazy.com\u002Fassets\u002F02521bab-9ea4-4b2c-abbb-9a859ccbc7be)\n",["Reactive",1825],{"id":16,"status":4,"sort":7,"created_on":1826,"slug":1732,"name":1727,"subtitle":1827,"meta_title":1828,"meta_description":1829,"hidden":229,"icon":1830,"featured_icon":1831},"2022-03-17T12:23:29.000Z","General Localazy Guides","Localazy General Documentation","How to SW internationalization. How to get multilanguage support for your app. How to localize software. Localazy guides available. ",{"id":1734},{"id":1737},["Reactive",1833],{"id":251,"status":4,"sort":77,"created_on":1834,"name":1835},"2025-10-02T20:13:53.000Z","Context",["Reactive",1837],[],["Reactive",1839],[],["Reactive",1841],[],["Reactive",1843],[1844],{"id":1845,"documentation_id":1817,"languages_code":249,"slug":1440,"title":1821,"content":1823,"meta_title":8,"meta_description":8,"excerpt":1822},1415,[1847,1850,1853,1856,1859,1862,1865,1868,1871,1874,1877,1880,1883,1886,1890,1893,1896,1900,1904],{"key":1848,"value":1849,"note":8},"___GRADLE_DEPENDENCY___","com.localazy:gradle:1.5.4",{"key":1851,"value":1852,"note":8},"___LIBRARY_VERSION___","1.2.1",{"key":1854,"value":1855,"note":8},"___REPOSITORY_URL___","https:\u002F\u002Fmaven.localazy.com\u002Frepository\u002Frelease\u002F",{"key":1857,"value":1858,"note":8},"___URL_DOCS___","https:\u002F\u002Flocalazy.com\u002Fdocs",{"key":1860,"value":1861,"note":8},"___URL_DOCS_ANDROID_LIBRARY___","https:\u002F\u002Flocalazy.com\u002Fdocs\u002Fandroid\u002Flocalazy-android-library",{"key":1863,"value":1864,"note":8},"___URL_DOCS_ANDROID_GRADLE___","https:\u002F\u002Flocalazy.com\u002Fdocs\u002Fandroid\u002Flocalazy-gradle-plugin",{"key":1866,"value":1867,"note":8},"___URL_DOCS_WHAT_SHOULD_YOU_KNOW___","https:\u002F\u002Flocalazy.com\u002Fdocs\u002Fandroid\u002Fwhat-you-should-know-before-uploading-your-android-strings",{"key":1869,"value":1870,"note":8},"___CLI_VERSION___","v2.0.11",{"key":1872,"value":1873,"note":8},"___USER_WRITE_KEY___","your-write-key",{"key":1875,"value":1876,"note":8},"___USER_READ_KEY___","your-read-key",{"key":1878,"value":1879,"note":8},"___CLI_LINKS___","  ",{"key":1881,"value":1882,"note":8},"___CLI_TYPES___","| File | Types |\n| --- | --- |\n| Flutter ARB | `arb json` |\n| JSON | `json` |\n| JSON - multilingual | `json multilingual` |\n| JSON - RequireJS | `json requirejs` |\n| Android (uploaded with Gradle) | `android xml gradle` |\n| Android (uploaded with CLI) | `android xml upload` |\n| iOS .strings | `ios-strings ios strings` |\n| iOS .plist | `ios-plist ios plist` |\n| iOS .stringsdict | `ios-stringsdict ios stringsdict` |\n| iOS .xcstrings | `xcstrings ios json` |\n| XLIFF 1.2 | `xliff xml 1.2` |\n| XLIFF 2.0 | `xliff xml 2.0` |\n| TMX | `tmx translation-memory` |\n| PO files | `po gettext` |\n| YAML | `yaml` |\n| YAML - Rails i18n | `yaml lang-root` |\n| YAML - multilingual | `yaml multilingual` |\n| RESX | `resx xml` |\n| JSON5 | `json5` |\n| JSON5 - multilingual | `json5 multilingual` |\n| HJSON | `hjson` |\n| HJSON - multilingual | `hjson multilingual` |\n| JavaScript | `js` |\n| JavaScript - multilingual | `js multilingual` |\n| Java Properties | `properties java` |\n| INI files | `ini` |\n| INI files - multilingual | `ini multilingual` |\n| PHP | `php` |\n| PHP - multilingual | `php multilingual` |\n| Qt Linquist TS  | `qt-ts ts qt xml linquist` |\n| Text | `text single file` |\n| CSV | `csv` |\n| CSV - multilingual | `csv multilingual` |\n| NEON | `neon` |\n| NEON - multilingual | `neon multilingual` |\n| TOML | `toml` |\n| TOML - multilingual | `toml multilingual` |\n| Excel | `excel xls xlsx` |\n| Excel - multilingual | `excel xls xlsx multilingual` |\n| OpenOffice ODS | `ods openoffice` |\n| OpenOffice ODS - multilingual | `ods openoffice multilingual` |\n| SRT Subtitles | `srt subtitles subrip` |\n| Adobe Captivate | `captivate adobe xml` |",{"key":1884,"value":1885,"note":8},"___CLI_TYPE_TABLES___","| Name | Type | Description |\n| --- | --- | --- |\n| [**Android**](\u002Fdocs\u002Fcli\u002Fandroid-format) | [**android**](\u002Fdocs\u002Fcli\u002Fandroid-format) | Full support for Android XML including array-lists and plurals. |\n| [**iOS \u002F macOS**](\u002Fdocs\u002Fcli\u002Fios-format) | [**xcstrings**](\u002Fdocs\u002Fcli\u002Fxcstrings-format)\u003Cbr \u002F>[**ios-strings**](\u002Fdocs\u002Fcli\u002Fios-format)\u003Cbr \u002F>[**ios-stringsdict**](\u002Fdocs\u002Fcli\u002Fios-format)\u003Cbr \u002F>[**ios-plist**](\u002Fdocs\u002Fcli\u002Fios-format)\u003Cbr \u002F>[**xliff**](\u002Fdocs\u002Fcli\u002Fxliff-12-format) | Full support including extended support for arrays and plurals. | \n| [**Flutter ARB**](\u002Fdocs\u002Fcli\u002Fflutter-arb-format) | [**arb**](\u002Fdocs\u002Fcli\u002Fflutter-arb-format) | Full support for Flutter ARB format including arrays and plurals. |\n| [**JSON**](\u002Fdocs\u002Fcli\u002Fjson-format) | [**json**](\u002Fdocs\u002Fcli\u002Fjson-format) | Plain JSON, structured JSON, Mozilla i18n, RequireJS, etc. |\n| [**JavaScript**](\u002Fdocs\u002Fcli\u002Fjavascript-format) | [**js**](\u002Fdocs\u002Fcli\u002Fjavascript-format) | Support for JavaScript files including arrays, plurals, etc. |\n| [**XLIFF 1.2**](\u002Fdocs\u002Fcli\u002Fxliff-12-format) | [**xliff**](\u002Fdocs\u002Fcli\u002Fxliff-12-format) | XLIFF 1.2 with a support for plurals and arrays. |\n| [**XLIFF 2.0**](\u002Fdocs\u002Fcli\u002Fxliff-20-format) | [**xliff**](\u002Fdocs\u002Fcli\u002Fxliff-20-format) | XLIFF 2.0 with a support for plurals and arrays. |\n| [**TMX**](\u002Fdocs\u002Fcli\u002Ftmx-format) | [**tmx**](\u002Fdocs\u002Fcli\u002Ftmx-format) | Translation Memory Exchange files (TMX). |\n| [**PO**](\u002Fdocs\u002Fcli\u002Fpo-format) | [**po**](\u002Fdocs\u002Fcli\u002Fpo-format)\u003Cbr \u002F>[**pot**](\u002Fdocs\u002Fcli\u002Fpo-format) | PO files with a support for plurals. |\n| [**YAML**](\u002Fdocs\u002Fcli\u002Fyaml-format) | [**yaml**](\u002Fdocs\u002Fcli\u002Fyaml-format) | YAML with a support for plurals, arrays and Ruby on Rails. |\n| [**RESX**](\u002Fdocs\u002Fcli\u002Fresx-format) | [**resx**](\u002Fdocs\u002Fcli\u002Fresx-format) | RESX with a custom support for plurals and arrays. |\n| [**JSON5**](\u002Fdocs\u002Fcli\u002Fjson5-format) | [**json5**](\u002Fdocs\u002Fcli\u002Fjson5-format) | Support for JSON5 - plain, structured, arrays, plurals, etc. |\n| [**HJSON**](\u002Fdocs\u002Fcli\u002Fhjson-format) | [**hjson**](\u002Fdocs\u002Fcli\u002Fhjson-format) | Support for HJSON - plain, structured, arrays, plurals, etc. |\n| [**Java Properties**](\u002Fdocs\u002Fcli\u002Fhjson-format) | [**properties**](\u002Fdocs\u002Fcli\u002Fhjson-format) | Java Properties with a custom support for plurals and arrays. |\n| [**INI**](\u002Fdocs\u002Fcli\u002Fini-format) | [**ini**](\u002Fdocs\u002Fcli\u002Fini-format) | INI files with support for different encodings, plurals and arrays. |\n| [**PHP**](\u002Fdocs\u002Fcli\u002Fphp-format) | [**php**](\u002Fdocs\u002Fcli\u002Fphp-format) | Array-based PHP files with support for Laravel format. |\n| [**Qt TS**](\u002Fdocs\u002Fcli\u002Fqt-ts-format) | [**qt-ts**](\u002Fdocs\u002Fcli\u002Fqt-ts-format) | Qt Linquist TS format with many different parsing options. |\n| [**TOML**](\u002Fdocs\u002Fcli\u002Ftoml-format) | [**toml**](\u002Fdocs\u002Fcli\u002Ftoml-format) | TOML format with a support for plurals and arrays. | \n| [**NEON**](\u002Fdocs\u002Fcli\u002Fneon-format) | [**neon**](\u002Fdocs\u002Fcli\u002Fneon-format) | Neon (Nette Object Notation) with a support for plurals and arrays. | \n| [**CSV\u002FTSV**](\u002Fdocs\u002Fcli\u002Fcsv-format) | [**csv**](\u002Fdocs\u002Fcli\u002Fcsv-format) | Configurable CSV\u002FTSV with a support for plurals and arrays. |\n| [**Microsoft Excel**](\u002Fdocs\u002Fcli\u002Fexcel-format) | [**excel**](\u002Fdocs\u002Fcli\u002Fexcel-format) | Microsoft Excel XLS\u002FXLSX files with a support for plurals and arrays. |\n| [**OpenOffice ODS**](\u002Fdocs\u002Fcli\u002Fods-format) | [**ods**](\u002Fdocs\u002Fcli\u002Fods-format) | OpenOffice\u002FLibreOffice Spreadsheet files with a support for plurals and arrays. |\n| [**SRT Subtitles**](\u002Fdocs\u002Fcli\u002Fsrt-format) | [**srt**](\u002Fdocs\u002Fcli\u002Fsrt-format) | SubRip SRT subtitle files. |\n| [**Plain Texts**](\u002Fdocs\u002Fcli\u002Fplain-text-format) | [**text**](\u002Fdocs\u002Fcli\u002Fplain-text-format) | Single text files - App Store description, Play Store description, README, documentation, etc. |\n| **Adobe Captive** | **captivate** | Adobe Captivate files. |",{"key":1887,"value":1888,"note":1889},"___ZAPIER_TEMPLATES___","\u003Czapier-zap-templates apps=\"localazy\" create-without-template=\"hide\" limit=\"10\" use-this-zap=\"show\" theme=\"light\">\u003C\u002Fzapier-zap-templates>","Embed Zapier templates for Localazy integration.",{"key":1891,"value":1892,"note":8},"___CLI_FORMAT_CONVERSIONS___","\u003C!-- DONT CHANGE THE BLOCK BELOW - IT'S AUTOGENERATED. -->\n\n## Available conversions\n\n- `android` - Convert to Android XML\n- `arb` - Convert to Flutter ARB\n- `csv` - Convert to CSV\u002FTSV\n- `csv-multilingual` - Convert to multilingual CSV\u002FTSV\n- `excel` - Convert to Excel (.xls\u002F.xlsx)\n- `excel-multilingual` - Convert to multilingual Excel (.xls\u002F.xlsx)\n- `ini` - Convert to INI\n- `ini-multilingual` - Convert to multilingual INI\n- `ios-strings` - Convert to iOS's .strings\n- `ios-stringsdict` - Convert to iOS's .stringsdict\n- `json` - Convert to JSON\n- `json-mozilla` - Convert to Mozilla i18n JSON\n- `json-multilingual` - Convert to multilingual JSON\n- `mo` - Convert to Gettext MO file\n- `neon` - Convert to Nette Neon\n- `neon-multilingual` - Convert to multilingual Nette Neon\n- `ods` - Convert to OpenOffice (.ods)\n- `ods-multilingual` - Convert to multilingual OpenOffice (.ods)\n- `php` - Convert to PHP\n- `php-multilingual` - Convert to multilingual PHP\n- `po` - Convert to Gettext PO file\n- `tmx` - Convert to Translation Memory (TMX)\n- `toml` - Convert to TOML\n- `toml-multilingual` - Convert to multilingual TOML\n- `xcstrings` - Convert to XCode Strings Catalog\n- `xliff12` - Convert to XLIFF 1.2\n- `xliff20` - Convert to XLIFF 2.0\n- `yaml` - Convert to YAML\n- `yaml-multilingual` - Convert to multilingual YAML\n- `yaml-rails` - Convert to Rails i18n YAML\n\n## Detailed information\n\n### android | Convert to Android XML\n\n#### Supported input formats\n\nandroid, api, arb, csv, excel, hjson, ini, ios-plist, ios-strings, ios-stringsdict, js, json, json5, neon, ods, php, po, properties, qt-ts, resx, text, tmx, toml, xcstrings, yaml\n\n#### Parameters\n\n- `xcstrings_keep_structure` - Keeping iOS Strings Catalog structured keys.\n  - `true`  - Keep key structure\n  - `false`  _[default]_ - Convert structure to plain keys\n- `force_underscore` - Force underscore character even for dots (`.`).\n  - `no`  _[default]_ - Don't use underscore character for dots\n  - `yes`  - Use underscore characters for dots\n- `escape_new_lines` - Escape new lines with `\\n`.\n  - `no`  _[default]_ - Use standard line breaks\n  - `yes`  - Escape new lines with `\\n`\n\n#### Filtering options\n\n  - `filterStrings` is available\n  - `filterArrays` is available\n  - `filterPlurals` is available\n\n\n### arb | Convert to Flutter ARB\n\n#### Supported input formats\n\nandroid, api, arb, csv, excel, hjson, ini, ios-plist, ios-strings, ios-stringsdict, js, json, json5, neon, ods, php, po, properties, qt-ts, resx, text, tmx, toml, xcstrings, yaml\n\n#### Parameters\n\n- `xcstrings_keep_structure` - Keeping iOS Strings Catalog structured keys.\n  - `true`  - Keep key structure\n  - `false`  _[default]_ - Convert structure to plain keys\n- `filter_untranslated` - Filtering of untranslated phrases\n  - `true`  - Filter untranslated phrases out of the file\n  - `false`  _[default]_ - Use the source language translation for the untranslated phrases\n- `flatten_keys` - Flattening structured keys\n  - `no`  - Don't flatten structured keys\n  - `dot`  _[default]_ - Flatten structured keys with `.`\n  - `underscore`  - Flatten structured keys with `_`\n  - `dash`  - Flatten structured keys with `-`\n- `arb_locale` - Generating @@locale key\n  - `none`  - Don't generate @@locale\n  - `lang`  - Generate @@locale with language code only\n  - `full`  _[default]_ - Generate @@locale with full locale\n\n#### Filtering options\n\n  - `filterStrings` is available\n  - `filterArrays` is available\n  - `filterPlurals` is available\n\n#### Array types\n- `array` _[default]_ - Output string-array as array\n- `array_br` - Output string-array as keys suffixed by `[index]`\n\n#### Plural types\n- `plural_postfix_br` - Output plurals as keys suffixed by `[pluralForm]`\n- `plural_postfix_sd` - Output plurals as keys suffixed by `.pluralForm`\n- `plural_postfix_dd` - Output plurals as keys suffixed by `:pluralForm`\n- `plural_postfix_us` - Output plurals as keys suffixed by `_pluralForm`\n- `plural_postfix_cc` _[default]_ - Output plurals as keys suffixed by `PluralForm`\n- `plural_i18next` - Output plurals in i18Next format\n- `plural_object` - Output plurals as structured object\n- `plural_icu` - Output plurals in ICU message format\n    - _Required param:_ `variable` - Variable name for ICU message (count, variable, etc.)\n\n\n### csv | Convert to CSV\u002FTSV\n\n#### Supported input formats\n\nandroid, api, arb, csv, excel, hjson, ini, ios-plist, ios-strings, ios-stringsdict, js, json, json5, neon, ods, php, po, properties, qt-ts, resx, text, tmx, toml, xcstrings, yaml\n\n#### Parameters\n\n- `xcstrings_keep_structure` - Keeping iOS Strings Catalog structured keys.\n  - `true`  - Keep key structure\n  - `false`  _[default]_ - Convert structure to plain keys\n- `filter_untranslated` - Filtering of untranslated phrases.\n  - `true`  - Filter untranslated phrases out of the file\n  - `false`  _[default]_ - Use the source language translation for the untranslated phrases\n- `flatten_keys` - Flattening structured keys\n  - `dot`  _[default]_ - Flatten structured keys with `.`\n  - `underscore`  - Flatten structured keys with `_`\n  - `dash`  - Flatten structured keys with `-`\n- `encoding` - Output file encoding\n  - `auto`  _[default]_ - Automatic\n  - `utf8`  - UTF-8\n  - `utf16`  - UTF-16\n  - `utf16le`  - UTF-16LE\n  - `utf16be`  - UTF-16BE\n  - `ansi`  - ANSI ASCII\n- `delimiter` - Column delimiter\n  - `comma`  _[default]_ - Use COMMA as as delimiter\n  - `semicolon`  - Use SEMICOLON as a delimiter\n  - `tab`  - Use TAB as a delimiter\n- `quotes` - Quotes\n  - `double`  _[default]_ - Use double quotes\n  - `single`  - Use single quotes\n  - `backslash`  - Use backslashes\n- `force_quotes` - Force quotes\n  - `true`  - Force quotes for all values\n  - `false`  _[default]_ - Only quote values if necessary\n\n#### Filtering options\n\n  - `filterStrings` is available\n  - `filterArrays` is available\n  - `filterPlurals` is available\n\n#### Plural types\n- `plural_postfix_br` _[default]_ - Output plurals as keys suffixed by `[pluralForm]`\n- `plural_postfix_cc` - Output plurals as keys suffixed by `PluralForm`\n- `plural_icu` - Output plurals in ICU message format\n    - _Required param:_ `variable` - Variable name for ICU message (count, variable, etc.)\n\n\n### csv-multilingual | Convert to multilingual CSV\u002FTSV\n\n#### Supported input formats\n\nandroid, api, arb, csv, excel, hjson, ini, ios-plist, ios-strings, ios-stringsdict, js, json, json5, neon, ods, php, po, properties, qt-ts, resx, text, tmx, toml, xcstrings, yaml\n\n#### Parameters\n\n- `xcstrings_keep_structure` - Keeping iOS Strings Catalog structured keys.\n  - `true`  - Keep key structure\n  - `false`  _[default]_ - Convert structure to plain keys\n- `filter_untranslated` - Filtering of untranslated phrases.\n  - `true`  - Filter untranslated phrases out of the file\n  - `false`  _[default]_ - Use the source language translation for the untranslated phrases\n- `flatten_keys` - Flattening structured keys\n  - `dot`  _[default]_ - Flatten structured keys with `.`\n  - `underscore`  - Flatten structured keys with `_`\n  - `dash`  - Flatten structured keys with `-`\n- `encoding` - Output file encoding\n  - `auto`  _[default]_ - Automatic\n  - `utf8`  - UTF-8\n  - `utf16`  - UTF-16\n  - `utf16le`  - UTF-16LE\n  - `utf16be`  - UTF-16BE\n  - `ansi`  - ANSI ASCII\n- `delimiter` - Column delimiter\n  - `comma`  _[default]_ - Use COMMA as as delimiter\n  - `semicolon`  - Use SEMICOLON as a delimiter\n  - `tab`  - Use TAB as a delimiter\n- `quotes` - Quotes\n  - `double`  _[default]_ - Use double quotes\n  - `single`  - Use single quotes\n  - `backslash`  - Use backslashes\n- `force_quotes` - Force quotes\n  - `true`  - Force quotes for all values\n  - `false`  _[default]_ - Only quote values if necessary\n- `lang_format` - Format of the locale used for multilingual keys\n  - `ll-rr-scrp`  _[default]_ - LL, LL-RR, LL-SCRP, LL-RR-SCRP\n  - `ll-rr#scrp`  - LL, LL-RR, LL#SCRP, LL-RR#SCRP\n  - `ll_scrp_rr`  - LL, LL_RR, LL_SCRP, LL_SCRP_RR\n  - `ll_rr_scrp`  - LL, LL_RR, LL_SCRP, LL_RR_SCRP\n  - `ll+rr+scrp`  - LL, LL+RR, LL+SCRP, LL+RR+SCRP\n  - `ll+scrp+rr`  - LL, LL+RR, LL+SCRP, LL+SCRP+RR\n  - `ll-scrp_rr`  - LL, LL_RR, LL-SCRP, LL-SCRP_RR\n  - `locale_name`  - Locale name (English, German, ...)\n  - `bcp`  - b+LL, b+LL+RR, b+LL+SCRP, b+LL+SCRP+RR\n  - `android_noscript`  - LL, LL-rRR, LL, LL-rRR\n  - `android`  - LL, LL-rRR, b+LL+SCRP, b+LL+SCRP+RR\n\n#### Filtering options\n\n  - `filterStrings` is available\n  - `filterArrays` is available\n  - `filterPlurals` is available\n\n#### Plural types\n- `plural_postfix_br` _[default]_ - Output plurals as keys suffixed by `[pluralForm]`\n- `plural_postfix_cc` - Output plurals as keys suffixed by `PluralForm`\n- `plural_icu` - Output plurals in ICU message format\n    - _Required param:_ `variable` - Variable name for ICU message (count, variable, etc.)\n\n\n### excel | Convert to Excel (.xls\u002F.xlsx)\n\n#### Supported input formats\n\nandroid, api, arb, csv, excel, hjson, ini, ios-plist, ios-strings, ios-stringsdict, js, json, json5, neon, ods, php, po, properties, qt-ts, resx, text, tmx, toml, xcstrings, yaml\n\n#### Parameters\n\n- `xcstrings_keep_structure` - Keeping iOS Strings Catalog structured keys.\n  - `true`  - Keep key structure\n  - `false`  _[default]_ - Convert structure to plain keys\n- `filter_untranslated` - Filtering of untranslated phrases.\n  - `true`  - Filter untranslated phrases out of the file\n  - `false`  _[default]_ - Use the source language translation for the untranslated phrases\n- `flatten_keys` - Flattening structured keys\n  - `dot`  _[default]_ - Flatten structured keys with `.`\n  - `underscore`  - Flatten structured keys with `_`\n  - `dash`  - Flatten structured keys with `-`\n\n#### Filtering options\n\n  - `filterStrings` is available\n  - `filterArrays` is available\n  - `filterPlurals` is available\n\n#### Plural types\n- `plural_postfix_br` _[default]_ - Output plurals as keys suffixed by `[pluralForm]`\n- `plural_postfix_cc` - Output plurals as keys suffixed by `PluralForm`\n- `plural_icu` - Output plurals in ICU message format\n    - _Required param:_ `variable` - Variable name for ICU message (count, variable, etc.)\n\n\n### excel-multilingual | Convert to multilingual Excel (.xls\u002F.xlsx)\n\n#### Supported input formats\n\nandroid, api, arb, csv, excel, hjson, ini, ios-plist, ios-strings, ios-stringsdict, js, json, json5, neon, ods, php, po, properties, qt-ts, resx, text, tmx, toml, xcstrings, yaml\n\n#### Parameters\n\n- `xcstrings_keep_structure` - Keeping iOS Strings Catalog structured keys.\n  - `true`  - Keep key structure\n  - `false`  _[default]_ - Convert structure to plain keys\n- `filter_untranslated` - Filtering of untranslated phrases.\n  - `true`  - Filter untranslated phrases out of the file\n  - `false`  _[default]_ - Use the source language translation for the untranslated phrases\n- `flatten_keys` - Flattening structured keys\n  - `dot`  _[default]_ - Flatten structured keys with `.`\n  - `underscore`  - Flatten structured keys with `_`\n  - `dash`  - Flatten structured keys with `-`\n- `lang_format` - Format of the locale used for multilingual keys\n  - `ll-rr-scrp`  _[default]_ - LL, LL-RR, LL-SCRP, LL-RR-SCRP\n  - `ll-rr#scrp`  - LL, LL-RR, LL#SCRP, LL-RR#SCRP\n  - `ll_scrp_rr`  - LL, LL_RR, LL_SCRP, LL_SCRP_RR\n  - `ll_rr_scrp`  - LL, LL_RR, LL_SCRP, LL_RR_SCRP\n  - `ll+rr+scrp`  - LL, LL+RR, LL+SCRP, LL+RR+SCRP\n  - `ll+scrp+rr`  - LL, LL+RR, LL+SCRP, LL+SCRP+RR\n  - `ll-scrp_rr`  - LL, LL_RR, LL-SCRP, LL-SCRP_RR\n  - `locale_name`  - Locale name (English, German, ...)\n  - `bcp`  - b+LL, b+LL+RR, b+LL+SCRP, b+LL+SCRP+RR\n  - `android_noscript`  - LL, LL-rRR, LL, LL-rRR\n  - `android`  - LL, LL-rRR, b+LL+SCRP, b+LL+SCRP+RR\n- `excel_type` - Excel file format\n  - `xlsx`  _[default]_ - New OpenDocument XML format (Excel 2007+)\n  - `xls`  - Old XLS format (Excel 2003 and below)\n\n#### Filtering options\n\n  - `filterStrings` is available\n  - `filterArrays` is available\n  - `filterPlurals` is available\n\n#### Plural types\n- `plural_postfix_br` _[default]_ - Output plurals as keys suffixed by `[pluralForm]`\n- `plural_postfix_cc` - Output plurals as keys suffixed by `PluralForm`\n- `plural_icu` - Output plurals in ICU message format\n    - _Required param:_ `variable` - Variable name for ICU message (count, variable, etc.)\n\n\n### ini | Convert to INI\n\n#### Supported input formats\n\nandroid, api, arb, csv, excel, hjson, ini, ios-plist, ios-strings, ios-stringsdict, js, json, json5, neon, ods, php, po, properties, qt-ts, resx, text, tmx, toml, xcstrings, yaml\n\n#### Parameters\n\n- `xcstrings_keep_structure` - Keeping iOS Strings Catalog structured keys.\n  - `true`  - Keep key structure\n  - `false`  _[default]_ - Convert structure to plain keys\n- `filter_untranslated` - Filtering of untranslated phrases.\n  - `true`  - Filter untranslated phrases out of the file\n  - `false`  _[default]_ - Use the source language translation for the untranslated phrases\n- `force_escaping` - Forcing aggressive escaping.\n  - `true`  - Force escaping\n  - `false`  _[default]_ - Don't force unnecessary escaping\n- `flatten_keys` - Flattening structured keys\n  - `dot`  _[default]_ - Flatten structured keys with `.`\n  - `underscore`  - Flatten structured keys with `_`\n  - `dash`  - Flatten structured keys with `-`\n- `encoding` - Output file encoding\n  - `auto`  _[default]_ - Automatic\n  - `utf8`  - UTF-8\n  - `utf16`  - UTF-16\n  - `utf16le`  - UTF-16LE\n  - `utf16be`  - UTF-16BE\n  - `ansi`  - ANSI ASCII\n\n#### Filtering options\n\n  - `filterStrings` is available\n  - `filterArrays` is available\n  - `filterPlurals` is available\n\n#### Plural types\n- `plural_postfix_br` _[default]_ - Output plurals as keys suffixed by `[pluralForm]`\n- `plural_postfix_cc` - Output plurals as keys suffixed by `PluralForm`\n- `plural_icu` - Output plurals in ICU message format\n    - _Required param:_ `variable` - Variable name for ICU message (count, variable, etc.)\n\n\n### ini-multilingual | Convert to multilingual INI\n\n#### Supported input formats\n\nandroid, api, arb, csv, excel, hjson, ini, ios-plist, ios-strings, ios-stringsdict, js, json, json5, neon, ods, php, po, properties, qt-ts, resx, text, tmx, toml, xcstrings, yaml\n\n#### Parameters\n\n- `xcstrings_keep_structure` - Keeping iOS Strings Catalog structured keys.\n  - `true`  - Keep key structure\n  - `false`  _[default]_ - Convert structure to plain keys\n- `filter_untranslated` - Filtering of untranslated phrases.\n  - `true`  - Filter untranslated phrases out of the file\n  - `false`  _[default]_ - Use the source language translation for the untranslated phrases\n- `force_escaping` - Forcing aggressive escaping.\n  - `true`  - Force escaping\n  - `false`  _[default]_ - Don't force unnecessary escaping\n- `flatten_keys` - Flattening structured keys\n  - `dot`  _[default]_ - Flatten structured keys with `.`\n  - `underscore`  - Flatten structured keys with `_`\n  - `dash`  - Flatten structured keys with `-`\n- `encoding` - Output file encoding\n  - `auto`  _[default]_ - Automatic\n  - `utf8`  - UTF-8\n  - `utf16`  - UTF-16\n  - `utf16le`  - UTF-16LE\n  - `utf16be`  - UTF-16BE\n  - `ansi`  - ANSI ASCII\n- `lang_format` - Format of the locale used for multilingual keys\n  - `ll-rr-scrp`  _[default]_ - LL, LL-RR, LL-SCRP, LL-RR-SCRP\n  - `ll-rr#scrp`  - LL, LL-RR, LL#SCRP, LL-RR#SCRP\n  - `ll_scrp_rr`  - LL, LL_RR, LL_SCRP, LL_SCRP_RR\n  - `ll_rr_scrp`  - LL, LL_RR, LL_SCRP, LL_RR_SCRP\n  - `ll+rr+scrp`  - LL, LL+RR, LL+SCRP, LL+RR+SCRP\n  - `ll+scrp+rr`  - LL, LL+RR, LL+SCRP, LL+SCRP+RR\n  - `ll-scrp_rr`  - LL, LL_RR, LL-SCRP, LL-SCRP_RR\n  - `locale_name`  - Locale name (English, German, ...)\n  - `bcp`  - b+LL, b+LL+RR, b+LL+SCRP, b+LL+SCRP+RR\n  - `android_noscript`  - LL, LL-rRR, LL, LL-rRR\n  - `android`  - LL, LL-rRR, b+LL+SCRP, b+LL+SCRP+RR\n\n#### Filtering options\n\n  - `filterStrings` is available\n  - `filterArrays` is available\n  - `filterPlurals` is available\n\n#### Plural types\n- `plural_postfix_br` _[default]_ - Output plurals as keys suffixed by `[pluralForm]`\n- `plural_postfix_cc` - Output plurals as keys suffixed by `PluralForm`\n- `plural_icu` - Output plurals in ICU message format\n    - _Required param:_ `variable` - Variable name for ICU message (count, variable, etc.)\n\n\n### ios-strings | Convert to iOS's .strings\n\n#### Supported input formats\n\nandroid, api, arb, csv, excel, hjson, ini, ios-plist, ios-strings, ios-stringsdict, js, json, json5, neon, ods, php, po, properties, qt-ts, resx, text, tmx, toml, xcstrings, yaml\n\n#### Parameters\n\n- `xcstrings_keep_structure` - Keeping iOS Strings Catalog structured keys.\n  - `true`  - Keep key structure\n  - `false`  _[default]_ - Convert structure to plain keys\n- `flatten_keys` - Flattening structured keys\n  - `dot`  _[default]_ - Flatten structured keys with `.`\n  - `underscore`  - Flatten structured keys with `_`\n  - `dash`  - Flatten structured keys with `-`\n- `encoding` - Output file encoding\n  - `auto`  _[default]_ - Automatic\n  - `utf8`  - UTF-8\n  - `utf16`  - UTF-16\n  - `utf16le`  - UTF-16LE\n  - `utf16be`  - UTF-16BE\n\n#### Filtering options\n\n  - `filterStrings` is available\n  - `filterArrays` is available\n  - `filterPlurals` is available\n\n\n### ios-stringsdict | Convert to iOS's .stringsdict\n\n#### Supported input formats\n\nandroid, api, arb, csv, excel, hjson, ini, ios-plist, ios-strings, ios-stringsdict, js, json, json5, neon, ods, php, po, properties, qt-ts, resx, tmx, toml, xcstrings, yaml\n\n#### Parameters\n\n- `filter_untranslated` - Filtering of untranslated phrases.\n  - `true`  - Filter untranslated phrases out of the file.\n  - `false`  _[default]_ - Use the source language translation for the untranslated phrases.\n- `flatten_keys` - Flattening structured keys\n  - `dot`  _[default]_ - Flatten structured keys with `.`\n  - `underscore`  - Flatten structured keys with `_`\n  - `dash`  - Flatten structured keys with `-`\n\n#### Filtering options\n\n  - strings are filtered out\n  - arrays are filtered out\n\n#### Required parameters\n- `variable` - Variable name for plural structure (VARIABLE, COUNT, ...)\n\n\n### json | Convert to JSON\n\n#### Supported input formats\n\nandroid, api, arb, csv, excel, hjson, ini, ios-plist, ios-strings, ios-stringsdict, js, json, json5, neon, ods, php, po, properties, qt-ts, resx, text, tmx, toml, xcstrings, yaml\n\n#### Parameters\n\n- `xcstrings_keep_structure` - Keeping iOS Strings Catalog structured keys.\n  - `true`  - Keep key structure\n  - `false`  _[default]_ - Convert structure to plain keys\n- `filter_untranslated` - Filtering of untranslated phrases\n  - `true`  - Filter untranslated phrases out of the file\n  - `false`  _[default]_ - Use the source language translation for the untranslated phrases\n- `clear_params` - Clearing additional phrases metadata.\n  - `true`  - Clear all additional phrase metadata\n  - `false`  _[default]_ - Keep additional phrase metadata, except for those changed for plurals\u002Farrays\n- `flatten_keys` - Flattening structured keys\n  - `no`  _[default]_ - Don't flatten structured keys\n  - `dot`  - Flatten structured keys with `.`\n  - `underscore`  - Flatten structured keys with `_`\n  - `dash`  - Flatten structured keys with `-`\n\n#### Filtering options\n\n  - `filterStrings` is available\n  - `filterArrays` is available\n  - `filterPlurals` is available\n\n#### Array types\n- `array` _[default]_ - Output string-array as array\n- `array_br` - Output string-array as keys suffixed by `[index]`\n\n#### Plural types\n- `plural_postfix_br` _[default]_ - Output plurals as keys suffixed by `[pluralForm]`\n- `plural_postfix_sd` - Output plurals as keys suffixed by `.pluralForm`\n- `plural_postfix_dd` - Output plurals as keys suffixed by `:pluralForm`\n- `plural_postfix_us` - Output plurals as keys suffixed by `_pluralForm`\n- `plural_postfix_cc` - Output plurals as keys suffixed by `PluralForm`\n- `plural_i18next` - Output plurals in i18Next format\n- `plural_object` - Output plurals as structured object\n- `plural_icu` - Output plurals in ICU message format\n    - _Required param:_ `variable` - Variable name for ICU message (count, variable, etc.)\n- `plural_array` - Output plurals as array of objects\n    - _Required param:_ `type` - Key used for storing the plural type\n    - _Required param:_ `content` - Key used for storing the translation\n\n\n### json-mozilla | Convert to Mozilla i18n JSON\n\n#### Supported input formats\n\nandroid, api, arb, csv, excel, hjson, ini, ios-plist, ios-strings, ios-stringsdict, js, json, json5, neon, ods, php, po, properties, qt-ts, resx, text, tmx, toml, xcstrings, yaml\n\n#### Parameters\n\n- `xcstrings_keep_structure` - Keeping iOS Strings Catalog structured keys.\n  - `true`  - Keep key structure\n  - `false`  _[default]_ - Convert structure to plain keys\n- `filter_untranslated` - Filtering of untranslated phrases\n  - `true`  - Filter untranslated phrases out of the file\n  - `false`  _[default]_ - Use the source language translation for the untranslated phrases\n- `flatten_keys` - Flattening structured keys\n  - `no`  _[default]_ - Don't flatten structured keys\n  - `dot`  - Flatten structured keys with `.`\n  - `underscore`  - Flatten structured keys with `_`\n  - `dash`  - Flatten structured keys with `-`\n\n#### Filtering options\n\n  - `filterStrings` is available\n  - `filterArrays` is available\n  - `filterPlurals` is available\n\n#### Plural types\n- `plural_postfix_br` _[default]_ - Output plurals as keys suffixed by `[pluralForm]`\n- `plural_postfix_sd` - Output plurals as keys suffixed by `.pluralForm`\n- `plural_postfix_dd` - Output plurals as keys suffixed by `:pluralForm`\n- `plural_postfix_us` - Output plurals as keys suffixed by `_pluralForm`\n- `plural_postfix_cc` - Output plurals as keys suffixed by `PluralForm`\n- `plural_i18next` - Output plurals in i18Next format\n- `plural_icu` - Output plurals in ICU message format\n    - _Required param:_ `variable` - Variable name for ICU message (count, variable, etc.)\n\n\n### json-multilingual | Convert to multilingual JSON\n\n#### Supported input formats\n\nandroid, api, arb, csv, excel, hjson, ini, ios-plist, ios-strings, ios-stringsdict, js, json, json5, neon, ods, php, po, properties, qt-ts, resx, text, tmx, toml, xcstrings, yaml\n\n#### Parameters\n\n- `xcstrings_keep_structure` - Keeping iOS Strings Catalog structured keys.\n  - `true`  - Keep key structure\n  - `false`  _[default]_ - Convert structure to plain keys\n- `filter_untranslated` - Filtering of untranslated phrases\n  - `true`  - Filter untranslated phrases out of the file\n  - `false`  _[default]_ - Use the source language translation for the untranslated phrases\n- `clear_params` - Clearing additional phrases metadata.\n  - `true`  - Clear all additional phrase metadata\n  - `false`  _[default]_ - Keep additional phrase metadata, except for those changed for plurals\u002Farrays\n- `flatten_keys` - Flattening structured keys\n  - `no`  _[default]_ - Don't flatten structured keys\n  - `dot`  - Flatten structured keys with `.`\n  - `underscore`  - Flatten structured keys with `_`\n  - `dash`  - Flatten structured keys with `-`\n- `lang_format` - Format of the locale used for multilingual keys\n  - `ll-rr-scrp`  _[default]_ - LL, LL-RR, LL-SCRP, LL-RR-SCRP\n  - `ll-rr#scrp`  - LL, LL-RR, LL#SCRP, LL-RR#SCRP\n  - `ll_scrp_rr`  - LL, LL_RR, LL_SCRP, LL_SCRP_RR\n  - `ll_rr_scrp`  - LL, LL_RR, LL_SCRP, LL_RR_SCRP\n  - `ll+rr+scrp`  - LL, LL+RR, LL+SCRP, LL+RR+SCRP\n  - `ll+scrp+rr`  - LL, LL+RR, LL+SCRP, LL+SCRP+RR\n  - `ll-scrp_rr`  - LL, LL_RR, LL-SCRP, LL-SCRP_RR\n  - `locale_name`  - Locale name (English, German, ...)\n  - `bcp`  - b+LL, b+LL+RR, b+LL+SCRP, b+LL+SCRP+RR\n  - `android_noscript`  - LL, LL-rRR, LL, LL-rRR\n  - `android`  - LL, LL-rRR, b+LL+SCRP, b+LL+SCRP+RR\n\n#### Filtering options\n\n  - `filterStrings` is available\n  - `filterArrays` is available\n  - `filterPlurals` is available\n\n#### Array types\n- `array` _[default]_ - Output string-array as array\n- `array_br` - Output string-array as keys suffixed by `[index]`\n\n#### Plural types\n- `plural_postfix_br` _[default]_ - Output plurals as keys suffixed by `[pluralForm]`\n- `plural_postfix_sd` - Output plurals as keys suffixed by `.pluralForm`\n- `plural_postfix_dd` - Output plurals as keys suffixed by `:pluralForm`\n- `plural_postfix_us` - Output plurals as keys suffixed by `_pluralForm`\n- `plural_postfix_cc` - Output plurals as keys suffixed by `PluralForm`\n- `plural_i18next` - Output plurals in i18Next format\n- `plural_object` - Output plurals as structured object\n- `plural_icu` - Output plurals in ICU message format\n    - _Required param:_ `variable` - Variable name for ICU message (count, variable, etc.)\n- `plural_array` - Output plurals as array of objects\n    - _Required param:_ `type` - Key used for storing the plural type\n    - _Required param:_ `content` - Key used for storing the translation\n\n\n### mo | Convert to Gettext MO file\n\n#### Supported input formats\n\nandroid, api, arb, csv, excel, hjson, ini, ios-plist, ios-strings, ios-stringsdict, js, json, json5, neon, ods, php, po, properties, qt-ts, resx, text, tmx, toml, xcstrings, yaml\n\n#### Parameters\n\n- `xcstrings_keep_structure` - Keeping iOS Strings Catalog structured keys.\n  - `true`  - Keep key structure\n  - `false`  _[default]_ - Convert structure to plain keys\n- `flatten_keys` - Flattening structured keys\n  - `dot`  _[default]_ - Flatten structured keys with `.`\n  - `underscore`  - Flatten structured keys with `_`\n  - `dash`  - Flatten structured keys with `-`\n- `encoding` - Output file encoding\n  - `auto`  _[default]_ - Automatic\n  - `utf8`  - UTF-8\n  - `utf16`  - UTF-16\n  - `utf16le`  - UTF-16LE\n  - `utf16be`  - UTF-16BE\n\n#### Filtering options\n\n  - `filterStrings` is available\n  - `filterArrays` is available\n  - `filterPlurals` is available\n\n\n### neon | Convert to Nette Neon\n\n#### Supported input formats\n\nandroid, api, arb, csv, excel, hjson, ini, ios-plist, ios-strings, ios-stringsdict, js, json, json5, neon, ods, php, po, properties, qt-ts, resx, text, tmx, toml, xcstrings, yaml\n\n#### Parameters\n\n- `xcstrings_keep_structure` - Keeping iOS Strings Catalog structured keys.\n  - `true`  - Keep key structure\n  - `false`  _[default]_ - Convert structure to plain keys\n- `filter_untranslated` - Filtering of untranslated phrases\n  - `true`  - Filter untranslated phrases out of the file\n  - `false`  _[default]_ - Use the source language translation for the untranslated phrases\n- `clear_params` - Clearing additional phrases metadata.\n  - `true`  - Clear all additional phrase metadata\n  - `false`  _[default]_ - Keep additional phrase metadata, except for those changed for plurals\u002Farrays\n- `flatten_keys` - Flattening structured keys\n  - `no`  _[default]_ - Don't flatten structured keys\n  - `dot`  - Flatten structured keys with `.`\n  - `underscore`  - Flatten structured keys with `_`\n  - `dash`  - Flatten structured keys with `-`\n\n#### Filtering options\n\n  - `filterStrings` is available\n  - `filterArrays` is available\n  - `filterPlurals` is available\n\n#### Array types\n- `array` _[default]_ - Output string-array as array\n- `array_br` - Output string-array as keys suffixed by `[index]`\n\n#### Plural types\n- `plural_postfix_br` _[default]_ - Output plurals as keys suffixed by `[pluralForm]`\n- `plural_postfix_sd` - Output plurals as keys suffixed by `.pluralForm`\n- `plural_postfix_dd` - Output plurals as keys suffixed by `:pluralForm`\n- `plural_postfix_us` - Output plurals as keys suffixed by `_pluralForm`\n- `plural_postfix_cc` - Output plurals as keys suffixed by `PluralForm`\n- `plural_i18next` - Output plurals in i18Next format\n- `plural_object` - Output plurals as structured object\n- `plural_icu` - Output plurals in ICU message format\n    - _Required param:_ `variable` - Variable name for ICU message (count, variable, etc.)\n- `plural_array` - Output plurals as array of objects\n    - _Required param:_ `type` - Key used for storing the plural type\n    - _Required param:_ `content` - Key used for storing the translation\n\n\n### neon-multilingual | Convert to multilingual Nette Neon\n\n#### Supported input formats\n\nandroid, api, arb, csv, excel, hjson, ini, ios-plist, ios-strings, ios-stringsdict, js, json, json5, neon, ods, php, po, properties, qt-ts, resx, text, tmx, toml, xcstrings, yaml\n\n#### Parameters\n\n- `xcstrings_keep_structure` - Keeping iOS Strings Catalog structured keys.\n  - `true`  - Keep key structure\n  - `false`  _[default]_ - Convert structure to plain keys\n- `filter_untranslated` - Filtering of untranslated phrases\n  - `true`  - Filter untranslated phrases out of the file\n  - `false`  _[default]_ - Use the source language translation for the untranslated phrases\n- `clear_params` - Clearing additional phrases metadata.\n  - `true`  - Clear all additional phrase metadata\n  - `false`  _[default]_ - Keep additional phrase metadata, except for those changed for plurals\u002Farrays\n- `flatten_keys` - Flattening structured keys\n  - `no`  _[default]_ - Don't flatten structured keys\n  - `dot`  - Flatten structured keys with `.`\n  - `underscore`  - Flatten structured keys with `_`\n  - `dash`  - Flatten structured keys with `-`\n- `lang_format` - Format of the locale used for multilingual keys\n  - `ll-rr-scrp`  _[default]_ - LL, LL-RR, LL-SCRP, LL-RR-SCRP\n  - `ll-rr#scrp`  - LL, LL-RR, LL#SCRP, LL-RR#SCRP\n  - `ll_scrp_rr`  - LL, LL_RR, LL_SCRP, LL_SCRP_RR\n  - `ll_rr_scrp`  - LL, LL_RR, LL_SCRP, LL_RR_SCRP\n  - `ll+rr+scrp`  - LL, LL+RR, LL+SCRP, LL+RR+SCRP\n  - `ll+scrp+rr`  - LL, LL+RR, LL+SCRP, LL+SCRP+RR\n  - `ll-scrp_rr`  - LL, LL_RR, LL-SCRP, LL-SCRP_RR\n  - `locale_name`  - Locale name (English, German, ...)\n  - `bcp`  - b+LL, b+LL+RR, b+LL+SCRP, b+LL+SCRP+RR\n  - `android_noscript`  - LL, LL-rRR, LL, LL-rRR\n  - `android`  - LL, LL-rRR, b+LL+SCRP, b+LL+SCRP+RR\n\n#### Filtering options\n\n  - `filterStrings` is available\n  - `filterArrays` is available\n  - `filterPlurals` is available\n\n#### Array types\n- `array` _[default]_ - Output string-array as array\n- `array_br` - Output string-array as keys suffixed by `[index]`\n\n#### Plural types\n- `plural_postfix_br` _[default]_ - Output plurals as keys suffixed by `[pluralForm]`\n- `plural_postfix_sd` - Output plurals as keys suffixed by `.pluralForm`\n- `plural_postfix_dd` - Output plurals as keys suffixed by `:pluralForm`\n- `plural_postfix_us` - Output plurals as keys suffixed by `_pluralForm`\n- `plural_postfix_cc` - Output plurals as keys suffixed by `PluralForm`\n- `plural_i18next` - Output plurals in i18Next format\n- `plural_object` - Output plurals as structured object\n- `plural_icu` - Output plurals in ICU message format\n    - _Required param:_ `variable` - Variable name for ICU message (count, variable, etc.)\n- `plural_array` - Output plurals as array of objects\n    - _Required param:_ `type` - Key used for storing the plural type\n    - _Required param:_ `content` - Key used for storing the translation\n\n\n### ods | Convert to OpenOffice (.ods)\n\n#### Supported input formats\n\nandroid, api, arb, csv, excel, hjson, ini, ios-plist, ios-strings, ios-stringsdict, js, json, json5, neon, ods, php, po, properties, qt-ts, resx, text, tmx, toml, xcstrings, yaml\n\n#### Parameters\n\n- `xcstrings_keep_structure` - Keeping iOS Strings Catalog structured keys.\n  - `true`  - Keep key structure\n  - `false`  _[default]_ - Convert structure to plain keys\n- `filter_untranslated` - Filtering of untranslated phrases.\n  - `true`  - Filter untranslated phrases out of the file\n  - `false`  _[default]_ - Use the source language translation for the untranslated phrases\n- `flatten_keys` - Flattening structured keys\n  - `dot`  _[default]_ - Flatten structured keys with `.`\n  - `underscore`  - Flatten structured keys with `_`\n  - `dash`  - Flatten structured keys with `-`\n\n#### Filtering options\n\n  - `filterStrings` is available\n  - `filterArrays` is available\n  - `filterPlurals` is available\n\n#### Plural types\n- `plural_postfix_br` _[default]_ - Output plurals as keys suffixed by `[pluralForm]`\n- `plural_postfix_cc` - Output plurals as keys suffixed by `PluralForm`\n- `plural_icu` - Output plurals in ICU message format\n    - _Required param:_ `variable` - Variable name for ICU message (count, variable, etc.)\n\n\n### ods-multilingual | Convert to multilingual OpenOffice (.ods)\n\n#### Supported input formats\n\nandroid, api, arb, csv, excel, hjson, ini, ios-plist, ios-strings, ios-stringsdict, js, json, json5, neon, ods, php, po, properties, qt-ts, resx, text, tmx, toml, xcstrings, yaml\n\n#### Parameters\n\n- `xcstrings_keep_structure` - Keeping iOS Strings Catalog structured keys.\n  - `true`  - Keep key structure\n  - `false`  _[default]_ - Convert structure to plain keys\n- `filter_untranslated` - Filtering of untranslated phrases.\n  - `true`  - Filter untranslated phrases out of the file\n  - `false`  _[default]_ - Use the source language translation for the untranslated phrases\n- `flatten_keys` - Flattening structured keys\n  - `dot`  _[default]_ - Flatten structured keys with `.`\n  - `underscore`  - Flatten structured keys with `_`\n  - `dash`  - Flatten structured keys with `-`\n- `lang_format` - Format of the locale used for multilingual keys\n  - `ll-rr-scrp`  _[default]_ - LL, LL-RR, LL-SCRP, LL-RR-SCRP\n  - `ll-rr#scrp`  - LL, LL-RR, LL#SCRP, LL-RR#SCRP\n  - `ll_scrp_rr`  - LL, LL_RR, LL_SCRP, LL_SCRP_RR\n  - `ll_rr_scrp`  - LL, LL_RR, LL_SCRP, LL_RR_SCRP\n  - `ll+rr+scrp`  - LL, LL+RR, LL+SCRP, LL+RR+SCRP\n  - `ll+scrp+rr`  - LL, LL+RR, LL+SCRP, LL+SCRP+RR\n  - `ll-scrp_rr`  - LL, LL_RR, LL-SCRP, LL-SCRP_RR\n  - `locale_name`  - Locale name (English, German, ...)\n  - `bcp`  - b+LL, b+LL+RR, b+LL+SCRP, b+LL+SCRP+RR\n  - `android_noscript`  - LL, LL-rRR, LL, LL-rRR\n  - `android`  - LL, LL-rRR, b+LL+SCRP, b+LL+SCRP+RR\n\n#### Filtering options\n\n  - `filterStrings` is available\n  - `filterArrays` is available\n  - `filterPlurals` is available\n\n#### Plural types\n- `plural_postfix_br` _[default]_ - Output plurals as keys suffixed by `[pluralForm]`\n- `plural_postfix_cc` - Output plurals as keys suffixed by `PluralForm`\n- `plural_icu` - Output plurals in ICU message format\n    - _Required param:_ `variable` - Variable name for ICU message (count, variable, etc.)\n\n\n### php | Convert to PHP\n\n#### Supported input formats\n\nandroid, api, arb, csv, excel, hjson, ini, ios-plist, ios-strings, ios-stringsdict, js, json, json5, neon, ods, php, po, properties, qt-ts, resx, text, tmx, toml, xcstrings, yaml\n\n#### Parameters\n\n- `xcstrings_keep_structure` - Keeping iOS Strings Catalog structured keys.\n  - `true`  - Keep key structure\n  - `false`  _[default]_ - Convert structure to plain keys\n- `filter_untranslated` - Filtering of untranslated phrases\n  - `true`  - Filter untranslated phrases out of the file\n  - `false`  _[default]_ - Use the source language translation for the untranslated phrases\n- `clear_params` - Clearing additional phrases metadata.\n  - `true`  - Clear all additional phrase metadata\n  - `false`  _[default]_ - Keep additional phrase metadata, except for those changed for plurals\u002Farrays\n- `flatten_keys` - Flattening structured keys\n  - `no`  _[default]_ - Don't flatten structured keys\n  - `dot`  - Flatten structured keys with `.`\n  - `underscore`  - Flatten structured keys with `_`\n  - `dash`  - Flatten structured keys with `-`\n\n#### Filtering options\n\n  - `filterStrings` is available\n  - `filterArrays` is available\n  - `filterPlurals` is available\n\n#### Array types\n- `array` _[default]_ - Output string-array as array\n- `array_br` - Output string-array as keys suffixed by `[index]`\n\n#### Plural types\n- `plural_postfix_br` _[default]_ - Output plurals as keys suffixed by `[pluralForm]`\n- `plural_postfix_sd` - Output plurals as keys suffixed by `.pluralForm`\n- `plural_postfix_dd` - Output plurals as keys suffixed by `:pluralForm`\n- `plural_postfix_us` - Output plurals as keys suffixed by `_pluralForm`\n- `plural_postfix_cc` - Output plurals as keys suffixed by `PluralForm`\n- `plural_i18next` - Output plurals in i18Next format\n- `plural_object` - Output plurals as structured object\n- `plural_icu` - Output plurals in ICU message format\n    - _Required param:_ `variable` - Variable name for ICU message (count, variable, etc.)\n- `plural_array` - Output plurals as array of objects\n    - _Required param:_ `type` - Key used for storing the plural type\n    - _Required param:_ `content` - Key used for storing the translation\n\n\n### php-multilingual | Convert to multilingual PHP\n\n#### Supported input formats\n\nandroid, api, arb, csv, excel, hjson, ini, ios-plist, ios-strings, ios-stringsdict, js, json, json5, neon, ods, php, po, properties, qt-ts, resx, text, tmx, toml, xcstrings, yaml\n\n#### Parameters\n\n- `xcstrings_keep_structure` - Keeping iOS Strings Catalog structured keys.\n  - `true`  - Keep key structure\n  - `false`  _[default]_ - Convert structure to plain keys\n- `filter_untranslated` - Filtering of untranslated phrases\n  - `true`  - Filter untranslated phrases out of the file\n  - `false`  _[default]_ - Use the source language translation for the untranslated phrases\n- `clear_params` - Clearing additional phrases metadata.\n  - `true`  - Clear all additional phrase metadata\n  - `false`  _[default]_ - Keep additional phrase metadata, except for those changed for plurals\u002Farrays\n- `flatten_keys` - Flattening structured keys\n  - `no`  _[default]_ - Don't flatten structured keys\n  - `dot`  - Flatten structured keys with `.`\n  - `underscore`  - Flatten structured keys with `_`\n  - `dash`  - Flatten structured keys with `-`\n- `lang_format` - Format of the locale used for multilingual keys\n  - `ll-rr-scrp`  _[default]_ - LL, LL-RR, LL-SCRP, LL-RR-SCRP\n  - `ll-rr#scrp`  - LL, LL-RR, LL#SCRP, LL-RR#SCRP\n  - `ll_scrp_rr`  - LL, LL_RR, LL_SCRP, LL_SCRP_RR\n  - `ll_rr_scrp`  - LL, LL_RR, LL_SCRP, LL_RR_SCRP\n  - `ll+rr+scrp`  - LL, LL+RR, LL+SCRP, LL+RR+SCRP\n  - `ll+scrp+rr`  - LL, LL+RR, LL+SCRP, LL+SCRP+RR\n  - `ll-scrp_rr`  - LL, LL_RR, LL-SCRP, LL-SCRP_RR\n  - `locale_name`  - Locale name (English, German, ...)\n  - `bcp`  - b+LL, b+LL+RR, b+LL+SCRP, b+LL+SCRP+RR\n  - `android_noscript`  - LL, LL-rRR, LL, LL-rRR\n  - `android`  - LL, LL-rRR, b+LL+SCRP, b+LL+SCRP+RR\n\n#### Filtering options\n\n  - `filterStrings` is available\n  - `filterArrays` is available\n  - `filterPlurals` is available\n\n#### Array types\n- `array` _[default]_ - Output string-array as array\n- `array_br` - Output string-array as keys suffixed by `[index]`\n\n#### Plural types\n- `plural_postfix_br` _[default]_ - Output plurals as keys suffixed by `[pluralForm]`\n- `plural_postfix_sd` - Output plurals as keys suffixed by `.pluralForm`\n- `plural_postfix_dd` - Output plurals as keys suffixed by `:pluralForm`\n- `plural_postfix_us` - Output plurals as keys suffixed by `_pluralForm`\n- `plural_postfix_cc` - Output plurals as keys suffixed by `PluralForm`\n- `plural_i18next` - Output plurals in i18Next format\n- `plural_object` - Output plurals as structured object\n- `plural_icu` - Output plurals in ICU message format\n    - _Required param:_ `variable` - Variable name for ICU message (count, variable, etc.)\n- `plural_array` - Output plurals as array of objects\n    - _Required param:_ `type` - Key used for storing the plural type\n    - _Required param:_ `content` - Key used for storing the translation\n\n\n### po | Convert to Gettext PO file\n\n#### Supported input formats\n\nandroid, api, arb, csv, excel, hjson, ini, ios-plist, ios-strings, ios-stringsdict, js, json, json5, neon, ods, php, po, properties, qt-ts, resx, text, tmx, toml, xcstrings, yaml\n\n#### Parameters\n\n- `xcstrings_keep_structure` - Keeping iOS Strings Catalog structured keys.\n  - `true`  - Keep key structure\n  - `false`  _[default]_ - Convert structure to plain keys\n- `flatten_keys` - Flattening structured keys\n  - `dot`  _[default]_ - Flatten structured keys with `.`\n  - `underscore`  - Flatten structured keys with `_`\n  - `dash`  - Flatten structured keys with `-`\n- `encoding` - Output file encoding\n  - `auto`  _[default]_ - Automatic\n  - `utf8`  - UTF-8\n  - `utf16`  - UTF-16\n  - `utf16le`  - UTF-16LE\n  - `utf16be`  - UTF-16BE\n\n#### Filtering options\n\n  - `filterStrings` is available\n  - `filterArrays` is available\n  - `filterPlurals` is available\n\n\n### tmx | Convert to Translation Memory (TMX)\n\n#### Supported input formats\n\nandroid, api, arb, csv, excel, hjson, ini, ios-plist, ios-strings, ios-stringsdict, js, json, json5, neon, ods, php, po, properties, qt-ts, resx, text, tmx, toml, xcstrings, yaml\n\n#### Parameters\n\n- `xcstrings_keep_structure` - Keeping iOS Strings Catalog structured keys.\n  - `true`  - Keep key structure\n  - `false`  _[default]_ - Convert structure to plain keys\n- `flatten_keys` - Flattening structured keys\n  - `dot`  _[default]_ - Flatten structured keys with `.`\n  - `underscore`  - Flatten structured keys with `_`\n  - `dash`  - Flatten structured keys with `-`\n\n#### Filtering options\n\n  - `filterStrings` is available\n  - `filterPlurals` is available\n  - arrays are filtered out\n\n\n### toml | Convert to TOML\n\n#### Supported input formats\n\nandroid, api, arb, csv, excel, hjson, ini, ios-plist, ios-strings, ios-stringsdict, js, json, json5, neon, ods, php, po, properties, qt-ts, resx, text, tmx, toml, xcstrings, yaml\n\n#### Parameters\n\n- `xcstrings_keep_structure` - Keeping iOS Strings Catalog structured keys.\n  - `true`  - Keep key structure\n  - `false`  _[default]_ - Convert structure to plain keys\n- `filter_untranslated` - Filtering of untranslated phrases\n  - `true`  - Filter untranslated phrases out of the file\n  - `false`  _[default]_ - Use the source language translation for the untranslated phrases\n- `clear_params` - Clearing additional phrases metadata.\n  - `true`  - Clear all additional phrase metadata\n  - `false`  _[default]_ - Keep additional phrase metadata, except for those changed for plurals\u002Farrays\n- `flatten_keys` - Flattening structured keys\n  - `no`  _[default]_ - Don't flatten structured keys\n  - `dot`  - Flatten structured keys with `.`\n  - `underscore`  - Flatten structured keys with `_`\n  - `dash`  - Flatten structured keys with `-`\n\n#### Filtering options\n\n  - `filterStrings` is available\n  - `filterArrays` is available\n  - `filterPlurals` is available\n\n#### Array types\n- `array` _[default]_ - Output string-array as array\n- `array_br` - Output string-array as keys suffixed by `[index]`\n\n#### Plural types\n- `plural_postfix_br` _[default]_ - Output plurals as keys suffixed by `[pluralForm]`\n- `plural_postfix_sd` - Output plurals as keys suffixed by `.pluralForm`\n- `plural_postfix_dd` - Output plurals as keys suffixed by `:pluralForm`\n- `plural_postfix_us` - Output plurals as keys suffixed by `_pluralForm`\n- `plural_postfix_cc` - Output plurals as keys suffixed by `PluralForm`\n- `plural_i18next` - Output plurals in i18Next format\n- `plural_object` - Output plurals as structured object\n- `plural_icu` - Output plurals in ICU message format\n    - _Required param:_ `variable` - Variable name for ICU message (count, variable, etc.)\n- `plural_array` - Output plurals as array of objects\n    - _Required param:_ `type` - Key used for storing the plural type\n    - _Required param:_ `content` - Key used for storing the translation\n\n\n### toml-multilingual | Convert to multilingual TOML\n\n#### Supported input formats\n\nandroid, api, arb, csv, excel, hjson, ini, ios-plist, ios-strings, ios-stringsdict, js, json, json5, neon, ods, php, po, properties, qt-ts, resx, text, tmx, toml, xcstrings, yaml\n\n#### Parameters\n\n- `xcstrings_keep_structure` - Keeping iOS Strings Catalog structured keys.\n  - `true`  - Keep key structure\n  - `false`  _[default]_ - Convert structure to plain keys\n- `filter_untranslated` - Filtering of untranslated phrases\n  - `true`  - Filter untranslated phrases out of the file\n  - `false`  _[default]_ - Use the source language translation for the untranslated phrases\n- `clear_params` - Clearing additional phrases metadata.\n  - `true`  - Clear all additional phrase metadata\n  - `false`  _[default]_ - Keep additional phrase metadata, except for those changed for plurals\u002Farrays\n- `flatten_keys` - Flattening structured keys\n  - `no`  _[default]_ - Don't flatten structured keys\n  - `dot`  - Flatten structured keys with `.`\n  - `underscore`  - Flatten structured keys with `_`\n  - `dash`  - Flatten structured keys with `-`\n- `lang_format` - Format of the locale used for multilingual keys\n  - `ll-rr-scrp`  _[default]_ - LL, LL-RR, LL-SCRP, LL-RR-SCRP\n  - `ll-rr#scrp`  - LL, LL-RR, LL#SCRP, LL-RR#SCRP\n  - `ll_scrp_rr`  - LL, LL_RR, LL_SCRP, LL_SCRP_RR\n  - `ll_rr_scrp`  - LL, LL_RR, LL_SCRP, LL_RR_SCRP\n  - `ll+rr+scrp`  - LL, LL+RR, LL+SCRP, LL+RR+SCRP\n  - `ll+scrp+rr`  - LL, LL+RR, LL+SCRP, LL+SCRP+RR\n  - `ll-scrp_rr`  - LL, LL_RR, LL-SCRP, LL-SCRP_RR\n  - `locale_name`  - Locale name (English, German, ...)\n  - `bcp`  - b+LL, b+LL+RR, b+LL+SCRP, b+LL+SCRP+RR\n  - `android_noscript`  - LL, LL-rRR, LL, LL-rRR\n  - `android`  - LL, LL-rRR, b+LL+SCRP, b+LL+SCRP+RR\n\n#### Filtering options\n\n  - `filterStrings` is available\n  - `filterArrays` is available\n  - `filterPlurals` is available\n\n#### Array types\n- `array` _[default]_ - Output string-array as array\n- `array_br` - Output string-array as keys suffixed by `[index]`\n\n#### Plural types\n- `plural_postfix_br` _[default]_ - Output plurals as keys suffixed by `[pluralForm]`\n- `plural_postfix_sd` - Output plurals as keys suffixed by `.pluralForm`\n- `plural_postfix_dd` - Output plurals as keys suffixed by `:pluralForm`\n- `plural_postfix_us` - Output plurals as keys suffixed by `_pluralForm`\n- `plural_postfix_cc` - Output plurals as keys suffixed by `PluralForm`\n- `plural_i18next` - Output plurals in i18Next format\n- `plural_object` - Output plurals as structured object\n- `plural_icu` - Output plurals in ICU message format\n    - _Required param:_ `variable` - Variable name for ICU message (count, variable, etc.)\n- `plural_array` - Output plurals as array of objects\n    - _Required param:_ `type` - Key used for storing the plural type\n    - _Required param:_ `content` - Key used for storing the translation\n\n\n### xcstrings | Convert to XCode Strings Catalog\n\n#### Supported input formats\n\nandroid, api, arb, csv, excel, hjson, ini, ios-plist, ios-strings, ios-stringsdict, js, json, json5, neon, ods, php, po, properties, qt-ts, resx, text, tmx, toml, xcstrings, yaml\n\n#### Parameters\n\n- `xcstrings_keep_structure` - Keeping iOS Strings Catalog structured keys.\n  - `true`  - Keep key structure\n  - `false`  _[default]_ - Convert structure to plain keys\n- `flatten_keys` - Flattening structured keys\n  - `dot`  _[default]_ - Flatten structured keys with `.`\n  - `underscore`  - Flatten structured keys with `_`\n  - `dash`  - Flatten structured keys with `-`\n\n#### Filtering options\n\n  - `filterStrings` is available\n  - `filterPlurals` is available\n  - arrays are filtered out\n\n\n### xliff12 | Convert to XLIFF 1.2\n\n#### Supported input formats\n\nandroid, api, arb, csv, excel, hjson, ini, ios-plist, ios-strings, ios-stringsdict, js, json, json5, neon, ods, php, po, properties, qt-ts, resx, text, tmx, toml, xcstrings, yaml\n\n#### Parameters\n\n- `xcstrings_keep_structure` - Keeping iOS Strings Catalog structured keys.\n  - `true`  - Keep key structure\n  - `false`  _[default]_ - Convert structure to plain keys\n- `flatten_keys` - Flattening structured keys\n  - `dot`  _[default]_ - Flatten structured keys with `.`\n  - `underscore`  - Flatten structured keys with `_`\n  - `dash`  - Flatten structured keys with `-`\n\n#### Filtering options\n\n  - `filterStrings` is available\n  - `filterArrays` is available\n  - `filterPlurals` is available\n\n\n### xliff20 | Convert to XLIFF 2.0\n\n#### Supported input formats\n\nandroid, api, arb, csv, excel, hjson, ini, ios-plist, ios-strings, ios-stringsdict, js, json, json5, neon, ods, php, po, properties, qt-ts, resx, text, tmx, toml, xcstrings, yaml\n\n#### Parameters\n\n- `xcstrings_keep_structure` - Keeping iOS Strings Catalog structured keys.\n  - `true`  - Keep key structure\n  - `false`  _[default]_ - Convert structure to plain keys\n- `flatten_keys` - Flattening structured keys\n  - `dot`  _[default]_ - Flatten structured keys with `.`\n  - `underscore`  - Flatten structured keys with `_`\n  - `dash`  - Flatten structured keys with `-`\n\n#### Filtering options\n\n  - `filterStrings` is available\n  - `filterArrays` is available\n  - `filterPlurals` is available\n\n\n### yaml | Convert to YAML\n\n#### Supported input formats\n\nandroid, api, arb, csv, excel, hjson, ini, ios-plist, ios-strings, ios-stringsdict, js, json, json5, neon, ods, php, po, properties, qt-ts, resx, text, tmx, toml, xcstrings, yaml\n\n#### Parameters\n\n- `xcstrings_keep_structure` - Keeping iOS Strings Catalog structured keys.\n  - `true`  - Keep key structure\n  - `false`  _[default]_ - Convert structure to plain keys\n- `filter_untranslated` - Filtering of untranslated phrases\n  - `true`  - Filter untranslated phrases out of the file\n  - `false`  _[default]_ - Use the source language translation for the untranslated phrases\n- `clear_params` - Clearing additional phrases metadata.\n  - `true`  - Clear all additional phrase metadata\n  - `false`  _[default]_ - Keep additional phrase metadata, except for those changed for plurals\u002Farrays\n- `flatten_keys` - Flattening structured keys\n  - `no`  _[default]_ - Don't flatten structured keys\n  - `dot`  - Flatten structured keys with `.`\n  - `underscore`  - Flatten structured keys with `_`\n  - `dash`  - Flatten structured keys with `-`\n\n#### Filtering options\n\n  - `filterStrings` is available\n  - `filterArrays` is available\n  - `filterPlurals` is available\n\n#### Array types\n- `array` _[default]_ - Output string-array as array\n- `array_br` - Output string-array as keys suffixed by `[index]`\n\n#### Plural types\n- `plural_postfix_br` _[default]_ - Output plurals as keys suffixed by `[pluralForm]`\n- `plural_postfix_sd` - Output plurals as keys suffixed by `.pluralForm`\n- `plural_postfix_dd` - Output plurals as keys suffixed by `:pluralForm`\n- `plural_postfix_us` - Output plurals as keys suffixed by `_pluralForm`\n- `plural_postfix_cc` - Output plurals as keys suffixed by `PluralForm`\n- `plural_i18next` - Output plurals in i18Next format\n- `plural_object` - Output plurals as structured object\n- `plural_icu` - Output plurals in ICU message format\n    - _Required param:_ `variable` - Variable name for ICU message (count, variable, etc.)\n- `plural_array` - Output plurals as array of objects\n    - _Required param:_ `type` - Key used for storing the plural type\n    - _Required param:_ `content` - Key used for storing the translation\n\n\n### yaml-multilingual | Convert to multilingual YAML\n\n#### Supported input formats\n\nandroid, api, arb, csv, excel, hjson, ini, ios-plist, ios-strings, ios-stringsdict, js, json, json5, neon, ods, php, po, properties, qt-ts, resx, text, tmx, toml, xcstrings, yaml\n\n#### Parameters\n\n- `xcstrings_keep_structure` - Keeping iOS Strings Catalog structured keys.\n  - `true`  - Keep key structure\n  - `false`  _[default]_ - Convert structure to plain keys\n- `filter_untranslated` - Filtering of untranslated phrases\n  - `true`  - Filter untranslated phrases out of the file\n  - `false`  _[default]_ - Use the source language translation for the untranslated phrases\n- `clear_params` - Clearing additional phrases metadata.\n  - `true`  - Clear all additional phrase metadata\n  - `false`  _[default]_ - Keep additional phrase metadata, except for those changed for plurals\u002Farrays\n- `flatten_keys` - Flattening structured keys\n  - `no`  _[default]_ - Don't flatten structured keys\n  - `dot`  - Flatten structured keys with `.`\n  - `underscore`  - Flatten structured keys with `_`\n  - `dash`  - Flatten structured keys with `-`\n- `lang_format` - Format of the locale used for multilingual keys\n  - `ll-rr-scrp`  _[default]_ - LL, LL-RR, LL-SCRP, LL-RR-SCRP\n  - `ll-rr#scrp`  - LL, LL-RR, LL#SCRP, LL-RR#SCRP\n  - `ll_scrp_rr`  - LL, LL_RR, LL_SCRP, LL_SCRP_RR\n  - `ll_rr_scrp`  - LL, LL_RR, LL_SCRP, LL_RR_SCRP\n  - `ll+rr+scrp`  - LL, LL+RR, LL+SCRP, LL+RR+SCRP\n  - `ll+scrp+rr`  - LL, LL+RR, LL+SCRP, LL+SCRP+RR\n  - `ll-scrp_rr`  - LL, LL_RR, LL-SCRP, LL-SCRP_RR\n  - `locale_name`  - Locale name (English, German, ...)\n  - `bcp`  - b+LL, b+LL+RR, b+LL+SCRP, b+LL+SCRP+RR\n  - `android_noscript`  - LL, LL-rRR, LL, LL-rRR\n  - `android`  - LL, LL-rRR, b+LL+SCRP, b+LL+SCRP+RR\n\n#### Filtering options\n\n  - `filterStrings` is available\n  - `filterArrays` is available\n  - `filterPlurals` is available\n\n#### Array types\n- `array` _[default]_ - Output string-array as array\n- `array_br` - Output string-array as keys suffixed by `[index]`\n\n#### Plural types\n- `plural_postfix_br` _[default]_ - Output plurals as keys suffixed by `[pluralForm]`\n- `plural_postfix_sd` - Output plurals as keys suffixed by `.pluralForm`\n- `plural_postfix_dd` - Output plurals as keys suffixed by `:pluralForm`\n- `plural_postfix_us` - Output plurals as keys suffixed by `_pluralForm`\n- `plural_postfix_cc` - Output plurals as keys suffixed by `PluralForm`\n- `plural_i18next` - Output plurals in i18Next format\n- `plural_object` - Output plurals as structured object\n- `plural_icu` - Output plurals in ICU message format\n    - _Required param:_ `variable` - Variable name for ICU message (count, variable, etc.)\n- `plural_array` - Output plurals as array of objects\n    - _Required param:_ `type` - Key used for storing the plural type\n    - _Required param:_ `content` - Key used for storing the translation\n\n\n### yaml-rails | Convert to Rails i18n YAML\n\n#### Supported input formats\n\nandroid, api, arb, csv, excel, hjson, ini, ios-plist, ios-strings, ios-stringsdict, js, json, json5, neon, ods, php, po, properties, qt-ts, resx, text, tmx, toml, xcstrings, yaml\n\n#### Parameters\n\n- `xcstrings_keep_structure` - Keeping iOS Strings Catalog structured keys.\n  - `true`  - Keep key structure\n  - `false`  _[default]_ - Convert structure to plain keys\n- `filter_untranslated` - Filtering of untranslated phrases\n  - `true`  - Filter untranslated phrases out of the file\n  - `false`  _[default]_ - Use the source language translation for the untranslated phrases\n- `clear_params` - Clearing additional phrases metadata.\n  - `true`  - Clear all additional phrase metadata\n  - `false`  _[default]_ - Keep additional phrase metadata, except for those changed for plurals\u002Farrays\n- `flatten_keys` - Flattening structured keys\n  - `no`  _[default]_ - Don't flatten structured keys\n  - `dot`  - Flatten structured keys with `.`\n  - `underscore`  - Flatten structured keys with `_`\n  - `dash`  - Flatten structured keys with `-`\n\n#### Filtering options\n\n  - `filterStrings` is available\n  - `filterArrays` is available\n  - `filterPlurals` is available\n\n#### Array types\n- `array` _[default]_ - Output string-array as array\n- `array_br` - Output string-array as keys suffixed by `[index]`\n\n#### Plural types\n- `plural_postfix_br` _[default]_ - Output plurals as keys suffixed by `[pluralForm]`\n- `plural_postfix_sd` - Output plurals as keys suffixed by `.pluralForm`\n- `plural_postfix_dd` - Output plurals as keys suffixed by `:pluralForm`\n- `plural_postfix_us` - Output plurals as keys suffixed by `_pluralForm`\n- `plural_postfix_cc` - Output plurals as keys suffixed by `PluralForm`\n- `plural_i18next` - Output plurals in i18Next format\n- `plural_object` - Output plurals as structured object\n- `plural_icu` - Output plurals in ICU message format\n    - _Required param:_ `variable` - Variable name for ICU message (count, variable, etc.)\n- `plural_array` - Output plurals as array of objects\n    - _Required param:_ `type` - Key used for storing the plural type\n    - _Required param:_ `content` - Key used for storing the translation\n\n\n",{"key":1894,"value":1895,"note":8},"___GRADLE_DEPENDENCY_V2___","com.localazy:gradle:2.0.3",{"key":1897,"value":1898,"note":1899},"___USER_REF_AFFIL___","`https:\u002F\u002Flocalazy.com\u002Fregister?ref=YOUR-REF-ID`","If the user is signed in, the value is replaced by his ref affil code. ",{"key":1901,"value":1902,"note":1903},"___USER_REF_PARTNER___","`https:\u002F\u002Flocalazy.com\u002Fregister?ref=YOUR-PARTNER-REF-ID`","If the user is signed in, the value is replaced by his ref partner code. ",{"key":1905,"value":1906,"note":8},"___CLI_REMAP_TYPES___","- android\n- json\n- json-multilingual\n- arb\n- require-js\n- json-mozzila\n- ios-strings\n- ios-plist\n- ios-stringsdict\n- resx\n- yaml\n- yaml-rails\n- yaml-multilingual\n- po\n- json5\n- json5-multilingual\n- hjson\n- hjson-multilingual\n- js\n- js-multilingual\n- properties\n- ini\n- ini-multilingual\n- php\n- php-multilingual\n- qt-ts\n- csv\n- csv-multilingual\n- neon\n- neon-multilingual\n- toml\n- toml-multilingual\n- excel\n- excel-multilingual\n- ods\n- ods-multilingual\n- tmx\n- xcstrings",[1908,1915,1927,1937,1951,1962,1973,1982,1993,2005,2020],{"id":16,"status":4,"sort":7,"created_on":1826,"slug":1732,"name":1727,"excerpt":1909,"subtitle":1827,"meta_title":1828,"meta_description":1829,"hidden":229,"icon":1910,"featured_icon":1911,"translations":1912,"blog_tags":1914,"docs_section_id":16},"Description of general Localazy features & settings. Learn about the details of our platform.",{"id":1734},{"id":1737},[1913],{"id":16,"languages_code":249,"name":1727,"excerpt":1909,"subtitle":1827,"slug":1732,"meta_title":1828,"meta_description":1829,"docs_section_id":16},[],{"id":22,"status":4,"sort":16,"created_on":1826,"slug":352,"name":351,"excerpt":1916,"subtitle":1917,"meta_title":1918,"meta_description":1919,"hidden":229,"icon":1920,"featured_icon":1921,"translations":1922,"blog_tags":1924,"docs_section_id":22},"Start localizing your app with Localazy CLI, integrate it into your build chain or CI\u002FCD. Ideal for developers.","CLI Guides & Information","Localazy CLI Documentation","Guide to SW localization using Localazy, tool made by and for developers. Comprehensive documentation available here.",{"id":1745},{"id":1748},[1923],{"id":22,"languages_code":249,"name":351,"excerpt":1916,"subtitle":1917,"slug":352,"meta_title":1918,"meta_description":1919,"docs_section_id":22},[1925],{"id":1179,"status":4,"created_on":1926,"label":351,"slug":352,"on_index_page":229},"2022-03-17T12:22:58.000Z",{"id":174,"status":4,"sort":22,"created_on":1826,"slug":284,"name":283,"excerpt":1928,"subtitle":1929,"meta_title":8,"meta_description":8,"hidden":229,"icon":1930,"featured_icon":1931,"translations":1932,"blog_tags":1934,"docs_section_id":174},"Localazy API reference, organized around REST. Articles about limits, endpoints and more.","API Documentation",{"id":1745},{"id":1757},[1933],{"id":174,"languages_code":249,"name":283,"excerpt":1928,"subtitle":1929,"slug":284,"meta_title":8,"meta_description":8,"docs_section_id":174},[1935],{"id":878,"status":4,"created_on":1936,"label":283,"slug":284,"on_index_page":229},"2022-03-17T12:22:59.000Z",{"id":941,"status":4,"sort":107,"created_on":1938,"slug":1765,"name":1761,"excerpt":1939,"subtitle":1940,"meta_title":1941,"meta_description":1942,"hidden":229,"icon":1943,"featured_icon":1944,"translations":1945,"blog_tags":1947,"docs_section_id":941},"2023-02-14T14:29:35.000Z","Deliver your translations with our global content delivery network.","Content Delivery Network","Localazy CDN ","Learn how to use the Localazy CDN to deliver new translations as soon as they are approved for production use. ",{"id":1734},{"id":1768},[1946],{"id":941,"languages_code":249,"name":1761,"excerpt":1939,"subtitle":1940,"slug":1765,"meta_title":1941,"meta_description":1942,"docs_section_id":941},[1948],{"id":1949,"status":4,"created_on":1950,"label":1761,"slug":1765,"on_index_page":229},69,"2023-02-21T14:08:07.000Z",{"id":7,"status":4,"sort":50,"created_on":1826,"slug":1601,"name":1602,"excerpt":1952,"subtitle":1953,"meta_title":1954,"meta_description":1955,"hidden":229,"icon":1956,"featured_icon":1957,"translations":1958,"blog_tags":1960,"docs_section_id":7},"Platform specific articles about the advanced features of Android apps in Localazy.","Android SDK Documentation","Localazy Android Documentation","How to add more languages to the Android app using Localazy. Comprehensive documentation.",{"id":1776},{"id":1778},[1959],{"id":7,"languages_code":249,"name":1602,"excerpt":1952,"subtitle":1953,"slug":1601,"meta_title":1954,"meta_description":1955,"docs_section_id":7},[1961],{"id":107,"status":4,"created_on":1926,"label":1602,"slug":1601,"on_index_page":229},{"id":107,"status":4,"sort":57,"created_on":1826,"slug":1608,"name":1609,"excerpt":1963,"subtitle":1964,"meta_title":8,"meta_description":8,"hidden":229,"icon":1965,"featured_icon":1966,"translations":1967,"blog_tags":1969,"docs_section_id":107},"Platform specific articles about iOS apps in Localazy.","Swift SDK Documentation",{"id":1786},{"id":1789},[1968],{"id":107,"languages_code":249,"name":1609,"excerpt":1963,"subtitle":1964,"slug":1608,"meta_title":8,"meta_description":8,"docs_section_id":107},[1970],{"id":1971,"status":4,"created_on":1972,"label":1609,"slug":1608,"on_index_page":230},77,"2023-05-25T12:44:11.000Z",{"id":99,"status":4,"sort":62,"created_on":1826,"slug":1139,"name":1138,"excerpt":1974,"subtitle":1975,"meta_title":8,"meta_description":8,"hidden":229,"icon":1976,"featured_icon":1977,"translations":1978,"blog_tags":1980,"docs_section_id":99},"Start localizing your designs fast and easy with Figma design tool and Figma Plugin by Localazy","Figma Plugin",{"id":1745},{"id":1798},[1979],{"id":99,"languages_code":249,"name":1138,"excerpt":1974,"subtitle":1975,"slug":1139,"meta_title":8,"meta_description":8,"docs_section_id":99},[1981],{"id":318,"status":4,"created_on":1936,"label":1138,"slug":1139,"on_index_page":230},{"id":1179,"status":4,"sort":67,"created_on":1983,"slug":1034,"name":1033,"excerpt":1984,"subtitle":1985,"meta_title":8,"meta_description":8,"hidden":229,"icon":1986,"featured_icon":1987,"translations":1988,"blog_tags":1990,"docs_section_id":1179},"2022-06-08T13:03:58.000Z","Automate the localization of your Strapi project with the Strapi localization plugin by Localazy","Strapi Plugin",{"id":1805},{"id":1807},[1989],{"id":1179,"languages_code":249,"name":1033,"excerpt":1984,"subtitle":1985,"slug":1034,"meta_title":8,"meta_description":8,"docs_section_id":1179},[1991],{"id":280,"status":4,"created_on":1992,"label":1033,"slug":1034,"on_index_page":230},"2022-06-29T00:01:26.000Z",{"id":947,"status":4,"sort":72,"created_on":1994,"slug":1995,"name":1996,"excerpt":1997,"subtitle":1998,"meta_title":8,"meta_description":8,"hidden":229,"icon":1999,"featured_icon":2001,"translations":2002,"blog_tags":2004,"docs_section_id":947},"2023-08-22T11:35:21.000Z","directus","Directus","Automate the localization of your Directus project with the Directus localization plugin by Localazy","Directus plugin",{"id":2000},"b6669e8d-6702-4aa1-8e4f-978f9028c332",{"id":2000},[2003],{"id":947,"languages_code":249,"name":1996,"excerpt":1997,"subtitle":1998,"slug":1995,"meta_title":8,"meta_description":8,"docs_section_id":947},[],{"id":853,"status":4,"sort":29,"created_on":2006,"slug":2007,"name":2008,"excerpt":2009,"subtitle":2010,"meta_title":8,"meta_description":8,"hidden":229,"icon":2011,"featured_icon":2013,"translations":2015,"blog_tags":2017,"docs_section_id":853},"2022-07-18T13:27:47.000Z","zapier","Zapier","Connect Localazy with over 5000 apps with Zapier.","Integration Platform",{"id":2012},"a1fda7c9-4e8c-48f4-99ec-a111db6a6daa",{"id":2014},"0a5546c4-adbc-4636-8695-32867837e97d",[2016],{"id":853,"languages_code":249,"name":2008,"excerpt":2009,"subtitle":2010,"slug":2007,"meta_title":8,"meta_description":8,"docs_section_id":853},[2018],{"id":606,"status":4,"created_on":2019,"label":2008,"slug":2007,"on_index_page":229},"2022-08-16T13:54:46.000Z",{"id":1363,"status":4,"sort":43,"created_on":1826,"slug":143,"name":142,"excerpt":2021,"subtitle":2022,"meta_title":8,"meta_description":8,"hidden":230,"icon":2023,"featured_icon":2024,"translations":2026,"blog_tags":2028,"docs_section_id":1363},"Learn how to connect Localazy to your favourite platform or framework.","Quick starts, Setup examples, Integration types,...",{"id":1745},{"id":2025},"881c489b-4835-44ea-94b7-bda62cc57d6c",[2027],{"id":1363,"languages_code":249,"name":142,"excerpt":2021,"subtitle":2022,"slug":143,"meta_title":8,"meta_description":8,"docs_section_id":1363},[],[2030,2112,2202,2274,2312,2322,2340,2376,2441,2459,2484,2503,2540,2557,2598,2639,2668,2684,2735,2793,2808,2825,2865,2892,2929,2982,3048,3079,3098,3147,3176,3205,3238,3257,3278,3298,3317],{"id":2031,"status":4,"sort":2032,"created_on":2033,"modified_on":2034,"slug":2035,"title":1465,"excerpt":2036,"content":2037,"meta_title":8,"meta_description":8,"pinned":230,"main_image":8,"section":2038,"subsection":2041,"cta":8,"faq":2043,"dictionary":2103,"translations":2109,"documentation_id":2031,"blog_articles":2111},75,"09010","2022-03-18T07:51:25.000Z","2026-05-22T05:27:54.000Z","machine-translations","Use built-in machine translations directly in the translation interface, where the most context is available, or for batch-translating and automated machine translation of your texts.","## How to apply machine translations\nMachine translation in Localazy gives you three ways to speed up your localization workflow: \n- getting translation suggestions in the translation interface,\n- translating multiple strings in a single batch\n- setting up automatic translations for new content\n\nMost teams use a combination of all three methods. You might set up automations for routine content, use batch translate for new projects, and rely on suggestions for high-priority user-facing text that needs careful attention with human touch.\n\n> Using machine translations and Localazy AI in batches or with Automations is covered by [Localazy credits](\u002Fdocs\u002Fgeneral\u002Flocalazy-credits). \n\n\n## Overview of available translation providers \nNot all providers and features are available in all plans. Below is a helpful table showing which [pricing plan](\u002Fpricing) you will need.\n\n|              | Suggestions   | Batch translate              | Automations                  | API endpoint\n|--------------|---------------|------------------------------|------------------------------|--------------|\n| Free plan    | Google        | ❌                          | ❌                          | ❌ \t|\n| Professional | Google, Localazy AI        | Localazy AI, Google, Amazon, Azure        | ❌    | Google, Localazy AI                      |\n| Autopilot & Business    |  Google, DeepL, Localazy AI | Localazy AI, Google, Amazon, Azure, DeepL | Localazy AI, Google, Amazon, Azure, DeepL | Google, DeepL, Localazy AI |\n\n### Context features\n|             | Localazy AI       | Google Translate          | DeepL                     | Amazon |\n|-------------|-------------------|---------------------------|---------------------------|--------|\n| Glossary    | ✅ Fully supported | ✅ Fully supported | 🚩 Selected language pairs | ❌      |\n| Style guide | ✅ Fully supported | ❌                         | 🚩 Formality level only    | ❌      |\n\n:::info\nDeepL official documentation states that glossaries are supported for all languages listed under \"Available languages\" in [this article](https:\u002F\u002Fsupport.deepl.com\u002Fhc\u002Farticles\u002F360019925219), as well as Hebrew and Vietnamese. Languages mentioned under \"Additional languages\" are not supported for the glossary feature by DeepL.\n:::\n\n:::info\nMore information about DeepL's formality feature are available in the [official documentation](https:\u002F\u002Fsupport.deepl.com\u002Fhc\u002Farticles\u002F4406432463762).\n:::\n\n## Machine translation suggestions\nWhen you're translating individual strings, Localazy shows machine translation suggestions alongside any existing translations or [ShareTM](\u002Fdocs\u002Fgeneral\u002Fwhat-is-localazy-sharetm) matches. This helps you work faster without switching between tools.\n\n![](https:\u002F\u002Fdirectus9.localazy.com\u002Fassets\u002F4ca29db7-595e-4dce-97a1-44eb1ee99c38)\n\nThe Professional plan upgrade allows you to see suggestions from **[ShareTM](\u002Fdocs\u002Fgeneral\u002Fwhat-is-localazy-sharetm)** for translations, even when your project is not a part of ShareTM _(Settings > Use community translations = off)_.\n\n> The suggestions feature is free to use but it is subject to a fair use limit of 2 million characters per month to ensure equitable access for all users. This limit is automatically applied to all accounts using the feature. Localazy AI is available in suggestions on request and it costs credits.\n\n## Generate translations in a batch\nApply machine translations of your choice to selected strings or whole languages with a few clicks. \n\nYou can translate all (untranslated) strings into the target language(s) by navigating to _Translations_ screen and selecting **Generate translations** from the context menu of the language. \n\n![](https:\u002F\u002Fdirectus9.localazy.com\u002Fassets\u002F80b2af6b-09ed-4bfa-89f0-cbdc78c417ba)\n\nOr, you can open the language and select individual strings to translate.\n\n\u003Cimg src=\"https:\u002F\u002Fdirectus9.localazy.com\u002Fassets\u002F4f6a81f4-6313-4e27-97f7-6a02dbed9248.gif\">\n\n::: info\nDon't worry about machine translations overwriting your work. The batch-translate feature does not affect existing translations!\n:::\n\n### Batch settings\nIn the **Generate translations** window, you can choose the source language for translation, target language(s), the provider of the translation and whether you want to send the generated translations into review or approve them immediately. \n\n![Localazy - Machine translation](https:\u002F\u002Fdirectus9.localazy.com\u002Fassets\u002Ff2a2338a-ff62-4ee4-9779-118602ab9575)\n\n\n### Automated machine translation \nWith the Autopilot plan, you can set up [Automations](\u002Fdocs\u002Fgeneral\u002Fautomations#use-machine-translations) to use machine translations in trigger events such as uploading new content or updating keys. \n\n> [Learn more](\u002Fdocs\u002Fgeneral\u002Fautomations#use-machine-translations) \n\n![](https:\u002F\u002Fdirectus9.localazy.com\u002Fassets\u002F6af4c934-d6a2-4821-84be-cd756234dec9)\n\n### Notes and limitations\n- Some machine translation providers might not work in case your source content is too long. ([Learn more](\u002Ffaq\u002Flocalazy\u002Fwhat-is-the-maximum-possible-length-of-translation-text))\n- Machine translation currently does not apply to all plurals, because there might be different plural forms in the source and target language. Localazy AI can translate across plural variants.\n- Machine translation does not translate keys with translations that are already translated, even though there might be another version waiting for review (waiting for review = true AND missing current version = false). \n- We implemented various measures to protect your placeholders, code markup and glossary terms, but still machine translation might result in unexpected errors. Always follow up any machine translation task with human review! You can always filter for invalid translations using [QA Checks](\u002Fdocs\u002Fgeneral\u002Fqa-checks) or order the [Human-Assisted Machine Translation](\u002Fdocs\u002Fgeneral\u002Fcontinuous-localization-team#human-assisted-machine-translations) service.\n\n\n\n\n",{"id":16,"status":4,"sort":7,"created_on":1826,"slug":1732,"name":1727,"subtitle":1827,"meta_title":1828,"meta_description":1829,"hidden":229,"icon":2039,"featured_icon":2040},{"id":1734},{"id":1737},{"id":29,"status":4,"sort":36,"created_on":2042,"name":1380},"2022-03-18T07:38:52.000Z",[2044,2054,2062,2069,2076,2086,2095],{"id":1096,"status":4,"title":2045,"content":2046,"slug":2047,"created_on":2048,"modified_on":2049,"owner":2050,"meta_title":8,"category":2051},"What is the maximum possible length of translation text?","There is no hard limit at the moment, but it's recommended to keep the size of each individual item under 4kB. This corresponds to 4,000 characters encoded as UTF-8 and 2,000 characters encoded as UTF-16. Uploading longer texts won't yield any errors, but might get refused by some external translation engines integrated in Localazy.","what-is-the-maximum-possible-length-of-translation-text","2022-03-17T12:23:00.000Z","2023-05-26T19:28:22.000Z","2bac48a8-b362-482f-b574-3bc71dca4c5b",{"id":50,"status":4,"created_on":2052,"sort":22,"slug":2053,"label":1727,"on_faq_index":230},"2022-03-17T12:22:57.000Z","localazy",{"id":2055,"status":4,"title":2056,"content":2057,"slug":2058,"created_on":2048,"modified_on":2059,"owner":2050,"meta_title":8,"category":2060},74,"What is the best Machine Translation Engine?","We can gauge how good a [Machine Translation](\u002Fdictionary\u002Fmachine-translation) Engine is by the accuracy of the translation, conciseness, consistency of output, and how many language pairs they offer.\n\nLocalazy offers four major machine translation engines to use when translating your content (available with the [Additional MT feature](\u002Fdocs\u002Fgeneral\u002Fadditional-mt-engines) enabled). \n\nUse English, which is unquestionably the best language to pair with another language for machine translations because translations from and to English give the best results overall. That's why it is also a good idea to select English as the source language for your projects in Localazy.\n\nAs for the engine itself, each one has its pros and cons:\n- **Google Translate** is the most popular and offers many languages and language pairs with a reasonably accurate translation, making it the best average option.\n- **DeepL** is becoming quickly better and better and is great for more technical terms. It is usually also very concise but has a lower variety of language pairs. \n- **Amazon Translate** still has a somewhat fluctuating quality; it can be very high or pretty low, but you can use it for free with Localazy.\n- **Microsoft Azure** has fewer available language options and average quality.\n\nThe best thing you can do is [combine and compare multiple machine translation outputs](\u002Ffaq\u002Fmachine-translation\u002Fhow-to-use-multiple-machine-translation-engines-at-once) and decide on the best results with backward translations and other checks. ","what-is-the-best-machine-translation-engine","2021-11-01T08:16:34.000Z",{"id":158,"status":4,"created_on":1926,"sort":8,"slug":1469,"label":2061,"on_faq_index":230},"Machine Translation",{"id":2063,"status":4,"title":2064,"content":2065,"slug":2066,"created_on":2048,"modified_on":2067,"owner":2050,"meta_title":8,"category":2068},79,"How to keep quality of Machine Translations under control?","[Machine Translations](\u002Fdictionary\u002Fmachine-translation) (MT) are an incredible invention that makes our life easier. But sometimes, their accuracy is low, and translating large amounts of texts will inevitably produce outputs of varying quality.\n\nTranslating strings to a language you don't know well with MT engines can be a pain because you might not fully understand what's truly in there. \n\nWhat can you do to ensure consistent quality levels of machine translation output? Localazy offers some solutions you might want to consider:\n- If you are conducting the translations yourself, try to use [Additional MT Engines](\u002Fdocs\u002Fgeneral\u002Fadditional-mt-engines) to get more suggestions, allowing you to compare and decide. \n- If you don't want to spend your time with [machine translation post-editing](\u002Fdictionary\u002Fmtpe-machine-translation-post-editing) and checking, try the [Human-Assisted Machine Translations](\u002Fdocs\u002Fgeneral\u002Fcontinuous-localization-team#human-assisted-machine-translations) service by Localazy and get machine translations checked for a fair price per word.","how-to-keep-quality-of-machine-translations-under-control","2022-09-22T10:34:23.000Z",{"id":158,"status":4,"created_on":1926,"sort":8,"slug":1469,"label":2061,"on_faq_index":230},{"id":2070,"status":4,"title":2071,"content":2072,"slug":2073,"created_on":2048,"modified_on":2074,"owner":2050,"meta_title":8,"category":2075},92,"What are the advantages and disadvantages of machine translation?","**The advantages of machine translation are:**\n- Multiple free translation engines as options, like Google, DeepL, etc\n- A myriad of language pairs, from _English-Portuguese_ to _Russian-Zulu_\n- Instantaneous translations. You can translate in real-time.\n- Machine learning mechanisms are improving, meaning that every day the services are getting better.\n\n**The disadvantages of machine translation:**\n- Language pairing accuracy without English can be very low, giving it some limitations\n- Risk of incorrect translation.        \n- Translation Engines struggle with context while translating.                     \n- Mistakes might create irreversible situations.\n    \n**How to mitigate the disadvantages of MT?**\n\nAccuracy, context, and mistakes are solvable by using [Human-assisted Machine Translation](\u002Fdictionary\u002Fhamt) and [Machine Translation + Post-Editing](\u002Fdictionary\u002Fmtpe-machine-translation-post-editing). \n\nYou can employ both of these methods while using Localazy to achieve the best possible quality of machine translations. ","what-are-the-advantages-and-disadvantages-of-machine-translation","2021-09-18T10:40:35.000Z",{"id":158,"status":4,"created_on":1926,"sort":8,"slug":1469,"label":2061,"on_faq_index":230},{"id":2077,"status":4,"title":2078,"content":2079,"slug":2080,"created_on":2081,"modified_on":2082,"owner":2083,"meta_title":8,"category":2084},319,"How to save on translations of duplicate content?","When translating content, it’s common to encounter duplicate phrases or sentences. Translating these duplicates multiple times not only consumes valuable time and resources but also risks inconsistencies in translations. Here are some strategies to save on translations of duplicate content:\n\nUse [Key Clustering](\u002Fdocs\u002Fgeneral\u002Fkey-clusters): Key Clustering automatically identifies and groups keys with identical values, eliminating the need to translate the same content multiple times. This not only saves time and resources but also ensures consistency across translations.\n\nLeverage [Duplicity Linking](\u002Fdocs\u002Fgeneral\u002Fduplicity-linking): Duplicity Linking allows you to link multiple keys with the same content. When one key is translated, all linked keys are automatically updated with the new translation. This reduces the time spent on translating duplicate content.\n\nUtilize [Machine Translations (MT)](\u002Fdocs\u002Fgeneral\u002Fadditional-mt-engines): Machine Translations can provide initial translations for your content, which can then be reviewed and refined by human translators. This can speed up the translation process and reduce costs.\n\nRemember, the key to saving on translations of duplicate content is to leverage the right tools to streamline the translation process and ensure consistency across all translations.","how-to-save-on-translations-of-duplicate-content","2024-01-09T11:18:57.000Z","2024-01-09T11:25:37.000Z","d8c4ae49-7239-4b85-abb6-d1fa80ba09ad",{"id":57,"status":4,"created_on":2052,"sort":8,"slug":2085,"label":1380,"on_faq_index":230},"advanced-features",{"id":2087,"status":4,"title":2088,"content":2089,"slug":2090,"created_on":2091,"modified_on":2092,"owner":2093,"meta_title":8,"category":2094},325,"Do machine translation engines in Localazy respect glossary terms?","The quality of translations depends on how well the translator understands the source text before they begin. **Localazy AI** is no different from a human in this regard — both need context to increase the accuracy and quality of the resulting translation.\n\nLocalazy AI uses your glossary, style guide, key names, translation notes, comments, and previous translations to reason about what you're translating and how it should sound. Before you translate your strings using it, prepare at least the glossary and style guide to improve results.\n\n## More providers\nThere are two other machine translation providers integrated in Localazy that should take your glossary terms into account when translating: \n\n1. DeepL integration\n2. Google Translate integration \n\n> While these integrations provide helpful translation capabilities, **please note that the output of these engines and their models cannot be guaranteed to be 100% reliable. We cannot take responsibility for the translations they provide.** The accuracy depends on the language pair (English as source is recommended) and the provider performance.\n\n**Remember:** It is always recommended to follow machine and AI translation with a human review. If you don't have the workforce available for reviewing your MT translations in-house, you can activate our [Human-Assisted Machine Translation service](\u002Fblog\u002Fguide-localazy-translation-services).","do-machine-translation-engines-used-by-localazy-respect-glossary-terms","2024-05-03T08:19:45.000Z","2026-05-04T15:59:18.000Z","4d38dee1-a9d9-4a00-a57d-3ced2b7cb39c",{"id":158,"status":4,"created_on":1926,"sort":8,"slug":1469,"label":2061,"on_faq_index":230},{"id":2096,"status":4,"title":2097,"content":2098,"slug":2099,"created_on":2100,"modified_on":2101,"owner":2093,"meta_title":8,"category":2102},514,"How to choose between machine translation, AI translation, and professional translators?","### Machine Translation (DeepL, Google Translate)\nIt is the fastest and cheapest option for entering new markets or testing localization. It's useful for assessing whether a market is worth pursuing before investing heavily. The translations need significant post-editing because MT doesn't understand context, breaks placeholders, and produces inconsistent results. But for a first iteration or localization testing, it gets content out there cheaply. Be prepared for feedback and iterate often. If you are not afraid of the potential risk of misunderstandings, you can just fix the validation issues and ship quickly by using [machine translation](\u002Ffeatures\u002Fmachine-translation).\n\n### Localazy AI \n[Localazy AI](\u002Flocalazy-ai) is what you should use for initial iterations and for testing new markets when you want higher quality than basic MT. It reasons through context, [preserves placeholders](\u002Fcode-and-placeholders), applies your [glossary](\u002Ffeatures\u002Fglossary) and [style guide](\u002Ffeatures\u002Fstyle-guide) automatically, and includes [QA checks](\u002Fdocs\u002Fgeneral\u002Fqa-checks) so humans can fine-tune the results, but they won't have to fix nearly as many mistakes as with traditional machine translation. The translations come back consistent and context-aware, so your post-editing effort drops significantly. Use this for 80-90% of your content.\n\n### Professional human translators\nHeavily recommended when quality is critical. Use [human translators](\u002Fcontinuous-localization-team) for customer-facing marketing copy, important landing pages, established markets where brand voice matters, or content where mistakes have consequences. Humans are also still better at understanding cultural nuances and creative wordplay that AI doesn't fully grasp.\n\n### The practical approach: Mix and match\nStart with Localazy AI for your first iteration. Context-aware translations require less post-editing than basic MT, so you can launch faster. Then decide what needs human polish. Your UI buttons and error messages might ship as-is after quick review. Your homepage headlines and key marketing content get refined by humans. You're testing markets affordably while maintaining quality where it counts.\n\nYou can mix methods within [Localazy](https:\u002F\u002Flocalazy.com\u002F). Set up [automations](https:\u002F\u002Flocalazy.com\u002Ffeatures\u002Fautomations) that route specific languages or content types to professional translators, while the rest is processed by AI. Automation filters handle routing according to your rules.","how-to-choose-between-machine-translation-ai-translation-and-professional-translators","2025-12-30T12:56:52.000Z","2026-05-07T20:59:08.000Z",{"id":50,"status":4,"created_on":2052,"sort":22,"slug":2053,"label":1727,"on_faq_index":230},[2104],{"id":43,"status":4,"owner":2050,"created_on":2105,"title":2106,"excerpt":2107,"content":2108,"slug":1469,"meta_title":53,"meta_description":53,"canonical":53},"2026-05-12T07:09:22.000Z","Machine translation (MT)","The process of translating using computational linguistics.","A machine translation engine is a software tool that translates a text from one language to another without the help of human translators.\n\nMachine translation, also known as MT, is widely used as the first round of translations and is frequently very effective for short strings. However, it can produce unsatisfactory results when context knowledge is required, and thus, a human review is always advised.\n\n### 💬 Methods used in machine translation\n\nMachine translation engines recently experienced huge improvements related to the advanced use of neural networks, but they generally rely on these different methods:\n\n* [Statistical machine translation (SMT)](https:\u002F\u002Flocalazy.com\u002Fdictionary\u002Fstatistical-machine-translation\u002F \"https:\u002F\u002Flocalazy.com\u002Fdictionary\u002Fstatistical-machine-translation\u002F\")\n* [Example-based machine translation (EBMT)](https:\u002F\u002Flocalazy.com\u002Fdictionary\u002Fexample-based-machine-translation \"https:\u002F\u002Flocalazy.com\u002Fdictionary\u002Fexample-based-machine-translation\")\n* [Hybrid machine translation (HMT)](https:\u002F\u002Flocalazy.com\u002Fdictionary\u002Fhybrid-machine-translation \"https:\u002F\u002Flocalazy.com\u002Fdictionary\u002Fhybrid-machine-translation\")\n* [Neural machine translation (NMT)](https:\u002F\u002Flocalazy.com\u002Fdictionary\u002Fneural-machine-translation\u002F \"https:\u002F\u002Flocalazy.com\u002Fdictionary\u002Fneural-machine-translation\u002F\")\n\nNeural machine translation (used by [AI-powered translation](https:\u002F\u002Flocalazy.com\u002Fdictionary\u002Fai-powered-translation) engines) is the most sophisticated type of instant translation today. It uses machine learning to improve its translation capabilities. As the engine translates more text with each request, the better results it produces with time by learning. Most instant translation services use this technology.\n\n### 🔍 What's the difference between HAMT and MAHT?\n\nWithin the realm of machine translation, it’s important to distinguish between **Human-Assisted Machine Translation (HAMT)** and **Machine-Assisted Human Translation (MAHT)**:\n\n* [**Human-Assisted Machine Translation (HAMT)**](\u002Fdictionary\u002Fhuman-assisted-mt): This process involves a human reviewing translations generated by machine translation (MT) engines. It is also known as MT plus post-editing and\u002For pre-editing. The machine handles the initial translation, which is then edited by a human to improve accuracy and context. This approach is useful for projects with repetitive content and where budget or time constraints are significant.\n* [**Machine-Assisted Human Translation (MAHT)**](\u002Fdictionary\u002Fmaht): In this method, human translators use computer software to aid their work. Translators receive machine translation suggestions, but they decide how to use them. This approach allows for high translation accuracy while benefiting from features like translation glossaries and memories, which enhance the efficiency and consistency of the translation process.\n\n### 🦾 MT engines available in Localazy \n\nLocalazy users can use the most popular and advanced [MT engines](https:\u002F\u002Flocalazy.com\u002Ffeatures\u002Fmachine-translation \"https:\u002F\u002Flocalazy.com\u002Ffeatures\u002Fmachine-translation\") to translate their content:\n\n* Amazon Translate (available for free)\n* Google Translate\n* DeepL\n* Azure Translator\n* OpenAI (ChatGPT), with your own API key\n\n> *Users can unlock different engines depending on the plan they buy. See our [pricing](https:\u002F\u002Flocalazy.com\u002Fpricing) and [docs](https:\u002F\u002Flocalazy.com\u002Fdocs\u002Fgeneral\u002Fadditional-mt-engines?srsltid=AfmBOoo--lURSBHDiHEoe3rYL3xSQHaZcTsl6kd7wwUYRGC-sGTTmG94 \"https:\u002F\u002Flocalazy.com\u002Fdocs\u002Fgeneral\u002Fadditional-mt-engines?srsltid=AfmBOoo--lURSBHDiHEoe3rYL3xSQHaZcTsl6kd7wwUYRGC-sGTTmG94\") for more details.*\n\n### 📚 Additional resources:\n\n* [What is machine translation?](https:\u002F\u002Fwww.gala-global.org\u002Fwhat-machine-translation)\n* [History of machine translation](https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FHistory_of_machine_translation)",[2110],{"id":2031,"documentation_id":2031,"languages_code":249,"slug":2035,"title":1465,"content":2037,"meta_title":8,"meta_description":8,"excerpt":2036},[],{"id":2113,"status":4,"sort":2114,"created_on":2115,"modified_on":2116,"slug":2117,"title":2118,"excerpt":2119,"content":2120,"meta_title":8,"meta_description":8,"pinned":230,"main_image":8,"section":2121,"subsection":2124,"cta":8,"faq":2126,"dictionary":2154,"translations":2199,"documentation_id":2113,"blog_articles":2201},114,"10","2022-03-18T07:51:27.000Z","2026-04-07T13:24:27.000Z","getting-started-with-localazy","Getting started with Localazy","Learn how to get started and what Localazy has to offer in this comprehensive article.","Localazy is a continuous localization platform and web-based translation management system ([TMS](\u002Fdictionary\u002Ftranslation-management-system-tms)) that strives to make the usually awful software [localization](\u002Fdictionary\u002Flocalization) and [translation](\u002Fdictionary\u002Ftranslation) experience efficient and enjoyable for independent developers and product teams of any size. \n\n\n## First steps\n\nWatch the video:\n\n\u003Ciframe width=\"100%\" height=\"540px\" src=\"https:\u002F\u002Fwww.youtube.com\u002Fembed\u002FtsjaxH43Yko\" title=\"First Translation with Localazy: Demo &amp; Tips\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" allowfullscreen>\u003C\u002Fiframe>\n\n\n### Sign up for free\n[Create a free account](\u002Fregister) or [sign up](\u002Fregister) via your Google or Github account. 💳 *No credit card is required!*\n\n![Localazy Sign Up Screen](https:\u002F\u002Fdirectus9.localazy.com\u002Fassets\u002F79528eaf-f843-43dc-8746-feeb4f7a4093)\n\nAfter [logging in](\u002Flogin), create and integrate your first project to start translating immediately.\n\n### Create your first project\nThe initial setup is straightforward, with only a few fields to fill in.\n\n![Localazy - Create a new project](https:\u002F\u002Fdirectus9.localazy.com\u002Fassets\u002F243979ac-9399-409f-855f-e1b6be0940d7)\n\n- **Project name**: The name of your project\n- **Project type**: Choose whether you want to present your app to be translated by anyone (best for community-driven projects) or keep it private and manage who has access to your app (best for commercial projects). In both cases, you are in total control of the final translations. \n- **Source language**: Select the source language of your app as the language that serves as a source of truth. All translations derive from it but you can also select alternative source languages for translation in the project settings later.\n- **Use community translations?** Get parts of your app translated into 80+ languages immediately with the power of [Localazy ShareTM](\u002Fdocs\u002Fgeneral\u002Fwhat-is-localazy-sharetm). With this option enabled, your project will become a part of the shared [translation memory](\u002Fdictionary\u002Ftranslation-memory) and will share translations with other projects with the option enabled. \n\n> Learn more about [ShareTM](\u002Fdocs\u002Fgeneral\u002Fwhat-is-localazy-sharetm) and [InTM](\u002Fdocs\u002Fgeneral\u002Fwhat-is-localazy-intm)\n\n## Select your integration\nThe next step is populating your empty project with content to translate. Select from the ever-growing list of [integrations](\u002Fintegrations) Localazy supports and import your strings. 🕹️ There are many ways of doing this, depending on your project and requirements.\n\n> See the [list of available integrations](\u002Fintegrations)\n\n![Localazy - Selecting Integration](https:\u002F\u002Fdirectus9.localazy.com\u002Fassets\u002F4c3e1880-595d-401f-806d-02085b855039)\n\n### Import files manually\nThe quick and easiest way is to upload your file(s) directly. This approach allows you to try Localazy immediately without installing any tools and setting up workflows. \n\nFeel free to select this option to get your feet wet before deciding on one of the following options, which offer more robust integration with extra benefits.\n\n> Learn more about [Importing files](\u002Fdocs\u002Fgeneral\u002Fimporting-localization-files#importing-files)\n\n### Use Localazy CLI\n[Localazy CLI](\u002Fdocs\u002Fcli\u002Fthe-basics) is a developer's best friend. This powerful toolset enables you to automate most of the workflow and make the translation process a set and forget endeavor tightly integrated with your tech stack. Upload and download your texts automatically on each build or commit, convert files, and more. The possibilities are endless.\n\n> Learn the [basics of Localazy CLI](\u002Fdocs\u002Fcli\u002Fthe-basics)\n\n### Start with SDK\nIntegrate your [Android](\u002Fdocs\u002Fandroid\u002Flocalazy-gradle-plugin) app or [Swift project](\u002Fdocs\u002Fios\u002Finstallation-and-setup) (iOS, macOS) with the respective Localazy SDK and unlock the full potential of Localazy for native application development to completely automate the process of handling localization files.\n\n> Learn more about 🤖 [Localazy Android SDK](\u002Fdocs\u002Fandroid\u002Flocalazy-gradle-plugin)\n> Learn more about 🍏 [Localazy Swift SDK](\u002Fdocs\u002Fios\u002Finstallation-and-setup)\n\n### Use Public API\nYou can also use the Localazy API to import content to your project. You can then use Localazy API for fetching up-to-date translations and manipulate other aspects of your projects programmatically. \n\n> Learn more on the blog: [The ultimate guide to Localazy API](\u002Fblog\u002Fthe-ultimate-guide-to-localazy-api)\n\n### Native Integrations\n- [Figma](\u002Fdocs\u002Ffigma\u002Fplugin-introduction)\n- [Strapi](\u002Fdocs\u002Fstrapi\u002Fstrapi-plugin-introduction-installation)\n- [Storyblok](\u002Fdocs\u002Fstoryblok\u002Fopen-integration)\n- [Zapier](\u002Fdocs\u002Fzapier\u002Fintroduction-zapier)\n\n## Add new languages\nAfter successful integration, add new 🚩 languages to start the localization journey. \n\n![Add new languages to your Localazy project](https:\u002F\u002Fdirectus9.localazy.com\u002Fassets\u002F31f523cc-bd69-4e61-afd9-3958f35f8849)\n\nYou can select the desired language from the dropdown list by clicking on the **\"+ Add languages\"** button.\n\n## Start translating\n\nNow it's time to start translating your strings! 🎌 The translation interface is clean and free of distracting elements and unnecessary options. This simplicity enables a low barrier for entry, and anyone can jump right in without getting lost. \n\n![Localazy Translation Screen](https:\u002F\u002Fdirectus9.localazy.com\u002Fassets\u002F652d72d3-3f44-4fcb-b8ef-76665148ab37)\n\nThe translation screen includes suggestions by Localazy ShareTM or InTM and machine translation engines. You can also view similar strings, previous versions, or translations in other languages for additional context. \n\n> Learn more about [translating strings in Localazy](\u002Fdocs\u002Fgeneral\u002Ftranslating-strings)\n\n## Review translations\nYou are always in complete control over the 🔎 quality of your product, and this includes translations. Check for typos or missing placeholders before approving translations, flag them as needing improvement, and so on. \n\n![Localazy Review Screen](https:\u002F\u002Fdirectus9.localazy.com\u002Fassets\u002Ffc649b2b-457c-4af9-8094-05bb5034b5d3)\n\nSome translations are able to skip the review; this applies to translations made by the Owner, Reviewers, or Trusted translators. More on that later.\n\n> Learn more about the [Localazy review process](\u002Fdocs\u002Fgeneral\u002Freviewing-translations)\n\n## Glossary\nThe 📙 Localazy Glossary is an essential tool for ensuring high-quality translations and providing context for translators. Establish a glossary of terms early and curate it often during development and expansion of your project to achieve faster and more reliable translations.\n\n![Localazy Glossary](https:\u002F\u002Fdirectus9.localazy.com\u002Fassets\u002Fb4cfb6ea-6fcf-431a-9de6-76804a924162)\n\n> Learn more about the [Glossary](\u002Fdocs\u002Fgeneral\u002Fhow-to-define-your-glossary)\n\n## Invite contributors and team members\nLocalazy supports different 🤓 user roles for your project contributors, allowing you to collaborate with everyone involved in the localization process effectively. \n\n![Localazy User roles management](https:\u002F\u002Fdirectus9.localazy.com\u002Fassets\u002F674bc3c3-e4db-418b-8165-6f7b134456eb)\n\nYou can invite volunteers, professional translators, or your team members and assign different roles depending on the permissions you want them to have.\n\nThe roles available are:\n- Translator\n- Trusted translator\n- Reviewer\n- Manager\n- Owner\n\n> Learn more about [User roles in Localazy](\u002Fdocs\u002Fgeneral\u002Fdefining-user-roles)\n\n## Keep track with Activity stream\nStay on top of things and check progress and important events in the Activity stream, which acts as a log for your project. Whenever new strings are imported, translations completed, etc., you will find it recorded here.\n\n![Localazy Activity Stream](https:\u002F\u002Fdirectus9.localazy.com\u002Fassets\u002Faa080cb6-7b94-42d7-bbf9-043c7ee9da74)\n\n\n## Advanced features\nExplore advanced features that will further help you achieve a true continuous localization experience:\n\n- [🔌 Connected Projects](\u002Fdocs\u002Fgeneral\u002Fconnected-apps)\n- [🔀 Format Conversions](\u002Fdocs\u002Fgeneral\u002Fformat-conversions-add-on)\n- [🏷️ Release Tags](\u002Fdocs\u002Fgeneral\u002Frelease-tags-add-on)\n- [📚 Additional MT and MT pre-translate](\u002Fdocs\u002Fgeneral\u002Fadditional-mt-engines)\n- [🚀 Releases](\u002Fdocs\u002Fgeneral\u002Freleases)\n- [🖼️ Screenshots + OCR](\u002Fdocs\u002Fgeneral\u002Fscreenshots)\n- [🔗 Duplicity Linking](\u002Fdocs\u002Fgeneral\u002Fduplicity-linking)\n- [🔌 Webhooks](\u002Fdocs\u002Fgeneral\u002Fwebhooks)\n- [🔓 Language Permissions](\u002Fdocs\u002Fgeneral\u002Flanguage-permissions)\n\nThese advanced features are available only with paid tiers. More on that later.\n\n## Translation delivery\nDeliver your translations seamlessly with Online Services and automate your translation distribution:\n\n- [🗺️ Localazy CDN](\u002Fdocs\u002Fgeneral\u002Flocalazy-cdn)\n- [📲 OTA Updates (for Android and iOS)](\u002Fdocs\u002Fgeneral\u002Fota-updates)\n\nEnabling Online Services requires connecting a credit card with your account. The billing of Online Services is usage-based.\n\n## Marketplace\nThe 🛍️ Marketplace lets you order translation services directly with a few clicks and upgrade your account to unlock additional features & increase your account's source key limit.\n\n### Increase source key limit\nThe Free plan includes a 200 source key limit. As your project grows 📈, you might want to increase your source key limit. \n\n::: info\nSource key is basically a single string of text in your source language stored in Localazy. E.g., a button label or a short paragraph of text in a dialogue window of your app. All of your projects share the limit which applies to your account.\n:::\n\nYou can increase your limit by upgrading your account to a higher tier in the Marketplace.\n\n> Visit the [Localazy Marketplace](\u002Fmy\u002Fmarketplace) to see available options\n\n\n### Order translation services\n![Continuous Localization with Localazy](https:\u002F\u002Fdirectus9.localazy.com\u002Fassets\u002F17eaa2c3-85e7-4258-8284-c906042d1d5e)\n\nLocalazy offers four 🚀 Continuous Localization services to choose from:\n\n- Professional Translations\n- Professional Proofreading\n- Human-Assisted Machine Translation\n- Human Translation Validation\n\nTo order translation services, top up your 💰 credit balance and configure which languages should be processed and how. After the initial setup, you can sit back and wait for your translations to get delivered by our team of translators.\n\n> Learn more about all [Continuous Localization services](\u002Fblog\u002Fguide-localazy-translation-services) \n\n### Upgrade your account \nLearn [what is included with the 🕊️ Free plan](\u002Fdocs\u002Fgeneral\u002Flocalazy-free-tier) or select a plan suitable for your needs:\n\n- [⭐ Professional Tier](\u002Fdocs\u002Fgeneral\u002Flocalazy-professional-tier)\n- [🚀 Autopilot Tier](\u002Fdocs\u002Fgeneral\u002Flocalazy-autopilot-tier)\n- [🌍 Agency Tier](\u002Fdocs\u002Fgeneral\u002Flocalazy-agency-tier)\n\n## Earn rewards in the Community section\nInside the 🤝 [Community](\u002Fmy\u002Fcommunity) section, you will find various ways to help Localazy grow and get rewarded for it! 🎁 \n\nVarious tasks and rewards await you in the community section. Help us by submitting feedback or sharing the referral link with your peers, and get source key limit increases and other bonuses for it.\n\nMake sure to visit the [Community](\u002Fmy\u002Fcommunity) regularly, and don't miss new ways to help us help you. 💖\n\n![Localazy Community Section](https:\u002F\u002Fdirectus9.localazy.com\u002Fassets\u002Ff9a3b901-2d22-401a-9bb9-93025156d87f)\n\n## Join our channels to get help\nAre you stuck or need help? Do you have a question or a feature request?\n\n- Read our 🧭 [FAQs](\u002Ffaq); maybe your question is already answered there\n- Join the 💭 [Localazy discussion forum](https:\u002F\u002Fdiscuss.localazy.com\u002F) to request features, report bugs, and discuss with other Localazians.\n\nFor more urgent or business-related matters, kindly contact us at 💌 team@localazy.com or use the little (❓) button in the top menu to open the support 🗨️ chat; we do our best to respond immediately. 😊\n\n",{"id":16,"status":4,"sort":7,"created_on":1826,"slug":1732,"name":1727,"subtitle":1827,"meta_title":1828,"meta_description":1829,"hidden":229,"icon":2122,"featured_icon":2123},{"id":1734},{"id":1737},{"id":36,"status":4,"sort":72,"created_on":2042,"name":2125},"Essentials",[2127,2135,2145],{"id":2128,"status":4,"title":2129,"content":2130,"slug":2131,"created_on":2048,"modified_on":2132,"owner":2050,"meta_title":8,"category":2133},83,"How to do crowdsourced translations?","At Localazy, we are aware that software [localization](\u002Fdictionary\u002Flocalization) is commonly conducted with the help of volunteers recruited from the userbase of the product. \n\nWhile these volunteering translators may not be professionals and carry a risk of low quality or even sabotage of the translations with them, there are some advantages to using crowdsourced translations.\n\n- Your users know the product well; they are using it actively and understand the context and meaning of texts they translate.\n- They are volunteers, which means they do the work for free.\n- You still have control over the translations that reach your audience with the review process.\n- Localazy makes the crowdsourced translation process easy with a built-in permission system, proactive review, and additional features which help you make correct decisions.\n\nIt helps to prepare your project in a certain way to promote translator productivity. Read these articles before you start with crowdsourced translations to make the process comfortable for all parties involved. Once you are ready, integrate Localazy with your project and begin inviting contributors.\n\n- [How to attract more contributors to translate your app ](\u002Fblog\u002Fattract-more-contributors-translate-your-app)\n- [Unique review process and self-managed translations](\u002Fblog\u002Funique-review-process-and-self-managed-translations)\n- [Introduction to Translation Glossary Best Practices](\u002Fblog\u002Fintroduction-to-translation-glossary-best-practices)\n- [Make your translators happy to cooperate](\u002Fblog\u002Fmake-translators-happy-cooperate-localazy)\n","how-to-do-crowdsourced-translations","2025-06-02T11:13:37.000Z",{"id":43,"status":4,"created_on":2052,"sort":8,"slug":2134,"label":1384,"on_faq_index":230},"localization",{"id":2136,"status":4,"title":2137,"content":2138,"slug":2139,"created_on":2140,"modified_on":2140,"owner":2093,"meta_title":8,"category":2141},199,"How can Localazy simplify the localization process for my product team?","Localazy will streamline your localization process, serve as a source of truth for your translations, and facilitate collaboration with your team and translators.  \n\n**The main benefits of Localazy for product managers include:**\n- Less back and forth between team member tasks\n- Simply defined process, clear visibility of the progress, and the definition of done\n- Automated distribution and change management\n- Less time spent on managing translators\n\nLocalazy offers over [50 integration options](\u002Fintegrations), including native plugins for [Figma](\u002Ffeatures\u002Ffigma-localization-plugin), [Strapi](\u002Ffeatures\u002Fstrapi-localization-plugin) & [Zapier](\u002Ffeatures\u002Fzapier-integration). You can also integrate your product with Localazy via [API](\u002Ffeatures\u002Ftranslation-api), [CLI](\u002Ffeatures\u002Fcli), and mobile SDKs for [Android](\u002Fdocs\u002Fandroid\u002Flocalazy-gradle-plugin) and [iOS](\u002Fdocs\u002Fios\u002Finstallation-and-setup). \n\nYou can use Localazy to offload the translation work from your team completely. Thanks to the built-in [Continuous Localization services](\u002Ffeatures\u002Fcontinuous-localization-team), you can get your project translated by professionals and don't have to worry about any task handling. \n\n[Learn how proactive professional translation services by Localazy work.](\u002Fdocs\u002Fgeneral\u002Fcontinuous-localization-team)","how-can-localazy-simplify-the-localization-process-for-product-teams","2022-09-15T11:15:41.000Z",{"id":290,"status":4,"created_on":2142,"sort":8,"slug":2143,"label":2144,"on_faq_index":229},"2022-07-20T11:47:11.000Z","project-localization","Project Localization",{"id":2146,"status":4,"title":2147,"content":2148,"slug":2149,"created_on":2150,"modified_on":2151,"owner":2093,"meta_title":8,"category":2152},281,"Can you tell me about the payment options available?","We accept credit and debit card payments through Stripe (www.stripe.com). All newly created accounts include a 14-day Business Plan trial period to try all the features before committing to a paid subscription, so you can test the platform before you pay.\n\nFor the annual [Business](\u002Ftiers\u002Fautopilot) and [Enterprise](\u002Ftiers\u002Fenterprise) plans, as well as high-volume [translation credits](\u002Fterm\u002Fprofessional-translation-services), we may also arrange SEPA payments in EUR upon request. Please let us know if you'd prefer this option.\n\nFor more information about our pricing options, visit the [Localazy Pricing page](\u002Fpricing).","can-you-tell-me-about-the-payment-options-available","2023-07-13T12:20:54.000Z","2024-04-11T10:59:03.000Z",{"id":7,"status":4,"created_on":2052,"sort":7,"slug":2153,"label":175,"on_faq_index":230},"pricing",[2155,2161,2164,2168,2172,2177,2178,2182,2185,2190,2195],{"id":7,"status":4,"owner":2050,"created_on":2156,"title":2157,"excerpt":2158,"content":2159,"slug":2160,"meta_title":53,"meta_description":53,"canonical":53},"2022-03-17T12:22:54.000Z","ShareTM","The shared translation memory at Localazy.","ShareTM is the shared translation memory used by the Localazy user community. You can enable SharedTM to cut down on translation costs across the many languages available.\n\n> [*Learn more about ShareTM in the documentation*](\u002Fdocs\u002Fgeneral\u002Fwhat-is-localazy-sharetm)","sharetm",{"id":16,"status":4,"owner":2050,"created_on":2156,"title":1384,"excerpt":2162,"content":2163,"slug":2134,"meta_title":8,"meta_description":8,"canonical":8},"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.",{"id":107,"status":4,"owner":2050,"created_on":2156,"title":1443,"excerpt":2165,"content":2166,"slug":2167,"meta_title":53,"meta_description":53,"canonical":53},"The process of transforming a text into another language.","Translation (t9n) helps people understand a given term in their native language and is a vital part of the [localization](https:\u002F\u002Flocalazy.com\u002Fdictionary\u002Flocalization) (l10n) process.\n\nThe localization process is often the most tedious one during software developement, as you can’t just introduce a few locale-based rules in your source code.\n\nTranslating texts to another language is hard. You need to know context\u002Fmeaning. You can translate a word quickly, but without context, you can translate it the wrong way. For example, the term “book” can mean “reserve” or “piece of literature” in the Czech language. Both translations are correct, but which one is valid for a button? Context provides the right meaning.\n\n## [ISO definition of the term \"translation\"](https:\u002F\u002Fwww.iso.org\u002Fobp\u002Fui\u002F#iso:std:iso:17100:ed-1:v1:en)\n\nSet of processes to render source language content into target language content in written form.","translation",{"id":62,"status":4,"owner":2050,"created_on":2105,"title":2169,"excerpt":2170,"content":2171,"slug":1484,"meta_title":53,"meta_description":53,"canonical":53},"Translation Memory (TM)","A database of previously translated terms that reduces translation costs and enhances productivity by reusing translations.","[**Translation Memory (TM)**](https:\u002F\u002Flocalazy.com\u002Ffeatures\u002Ftranslation-memory\u002F \"https:\u002F\u002Flocalazy.com\u002Ffeatures\u002Ftranslation-memory\u002F\") is an essential feature that helps store and reuse translated terms. By avoiding the duplication of identical or similar texts, a translation memory makes the whole translation process of your project faster and cheaper.\n\nAt Localazy, you can use ShareTM to assist you in providing suggestions based on previously approved translations. [**ShareTM**](https:\u002F\u002Flocalazy.com\u002Ffeatures\u002Fshare-tm\u002F \"https:\u002F\u002Flocalazy.com\u002Ffeatures\u002Fshare-tm\u002F\") allows you to share your translations with the Localazy community and, in return, use translations from other projects. [When you opt into ShareTM](https:\u002F\u002Flocalazy.com\u002Fdocs\u002Fgeneral\u002Fwhat-is-localazy-sharetm?srsltid=AfmBOooCoA89mWglcxDKkVCWdJzTKliFNo696PoS5VxJJFAD6QY_r2yv \"https:\u002F\u002Flocalazy.com\u002Fdocs\u002Fgeneral\u002Fwhat-is-localazy-sharetm?srsltid=AfmBOooCoA89mWglcxDKkVCWdJzTKliFNo696PoS5VxJJFAD6QY_r2yv\"), your translations contribute to a shared memory pool, and in return, you receive suggestions from this broader database. This collaborative approach can speed up the translation process by leveraging the work already done by others.\n\n### 💪 Main benefits of a TM:\n\n* **Cost reduction**: By reusing existing translations, you save on translation costs and resources.\n* **Consistency**: Ensures consistent terminology and phrasing across all your translations.\n* **Efficiency**: Speeds up the translation process by providing instant suggestions.\n* **Collaboration**: In the case of ShareTM, it promotes a collaborative environment where translations are shared and improved collectively, benefiting all users.",{"id":36,"status":4,"owner":2050,"created_on":2105,"title":2173,"excerpt":2174,"content":2175,"slug":2176,"meta_title":53,"meta_description":53,"canonical":53},"CAT tool","It stands for Computer-aided Translation Tool, a type of software used to increase productivity during the translation process.","CAT tools, or Computer-Assisted Translation tools, are software applications designed to aid translators in their work by improving the efficiency, consistency, and quality of translations.\n\nThese tools combine various features such as [translation memory](https:\u002F\u002Flocalazy.com\u002Fdictionary\u002Ftranslation-memory), terminology management, and quality assurance to streamline the translation process.\n\nCAT tools are widely used in the translation industry, ranging from individual freelancers to large localization companies, and play a crucial role in managing complex translation projects.\n\n## 🖥️ Key points about CAT tools:\n\n* They store previously translated segments, allowing for reuse and keeping consistency across projects.\n* Built-in features help catch errors and ensure consistency in formatting and terminology.\n* CAT tools can significantly increase a translator's output by automating repetitive tasks.\n* Most CAT tools can handle various file formats, making them versatile for different types of content.\n\n## ✏️ Types of CAT tools\n\n* **Open source:** Free tools like MateCAT and OmegaT.\n* **Free tier:** Platforms offering basic features at no cost, such as Localazy for mobile apps and SmartCAT.\n* **Paid:** Professional tools with advanced features, including MemoQ, Trados, and Poedit.\n\nWhile there are numerous CAT tools available, each with its own unique features, translators often choose based on specific project requirements and personal preferences.\n\n> *This list is not comprehensive. Feel free to take a look at [our own top 10 selection](https:\u002F\u002Flocalazy.com\u002Fblog\u002Ftop-10-cat-computer-assisted-translation-tools-to-try-as-translator\u002F \"https:\u002F\u002Flocalazy.com\u002Fblog\u002Ftop-10-cat-computer-assisted-translation-tools-to-try-as-translator\u002F\") or google \"CAT tools\" to find more examples.*","cat-tool",{"id":43,"status":4,"owner":2050,"created_on":2105,"title":2106,"excerpt":2107,"content":2108,"slug":1469,"meta_title":53,"meta_description":53,"canonical":53},{"id":174,"status":4,"owner":2050,"created_on":2179,"title":1602,"excerpt":2180,"content":2181,"slug":1601,"meta_title":8,"meta_description":8,"canonical":8},"2022-03-17T12:22:55.000Z","A mobile operating system (OS) primarily designed for touchscreen devices such as smartphones and tablets.","Based on a modified version of the Linux operating system kernel with proprietary elements (such as Google Play), the Android operating system is currently one of the most popular solutions for mobile devices and smart TVs.\n\n## Distributions of OS based on Android:\n\n+ LineageOS and Replicant\n+ \u002Fe\u002F\n\n![StatCounter](https:\u002F\u002Fdirectus9.localazy.com\u002Fassets\u002F2af45fe7-e7e2-463d-940f-75b0c49a79ba\n)\n\n## Some alternatives to Android:\n\n+ iOS\n+ TizenOS\n+ PureOS\u002FLibrem\n+ LuneOS\n+ SailfishOS\n\n## Useful information about Android:\n\n+ [Android Studio](\u002Fdictionary\u002Fandroid-studio\u002F) for development\n+ [Android Gradle Plugin](https:\u002F\u002Flocalazy.com\u002Fdocs\u002Fandroid\u002Flocalazy-gradle-plugin) - Build automation tool",{"id":99,"status":4,"owner":2050,"created_on":2179,"title":1609,"excerpt":2183,"content":2184,"slug":1608,"meta_title":8,"meta_description":8,"canonical":8},"A mobile device's operating system developed by Apple Inc. exclusively for Apple devices.","iOS operating system for mobile devices is a proprietary (excluding some OpenSource components) made entirely for Apple hardware, which makes it a powerful solution for company's devices from iPhones and iPads (now a special version iPadOS is in charge) to wearables such as Apple iWatch.\n\niOS is second most widely used operating system for mobile devices.\n\n![StatCounter](https:\u002F\u002Fdirectus9.localazy.com\u002Fassets\u002F2af45fe7-e7e2-463d-940f-75b0c49a79ba\n)\n\n## Translate your iOS app with Localazy\n[Localize your iOS apps](\u002Fios) conveniently. Integrate Localazy to make localization of your iOS app an automated part of your workflow and forget about it. \n\n## Some useful info about iOS:\n\n+ Major versions of iOS are released annually.\n+ iOS 13 does not support devices with less than 2 GB of RAM, including the iPhone 5s, iPod Touch (6th generation), and the iPhone 6 and iPhone 6 Plus, which still make up over 10% of all iOS devices.\n+ The [iOS SDK (Software Development Kit)](https:\u002F\u002Fdeveloper.apple.com\u002Fios\u002F) allows for the development of mobile apps on iOS.\n\n",{"id":580,"status":4,"owner":2050,"created_on":2179,"title":2186,"excerpt":2187,"content":2188,"slug":2189,"meta_title":53,"meta_description":53,"canonical":53},"MAHT","Machine-Assisted Human Translation, i.e., human uses computer for\nhelp as desired.","Machine-Assisted Human Translation is probably one of the most common approaches seen nowadays in a wide variety of translation projects. MAHT allows for high translation accuracy aided by computer software for increased efficiency. For example, translators are presented with machine translation suggestions, but it is on them whether and how they will use it.\n\nIn addition, other features of common translation management systems are here to help all translation project stakeholders, such as translation glossary or translation memory.","maht",{"id":305,"status":4,"owner":2050,"created_on":2179,"title":2191,"excerpt":2192,"content":2193,"slug":2194,"meta_title":53,"meta_description":53,"canonical":53},"Translation Management System (TMS)","A software for translation process automation.","TMS help increase production efficiency by eliminating, automating, and delegating both one-time and repetitive tasks during the translation process. Translation management systems help teams manage multilingual content, assign tasks, track progress, and maintain translation quality. TMS platforms are widely used in localization projects to handle large amounts of text efficiently. \n\nThey support features like translation memories, glossaries, and automated workflows. This makes the translation process faster and more consistent, especially for businesses that need content in multiple languages. [CAT tools](https:\u002F\u002Flocalazy.com\u002Fdictionary\u002Fcat-tool) are a subtype of TMSs.\n\nTranslation management systems [like Localazy](https:\u002F\u002Flocalazy.com\u002Fterm\u002Ftranslation-management-system) usually consist of two parts. One takes care of workflow management and the second one aids with the translation process using different technologies and methods, such as:\n\n* [Machine translation](https:\u002F\u002Flocalazy.com\u002Fdictionary\u002Fmachine-translation)\n* [Translation Memory](https:\u002F\u002Flocalazy.com\u002Fdictionary\u002Ftranslation-memory)\n\nThese systems are ideal for large-scale translation projects, as they provide a vast range of features. \n\n## ☝️ Top features of a TMS:\n\n* Centralizes translation tasks in one platform.\n* Assigns jobs to translators and tracks progress.\n* Uses a translation memory to avoid repeated translations.\n* Ensures consistency with built-in term bases.\n* Helps companies scale content across languages.\n\nWith a TMS, teams can work together smoothly to manage translations. It provides the tools needed to keep projects on track and ensures high-quality results every time. However, they can be pricey for single users or small teams who may benefit from them as well, especially for [quality assurance](https:\u002F\u002Flocalazy.com\u002Fdictionary\u002Fqa-quality-assurance) processes.","translation-management-system-tms",{"id":314,"status":4,"owner":2050,"created_on":2179,"title":2196,"excerpt":2197,"content":2198,"slug":1415,"meta_title":8,"meta_description":8,"canonical":8},"Glossary","The Localazy Glossary is an essential tool for ensuring high-quality translations and providing context for translators. ","Glossary is a dataset of \"hardwired\" translations that ensure consistent use of specific terms in various languages. Nothing is worse in translation than an inconsistent translation. A glossary makes you sure that even huge translation projects across many contributors keep the vocabulary consistent, which improves overall quality but also will decrease learning curve difficulty for new contributors, saving your money at the end of the day. Glossary is essential when technical terms and more complicated language concepts occur.\n\nLearn how to use the Glossary by following our [step-by-step tutorial.](\u002Fdocs\u002Fgeneral\u002Fhow-to-define-your-glossary)",[2200],{"id":2113,"documentation_id":2113,"languages_code":249,"slug":2117,"title":2118,"content":2120,"meta_title":8,"meta_description":8,"excerpt":2119},[],{"id":1030,"status":4,"sort":2203,"created_on":2033,"modified_on":2204,"slug":1393,"title":2205,"excerpt":2206,"content":2207,"meta_title":8,"meta_description":8,"pinned":230,"main_image":8,"section":2208,"subsection":2211,"cta":8,"faq":2212,"dictionary":2270,"translations":2271,"documentation_id":1030,"blog_articles":2273},"10000","2026-02-25T09:22:50.000Z","Ordering translation services","Let our professional translators translate your project into selected languages. Choose between human-assisted machine translation, professional translations or proofreading, and we will handle everything from there! ","\u003Ciframe width=\"100%\" height=\"560\" src=\"https:\u002F\u002Fwww.youtube.com\u002Fembed\u002FUzzSinAG7ik\" title=\"Continuous Localization Team Introduction\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen>\u003C\u002Fiframe>\n\n## How does it work?\nUpload your strings to Localazy, configure what languages you want to translate, and then just sit back and wait until the work is done. After you order the translation services of your choice, our localization manager will contact you to confirm your order. When everything is translated, by leaving the services enabled, Localazy will regularly scan for any new texts or changes and automatically translate them into the selected languages. \n\nIt's a straightforward and zero-hassle way to introduce continuous localization to your project without any overhead.\n\nOur Continuous Localization Team offers the following types of continuous localization services you can choose from:\n\n### Professional Translations\nProfessional human translators translate your project. To ensure the best possible quality, we highly recommend the preparation of a project glossary, adding translation notes and context screenshots, and the composition of a style guide. Proofreading is recommended to ensure that the translation is perfect.\n\nTranslations are automatically approved and ready to be used in your project if proofreading is not enabled. \n\n### Professional Proofreading\nAnother human translator will examine already translated texts to correct spelling and interpunction, ensure the consistent use of translated terms, and comply with the style guide. \n\nTranslations should be completely free of mistakes. Please remember that the last quality checks should always be made by people involved in the project who know every nuance.\n\n### Human Translation Validation\nThis is a perfect choice for public\u002Fopen-source projects. Choose this service if your translations are crowdsourced from volunteers or end-users, and you want to verify the quality. A human reviewer will reject harmful or completely wrong translations, accept satisfactory translations, and correct minor mistakes.\n\nTranslations that pass the check are approved, while wrong or harmful contributions are rejected. This way, you don't have to review translations by volunteers on your own. \n\n### Human-Assisted Machine Translations\nSelect this service to quickly test new markets or languages and get the best machine translation result for every string verified by a human. On top of that, the human preserves context, punctuation, and placeholders.\n\n> Tip: Volunteers are more likely to help you correct and finish translation if there is some existing translated content already. \n\nTranslations made by the Human-Assisted Machine Translation are automatically approved and ready to be used in your project. With enough credits, you can get your project translated completely. We advise you to follow up with thorough localization testing to correct possible mistakes.\n\n## How to order translations for your project?\nStart by clicking on the **[Order translations](\u002Fmy\u002Fvirtual-translator)** tab in the left menu. There, you should see a list of your owned projects for which you can order translations and configure the CLT services.\n\n![Order Translations - Main Screen\n](https:\u002F\u002Fdirectus9.localazy.com\u002Fassets\u002F6d6ce6f4-8ec6-4f81-bf3a-04145be6e3c9)\n\n### 1. Select languages\nSelect a language you want to get translated. Every language has four icons next to it, indicated which of the four services are available in the requested language pair. \n\n![Localazy Order Translations - Add Languages](https:\u002F\u002Fdirectus9.localazy.com\u002Fassets\u002F7890d9bc-8e84-4d72-8c88-febd2fc149d3)\n\n\n\n### 2. Choose services\nAfter adding the language, select which of the four services you'd like to enable and confirm the changes. Please note that some services can not be active simultaneously. \n\n![Localazy Order Translations - Service Configuration](https:\u002F\u002Fdirectus9.localazy.com\u002Fassets\u002F89dc1546-312d-4227-bce2-a256971abb23)\n\n### 3. Purchase credits to start\n\nBefore you can place your order, you’ll need to purchase some credits. You can see an estimate on how many credits it will cost to finish each service in the details, total estimate is displayed in the top section, together with your current balance and a button to purchase credits.\n\nAfter you've purchased thre credits and everything is configured correctly, you should see a green dot next to the app icon. The service works in the background and proactively scans your project to deliver new translations as soon as possible.\n\n![Localazy Order Translations - Sucessful Setup](https:\u002F\u002Fdirectus9.localazy.com\u002Fassets\u002F5f3e1315-80a6-46af-b074-bca7d78ae919)\n\nOnce the translation process is finished, or your credits are depleted, you will receive an e-mail notification.\n\n## Translation progress states\n\nEach language shows a different status, which describes what is currently happening with the configured language service.\n\n**No service active**\n\nThere is no active translation service for the given language.\n\n**Pending changes**\n\nYou are currently modifying the configuration for the given language. To display the updated state, you need to save your changes.\n\n**Waiting for processing**\n\nYou have correctly configured the service, and you're all set. Localazy's localization manager will acknowledge your order shortly.\n\n**Reviewing your request**\n\nThe localization manager reviews your order, the amount of content to translate, and all the context you have provided, such as the glossary, screenshots, notes, etc.\n\n**Onboarding translator**\n\nA suitable translator has been selected and is now getting familiar with your project. The translator will soon start working on the translations.\n\n**Translation in progress**\n\nThe translator is actively translating your content\n\n> This is the final state as long as you have enough credits or until you turn the service off. Even if the translator finishes and the user adds more content, it will remain in this state forever. It basically means that any time there is something to translate, the translator will do the work ASAP.\n\n**Not enough credit**\n\nThe translation services are stopped until you top up your balance.\n\n![](https:\u002F\u002Fdirectus9.localazy.com\u002Fassets\u002F99709353-d502-4667-8f15-305483b813e1)\n\n## CLT Activity Chart\n\nThere is a chart icon button next to the estimated costs overview in the header, which opens the translation activity overview in the past 30 days\n\n![](https:\u002F\u002Fdirectus9.localazy.com\u002Fassets\u002Ff81a1914-1246-43d1-85ed-8d7dc6c72b61)\n\n\n### Important Notes\n- Please note that the CLT capacity may be limited, and the service does not deliver translations instantly as humans provide the services. Therefore, it takes some time before the translations and reviews are conducted, generally a couple of business days. We do our best to finalize pending translations in 1-2 business days and up to 5 business days for professional translations, based on language demand.\n- CLT services are disabled when your credit balance is insufficient.\n- Please carefully read the **[terms and conditions](\u002Fterms-and-conditions#continuous-localization-team-terms-of-service)** to learn what you can expect after enabling each service.\n- If you have any questions or would like to request additional language pairs, please contact us at team@localazy.com",{"id":16,"status":4,"sort":7,"created_on":1826,"slug":1732,"name":1727,"subtitle":1827,"meta_title":1828,"meta_description":1829,"hidden":229,"icon":2209,"featured_icon":2210},{"id":1734},{"id":1737},{"id":158,"status":4,"sort":158,"created_on":2042,"name":11},[2213,2219,2229,2236,2243,2250,2258,2266,2268],{"id":305,"status":4,"title":2214,"content":2215,"slug":2216,"created_on":2048,"modified_on":2217,"owner":2050,"meta_title":8,"category":2218},"How can the Continuous Localization Team improve my workflow?","[Continuous Localization Team (CLT)](\u002Fdocs\u002Fgeneral\u002Fcontinuous-localization-team) acts as your own outsourced team for translation and reviews. \n\nDepending on your configuration, CLT can help you get more languages ready by conducting [human-assisted machine translations](\u002Fdictionary\u002Fhamt), translate your project by professional translators, or help you review your crowdsourced translations.\n\nIt is a real set it & forget it solution for automatic translation. Cut your time to market and translation costs, set up CLT now, enjoy localization on autopilot, and focus on what's important: _your product_.\n","how-can-the-continuous-localization-team-improve-my-workflow","2022-04-22T09:57:42.000Z",{"id":57,"status":4,"created_on":2052,"sort":8,"slug":2085,"label":1380,"on_faq_index":230},{"id":2220,"status":4,"title":2221,"content":2222,"slug":2223,"created_on":2048,"modified_on":2224,"owner":2050,"meta_title":8,"category":2225},41,"What is the price of Continuous Localization services?","The price of services provided by the [Continuous Localization Team](\u002Fdocs\u002Fgeneral\u002Fcontinuous-localization-team) **depends on the chosen language pair and the selected level of service.**\n\n**You can choose between:**\n- Professional Translations\n- Professional Proofreading\n- Human Translation Validation\n- Human-Assisted Machine Translations\n\nYou can see the estimated costs before you order.\n\nTo start, [sign up](\u002Fregister), click on the **[Order translations](\u002Fmy\u002Fvirtual-translator)** tab in the left menu and top up some translation credits to your balance.\n\n> [Learn how to order translations for your project.](\u002Fblog\u002Fguide-localazy-translation-services)","what-is-the-price-of-continuous-localization-services","2023-05-26T19:28:17.000Z",{"id":259,"status":4,"created_on":2226,"sort":8,"slug":2227,"label":2228,"on_faq_index":8},"2023-05-25T14:52:30.000Z","translation-services","Translation Services",{"id":1157,"status":4,"title":2230,"content":2231,"slug":2232,"created_on":2048,"modified_on":2233,"owner":2050,"meta_title":2234,"category":2235},"What is a continuous translation, and how can Human-Assisted Machine Translations help?","Have you ever needed to order translations multiple times? Then you already know that there is quite a managerial overhead in handling the translation contract and translation delivery on its own. \n\nNot your problem anymore, with continuous translations by our [Continuous Localization Team (CLT)](\u002Fdocs\u002Fgeneral\u002Fcontinuous-localization-team). \n\n**Human-Assisted Machine Translations** is one of the continuous translation services provided by CLT and can help you get more languages faster with zero hassle. Select this service to quickly test new markets or languages and get the best machine translation result for every string verified by a human. On top of that, the human preserves context, punctuation, and placeholders.\n\nTranslations made by the Human-Assisted Machine Translation are automatically approved and ready to be used in your project. With enough credits, you can get your project translated completely. We advise you to follow up with thorough localization testing to correct possible mistakes.\n\n[Set up the Human-Assisted Machine Translation now](\u002Fmy\u002Fvirtual-translator), top up your translation credits and forget it. Our systems will work towards improving the multilingual support of your project while you sleep or focus on more important things.","what-is-continuous-translation-and-how-virtual-translator-can-help","2022-09-22T10:33:23.000Z","What is continuous translation?",{"id":57,"status":4,"created_on":2052,"sort":8,"slug":2085,"label":1380,"on_faq_index":230},{"id":1053,"status":4,"title":2237,"content":2238,"slug":2239,"created_on":2048,"modified_on":2240,"owner":2050,"meta_title":8,"category":2241},"How Human Translation Validation helps Localazy users?","When using Localazy, you don't have to review all translations on your own! You can order the automated Human Translation Validation service.\n\n[Human Translation Validation](\u002Fdocs\u002Fgeneral\u002Fcontinuous-localization-team#human-translation-validation) is a pay-per-word Continuous Localization service by Localazy. Choose this service if your translations are crowdsourced from volunteers or end-users, and you want to verify the quality. A human Reviewer from our team will reject harmful or completely wrong translations, accept satisfactory translations, and correct minor mistakes.\n\n> Order Human Translation Validation when you don't have the resources available to conduct reviews in-house (or yourself, if you run a one-man show).\n\nThe Reviewer performing the Human Translation Validation is represented by one or more Localazy team members who verify the quality of your translations by checking the consistency of **context, punctuation, and placeholders**. On top of that, the service works **automatically and proactively** and we review translations as they are added to your project. \n\nAdditionally, the Reviewers may also correct small mistakes or typos in the translations as they go. Translations that pass the check are approved (and corrected if needed), while wrong or harmful contributions are rejected.","how-virtual-reviewer-helps-localazy-users","2022-09-22T09:51:34.000Z",{"id":72,"status":4,"created_on":2052,"sort":8,"slug":1393,"label":2242,"on_faq_index":230},"Continuous Localization Team",{"id":2244,"status":4,"title":2245,"content":2246,"slug":2247,"created_on":2048,"modified_on":2248,"owner":2050,"meta_title":8,"category":2249},82,"What is the workflow of Human Translation Validation?","You might be wondering what the workflow is once you order our Continuous Localization service called Human Translation Validation. \n\n1. Before you start setting up [Human Translation Validation](\u002Fdocs\u002Fgeneral\u002Fcontinuous-localization-team#human-translation-validation), **add some languages and translations**. These translations can be sourced from contributors and volunteers, you invited to help translate your project. \n2. Then, go to the **Order translations screen** on your Localazy dashboard and select these languages for Human Translation Validation. **Top up your credits** and go through the needed steps to **set up your configuration**.\n3. After everything is up and running, Reviewers from Localazy team start reviewing available translations in selected languages. You will see the progress in the [Activity Stream](\u002Fdocs\u002Fgeneral\u002Fgetting-started-with-localazy#keep-track-with-activity-stream), and **we will notify you when all work is done or when your balance reaches zero** before work is completed. \n4. Sit back, check the results and forget about translation reviews because once you keep a sufficient balance, the **Continuous Localization Team works day and night proactively** to review newly added or changed translations!\n\nAnd that's it, using Localazy with enabled Human Translation Validation is a breeze - achieve your localization goals in record time with the Continuous Localization Team by Localazy by your side. ","what-is-the-workflow-of-virtual-reviewer","2022-12-14T11:19:49.000Z",{"id":72,"status":4,"created_on":2052,"sort":8,"slug":1393,"label":2242,"on_faq_index":230},{"id":2251,"status":4,"title":2252,"content":2253,"slug":2254,"created_on":2255,"modified_on":2256,"owner":2093,"meta_title":8,"category":2257},201,"How can I ensure the best translation quality for my product?","While many digital product makers choose [machine translations](\u002Fdictionary\u002Fmachine-translation) for the very start (and it's a standard best practice for early stages of development where [MT-pre translate](\u002Ffeatures\u002Fpre-translate) is a rational decision), they often forget that machine translation alone yields subpar results.\n\nIt's vital to focus on the highest possible quality of translation when it comes to product interfaces and product marketing. But enlisting professional translators is not a silver bullet solution. You need to be diligent and prepare a sound basis for successful localization.\n\n**These are best practices to ensure the best translation quality**:\n- Read how to [Make your translators happy to cooperate](\u002Fblog\u002Fmake-translators-happy-cooperate-localazy)\n- Prepare your [glossary](\u002Fblog\u002Fintroduction-to-translation-glossary-best-practices)\n- Prepare your [style guides](\u002Fblog\u002Flinguistic-style-guides-software-localization)\n- Upload [screenshots of your product to improve the context](\u002Ffeatures\u002Fcontext-screenshots-ocr)\n- Make sure there are multiple rounds of quality assurance. You can e.g., follow the first round of translations with [proofreading](\u002Fdocs\u002Fgeneral\u002Fcontinuous-localization-team#professional-proofreading). \n- Perform thorough [localization testing](\u002Ffaq\u002Flocalization\u002Fwhat-is-localization-testing-in-software-testing)","how-to-ensure-best-translation-quality-for-my-product","2022-09-15T14:56:20.000Z","2023-05-26T19:29:31.000Z",{"id":50,"status":4,"created_on":2052,"sort":22,"slug":2053,"label":1727,"on_faq_index":230},{"id":2259,"status":4,"title":2260,"content":2261,"slug":2262,"created_on":2263,"modified_on":2264,"owner":2093,"meta_title":8,"category":2265},202,"How to order Professional Translations in Localazy?","To order professional translations, [sign up](\u002Fregister) and [upload your source texts to Localazy](\u002Fdocs\u002Fgeneral\u002Fimporting-localization-files). We recommend you use one of the native [integrations](\u002Fintegrations) or getting your project connected with help from your developers to ensure a seamless experience. But you can start by simply uploading your files via the web interface.\n\nAfter you upload your source texts to Localazy, activate the Professional Translations by following these steps:\n1. Select the language(s) you want to get translated. If you can't find a match for your language pair, please [contact us](\u002Fcontact).\n2. Choose Professional Translations and turn the service on by clicking on the toggle button. \n3. Check the estimated total cost of the selected services in the top right corner of the order screen and top up your credits by clicking on the **+ Increase** button.\n4. Click on the **Place order** button.\n\nPlease carefully read the [terms and conditions](\u002Fterms-and-conditions#continuous-localization-team-terms-of-service) to learn what you can expect after enabling the service. \n\nAfter you order the translation services of your choice, our localization manager will contact you to confirm your order. Once the translation process is finished, or your credits are depleted, you will receive an e-mail notification. \n\nWhen everything is translated, leave the services enabled, and Localazy will regularly scan for any new texts or changes and automatically translate them into the selected languages.\n\n> Read the [Ultimate Guide to Localazy Translation Services](\u002Fblog\u002Fguide-localazy-translation-services) on the blog.","how-to-order-professional-translations","2022-09-22T11:04:16.000Z","2023-05-26T19:29:35.000Z",{"id":259,"status":4,"created_on":2226,"sort":8,"slug":2227,"label":2228,"on_faq_index":8},{"id":2146,"status":4,"title":2147,"content":2148,"slug":2149,"created_on":2150,"modified_on":2151,"owner":2093,"meta_title":8,"category":2267},{"id":7,"status":4,"created_on":2052,"sort":7,"slug":2153,"label":175,"on_faq_index":230},{"id":2096,"status":4,"title":2097,"content":2098,"slug":2099,"created_on":2100,"modified_on":2101,"owner":2093,"meta_title":8,"category":2269},{"id":50,"status":4,"created_on":2052,"sort":22,"slug":2053,"label":1727,"on_faq_index":230},[],[2272],{"id":1030,"documentation_id":1030,"languages_code":249,"slug":1393,"title":2205,"content":2207,"meta_title":8,"meta_description":8,"excerpt":2206},[],{"id":2275,"status":4,"sort":2276,"created_on":2033,"modified_on":2277,"slug":1426,"title":1422,"excerpt":2278,"content":2279,"meta_title":8,"meta_description":8,"pinned":230,"main_image":8,"section":2280,"subsection":2283,"cta":8,"faq":2284,"dictionary":2307,"translations":2309,"documentation_id":2275,"blog_articles":2311},71,"10065","2024-08-12T06:33:44.000Z","Share glossary terms and translations from the translation memory across multiple projects.","> Connected Projects are available in the [Professional plan](\u002Fdocs\u002Fgeneral\u002Flocalazy-professional-tier) \n\n## Shared Translation Memory\nTranslation memory is a database of approved translations in a project. Reusing translations for duplicate terms is a one way of maintatining consistent terminology in your project. With the connected projects feature, you may improve the constitency across multiple projects too.\n\nTo activate cross-project translation memory, go to Tools → Connected Projects to begin. Open the **TRANSLATION MEMORY** tab. You should see the following screen with the configuration. \n\n![Localazy Connected Translation Memory Settings](https:\u002F\u002Fdirectus9.localazy.com\u002Fassets\u002Fb012be49-f720-41db-97ad-d807d8f5ed10)\n\nSelect a project you would like to connect. Please note that you may connect up to a maximum of 5 projects.\n\n![Localazy Shared Translation Memory](https:\u002F\u002Fdirectus9.localazy.com\u002Fassets\u002F2b1eda20-be86-45cd-b525-826c5164ad96)\n\nConnecting projects translation memories allows you to re-use translations from the other projects via batch translation or as suggestions during translate and review sessions.\n\n:::info\nUnlike the glossary connection is unidirectional. That means that if connected project B from a project A, project A may use Translation Memory from project B, but project B doesn't have access to project's A Translation Memory. In order to create a bidirectional connection, you need to connect each project individually from both project A and project B.\n:::\n\n> Learn more about [Translation Memory](\u002Fdocs\u002Fgeneral\u002Ftranslation-memory) and it's capabilities\n\n\n## Shared Glossary\nGo to Tools → Connected Projects to begin. Open the **GLOSSARY** tab. You should see the following screen with the configuration. \n![Localazy Connected Projects Settings](https:\u002F\u002Fdirectus9.localazy.com\u002Fassets\u002F3cd06539-bfcc-436c-84bb-27b6fce9b2f2)\n\nSelect a project you would like to connect. Added connections will appear in both project’s connections settings.\n\n![Localazy Connected Glossary Terms Settings](https:\u002F\u002Fdirectus9.localazy.com\u002Fassets\u002F6dbd5ae9-16e6-429a-a0e7-1ff4410ce50e)\n\n### Shared Glossary Terms\nAdding glossary items will also propagate them across all connected projects. Each new glossary in any of the connected projects will automatically propagate to the remaining projects.\n\n![Localazy Shared Glossary](https:\u002F\u002Fdirectus9.localazy.com\u002Fassets\u002Fbfceed24-b99b-410d-9672-ef096cd5a51b)\n\n:::info\nThe glossary connection is bidirectional and transitive. Meaning that connected projects mutually receive glossary terms from each other. Also, if project A is connected to project B, and B is connected to C, then A will also receive terms from C and vice versa. \n:::\n\n> Learn more about [Glossary and how it works](\u002Fdocs\u002Fgeneral\u002Fhow-to-define-your-glossary)",{"id":16,"status":4,"sort":7,"created_on":1826,"slug":1732,"name":1727,"subtitle":1827,"meta_title":1828,"meta_description":1829,"hidden":229,"icon":2281,"featured_icon":2282},{"id":1734},{"id":1737},{"id":29,"status":4,"sort":36,"created_on":2042,"name":1380},[2285,2291,2299],{"id":666,"status":4,"title":2286,"content":2287,"slug":2288,"created_on":2048,"modified_on":2289,"owner":2050,"meta_title":8,"category":2290},"How to configure Connected Projects?","Activate the [Professional plan](\u002Fpricing) to unlock the Connected Projects feature for your projects. Then select the projects you want to connect and you are done!\n\nThe connection is bi-directional and transitive. Meaning that connected projects mutually receive translations from each other. Also, if project A is connected to B, and B is connected to project C, then A might also receive translations from C and vice versa.","how-to-configure-connected-projects","2023-05-25T14:49:32.000Z",{"id":57,"status":4,"created_on":2052,"sort":8,"slug":2085,"label":1380,"on_faq_index":230},{"id":2292,"status":4,"title":2293,"content":2294,"slug":2295,"created_on":2296,"modified_on":2297,"owner":2093,"meta_title":8,"category":2298},323,"Can I share the glossary with other projects?","Yes, with the [Connected Projects feature](\u002Ffeatures\u002Fconnected-projects), you can distribute glossary terms across all your projects. Each new glossary addition in any of the connected projects will automatically be shared with the others.\n\n> Learn more about [glossary sharing in the documentation](\u002Fdocs\u002Fgeneral\u002Fconnected-projects#shared-glossary)","can-i-share-the-glossary-with-other-projects","2024-05-02T21:48:48.000Z","2024-05-02T21:48:51.000Z",{"id":57,"status":4,"created_on":2052,"sort":8,"slug":2085,"label":1380,"on_faq_index":230},{"id":2300,"status":4,"title":2301,"content":2302,"slug":2303,"created_on":2304,"modified_on":2305,"owner":2093,"meta_title":8,"category":2306},324,"What is the difference between glossary and translation memory?","A Glossary and a Translation Memory (TM) are both tools used in the field of translation, but they serve different purposes:\n\n### Glossary:\n- A glossary is a list of terms and their corresponding translations in one or more languages.\n- It provides translators with consistent terminology throughout a translation project, ensuring uniformity and accuracy.\n- Glossaries are particularly useful for technical or specialized content where specific terminology is essential.\n- They can also include contextual information or usage notes to clarify the meaning of terms further.\n\n### Translation Memory (TM):\n- A translation memory is a database that stores segments of text, such as sentences or paragraphs, and their translations.\n- When a translator works on new strings, the TM compares the new strings to those stored in its database. And if a similar segment has been translated before, the Localazy TM suggests the previous translation to the translator, saving time and ensuring consistency.\n- TMs are especially beneficial for projects with repetitive content, such as software localization or technical documentation.\n\nIn summary, while a glossary focuses on defining and standardizing terminology, a translation memory aids in reusing previously translated text segments to improve efficiency and maintain consistency across translations. \n\n> Both glossary and translation memory are included in the [Free plan](\u002Ftiers\u002Ffree) of the Localazy platform.","what-is-the-difference-between-glossary-and-translation-memory","2024-05-03T08:05:25.000Z","2024-05-03T08:05:28.000Z",{"id":57,"status":4,"created_on":2052,"sort":8,"slug":2085,"label":1380,"on_faq_index":230},[2308],{"id":62,"status":4,"owner":2050,"created_on":2105,"title":2169,"excerpt":2170,"content":2171,"slug":1484,"meta_title":53,"meta_description":53,"canonical":53},[2310],{"id":2275,"documentation_id":2275,"languages_code":249,"slug":1426,"title":1422,"content":2279,"meta_title":8,"meta_description":8,"excerpt":2278},[],{"id":1817,"status":4,"sort":8,"created_on":1819,"modified_on":1820,"slug":1440,"title":1821,"excerpt":1822,"content":1823,"meta_title":8,"meta_description":8,"pinned":229,"main_image":8,"section":2313,"subsection":2316,"cta":8,"faq":2317,"dictionary":2318,"translations":2319,"documentation_id":1817,"blog_articles":2321},{"id":16,"status":4,"sort":7,"created_on":1826,"slug":1732,"name":1727,"subtitle":1827,"meta_title":1828,"meta_description":1829,"hidden":229,"icon":2314,"featured_icon":2315},{"id":1734},{"id":1737},{"id":251,"status":4,"sort":77,"created_on":1834,"name":1835},[],[],[2320],{"id":1845,"documentation_id":1817,"languages_code":249,"slug":1440,"title":1821,"content":1823,"meta_title":8,"meta_description":8,"excerpt":1822},[],{"id":2323,"status":4,"sort":8,"created_on":2324,"modified_on":2325,"slug":2326,"title":2327,"excerpt":2328,"content":2329,"meta_title":8,"meta_description":8,"pinned":229,"main_image":8,"section":2330,"subsection":2333,"cta":8,"faq":2334,"dictionary":2335,"translations":2336,"documentation_id":2323,"blog_articles":2339},215,"2023-11-03T16:59:48.000Z","2025-08-13T12:37:56.000Z","qa-checks","QA Checks","Learn more about Localazy quality assurance checks you can use during translation and review.","Localazy comes with various quality assurance checks that alert translators that their translation is missing some important elements contained in the source texts. And, because machine translation is a very popular option, you can also filter translations using our QA filters to see which translations contain possible errors. \n\n![](https:\u002F\u002Fdirectus9.localazy.com\u002Fassets\u002F7a543cfa-7eed-493c-852c-f17e61392f3a)\n\n## Missing placeholder\n\nA placeholder is a special set of characters that represents a variable and is replaced by the actual value programmatically.\n\nIt's almost always incorrect not to include placeholders in the translation since it can potentially break the running program.\n\nExample\n* Source: `This contains a Javascript {placeholder}`\n* Translation `This contains a different {substitute} placeholder`\n\n## Missing HTML markup\n\nA HTML markup are special set of keywords that are used to build websites. The absence of such values in the translation is also almost always incorrect.\n\nExample\n* Source: `This contains a \u003Cstrong>HTML markup\u003C\u002Fstrong>`\n* Translation `The translation does not`\n\n## Over Translation Limit\n\nWhen a source has a defined limit of a maximum characters count, any translation that exceeds the limit will be marked as invalid.\n\n## Unmatched spaces\n\nThere are three types of unmatched spaces.\n\n1. Unmatched leading spaces.\n\nThe number of spaces before the first character in source value differs from the number of spaces before the first character in translation. For demonstration purposes, the spaces are replaced with `␣`\n\nExample\n* Source: `␣␣␣This is preceded by 3 spaces` \n* Translation:  `␣This is preceded by 1 space only`\n\n2. Unmatched trailing spaces\n\nSimilar to the unmatched leading spaces validation, only this validates the number of spaces after the last non-whitespace character.\n\nExample\n* Source: `3 spaces follow the last character␣␣␣` \n* Translation:  `Only 1 space follows the last character␣`\n\n3. Unmatched doubled spaces\n\nThe count of doubled spaces anywhere in the source value is different from the count of doubled spaces in the translation.\n\nExample\n* Source: `This text␣␣contains␣␣doubled spaces twice` \n* Translation:  `Translation␣␣contains␣␣doubled spaces␣␣three times`\n\n## Unmatches new lines\n\nThis validation fails whenever the structure of newlines in source value and translation differs. The validation doesn't compare only the number of new lines characters, but also if their count between paragraphs is the same\n\nExample:\n* Source\n```txt\nFirst paragraph is followed by 2 new lines\n↵\n↵\nAnd is followed by 1 trailing newline\n↵\n```\n* Translation\n```txt\nFirst paragraph is followed only by 1 new line\n↵\nAnd does not end with trailing new line\n```\n       \n## Unmatched email addresses\n\nThis validation checks whether the email addresses in both source value and translation are the same. If either source value or translation contains an email address the other doesn't, the validation fails. \n\nThe validation only checks the presence of addresses, not the number of occurrences.\n\nExample:\n* Source: `Source contains this`[`user@email.com`](mailto:user@email.com)`address`\n* Translation: `Translations contains different`[`member@mailing.net`](mailto:member@mailing.net)`address`\n\n## Unmatched URLs\n\nThis validation checks whether the URLs in both source value and translation are the same. If either source value or translation contains an URL the other doesn't, the validation fails. \n\nThe validation only checks the presence of addresses, not the number of occurrences.\n\nExample:\n* Source: `Source contains this https:\u002F\u002Fsecured.com address`\n* Translation: `Translations contains different http:\u002F\u002Finsecure.net address`\n\n## Unmatched numeric values\n\nThe numeric validation compares the presence of numerical values in the source and translation. It takes numerical values from both source and translation and compares the count of occurrences of each number. If the count differs for any numerical value, the validation fails.\n\nA numerical value is:\n\n* a regular number: `5`, `232455`, …\n* a number with space as thousands separator: `1 023`, `1 455 689`, …\n* a number with comma as thousands separator: `1,023`, `1 455 689`, …\n* a number with a dot as a decimal separator, e.g., `1.25` or `56.123`\n\n## Unmatched trailing punctuation\n\nThis validation checks a common mistake of omitting the last punctuation character. Punctuation characters are:\n\n* a dot `.`\n* a comma `,`\n* an exclamation mark `!`\n* a question mark `?`\n* a colon `:`\n* a semicolon `;`\n\nExample:\n\n* Source: `This sentence doesn't end with any punctuation symbol`\n* Translation: `The translation does!`\n\n## Unmatched first-letter case\n\nThe following validation checks another common mistake of using different cases for the first letter in the translation.\n\nIf the language doesn't recognize capital letters, this validation never fails\n\nExample:\n\n* Source: `The source value starts with capital T`\n* Translation: `the translation starts with lowercase t`\n\n## Missing plural 'other' variant\n\nThis validation works only for plural keys and for languages that support the *other* plural variant.\n\nThe other variant is commonly used as the fallback value if the other values, for some reason, aren't available. It is therefore recommended to always provide the *other* plural variant if the target language supports it.",{"id":16,"status":4,"sort":7,"created_on":1826,"slug":1732,"name":1727,"subtitle":1827,"meta_title":1828,"meta_description":1829,"hidden":229,"icon":2331,"featured_icon":2332},{"id":1734},{"id":1737},{"id":158,"status":4,"sort":158,"created_on":2042,"name":11},[],[],[2337],{"id":2338,"documentation_id":2323,"languages_code":249,"slug":2326,"title":2327,"content":2329,"meta_title":8,"meta_description":8,"excerpt":2328},214,[],{"id":2341,"status":4,"sort":8,"created_on":2342,"modified_on":2343,"slug":2344,"title":2345,"excerpt":2346,"content":2347,"meta_title":8,"meta_description":8,"pinned":229,"main_image":8,"section":2348,"subsection":2351,"cta":8,"faq":2354,"dictionary":2371,"translations":2372,"documentation_id":2341,"blog_articles":2375},255,"2025-03-04T13:59:02.000Z","2025-03-04T13:59:53.000Z","project-branching","Project Branching","The Branching feature allows for maintaining and merging multiple project branches, enabling complex workflows for versioned development and larger teams.","## What is a project branch?\nWhen a new branch is created, it creates a copy of the main project (or the project branch), including the glossary, screenshots, and contributors\u002Fuser roles. You can also decide if you want to create a 1:1 copy (includes all content and translations), or an empty branch (without any content).\n\nThis allows you to invite specific people, experiment with different context information, or separate the branch as a standalone project to maintain separate versions of your software or, e.g., **create separate branches for white-labeled solutions**.\n\nAll changes made inside a branch are isolated, and you can work with it as you need until it's time to merge the changes. \n\n### How are source keys in branches counted?\nLocalazy only counts the number of \"affected\" source keys inside the branch. So no matter if you create an empty branch, or not, the initial state of the source keys that count against your organization limit will always start at a zero. \n\n![Localazy - Branching - Project View](https:\u002F\u002Fdirectus9.localazy.com\u002Fassets\u002F4b033e6a-ac1e-40c9-8bfd-5db5bfcbfcc0)\n\n## Manage branches in Console\nNavigate to the [Localazy Console -> Branching](https:\u002F\u002Flocalazy.com\u002Fconsole\u002Fbranching). You will see an overview of your projects and their branches.\n\n![Localazy - Branching - List](https:\u002F\u002Fdirectus9.localazy.com\u002Fassets\u002Fca897780-0ba6-4689-b9be-b2e68b131253)\n\nUsing the *Actions* buttons, you can manage the branches from this screen, with the following actions.\n\n### Create new branch\nCreating a new branch is useful when you want to iterate on the translations and later re-introduce the changes to the parent branch. It's also used often for white-labeled solutions or migration projects. \n\nYou get a full copy of the project that is fully separated from its parent, and nothing limits you in how you want to update translations, change context information, or the structure of your files. \n\n### Create a new empty branch\nEmpty branches are particularly useful for new feature development. The branch doesn't have any content, but it keeps the link to the parent branch.\n\nYou can use the branch during development, iterate on texts and their translations for new features and once the new feature is merged to the main, you can use the same logic with translations and merge the branch back to the main translations.\n\nDuring development, texts are always changing more rapidly and so separating new feature development from the main product line is always a good idea.  \n\n### Rename\nThis one is self-explanatory - change the branch name to something different. \n\n### Set as main\nIf needed, you can promote any of the branches to become the new main. \n\nIt's useful when one of the branches is more mature and is about to replace the main for future development. \n\nThe process of changing the main branch is as follows:\n1. The selected branch becomes the main branch.\n2. The current main is renamed and moved under the new main.\n3. Sub-branches of the selected branch are left untouched.\n4. Other branches are moved under the new main branch.\n\n### Separate\nSeparating the branch removes it completely from the structure and the branch becomes a stand-alone project. \n\nIt's a useful concept for making project copies. You can just create a branch and then separate it out of the structure. It's often used during project migration (the branch is used during migration and later separated when the migration is done). \n\nThe process of separation is as follows:\n1. The selected branch becomes a standalone project.\n2. Sub-branches of the selected branch are reparentized to the parent of the selected branch.\n\n:::info\nOnce you separate a branch from the main, it can not be merged with the original project or its other branches!\n:::\n\n### Remove\nRemoving branches should always be done carefully, as it's an irreversible operation that removes the whole branch and all its content.\n\nIt's not possible to remove a branch that is not a leaf.\n\n### Merge branch to...\nThis action allows you to merge the branch content into another branch (not necessarily the main branch). This means that the content in both branches will be synchronized fully or partially - depending on the conflict resolution. \n\n> The branch is not removed after merging it with another branch!\n\n![Localazy - Branching - Merge](https:\u002F\u002Fdirectus9.localazy.com\u002Fassets\u002F98b6a51a-336c-4aa8-982b-2f904541ad05)\n\nYou will be prompted to configure they way in which the two project branches become merged. \n\nYou have the following checkbox options that will affect what will be merged and how:\n- Process only conflicting translations \n- Create new keys and translations in the target branch\n- Create new files in the target branch\n- Create new languages in the target branch\n- Skip all keys with existing translations\n- Deprecate keys missing in the source branch\n\nYou also have the option to choose conflict resolution strategy, and the languages that will be processed during the merge.\n\nPress apply changes to display a Merge Overview and Conflicts.\n\n## Merge Overview\nOnce you prepare your merge, you will see the conflicts, affected languages and translations.\n\nOn the image below, you can see that my branch has one change in the source language, and adds 20 new translations in the German language, which is not present in the target branch at all.\n\n![Localazy - Branching - Merge Overview](https:\u002F\u002Fdirectus9.localazy.com\u002Fassets\u002F7d5574a8-e0dc-42ed-b898-b174e9c8cbae)\n\n## Conflict Resolution\nThere are many ways to resolve the conflicts that arise during the merge process. You can resolve conflicts automatically or manually. \n\n### Automatic Conflict Resolution Strategies\n\n#### Time-based automatic resolution\nResolves changes automatically based on the timestamp of the last change to the translation. The newer version is used. The bidirectional variant affects source and target branches, propagating changes to both of them.\n\n#### Reference-based automatic resolution\nWhen merging a branch into its direct parent, Localazy can resolve the changes automatically if the parent translation hasn't changed. In any other situation, conflicts are escalated for manual resolution.\n\n### Manual Conflicts resolution\nBefore you perform merge, make sure to check the conflicts on the *Conflicts* tab.\n\nHere, you can see the values in the source branch (the one you are merging into the target branch) and the target branch. In the example below, there is just one conflict, and it is the change in source language of the project. \n\n![Localazy - Branching - Conflict Resolution](https:\u002F\u002Fdirectus9.localazy.com\u002Fassets\u002Fd1a15a1d-d716-4732-b8ac-8eddb011b038)\n\nClick on the preferred value to display an arrow indicating the direction of the conflict resolution. The selected value will overwrite the value the arrow is pointing to. In the image below, you can see the Target branch will overwrite the content of the Source branch.\n\n![](https:\u002F\u002Fdirectus9.localazy.com\u002Fassets\u002F7734152f-b778-45db-b03d-fd6b516d46a7)\n\nYou can select these directions independently for each conflict, and even skip the conflicts. You can also use the buttons in the top right corner to apply the direction to all conflicts. \n\n\n## Manage branches using CLI\nYou can also manage branches using the Localazy CLI.\n\n> Learn more about using [Branching with CLI](\u002Fdocs\u002Fcli\u002Fbranching)\n\n",{"id":16,"status":4,"sort":7,"created_on":1826,"slug":1732,"name":1727,"subtitle":1827,"meta_title":1828,"meta_description":1829,"hidden":229,"icon":2349,"featured_icon":2350},{"id":1734},{"id":1737},{"id":878,"status":4,"sort":29,"created_on":2352,"name":2353},"2023-08-01T12:02:47.000Z","Version Control",[2355,2363],{"id":2356,"status":4,"title":2357,"content":2358,"slug":2359,"created_on":2360,"modified_on":2361,"owner":2093,"meta_title":8,"category":2362},413,"What is the purpose of branching in Localazy, and how does it work?","The branching feature in Localazy allows you to maintain and merge multiple project branches, enabling workflows for versioned development or managing white-labeled solutions.\n\n![](https:\u002F\u002Fdirectus9.localazy.com\u002Fassets\u002Fca897780-0ba6-4689-b9be-b2e68b131253)\n\nEach branch is a copy of its source, including all relevant project resources like glossaries, screenshots, and contributors. Branches can function as standalone projects or integrate with the main branch and other branches as needed.\n\nBranching can be managed via [CLI](\u002Fdocs\u002Fcli\u002Fbranching) or using a web interface in [Developer Console](\u002Fconsole\u002Fbranching). \n\nLearn more in the [CLI docs](\u002Fdocs\u002Fcli\u002Fbranching).","what-is-the-purpose-of-branching-in-localazy-and-how-does-it-work","2025-01-07T21:55:06.000Z","2025-03-04T14:21:39.000Z",{"id":1051,"status":4,"created_on":2360,"sort":8,"slug":1529,"label":1525,"on_faq_index":8},{"id":2364,"status":4,"title":2365,"content":2366,"slug":2367,"created_on":2368,"modified_on":2369,"owner":2093,"meta_title":8,"category":2370},414,"How does the merge process work, and what options are available to resolve conflicts?","The merge process combines two branches, with options to handle translations, keys, languages, and conflicts.\n\n## Merge in Console\nYou can merge branches using the web interface in Console. \n\n1. Select the branches you want to merge.\n2. Configure the merge process to include new languages, files or keys. \n3. Pick your conflict resolution strategy - automatic or manual.\n4. Resolve conflicts if necessary\n5. Perform merge!\n\n### Merge options\nYou have the following checkbox options that will affect what will be merged and how:\n\n- Process only conflicting translations\n- Create new keys and translations in the target branch\n- Create new files in the target branch\n- Create new languages in the target branch\n- Skip all keys with existing translations\n- Deprecate keys missing in the source branch\n\n### Conflict Resolution\nThere are many ways to resolve the conflicts that arise during the merge process. You can resolve conflicts automatically or manually.\n\n![Localazy Branching Conflict Resolution](https:\u002F\u002Fdirectus9.localazy.com\u002Fassets\u002Fd1a15a1d-d716-4732-b8ac-8eddb011b038)\n\n> Learn more about [Merging branches](https:\u002F\u002Flocalazy.com\u002Fdocs\u002Fgeneral\u002Fproject-branching#merge-branch-to)  \n\n## Merge with CLI\n- **Merge command**: Use `localazy branch merge [options] {source_branch} {target_branch}` to perform a merge.\n- **Conflict resolution**: Localazy provides strategies such as `--source`, `--target`, and `--time` to resolve conflicts. For example, using the `--strategy source` option applies translations from the source branch to resolve conflicts.\n- **Analysis before merging**: Run `localazy branch analyze [options] {source_branch} {target_branch}` to analyze potential conflicts or failures.\n- **Conflict handling**: Use commands like `localazy branch conflicts` and options such as `--no-fail-on-conflicts` to manage the process smoothly.\n\nYou can learn more in the [CLI Docs: Branching](\u002Fdocs\u002Fcli\u002Fbranching)\n","how-does-the-merge-process-work-and-what-options-are-available-to-resolve-conflicts","2025-01-07T22:00:11.000Z","2025-03-04T14:21:40.000Z",{"id":1051,"status":4,"created_on":2360,"sort":8,"slug":1529,"label":1525,"on_faq_index":8},[],[2373],{"id":2374,"documentation_id":2341,"languages_code":249,"slug":2344,"title":2345,"content":2347,"meta_title":8,"meta_description":8,"excerpt":2346},1409,[],{"id":2377,"status":4,"sort":8,"created_on":2378,"modified_on":2379,"slug":1484,"title":1480,"excerpt":2380,"content":2381,"meta_title":8,"meta_description":8,"pinned":229,"main_image":8,"section":2382,"subsection":2385,"cta":8,"faq":2386,"dictionary":2429,"translations":2437,"documentation_id":2377,"blog_articles":2440},239,"2024-07-19T08:40:06.000Z","2024-07-19T08:45:33.000Z","Learn more about the capabilities of Localazy translation memory and how it can help you save costs on translation.\t\t ","## What is the Translation Memory?\nLocalazy Translation Memory is a database of all translated strings within your projects. When there is an exact match for a previously translated strings, you can use the Translation Memory to translate the texts in the same way as before, ensuring consistency and lowering cost of translation.\n\n\n## Using Translation Memory for Batch Translation\nYou may use Translation Memory to translate individual strings, files or a whole language.\nFor example, to translate all untranslated content in a language, go to languages list overview, click on dropdown options of your target language and select **Translate with Translation Memory**.\n\n![Localazy Batch Translate with Translation Memory](https:\u002F\u002Fdirectus9.localazy.com\u002Fassets\u002F0833db9f-5188-484f-9164-ec4e79316a60)\n\nThen select source projects for the operation. Selected project's translation memory will be searched for existing translations that could be applied to the untranslated strings. Click on confirm to begin the translation process. At the end, you'll see a notification about the number of strings that could have and were translated by the Translation Memory.\n\n![Batch Translate with Translation Memory Modal](https:\u002F\u002Fdirectus9.localazy.com\u002Fassets\u002Fabc1f08d-9182-41bb-95d0-0952b17be101)\n\n## Translation Memory Suggestions\nWithin the translate or review interface, you may see Translation memory suggestions in the *Suggestions* context tab. In the example below, you can see that a recommended translation originates from the connected project **spa**.\n\n![Translation Memory Suggestion](https:\u002F\u002Fdirectus9.localazy.com\u002Fassets\u002F836fffbb-2689-4f9b-863c-9d57eff7c64a)\n\nIn the *Similar* context tab, you may look up strings and their translations that originate from the connected projects as well.\n\n![Translation Memory Similar Lookup](https:\u002F\u002Fdirectus9.localazy.com\u002Fassets\u002F144e1e28-fcf4-4950-9a0a-37294116a97f)\n\n## Cross-Project Translation Memory\nYou can link multiple projects together with the Connected Projects feature.\n\n> Learn more about sharing Translation Memory in the [Connected Projects documentation](\u002Fdocs\u002Fgeneral\u002Fconnected-projects)",{"id":16,"status":4,"sort":7,"created_on":1826,"slug":1732,"name":1727,"subtitle":1827,"meta_title":1828,"meta_description":1829,"hidden":229,"icon":2383,"featured_icon":2384},{"id":1734},{"id":1737},{"id":158,"status":4,"sort":158,"created_on":2042,"name":11},[2387,2395,2402,2409,2416,2418],{"id":2388,"status":4,"title":2389,"content":2390,"slug":2391,"created_on":2392,"modified_on":2393,"owner":2083,"meta_title":8,"category":2394},360,"How does the Localazy Translation Memory work?","Localazy **Translation Memory (TM)** stores all previously translated source keys, allowing them to be reused in future translations. When a new source key fully matches a stored TM entry, Localazy suggests the existing translation, saving time and ensuring project consistency. \n\nFind out more about [Translation Memory](https:\u002F\u002Flocalazy.com\u002Fdictionary\u002Ftranslation-memory).","how-does-localazy-translation-memory-work","2024-07-17T12:31:26.000Z","2024-07-19T08:45:43.000Z",{"id":57,"status":4,"created_on":2052,"sort":8,"slug":2085,"label":1380,"on_faq_index":230},{"id":2396,"status":4,"title":2397,"content":2398,"slug":2399,"created_on":2392,"modified_on":2400,"owner":2083,"meta_title":8,"category":2401},361,"Can I import my own Translation Memory to Localazy?","Yes, you can import your own Translation Memory into Localazy. Localazy supports standard **TMX (Translation Memory eXchange)** files, which you can upload through the platform to integrate your existing translations with Localazy’s system. \n\nThe best way to do it is to create a new project that will serve only as a translation memory source. Upload your TMX files to the project and connect it to your real translation projects using the [Connected Projects](\u002Ffeatures\u002Fconnected-projects) feature.\n\nLearn more about [TMX integration](https:\u002F\u002Flocalazy.com\u002Fdocs\u002Fcli\u002Ftmx-format) in the documentation.","import-own-translation-memory-to-localazy","2026-01-23T08:52:56.000Z",{"id":57,"status":4,"created_on":2052,"sort":8,"slug":2085,"label":1380,"on_faq_index":230},{"id":2403,"status":4,"title":2404,"content":2405,"slug":2406,"created_on":2392,"modified_on":2407,"owner":2083,"meta_title":8,"category":2408},362,"How can I share Translation Memories between projects?","Translation Memories can be shared between projects using the **Connected Projects** feature. \n\nTo activate translation memory between multiple projects, go to **Tools** → **Connected Projects** to begin. Open the **Translation memory** tab and select a project you would like to connect(max. 5 projects).\n\nConnecting projects translation memories allows you to re-use translations from the other projects via batch translation or as suggestions during translate and review sessions.\n\nFind out more about [Connected Projects](https:\u002F\u002Flocalazy.com\u002Fdocs\u002Fgeneral\u002Fconnected-projects) feature.","share-translation-memories-between-projects","2024-07-19T08:45:44.000Z",{"id":57,"status":4,"created_on":2052,"sort":8,"slug":2085,"label":1380,"on_faq_index":230},{"id":2410,"status":4,"title":2411,"content":2412,"slug":2413,"created_on":2392,"modified_on":2414,"owner":2083,"meta_title":8,"category":2415},363,"What is the difference between ShareTM and Translation Memory?","**Translation Memory** is an automatically populated database that stores and suggests previously translated segments for reuse within **one project**(or multiple projects with [Connected Projects](\u002Fdocs\u002Fgeneral\u002Fconnected-projects) feature).\n\n**ShareTM**, on the other hand, is a **public translation memory** that allows you to get suggestions from other Localazy projects and share your translations with others in return. Find out more about [ShareTM](https:\u002F\u002Flocalazy.com\u002Fdocs\u002Fgeneral\u002Fwhat-is-localazy-sharetm).","difference-between-share-tm-and-translation-memory","2024-07-19T08:45:48.000Z",{"id":57,"status":4,"created_on":2052,"sort":8,"slug":2085,"label":1380,"on_faq_index":230},{"id":2300,"status":4,"title":2301,"content":2302,"slug":2303,"created_on":2304,"modified_on":2305,"owner":2093,"meta_title":8,"category":2417},{"id":57,"status":4,"created_on":2052,"sort":8,"slug":2085,"label":1380,"on_faq_index":230},{"id":2419,"status":4,"title":2420,"content":2421,"slug":2422,"created_on":2423,"modified_on":2424,"owner":2093,"meta_title":8,"category":2425},316,"What is TMX?","TMX (Translation Memory eXchange) format is a standard for exchanging translation memory data between different translation tools and systems. Translation memory is a database that stores previously translated text segments, such as sentences or paragraphs, along with their corresponding translations. \n\nThe TMX format is a standardized XML-based markup language to represent and exchange translation memory data. It allows different translation tools and systems to share and import\u002Fexport translation memory information seamlessly.\n\nA TMX file may include additional metadata such as language codes, context information, and other details relevant to the translation process.\n","what-is-tmx","2024-01-06T14:08:48.000Z","2024-01-06T14:09:31.000Z",{"id":314,"status":4,"created_on":2426,"sort":8,"slug":2427,"label":2428,"on_faq_index":8},"2024-01-06T13:59:10.000Z","tmx-format","TMX Format",[2430,2431,2436],{"id":62,"status":4,"owner":2050,"created_on":2105,"title":2169,"excerpt":2170,"content":2171,"slug":1484,"meta_title":53,"meta_description":53,"canonical":53},{"id":222,"status":4,"owner":2050,"created_on":2179,"title":2432,"excerpt":2433,"content":2434,"slug":2435,"meta_title":8,"meta_description":8,"canonical":8},"TMX - Translation Memory eXchange format","Translation Memory eXchange (TMX) is an XML specification that allows computer-aided translation and localization tools to exchange translation memory data.\n","Translation Memory eXchange (TMX) is a [translation memory](\u002Fdictionary\u002Ftranslation-memory) format based on XML designed to enable the exchange of translation memory data between CAT tools, translation vendors, and localization platforms.\n\nOSCAR (Open Standards for Container\u002FContent Allowing Re-use), a Localisation Industry Standards Association (LISA) special interest group, has developed and maintained TMX until 2007. The standards were later moved under a Creative Commons license.\n\nLearn more about the [TMX format specifications](https:\u002F\u002Ffileinfo.com\u002Fextension\u002Ftmx)","tmx-translation-memory-exchange-format",{"id":7,"status":4,"owner":2050,"created_on":2156,"title":2157,"excerpt":2158,"content":2159,"slug":2160,"meta_title":53,"meta_description":53,"canonical":53},[2438],{"id":2439,"documentation_id":2377,"languages_code":249,"slug":1484,"title":1480,"content":2381,"meta_title":8,"meta_description":8,"excerpt":2380},1364,[],{"id":2442,"status":4,"sort":8,"created_on":2443,"modified_on":2444,"slug":2445,"title":2446,"excerpt":2447,"content":2448,"meta_title":8,"meta_description":8,"pinned":229,"main_image":8,"section":2449,"subsection":2452,"cta":8,"faq":2453,"dictionary":2454,"translations":2455,"documentation_id":2442,"blog_articles":2458},237,"2024-04-12T18:13:10.000Z","2024-07-17T06:49:26.000Z","supported-file-formats","Supported File Formats","Learn about the various localizable file types Localazy supports.","## .JSON\nLocalazy supports various JSON flavors, including i18Next, Mozilla i18n, Multilingual JSON, JSON5, HJSON, and RequireJS.\n\n> Learn more about the [JSON](\u002Fdocs\u002Fcli\u002Fjson-format) file format in the CLI docs\n\n## Android .XML\nAndroid XML format is fully supported including array-lists and plurals. No extra configuration is necessary.\n\nFor Android app localization, we recommend using the Localazy Gradle plugin that automatically handles uploads, downloads and adds code for OTA (over-the-air) updates.\n\n> Learn more about the [Android XML](\u002Fdocs\u002Fcli\u002Fandroid-format) file format in the CLI docs\n\n## iOS and macOS formats\nFor iOS and macOS apps, Localazy supports .xcstrings, .strings, .stringsdict, .plist and XLIFF files.\n\n> Learn more about [iOS and macOS](\u002Fdocs\u002Fcli\u002Fios-format) formats in the CLI docs\n\n### .xcstrings\nAll the features of XCode Strings Catalogs are supported, including simple values, variants, substitutions and plurals.\n\nNo extra configuration is necessary as all the features are supported out of the box.\n\n> Learn more about the [Xcode String Catalog](\u002Fdocs\u002Fcli\u002Fxcstrings-format) format in the CLI docs\n\n## XLIFF \n### XLIFF 1.2\nSelected elements of XLIFF 1.2 are supported, and the format is fully compliant with Apple’s XLIFF files generated by XCode including Apple’s plural extension.\n\n> Learn more about the [XLIFF 1.2](\u002Fdocs\u002Fcli\u002Fxliff-12-format) format in the CLI docs\n\n### XLIFF 2.0\nSelected elements of XLIFF 2.0 are supported, and we added extra support for Apple’s plural extension, arrays, and other forms of plurals.\n\n> Learn more about the [XLIFF 2.0](\u002Fdocs\u002Fcli\u002Fxliff-12-format) format in the CLI docs\n\n### iSpring Suite .XLIFF\niSpring Suite XLIFF format is supported out of the box. \n\n\n## .PO\u002F.POT file\nGettext PO\u002FPOT format is fully supported including plurals and context information.\n\nSee the [full specification](https:\u002F\u002Fwww.gnu.org\u002Fsoftware\u002Fgettext\u002Fmanual\u002Fhtml_node\u002FPO-Files.html) for more details.\n\n> Learn more about [.PO & .POT](\u002Fdocs\u002Fcli\u002Fpo-format) formats in the CLI docs\n\n## .YAML\nLocalazy supports various YAML flavors, including plain, structured, Rails i18n, Multilingual YAML, object-based, and array-based YAMLs.\n\n> Learn more about the [YAML](\u002Fdocs\u002Fcli\u002Fyaml-format) file format in the CLI docs\n\n## Flutter .ARB\nFlutter’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.\n\n> Learn more about the [Flutter ARB](\u002Fdocs\u002Fcli\u002Fflutter-format) file format in the CLI docs\n\n## Adobe Captivate .XML\nAdobe Captivate Export format is supported out of the box. \n\n## .CSV\u002F.TSV\nWith Localazy, you can parse CSV\u002FTSV files and configure the parser to handle almost any of the widely used formats.\n\nIf you follow one of the pre-defined structures, you can select how to read the file - which column is the key, which one is the comment for the translator, and where to look for translations.\n\nYou can also upload multilingual CSV\u002FTSV files.\n\n> Learn more about [CSV & TSV](\u002Fdocs\u002Fcli\u002Fcsv-format) formats in the CLI docs\n\n## Excel (.xls\u002F.xlsx)\nWith Localazy, you easily use Microsoft Excel files (both XLS and XLSX) to localize your mobile, web, or desktop apps as well as marketing materials, tags, social posts, documentation, etc.\n\nThe expected format is as shown below:\n\n| Key | Translation | Comment |\n| ----| ------------ | ---------- | \n\nBy default, Localazy expects the first row to be a header.\n\nOnly the first sheet is used. Other sheets are ignored.\n\nYou can also upload multilingual files.\n\n> Learn more about [Excel](\u002Fdocs\u002Fcli\u002Fexcel-format) support in the CLI docs\n\n## OpenOffice (.ods)\nOpenOffice format follows the same rules as the XLS format above, including multilingual files.\n\n> Learn more about [OpenOffice](\u002Fdocs\u002Fcli\u002Fods-format) support in the CLI docs\n\n\n## .INI file\nINI files are supported and with Localazy, it’s possible to use also plurals and arrays for more comfortable and accurate translations. You can also use multilingual INI files.\n\n> Learn more about the [INI](\u002Fdocs\u002Fcli\u002Fini-format) file format in the CLI docs\n\n## Java .properties\nJava Properties files are supported and with Localazy, it’s possible to use also plurals and arrays for more comfortable and accurate translations.\n\n> Learn more about the [Java Properties](\u002Fdocs\u002Fcli\u002Fproperties-format) file format in the CLI docs\n\n## Javascript .JS & Typescript .TS\nOur parser can adapt to many formats of JS files that follow the rule `PREFIX { localizable content } SUFFIX`.\n\nPlease note that **functions, imports, lambdas, explicit types** (for TypeScript), **string concatenation**, etc. are not supported in the localizable content part. Also, there can be only one localizable part in the file.\n\nFor multiline strings, you can use backticks.\n\n> Learn more about [Javascript & Typescript](\u002Fdocs\u002Fcli\u002Fjavascript-format) formats in the CLI docs\n\n## Nette .NEON\nNEON (Nette Object Notation) is a popular format for Nette framework and with Localazy, you can use it out-of-the-box with plain, structured, multilingual, object-based, and array-based NEONs.\n\n> Learn more about the [NEON](\u002Fdocs\u002Fcli\u002Fneon-format) file format in the CLI docs\n\n## .TOML\nLocalazy supports various TOML flavors, including plain, structured, multilingual, and object-based TOML.\n\n> Learn more about the [TOML](\u002Fdocs\u002Fcli\u002Ftoml-format) file format in the CLI docs\n\n## .PHP\u002FLaravel\nLocalazy allows using PHP files based on associative arrays such as those commonly used with Laravel framework. You can also upload multilingual PHP. As an addition, we support for many different features - plurals, ICU, etc.\n\n> Learn more about the [PHP](\u002Fdocs\u002Fcli\u002Fphp-format) file format in the CLI docs\n\n## .TXT & .MD texts\nLocalize text & markdown files, app store description, marketing materials, and more with Localazy. In Localazy, the file is stored as a file with a single key `content`.\n\n> Learn more about the [Plain Texts](\u002Fdocs\u002Fcli\u002Fplain-text-format) file format in the CLI docs\n\n\n## QT Linguist .TS\nQt’s Linguist .TS files are fully supported by Localazy. You can use id-based or source-based files.\n\n> Learn more about the [QT-TS](\u002Fdocs\u002Fcli\u002Fqt-ts-format) file format in the CLI docs\n\n## .RESX\nRESX format is supported and with Localazy, it’s possible to use also plurals and arrays for more comfortable and accurate translations.\n\n> Learn more about [RESX](\u002Fdocs\u002Fcli\u002Fresx-format) file format in the CLI docs\n\n## .SRT Subtitles\nUpload SRT (SubRip Text) files with subtitles to Localazy and manage your translations easily.\n\nBy default, Localazy tries to autodetect the character encoding.\n\n> Learn more about [SRT](\u002Fdocs\u002Fcli\u002Fsrt-format) file format in the CLI docs\n\n\n## .TMX (Translation Memory)\nTMX (Translation Memory eXchange) files are supported in the same way as all other localizable formats. There’s also a custom implementation for pluralized items.\n\nTMX files up to version 1.4b are supported.\n\n> Learn more about the [TMX](\u002Fdocs\u002Fcli\u002Ftmx-format) file format in the CLI docs\n\n\n\n",{"id":16,"status":4,"sort":7,"created_on":1826,"slug":1732,"name":1727,"subtitle":1827,"meta_title":1828,"meta_description":1829,"hidden":229,"icon":2450,"featured_icon":2451},{"id":1734},{"id":1737},{"id":158,"status":4,"sort":158,"created_on":2042,"name":11},[],[],[2456],{"id":2457,"documentation_id":2442,"languages_code":249,"slug":2445,"title":2446,"content":2448,"meta_title":8,"meta_description":8,"excerpt":2447},234,[],{"id":2338,"status":4,"sort":8,"created_on":2460,"modified_on":2461,"slug":2462,"title":2463,"excerpt":2464,"content":2465,"meta_title":8,"meta_description":8,"pinned":229,"main_image":8,"section":2466,"subsection":2469,"cta":8,"faq":2470,"dictionary":2479,"translations":2480,"documentation_id":2338,"blog_articles":2483},"2023-10-26T14:07:10.000Z","2024-07-17T05:45:06.000Z","language-statistics","Language Statistics & Reporting","See a quick overview of language statistics or get a better insight into what is happening in your project with Reporting.","> This feature is available in the [Business plan](\u002Fdocs\u002Fgeneral\u002Flocalazy-business-tier)\n\n## Language statistics\n\nWhile Localazy itself provides you with useful information on the translation progress, you may need a bit more detailed info - how many words or characters are there for translating or approving. Just navigate to the [Languages](\u002Fconsole\u002Flanguages) screen in the [Localazy Console](\u002Fconsole) and learn detailed statistics about your project. \n\nNot only that you can get a quick glance at the progress and your project size, but there is also additional information about how many duplicates you have and, therefore, how much you could save with our [Duplicity Linking](\u002Fdocs\u002Fgeneral\u002Fduplicity-linking\") feature.\n\n![](https:\u002F\u002Fdirectus9.localazy.com\u002Fassets\u002F77108a0a-f067-4dc7-800c-e2cb56a8f58a)\n\nThe languages tab in the Console gives you a consolidated overview of the state of your project's source keys and translations in the respective languages.\n\nSource language stats show you:\n- How many active keys are in the project\n- How many source keys are hidden or deprecated\n- How many of them are duplicates, and what is the duplicate ratio\n\nFor each target language, you can then find out:\n- How many source keys are translated\n- How many translations need review\n- How many translations were approved or unapproved\n- How many translations had their source changed or need improvement\n\n> All stats are available in the following units: source key counts, words, or characters.\n\n## Reporting\n[Reporting](https:\u002F\u002Flocalazy.com\u002Fconsole\u002Freporting) gives you even better insight into the state of your projects from language and contributor perspectives for a given time period.\n\nReporting data can help you tell, e.g.:\n- How many words have each of my translators translated in the previous month?\n- How many translations in German were reviewed last week?\n\n> You can select up to a 90-day period and filter by username or language for a quick access to the views that are important for you.\n\n![](https:\u002F\u002Fdirectus9.localazy.com\u002Fassets\u002F8c067f76-66a4-4e4a-9ccc-f7a2f9190900)\n",{"id":16,"status":4,"sort":7,"created_on":1826,"slug":1732,"name":1727,"subtitle":1827,"meta_title":1828,"meta_description":1829,"hidden":229,"icon":2467,"featured_icon":2468},{"id":1734},{"id":1737},{"id":158,"status":4,"sort":158,"created_on":2042,"name":11},[2471],{"id":2472,"status":4,"title":2473,"content":2474,"slug":2475,"created_on":2476,"modified_on":2477,"owner":2093,"meta_title":8,"category":2478},304,"How to cooperate with an external translation agency when I am using Localazy?","When working with external translators or agencies that are used to their own solution for translating, you may need a few extra features - language statistics and import\u002Fexport.\n\nYou can find both of them in a single place - in our [console](\u002Fconsole). As you may already know, the console is our place for features that are relevant to a small subset of our users only and for features that are still being heavily improved over time. We are committed to making Localazy better every single day, so [your feedback is welcomed](\u002Fcontact). Feel free to share all your suggestions with us!\n\n> Learn more about **[Language Statistics](https:\u002F\u002Flocalazy.com\u002Fdocs\u002Fgeneral\u002Flanguage-statistics)**\n\n## Exporting content for use by external tools\nSome translation agencies are used to work with their own solution. There are numerous reasons for it - e.g., it helps them to calculate rewards for their translators and contractors. We are prepared for it, and you can easily export all your texts or only the untranslated ones as a CSV file, which any agency should easily be able to use. \n\n> Please note that we don't recommend this for a variety of reasons - it adds extra manual work, and you also need to ensure that the agency has all the necessary context information in order to provide a high-quality translation. You wouldn't need to care about it while using Localazy directly. \n\nHowever, if there is no other way around it, here are a few simple steps on how to do it:\n- Add the required language to your project\n- Export your project as a CSV file using the [Import\u002FExport option in the Console](\u002Fconsole\u002Fimport_export)\n- Exchange the file with your translation agency\n- Import the file back to Localazy\n- And that's it!\n\n> Learn more about **[CSV Import\u002FExport](\u002Fdocs\u002Fgeneral\u002Fcsv-import-export)**\n","how-to-cooperate-with-external-translation-agency","2023-10-26T14:37:41.000Z","2023-10-27T09:01:27.000Z",{"id":50,"status":4,"created_on":2052,"sort":22,"slug":2053,"label":1727,"on_faq_index":230},[],[2481],{"id":2482,"documentation_id":2338,"languages_code":249,"slug":2462,"title":2463,"content":2465,"meta_title":8,"meta_description":8,"excerpt":2464},213,[],{"id":2482,"status":4,"sort":8,"created_on":2485,"modified_on":2486,"slug":2487,"title":2488,"excerpt":2489,"content":2490,"meta_title":8,"meta_description":8,"pinned":229,"main_image":8,"section":2491,"subsection":2494,"cta":8,"faq":2495,"dictionary":2498,"translations":2499,"documentation_id":2482,"blog_articles":2502},"2023-10-26T13:01:32.000Z","2024-07-17T05:45:05.000Z","csv-import-export","CSV Import\u002FExport","When working with external translators or agencies that are used to their own translation solution, you may not be able to convince them to join Localazy. However, you can export your project's texts in a CSV format for simple handoff and then import it back once you receive the translated file.","Some translation agencies are used to working with their preferred solution, and when there is nothing you can do to convince them to join your project in Localazy, we've got you covered. There are numerous reasons for it - e.g., it helps them to calculate rewards for their translators and contractors. \n\n> Please note that we don't recommend this approach for a variety of reasons - it adds extra manual work, and you also need to ensure that the agency has all the necessary context information in order to provide a high-quality translation. You wouldn't need to care about it while using Localazy directly. \n\nHowever, if there is no other way around it, here are a few simple steps to transfer your Localazy data in a CSV file, which any agency should easily be able to use:\n\n## Select the languages\nGo to [Import\u002FExport in the console](https:\u002F\u002Flocalazy.com\u002Fconsole\u002Fimport_export) and select the desired project first to get to the language selection. \n\n![Localazy CSV Import\u002FExport - Language selection](https:\u002F\u002Fdirectus9.localazy.com\u002Fassets\u002F1bfb68be-06a1-491f-8b1c-f19b691b7e3a)\n\n## Export your CSV file\nBefore exporting your translations, you can decide whether you want only untranslated keys or to download the existing translations as well. This is a handy feature if you want to give your translation agency all the texts, including those that are already translated, so they have the context of the project and can keep the wording consistent across new translations. \n\n![Localazy CSV Import\u002FExport - Export options](https:\u002F\u002Fdirectus9.localazy.com\u002Fassets\u002F7a9654f2-5d95-40ce-90f2-8c03e9070fbc)\n\n## Exchange the file with your translation agency\nWe don't like this step at Localazy because sending your files back and forth adds additional complexity to the already complex translation process. And we are not even talking about tons of additional emails when the translators are unsure how to translate some of your texts. We are committed to removing this error-prone approach from your day-to-day operations and strive to make the Localazy platform take care of everything that can be automated for you.\n\nNonetheless, you send the file to your translation agency and get it back with everything translated. Now, you are ready to import their work into your project.\n\n> Ensure your agency sends you back the correct file in the same format. They are supposed to keep it the same except to provide the translations.\n\n## Import the file back to Localazy\n\nNavigate to the [Import\u002FExport in the console](https:\u002F\u002Flocalazy.com\u002Fconsole\u002Fimport_export) and click the **Import CSV** button below the list of languages. In the dialog that pops up, you can select the file, and there are also a few additional options. \n\n![Localazy CSV Import\u002FExport - Import Options](https:\u002F\u002Fdirectus9.localazy.com\u002Fassets\u002Ff0db13d8-488e-4fbd-9dc2-ee8577a2982f)\n\n* **Overwrite translations** \\- Use this option if you want translations from the agency to be also applied to keys that are already translated to the target languages. E.g., the agency made some improvements to existing translations too. \n* **Overwrite source texts** \\- Sometimes, the agency may also improve the original source texts. If you want to apply the changes, use this option.\n* **Set the source change flag** \\- When you decide that you want to **Overwrite source texts**, you can also tick this checkbox to mark translations as **source changed** and thus be subject to verification that the meaning is still in line with the source text.\n\nAll set? Click the **Import** button, and after a while, you will get the results:\n\n![Localazy CSV Import\u002FExport - Import Result](https:\u002F\u002Fdirectus9.localazy.com\u002Fassets\u002Fe468393a-de7a-43e1-a76f-23ab1d69f377)\n\n> Notice that we double-check the file for possible issues so that you can be sure that your project is not going to be negatively affected in any way.\n\nAnd that's it. Pretty simple, well? Still, we recommend removing all of these unnecessary steps by just using Localazy directly.",{"id":16,"status":4,"sort":7,"created_on":1826,"slug":1732,"name":1727,"subtitle":1827,"meta_title":1828,"meta_description":1829,"hidden":229,"icon":2492,"featured_icon":2493},{"id":1734},{"id":1737},{"id":158,"status":4,"sort":158,"created_on":2042,"name":11},[2496],{"id":2472,"status":4,"title":2473,"content":2474,"slug":2475,"created_on":2476,"modified_on":2477,"owner":2093,"meta_title":8,"category":2497},{"id":50,"status":4,"created_on":2052,"sort":22,"slug":2053,"label":1727,"on_faq_index":230},[],[2500],{"id":2501,"documentation_id":2482,"languages_code":249,"slug":2487,"title":2488,"content":2490,"meta_title":8,"meta_description":8,"excerpt":2489},212,[],{"id":2504,"status":4,"sort":2505,"created_on":2506,"modified_on":2507,"slug":1476,"title":2508,"excerpt":2509,"content":2510,"meta_title":8,"meta_description":8,"pinned":229,"main_image":8,"section":2511,"subsection":2514,"cta":8,"faq":2515,"dictionary":2528,"translations":2536,"documentation_id":2504,"blog_articles":2539},254,"09000","2025-02-12T08:03:08.000Z","2026-03-04T20:48:08.000Z","Localazy AI","Localazy AI delivers high-quality translations that understand your project's context, terminology, and style requirements. It's available on the Professional plan and provides noticeably better results than standard machine translation options.","## How it works\n\nLocalazy AI translates your content while automatically applying your glossary terms and following your style guide. This means translations stay consistent with your established terminology and match your brand's tone without additional configuration.\n\n## Pricing & availability\n\nLocalazy AI uses the same [Localazy credits](\u002Fdocs\u002Fgeneral\u002Flocalazy-credits) as professional translation services or built-in machine translation integrations.\n\nYou can see the estimated cost for any translation before confirming it in the bulk translation dialog window. \n\n- **$0.0035 - $0.008 per word** depending on the translated string word count\n- Currently available on the [Professional](\u002Ftiers\u002Fprofessional) and above tiers\n\n> The pricing uses a sliding scale where the cost per word decreases as the string gets longer. The price per word is determined by the number of words in the translated strings. A 1-word string would cost $0.008 to translate, while strings of 100 words or more cost as low as $0.0035 per word. \n\n| Required plan             | Suggestions   | Bulk translate              | Automations                  |\n|--------------|---------------|------------------------------|------------------------------|\n| 🧑‍🚀 Professional or above    |  ⏳ Coming soon | ✅ | ✅ |\n\n\n\n## Style guide integration\n\nLocalazy AI automatically references your [style guide](\u002Fdocs\u002Fgeneral\u002Fstyle-guide) during translation. Configure your brand guidelines, tone preferences, or specific instructions, and the AI will adapt its translations accordingly.\n\n> This is a first release of our AI integration with style guides. We're eager to hear your feedback about how well it works for your use case and what improvements would be most valuable.\n\n## Glossary support\n\nYour [project glossary](\u002Fdocs\u002Fgeneral\u002Fhow-to-define-your-glossary) is automatically applied during AI translation. The system ensures that defined terms are translated consistently across all content, maintaining terminology accuracy without manual intervention.\n\n",{"id":16,"status":4,"sort":7,"created_on":1826,"slug":1732,"name":1727,"subtitle":1827,"meta_title":1828,"meta_description":1829,"hidden":229,"icon":2512,"featured_icon":2513},{"id":1734},{"id":1737},{"id":29,"status":4,"sort":36,"created_on":2042,"name":1380},[2516,2526],{"id":2517,"status":4,"title":2518,"content":2519,"slug":2520,"created_on":2100,"modified_on":2521,"owner":2093,"meta_title":8,"category":2522},513,"What is the difference between Localazy AI and ChatGPT for translation?","ChatGPT can translate text from one language to another. It often does it word for word and requires serious effort to yield satsifactory results. It doesn't gather additional context, doesn't follow best-practices and doesn't ask you for additional information. \n\nLocalazy AI reasons about your localization needs before it translates anything.\n\n## How context is handled\n\nWhen you send a button string *\"Book\"* to ChatGPT, you get back a translated word. It might be correct, it might be wrong, and it'll vary between requests depending on how you phrased your prompt. You need to manually explain that this is a button, specify formality, pass your glossary terms, handle placeholder preservation, and hope the model remembers all that context.\n\nWhen Localazy AI sees \"Book,\" it collects context first. It checks the key name (`reservation-button`), reads your style guide (formal or informal?), looks at your glossary (is this the reading material or the booking action?), considers previous translations for consistency, and reads any notes you've added. Then it plans the translation approach and executes it. The word gets translated as a verb or noun based on actual context, not guesswork.\n\n\n## General purpose vs software translation-oriented\nChatGPT also doesn't know about software localization patterns. It'll happily modify your `{userName}` placeholder or break your formatting because it might be treating everything as general text.\n\nLocalazy AI understands these are functional elements that need preservation. It reasons about what they mean in the context of software and handles them correctly.\n\n## Build or buy?\n\nThe biggest difference is infrastructure. ChatGPT is a general-purpose text generator. You will have to build your own translation pipeline around it. Localazy AI is a localization reasoning system already built into a translation management platform. \n\nThey might use similar underlying models, but Localazy AI wraps them in context collection, processing logic, and software-aware translation planning. And it works directly inside the TMS you're already using.\n\n**Cost tracking.** With your own API keys, you're paying per token. Your first test with 1,000 strings costs $2. But your actual app has 20,000 strings across 8 languages, so that's $320 per full translation run. Next week you update 50 strings. Do you retranslate everything or just the changed ones? Suddenly, you need to build diffing logic, caching, and a database to track what's been translated. Localazy tracks this automatically. You pay a predictable rate per word only for what actually gets translated, and the system knows what changed.\n\n**Context management.** With ChatGPT, you need to explain that \"Notification\" in settings.json is a toggle label but in emails.json it's a subject line. You add that context to your prompts, but now your prompts are huge and you're paying for all that context on every API call. You spend hours refining prompts to pass the right context. Localazy AI collects context from your key names, glossaries, style guides, and translation notes automatically. You define it once, and the reasoning process uses it for every translation without you managing prompts.\n\n**Rate limits and errors.** OpenAI has rate limits. You hit them during batch runs. Your script fails halfway through. You add retry logic, progress tracking, and resume logic. You've written 200 lines of error handling. Localazy AI handles this infrastructure layer. Rate limits do not apply. And progress tracking is built-in. \n\n**Quality control.** With your own integration, you need to build validation to check if placeholders are preserved. You need native speakers to review translations, which means building a review workflow, marking strings for review, and tracking who reviewed what. You're essentially building an in-house TMS from scratch. Localazy includes QA checks that validate placeholders, character limits, and formatting automatically. The review workflow exists, with permissions, commenting, and translation history all built in.\n\n**Edge cases.** Plural forms work differently across languages. Variables appear in different positions. HTML tags need to stay intact. Some strings shouldn't be translated at all. With ChatGPT, each edge case means updating your code or your prompts. With Localazy AI, these patterns are already handled by the reasoning system that understands software localization.\n\n**Prompt maintenance.** You tweak prompts to handle brand voice, technical terms, and formality. But the perfect prompt for Spanish breaks your German translations. Now you need language-specific prompts that you're version controlling, testing, and maintaining. Localazy AI uses style guides instead. You define tone and formality per language once. The system applies it consistently without you managing prompt variations.\n\nThe DIY approach seems simple until you actually build it. Then you're maintaining infrastructure instead of shipping features. Localazy AI exists because all these problems are already solved.","what-is-the-difference-between-localazy-ai-and-chat-gpt-for-translation","2026-02-22T19:13:47.000Z",{"id":2523,"status":4,"created_on":2524,"sort":8,"slug":1476,"label":2525,"on_faq_index":8},78,"2025-03-11T12:39:23.000Z","Localazy AI Capabilities",{"id":2096,"status":4,"title":2097,"content":2098,"slug":2099,"created_on":2100,"modified_on":2101,"owner":2093,"meta_title":8,"category":2527},{"id":50,"status":4,"created_on":2052,"sort":22,"slug":2053,"label":1727,"on_faq_index":230},[2529],{"id":2530,"status":4,"owner":2083,"created_on":2531,"title":2532,"excerpt":2533,"content":2534,"slug":2535,"meta_title":53,"meta_description":53,"canonical":53},169,"2024-07-11T05:52:24.000Z","AI-powered translation","A type of automated translation that leverages artificial intelligence and machine learning technologies to automatically translate content from one language to another.","This approach enhances the speed and accuracy of translations by continuously learning and improving from large datasets.\n\n**AI-powered translation** is a subset of [Machine Translation](https:\u002F\u002Flocalazy.com\u002Fdictionary\u002Fmachine-translation) closely related to [neural networks](https:\u002F\u002Flocalazy.com\u002Fdictionary\u002Fneural-machine-translation\u002F \"https:\u002F\u002Flocalazy.com\u002Fdictionary\u002Fneural-machine-translation\u002F\") that has evolved significantly with the advancements in AI. These technologies are crucial in handling large volumes of text quickly and efficiently, making them indispensable in modern translation workflows.\n\n> *For the latest insights and developments in AI-powered translation, explore our [AI-related blog articles](https:\u002F\u002Flocalazy.com\u002Ftags\u002Fai).*","ai-powered-translation",[2537],{"id":2538,"documentation_id":2504,"languages_code":249,"slug":1476,"title":2508,"content":2510,"meta_title":8,"meta_description":8,"excerpt":2509},1376,[],{"id":2541,"status":4,"sort":2542,"created_on":2543,"modified_on":2544,"slug":1522,"title":1518,"excerpt":2545,"content":2546,"meta_title":8,"meta_description":8,"pinned":229,"main_image":8,"section":2547,"subsection":2550,"cta":8,"faq":2551,"dictionary":2552,"translations":2553,"documentation_id":2541,"blog_articles":2556},257,"09020","2025-04-27T09:15:47.000Z","2026-05-25T13:37:22.000Z","Learn how to set up automated actions triggered by events inside your Localazy project. Enjoy automatic machine translation, delete deprecated keys automatically, and do much more with Automations!","> Automations are available in the [Autopilot plan](\u002Fdocs\u002Fgeneral\u002Flocalazy-autopilot-tier)\n\n## How to create Automations\nTo create your first automation, navigate to **Tools** -> **Automations** in your project and click on the **+ NEW AUTOMATION** button.\n![Creating new automation](https:\u002F\u002Fdirectus9.localazy.com\u002Fassets\u002Fba9859c7-a5fd-4b20-b962-c0a9853558f5)\n\n> Only project Managers and Owners can create and manage automations\n\n## Configuring Automation\nEach automation consists of three parts. The automated action, triggering event and optional event filters. These parts are configured in a three-step form. As you build the automation, the right side panel will help you understand what action and under which circumstances will run based on the configuration form.\n\n### Automated Action\nIn the first step you may choose one of the available automation actions. We will cover each action in greater detail later in this article.\n![Automated Action](https:\u002F\u002Fdirectus9.localazy.com\u002Fassets\u002Fd8828f55-a83c-49cc-8134-74f148bf159a)\n\n> Unique Automation names are generated automatically based on the selected action. You may rename the Automation in the top right area of the configuration form. \n\n### Trigger event\nSelect a trigger event based on the selected Action. This section is where you configure when the Action should run, for example, on key\u002Ftranslation upload or update.\n\nAvailable Trigger Events depend on the Action you selected because, for some Actions, some Trigger Events wouldn’t make any sense.\n![Trigger Event](https:\u002F\u002Fdirectus9.localazy.com\u002Fassets\u002Fced7d0c5-178f-4622-b64e-3835caa77b05)\n\n#### Updated source key or translation\nRuns when keys or translations are updated through upload (CLI, API or manual upload)\n\n#### Imported new source key or translation\nRuns when new keys or translations are created through upload (CLI, API or manual upload)\n\n#### Manually created source key\nuns when new keys are created directly in Localazy\n\n#### Source key deprecated in import\nRuns when keys are marked as deprecated during upload (CLI, API or manual upload)\n\n#### Translated Source key\nRuns when a new translation is added (included new unapproved version awaiting review)\n\n#### Reviewed transation\nRuns when a translation is reviewed (both approve and reject)\n\n### Filters\nBy default, Automations are run on all events (all selected triggers). You can specify conditions that must be met to run the workflows in this section.\n![Automation Filters](https:\u002F\u002Fdirectus9.localazy.com\u002Fassets\u002Fa7952efa-ff3a-428b-a5ad-51c81398c304)\n\n#### Filter by the Translation State\nYou can choose which translation states this Automation will apply to. E.g., only to translations that are waiting for review or those that are set as source changed.\n\n#### Filter by Language\nChoose the languages for which the Automation will run. For some automated actions you may only choose one language, for others multiple.\n\n#### Filter by User triggering the event\nSelect which project or system users you want to include or exclude from this Automation. The user depends on the trigger event. For example, an Automation run on the Translation Reviewed trigger event would consider who reviewed the translation, not who created it.\n\n> For example, you can configure a workflow that will set all translations made by Localazy MT user as needing improvement - this way, all translations made by machine translation engines will be immediately sent for another round of translation by human translators.\n\nThe system users are special Localazy users who may be author of translations under certain circumstances.\n- **Localazy Importer** - Whathever you import into Localazy, i.e., the translations imported when you started the project and not created in Localazy.\n- **Localazy InTM** - Translation created by applying Localazy [Translation Memory](\u002Fdocs\u002Fgeneral\u002Ftranslation-memory)\n- **Machine Translation** - Translation created by using machine translation\n- **Localazy translation service** - Translation created by Localazy's [Continuous Localization Team](\u002Fdocs\u002Fgeneral\u002Fcontinuous-localization-team).\n\n#### Filter by User Role\nThis filter compares the user role, which is the same user as in User-based filtering, with the selected list. You can choose from a Translator, Trusted Translator, Reviewer, Manager, Owner.\n\n#### Filter by Tags\nSelect which source key tags to include or exclude from the Automation\n\n#### Filter by Priority\nSelect which source key priorities to include or exclude from the Automation. Commonly used with *Use Machine Translation* action to automatically translate source keys with (usually) low or lowest priority.\n\n#### Filter Content\nApply the Automation only to cases with specific content. You can choose to include or exclude source key names, translations, comments and files that contain some words or follow a regular expression.\n\n\n## Available automated actions\nHere's an overview of all Actions currently available for your Automations.\n\n### Use machine translations\nAutomatically translate source keys using a [machine translation engine](\u002Fdocs\u002Fgeneral\u002Fadditional-mt-engines) of your choice to selected languages. You can also specify if you want to send these translations to the [Review process](\u002Fdocs\u002Fgeneral\u002Freviewing-strings) and apply to translations in the source changed state or those with existing translations waiting for review. \n\n### Apply translation memory\nAutomatically translate source keys using [Translation Memory](\u002Fdocs\u002Fgeneral\u002Ftranslation-memory) for selected languages. You may include additional the sources of Transaltion memory when you connect your other projects using the [Connected Projects](\u002Fdocs\u002Fgeneral\u002Fconnected-projects#shared-translation-memory) feature.\n \n### Merge project updates into another branch\nWhen your project uses the [Project Branching](\u002Fdocs\u002Fgeneral\u002Fproject-branching) feature, you may automatically merge project updates for selected languages from one branch into another (both into ancestor and descendant branches).\n\nYou can also specify whether you want to create new files, new languages or new keys in the target branch, or only update existing ones. You may also control whether to deprecate missing source keys in the target branch or if you want to overwrite existing translations.\n\n> You may choose from project branches in which you have the Owner role. You cannot automatically merge updates into branches in which you have lower than Owner role.\n\n### Update \"Needs improvement\" state\nAutomatically set or clear the 'Need Improvement' flag for translations that pass the filters.\n\n### Copy translation to another language \nAutomatically copy translations from one language to another when keys are created or updated. Select the target language and decide whether to send the copied translation to the review process, even if the original one is automatically approved.\n\n> Tip: Use the language filter to specify the language from which you want to copy translations\n\n### Hide source keys\nConditionally mark keys as hidden based on triggers and filters. Useful if you want to prevent translation of certain source keys, .e.g. brand names or abbrevations. \n\n### Show source keys\nConditionally mark keys as not hidden based on triggers and filters. May be useful in combination with other automations, e.g. when you want certain keys to be translated only once other source keys have been translated.\n\n### Delete deprecated source keys\nAutomatically remove keys that were marked as deprecated. Make sure to check the trigger as well.\n\n:::info \nBe careful with this Action, as it makes irreversible changes to your project!\n:::\n\n### Update \"Source changed\" state \nAutomatically set or clear the 'Source changed' flag for translations that pass the filters.\n\n### Update source key tags\nAdd or remove source key tags based on triggers and filters. Often defined together with the Content filter to add source key tags based on the file the source keys are included in.\n\n### Update source key priority\nSet priority source key tags based on triggers and filters. Often defined together with the Content filter to set a priority for source keys included in a specific file.\n\n\n## Automations overview\nOnce you have at least one existing Automation, you will see the overview of Automations alongside with basic information for each one, including the last run timestamp.\n![Automations overview](https:\u002F\u002Fdirectus9.localazy.com\u002Fassets\u002F5b0bcad3-f780-440e-a505-7a4dfbde3a19)\n\n### Order\nThe automation are triggered in order in which they are listed, starting from the one on top. You may change the order by clicking on the six bullets icon on the left side of each Automation tile and dragging it up or down.\n\nWhen you have multiple automations that are triggered by the same event, the final state may differ based on the order in which the automations are run. For example, when you have two automations \"Apply translation memory\" and \"Use machine translations\" in this order and  trigged by _Imported new source key or translation_  event, then new source keys will be first attempted to transalte using the translation memory and only the remaining untranslated source keys will be processes and translated by machine engine. However, if the automations were defined in the opposite order, then all source keys will be translated by the machine engine and there won't be any source key left untranslated for the translation memory automation.\n\n### Available actions\nIn the Automations overview, there are a various action available for each automation\n![Automations overview actions](https:\u002F\u002Fdirectus9.localazy.com\u002Fassets\u002F1932fa54-eb3d-4edc-b702-cb5b027643d0)\n\n- **Edit** - opens the automation configuration form\n- **Disable** or **Enable** - you may disable enabled (or enable) disabled automation. A disabled automation won't run until re-enabled\n- **Delete** - Delete the automation permanently\n- **Duplicate** - Create an exact copy of the automation\n\n## Automations events log\nYou may find basic information about runs of the automation after its first occurence.\n![](https:\u002F\u002Fdirectus9.localazy.com\u002Fassets\u002F34b09a97-5f8b-4e06-82cd-f734de682c0b)\n\n",{"id":16,"status":4,"sort":7,"created_on":1826,"slug":1732,"name":1727,"subtitle":1827,"meta_title":1828,"meta_description":1829,"hidden":229,"icon":2548,"featured_icon":2549},{"id":1734},{"id":1737},{"id":29,"status":4,"sort":36,"created_on":2042,"name":1380},[],[],[2554],{"id":2555,"documentation_id":2541,"languages_code":249,"slug":1522,"title":1518,"content":2546,"meta_title":8,"meta_description":8,"excerpt":2545},1411,[],{"id":2558,"status":4,"sort":2559,"created_on":2560,"modified_on":2561,"slug":1415,"title":2196,"excerpt":2562,"content":2563,"meta_title":8,"meta_description":2564,"pinned":229,"main_image":8,"section":2565,"subsection":2568,"cta":8,"faq":2569,"dictionary":2592,"translations":2594,"documentation_id":2558,"blog_articles":2597},274,"10020","2026-04-29T07:35:46.000Z","2026-05-04T10:05:16.000Z","The glossary is an essential tool for both human contributors and machine translation engines, providing them with the context and vocabulary necessary for consistent translations.","## Introduction\nUse the glossary feature in Localazy to keep your translations correct and consistent. Add key terms, product names, or phrases that should alwways be translated the same way or rather not translated at all. \n\nTranslators and some [machine translation](\u002Fdocs\u002Fgeneral\u002Fmachine-translations) providers (including Localazy AI) will be instructed to follow your rules, so you don’t get mixed terminology across your texts. \n\nIncorrectly used glossary terms are also flagged in the [validation checks](\u002Fdocs\u002Fgeneral\u002Fqa-checks) to help you spot errors across your translations. Set it up once before you start translating, and you’ll save time searching for inconsistent wording later. \n\n![Localazy Glossary](https:\u002F\u002Fdirectus9.localazy.com\u002Fassets\u002Fa5e4146b-5281-4516-88ed-005d21cbfe7a)\n\n## Glossary languages\nSource language for your glossary must match your project's source language. The glossary is currently not automatically migrated when a project's source language is changed. \n\nThe target languages used in your glossary are independent of your project's languages and you can add\u002Fremove the languages at any time. \n\nWhen adding target languages to your glossary, you can select all languages that are already in your project or choose completely new ones. Languages that are currently present in your project and in the glossary are highlighted in green.\n\n![Localazy Glossary - Languages](https:\u002F\u002Fdirectus9.localazy.com\u002Fassets\u002F72d7ddaf-ddf0-481f-9ddc-69554d59d82a)\n\nRemoving a target language from the glossary keeps its translations. They'll be restored if you add it back later.\n\n\n## Glossary terms attributes\nThe terms you add to your glossary will be matched and translated (or not) according to your preferences.  \n\n- **Term in source language**: \n\t- The word or phrase that will become the glossary term in the project's source language\n- **Description**: \n\t- Use this to provide additional context, is it a verb or noun? What does it mean? If it's an acronym, write what it stands for etc.\n- **Translations:**\n\t- Define translations of your term in other languages, if the term is translatable. \n\nThere are also three switches that specify the glossary term behavior:\n- **Case sensitive**: \n\t- Enable to only match terms with the same casing, for example the term `Apple` would not be matched if only the word `apple` appears in the source text. \n- **Match only whole words**:\n\t- Enable this when you want only the whole word or full phrase to match. For example, the glossary term “book” won’t be highlighted inside the word “booking” when it appears in the source text if this is enabled.\n- **Translate to other languages:**\n\t- Disable this if you want to keep the term as-is in the source language. For example, brand names using common words such as `Apple` should not be translated and can be protected by the glossary. \n    \n![Localazy - Glossary terms](https:\u002F\u002Fdirectus9.localazy.com\u002Fassets\u002F14eb060b-0b3d-4ba6-9fa9-91aa6b27aacb)\n \n## Creating glossary terms\nNavigate to the **Context** ➡️ **Glossary** screen in your project and click on \"**+ Add glossary**\" button.\n\nYou will be able to set up all glossary attributes as needed on the screen.\n\n![Localazy Glossary - New Term](https:\u002F\u002Fdirectus9.localazy.com\u002Fassets\u002F6e2f43da-103c-4425-a04f-3f6f09bb2ad7)\n\n## Importing glossary terms\nYou can import your glossary terms and their translations in one of the supported formats (`.csv`, `.xls`, or `.xlsx`)\n\nTo prepare your table for proper parsing, you need to follow a few rules:\n- Rows are the individual glossary terms, columns are either a language or a term attribute (see below)\n- A header row is mandatory, as it is used for proper column mapping of values\n- Up to 1000 terms can be imported (this is the maximum number of glossary terms in any given project)\n- Maximum file size cannot exceed 10MB\n- The file must contain a header row and at least one data row item, otherwise, it is considered empty\n\nExample of a well-prepared file (source language: `en`):\n\n| en            | cs            | description                                                                   | translatable | case-sensitive |\n| ------------- | ------------- | ----------------------------------------------------------------------------- | ------------ | -------------- |\n| Level         |               | A stage or progression unit in the game that the player completes to advance. | false        | false          |\n| Banana Cannon | Banánové dělo | A power-up weapon used to clear obstacles or enemies by shooting bananas.     | true         | false          |\n| ...           | ...           | ...                                                                           | ...          | ...            |\n\nBatch import is currently allowed only when the glossary is empty. To re-import, existing terms must be deleted first.\n\n![Localazy Glossary Import](https:\u002F\u002Fdirectus9.localazy.com\u002Fassets\u002F21191bcc-9fe2-4f0b-8dec-455304d2fa51)\n\n### Column & value mapping\nEach column is mapped to one of the following:\n- A **language**\n- An **attribute**:\n  - `Term description` (up to 2000 characters)\n  - `Case sensitive` (true\u002Ffalse)\n  - `Whole word only` (true\u002Ffalse)\n  - `Translatable term` (true\u002Ffalse)\n- Or marked as **skipped** (`Do not import`).\n\nYour file will be analyzed and if it's prepared correctly, no manual column and value mapping will be necessary. If some headers or values are not recognized automatically by the system you must assign them. You can also override the automated mapping before import if something is mismatched.\n\n![Localazy Glossary - Column mapping during import](https:\u002F\u002Fdirectus9.localazy.com\u002Fassets\u002Fc1c31e9f-4e9e-488f-a5a8-3de7452c2da2)\n\n - **Languages** match by locale code, BCP-47 tag, English name, or localized name. Case-, whitespace-, hyphen-, and underscore-insensitive (e.g. `en-US`, `en_us`, `English`, `english` all match).\n- **Attributes** match by keyword in the header:\n\t- `desc*` → description,\n\t- `case*` → case sensitive,\n\t- `whole*` \u002F `exact*` → whole word only,\n\t- `trans*` → translatable.\n- Unrecognized headers remain unmapped and must be assigned manually.\n- True\u002Ffalse (boolean) values are also auto-resolved:\n\t- **True**: `true`, `yes`, `1`, `on`, `match`\n\t- **False**: `false`, `no`, `0`, `off`, `nope`\n\n## Where is glossary used?\nThe glossary is available when [translating strings](\u002Fdocs\u002Fgeneral\u002Ftranslating-strings) or [reviewing translations](\u002Fdocs\u002Fgeneral\u002Freviewing-translations) in the UI. Matched terms are highlighted and validated for every translation. \n\nGlossary terms are used as context when generating translations with [Localazy AI](\u002Fdocs\u002Fgeneral\u002Flocalazy-ai) and other [machine translation](\u002Fdocs\u002Fgeneral\u002Fmachine-translations) providers that support it.\n\nYou can also share glossaries across projects with [Connected Projects](\u002Fdocs\u002Fgeneral\u002Fconnected-projects) feature.\n","A glossary is an essential tool for ensuring high-quality translation and providing the context for translators. ",{"id":16,"status":4,"sort":7,"created_on":1826,"slug":1732,"name":1727,"subtitle":1827,"meta_title":1828,"meta_description":1829,"hidden":229,"icon":2566,"featured_icon":2567},{"id":1734},{"id":1737},{"id":251,"status":4,"sort":77,"created_on":1834,"name":1835},[2570,2578,2586,2588,2590],{"id":2571,"status":4,"title":2572,"content":2573,"slug":2574,"created_on":2575,"modified_on":2576,"owner":2093,"meta_title":8,"category":2577},321,"What should be included in a translation glossary?","A translation glossary should include a list of terms used in the Localazy project, related to the particular domain of knowledge and their definitions. It should also contain industry-specific terms and provide their clarification. The glossary should also provide some context for translators on the context of the term.\n\n**Don't forget to include the following:**\n- **Product Names and Branding**: Include translations for product names, trademarks, and branding elements to ensure consistency and accuracy in branding across different language versions.\n- **Key Terminology**: Start by listing the most important terms specific to the subject matter you're translating. These could be industry-specific jargon, technical terms, or any words unique to the project or the field.\n- **Term Description**: Provide clear definitions for each term to ensure translators understand their precise meaning and usage in context.\n- **Preferred Translations**: If the term is not to be translated, specify it in the settings, if you want to translate it, include the preferred translations or equivalents for each term in the target language. This helps maintain consistency across all translations. \n- **Contextual Usage**: Provide examples on how each term should be used in different contexts. This helps translators understand the nuances of the term and use it appropriately.\n- **Acronyms and Abbreviations**: List any acronyms or abbreviations used in the source content along with their full meanings and translations.\n\n\n","what-should-be-included-in-a-translation-glossary","2024-05-02T21:20:55.000Z","2024-05-02T21:20:58.000Z",{"id":57,"status":4,"created_on":2052,"sort":8,"slug":2085,"label":1380,"on_faq_index":230},{"id":2579,"status":4,"title":2580,"content":2581,"slug":2582,"created_on":2583,"modified_on":2584,"owner":2093,"meta_title":8,"category":2585},322,"How can I prevent the translation of specific names and industry terms?","The Glossary allows you to prevent certain terms from getting translated or define correct translations for them. \n\nYou can specify that certain entries, such as specific names and industry terms, should not be translated - just make sure the \"*Translate to other languages?*\" checkbox is left unchecked.\n","how-can-i-prevent-the-translation-of-specific-names-and-industry-terms","2024-05-02T21:45:19.000Z","2024-05-02T21:45:26.000Z",{"id":57,"status":4,"created_on":2052,"sort":8,"slug":2085,"label":1380,"on_faq_index":230},{"id":2292,"status":4,"title":2293,"content":2294,"slug":2295,"created_on":2296,"modified_on":2297,"owner":2093,"meta_title":8,"category":2587},{"id":57,"status":4,"created_on":2052,"sort":8,"slug":2085,"label":1380,"on_faq_index":230},{"id":2300,"status":4,"title":2301,"content":2302,"slug":2303,"created_on":2304,"modified_on":2305,"owner":2093,"meta_title":8,"category":2589},{"id":57,"status":4,"created_on":2052,"sort":8,"slug":2085,"label":1380,"on_faq_index":230},{"id":2087,"status":4,"title":2088,"content":2089,"slug":2090,"created_on":2091,"modified_on":2092,"owner":2093,"meta_title":8,"category":2591},{"id":158,"status":4,"created_on":1926,"sort":8,"slug":1469,"label":2061,"on_faq_index":230},[2593],{"id":314,"status":4,"owner":2050,"created_on":2179,"title":2196,"excerpt":2197,"content":2198,"slug":1415,"meta_title":8,"meta_description":8,"canonical":8},[2595],{"id":2596,"documentation_id":2558,"languages_code":249,"slug":1415,"title":2196,"content":2563,"meta_title":8,"meta_description":2564,"excerpt":2562},1425,[],{"id":2599,"status":4,"sort":2559,"created_on":2600,"modified_on":2601,"slug":1567,"title":1563,"excerpt":2602,"content":2603,"meta_title":8,"meta_description":8,"pinned":229,"main_image":8,"section":2604,"subsection":2607,"cta":8,"faq":2608,"dictionary":2635,"translations":2636,"documentation_id":2599,"blog_articles":2638},183,"2023-04-06T15:27:26.000Z","2025-02-17T14:50:03.000Z","Use releases to create snapshots of your translations and use them in different environments without worrying about introducing unwanted changes to your live projects.","> Releases are available in the [Professional plan](\u002Fdocs\u002Fgeneral\u002Flocalazy-professional-tier) \n\n\n## Overview\nReleases are snapshots of your translations. With Releases, you can create and store the current state of your translations in time, pick which changes should be published into existing releases and download them through supported integrations.\n\n![](https:\u002F\u002Fdirectus9.localazy.com\u002Fassets\u002Fd8159475-cea0-49ac-85eb-4dacbd2345bc)\n\n\n:::info\nOnly project Owners can manage and create releases.\n:::\n\n## Create new release\nTo Create a new release: \n\n1. Navigate to the Releases page under the Tools section in the menu. The table always contains the latest release, which is used by the system and automatically published within 15-minute intervals.\n2. Click on the + button to create a new release.\n3. Pick a short identifier called a Release Tag, which will be used to download the release later. Use the name of your environment or release version as the Release Tag.\n4. Optionally, rename a release using the Context menu → Rename release.\n\n![](https:\u002F\u002Fdirectus9.localazy.com\u002Fassets\u002F34cded49-a1a1-405a-837f-060bbcd77dfa)\n\n## Publish release\n\nTo publish a release:\n1. Click the publish ![publish](https:\u002F\u002Fdirectus9.localazy.com\u002Fassets\u002F1e2279c3-d3c2-4e77-8437-402cd22c35f3){.inline} button.  button in the release's modal.\n2. Choose which changes you want to publish into the selected release. You can select between publishing changes from the latest release or another existing release.\n![](https:\u002F\u002Fdirectus9.localazy.com\u002Fassets\u002Ff956bd40-2192-4346-b0b4-2e69ad0c8152)\n\n## Download release\nTo download a release, navigate to the Releases page and click the Context menu → Download Release of the release you want to download.\n\n![](https:\u002F\u002Fdirectus9.localazy.com\u002Fassets\u002F31bb136d-0458-4d41-98ff-7c0e3b29f81f)\n\n### File management\n\nTo download a specific file as it was published in a specific release, navigate to **File Management** and in the context menu pick **Export & Download**. If release tags are enabled, a new release tag selector will appear in the modal.\n\n![](https:\u002F\u002Fdirectus9.localazy.com\u002Fassets\u002Fb1885517-e0e2-464f-9e74-54ccd90dfd49)\n\n### CLI\n\nYou can also download releases using the CLI. Use `localazy download --tag \u003Cname>` to download a release, and `localazy tag` to manage releases. \nFor more details, read the [Localazy CLI documentation on release tags](https:\u002F\u002Flocalazy.com\u002Fdocs\u002Fcli\u002Frelease-tags).\n\n### CDN\n\nTo get a CDN link for a release, navigate to File Management and click on Localazy CDN in the context menu. If some release tags are available, a release tag selector will appear.\n\n![](https:\u002F\u002Fdirectus9.localazy.com\u002Fassets\u002Fc0296de1-db28-4adc-b3b0-e68d106109bc)\n\n### API\n\nReleases are not supported via API yet. Let us know your use case at [team@localazy.com](mailto:team@localazy.com).\n\n\n## Read more\n* [Download Release Tags with Github Actions](https:\u002F\u002Flocalazy.com\u002Fblog\u002Frelease-tags-management-github-actions)\n* [Release Tags Management with Github Actions](https:\u002F\u002Flocalazy.com\u002Fblog\u002Frelease-tags-management-github-actions)\n",{"id":16,"status":4,"sort":7,"created_on":1826,"slug":1732,"name":1727,"subtitle":1827,"meta_title":1828,"meta_description":1829,"hidden":229,"icon":2605,"featured_icon":2606},{"id":1734},{"id":1737},{"id":878,"status":4,"sort":29,"created_on":2352,"name":2353},[2609,2619,2627],{"id":2610,"status":4,"title":2611,"content":2612,"slug":2613,"created_on":2614,"modified_on":2615,"owner":2083,"meta_title":8,"category":2616},326,"Who can create Releases?","**The ability to create Releases** is available only for project **Owners**. This is to ensure that the release process, which is a critical aspect of managing a localization project, is handled by authorized individuals. This helps maintain the integrity and consistency of the project. \n\nOnce you subscribe to one of the paid plans and activate the Releases feature, you obtain access to new commands in the CLI tool. These commands allow you to create and manage tags for your translations, providing you with greater control over the versioning of your localized content.\n\nHowever, the functionality isn’t limited to just the CLI tool. You can also manage your releases directly inside the platform by navigating to the Releases page under the Tools section in the menu. This provides a visual interface for managing releases, making it more accessible for non-technical team members to participate in the release process. \nThis dual approach ensures that all team members, regardless of their technical proficiency, can effectively participate in the release process.\n\n> Explore more about [Releases feature in our documentation](\u002Fdocs\u002Fgeneral\u002Freleases)","who-can-create-releases","2024-05-09T02:34:10.000Z","2024-05-09T03:08:01.000Z",{"id":1183,"status":4,"created_on":1926,"sort":8,"slug":2617,"label":2618,"on_faq_index":229},"release-tags","Release Tags",{"id":2620,"status":4,"title":2621,"content":2622,"slug":2623,"created_on":2624,"modified_on":2625,"owner":2083,"meta_title":8,"category":2626},327,"What does the latest release tag in Releases mean?","**The latest release tag**, also known as the **latest version**, is a dynamic tag that represents the most recent state of your project. It serves as a snapshot of your project at a specific point in time, capturing all the changes that have been made up to that point. This includes new translations, updated phrases, and any other modifications.\n\nAll changes are automatically published as the so-called latest tag\u002Fversion. This means that whenever you make a change, **it automatically becomes part of the latest version**. This automatic publishing extends to various commands like download, list, and cdn, which work with the latest version by default if not explicitly specified otherwise.\n\nThe table always contains the latest release, which is used by the system and automatically published within 15-minute intervals. **This ensures that your project is always up-to-date**, and that any new translations or changes are immediately available for use. This real-time updating of the latest version ensures that all team members always have access to the most recent and accurate content.\n\n[Find out more about the entire process.](https:\u002F\u002Flocalazy.com\u002Fdocs\u002Fcli\u002Frelease-tags)","what-does-the-latest-release-tag-in-releases-mean","2024-05-09T02:38:56.000Z","2024-05-09T02:47:44.000Z",{"id":1183,"status":4,"created_on":1926,"sort":8,"slug":2617,"label":2618,"on_faq_index":229},{"id":2628,"status":4,"title":2629,"content":2630,"slug":2631,"created_on":2632,"modified_on":2633,"owner":2083,"meta_title":8,"category":2634},328,"How to promote Release tags?","**Promoting a Release tag** is a common practice in software development that involves moving a tag from one state to another. This is typically from a lower environment (such as staging), to a higher environment (like production). The purpose of this process is to ensure that all changes, including new translations or modifications, **are tested and verified before they’re made available to end users**. This helps maintain the quality and integrity of your localized content.\n\n**How does the process work?** While translators and contributors are actively translating your project into more languages, you can test your staging tag. Once you’re satisfied with the state of the staging tag, you can promote it to production. This is done by invoking a command like `localazy tag promote staging production` or `localazy tag promote staging v1.0`. \n\n**What happens when a tag is promoted?** When a tag is promoted, it overwrites the old tag or creates a new one, depending on whether a tag with the same name already exists. The state from the source tag (in this case, the staging tag) is published to the target tag (the production tag). This involves re-running the whole publishing chain, which ensures that the target tag accurately reflects the state of the source tag.\n\n**What are the benefits of promoting a Release tag?** Promoting a Release tag ensures that your production environment always reflects the most stable and tested version of your project. This means that your end users always have access to the most reliable and high-quality localized content. It also allows you to manage the release process more effectively, as you can control when and how new changes are released to end users.\n\n[Find out more about release tags.](https:\u002F\u002Flocalazy.com\u002Fdocs\u002Fcli\u002Frelease-tags)","how-to-promote-release-tags","2024-05-09T02:45:52.000Z","2024-05-10T09:55:45.000Z",{"id":1183,"status":4,"created_on":1926,"sort":8,"slug":2617,"label":2618,"on_faq_index":229},[],[2637],{"id":2599,"documentation_id":2599,"languages_code":249,"slug":1567,"title":1563,"content":2603,"meta_title":8,"meta_description":8,"excerpt":2602},[],{"id":368,"status":4,"sort":2640,"created_on":2033,"modified_on":2641,"slug":2642,"title":1570,"excerpt":2643,"content":2644,"meta_title":8,"meta_description":8,"pinned":229,"main_image":8,"section":2645,"subsection":2648,"cta":8,"faq":2649,"dictionary":2664,"translations":2665,"documentation_id":368,"blog_articles":2667},"10030","2024-08-12T06:35:18.000Z","format-conversions-feature","With the Format Conversions, you can output your translations in many different formats either manually or even automatically using our CLI.","> Format Conversions are available in the [Professional plan](\u002Fdocs\u002Fgeneral\u002Flocalazy-professional-tier) and higher. \n\n## How to use Format Conversions?\n\n### Conversions in the UI\nWhen activated, converting a file into a different file format is pretty straightforward task in Localazy UI. \n\n1. Navigate to the **File management page** and click on the **Export and download**  button ![](https:\u002F\u002Fdirectus9.localazy.com\u002Fassets\u002Fea3a68a1-7c79-4bb6-9cc0-cc236223d94c){.inline}.\n\n2. In the modal, select one of the **Export format**s and click on **Export & download** to download the file.\n\n![](https:\u002F\u002Fdirectus9.localazy.com\u002Fassets\u002F815681ce-1483-484c-9964-e83ae00e7daf)\n\n> Please note that not all format conversion are always possible and the available options will depend on the original file format of your content.\n\n### Localazy CLI\nIf you are a developer, you can also use the `conversion` option in the [Localazy CLI](\u002Fdocs\u002Fcli\u002Fformat-conversions) configuration to convert your localizable files into different formats.\nMake it a part of your workflow and automate file format conversions to seamlessly output your translations in many different formats. \nWhen configured, running a `localazy download` command will automatically generate the converted files.\n\n**[See the list of available options](\u002Fdocs\u002Fcli\u002Fformat-conversions)** \n",{"id":16,"status":4,"sort":7,"created_on":1826,"slug":1732,"name":1727,"subtitle":1827,"meta_title":1828,"meta_description":1829,"hidden":229,"icon":2646,"featured_icon":2647},{"id":1734},{"id":1737},{"id":29,"status":4,"sort":36,"created_on":2042,"name":1380},[2650,2656],{"id":751,"status":4,"title":2651,"content":2652,"slug":2653,"created_on":2048,"modified_on":2654,"owner":2050,"meta_title":8,"category":2655},"Which localizable file format conversions do you support?","Localazy supports all major format conversions from Android XML and iOS .strings through multilingual JSON to XLIFF, qt-ts, and many more formats. You can [learn more about supported file format conversions in the documentation](\u002Fdocs\u002Fcli\u002Fformat-conversions).","which-localizable-file-format-conversions-do-you-support","2023-05-26T19:28:09.000Z",{"id":57,"status":4,"created_on":2052,"sort":8,"slug":2085,"label":1380,"on_faq_index":230},{"id":358,"status":4,"title":2657,"content":2658,"slug":2659,"created_on":2048,"modified_on":2660,"owner":2050,"meta_title":8,"category":2661},"How can I convert different localization file formats?","In the File Management section of Localazy, when downloading your files, you can select the desired format and download your strings in any of the available file formats.\n\nFormat Conversions feature is also an integral part of the [Localazy CLI tool](\u002Fdocs\u002Fcli\u002Fthe-basics), so if you want to automate format conversions, you will need to install Localazy CLI on your preferred platform.\n\n> Read the article: [How to convert localization files into different formats?](\u002Fblog\u002Fconvert-localization-files-different-formats-localazy)\n\n*Note: Format Conversions are available only as a part of the [Professional plan](\u002Ftiers\u002Fprofessional)*","how-to-use-format-conversions-feature","2023-05-26T19:28:13.000Z",{"id":166,"status":4,"created_on":1926,"sort":8,"slug":2662,"label":2663,"on_faq_index":230},"file-formats","File Formats",[],[2666],{"id":368,"documentation_id":368,"languages_code":249,"slug":2642,"title":1570,"content":2644,"meta_title":8,"meta_description":8,"excerpt":2643},[],{"id":2669,"status":4,"sort":2670,"created_on":2671,"modified_on":2672,"slug":1514,"title":1510,"excerpt":2673,"content":2674,"meta_title":8,"meta_description":8,"pinned":229,"main_image":8,"section":2675,"subsection":2678,"cta":8,"faq":2679,"dictionary":2680,"translations":2681,"documentation_id":2669,"blog_articles":2683},163,"10041","2022-08-10T19:45:21.000Z","2025-02-17T14:49:48.000Z","Language permissions provide you with more granular control of your project contributors. Define who can translate only specific languages and decide on the project-wide rules.","> Language permissions are available in the [Business plan](\u002Fdocs\u002Fgeneral\u002Flocalazy-business-tier) \n\n![](https:\u002F\u002Fdirectus9.localazy.com\u002Fassets\u002Fdfd4bfb5-f7b1-4fe3-ad65-6de846f075a1)\n\n\nLanguage permissions can be set only for [Translators](\u002Fdocs\u002Fgeneral\u002Fdefining-user-roles#what-roles-are-available) and [Reviewers](\u002Fdocs\u002Fgeneral\u002Fdefining-user-roles#what-roles-are-available) in the project. [Owners](\u002Fdocs\u002Fgeneral\u002Fdefining-user-roles#what-roles-are-available) and [Managers](\u002Fdocs\u002Fgeneral\u002Fdefining-user-roles#what-roles-are-available) always have a **full access to all languages**.\n\n## Default language permissions\n\nIt's possible to configure default language permissions for the project. Navigate to **Project settings** and pick one of the two options under \"Default language permissions\" section. \n* **New members can access all languages** – Project members can see and contribute to any language in the project.\n* **Restrict new members from any access** – Project members won't see any project languages, unless assigned.\n![](https:\u002F\u002Fdirectus9.localazy.com\u002Fassets\u002F9b5c5c85-c9dc-4131-a44c-b8e491016c2e)\n\n## Set language permissions\nTo assign a language to a project member, navigate to the **Contributors** page.  In the dropdown menu, select **Edit language permissions option**. \n\n![](https:\u002F\u002Fdirectus9.localazy.com\u002Fassets\u002Fe9e5a3e7-0656-4563-a5c5-8fcf08bb3e33)\n\nIt will open a modal window where you can pick all the languages the person will be allowed to translate. \n\n![](https:\u002F\u002Fdirectus9.localazy.com\u002Fassets\u002Fba549367-b398-4e35-a608-c4b4cb2257fb)\n\nThe users will then be able to see only their assigned languages in the language list. However, they will still be able to view (read only) a list of translations in other languages in the **Languages** tab during translating to help them with context. \n\n![](https:\u002F\u002Fdirectus9.localazy.com\u002Fassets\u002F0394cfed-65da-4ba3-a62a-9a585c474e1d)",{"id":16,"status":4,"sort":7,"created_on":1826,"slug":1732,"name":1727,"subtitle":1827,"meta_title":1828,"meta_description":1829,"hidden":229,"icon":2676,"featured_icon":2677},{"id":1734},{"id":1737},{"id":29,"status":4,"sort":36,"created_on":2042,"name":1380},[],[],[2682],{"id":2669,"documentation_id":2669,"languages_code":249,"slug":1514,"title":1510,"content":2674,"meta_title":8,"meta_description":8,"excerpt":2673},[],{"id":2685,"status":4,"sort":2686,"created_on":2687,"modified_on":2688,"slug":1506,"title":1502,"excerpt":2689,"content":2690,"meta_title":8,"meta_description":8,"pinned":229,"main_image":8,"section":2691,"subsection":2694,"cta":8,"faq":2695,"dictionary":2731,"translations":2732,"documentation_id":2685,"blog_articles":2734},168,"10042","2022-12-07T14:34:04.000Z","2026-03-23T10:48:31.000Z","Never translate the same keys again, link them together and let them share their translations. Learn how to use the Duplicity Linking feature allowing you to reuse content automatically across linked keys in all languages and even across several projects to keep duplicate string content under control.","> Duplicity Linking is available in the [Business plan](\u002Fdocs\u002Fgeneral\u002Flocalazy-business-tier)\n\n\u003Ciframe width=\"100%\" height=\"560\" src=\"https:\u002F\u002Fwww.youtube.com\u002Fembed\u002F19OW6zMpUGg\" title=\"What is Duplicity Linking\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" allowfullscreen>\u003C\u002Fiframe>\n\n## Introduction\nYou can find how many duplicate keys are in your projects by visiting the **Translations** table in your project.\n\n![Localazy Duplicity Linking - Languages table](https:\u002F\u002Fdirectus9.localazy.com\u002Fassets\u002F885f737d-9237-4d21-a0f4-9f1ba71a0943)\n\nDuplicity Linking allows you to link multiple different keys with the same content. One of the keys is the **content source**. This key is not affected by the link and is available to translators as usual.\n\n![Localazy Duplicity Linking - Active string](https:\u002F\u002Fdirectus9.localazy.com\u002Fassets\u002Fc2e20a27-2db2-4157-af2e-edaae707e37a)\n\nThe **linked keys** are hidden and are not shown to translators. After linking the duplicate key to the content source key, its previous values are not used. When the value of the linked key is retrieved during publishing, format conversion, or in the public API, the value from the content source key is used instead for all languages.\n\nWhen you remove the link, the linked key will become active again, use its original values and translations and behave like a regular key again.\n\n![Localazy Duplicity Linking - Source Language Table Showing Duplicate Keys](https:\u002F\u002Fdirectus9.localazy.com\u002Fassets\u002F1b5602a9-a390-481e-88b4-821f5d2d95cf)\n\n## How to resolve duplicities\nDuplicity Linking is managed in the [Localazy Console](\u002Fconsole\u002Fduplicities).\n\nThere you can see a list of your projects and the % of duplicities it contains. Click on **Actions** for the project that you want to start with and select **Resolve duplicities** to start.\n\n![Localazy Duplicity Linking - List of Projects](https:\u002F\u002Fdirectus9.localazy.com\u002Fassets\u002F93f2b379-2e26-40e1-9393-1422826efc07)\n\nNow you will see an overview of duplicities that should be resolved.\n\n![Localazy Duplicity Linking - List of Duplicities](https:\u002F\u002Fdirectus9.localazy.com\u002Fassets\u002F3e908c1e-7fc3-4041-8326-4f5c0183af6c)\n\nClick on **Edit** to start resolving each duplicity.\n\nIn the dialog that popped up, you can create links between keys or mark keys as unique by using the **Options** menu on the right side of each of the keys.\n\n![Localazy Duplicity Linking](https:\u002F\u002Fdirectus9.localazy.com\u002Fassets\u002Fd2d6bee0-d9b3-40eb-9b3b-e86bed47c389)\n\nDuplicates are sent to the Resolved list when all items are linked or marked as unique. Whenever there is any change in the project that creates new or affects existing duplicates, they are automatically moved back to the Unresolved list.\n\n![Localazy Duplicity Linking](https:\u002F\u002Fdirectus9.localazy.com\u002Fassets\u002Fcc57ec9a-1359-4d42-a5fb-fcff837c14a3)\n\nRepeat this process for each occurrence and that's it! You have successfully resolved duplicates in your project.\n\n### Review and remove links\nYou can also click on **Actions** for a selected project and use the **Show Links** option to show all existing links.\n\nNow, you can examine and filter existing links and, when desired, remove them.\n\n![Localazy Duplicity Linking](https:\u002F\u002Fdirectus9.localazy.com\u002Fassets\u002F7f36d558-f3ec-4092-a1e3-f87746d31b84)\n\n### Cross-project linking\nThe process is essentially the same as described above for a single project. \n\nYou can select multiple projects (up to 4 at the same time), and from the **Cross-Project Actions** that appear in the table header, select **Resolve duplicities**.\n\nAs in a single project mode, you are presented with all the duplicates in a task-like list. Everything works exactly the same, except that you can see what project the key is coming from when linking them.\n\n## Use API to manage duplicity links\nYou can manage duplicity links using public API, automating their creation or deletion.\n\n> Learn more in the [Duplicity Linking API documentation](\u002Fdocs\u002Fapi\u002Fduplicities)\n\n",{"id":16,"status":4,"sort":7,"created_on":1826,"slug":1732,"name":1727,"subtitle":1827,"meta_title":1828,"meta_description":1829,"hidden":229,"icon":2692,"featured_icon":2693},{"id":1734},{"id":1737},{"id":29,"status":4,"sort":36,"created_on":2042,"name":1380},[2696,2703,2711,2713,2721],{"id":2541,"status":4,"title":2697,"content":2698,"slug":2699,"created_on":2700,"modified_on":2701,"owner":2093,"meta_title":8,"category":2702},"Can I merge two duplicate source keys so they can share the same translation?","Sure! If you can't or don't want to rename the keys to use the same name in the source integration, you can use the Duplicity Linking feature when you don't want to alter the source, so the keys will share their translations. \n\nLocalizing a large project can result in creating duplicated keys, which becomes hard to manage, especially when multiple teams work on the same project. Localazy offers a solution called [Duplicity Linking](\u002Fdocs\u002Fgeneral\u002Fduplicity-linking) that allows you to reuse translations across linked keys in all languages and even across several projects. \n\n> Duplicity Linking is available in the [Business plan](\u002Ftiers\u002Fbusiness)\n\nThe feature links multiple different keys with the same content, with one source key acting as the content source and the others as the linked keys. The linked keys retain their own values and translations, but when the link is active, and their translation value is retrieved, the content source key value is used instead for all languages. Removing the link restores the linked key to its original behavior.\n\n**You can learn more in the article: [Keep your duplicate strings under control with the Duplicity Linking feature](\u002Fblog\u002Fintroducing-the-duplicity-linking-feature-software-localization)**","can-i-merge-two-duplicate-source-keys-so-they-can-share-the-same-translation","2023-04-12T10:36:28.000Z","2024-01-03T11:10:53.000Z",{"id":57,"status":4,"created_on":2052,"sort":8,"slug":2085,"label":1380,"on_faq_index":230},{"id":2704,"status":4,"title":2705,"content":2706,"slug":2707,"created_on":2708,"modified_on":2709,"owner":2083,"meta_title":8,"category":2710},318,"How can I mark and merge duplicates?","If your project has **duplicate keys**, you can easily resolve them by linking them together. When a key is linked to another, it automatically inherits the content of the linked key during publishing. Linked keys are automatically marked as hidden and do not require separate translations. While a linked key can still have its own content, that content won't be used during publishing and will be replaced by the content of the linked key as long as the link is active.\n\nYou can manage **duplicity links** using public API, automating their creation or deletion.\n\nLearn more in the [**Duplicity Linking API documentation**](\u002Fdocs\u002Fapi\u002Fduplicity-linking).","how-can-i-mark-and-merge-duplicates","2024-01-09T11:03:32.000Z","2024-01-09T11:07:04.000Z",{"id":57,"status":4,"created_on":2052,"sort":8,"slug":2085,"label":1380,"on_faq_index":230},{"id":2077,"status":4,"title":2078,"content":2079,"slug":2080,"created_on":2081,"modified_on":2082,"owner":2083,"meta_title":8,"category":2712},{"id":57,"status":4,"created_on":2052,"sort":8,"slug":2085,"label":1380,"on_faq_index":230},{"id":2714,"status":4,"title":2715,"content":2716,"slug":2717,"created_on":2718,"modified_on":2719,"owner":2093,"meta_title":8,"category":2720},220,"How can Localazy help me solve duplicities in the project?","Your projects can often contain multiple keys with the same content. Be it button labels across a large-scale information system, including keys on the backend and frontend or Android vs. iOS versions of your app. There are two ways to approach duplicate keys with Localazy. \n\nThe first option to consider when you have two or more projects that contain duplicities is to use the [**Connected Projects**](\u002Fdocs\u002Fgeneral\u002Fconnected-projects) feature, which is available with the [Professional plan](\u002Ftiers\u002Fprofessional). Connected Projects can help you by translating identical keys across multiple projects. This feature is great for a portfolio of projects sharing duplicate keys or Android and iOS versions of the same app. When enabled, Localazy distributes existing translations between connected projects and automatically decides whether the translation can be used right away or needs to go through review first.\n\nFor a robust duplicity management that can work with duplicities inside one project and across multiple projects as well, we recommend the [**Duplicity Linking**](\u002Fdocs\u002Fgeneral\u002Fduplicity-linking) feature, available with the [Business plan](\u002Ftiers\u002Fbusiness). With duplicity linking, you can define one key as the source for all other keys with the same or similar content. The other keys are then marked as hidden and get their translation from the linked key. ","how-to-solve-duplicate-keys-in-my-localization-project-with-localazy","2022-11-24T15:26:48.000Z","2025-02-26T12:50:08.000Z",{"id":57,"status":4,"created_on":2052,"sort":8,"slug":2085,"label":1380,"on_faq_index":230},{"id":2722,"status":4,"title":2723,"content":2724,"slug":2725,"created_on":2726,"modified_on":2727,"owner":2093,"meta_title":8,"category":2728},448,"When should I use key clustering instead of duplicity linking?","Key clustering works best when you're uploading content through API-based integrations like [Figma](\u002Ffigma) or [Strapi](\u002Fstrapi) and want to automatically handle duplicates without manual work. \n\nIt's particularly useful if you're using [Figma as your source of truth](\u002Fblog\u002Ffigma-as-your-source-of-truth-the-new-approach-to-streamlining-localization) since it prevents you from having to manually manage duplicate text nodes.\n\nChoose [Duplicity Linking](\u002Ffeatures\u002Fduplicity-linking) when you need to handle duplicates across multiple files or projects, or when you want full control over which keys get linked together. Key clustering only works within a single file and handles duplicates automatically, while duplicity linking gives you more flexibility but requires manual setup.","when-should-i-use-key-clustering-instead-of-duplicity-linking","2025-07-16T13:04:49.000Z","2025-07-16T13:04:53.000Z",{"id":2128,"status":1517,"created_on":2726,"sort":8,"slug":2729,"label":2730,"on_faq_index":8},"key-clusters","Key Clusters",[],[2733],{"id":2685,"documentation_id":2685,"languages_code":249,"slug":1506,"title":1502,"content":2690,"meta_title":8,"meta_description":8,"excerpt":2689},[],{"id":2736,"status":4,"sort":2737,"created_on":2115,"modified_on":2738,"slug":2739,"title":2740,"excerpt":2741,"content":2742,"meta_title":8,"meta_description":8,"pinned":229,"main_image":8,"section":2743,"subsection":2746,"cta":8,"faq":2747,"dictionary":2789,"translations":2790,"documentation_id":2736,"blog_articles":2792},133,"10045","2026-04-30T08:12:16.000Z","screenshots","Screenshots","Localazy enables you to upload screenshots and link them to corresponding source keys within your project. Screenshots provide context for your translators to see how and where the source key is used and adjust the translation accordingly. ","> Screenshots are available in the [Professional plan](\u002Fdocs\u002Fgeneral\u002Flocalazy-professional-tier) \n\nScreenshots serve as an essential preventative measure that you should utilize to achieve the best quality of translations.\n\nThis is also true if you have your project translated by our [Localization Team](\u002Fdocs\u002Fgeneral\u002Fcontinuous-localization-team) that benefits from any additional context you provide - resulting in a better quality of translation.\n\n## How to enable screenshots?\nThe screenshots feature is available in the [Autopilot plan](\u002Fdocs\u002Fgeneral\u002Flocalazy-autopilot-tier) and higher tiers.\n\n## How does it work?\nThere are two sections in Localazy where you may create links between source keys and screenshots. \n1. Upload a new screenshot in the Screenshot's section and select the source keys you want to link.\n2. Upload new or select an existing screenshot from the Screenshot tab on the string detail page.\n\n> Reviewer is the minimal required project role to upload screenshots.\n\n## Upload new screenshot\nYou may upload new screenshots in the **Screenshots section**.\n\n![Localazy Screenshots - Upload](https:\u002F\u002Fdirectus9.localazy.com\u002Fassets\u002Fedbaf622-fbda-40d4-9e44-dd3f04b3299a)\n\nTo initialize the upload session, click on the **Add screenshot** tile or the **+** icon in the top right corner.\n\nYou may upload multiple screenshots at the same time and choose the name as well as custom tags for each of them.\n\n> Creating tags is the best way of organizing your screenshots. The more screenshots you have, the better utility it becomes.\n\n![Localazy Screenshots - Upload Dialog](https:\u002F\u002Fdirectus9.localazy.com\u002Fassets\u002Fc31daf0d-7e1c-43f2-b7c6-0a95248ce34e)\n\nIf you upload a screenshot directly from the **Screenshot tab** in the translation\u002Fsource key details block, a link between the new screenshot and the currently viewed key is automatically created. In other cases, read on to learn how to make such a link.\n\n![Localazy Screenshots - Translation Screen Linking](https:\u002F\u002Fdirectus9.localazy.com\u002Fassets\u002F2670eb83-0b1d-440b-9a58-8b27ed4e1210)\n\n## Create a link between the source key and screenshot\nOnce you have some screenshots uploaded, you may start linking them to source keys. You may either\n1. Link them from the screenshot's detail page\n2. Link multiple screenshots simultaneously from the screenshot's list section\n3. Link available screenshots to the viewed key from within the Screenshot tab\n\n![Localazy Screenshots - Creating Links](https:\u002F\u002Fdirectus9.localazy.com\u002Fassets\u002F33a43202-3055-4d5b-bc63-5f3d8b8b0bbc)\n\nOnce a link is created, all the contributors can view the linked screenshots to understand better how and when the source key is used, which ultimately leads to better quality translations.\n\n![Localazy Screenshots - Creating Links](https:\u002F\u002Fdirectus9.localazy.com\u002Fassets\u002F4a815d59-5524-41df-9536-31944dc8c02f)\n\n## Screenshots OCR\nYou can save a ton of time when linking screenshots to source keys by using the Screenshots OCR feature. \n\nScreenshots OCR (optical character recognition) can recognize text in the images and suggest the relevant source keys to link if there is a good match. Consequently, it reduces the amount of time required to find and link source keys and the chance of overlooking relevant source keys to link.\n\n### How does it work?\nOnce you've uploaded some screenshots that contain text in your project's source language, you may check the screenshot's detail page whether the OCR feature managed to look up source keys that have not been yet linked to the selected screenshot.\n\n![Localazy Screenshots OCR](https:\u002F\u002Fdirectus9.localazy.com\u002Fassets\u002F6ecb2db3-3e48-4ca5-af63-ec423421f8ce)\n\nThen, simply click on the ✓ symbol to create a link between the screenshot and the suggested source key.\n\n## Figma Screenshots\nUsing the [Figma plugin](\u002Fdocs\u002Ffigma\u002Fplugin-introduction), you can automatically upload and sync screenshots from your Figma designs with Localazy via Context Screenshots. \n\n> Learn more about this feature in the [Figma Screenshots Docs](\u002Fdocs\u002Ffigma\u002Fcontext-screenshots).\n\n:::info\nFigma Screenshots are available only for users on the [Autopilot plan](\u002Fdocs\u002Fgeneral\u002Flocalazy-autopilot-tier\u002F) and above.\n:::",{"id":16,"status":4,"sort":7,"created_on":1826,"slug":1732,"name":1727,"subtitle":1827,"meta_title":1828,"meta_description":1829,"hidden":229,"icon":2744,"featured_icon":2745},{"id":1734},{"id":1737},{"id":251,"status":4,"sort":77,"created_on":1834,"name":1835},[2748,2755,2763,2771,2773,2781],{"id":1079,"status":4,"title":2749,"content":2750,"slug":2751,"created_on":2752,"modified_on":2753,"owner":2050,"meta_title":8,"category":2754},"What is a localization kit?","The localization kit is a subgroup of the resources, instructions, and tools needed to create a localized version of a software product or content. \n\n🎯 Localization kits enable translators and other stakeholders (such as marketers or developers) engaged in language-related project management to work more independently because they can check their work as they proceed.\n\nThe success of a translation project and how well localization engineers, translators, and web designers coordinate depends on your localization kit. ⚒️\n\n**What elements compose a localization kit?**\n- Previous translations ([Translation Memory](\u002Fdictionary\u002Ftranslation-memory)),\n- [Glossary](\u002Fdocs\u002Fgeneral\u002Fhow-to-define-your-glossary) of terms\n- Agreed dialect\u002Fsub-dialect, tone, etc.\n- GUI (Graphical User Interface) or [Screenshots](\u002Fdocs\u002Fgeneral\u002Fscreenshots), \n- Documentation, \n- Other helpful documents & web files,\n- etc.\n\n**A localization kit comprises three types of informational resources:** \n- The requirements of the final localized product, \n- The localization package with files and instructions, \n- Project details containing the timeframe and scope.\n\n> Localazy is a translation management suite that complements your localization kit with a myriad of features for successful work. \n\nNow, the translation is where the real magic happens. With Localazy, the magic wand is in your hands. [Sign up now](\u002Fregister) or read the [Getting Started Guide](\u002Fdocs\u002Fgeneral\u002Fgetting-started-with-localazy).","what-is-a-localization-kit","2022-03-17T12:23:02.000Z","2022-01-13T23:05:59.000Z",{"id":43,"status":4,"created_on":2052,"sort":8,"slug":2134,"label":1384,"on_faq_index":230},{"id":2756,"status":4,"title":2757,"content":2758,"slug":2759,"created_on":2760,"modified_on":2761,"owner":2093,"meta_title":8,"category":2762},173,"Is the Context Screenshots feature free to use?","The Context Screenshots feature with OCR linking is available in the [Professional plan](\u002Ftiers\u002Fprofessional) and higher tiers. \n\nFigma Screenshots become available once your organization upgrades to the [Autopilot plan](\u002Ftiers\u002Fautopilot). \n\n> Learn more about [Localazy Pricing](\u002Fpricing)","is-context-screenshots-feature-free-to-use","2022-06-17T09:55:18.000Z","2024-05-09T07:09:13.000Z",{"id":57,"status":4,"created_on":2052,"sort":8,"slug":2085,"label":1380,"on_faq_index":230},{"id":2764,"status":4,"title":2765,"content":2766,"slug":2767,"created_on":2768,"modified_on":2769,"owner":2093,"meta_title":8,"category":2770},174,"Who can upload screenshots to project?","There are several [user permission levels in Localazy](\u002Fdocs\u002Fgeneral\u002Fdefining-user-roles). You can manage who has access to which feature by appointing them to a certain role in the project. \n\nTo upload screenshots, users must have a **Reviewer** role. This prevents unwanted clutter or potential spam in the case of public projects. ","can-anyone-upload-screenshots-to-localazy","2022-06-17T10:04:35.000Z","2023-05-26T19:29:20.000Z",{"id":57,"status":4,"created_on":2052,"sort":8,"slug":2085,"label":1380,"on_faq_index":230},{"id":2251,"status":4,"title":2252,"content":2253,"slug":2254,"created_on":2255,"modified_on":2256,"owner":2093,"meta_title":8,"category":2772},{"id":50,"status":4,"created_on":2052,"sort":22,"slug":2053,"label":1727,"on_faq_index":230},{"id":2774,"status":4,"title":2775,"content":2776,"slug":2777,"created_on":2778,"modified_on":2779,"owner":2083,"meta_title":8,"category":2780},329,"What are the ways that I can upload and link screenshots?","**Web Upload**: The web upload feature is a user-friendly interface provided for uploading screenshots. You can simply drag and drop your screenshot files into the designated area or browse your files to select them. Once the screenshots are uploaded, you can link them to specific phrases in your localization project. \nThis is particularly useful when you want to provide visual context for the phrases being translated. It’s a straightforward process that doesn’t require any technical expertise.\n\n**API**: For more advanced use cases, we offer a robust API. This allows you to automate the process of uploading and linking screenshots. If you have a large number of screenshots or if you need to integrate this process into your existing development or deployment workflows, the API can be a powerful tool. [The API is well-documented](https:\u002F\u002Flocalazy.com\u002Fdocs\u002Fapi\u002Fscreenshot-management) and provides flexibility for custom integration. This means you can tailor the API to suit your specific needs, whether you want to automate the upload process, integrate it with your CI\u002FCD pipeline, or build custom features on top of it.\n\n**Figma Screenshots**: If you’re using Figma for your UI\u002FUX designs, you can take advantage of the our Figma plugin. This plugin allows you to directly upload your screenshots from Figma. It streamlines the process of keeping your designs and localization project in sync.\nWhenever you update your designs in Figma, you can easily update the corresponding screenshots in your localization project. This ensures that your translators always have the most up-to-date visual context when translating phrases. [Find out more about Figma Screenshots feature.](https:\u002F\u002Flocalazy.com\u002Fdocs\u002Ffigma\u002Fcontext-screenshots)","what-are-the-ways-that-i-can-upload-and-link-screenshots","2024-05-09T03:24:22.000Z","2025-11-11T17:13:30.000Z",{"id":57,"status":4,"created_on":2052,"sort":8,"slug":2085,"label":1380,"on_faq_index":230},{"id":2782,"status":4,"title":2783,"content":2784,"slug":2785,"created_on":2786,"modified_on":2787,"owner":2083,"meta_title":8,"category":2788},330,"What are screenshot tags?","**What are screenshot tags?** Screenshot tags are essentially labels or identifiers that you can attach to your screenshots. They serve as a powerful tool to help you better manage and organize your screenshots.\n\n**How do tags help categorize screenshots?** Tags can be used to categorize your screenshots based on any criteria that you find useful. For example, you might use tags to group screenshots by:\n\n- Feature: Group screenshots that pertain to a specific feature of your application. This can be particularly useful when you’re working on a large project with multiple features.\n\n- Screen: Group screenshots that belong to a specific screen or page of your application. This can help you quickly locate all the screenshots for a particular screen.\n\n- User Flow: Group screenshots that represent a specific user flow or journey through your application. This can be useful for understanding and visualizing the user experience.\n\nBy categorizing your screenshots with tags, you can greatly enhance your ability to organize and search through your screenshots. This can save you time and make your workflow more efficient.\n\n**Filtering with Tags**: Furthermore, tags can also be used to filter your screenshots, making it easier to focus on specific parts of your project. For example, if you only want to view screenshots for a particular feature, you can filter your screenshots using the relevant tag. This can be particularly useful when you’re working with a large number of screenshots.\n\n**Updating and Managing Tags**: Managing your screenshot tags is a straightforward process. You can add or remove tags from a screenshot at any time. This means you can easily update your screenshot categorization as your project evolves.\n\nIn summary, Screenshot tags are a powerful feature for managing and organizing your screenshots. They allow you to categorize your screenshots, enhance your ability to search through your screenshots, and focus on specific parts of your project. By effectively using screenshot tags, you can streamline your workflow and make your localization project more manageable. \n\n> Find out more about [Screenshots feature benefits](https:\u002F\u002Flocalazy.com\u002Fdocs\u002Fgeneral\u002Fscreenshots)","what-are-screenshot-tags","2024-05-09T03:30:58.000Z","2024-05-09T03:31:02.000Z",{"id":57,"status":4,"created_on":2052,"sort":8,"slug":2085,"label":1380,"on_faq_index":230},[],[2791],{"id":2736,"documentation_id":2736,"languages_code":249,"slug":2739,"title":2740,"content":2742,"meta_title":8,"meta_description":8,"excerpt":2741},[],{"id":887,"status":4,"sort":2794,"created_on":2795,"modified_on":2796,"slug":1581,"title":1577,"excerpt":2797,"content":2798,"meta_title":8,"meta_description":8,"pinned":229,"main_image":8,"section":2799,"subsection":2802,"cta":8,"faq":2803,"dictionary":2804,"translations":2805,"documentation_id":887,"blog_articles":2807},"10046","2022-05-06T11:44:32.000Z","2025-02-17T14:49:44.000Z","Webhooks are custom user-defined callbacks on certain actions happening in Localazy. Currently, there are four actions available that you can hook into your system. The webhook configuration is available on the Project settings page and via Public API.","> Webhooks are available in the [Autopilot plan](\u002Fdocs\u002Fgeneral\u002Flocalazy-autopilot-tier) \n\n## UI Overview\nNavigate to your **Project settings -> Weebhooks** page to set up your first action.\n\n### Adding a webhook\n\nWhen activated (organization is on Autopilot Tier) and there are no webhooks configured, click on the **ADD WEBHOOK** button.\n\n![No configured webhooks](https:\u002F\u002Fdirectus9.localazy.com\u002Fassets\u002Fe002e6b6-d908-468b-8618-6f2d04e1c68c)\n\nTo add and configure a new webhook, you must fill in a URL you wish to call and specify on which event it should be triggered.\n\n![Adding a webhook](https:\u002F\u002Fdirectus9.localazy.com\u002Fassets\u002Fdda4bb9e-9948-4269-9767-361b82a192ca)\n\n**Available fields**\n- **Endpoint URL (mandatory):**  Specifies the URL to which the webhook will be sent. It has to be a valid URL and unique across all webhooks for the project.\n- **Description (optional):**  A description of the webhook, e.g. `\"My webhook\"`. It serves only for your better orientation\n- **Events switches:**\n\t- at least one event switch has to be activated to be able to store a webhook configuration\n\t- it is possible to activate\u002Fdeactivate multiple event switches (as long as the first condition is met)\n\t- see [Webhooks Types](#webhooks-types) for the description of each event\n\t\nClick the **ADD NEW WEBHOOK** button when you set up everything to activate your webhook.\n\n### Editing a webhook\nYou can edit the existing webhooks configuration. The logic is the same as creating a new one (see above).\n\n![Editing a webhook](https:\u002F\u002Fdirectus9.localazy.com\u002Fassets\u002F69a7ee69-1a81-463b-bd11-a65453b4b96c)\n\t\t\t\n### Webhooks Overview Table\nOnce you add your first webhook, you will see a neat table of all created webhooks. \n\n![Webhooks Overview Table - actions](https:\u002F\u002Fdirectus9.localazy.com\u002Fassets\u002Fe5a4045e-66c6-4c45-8089-f9c22d5b8c76)\n\nYou can add, edit, enable\u002Fdisable and delete all webhooks one by one or by using batch actions.\n\n![Webhooks Overview Table - batch actions](https:\u002F\u002Fdirectus9.localazy.com\u002Fassets\u002Fc86795cd-0df3-4e7c-bcf3-0133b13508bd)\n\n## Invoking webhooks\nWhen the specified event occurs, all URLs with the given event configured are called with a `POST` request. The header `Content-Type` is set to `application\u002Fjson` and in the `POST` body, `JSON` structure with additional information is provided. Timeouts are set to **10 seconds**. Redirects are enabled.\n\n**See [Weebhoks API](\u002Fdocs\u002Fapi\u002Fwebhooks-api) for request details.**\n\n## Available Webhook Events\nYou can choose from the following actions which will trigger the webhook.\n\n### Comment Added\nThis webhook is triggered when a comment is added to the project.\n> [Read more](\u002Fdocs\u002Fapi\u002Fwebhooks-api#comment-added)\n\t\t\t\n### Content Imported\nThis webhook is invoked when importing is finished (e.g., from CLI, Gradle or other). The event is invoked only when there are added, updated, or deprecated keys.\t\n> [Read more](\u002Fdocs\u002Fapi\u002Fwebhooks-api#content-imported)\n\n### Content Imported Empty\nThis webhook is invoked when importing is finished. This event is invoked when the importing has finished with no changes.\n> [Read more](\u002Fdocs\u002Fapi\u002Fwebhooks-api#content-imported-empty)\n\t\t\t\n### Project Published\nThis webhook is triggered when the project is successfully published (also applies to [release tags](\u002Fdocs\u002Fcli\u002Frelease-tags))\n> [Read more](\u002Fdocs\u002Fapi\u002Fwebhooks-api#project-published)\n\n### Tag Promoted\nThis webhook is triggered after a [release tag](\u002Fdocs\u002Fcli\u002Frelease-tags) gets promoted to another tag.\n> [Read more](\u002Fdocs\u002Fapi\u002Fwebhooks-api#tag-promoted)",{"id":16,"status":4,"sort":7,"created_on":1826,"slug":1732,"name":1727,"subtitle":1827,"meta_title":1828,"meta_description":1829,"hidden":229,"icon":2800,"featured_icon":2801},{"id":1734},{"id":1737},{"id":29,"status":4,"sort":36,"created_on":2042,"name":1380},[],[],[2806],{"id":887,"documentation_id":887,"languages_code":249,"slug":1581,"title":1577,"content":2798,"meta_title":8,"meta_description":8,"excerpt":2797},[],{"id":897,"status":4,"sort":2809,"created_on":2115,"modified_on":2810,"slug":2811,"title":2812,"excerpt":2813,"content":2814,"meta_title":8,"meta_description":8,"pinned":229,"main_image":8,"section":2815,"subsection":2818,"cta":8,"faq":2820,"dictionary":2821,"translations":2822,"documentation_id":897,"blog_articles":2824},"10060","2024-09-09T11:10:17.000Z","ota-updates","OTA Updates","Online services bring advantages of continuous localization further. Update your translations with OTA Updates for Android and iOS.","Integrate Localazy OTA updates for Android or iOS and deliver translations seamlessly on all platforms.\n\n## How to activate OTA Updates\nTo activate OTA updates, follow these steps:\n\n1. Navigate to your project and select the Translation Delivery option in the left menu.\n2. From there, you can select if you’d like to set up CDN or OTA, select OTA.\n3. Click on Activate OTA and add your card.\n4. OTA is enabled, check the status on the next page after you are redirected back from Stripe.\n\n![Localazy OTA Updates](https:\u002F\u002Fdirectus9.localazy.com\u002Fassets\u002Fec298987-80d5-4f93-a3a2-ce4945aa9a9f)\n\n\n## How to set up OTA for my platform\n### Android\n1. Integrate Localazy with your Android app. Use the  [Localazy Android library](\u002Fdocs\u002Fandroid\u002Flocalazy-android-library) and [Gradle plugin](\u002Fdocs\u002Fandroid\u002Flocalazy-gradle-plugin). \n2. Activate Delivery in the [Translation Delivery section](\u002Fmy\u002Fbilling\u002Ftranslation-delivery)\n\n> **Recommended reading: [Test OTA updates on Android](\u002Fdocs\u002Fandroid\u002Ftest-ota-updates-on-android)**\n\n### iOS\n1. Use the [Localazy Swift SDK](\u002Fdocs\u002Fios\u002Finstallation-and-setup) to integrate Localazy with your iOS app. \n2. Upload strings via [Localazy CLI](\u002Fdocs\u002Fcli\u002Fthe-basics).\n3. Activate Delivery in the [Translation Delivery section](\u002Fmy\u002Fbilling\u002Ftranslation-delivery)\n\n> **Recommended reading: [Swift SDK Usage Guide](\u002Fdocs\u002Fios\u002Fusage-guide)** \n\n## Pricing\nThe price for OTA updates feature is calculated daily based on DAU (Daily Active Users) on the given day. When activated, we charge for online services at the end of the billing period or when your current expenses exceed $50.\n\n| OTA Pricing | Price\u002FUnit|\n| --- | --- |\n| first 1000 DAU| $0.0008 |\n| next 10k DAU | $0.00024 |\n| next 100k DAU | $0.000072 |\n| above | $0.0000216 |\n\nYou can always see your current expenses and stats in the [Marketplace](\u002Fmy\u002Fmarketplace).",{"id":16,"status":4,"sort":7,"created_on":1826,"slug":1732,"name":1727,"subtitle":1827,"meta_title":1828,"meta_description":1829,"hidden":229,"icon":2816,"featured_icon":2817},{"id":1734},{"id":1737},{"id":154,"status":4,"sort":43,"created_on":2042,"name":2819},"Translation Delivery",[],[],[2823],{"id":897,"documentation_id":897,"languages_code":249,"slug":2811,"title":2812,"content":2814,"meta_title":8,"meta_description":8,"excerpt":2813},[],{"id":2826,"status":4,"sort":2276,"created_on":2827,"modified_on":2828,"slug":1560,"title":1556,"excerpt":2829,"content":2830,"meta_title":8,"meta_description":8,"pinned":229,"main_image":8,"section":2831,"subsection":2834,"cta":8,"faq":2835,"dictionary":2861,"translations":2862,"documentation_id":2826,"blog_articles":2864},191,"2023-07-31T14:10:55.000Z","2025-02-17T14:50:06.000Z","Deliver new translations to your users as soon as they are approved and published for production use. No need for rebuilds - Localazy CDN will shorten the turnaround times of translation updates.","## How and why use CDN?\n\u003Ciframe width=\"100%\" height=\"560px\" src=\"https:\u002F\u002Fwww.youtube.com\u002Fembed\u002FdzZyAFk9c-4\" title=\"Localazy CDN: How does it work? | Interview with Localazy’s CEO, Václav Hodek\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" allowfullscreen>\u003C\u002Fiframe>\n\nLocalazy CDN is the best way to automate the translation delivery for your project. With Localazy CDN, you can set up your project in a way that allows you to deliver localizable assets directly to your users from Localazy servers. With Localazy CDN, fixing a typo or missing translation can be done without rebuilds and repeated releases. \n\nFor mobile apps, we have [OTA (Over-the-air) updates](\u002Fdocs\u002Fgeneral\u002Fota-updates). Both CDN and OTA serve the same purpose, which is delivering translated content directly to your users. Localazy CDN works best with web applications. \n\nThe difference is that our OTA Updates already come with a library\u002FSDK for Android & iOS. There are so many available options to implement the CDN that we leave it to our users to decide their best approach.\n\n> Learn [how to implement the Localazy CDN in our tutorial](\u002Fblog\u002Fdeliver-translated-files-localazy-cdn-tutorial)\n\n## Activate the Localazy CDN\nTo activate the CDN, follow these steps:\n\n1. Navigate to your project and select the **Translation Delivery** option in the left menu.\n2. From there, you can select if you'd like to set up CDN or OTA, select CDN.\n3. Click on Activate CDN and add your card.\n4. CDN is enabled, check the status on the next page after you are redirected back from Stripe.\n\n\u003Ciframe src=\"https:\u002F\u002Fapp.tango.us\u002Fapp\u002Fembed\u002Fdf1d49f8-bbf2-4a3c-8a5c-147a95348fae\" sandbox=\"allow-scripts allow-top-navigation-by-user-activation allow-popups allow-same-origin\" security=\"restricted\" title=\"Quickly Set up Translation Delivery using Localazy CDN\" width=\"100%\" height=\"500px\" referrerpolicy=\"strict-origin-when-cross-origin\" frameborder=\"0\" webkitallowfullscreen=\"webkitallowfullscreen\" mozallowfullscreen=\"mozallowfullscreen\" allowfullscreen=\"allowfullscreen\">\u003C\u002Fiframe>\n\n## Get links to your files \nWhen your setup is complete, there are two ways to obtain the links to your localizable files on the CDN.\n\n### Localazy Platform\nFrom the CDN page, you can click on the **Browse Files** button or navigate to your project's **File management** from the side menu.\n\nIn the File management section, click on the three dots menu of the file for which you want to get the CDN links. Here you can copy the URL for one of your languages and a metafile URL.\n\n### Localazy CLI\nYou can also get links to your files via Localazy CLI. \n\nLearn how to get CDN links through CLI commands in the [CLI documentation article](\u002Fdocs\u002Fcli\u002Fcommand-line-options#cdn-options).\n\n## Pricing\nThe pricing for Localazy CDN is based on consumed resources - HTTPS requests, data transfers, and resources associated with publishing your changes across the network. When activated, we charge your card at the end of the billing period for the volume your project consumed in the previous month.\n\n> Learn more about [Localazy CDN pricing](\u002Fdocs\u002Fcdn\u002Fcdn-pricing). \n\n## Further Reading\n- [What are Metafiles?](\u002Fdocs\u002Fcdn\u002Fcdn-metafiles)\n- [How does CDN work together with Releases?](\u002Fdocs\u002Fcdn\u002Fcdn-release-tags)\n",{"id":16,"status":4,"sort":7,"created_on":1826,"slug":1732,"name":1727,"subtitle":1827,"meta_title":1828,"meta_description":1829,"hidden":229,"icon":2832,"featured_icon":2833},{"id":1734},{"id":1737},{"id":154,"status":4,"sort":43,"created_on":2042,"name":2819},[2836,2846,2854],{"id":2837,"status":4,"title":2838,"content":2839,"slug":2840,"created_on":2841,"modified_on":2842,"owner":2093,"meta_title":8,"category":2843},246,"What are the benefits of Localazy CDN?","There are several benefits to using Localazy CDN. Let's view the Localazy CDN from the perspective of developers, users, and, most importantly, yourself.\n\n### Saves time for developers\n\nAutomation saves your development team precious time. Localazy CDN effectively shortens the release cycle and reduces the room for error because it takes one of the variables out of the equation! Once you have everything set up, you won't have to worry about releasing new languages into your online product. \n\nLocalazy CDN is also compatible with different releases of your localizable files in Localazy. All your [release tags](\u002Ffeatures\u002Frelease-tags) are automatically available so that you can serve the fresh files for your testing, and once you are sure of their quality, you can push them to production.\n\n### Instant worldwide coverage for your users\n\nServe your users freshly translated content in a matter of minutes. All changes published in Localazy will propagate across all CDN points of presence in minutes. Users are always served the file from the closes geographical location, making the load times shorter and the experience more seamless.\n\n### Scales with your project and saves you time and money \n\nOur CDN is built on proven and scalable technologies, so you don't need to worry about whether you have ten or ten million users. You can start using the CDN for under $1\u002Fmonth and always keep track of your costs on the dashboard. We serve terabytes of data and hundreds of millions of requests monthly. Localazy CDN is infinitely scaleable and grows with your business.","what-are-the-benefits-of-localazy-cdn","2023-02-27T12:39:38.000Z","2023-05-26T19:30:32.000Z",{"id":162,"status":4,"created_on":1926,"sort":8,"slug":2844,"label":2845,"on_faq_index":229},"localazy-cdn","Localazy CDN",{"id":2847,"status":4,"title":2848,"content":2849,"slug":2850,"created_on":2851,"modified_on":2852,"owner":2093,"meta_title":8,"category":2853},244,"How much does Localazy CDN cost per month?","Your Localazy CDN usage costs will depend on consumed resources every month. We count the number of HTTPS requests, the volume of data transferred, and how many times your changes were published across the network. \n\nIf your translation file has ~20 kB, you make 50 changes during the course of the month, and our CDN delivers it to 10,000 users per month, the total cost will be as follows:\n- **Data transfers** (10,000 * 20kB) * $0.5\u002FGB = $0.095\n- **HTTPS requests** (10,000 \u002F 1000) * $0.005 = $0.05\n- **File management** 50 * $0.01 = $0.5\n\n**Total price per month: $0.645**\n\n> **Learn more about [the pricing structure of Localazy CDN](\u002Fdocs\u002Fcdn\u002Fcdn-pricing) in the documentation.**","how-much-does-localazy-cdn-cost-per-month","2023-02-21T21:13:07.000Z","2023-05-26T19:30:25.000Z",{"id":162,"status":4,"created_on":1926,"sort":8,"slug":2844,"label":2845,"on_faq_index":229},{"id":2855,"status":4,"title":2856,"content":2857,"slug":2858,"created_on":2048,"modified_on":2859,"owner":2050,"meta_title":8,"category":2860},80,"How to use Localazy CDN?","To use [Localazy CDN](\u002Fdocs\u002Fgeneral\u002Flocalazy-cdn), you first need to activate it in the [Translation Delivery](\u002Fdocs\u002Fcdn\u002Fcdn-introduction#how-to-enable-cdn) section in the menu of your project.\n\nThen, head to the File management section of your app at Localazy and click on the CDN button (looking like a chain link 🔗) to obtain your file URL. \n\nWith this URL, you can set up the CDN in your project. Depending on the platform of the project, the implementation method will differ.\n\nFor a detailed implementation example of Localazy CDN read our article: [Deliver translated files seamlessly via Localazy CDN](\u002Fblog\u002Fdeliver-translated-files-localazy-cdn-tutorial)\n\n> TIp: You can also use the [CDN Client](https:\u002F\u002Fdeveloper.localazy.com\u002Fcdn-client\u002F), a Node.js library that offers functionalities to fetch translation strings from JSON files published on the CDN. \n\n","how-to-use-localazy-cdn","2024-06-07T08:23:20.000Z",{"id":162,"status":4,"created_on":1926,"sort":8,"slug":2844,"label":2845,"on_faq_index":229},[],[2863],{"id":2826,"documentation_id":2826,"languages_code":249,"slug":1560,"title":1556,"content":2830,"meta_title":8,"meta_description":8,"excerpt":2829},[],{"id":2866,"status":4,"sort":2867,"created_on":2868,"modified_on":2869,"slug":2729,"title":2730,"excerpt":2870,"content":2871,"meta_title":8,"meta_description":8,"pinned":229,"main_image":8,"section":2872,"subsection":2875,"cta":8,"faq":2876,"dictionary":2881,"translations":2889,"documentation_id":2866,"blog_articles":2891},190,"10070","2023-06-21T09:33:11.000Z","2026-02-25T09:20:59.000Z","Completely eliminate duplicate values uploaded from API-based sources by efficiently nesting keys with identical values under a single key in Localazy.","> This feature is available in the [Business plan](\u002Fdocs\u002Fgeneral\u002Flocalazy-business-tier)\n\nKey clustering in Localazy provides a unique solution for handling duplicate values without modifying the integration source. By utilizing key clusters, you can save time and resources by eliminating the need to translate the same content multiple times.\n\n## How it works\nWhen key clustering is enabled, content uploaded from **API-based** sources is automatically processed and organized into *key clusters* if the uploaded value already exists in the target file. It's important to note that key clusters are specific to a file. If you upload a duplicate value to a different file, the keys won't be clustered since their origin is different.\n\nAPI-based sources include the Localazy API integration itself and all supported plugins and extensions such as Figma, Strapi, and Storyblok.\n\n> The maximum number of keys that can be clustered is 30.000, and the maximum number of these clusters is 10.000\n\n### Enable key clustering\nTo enable key clustering, navigate to the project's general settings section and enable the **Key clustering** option under the Import & Export settings.\n![](https:\u002F\u002Fdirectus9.localazy.com\u002Fassets\u002F55b846f1-a01e-45c5-aae7-f4f2ddaf992c)\n\nOnce enabled, when you upload content through API-based integration with duplicate values, you will find a special cluster type of key labeled with *cluster_* and nested keys from the source.\n![](https:\u002F\u002Fdirectus9.localazy.com\u002Fassets\u002F387d140d-761b-4429-961d-6449e4d4eb38)\n\n### Split a cluster\nIf the uploaded key's value remains the same, but the meanings differ, it is recommended to split the cluster into two separate clusters. This allows each cluster to be translated according to its specific meaning.\n\nFor instance, let's consider the word **Type**, which can have two different meanings: to write something or to specify a kind of something. To split the cluster, navigate to the detail page of the source key and locate the **split cluster** button. Clicking on this button will prompt you to specify the suffix, included keys, and optionally add a translation note. Additionally, you can decide whether the new cluster should become the new default cluster. All future uploaded keys with the same duplicate value will be nested under the default cluster.\n![](https:\u002F\u002Fdirectus9.localazy.com\u002Fassets\u002F50c5d34c-e229-417c-b549-cfb30cf9d232)\n\n## Key Clustering vs. Duplicity Linking\nKey clustering and [Duplicity linking](\u002Fdocs\u002Fgeneral\u002Fduplicity-linking) share the common goal of reducing duplicates in your project, but they have some key differences:\n\n1. **Automatic vs. Manual Management:** Key clustering works automatically for content uploaded from API-based sources, while duplicity linking requires manual management from the Localazy interface and can be used for any content.\n2. **File Scope vs. Cross-File\u002FProject Scope:** Key clustering operates within a file, while duplicity linking can be applied across multiple files and even multiple projects.\n3. **Source Key Count: Additional keys within a cluster do not count toward the source key limit. With duplicity linking, each linked key counts towards the source key limit. There is no limit or additional cost based on the number of links.**\n4. **Handling Homonyms:** Key clustering automatically clusters keys with identical values, even if they have different meanings (e.g., homonyms like \"book,\" \"type,\" or \"left\"). In contrast, duplicity linking requires manual linking of true duplicates, but automatic linking of homonyms does not happen.\n\nIn general, key clustering is most beneficial when you upload content through API-based integrations and prefer to manually handle homonyms rather than linking true duplicates manually.\n\nThis feature provides significant time and cost savings, particularly when integrating with CMS platforms like Strapi and Storyblok, as well as utilizing the Figma plugin. This is especially beneficial if you choose to use Figma as the Source of Truth for your localization process. \n\n\n## Terminology\n### Key cluster\nA Localazy key in which keys with duplicate values and upload from API-based sources are nested.\n\n### Split cluster\nA process to split a single Localazy cluster key into two in cases where the nested keys hold different meanings and have to be translated differently. \n\n### Default cluster\nWhen there are multiple clusters with the same value (the original one has been split), the default cluster will be selected as the target for nesting of all future uploaded keys with the duplicate value.",{"id":16,"status":4,"sort":7,"created_on":1826,"slug":1732,"name":1727,"subtitle":1827,"meta_title":1828,"meta_description":1829,"hidden":229,"icon":2873,"featured_icon":2874},{"id":1734},{"id":1737},{"id":29,"status":4,"sort":36,"created_on":2042,"name":1380},[2877,2879],{"id":2077,"status":4,"title":2078,"content":2079,"slug":2080,"created_on":2081,"modified_on":2082,"owner":2083,"meta_title":8,"category":2878},{"id":57,"status":4,"created_on":2052,"sort":8,"slug":2085,"label":1380,"on_faq_index":230},{"id":2722,"status":4,"title":2723,"content":2724,"slug":2725,"created_on":2726,"modified_on":2727,"owner":2093,"meta_title":8,"category":2880},{"id":2128,"status":1517,"created_on":2726,"sort":8,"slug":2729,"label":2730,"on_faq_index":8},[2882],{"id":2883,"status":4,"owner":1818,"created_on":2884,"title":2885,"excerpt":2886,"content":2887,"slug":2888,"meta_title":8,"meta_description":8,"canonical":8},129,"2023-06-21T12:18:59.000Z","Key Clustering","Key clustering in Localazy provides a unique solution for handling duplicate values without modifying the integration source. By utilizing key clusters, you can save time and resources by eliminating the need to translate the same content multiple times.\n\n","When [key clustering](\u002Fdocs\u002Fgeneral\u002Fkey-clusters) is enabled, content uploaded from **API-based** sources is automatically processed and organized into *key clusters* if the uploaded value already exists in the target file. It's important to note that key clusters are specific to a file. If you upload a duplicate value to a different file, the keys won't be clustered since their origin is different.","key-clustering",[2890],{"id":2866,"documentation_id":2866,"languages_code":249,"slug":2729,"title":2730,"content":2871,"meta_title":8,"meta_description":8,"excerpt":2870},[],{"id":2893,"status":4,"sort":2894,"created_on":2895,"modified_on":2896,"slug":1588,"title":1584,"excerpt":2897,"content":2898,"meta_title":8,"meta_description":8,"pinned":229,"main_image":8,"section":2899,"subsection":2902,"cta":8,"faq":2903,"dictionary":2904,"translations":2926,"documentation_id":2893,"blog_articles":2928},189,"10075","2023-06-15T16:13:17.000Z","2026-02-25T09:21:48.000Z","Upload a single key to Localazy and export it with a different key name, to a different file and even in a different file format.","> This feature is available in the [Business plan](\u002Fdocs\u002Fgeneral\u002Flocalazy-business-tier)\n\nExport aliases allow you to export content through non-api means (CDN, CLI, web interface) with different key names and to different files than what they have been originally uploaded from.\n\nThis feature allows for new localization workflows and faciliates many existing ones. See [use cases](#use-cases) section to learn more.\n\n## Export aliases management\n### Manage aliases for a single key\nTo define an export alias for a source key, navigate to *Source language* page and from the three dots option select **Manage export aliases**\n![](https:\u002F\u002Fdirectus9.localazy.com\u002Fassets\u002Fb12992e3-9dd1-4106-aa1e-3d311f8453ca)\n\nTo create an export path alias, click on **Add new export path** and create a new export path alias or select an existing one if available. You can define a name and path as well as change the file format different from the original file's format.\n![](https:\u002F\u002Fdirectus9.localazy.com\u002Fassets\u002F78f35f58-5662-4d92-81d5-0252cb292933)\n\n### Manage export path aliases for multiple source keys\nYou can add alternative export path alias in batch. Select multiple keys and choose **Add new export path** from the batch options menu. \n![](https:\u002F\u002Fdirectus9.localazy.com\u002Fassets\u002F0b91af26-5679-4e28-a9c9-cee8a51e1bb2)\n\n\n## Terminology\n### Export alias\nExport aliases consist of key aliases and export file aliases.\n\n### Key alias\nThis is an alternative key name for the source key. A key alias can be defined in the scope of the original file as well as within the alternative export file. There is no limitation to the number of key aliases per source key.\n\n### Export file alias\nAn alternative file with a different file name, file path and optionally also a different format. Both original source keys as well as key aliases can be generated in export file aliases (depending on your project settings). There is no limitation to the number of export file aliases in project or how many keys the export alias is linked to.\n\n\n## What content is generated\nThe rule of thumb is that key aliases in export file aliases are always generated. The tricky part is what original content is going to be generated and thus exportable.\n\nThe generated content depends on your project configuration which you can find in **Settings -> General Settings -> Import & Export -> Content generation**. The are various options which control whether original files and original key names are also generated or not.\n\n### Generate source keys and key aliases in original files and export file aliases\nThis is the default behavior. Source keys will be generated in source files and export file aliases. Key aliases will also be generated in source files and export file aliases.\n\n### Generate key aliases in export file aliases\nWith this option none of the originally uploaded content will be generated. Neither source keys nor original files can be exported via non-api means. Only key aliases in export path aliases will be generated. When there is no key aliases in an export path alias defined for a source key, the source key won't be generated at all.\n\n### Generate key aliases if defined, else source keys in original files and export file aliases\nAll source keys are generated in some form in both original and export file aliases. If there source key doesn't have any key alias, the source key is generated in the original file and in the export file aliases. If there is at least one key alias, it's generated instead of the source key.\n\n### Generate key aliases if defined, else source keys in export file aliases if defined, else in original files\nRelatedly to the previous option, this applies the conditional generation to source keys as well to original files. In other words, either a source key or key aliases will be generated in export path aliases when there is at least one defined, otherwise in the original file. All source keys will be generated in some form.\n\n## Use cases\nExport aliases can help you anytime you wish to export your content in a form that differs from the form it was uploaded. That is especially useful in the following instances.\n\n### Share strings between iOS and Android projects\nLocalazy provides various tools how efficiently share translations between iOS and Android. For example, you may choose one of the projects to be the Source of Truth and use [Format conversions](\u002Fdocs\u002Fgeneral\u002Fformat-conversions-feature) to convert the translation keys into the format required in the other one. However, this is not viable if not only the format, but also the key naming should be different.\n\nThat's where export aliases come into play. Instead of using the format conversions, you could define key aliases and export file aliases with the desired format for all the keys in Localazy.\n\nLet's say you'd select Android project as the Source of Truth. Therefore, source keys would be uploaded from this project and only translations would be downloaded back.\n\nFirst, make sure your generation settings are set to [Generate key aliases if defined, else source keys in original files and export file aliases](#generate-key-aliases-if-defined-else-source-keys-in-original-files-and-export-file-aliases)\n![](https:\u002F\u002Fdirectus9.localazy.com\u002Fassets\u002Fe875c440-be17-4810-94f5-0f5ee3be52b8)\n\nThen in the Android project, create `localazy.json` file in the root of the project with the following configuration and adjust to match your structure.\n\n```\n{\n    \"writeKey\": \"\u003Cyour-write-key>\",\n    \"readKey\": \"\u003Cyour-read-key>\",\n    \n    \"upload\": {\n      \"type\": \"android\",\n      \"files\": [\n          {\n              \"pattern\": \"app\u002Fsrc\u002Fmain\u002Fres\u002Fvalues\u002Fstrings.xml\",\n              \"lang\": \"inherited\",\n              \"path\": \"${path}\"\n          }\n      ]       \n    },\n    \n    \"download\": {\n        \"files\": {\n            \"output\": \"app\u002Fsrc\u002Fmain\u002Fres\u002Fvalues-${langAndroidRes}\u002Fstrings.xml\",\n            \"conditions\": \"containsWord: xml, ${types}\"\n        },\n        \"includeSourceLang\": false\n    }\n    \n  }\n  ```\n  \n The crucial part is the `conditions` statement in the download section which makes sure that only xml files targeted for Android will be downloaded. Since this project serves as the source of truth, we don't download the source language content (`\"includeSourceLang\": false`).\n  \nTo make use of the content uploaded from Android and of the export aliases you have defined, use the following configuration in `localazy.json` in the root the iOS project.\n\n```\n{\n    \"readKey\": \"\u003Cyour-read-key>\",\n    \n    \"download\": {\n        \"files\": {\n            \"output\": \"${iosLprojFolder}\u002FLocalizable.strings\",\n            \"conditions\": \"containsWord: ios, ${types}\"\n        },\n        \"includeSourceLang\": true\n    }\n    \n  }\n```\n\nThis is much simpler, because the whole upload section is omitted. That's because the Android project serves as the source of truth and thus no content should be uploaded from the iOS project. Similarly to the previous configuration, the `conditions` statement is crucial to download only keys targeted for iOS.\n\n\n\n### Use Figma as the Source of Truth\nIf you don't want to manually rename each text node in Figma and choose the target Localazy files for upload, you can upload all the content from Figma into a single Localazy file and use ID as source key names.\n\nYou can organize the content via export aliases in Localazy and make use of the content uploaded from Figma elsewhere, in your coding project for example. The recommended generation option is [Generate key aliases in export file aliases](#generate-key-aliases-in-export-file-aliases) as it is likely that you don't want to export the original keys accumulated in a single file in Localazy, but only the keys for which you've defined export aliases.\n\nThis approach goes very well hand-in-hand with our [key clustering](\u002Fdocs\u002Fgeneral\u002Fkey-clusters) feature which aggregates multiple keys with the same value uploaded via the Figma plugin under a single Localazy key which makes the export aliases management easier.\n\nYou can advantegously use this approach in combiation with [sharing strings between iOS and Android projects](#share-strings-between-ios-and-android-projects). Instead of choosing one of the projects as the source of truth, in both you make us of the content uploaded from Figma.\n\nQuite likely you'll want to make use of the source keys in code using CLI. To do that, create `localazy.json` file in the root of your project and adjust the following configuration to your needs.\nThe following configuration only specifies the download block since Figma serves as the source of truth. The content will be exported to file paths which you defined as export path aliases and in a JSON file named after the language's code.\n\n```\n{\n    \"readKey\": \"\u003Cyour-read-key>\",\n    \n    \"download\": {\n        \"files\": \"${path}\u002F${lang}.json\",\n        \"includeSourceLang\": true\n    }\n    \n  }\n```\n\n\n### Move key to another file for export\nWhen you move a key to another file outside of Localazy the system looses track that it treated as an existing key that moved rather as a new key. Instead, you should define an export path alias for the selected key(s) so that Localazy can keep on tracking the source key's data.\n\nThe recommended generation settings depend on whether you wish to generate the key in the original file as well or not. If you do, then you can keep the default settings [Generate source keys and key aliases in original files and export file aliases](#generate-source-keys-and-key-aliases-in-original-files-and-export-file-aliases). If you don't then you should select [Generate key aliases if defined, else source keys in export file aliases if defined, else in original files](#generate-key-aliases-if-defined-else-source-keys-in-export-file-aliases-if-defined-else-in-original-files).\n\n\n\n",{"id":16,"status":4,"sort":7,"created_on":1826,"slug":1732,"name":1727,"subtitle":1827,"meta_title":1828,"meta_description":1829,"hidden":229,"icon":2900,"featured_icon":2901},{"id":1734},{"id":1737},{"id":29,"status":4,"sort":36,"created_on":2042,"name":1380},[],[2905,2912,2919],{"id":2906,"status":4,"owner":1818,"created_on":2907,"title":2908,"excerpt":2909,"content":2910,"slug":2911,"meta_title":8,"meta_description":8,"canonical":8},128,"2023-06-16T13:53:31.000Z","Export alias","A collective name for Key alias and Export file alias Localazy features.","These features together allow to export the same content to multiple target projects where the naming structure is different from the source.","export-alias",{"id":2913,"status":4,"owner":1818,"created_on":2914,"title":2915,"excerpt":2916,"content":2917,"slug":2918,"meta_title":8,"meta_description":8,"canonical":8},127,"2023-06-16T13:51:39.000Z","Export File Alias","Export file alias is the name of a Localazy feature allowing users to define alternative export files for their content.","Export file alias is an alternative file with a different file name, file path and optionally also a different format. \n\nIn combination with [key aliases](\u002Fdictionary\u002Fkey-alias), this feature allows to export the same content to multiple target projects where the naming structure and even the file format is different from the source.","export-file-alias",{"id":2920,"status":4,"owner":1818,"created_on":2921,"title":2922,"excerpt":2923,"content":2924,"slug":2925,"meta_title":8,"meta_description":8,"canonical":8},126,"2023-06-16T13:49:23.000Z","Key Alias","Key alias is the name of a Localazy feature allowing users to define alternative key names for the original source keys.","A key alias can be defined in the scope of the original file as well as within the alternative export file. There is no limitation to the number of key aliases per source key.\n\nIn combination with [Export file aliases](\u002Fdictionary\u002Fexport-file-alias), this feature allows to export the same content to multiple target projects where the naming structure is different from the source.","key-alias",[2927],{"id":2893,"documentation_id":2893,"languages_code":249,"slug":1588,"title":1584,"content":2898,"meta_title":8,"meta_description":8,"excerpt":2897},[],{"id":2930,"status":4,"sort":2931,"created_on":2932,"modified_on":2933,"slug":2934,"title":2935,"excerpt":2936,"content":2937,"meta_title":8,"meta_description":8,"pinned":229,"main_image":8,"section":2938,"subsection":2941,"cta":8,"faq":2944,"dictionary":2971,"translations":2978,"documentation_id":2930,"blog_articles":2981},211,"10080","2023-10-03T11:43:25.000Z","2024-08-12T06:45:38.000Z","poedit-integration","Poedit","Learn how to use Poedit to translate your Localazy projects.\t","## Download Poedit\nPoedit is available for various platforms, including Windows, macOS, and Linux. \n\n> Download the latest Poedit for your platform [here](https:\u002F\u002Fpoedit.net\u002Fdownload).\n\n## Connect Your Localazy Project\nAfter successful installation, choose „**Translate cloud project**\". \n\n![Poedit - Welcome screen](https:\u002F\u002Fdirectus9.localazy.com\u002Fassets\u002F52ef4be9-3772-47c9-a02d-a7fc58b95e51)\n\nA window will pop up where you select Localazy and click „**Add account**“\n\n![Choose Localazy in Poedit Cloud sync](https:\u002F\u002Fdirectus9.localazy.com\u002Fassets\u002F02f32b56-6667-48e3-9204-73f616533e36)\n\nA browser window will open where you will be asked to login to your Localazy account.\n\nThen, select your project and \"**Authorize**\" access to Localazy. \n\nAfter authorization, you will be redirected, and the integration between Poedit and Localazy will be active.\n \n## Translate with Poedit\nAfter connecting your account and project, you can choose the target language and start translating. \n\n![Select language in Poedit](https:\u002F\u002Fdirectus9.localazy.com\u002Fassets\u002F29636779-3cf2-4377-9893-a17b70d30043)\n\nPoedit's familiar interface makes it easy to work on translations.\n\n![Poedit translation interface](https:\u002F\u002Fdirectus9.localazy.com\u002Fassets\u002F62403851-2b99-43fc-907b-b8432783553c)\n\n### Sync with Localazy when done\nAfter the translation is completed, save the project by clicking the \"Save\" icon.. Your translated strings will be automatically uploaded to the cloud and synced with Localazy. \n \n## Learn more\n> You can learn more about Poedit at [poedit.net](https:\u002F\u002Fpoedit.net\u002F)\n\n \n",{"id":16,"status":4,"sort":7,"created_on":1826,"slug":1732,"name":1727,"subtitle":1827,"meta_title":1828,"meta_description":1829,"hidden":229,"icon":2939,"featured_icon":2940},{"id":1734},{"id":1737},{"id":305,"status":4,"sort":150,"created_on":2942,"name":2943},"2023-10-03T11:17:23.000Z","External Tools",[2945,2955,2963],{"id":2946,"status":4,"title":2947,"content":2948,"slug":2949,"created_on":2950,"modified_on":2951,"owner":2093,"meta_title":8,"category":2952},293,"Why use Poedit with Localazy?","Using Poedit with Localazy offers several benefits:\n1. **Efficient translation workflow**: Poedit provides translators with a user-friendly interface to work with gettext-based translation files (usually *.po and *.pot files). Localazy complements this by offering a centralized platform where translators and developers can collaborate, streamlining the translation workflow.\n2. **Cloud-Based Collaboration**: Localazy allows translators to work on translations in a collaborative cloud environment. This means that multiple translators can work on the same project at the same time, making it easier to manage and update translations as your project evolves.\n3. **Automatic synchronization**: Localazy can automatically synchronize translations between your project and the cloud. When translators update translations in Poedit and save files, Localazy can sync those changes, ensuring your translations are always up-to-date.\n4. **Version Control**: Localazy supports version control for translations, allowing you to track changes and revert to previous translations if necessary. This can be especially useful for large ongoing projects where maintaining the integrity of the translations is critical.\n5. **Integrations**: Localazy typically integrates with various development platforms and frameworks, making it easy to manage translations for your specific technology stack. This integration simplifies the process of delivering updated translations to your application.\n6. **Scalability**: If your project is growing or you have multiple projects to manage, Localazy is a scalable platform that can make it easy for you to translate all of them.\n7. **Cost Effectiveness**: Localazy offers a variety of [pricing plans](\u002Fpricing), including a free tier for smaller projects. This can make it an attractive choice for both small and large development teams.\n","why-use-poedit-with-localazy","2023-10-03T11:45:16.000Z","2023-10-03T11:45:22.000Z",{"id":701,"status":4,"created_on":2953,"sort":8,"slug":2954,"label":2935,"on_faq_index":8},"2023-10-03T11:43:50.000Z","poedit",{"id":2956,"status":4,"title":2957,"content":2958,"slug":2959,"created_on":2960,"modified_on":2961,"owner":2093,"meta_title":8,"category":2962},294,"What is Poedit?","Poedit is one of the most popular translation editor software available for Windows, Mac, or Linux. Poedit has a simple and easily understood interface with all the essential tools for comfortable translation. Download the latest version from the official [Poedit website](https:\u002F\u002Fpoedit.net\u002Fdownload) and connect your Localazy project with a few clicks. ","what-is-poedit","2023-10-03T11:46:42.000Z","2023-10-03T11:46:48.000Z",{"id":701,"status":4,"created_on":2953,"sort":8,"slug":2954,"label":2935,"on_faq_index":8},{"id":2964,"status":4,"title":2965,"content":2966,"slug":2967,"created_on":2968,"modified_on":2969,"owner":2093,"meta_title":8,"category":2970},296,"Does Localazy support offline translations?","Yes, Localazy can integrate with [Poedit 3.4](https:\u002F\u002Fpoedit.net\u002Fnews\u002Fpoedit-3.4-localazy\u002F), which offers seamless two-way integration with Localazy, enabling you to switch between desktop editing in Poedit and web-based translation in Localazy effortlessly. \n\nThis integration ensures that your work remains synchronized, whether online or offline. You can even work on translations offline in Poedit and then upload your changes in bulk to Localazy when you're back online, simplifying your workflow and enhancing efficiency.","does-localazy-support-offline-translations","2023-10-03T11:51:58.000Z","2023-10-03T11:52:00.000Z",{"id":701,"status":4,"created_on":2953,"sort":8,"slug":2954,"label":2935,"on_faq_index":8},[2972],{"id":893,"status":4,"owner":2050,"created_on":2973,"title":2974,"excerpt":2975,"content":2976,"slug":2977,"meta_title":8,"meta_description":8,"canonical":8},"2022-03-17T12:22:56.000Z","PO & POT format","PO and POT are text-based file formats commonly used for localization purposes.","**PO** stands for Portable Object file.\n**POT** stands for Portable Object Template.\n\nBoth are text-based formats used for localization in various applications. PO and POT files are, for example, used by the [gettext](\u002Fdictionary\u002Fgnu-gettext) library and WordPress CMS to handle multilingual software and websites.\n\nYou can use Localazy to manage translations of your [PO](\u002Fpo) and [POT files](\u002Fpot) seamlessly. \n\n## Further reading\n- [Localazy CLI Documentation - PO\u002FPOT format](\u002Fdocs\u002Fcli\u002Fpo-format)\n- [How to make a multi-language application in C](\u002Fblog\u002Fmake-multi-language-application-in-c-gettext-localazy)\n- [Automatic data reports in multiple languages with Python, Gettext and Localazy](\u002Fblog\u002Fautomatic-data-reports-multiple-languages-python-gettext-localazy)","po-and-pot-format",[2979],{"id":2980,"documentation_id":2930,"languages_code":249,"slug":2934,"title":2935,"content":2937,"meta_title":8,"meta_description":8,"excerpt":2936},210,[],{"id":1051,"status":4,"sort":2983,"created_on":2033,"modified_on":2984,"slug":2985,"title":2986,"excerpt":2987,"content":2988,"meta_title":8,"meta_description":8,"pinned":229,"main_image":8,"section":2989,"subsection":2992,"cta":8,"faq":2993,"dictionary":3037,"translations":3045,"documentation_id":1051,"blog_articles":3047},"11005","2026-02-25T09:24:41.000Z","editing-source-language","Source language","Learn how to manage your source language strings in Localazy.","In Localazy, users with the [Manager role](https:\u002F\u002Flocalazy.com\u002Fdocs\u002Fgeneral\u002Fdefining-user-roles) or above may edit the project's source language. This opens many possibilities, and the usage is up to you. Do you want others to **correct typos** in your source language as well? No problem. Would you like to provide **further context** to a source string? Absolutely. \n\n## Source table\nThe source table is the place where you can see all your source keys and their states.\n\n![Localazy Source Language Table View](https:\u002F\u002Fdirectus9.localazy.com\u002Fassets\u002F6fbb272d-861c-4045-910c-6ef3ebbb5154)\n\nClick on a row to see the details or edit the desired key. You can also perform certain actions by clicking on the context menu of the string.\n- Mark key as hidden \n- Delete the key\n- Convert the string to plural\n- Remove deprecated flag\n\nYou can sort for a certain type of string or select only those that don't have a translation note or screenshot using the filter dropdown. You can also use the text search filter to get a list of strings containing the desired text.  \n\n### Source key states\n- **Active** - Active strings are all strings that are available for translation.\n- **Hidden** - Hidden keys are not available to translators, but other than that, they are processed the same way as all the others. They are also exported in the output file. \n- **Duplicate** - These keys are acting as hidden keys, but this state tells you that the key is linked to another using the [Duplicity Linking](\u002Fdocs\u002Fgeneral\u002Fduplicity-linking) feature\n- **Deprecated** - Deprecated keys are invisible in the translation process and are not exported in the output file.\n- **Deleted** - Deleted keys are removed entirely along with all their data - comments, translations, screenshot linking, contributors' history, etc. Once the key is deleted, it's no longer counted against the key limit, and it's impossible to restore it. \n\n![Localazy Source Language - String states](https:\u002F\u002Fdirectus9.localazy.com\u002Fassets\u002Ff8313aad-6904-4fd7-934c-e9102ab28927)\n\n:::info\nKeys are automatically marked as hidden under certain circumstances - when the source language translation is empty or when they are linked to another one using the [Duplicity Linking](\u002Fdocs\u002Fgeneral\u002Fduplicity-linking) feature. \n:::\n\n:::info\n**Deprecated Keys**:  If the key reappears in the input data during upload, it's restored back to the Active state along with its complete data (context, translation, contributors, etc.) Under certain circumstances, deprecated keys can be exported for our Android\u002FiOS SDK when the update is required from the older version of the app.\n:::\n\n## Edit form & interface\n\nTo edit a source string, click on _Translations tab_ in your app and then click on _Manage_ button in the source language's row. Now, by clicking on any string, you will navigate to an edit form.\n\n![](https:\u002F\u002Fdirectus9.localazy.com\u002Fassets\u002Fe36564bf-1a62-49a2-a2ae-caefb020a710)\n\n\nThe form's interface will adjust to the type of content you're editing (string, array, or plural). On the right side, there is a context summary which contains current translation, note and state, and available metadata such as path or file.\n\nAny manager can edit the value and add a translation note that will help translators and reviewers understand how this string is used within your application.\n\n## Require translation updates\n![](https:\u002F\u002Fdirectus9.localazy.com\u002Fassets\u002F36507a27-6624-4d05-ba92-c5ba343b78e3)\n\nFrequently, you may wish to edit the source string without requiring new translations in other languages. For instance, if you notice in English that an article should precede a noun, you most likely don't need to update translations in other languages such as German or French. The meaning has probably remained the same. In that case, you'd leave the update translations checkbox unchecked. \n\nOn the other hand, if the modification changes the meaning, you may want to enforce new translations for this string in all the languages you support by checking the box. In that case, saving it will mark it as **source changed**. The current translations will still be available for download in all languages, but they will require an update by translators.\n\n## Download source language changes\nBy default, your source language's localization files are not downloaded when you run `localazy download`. This happens because our simplest workflow expects you to edit source language locally and directly commit them to your repository. To reflect source language changes in your code, you need to set `includeSourceLang: true` in `localazy.json` file in _download_ section.\n\n![](https:\u002F\u002Fdirectus9.localazy.com\u002Fassets\u002F9a1df1fd-783b-4957-a3d0-373dbd3062f2)\n\nNow, running `localazy download` will also include your source language files and all their UI changes.\n\n## Upload rules vs. changes in Localazy\n\nLocalazy importer keeps track of changes. Uploading previous versions of a string that was in the meantime changed manually in Localazy won't revert the changes you made. We will notify you about the strings that remained unchanged in the Activity Stream so you know that your local file is not in sync with Localazy. \n\nIf you import the file again with a new variant of the string that was not yet in Localazy, the importer will recognize the change and overwrites the string with the newly uploaded version. Entirely new strings will be imported as usual.",{"id":16,"status":4,"sort":7,"created_on":1826,"slug":1732,"name":1727,"subtitle":1827,"meta_title":1828,"meta_description":1829,"hidden":229,"icon":2990,"featured_icon":2991},{"id":1734},{"id":1737},{"id":36,"status":4,"sort":72,"created_on":2042,"name":2125},[2994,3002,3013,3021,3029],{"id":251,"status":4,"title":2995,"content":2996,"slug":2997,"created_on":2048,"modified_on":2998,"owner":2050,"meta_title":8,"category":2999},"What are source keys?","A source key is a segment of text stored in Localazy, representing content in your source language. It's a single string of text in your source language, e.g., a button label or a short paragraph of text in a dialogue window of your application. It can even be a short blog article written in Markdown syntax. In the picture below, there are three source keys; as you can see, each contains a different type of content.\n\n> You can imagine a source key as a single row in a spreadsheet you were previously using for translations.\n\n![Examples of source keys in localazy](https:\u002F\u002Fdirectus9.localazy.com\u002Fassets\u002F12917eb6-4632-4c32-9fc7-69e79143a7ba)\n\nTranslations to other languages are **unlimited**, and translating your project to more languages does not affect the number of source keys used. I.e., the content of one source key translated into 10 languages still counts as one source key.","what-are-source-keys","2024-01-08T11:13:20.000Z",{"id":99,"status":4,"created_on":1926,"sort":8,"slug":3000,"label":3001,"on_faq_index":230},"localazy-accounts","Accounts & Billing",{"id":3003,"status":4,"title":3004,"content":3005,"slug":3006,"created_on":3007,"modified_on":3008,"owner":2093,"meta_title":8,"category":3009},284,"What is the difference between hidden and active string?","The difference between \"active\" and \"hidden\" keys is that \"hidden\" keys are not available to translators but are otherwise handled the same as all others. They are also exported to the output file.\n\nKeys are automatically marked as hidden under certain circumstances - when the source language translation is empty or when they are linked to another translation using the [Duplicity Linking feature](\u002Fdocs\u002Fgeneral\u002Fduplicity-linking) available in the [Business Plan](\u002Ftiers\u002Fbusiness).\n\nYou can hide keys you don't need to translate. Hidden keys will remain hidden until you reactivate them.\n\nLearn more about the different states your source strings can be in in [the docs article](\u002Fdocs\u002Fgeneral\u002Fediting-source-language#source-key-states) ","what-is-the-difference-between-hidden-and-active-string","2023-07-13T14:39:33.000Z","2024-01-03T11:10:37.000Z",{"id":364,"status":4,"created_on":3010,"sort":8,"slug":3011,"label":3012,"on_faq_index":230},"2023-02-27T20:12:14.000Z","source-keys","Source Keys",{"id":3014,"status":4,"title":3015,"content":3016,"slug":3017,"created_on":3018,"modified_on":3019,"owner":2093,"meta_title":8,"category":3020},236,"Should I delete deprecated keys?","If you are running over the source key limit, you can consider deleting deprecated keys. However, be sure that deleted keys are no longer necessary for your project, as you cannot restore them if needed, and all the associated data is also deleted. \n\nIt's not only about the translations you can easily store and restore if needed when using deprecated keys instead of deleting them, but also about context information, comments, user interactions, etc. Once the key is deleted, it's no longer counted against the key limit, and it's impossible to restore it. ","should-i-delete-deprecated-keys","2022-12-15T00:12:29.000Z","2023-05-26T19:30:04.000Z",{"id":50,"status":4,"created_on":2052,"sort":22,"slug":2053,"label":1727,"on_faq_index":230},{"id":3022,"status":4,"title":3023,"content":3024,"slug":3025,"created_on":3026,"modified_on":3027,"owner":2093,"meta_title":8,"category":3028},235,"What is the difference between hidden and deprecated source keys?","**In Localazy, every key can be in different states, which makes it invisible from the translation process.**\n\n- **Hidden:** Hidden keys are not available to translators, but other than that, they are processed the same way as all the others. They are also exported in the output file. \n\n> Keys are automatically marked hidden under certain circumstances - when the source language translation is empty or when they are linked to another one using our [Duplicity Linking](\u002Fdocs\u002Fgeneral\u002Fduplicity-linking) feature. \n\n- **Deprecated:** Deprecated keys are invisible in the translation process and are not exported in the output file. Under certain circumstances, they can be exported for our Android\u002FiOS SDK when the update is required from the older version of the app. If the key reappears in the input data, it's restored along with its complete state (context, translation, contributors, etc.) \n\n- **Deleted:** Deleted keys are removed with all their data - comments, translations, screenshot linking, contributors' history, etc. Once the key is deleted, it's no longer counted against the key limit, and it's impossible to restore it. \n\n","what-is-the-difference-between-hidden-and-deprecated-source-keys","2022-12-15T00:10:51.000Z","2023-05-26T19:30:01.000Z",{"id":50,"status":4,"created_on":2052,"sort":22,"slug":2053,"label":1727,"on_faq_index":230},{"id":3030,"status":4,"title":3031,"content":3032,"slug":3033,"created_on":3034,"modified_on":3035,"owner":2093,"meta_title":8,"category":3036},307,"How to change the source language of my project in Localazy?","## Watch the video\n\u003Ciframe width=\"100%\" height=\"550\" src=\"https:\u002F\u002Fwww.youtube.com\u002Fembed\u002F6vVjK_sFnr8\" title=\"How to change the source language of your Localazy project?\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen>\u003C\u002Fiframe>\n\n## Step-by-step explanation\nTo change the source language of your project in Localazy, follow the steps outlined below:\n\n1. Navigate to the *Project Settings - General Settings*\n2. Scroll down to *Advanced Settings*\n3. Find the field *Project source language* and click on the ✏️ pencil icon.\n\n![Localazy project settings - advanced settings](https:\u002F\u002Fdirectus9.localazy.com\u002Fassets\u002Faaa7f1e3-1ed5-4679-8c50-bbb92db7d578)\n\nA modal window appears asking you how and to which language you would like to change the source language. \n\nYou have two options here.\n\n## Set another fully translated language as the new source\nSelect this option if you already have another language that is fully translated and you want to swtich its place with the current source language. You can choose any fully translated language in your project and the previous source language will continue to be treated as the normal Localazy language. \n\n![Localazy - set another fully translated language as the new source](https:\u002F\u002Fdirectus9.localazy.com\u002Fassets\u002Fde6b4eee-b0ac-4497-834b-15ba99353974)\n\n## Transfer the current source content to a new source language\nSometimes, it happens that your source files are in `en_GB` but you would like to use simply `en` while keeping the content intact. Select this option to preserve the current source content but change the source locale code. \n\nYou can either choose a blank language or an existing hidden language. When changing the source to a language that is currently hidden, its data is purged first.\n\n![Localazy - transfer the current source content to a new source language](https:\u002F\u002Fdirectus9.localazy.com\u002Fassets\u002Fecf58ba9-7b99-4035-a7c1-86d16f0f20eb)\n\n","how-to-change-the-source-language-of-my-project-in-localazy","2023-11-13T10:12:28.000Z","2024-11-29T16:49:00.000Z",{"id":50,"status":4,"created_on":2052,"sort":22,"slug":2053,"label":1727,"on_faq_index":230},[3038,3039],{"id":107,"status":4,"owner":2050,"created_on":2156,"title":1443,"excerpt":2165,"content":2166,"slug":2167,"meta_title":53,"meta_description":53,"canonical":53},{"id":1509,"status":4,"owner":2050,"created_on":3040,"title":3041,"excerpt":3042,"content":3043,"slug":3044,"meta_title":53,"meta_description":53,"canonical":53},"2026-05-12T07:09:23.000Z","Phrase","A cloud-based localization platform for managing translations efficiently.","Phrase is a translation management system (TMS) that helps businesses and developers handle localization projects in one place. It supports various file formats, integrates with development tools, and automates translation processes. Phrase includes features like translation memory, machine translation, and glossaries to improve consistency and reduce manual work. It is used to localize software, websites, apps, and other digital content.\n\nIt enables developers to integrate localization into their development process while allowing translators and project managers to work simultaneously. With built-in automation and real-time updates, Phrase helps maintain accuracy and consistency across multilingual projects, reducing the time and effort needed for manual translations.\n\n### 🔰 Key features of Phrase\n\n* Connects with tools like Git, Figma, Slack, and CMS platforms to speed up localization without disrupting existing workflows.\n* Organizes all localization tasks in a single platform, making it easier to track and manage translations.\n* Stores previously translated content and terminology to maintain brand consistency and reduce costs.\n* Provides a term base and translation memory to save you from doing the same work twice. \n\n> *Visit[ our comparison page](https:\u002F\u002Flocalazy.com\u002Fphrase-alternative) to see how Localazy compares to Phrase.* ","phrase",[3046],{"id":1051,"documentation_id":1051,"languages_code":249,"slug":2985,"title":2986,"content":2988,"meta_title":8,"meta_description":8,"excerpt":2987},[],{"id":3049,"status":4,"sort":2983,"created_on":2033,"modified_on":3050,"slug":3051,"title":3052,"excerpt":3053,"content":3054,"meta_title":8,"meta_description":8,"pinned":229,"main_image":8,"section":3055,"subsection":3058,"cta":8,"faq":3059,"dictionary":3075,"translations":3076,"documentation_id":3049,"blog_articles":3078},90,"2024-08-12T06:20:14.000Z","importing-localization-files","Importing content for localization","Learn how to import your localization files to Localazy. Explore all options of uploading your content to Localazy. One project can have multiple sources of content, so the possibilities are endless!","## Native Integrations\nChoose a native integration with official support from the Localazy team.\n\n### Content Management Systems\nConnect your website built with one of the CMS below with Localazy to translate it seamlessly.\n- [**Strapi Localization Plugin**](\u002Fdocs\u002Fstrapi\u002Fstrapi-plugin-introduction-installation)\n- [**Storyblok Integration**](\u002Fdocs\u002Fstoryblok\u002Fstoryblok-plugin-introduction-installation) \n- [**Directus CMS Plugin**](\u002Fdocs\u002Fdirectus\u002Fdirectus-plugin-introduction-installation) \n\n### Design Collaboration Tools\nConnect Localazy with Figma to create multilingual designs and localized prototypes.\n- [**Figma Localization Plugin**](\u002Fdocs\u002Ffigma\u002Fplugin-introduction) \n\n### Helpdesk \nConnect your Intercom Workspace with Localazy and translate articles in your Help Center.\n- [**Intercom Localization Plugin**](\u002Fdocs\u002Fintercom\u002Fintercom-installation)\n\n### Integration Platforms\nConnect thousands of apps with Localazy via Zapier and automate your workflows even more.\n- [**Zapier Integration**](\u002Fdocs\u002Fzapier\u002Fintroduction-zapier) \n\n## Developer-Friendly Options\n- [**Localazy API**](\u002Fdocs\u002Fapi\u002Fintroduction) - Use the API to export translations and import content from\u002Fto Localazy programmatically.\n- [**Localazy CLI**](\u002Fdocs\u002Fcli\u002Fthe-basics) - The best option for developers that want to make localization an automated part of their workflow.\n- [**Android Gradle Plugin & Library**](\u002Fdocs\u002Fandroid\u002Flocalazy-gradle-plugin) - The Localazy Gradle plugin helps you to upload strings and to integrate Localazy into your app.\n- [**Swift SDK for iOS & macOS**](\u002Fdocs\u002Fios\u002Finstallation-and-setup) - Use the Localazy Swift SDK for seamless localization of your iOS and macOS projects.\n\n::: info\nCheck all available options on our [integrations](https:\u002F\u002Flocalazy.com\u002Fintegrations) page.\n:::\n\n## Upload Files Manually\nImporting your localization files via the web interface to Localazy is an easy alternative to uploading files using our integrations. \n\nYou can import both new and [existing translations](\u002Ffaq\u002Flocalazy-files\u002Fhow-to-upload-files-with-existing-translations-to-localazy), and the web import service supports most of the available [formats and integrations](\u002Fintegrations).\n\n1. In the left menu, select **Tools** and go to the **File management**  section. (You need to have the Owner role.)\n\n2. Click on a `+` button in the upper right corner, which opens the **File import** modal.\n\n3. Select one or more localization files for upload.\n\n4. Specify how to import the files. (optional)\n\n![Upload file](https:\u002F\u002Fdirectus9.localazy.com\u002Fassets\u002Ff27fc788-3a1c-4942-8a82-1c5afba6f589.gif)\n\n#### Format import\u002Fexport options\nThese options modify how the imported files are processed during import and export. They might vary between file formats. \n\n![Format options](https:\u002F\u002Fdirectus9.localazy.com\u002Fassets\u002F9d2746a6-1d6c-45c4-aebe-ec4e8f995391)\n\n#### Other import options\n\n**Mark phrases excluded from this batch as deprecated**:\n\nWhen checked, any existing source key that is not included in the imported files will be marked as [deprecated](\u002Fdocs\u002Fgeneral\u002Fediting-source-language#source-key-states).\n\n**Import all translations as new**:\n\nWhen checked, all imported translations will be awaiting review. When unchecked, the translations will be imported as already approved.\n\n**Override existing translations**:\n\nCurrent translations will be overwriten by the translations in the uploaded files.\n\n**Skip translations that copy source language**:\n\nWhen checked, translations that are the same as in the source language are not imported. \n\n![Import modal](https:\u002F\u002Fdirectus9.localazy.com\u002Fassets\u002F5aba7200-bcde-4921-8b33-4b4523332c0e)\n\n\n### Update existing localization files\nIf you want to update existing files or it's translations, use the **Import content to file** option under the file dropdown options.\n\n\u003Ciframe src=\"https:\u002F\u002Fapp.tango.us\u002Fapp\u002Fembed\u002F622fbd34-2ad6-451a-a318-389b1c8e96ab?iframe=true\" sandbox=\"allow-scripts allow-top-navigation-by-user-activation allow-popups allow-same-origin\" security=\"restricted\" title=\"How to upload existing translations in Localazy\" width=\"100%\" height=\"560px\" referrerpolicy=\"strict-origin-when-cross-origin\" frameborder=\"0\" webkitallowfullscreen=\"webkitallowfullscreen\" mozallowfullscreen=\"mozallowfullscreen\" allowfullscreen=\"allowfullscreen\">\u003C\u002Fiframe>\n\n\n## Add new keys in UI\nProject owners can create new keys by clicking on the **Add Content** button above the list of languages.\n\n![Add new keys](https:\u002F\u002Fdirectus9.localazy.com\u002Fassets\u002F85684bc3-8f6b-4bb5-92b0-e3057e1ccc52)\n\nAfter clicking **\"Add source keys\"** you can insert additional keys. \n\n![Create Source Key Modal](https:\u002F\u002Fdirectus9.localazy.com\u002Fassets\u002F034e2ba1-89c8-465f-a07d-e8ddb898b102)\n\n##### Select file:\nYou can let Localazy create a new file automatically or pick one of your uploaded files. All keys you create will be then placed there.\n\n##### String type:\nYou can also expand the **\"String type\"** menu and choose between **\"Plain string\"** and \"[**Plural string**](\u002Fdocs\u002Fgeneral\u002Ftranslating-strings#plurals)\".\n\nSubsequently, it is possible to apply a length limit to translations by checking the \"**Set character limit**\" option and writing in the desired number of characters.\n\n##### Nested keys:\nWhen you select a format that supports nested keys, you may check the \"**Use dot (.) to create nested keys**\" option. Keys containing a `.` will be stored as nested structures. \n\n![nested key](https:\u002F\u002Fdirectus9.localazy.com\u002Fassets\u002F500314c7-2960-4912-8367-e125ae08e7cb)\n\n```json\n  \"my\": {\n    \"key\": \"test\"\n  }\n```\n\n**TIP**: If you want to create more complicated structures, you can use the escape combination  `^.` . This prevents the key from splitting on dot, when creating nested keys is turned on.\n\n![nested key with escape](https:\u002F\u002Fdirectus9.localazy.com\u002Fassets\u002F1417ef64-75ab-4ae5-a818-553161b9c754)\n\n\n```json\n  \"my.key\": {\n    \"test\": \"test2\"\n  }\n```\n\n\n:::info\nAll options are automatically remembered in each project.\n:::\n",{"id":16,"status":4,"sort":7,"created_on":1826,"slug":1732,"name":1727,"subtitle":1827,"meta_title":1828,"meta_description":1829,"hidden":229,"icon":3056,"featured_icon":3057},{"id":1734},{"id":1737},{"id":36,"status":4,"sort":72,"created_on":2042,"name":2125},[3060,3062,3073],{"id":251,"status":4,"title":2995,"content":2996,"slug":2997,"created_on":2048,"modified_on":2998,"owner":2050,"meta_title":8,"category":3061},{"id":99,"status":4,"created_on":1926,"sort":8,"slug":3000,"label":3001,"on_faq_index":230},{"id":3063,"status":4,"title":3064,"content":3065,"slug":3066,"created_on":3067,"modified_on":3068,"owner":2093,"meta_title":8,"category":3069},232,"How to upload files with existing translations to Localazy?","You can upload existing translations to your source files in [Localazy File Management](\u002Fdocs\u002Fgeneral\u002Fimporting-localization-files#update-existing-localization-files) or [follow the guide to uploading existing translations via the CLI](\u002Fdocs\u002Fcli\u002Fexisting-translations).\n\n\u003Ciframe width=\"100%\" height=\"500\" src=\"https:\u002F\u002Fwww.youtube.com\u002Fembed\u002FZDDpEp2hG_I\" title=\"How to upload files with existing translations to Localazy\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen>\u003C\u002Fiframe>\n\nIn file management, you won't see multiple versions of the same files in various languages. \n\nYou can imagine each Localazy file as a stack of its localized versions - with the source language on the bottom and all of the translated versions on top of it. So when you want to add a new language file, you update the stack. \n\nIf you want to upload translations in another language to Localazy, use the *Upload existing translations* option. \n\n![](https:\u002F\u002Fdirectus9.localazy.com\u002Fassets\u002Fd5ee739a-0424-468a-a34c-e93f65f69e15)","how-to-upload-files-with-existing-translations-to-localazy","2022-12-13T11:08:40.000Z","2025-02-26T12:48:48.000Z",{"id":275,"status":4,"created_on":3070,"sort":8,"slug":3071,"label":3072,"on_faq_index":230},"2022-12-13T10:49:44.000Z","localazy-files","File Management",{"id":1096,"status":4,"title":2045,"content":2046,"slug":2047,"created_on":2048,"modified_on":2049,"owner":2050,"meta_title":8,"category":3074},{"id":50,"status":4,"created_on":2052,"sort":22,"slug":2053,"label":1727,"on_faq_index":230},[],[3077],{"id":3049,"documentation_id":3049,"languages_code":249,"slug":3051,"title":3052,"content":3054,"meta_title":8,"meta_description":8,"excerpt":3053},[],{"id":3080,"status":4,"sort":3081,"created_on":3082,"modified_on":3083,"slug":3084,"title":3085,"excerpt":3086,"content":3087,"meta_title":8,"meta_description":8,"pinned":229,"main_image":8,"section":3088,"subsection":3091,"cta":8,"faq":3092,"dictionary":3093,"translations":3094,"documentation_id":3080,"blog_articles":3097},241,"11006","2024-09-20T10:09:14.000Z","2026-05-25T13:36:44.000Z","priority-and-tags","Priority & source key tags","Assign priorities and organize source keys using tags to streamline translation management. Use these tags to create custom translation sessions, automate workflows, provide additional context to translators, and manage the balance between machine and human translation based on the priority and tags of each string.","> This feature is available in the [Autopilot plan](\u002Ftiers\u002Fautopilot)\n\n## Priority\nEach source key can be assigned a priority level relative to others, helping you manage translation workflows effectively. The available priority levels are:\n\n- **Highest**\n- **High**\n- **Normal** (default)\n- **Low**\n- **Lowest**\n\nBy default, all source keys are set to _Normal_ priority. To adjust the priority of a specific source key, go to the [source language table](https:\u002F\u002Flocalazy.com\u002Fdocs\u002Fgeneral\u002Fediting-source-language#source-table) and update the priority as needed.\n![](https:\u002F\u002Fdirectus9.localazy.com\u002Fassets\u002Fd3debea1-ea75-41ac-9948-345c7ee4057e)\n\n### Adjust the order in translation and review sessions\nWhen starting a translation or review session, strings are prioritized based on their relevance. By adjusting a string's priority, you control when it appears during the session. Higher priority strings are processed earlier, while lower priority strings appear later.  \n\nUse high priority for important strings that need immediate attention, and lower priority for less urgent ones.\n\n### Indicate how important the translation is\nNot all strings are equally critical. For instance, content on your pricing page demands top-quality translation, while an edge-case error message only needs to be understandable. \n\nBy setting priorities, you help translators gauge how much attention and effort to invest in each string.\n\n### Use with Automations\nIn [Automations](\u002Fdocs\u002Fgeneral\u002Fautomations), priorities act as a special type of tag, allowing you to automate processes based on string priority.\n\n![](https:\u002F\u002Fdirectus9.localazy.com\u002Fassets\u002F4db4efb7-c7aa-492f-9c76-9abca6836635)\n\nA common use case is to use machine translation for strings with _low_ or _lowest_ priority, while reserving human translators for high-priority content.\n\n## Source key tags\nTags are a versatile feature used for categorizing and grouping source keys to serve various purposes. You can attach an unlimited number of tags to each source key, allowing for flexible organization.\n\nTo add a new or existing tag to a source key, go to the [source language table](https:\u002F\u002Flocalazy.com\u002Fdocs\u002Fgeneral\u002Fediting-source-language#source-table) and click the plus icon in the _Source Key Tags_ column.\n\n> If the _Source Key Tags_ column is not visible, click on **Edit Columns** above the translation list table and enable it.\n\n![](https:\u002F\u002Fdirectus9.localazy.com\u002Fassets\u002F3e31106e-af01-409b-8c6c-86e5c53e18eb)\n\n### Delegate translations\nTranslators have varying expertise regarding your product. By grouping related source keys with the same tag, you can allow individual translators to focus on specific strings. Simply filter by the desired tag and create a custom session tailored to their expertise.\n\n![](https:\u002F\u002Fdirectus9.localazy.com\u002Fassets\u002F33f35cb7-522a-4ffe-9aca-1263c645dd63)\n\n![](https:\u002F\u002Fdirectus9.localazy.com\u002Fassets\u002F1be89649-1cc0-4c23-8289-1a5562e078df)\n\n### Use with Automations\nTags provide flexibility when used with [Automations](\u002Fdocs\u002Fgeneral\u002Fautomations). For example, you can choose to translate only specific strings using machine translation, while assigning the remaining strings to human translators.\n\n![](https:\u002F\u002Fdirectus9.localazy.com\u002Fassets\u002F6118b976-d507-4c62-b214-c70a4d127c1e)\n\nOther common workflows include:\n- **Copying values** to another language for specific tags, such as `UNTRANSLATABLE`.\n- **Hiding keys** from translation, for instance, those marked as `SYSTEM VALUES`.\n\n## Who can manage priority and tags?\nPriority and custom tags can be assigned by Owners or Managers of the project. [Learn more about project roles](\u002Fdocs\u002Fgeneral\u002Fdefining-user-roles).\n",{"id":16,"status":4,"sort":7,"created_on":1826,"slug":1732,"name":1727,"subtitle":1827,"meta_title":1828,"meta_description":1829,"hidden":229,"icon":3089,"featured_icon":3090},{"id":1734},{"id":1737},{"id":36,"status":4,"sort":72,"created_on":2042,"name":2125},[],[],[3095],{"id":3096,"documentation_id":3080,"languages_code":249,"slug":3084,"title":3085,"content":3087,"meta_title":8,"meta_description":8,"excerpt":3086},1366,[],{"id":3099,"status":4,"sort":3100,"created_on":2115,"modified_on":3101,"slug":3102,"title":3103,"excerpt":3104,"content":3105,"meta_title":8,"meta_description":8,"pinned":229,"main_image":8,"section":3106,"subsection":3109,"cta":8,"faq":3110,"dictionary":3142,"translations":3144,"documentation_id":3099,"blog_articles":3146},116,"11010","2025-08-01T11:02:38.000Z","translating-strings","Translating strings","The Localazy translation session is a simple yet effective tool that helps you and your contributors translate strings into desired languages.","Navigate to the *Translations* page of your project to see all available languages. Each language displays its current translation status and provides access to translation tools.\n\n![Localazy - Start Translation Session](https:\u002F\u002Fdirectus9.localazy.com\u002Fassets\u002Fa18eca50-adb9-437a-84c5-a99811ec0b6f)\n\nThe action button on each language has three states that indicate translation progress:\n\n1. **Translate** - opens translation session when new strings need translation\n2. **Review** - opens review session when translations are waiting for approval (read more on [reviewing translations](\u002Fdocs\u002Fgeneral\u002Freviewing-translations))\n3. **Completed** - everything is complete, takes you to the full translations list\n\n## Translation States\n\nBefore diving into translation, it's important to understand the different states your content can be in:\n- **Finalized translation** - Approved and ready for use in your application\n- **Awaiting review** - Translated but needs approval before it can be used\n- **Needs translation** - No translation exists or it needs re-translation\n\nIf the text needs re-translation, it can be additionally marked as:\n- **Needs improvement** - Has an approved version but it could be improved\n- **Source changed** - Has an approved version but the original text changed after approval\n\n![Translation Progress states](https:\u002F\u002Fdirectus9.localazy.com\u002Fassets\u002F63a84c6d-956c-4c8d-a87a-b48f0714b855)\n\n## Translation Interface\n\n### Getting Started: Two Ways to Translate\n\nYou can access the translation interface in two ways:\n\n**Translation Session**: Click the blue \"Translate\" button or \"Start translating\" from the context menu. This mode serves you one untranslated key after another. When you save a translation, you automatically move to the next one. Use the arrows in the top right to skip translations or go back to previously saved ones.\n\n![Localazy Translation Toolbar - Translation Session](https:\u002F\u002Fdirectus9.localazy.com\u002Fassets\u002Fa2cc29e0-ee5c-4c4c-a437-931c8199f12b)\n\n**Direct Edit**: Click on any specific translation row in the translations list. This mode lets you fix individual translations without cycling through the full session.\n\n### Translation Screen Layout\n\n![Localazy Translation Interface](https:\u002F\u002Fdirectus9.localazy.com\u002Fassets\u002Fb242901a-eee7-41f1-b979-ff911358823a)\n\nThe translation screen adapts to the type of content you're translating. The toolbar at the top shows essential information about the current string and action buttons.\n\n![Localazy Translation Toolbar](https:\u002F\u002Fdirectus9.localazy.com\u002Fassets\u002F27ff1fd1-2e30-4d7f-9716-6e5b82af18d8)\n\n### Content Types\n\n#### Plain Strings\nThe most common type. You see the source text on the left and enter your translation on the right.\n\n![Localazy translation screen - plain strings](https:\u002F\u002Fdirectus9.localazy.com\u002Fassets\u002F1c22c55f-acdc-47eb-8b70-d4acab04c270)\n\n#### Plurals\nLocalazy shows dynamic translation fields based on your language's plural rules following CLDR specification.\n\n![Localazy translation screen - plurals](https:\u002F\u002Fdirectus9.localazy.com\u002Fassets\u002Fac900426-e90e-41b7-8e99-47978d55cddf)\n\n**Tips for accurate plural translation:**\n- **Understand your language's plural forms.** The \"few\" form works differently in Arabic versus Czech. Use the provided samples as guidance.\n- **Use context.** Ask developers through comments how strings are used if unclear.\n- **Stay consistent.** Use the same wording across all plural forms (items, files, notes, etc.).\n\n#### Arrays\nSpecial interface for translating array content.\n\n![Localazy translation screen - arrays](https:\u002F\u002Fdirectus9.localazy.com\u002Fassets\u002F9bcb99dc-939a-4d26-99cf-1821d184e7bd)\n\n### Working with Placeholders and Tags\n\nPlaceholders get replaced with actual values in your final product. Don't move or change them.\n\nLocalazy identifies and highlights:\n- HTML\u002FXML tags\n- Common i18n library placeholders  \n- [ICU](\u002Fdictionary\u002Ficu) placeholders\n\n![Localazy Translation screen - placeholders](https:\u002F\u002Fdirectus9.localazy.com\u002Fassets\u002F95e27d6b-0f07-4a15-979a-863cfe7c4171)\n\n#### Tag Collapsing\nThis feature collapses verbose XML\u002FHTML tags into simple placeholders like `\u003CA>` for better readability. Tags automatically revert to their original form when you save.\n\n**Before:**\n![Localazy XML\u002FHTML Tag collapsing feature - before state](https:\u002F\u002Fdirectus9.localazy.com\u002Fassets\u002F487434e9-8b07-44b3-94f4-75f372ee4b5c)\n\n**After:**\n![Localazy XML\u002FHTML Tag collapsing feature - after](https:\u002F\u002Fdirectus9.localazy.com\u002Fassets\u002Fcc542388-2dbd-4a19-bb94-9a5dd5657a19)\n\n:::info\nTag values may change between sessions as they're assigned in the order your browser encounters them. Within a single session, the same values consistently represent the same tags.\n:::\n\n#### Formatting Marks\nToggle this feature to see invisible characters:\n- Spaces as •\n- New lines as ↵  \n- Tabs as →\n\n![Localazy - Formatting Marks Toggle](https:\u002F\u002Fdirectus9.localazy.com\u002Fassets\u002F7dfa9ccd-3bf6-4085-97bd-c46f62539f41)\n\n### Translation Helpers\n\n#### Glossary Terms\nHighlighted words show context information when you hover over them.\n\n![Localazy translation screen - glossary](https:\u002F\u002Fdirectus9.localazy.com\u002Fassets\u002Fdd706a4f-673c-434c-ab43-024d2021f48f) \n\n> Learn how to [manage glossary terms](\u002Fdocs\u002Fgeneral\u002Fhow-to-define-your-glossary).\n\n#### Context Tabs\n\n![Localazy Suggestions](https:\u002F\u002Fdirectus9.localazy.com\u002Fassets\u002Fc798cc8d-ccae-4c2e-8200-d2b84df4c718)\n\nMultiple tabs help with your translation work:\n\n- **Suggestions** - Translations from [ShareTM](\u002Fdocs\u002Fgeneral\u002Fwhat-is-localazy-sharetm), [InTM](\u002Fdocs\u002Fgeneral\u002Fwhat-is-localazy-intm), and machine translation. Free tier includes Amazon Translate. [Additional engines](\u002Fdocs\u002Fgeneral\u002Fadditional-mt-engines) available with [Autopilot plan](\u002Fdocs\u002Fgeneral\u002Flocalazy-autopilot-tier).\n- **Similar** - Matching translations from your current project for context and consistency\n- **Versions** - Different versions and interpretations of the string\n- **Languages** - How this string is translated in other languages  \n- **Screenshots** - Visual context for the translation\n- **Comments** - Communication space for clarification needs\n\n## Managing Translations in Bulk\n\n### Translations List\nClick any language name to see all its translations.\n\n![Localazy - List of Translations](https:\u002F\u002Fdirectus9.localazy.com\u002Fassets\u002F22d770e4-cdec-41e6-90d2-b72ca02e8f70)\n\n_Filters_ in the top part of your screen allow you to use more detailed filters such as:\n- **Missing current version** - There is no approved translation available (empty translations)\n- **Needs improvement** - There is an approved version but it should be improved and translated again\n- **Source changed** - There is an approved version but the source text has changed after this translation was approved\n- **New comments available**\n\n![Advanced filters](https:\u002F\u002Fdirectus9.localazy.com\u002Fassets\u002F56bce643-f5f8-405a-a1ab-7fe770e495aa)\n\nOr use the full-text search settings, and look up strings containing specific words or phrases including specific occurences.\n\n![Search settings](https:\u002F\u002Fdirectus9.localazy.com\u002Fassets\u002F24fa5584-826d-4bcf-a246-616be41504df)\n\n### Batch Operations\n\n![Localazy Translations List - Batch Operations](https:\u002F\u002Fdirectus9.localazy.com\u002Fassets\u002Ffbe3bf52-09c2-4c51-a48a-f5f9fa1f540d)\n\nSelect multiple strings to:\n- Approve translations waiting for review\n- Send approved translations back for review\n- Pre-translate with machine translation\n- Set \"needs improvement\" or \"source changed\" flags\n- Delete current translations\n\n## Review Process\n\nTranslations from contributing users go through review before publishing. Translations by Owners, Managers, Reviewers, or Trusted Translators skip this step and go live immediately.\n\n> Read more about [Reviewing Translations](\u002Fdocs\u002Fgeneral\u002Freviewing-translations)",{"id":16,"status":4,"sort":7,"created_on":1826,"slug":1732,"name":1727,"subtitle":1827,"meta_title":1828,"meta_description":1829,"hidden":229,"icon":3107,"featured_icon":3108},{"id":1734},{"id":1737},{"id":36,"status":4,"sort":72,"created_on":2042,"name":2125},[3111,3113,3124,3134],{"id":2300,"status":4,"title":2301,"content":2302,"slug":2303,"created_on":2304,"modified_on":2305,"owner":2093,"meta_title":8,"category":3112},{"id":57,"status":4,"created_on":2052,"sort":8,"slug":2085,"label":1380,"on_faq_index":230},{"id":3114,"status":4,"title":3115,"content":3116,"slug":3117,"created_on":3118,"modified_on":3119,"owner":2093,"meta_title":8,"category":3120},391,"Is there an easier way to translate texts cluttered with XML and HTML tags?","Some platforms and frameworks may complicate the translation process by exporting translation files with a lot of XML\u002FHTML tags.\n\nIf you can't configure your export process to exclude these tags, you can use Localazy's [tag collapsing feature](\u002Fdocs\u002Fgeneral\u002Ftranslating-strings#tag-collapsing). This nifty feature simplifies these, often excessive, tags into a simple one-letter tags, allowing your translators to clean up the text and make the content more accessible. \n\nCollapsed tags are automatically reverted to their original form when the translation is saved, ensuring content integrity.","is-there-an-easier-way-to-translate-texts-cluttered-with-xml-and-html-tags","2024-10-07T10:45:27.000Z","2024-10-07T10:45:33.000Z",{"id":362,"status":4,"created_on":3121,"sort":8,"slug":3122,"label":3123,"on_faq_index":8},"2022-09-22T22:41:41.000Z","translations","Translations",{"id":3125,"status":4,"title":3126,"content":3127,"slug":3128,"created_on":3129,"modified_on":3130,"owner":2093,"meta_title":8,"category":3131},435,"How do plurals differ across languages, and why does it matter for localization?","Plural forms vary significantly across languages, going far beyond the simple singular\u002Fplural distinction in English. \n\nLanguages like [Arabic](\u002Fblog\u002F6-challenges-of-localizing-your-app-to-arabic-and-how-to-solve-them) have six different plural forms based on quantity (zero, one, two, few, many, other), while some Asian languages like [Japanese](\u002Fblog\u002Fmaster-japanese-localization-and-adapt-your-brand-to-this-unique-market) or Chinese don't pluralize nouns at all. Other languages like Russian or Polish use different forms based on the last digit of the number.\n\nThese differences matter tremendously for localization because using incorrect plural forms makes your software feel unprofessional or even confusing to users. \n\nWhen a Polish user sees \"5 wiadomość\" instead of \"5 wiadomości,\" it's immediately apparent that the software wasn't properly localized. Proper plural handling is one of those subtle details that separates professionally localized software from amateur attempts.\n\nLocalazy follows the CLDR standard of pluralization rules, and provides you with an interface to correctly provide all plural forms needed for the target language.\n\n> Learn more about the [plural rules in the documentation](\u002Fdocs\u002Fgeneral\u002Ftranslating-plurals)","how-do-plurals-differ-across-languages-and-why-does-it-matter-for-localization","2025-03-17T09:05:56.000Z","2025-03-17T09:06:04.000Z",{"id":29,"status":4,"created_on":2052,"sort":8,"slug":3132,"label":3133,"on_faq_index":230},"internationalization","Internationalization",{"id":3135,"status":4,"title":3136,"content":3137,"slug":3138,"created_on":3139,"modified_on":3140,"owner":2093,"meta_title":8,"category":3141},436,"How does Localazy's validation system prevent plural-related errors in my application?","The system automatically checks that all required plural forms have been provided for each language and ensures that variables and placeholders are consistently used across all plural variants — preventing runtime crashes due to missing placeholders.\n\nFor example, if a translator completes the \"one\" form but forgets the \"other\" form for a language, Localazy will flag this as incomplete. \n\nThis proactive validation approach means your applications will display correct plural forms across all languages.\n\n> Learn more about [plural checks in Localazy](\u002Fdocs\u002Fgeneral\u002Fqa-checks#missing-plural-other-variant)","how-does-localazy-validation-system-prevent-plural-related-errors-in-my-application","2025-03-17T09:59:40.000Z","2026-05-20T08:54:49.000Z",{"id":57,"status":4,"created_on":2052,"sort":8,"slug":2085,"label":1380,"on_faq_index":230},[3143],{"id":43,"status":4,"owner":2050,"created_on":2105,"title":2106,"excerpt":2107,"content":2108,"slug":1469,"meta_title":53,"meta_description":53,"canonical":53},[3145],{"id":3099,"documentation_id":3099,"languages_code":249,"slug":3102,"title":3103,"content":3105,"meta_title":8,"meta_description":8,"excerpt":3104},[],{"id":3148,"status":4,"sort":3149,"created_on":2115,"modified_on":3150,"slug":3151,"title":3152,"excerpt":3153,"content":3154,"meta_title":8,"meta_description":8,"pinned":229,"main_image":8,"section":3155,"subsection":3158,"cta":8,"faq":3159,"dictionary":3172,"translations":3173,"documentation_id":3148,"blog_articles":3175},115,"11020","2026-05-07T21:04:11.000Z","reviewing-translations","Reviewing translations","Our review process is a proactive tool that helps verify translations and track all changes that happened in Localazy.","The review ensures that all translations not made by owners of the project or trusted translators are approved before reaching the intended audience.\n\nLearn how to review translated strings with the Localazy web interface.\n\nTo enter the review, select the *Languages* option in the left menu of your project, pick a language and click on *Review phrases* in the context menu. \n\nYou can also enter the review by clicking on the blue button, which links to review when there are new translations available for review.\n\nThis blue button has three states:\n1. Translate - opens translation session (read more on [translating strings](\u002Fdocs\u002Fgeneral\u002Ftranslating-strings))\n2. Review - opens review session \n3. Smiley face - everything is done, sends you to a list of all translations\n\n![Localazy - Language Context Buttons](https:\u002F\u002Fdirectus9.localazy.com\u002Fassets\u002F658f3f40-aa22-49ff-baa4-1cacd8cf7a85)\n\n## Review interface\nThe review screen contains everything you need to conduct translation reviews.\n\n### Basic navigation\n\n![Localazy - Review Screen](https:\u002F\u002Fdirectus9.localazy.com\u002Fassets\u002Fa0b483cd-02a9-4b3e-bc92-d416fbe9ad27)\n\nOn the left, there is the *Source translation* - the string in the source language.\n\nOn the right, you can find the *Target translation* field with the proposed translation. There may be multiple versions that you can switch between by clicking the avatars or arrows in the box. Choosing from various versions is useful when there are more possible interpretations or ways of translating the text into the target language.\n\nYou can also modify the text in the *Target translation* box, for example, when you spot a typo or a missing placeholder. \n\n*Translation note* is a custom note which can be added to the source key. It can be parsed from a comment in the source file or from the format directly (if the format supports it). Owners and managers can also edit it through the source language edit screen. \n\n> Read more on [editing source language](\u002Fdocs\u002Fgeneral\u002Fediting-source-language).\n\nTo aid the translation review, you can look at the *Suggestions*, *Similar*, *Versions*, *Languages*, *Screenshots*, and *Comments*  tabs below.\n\n- **Suggestions** - translation suggestions from [ShareTM](\u002Fdocs\u002Fgeneral\u002Fwhat-is-localazy-sharetm), [InTM](\u002Fdocs\u002Fgeneral\u002Fwhat-is-localazy-intm) and supported machine translation engines. The default [Localazy Free tier](\u002Fdocs\u002Fgeneral\u002Flocalazy-free-tier) only contains Amazon Translate as the available machine translation engine. [Additional machine translation suggestions](\u002Fdocs\u002Fgeneral\u002Fadditional-mt-engines) are available with the [Autopilot plan](\u002Fdocs\u002Fgeneral\u002Flocalazy-autopilot-tier) and up.\n- **Similar** -  similar matching translations from the currently translated project to help you with context and consistency.\n- **Versions** - different versions and interpretations of the translated string. The *Current translation* is the last approved translation. You'll override it if you approve one of the new versions in the review. \n- **Languages** - list of the translated languages and corresponding translated strings in respective languages. Especially helpful when you know more than one language pair and want to check how the string is translated into other languages.\n- **Comments** - allows you to write comments and questions for Owners and Managers, and everyone involved in the translation of the target language.\n\n![Localazy - Review Screen Suggestions](https:\u002F\u002Fdirectus9.localazy.com\u002Fassets\u002Fc395cd50-c5a8-45c5-9e59-8f08f8d98001)\n\n### Add comments\n\nIf something isn't clear or you simply want to keep some notes, you can use the *comments* tab to post comments. We recommend adding comments in the review. Especially if you decline the translation, explain why, and give feedback to everyone involved.\n\n![Localazy Review - Comments](https:\u002F\u002Fdirectus9.localazy.com\u002Fassets\u002Fea013179-1ad5-4b34-bdc2-67a29ba6cb1f)\n\n### System users\n\nInTM, ShareTM, Localazy Importer, and Localazy MT are system users, each with a specific function and way of automatically translating the string.\n\n- **InTM** - When a string has already been translated in your app, Localazy can automatically find the same untranslated strings and translate them for you. Learn more about [Localazy InTM](\u002Fdocs\u002Fgeneral\u002Fwhat-is-localazy-intm).\n- **ShareTM** - Shared translations from other projects. Learn more about what is [Localazy ShareTM](\u002Fdocs\u002Fgeneral\u002Fwhat-is-localazy-sharetm).\n- **Localazy Importer** - Whathever you import into Localazy, i.e., the translations imported when you started the project and not created in Localazy.\n- **Localazy MT** - Localazy MT is a translation version from the [MT pre-translate](\u002Fdocs\u002Fgeneral\u002Fadditional-mt-engines#mt-pre-translate) feature, available with the [Autopilot plan](\u002Fdocs\u002Fgeneral\u002Flocalazy-autopilot-tier).\n\n### Approve or reject translations\nTo proceed to the next translation, you'll then have to pick one of the following options. All choices are available by clicking the arrow in the *Approve* and *Reject* buttons.\n\nPlease note:\n- You need to select the version you want to approve (avatars)\n- Approving one version rejects the other versions\n- If you reject one of the versions, you will stay on the current screen until only the last one remains.\n\n#### To accept the translation, you can click on:\n![Localazy Review - Accept options](https:\u002F\u002Fdirectus9.localazy.com\u002Fassets\u002Ff572a03c-58aa-473d-832c-314a80b878a2)\n \n- **Approve**: This will set the selected version as the current translation of the source string and mark the translation as done until it's changed.\n- **Needs improvement**: This will mark the translation as ready but needing improvement. This option will send the version to the translation process again.  \n\n#### Or to decline the translation:\n![Localazy Review - Reject options](https:\u002F\u002Fdirectus9.localazy.com\u002Fassets\u002Fb4a88f07-de5f-4caf-b80c-4585a80765fe)\n\n- **Reject**: This translation will be rejected, and the source string is marked for translation again.\n- **Mark as Spam**: This translation will be rejected, and the translator who made this will be banned from your project.\n- **Skip phrase**: When you can't decide, this translation will still be waiting for review and can be approved or rejected by other Reviewers.\n \nRepeat the process until there are no more phrases to review.\n\n## Do I have to review everything?\nAs an owner of the project, you don't have to review translations by yourself. There are several ways to hasten the process.\n\n### Invite more users\nYou can invite additional users and appoint several user roles to help you make the process more efficient.\n\n- **Trusted Translator** - Translations made by Trusted Translators skip the review process. \n- **Reviewer** - Reviewers can help you with the Review process. On top of that, Reviewers can also edit the app glossary, add new terms and their own translations.\n\nManagers and Owners can both conduct reviews, as they are essentially above Reviewers in the permissions hierarchy.\n\n> Read more on [User roles in Localazy](\u002Fdocs\u002Fgeneral\u002Fdefining-user-roles)\n\n### Bulk approve\nOn the screen with a list of translations, you can approve all translated strings eligible for automatic approval. \n\nSelect the language and open the menu hidden in three dots on the right and select \"Approve all translations\", select how translations are approved from the dropdown list and then confirm.\n\nYou can also select multiple languages using the checkboxes to apply bulk actions to selected languages.\n\n![Localazy - Approve all ](https:\u002F\u002Fdirectus9.localazy.com\u002Fassets\u002F7b0f4d87-0c57-4d2d-a98e-37b170d614d1)\n\n### Human Translation Validation\nHuman Translation Validation is a pay-per-word service that you can order to have your translations reviewed by our reviewers.\n\nMembers of our Continuous Localization Team will review your translations and make sure there are no typos, misplaced placeholders, etc., on a best effort basis. \n\n> Learn more about the [Human Translation Validation service](\u002Fdocs\u002Fgeneral\u002Fcontinuous-localization-team#human-translation-validation)\n\n\n\n",{"id":16,"status":4,"sort":7,"created_on":1826,"slug":1732,"name":1727,"subtitle":1827,"meta_title":1828,"meta_description":1829,"hidden":229,"icon":3156,"featured_icon":3157},{"id":1734},{"id":1737},{"id":36,"status":4,"sort":72,"created_on":2042,"name":2125},[3160,3162,3170],{"id":2251,"status":4,"title":2252,"content":2253,"slug":2254,"created_on":2255,"modified_on":2256,"owner":2093,"meta_title":8,"category":3161},{"id":50,"status":4,"created_on":2052,"sort":22,"slug":2053,"label":1727,"on_faq_index":230},{"id":3163,"status":4,"title":3164,"content":3165,"slug":3166,"created_on":3167,"modified_on":3168,"owner":2093,"meta_title":8,"category":3169},287,"Bulk approve does not approve all translations waiting for review, why?","When you're ready to bulk approve translations, and you've got newer versions that need to replace the old ones, there's no need for the old two-step dance anymore. Here's the simple trick:\n\nJust look for and tick the checkbox labeled \"Overwrite current translations with newer versions\" before you hit the bulk approve button. This lets you update all those translations in one stroke and directly replacing the old versions with the new ones.\n\n![](https:\u002F\u002Fdirectus9.localazy.com\u002Fassets\u002F7c09e375-2fe3-4c66-95b4-7f9756b98dec)\n","why-bulk-approve-does-not-approve-all-translations-waiting-for-review","2023-08-16T13:48:24.000Z","2024-03-13T12:10:04.000Z",{"id":362,"status":4,"created_on":3121,"sort":8,"slug":3122,"label":3123,"on_faq_index":8},{"id":2096,"status":4,"title":2097,"content":2098,"slug":2099,"created_on":2100,"modified_on":2101,"owner":2093,"meta_title":8,"category":3171},{"id":50,"status":4,"created_on":2052,"sort":22,"slug":2053,"label":1727,"on_faq_index":230},[],[3174],{"id":3148,"documentation_id":3148,"languages_code":249,"slug":3151,"title":3152,"content":3154,"meta_title":8,"meta_description":8,"excerpt":3153},[],{"id":320,"status":4,"sort":3177,"created_on":2033,"modified_on":3178,"slug":3179,"title":3180,"excerpt":3181,"content":3182,"meta_title":3183,"meta_description":3184,"pinned":229,"main_image":8,"section":3185,"subsection":3188,"cta":8,"faq":3189,"dictionary":3200,"translations":3202,"documentation_id":320,"blog_articles":3204},"11040","2026-05-20T11:29:56.000Z","translating-plurals","Plural Types","Learn more about the default plural types per language and how to set up custom plurals.","Plural rules are a critical component of software localization. They define the grammatical form used for nouns based on the corresponding numerical value in the source text. This ensures that translated messages accurately reflect the correct pluralization for each target language.\n\n## Plural Rule Categories\n\n- **Zero**: Used when the numerical value is zero (e.g., Arabic).\n- **One**: Used when the numerical value is one (e.g., \"You have 1 new message\").\n- **Two**: Used specifically for the number two in some languages (e.g., Arabic, Hebrew, Welsh,..).\n- **Few**: Used for a small number greater than one (e.g., Polish, Czech, Ukrainian..).\n- **Many**: Used for a large numbers (eg. Polish, Arabic, Hebrew, Irish,..).\n- **Other**: The default category used for all other numerical values (e.g., \"You have 5 unread emails\").\n\nDifferent languages support different set of plural categories. By implementing plural rules, you can avoid awkward or grammatically incorrect translations when dealing with quantities. This enhances the user experience by presenting natural-sounding messages regardless of the target language.\n\nLocalazy default setup follows all **integer** plural types from the [CLDR plural rules](https:\u002F\u002Fwww.unicode.org\u002Fcldr\u002Fcharts\u002F44\u002Fsupplemental\u002Flanguage_plural_rules.html).  \n\n## Using custom plurals (e.g. for decimals)\nLocalazy omits **decimal-only** plural variants defined in the standard by design because many i18n libraries don't pass decimal numbers to the plural selector at all, and instead fallback to integer values.\n\n> `gettext`, for example, runs a pure integer formula, so any decimal you pass in gets floored before the category is resolved. Older versions of `i18next` had the same issue up until v21.\n\nHowever, if your library expects decimal-specific plural types, you can set it up in the Developer Console. \n\n### Languages with omitted decimal plural types\nBelow is a table of languages that might need your attention, depending on the i18n library you are using.\n\n| Language | Code | Omitted category | Example |\n|---|---|---|---|\n| Belarusian | be | other | *з 0,1 кнігі* (0.1 books)|\n| Czech | cs | many | *1,5 dne* (1.5 days) |\n| Lithuanian | lt | many | *0,1 obuolio* (0.1 apples)|\n| Manx | gv | many | *1.5 dy hunnagyn* (1.5 units)|\n| Polish | pl | other | *1,5 miesiąca* (1.5 months)|\n| Russian | ru | other | из 1,5 книги за 1,5 дня (1.5 books for 1.5 days) |\n| Slovak | sk | many | *1,5 dňa* (1.5 days) |\n| Ukrainian | uk | other | *1,5 дня* (1.5 days) |\n\n### Custom plural definition\nYou can adjust the plural for any language in the Developer Console.\n\n1. Go to [Developer Console -> Custom Plurals](\u002Fconsole\u002Fplurals)\n2. Select the project for which you wish to change plurals\n3. Click on the **+Add** button to select the locale and use checkboxes to change the plural forms.\n4. Click **Save** and **Save Changes**\n\n:::info\nPlease note that to be able to define custom plurals, you need to upgrade to the [Professional tier](\u002Fdocs\u002Fgeneral\u002Flocalazy-professional-tier) or higher.\n:::\n\n![](https:\u002F\u002Fdirectus9.localazy.com\u002Fassets\u002F251bb7d4-50ff-46d7-80df-a6108e843b8a)\n\n\n## Localazy default plural types \nAs mentioned above, Localazy default plural setup follows all **integer** plural types from the [CLDR plural rules](https:\u002F\u002Fwww.unicode.org\u002Fcldr\u002Fcharts\u002F44\u002Fsupplemental\u002Flanguage_plural_rules.html).  \n\n#### af: Afrikaans\n\n| Type | Sample |\n| --- | --- |\n| one | 1 |\n| other | 0, 2 to 16, 100, 1000, 10000, 100000, 1000000, … |\n\n#### ak: Akan\n\n| Type | Sample |\n| --- | --- |\n| one | 0, 1 |\n| other | 2 to 17, 100, 1000, 10000, 100000, 1000000, … |\n\n#### am: Amharic\n\n| Type | Sample |\n| --- | --- |\n| one | 0, 1 |\n| other | 2 to 17, 100, 1000, 10000, 100000, 1000000, … |\n\n#### ar: Arabic\n\n| Type | Sample |\n| --- | --- |\n| zero | 0 |\n| one | 1 |\n| two | 2 |\n| few | 3 to 10, 103 to 110, 1003, … |\n| many | 11 to 26, 111, 1011, … |\n| other | 100 to 102, 200 to 202, 300 to 302, 400 to 402, 500 to 502, 600, 1000, 10000, 100000, 1000000, … |\n\n#### ars: Najdi Arabic\n\n| Type | Sample |\n| --- | --- |\n| zero | 0 |\n| one | 1 |\n| two | 2 |\n| few | 3 to 10, 103 to 110, 1003, … |\n| many | 11 to 26, 111, 1011, … |\n| other | 100 to 102, 200 to 202, 300 to 302, 400 to 402, 500 to 502, 600, 1000, 10000, 100000, 1000000, … |\n\n#### as: Assamese\n\n| Type | Sample |\n| --- | --- |\n| one | 0, 1 |\n| other | 2 to 17, 100, 1000, 10000, 100000, 1000000, … |\n\n#### asa: Asu\n\n| Type | Sample |\n| --- | --- |\n| one | 1 |\n| other | 0, 2 to 16, 100, 1000, 10000, 100000, 1000000, … |\n\n#### ast: Asturian\n\n| Type | Sample |\n| --- | --- |\n| one | 1 |\n| other | 0, 2 to 16, 100, 1000, 10000, 100000, 1000000, … |\n\n#### az: Azerbaijani\n\n| Type | Sample |\n| --- | --- |\n| one | 1 |\n| other | 0, 2 to 16, 100, 1000, 10000, 100000, 1000000, … |\n\n#### be: Belarusian\n\n| Type | Sample |\n| --- | --- |\n| one | 1, 21, 31, 41, 51, 61, 71, 81, 101, 1001, … |\n| few | 2 to 4, 22 to 24, 32 to 34, 42 to 44, 52 to 54, 62, 102, 1002, … |\n| many | 0, 5 to 19, 100, 1000, 10000, 100000, 1000000, … |\n\n#### bem: Bemba\n\n| Type | Sample |\n| --- | --- |\n| one | 1 |\n| other | 0, 2 to 16, 100, 1000, 10000, 100000, 1000000, … |\n\n#### bez: Bena\n\n| Type | Sample |\n| --- | --- |\n| one | 1 |\n| other | 0, 2 to 16, 100, 1000, 10000, 100000, 1000000, … |\n\n#### bg: Bulgarian\n\n| Type | Sample |\n| --- | --- |\n| one | 1 |\n| other | 0, 2 to 16, 100, 1000, 10000, 100000, 1000000, … |\n\n#### bh: Bhojpuri\n\n| Type | Sample |\n| --- | --- |\n| one | 0, 1 |\n| other | 2 to 17, 100, 1000, 10000, 100000, 1000000, … |\n\n#### bm: Bambara\n\n| Type | Sample |\n| --- | --- |\n| other | 0 to 15, 100, 1000, 10000, 100000, 1000000, … |\n\n#### bn: Bangla\n\n| Type | Sample |\n| --- | --- |\n| one | 0, 1 |\n| other | 2 to 17, 100, 1000, 10000, 100000, 1000000, … |\n\n#### bo: Tibetan\n\n| Type | Sample |\n| --- | --- |\n| other | 0 to 15, 100, 1000, 10000, 100000, 1000000, … |\n\n#### br: Breton\n\n| Type | Sample |\n| --- | --- |\n| one | 1, 21, 31, 41, 51, 61, 81, 101, 1001, … |\n| two | 2, 22, 32, 42, 52, 62, 82, 102, 1002, … |\n| few | 3, 4, 9, 23, 24, 29, 33, 34, 39, 43, 44, 49, 103, 1003, … |\n| many | 1000000, … |\n| other | 0, 5 to 8, 10 to 20, 100, 1000, 10000, 100000, … |\n\n#### brx: Bodo\n\n| Type | Sample |\n| --- | --- |\n| one | 1 |\n| other | 0, 2 to 16, 100, 1000, 10000, 100000, 1000000, … |\n\n#### bs: Bosnian\n\n| Type | Sample |\n| --- | --- |\n| one | 1, 21, 31, 41, 51, 61, 71, 81, 101, 1001, … |\n| few | 2 to 4, 22 to 24, 32 to 34, 42 to 44, 52 to 54, 62, 102, 1002, … |\n| other | 0, 5 to 19, 100, 1000, 10000, 100000, 1000000, … |\n\n#### ca: Catalan\n\n| Type | Sample |\n| --- | --- |\n| one | 1 |\n| other | 0, 2 to 16, 100, 1000, 10000, 100000, 1000000, … |\n\n#### ce: Chechen\n\n| Type | Sample |\n| --- | --- |\n| one | 1 |\n| other | 0, 2 to 16, 100, 1000, 10000, 100000, 1000000, … |\n\n#### ceb: Cebuano\n\n| Type | Sample |\n| --- | --- |\n| one | 0 to 3, 5, 7, 8, 10 to 13, 15, 17, 18, 20, 21, 100, 1000, 10000, 100000, 1000000, … |\n| other | 4, 6, 9, 14, 16, 19, 24, 26, 104, 1004, … |\n\n#### cgg: Chiga\n\n| Type | Sample |\n| --- | --- |\n| one | 1 |\n| other | 0, 2 to 16, 100, 1000, 10000, 100000, 1000000, … |\n\n#### chr: Cherokee\n\n| Type | Sample |\n| --- | --- |\n| one | 1 |\n| other | 0, 2 to 16, 100, 1000, 10000, 100000, 1000000, … |\n\n#### ckb: Central Kurdish\n\n| Type | Sample |\n| --- | --- |\n| one | 1 |\n| other | 0, 2 to 16, 100, 1000, 10000, 100000, 1000000, … |\n\n#### cs: Czech\n\n| Type | Sample |\n| --- | --- |\n| one | 1 |\n| few | 2 to 4 |\n| other | 0, 5 to 19, 100, 1000, 10000, 100000, 1000000, … |\n\n#### cy: Welsh\n\n| Type | Sample |\n| --- | --- |\n| zero | 0 |\n| one | 1 |\n| two | 2 |\n| few | 3 |\n| many | 6 |\n| other | 4, 5, 7 to 20, 100, 1000, 10000, 100000, 1000000, … |\n\n#### da: Danish\n\n| Type | Sample |\n| --- | --- |\n| one | 1 |\n| other | 0, 2 to 16, 100, 1000, 10000, 100000, 1000000, … |\n\n#### de: German\n\n| Type | Sample |\n| --- | --- |\n| one | 1 |\n| other | 0, 2 to 16, 100, 1000, 10000, 100000, 1000000, … |\n\n#### dsb: Lower Sorbian\n\n| Type | Sample |\n| --- | --- |\n| one | 1, 101, 201, 301, 401, 501, 601, 701, 1001, … |\n| two | 2, 102, 202, 302, 402, 502, 602, 702, 1002, … |\n| few | 3, 4, 103, 104, 203, 204, 303, 304, 403, 404, 503, 504, 603, 604, 703, 704, 1003, … |\n| other | 0, 5 to 19, 100, 1000, 10000, 100000, 1000000, … |\n\n#### dv: Divehi\n\n| Type | Sample |\n| --- | --- |\n| one | 1 |\n| other | 0, 2 to 16, 100, 1000, 10000, 100000, 1000000, … |\n\n#### dz: Dzongkha\n\n| Type | Sample |\n| --- | --- |\n| other | 0 to 15, 100, 1000, 10000, 100000, 1000000, … |\n\n#### ee: Ewe\n\n| Type | Sample |\n| --- | --- |\n| one | 1 |\n| other | 0, 2 to 16, 100, 1000, 10000, 100000, 1000000, … |\n\n#### el: Greek\n\n| Type | Sample |\n| --- | --- |\n| one | 1 |\n| other | 0, 2 to 16, 100, 1000, 10000, 100000, 1000000, … |\n\n#### en: English\n\n| Type | Sample |\n| --- | --- |\n| one | 1 |\n| other | 0, 2 to 16, 100, 1000, 10000, 100000, 1000000, … |\n\n#### eo: Esperanto\n\n| Type | Sample |\n| --- | --- |\n| one | 1 |\n| other | 0, 2 to 16, 100, 1000, 10000, 100000, 1000000, … |\n\n#### es: Spanish\n\n| Type | Sample |\n| --- | --- |\n| one | 1 |\n| other | 0, 2 to 16, 100, 1000, 10000, 100000, 1000000, … |\n\n#### et: Estonian\n\n| Type | Sample |\n| --- | --- |\n| one | 1 |\n| other | 0, 2 to 16, 100, 1000, 10000, 100000, 1000000, … |\n\n#### eu: Basque\n\n| Type | Sample |\n| --- | --- |\n| one | 1 |\n| other | 0, 2 to 16, 100, 1000, 10000, 100000, 1000000, … |\n\n#### fa: Persian\n\n| Type | Sample |\n| --- | --- |\n| one | 0, 1 |\n| other | 2 to 17, 100, 1000, 10000, 100000, 1000000, … |\n\n#### ff: Fulah\n\n| Type | Sample |\n| --- | --- |\n| one | 0, 1 |\n| other | 2 to 17, 100, 1000, 10000, 100000, 1000000, … |\n\n#### fi: Finnish\n\n| Type | Sample |\n| --- | --- |\n| one | 1 |\n| other | 0, 2 to 16, 100, 1000, 10000, 100000, 1000000, … |\n\n#### fil: Filipino\n\n| Type | Sample |\n| --- | --- |\n| one | 0 to 3, 5, 7, 8, 10 to 13, 15, 17, 18, 20, 21, 100, 1000, 10000, 100000, 1000000, … |\n| other | 4, 6, 9, 14, 16, 19, 24, 26, 104, 1004, … |\n\n#### fo: Faroese\n\n| Type | Sample |\n| --- | --- |\n| one | 1 |\n| other | 0, 2 to 16, 100, 1000, 10000, 100000, 1000000, … |\n\n#### fr: French\n\n| Type | Sample |\n| --- | --- |\n| one | 0, 1 |\n| other | 2 to 17, 100, 1000, 10000, 100000, 1000000, … |\n\n#### fur: Friulian\n\n| Type | Sample |\n| --- | --- |\n| one | 1 |\n| other | 0, 2 to 16, 100, 1000, 10000, 100000, 1000000, … |\n\n#### fy: Western Frisian\n\n| Type | Sample |\n| --- | --- |\n| one | 1 |\n| other | 0, 2 to 16, 100, 1000, 10000, 100000, 1000000, … |\n\n#### ga: Irish\n\n| Type | Sample |\n| --- | --- |\n| one | 1 |\n| two | 2 |\n| few | 3 to 6 |\n| many | 7 to 10 |\n| other | 0, 11 to 25, 100, 1000, 10000, 100000, 1000000, … |\n\n#### gd: Scottish Gaelic\n\n| Type | Sample |\n| --- | --- |\n| one | 1, 11 |\n| two | 2, 12 |\n| few | 3 to 10, 13 to 19 |\n| other | 0, 20 to 34, 100, 1000, 10000, 100000, 1000000, … |\n\n#### gl: Galician\n\n| Type | Sample |\n| --- | --- |\n| one | 1 |\n| other | 0, 2 to 16, 100, 1000, 10000, 100000, 1000000, … |\n\n#### gsw: Swiss German\n\n| Type | Sample |\n| --- | --- |\n| one | 1 |\n| other | 0, 2 to 16, 100, 1000, 10000, 100000, 1000000, … |\n\n#### gu: Gujarati\n\n| Type | Sample |\n| --- | --- |\n| one | 0, 1 |\n| other | 2 to 17, 100, 1000, 10000, 100000, 1000000, … |\n\n#### gv: Manx\n\n| Type | Sample |\n| --- | --- |\n| one | 1, 11, 21, 31, 41, 51, 61, 71, 101, 1001, … |\n| two | 2, 12, 22, 32, 42, 52, 62, 72, 102, 1002, … |\n| few | 0, 20, 40, 60, 80, 100, 120, 140, 1000, 10000, 100000, 1000000, … |\n| other | 3 to 10, 13 to 19, 23, 103, 1003, … |\n\n#### ha: Hausa\n\n| Type | Sample |\n| --- | --- |\n| one | 1 |\n| other | 0, 2 to 16, 100, 1000, 10000, 100000, 1000000, … |\n\n#### haw: Hawaiian\n\n| Type | Sample |\n| --- | --- |\n| one | 1 |\n| other | 0, 2 to 16, 100, 1000, 10000, 100000, 1000000, … |\n\n#### he: Hebrew\n\n| Type | Sample |\n| --- | --- |\n| one | 1 |\n| two | 2 |\n| many | 20, 30, 40, 50, 60, 70, 80, 90, 100, 1000, 10000, 100000, 1000000, … |\n| other | 0, 3 to 17, 101, 1001, … |\n\n#### hi: Hindi\n\n| Type | Sample |\n| --- | --- |\n| one | 0, 1 |\n| other | 2 to 17, 100, 1000, 10000, 100000, 1000000, … |\n\n#### hr: Croatian\n\n| Type | Sample |\n| --- | --- |\n| one | 1, 21, 31, 41, 51, 61, 71, 81, 101, 1001, … |\n| few | 2 to 4, 22 to 24, 32 to 34, 42 to 44, 52 to 54, 62, 102, 1002, … |\n| other | 0, 5 to 19, 100, 1000, 10000, 100000, 1000000, … |\n\n#### hsb: Upper Sorbian\n\n| Type | Sample |\n| --- | --- |\n| one | 1, 101, 201, 301, 401, 501, 601, 701, 1001, … |\n| two | 2, 102, 202, 302, 402, 502, 602, 702, 1002, … |\n| few | 3, 4, 103, 104, 203, 204, 303, 304, 403, 404, 503, 504, 603, 604, 703, 704, 1003, … |\n| other | 0, 5 to 19, 100, 1000, 10000, 100000, 1000000, … |\n\n#### hu: Hungarian\n\n| Type | Sample |\n| --- | --- |\n| one | 1 |\n| other | 0, 2 to 16, 100, 1000, 10000, 100000, 1000000, … |\n\n#### hy: Armenian\n\n| Type | Sample |\n| --- | --- |\n| one | 0, 1 |\n| other | 2 to 17, 100, 1000, 10000, 100000, 1000000, … |\n\n#### ia: Interlingua\n\n| Type | Sample |\n| --- | --- |\n| one | 1 |\n| other | 0, 2 to 16, 100, 1000, 10000, 100000, 1000000, … |\n\n#### id: Indonesian\n\n| Type | Sample |\n| --- | --- |\n| other | 0 to 15, 100, 1000, 10000, 100000, 1000000, … |\n\n#### ig: Igbo\n\n| Type | Sample |\n| --- | --- |\n| other | 0 to 15, 100, 1000, 10000, 100000, 1000000, … |\n\n#### ii: Sichuan Yi\n\n| Type | Sample |\n| --- | --- |\n| other | 0 to 15, 100, 1000, 10000, 100000, 1000000, … |\n\n#### in: Indonesian\n\n| Type | Sample |\n| --- | --- |\n| other | 0 to 15, 100, 1000, 10000, 100000, 1000000, … |\n\n#### is: Icelandic\n\n| Type | Sample |\n| --- | --- |\n| one | 1, 21, 31, 41, 51, 61, 71, 81, 101, 1001, … |\n| other | 0, 2 to 16, 100, 1000, 10000, 100000, 1000000, … |\n\n#### it: Italian\n\n| Type | Sample |\n| --- | --- |\n| one | 1 |\n| other | 0, 2 to 16, 100, 1000, 10000, 100000, 1000000, … |\n\n#### iu: Inuktitut\n\n| Type | Sample |\n| --- | --- |\n| one | 1 |\n| two | 2 |\n| other | 0, 3 to 17, 100, 1000, 10000, 100000, 1000000, … |\n\n#### iw: Hebrew\n\n| Type | Sample |\n| --- | --- |\n| one | 1 |\n| two | 2 |\n| many | 20, 30, 40, 50, 60, 70, 80, 90, 100, 1000, 10000, 100000, 1000000, … |\n| other | 0, 3 to 17, 101, 1001, … |\n\n#### ja: Japanese\n\n| Type | Sample |\n| --- | --- |\n| other | 0 to 15, 100, 1000, 10000, 100000, 1000000, … |\n\n#### jgo: Ngomba\n\n| Type | Sample |\n| --- | --- |\n| one | 1 |\n| other | 0, 2 to 16, 100, 1000, 10000, 100000, 1000000, … |\n\n#### ji: Yiddish\n\n| Type | Sample |\n| --- | --- |\n| one | 1 |\n| other | 0, 2 to 16, 100, 1000, 10000, 100000, 1000000, … |\n\n#### jmc: Machame\n\n| Type | Sample |\n| --- | --- |\n| one | 1 |\n| other | 0, 2 to 16, 100, 1000, 10000, 100000, 1000000, … |\n\n#### jv: Javanese\n\n| Type | Sample |\n| --- | --- |\n| other | 0 to 15, 100, 1000, 10000, 100000, 1000000, … |\n\n#### jw: Javanese\n\n| Type | Sample |\n| --- | --- |\n| other | 0 to 15, 100, 1000, 10000, 100000, 1000000, … |\n\n#### ka: Georgian\n\n| Type | Sample |\n| --- | --- |\n| one | 1 |\n| other | 0, 2 to 16, 100, 1000, 10000, 100000, 1000000, … |\n\n#### kab: Kabyle\n\n| Type | Sample |\n| --- | --- |\n| one | 0, 1 |\n| other | 2 to 17, 100, 1000, 10000, 100000, 1000000, … |\n\n#### kaj: Jju\n\n| Type | Sample |\n| --- | --- |\n| one | 1 |\n| other | 0, 2 to 16, 100, 1000, 10000, 100000, 1000000, … |\n\n#### kcg: Tyap\n\n| Type | Sample |\n| --- | --- |\n| one | 1 |\n| other | 0, 2 to 16, 100, 1000, 10000, 100000, 1000000, … |\n\n#### kde: Makonde\n\n| Type | Sample |\n| --- | --- |\n| other | 0 to 15, 100, 1000, 10000, 100000, 1000000, … |\n\n#### kea: Kabuverdianu\n\n| Type | Sample |\n| --- | --- |\n| other | 0 to 15, 100, 1000, 10000, 100000, 1000000, … |\n\n#### kk: Kazakh\n\n| Type | Sample |\n| --- | --- |\n| one | 1 |\n| other | 0, 2 to 16, 100, 1000, 10000, 100000, 1000000, … |\n\n#### kkj: Kako\n\n| Type | Sample |\n| --- | --- |\n| one | 1 |\n| other | 0, 2 to 16, 100, 1000, 10000, 100000, 1000000, … |\n\n#### kl: Kalaallisut\n\n| Type | Sample |\n| --- | --- |\n| one | 1 |\n| other | 0, 2 to 16, 100, 1000, 10000, 100000, 1000000, … |\n\n#### km: Khmer\n\n| Type | Sample |\n| --- | --- |\n| other | 0 to 15, 100, 1000, 10000, 100000, 1000000, … |\n\n#### kn: Kannada\n\n| Type | Sample |\n| --- | --- |\n| one | 0, 1 |\n| other | 2 to 17, 100, 1000, 10000, 100000, 1000000, … |\n\n#### ko: Korean\n\n| Type | Sample |\n| --- | --- |\n| other | 0 to 15, 100, 1000, 10000, 100000, 1000000, … |\n\n#### ks: Kashmiri\n\n| Type | Sample |\n| --- | --- |\n| one | 1 |\n| other | 0, 2 to 16, 100, 1000, 10000, 100000, 1000000, … |\n\n#### ksb: Shambala\n\n| Type | Sample |\n| --- | --- |\n| one | 1 |\n| other | 0, 2 to 16, 100, 1000, 10000, 100000, 1000000, … |\n\n#### ksh: Colognian\n\n| Type | Sample |\n| --- | --- |\n| zero | 0 |\n| one | 1 |\n| other | 2 to 17, 100, 1000, 10000, 100000, 1000000, … |\n\n#### ku: Kurdish\n\n| Type | Sample |\n| --- | --- |\n| one | 1 |\n| other | 0, 2 to 16, 100, 1000, 10000, 100000, 1000000, … |\n\n#### kw: Cornish\n\n| Type | Sample |\n| --- | --- |\n| zero | 0 |\n| one | 1 |\n| two | 2, 22, 42, 62, 82, 102, 122, 142, 1002, … |\n| few | 3, 23, 43, 63, 83, 103, 123, 143, 1003, … |\n| many | 21, 41, 61, 81, 101, 121, 141, 161, 1001, … |\n| other | 4 to 19, 100, 1000000, … |\n\n#### ky: Kyrgyz\n\n| Type | Sample |\n| --- | --- |\n| one | 1 |\n| other | 0, 2 to 16, 100, 1000, 10000, 100000, 1000000, … |\n\n#### lag: Langi\n\n| Type | Sample |\n| --- | --- |\n| zero | 0 |\n| one | 1 |\n| other | 2 to 17, 100, 1000, 10000, 100000, 1000000, … |\n\n#### lb: Luxembourgish\n\n| Type | Sample |\n| --- | --- |\n| one | 1 |\n| other | 0, 2 to 16, 100, 1000, 10000, 100000, 1000000, … |\n\n#### lg: Ganda\n\n| Type | Sample |\n| --- | --- |\n| one | 1 |\n| other | 0, 2 to 16, 100, 1000, 10000, 100000, 1000000, … |\n\n#### lkt: Lakota\n\n| Type | Sample |\n| --- | --- |\n| other | 0 to 15, 100, 1000, 10000, 100000, 1000000, … |\n\n#### ln: Lingala\n\n| Type | Sample |\n| --- | --- |\n| one | 0, 1 |\n| other | 2 to 17, 100, 1000, 10000, 100000, 1000000, … |\n\n#### lo: Lao\n\n| Type | Sample |\n| --- | --- |\n| other | 0 to 15, 100, 1000, 10000, 100000, 1000000, … |\n\n#### lt: Lithuanian\n\n| Type | Sample |\n| --- | --- |\n| one | 1, 21, 31, 41, 51, 61, 71, 81, 101, 1001, … |\n| few | 2 to 9, 22 to 29, 102, 1002, … |\n| other | 0, 10 to 20, 30, 40, 50, 60, 100, 1000, 10000, 100000, 1000000, … |\n\n#### lv: Latvian\n\n| Type | Sample |\n| --- | --- |\n| zero | 0, 10 to 20, 30, 40, 50, 60, 100, 1000, 10000, 100000, 1000000, … |\n| one | 1, 21, 31, 41, 51, 61, 71, 81, 101, 1001, … |\n| other | 2 to 9, 22 to 29, 102, 1002, … |\n\n#### mas: Masai\n\n| Type | Sample |\n| --- | --- |\n| one | 1 |\n| other | 0, 2 to 16, 100, 1000, 10000, 100000, 1000000, … |\n\n#### mg: Malagasy\n\n| Type | Sample |\n| --- | --- |\n| one | 0, 1 |\n| other | 2 to 17, 100, 1000, 10000, 100000, 1000000, … |\n\n#### mgo: Metaʼ\n\n| Type | Sample |\n| --- | --- |\n| one | 1 |\n| other | 0, 2 to 16, 100, 1000, 10000, 100000, 1000000, … |\n\n#### mk: Macedonian\n\n| Type | Sample |\n| --- | --- |\n| one | 1, 21, 31, 41, 51, 61, 71, 81, 101, 1001, … |\n| other | 0, 2 to 16, 100, 1000, 10000, 100000, 1000000, … |\n\n#### ml: Malayalam\n\n| Type | Sample |\n| --- | --- |\n| one | 1 |\n| other | 0, 2 to 16, 100, 1000, 10000, 100000, 1000000, … |\n\n#### mn: Mongolian\n\n| Type | Sample |\n| --- | --- |\n| one | 1 |\n| other | 0, 2 to 16, 100, 1000, 10000, 100000, 1000000, … |\n\n#### mo: Romanian\n\n| Type | Sample |\n| --- | --- |\n| one | 1 |\n| few | 0, 2 to 16, 102, 1002, … |\n| other | 20 to 35, 100, 1000, 10000, 100000, 1000000, … |\n\n#### mr: Marathi\n\n| Type | Sample |\n| --- | --- |\n| one | 1 |\n| other | 0, 2 to 16, 100, 1000, 10000, 100000, 1000000, … |\n\n#### ms: Malay\n\n| Type | Sample |\n| --- | --- |\n| other | 0 to 15, 100, 1000, 10000, 100000, 1000000, … |\n\n#### mt: Maltese\n\n| Type | Sample |\n| --- | --- |\n| one | 1 |\n| few | 0, 2 to 10, 102 to 107, 1002, … |\n| many | 11 to 19, 111 to 117, 1011, … |\n| other | 20 to 35, 100, 1000, 10000, 100000, 1000000, … |\n\n#### my: Burmese\n\n| Type | Sample |\n| --- | --- |\n| other | 0 to 15, 100, 1000, 10000, 100000, 1000000, … |\n\n#### naq: Nama\n\n| Type | Sample |\n| --- | --- |\n| one | 1 |\n| two | 2 |\n| other | 0, 3 to 17, 100, 1000, 10000, 100000, 1000000, … |\n\n#### nb: Norwegian Bokmål\n\n| Type | Sample |\n| --- | --- |\n| one | 1 |\n| other | 0, 2 to 16, 100, 1000, 10000, 100000, 1000000, … |\n\n#### nd: North Ndebele\n\n| Type | Sample |\n| --- | --- |\n| one | 1 |\n| other | 0, 2 to 16, 100, 1000, 10000, 100000, 1000000, … |\n\n#### ne: Nepali\n\n| Type | Sample |\n| --- | --- |\n| one | 1 |\n| other | 0, 2 to 16, 100, 1000, 10000, 100000, 1000000, … |\n\n#### nl: Dutch\n\n| Type | Sample |\n| --- | --- |\n| one | 1 |\n| other | 0, 2 to 16, 100, 1000, 10000, 100000, 1000000, … |\n\n#### nn: Norwegian Nynorsk\n\n| Type | Sample |\n| --- | --- |\n| one | 1 |\n| other | 0, 2 to 16, 100, 1000, 10000, 100000, 1000000, … |\n\n#### nnh: Ngiemboon\n\n| Type | Sample |\n| --- | --- |\n| one | 1 |\n| other | 0, 2 to 16, 100, 1000, 10000, 100000, 1000000, … |\n\n#### no: Norwegian Bokmål\n\n| Type | Sample |\n| --- | --- |\n| one | 1 |\n| other | 0, 2 to 16, 100, 1000, 10000, 100000, 1000000, … |\n\n#### nqo: N’Ko\n\n| Type | Sample |\n| --- | --- |\n| other | 0 to 15, 100, 1000, 10000, 100000, 1000000, … |\n\n#### nr: South Ndebele\n\n| Type | Sample |\n| --- | --- |\n| one | 1 |\n| other | 0, 2 to 16, 100, 1000, 10000, 100000, 1000000, … |\n\n#### nso: Northern Sotho\n\n| Type | Sample |\n| --- | --- |\n| one | 0, 1 |\n| other | 2 to 17, 100, 1000, 10000, 100000, 1000000, … |\n\n#### ny: Nyanja\n\n| Type | Sample |\n| --- | --- |\n| one | 1 |\n| other | 0, 2 to 16, 100, 1000, 10000, 100000, 1000000, … |\n\n#### nyn: Nyankole\n\n| Type | Sample |\n| --- | --- |\n| one | 1 |\n| other | 0, 2 to 16, 100, 1000, 10000, 100000, 1000000, … |\n\n#### om: Oromo\n\n| Type | Sample |\n| --- | --- |\n| one | 1 |\n| other | 0, 2 to 16, 100, 1000, 10000, 100000, 1000000, … |\n\n#### or: Odia\n\n| Type | Sample |\n| --- | --- |\n| one | 1 |\n| other | 0, 2 to 16, 100, 1000, 10000, 100000, 1000000, … |\n\n#### os: Ossetic\n\n| Type | Sample |\n| --- | --- |\n| one | 1 |\n| other | 0, 2 to 16, 100, 1000, 10000, 100000, 1000000, … |\n\n#### pa: Punjabi\n\n| Type | Sample |\n| --- | --- |\n| one | 0, 1 |\n| other | 2 to 17, 100, 1000, 10000, 100000, 1000000, … |\n\n#### pap: Papiamento\n\n| Type | Sample |\n| --- | --- |\n| one | 1 |\n| other | 0, 2 to 16, 100, 1000, 10000, 100000, 1000000, … |\n\n#### pl: Polish\n\n| Type | Sample |\n| --- | --- |\n| one | 1 |\n| few | 2 to 4, 22 to 24, 32 to 34, 42 to 44, 52 to 54, 62, 102, 1002, … |\n| many | 0, 5 to 19, 100, 1000, 10000, 100000, 1000000, … |\n\n#### prg: Prussian\n\n| Type | Sample |\n| --- | --- |\n| zero | 0, 10 to 20, 30, 40, 50, 60, 100, 1000, 10000, 100000, 1000000, … |\n| one | 1, 21, 31, 41, 51, 61, 71, 81, 101, 1001, … |\n| other | 2 to 9, 22 to 29, 102, 1002, … |\n\n#### ps: Pashto\n\n| Type | Sample |\n| --- | --- |\n| one | 1 |\n| other | 0, 2 to 16, 100, 1000, 10000, 100000, 1000000, … |\n\n#### pt: Portuguese\n\n| Type | Sample |\n| --- | --- |\n| one | 0, 1 |\n| other | 2 to 17, 100, 1000, 10000, 100000, 1000000, … |\n\n#### pt_PT: European Portuguese\n\n| Type | Sample |\n| --- | --- |\n| one | 1 |\n| other | 0, 2 to 16, 100, 1000, 10000, 100000, 1000000, … |\n\n#### rm: Romansh\n\n| Type | Sample |\n| --- | --- |\n| one | 1 |\n| other | 0, 2 to 16, 100, 1000, 10000, 100000, 1000000, … |\n\n#### ro: Romanian\n\n| Type | Sample |\n| --- | --- |\n| one | 1 |\n| few | 0, 2 to 16, 102, 1002, … |\n| other | 20 to 35, 100, 1000, 10000, 100000, 1000000, … |\n\n#### rof: Rombo\n\n| Type | Sample |\n| --- | --- |\n| one | 1 |\n| other | 0, 2 to 16, 100, 1000, 10000, 100000, 1000000, … |\n\n#### ru: Russian\n\n| Type | Sample |\n| --- | --- |\n| one | 1, 21, 31, 41, 51, 61, 71, 81, 101, 1001, … |\n| few | 2 to 4, 22 to 24, 32 to 34, 42 to 44, 52 to 54, 62, 102, 1002, … |\n| many | 0, 5 to 19, 100, 1000, 10000, 100000, 1000000, … |\n\n#### rwk: Rwa\n\n| Type | Sample |\n| --- | --- |\n| one | 1 |\n| other | 0, 2 to 16, 100, 1000, 10000, 100000, 1000000, … |\n\n#### sah: Sakha\n\n| Type | Sample |\n| --- | --- |\n| other | 0 to 15, 100, 1000, 10000, 100000, 1000000, … |\n\n#### saq: Samburu\n\n| Type | Sample |\n| --- | --- |\n| one | 1 |\n| other | 0, 2 to 16, 100, 1000, 10000, 100000, 1000000, … |\n\n#### sc: Sardinian\n\n| Type | Sample |\n| --- | --- |\n| one | 1 |\n| other | 0, 2 to 16, 100, 1000, 10000, 100000, 1000000, … |\n\n#### scn: Sicilian\n\n| Type | Sample |\n| --- | --- |\n| one | 1 |\n| other | 0, 2 to 16, 100, 1000, 10000, 100000, 1000000, … |\n\n#### sd: Sindhi\n\n| Type | Sample |\n| --- | --- |\n| one | 1 |\n| other | 0, 2 to 16, 100, 1000, 10000, 100000, 1000000, … |\n\n#### sdh: Southern Kurdish\n\n| Type | Sample |\n| --- | --- |\n| one | 1 |\n| other | 0, 2 to 16, 100, 1000, 10000, 100000, 1000000, … |\n\n#### se: Northern Sami\n\n| Type | Sample |\n| --- | --- |\n| one | 1 |\n| two | 2 |\n| other | 0, 3 to 17, 100, 1000, 10000, 100000, 1000000, … |\n\n#### seh: Sena\n\n| Type | Sample |\n| --- | --- |\n| one | 1 |\n| other | 0, 2 to 16, 100, 1000, 10000, 100000, 1000000, … |\n\n#### ses: Koyraboro Senni\n\n| Type | Sample |\n| --- | --- |\n| other | 0 to 15, 100, 1000, 10000, 100000, 1000000, … |\n\n#### sg: Sango\n\n| Type | Sample |\n| --- | --- |\n| other | 0 to 15, 100, 1000, 10000, 100000, 1000000, … |\n\n#### sh: Serbian\n\n| Type | Sample |\n| --- | --- |\n| one | 1, 21, 31, 41, 51, 61, 71, 81, 101, 1001, … |\n| few | 2 to 4, 22 to 24, 32 to 34, 42 to 44, 52 to 54, 62, 102, 1002, … |\n| other | 0, 5 to 19, 100, 1000, 10000, 100000, 1000000, … |\n\n#### shi: Tachelhit\n\n| Type | Sample |\n| --- | --- |\n| one | 0, 1 |\n| few | 2 to 10 |\n| other | 11 to 26, 100, 1000, 10000, 100000, 1000000, … |\n\n#### si: Sinhala\n\n| Type | Sample |\n| --- | --- |\n| one | 0, 1 |\n| other | 2 to 17, 100, 1000, 10000, 100000, 1000000, … |\n\n#### sk: Slovak\n\n| Type | Sample |\n| --- | --- |\n| one | 1 |\n| few | 2 to 4 |\n| other | 0, 5 to 19, 100, 1000, 10000, 100000, 1000000, … |\n\n#### sl: Slovenian\n\n| Type | Sample |\n| --- | --- |\n| one | 1, 101, 201, 301, 401, 501, 601, 701, 1001, … |\n| two | 2, 102, 202, 302, 402, 502, 602, 702, 1002, … |\n| few | 3, 4, 103, 104, 203, 204, 303, 304, 403, 404, 503, 504, 603, 604, 703, 704, 1003, … |\n| other | 0, 5 to 19, 100, 1000, 10000, 100000, 1000000, … |\n\n#### sma: Southern Sami\n\n| Type | Sample |\n| --- | --- |\n| one | 1 |\n| two | 2 |\n| other | 0, 3 to 17, 100, 1000, 10000, 100000, 1000000, … |\n\n#### smj: Lule Sami\n\n| Type | Sample |\n| --- | --- |\n| one | 1 |\n| two | 2 |\n| other | 0, 3 to 17, 100, 1000, 10000, 100000, 1000000, … |\n\n#### smn: Inari Sami\n\n| Type | Sample |\n| --- | --- |\n| one | 1 |\n| two | 2 |\n| other | 0, 3 to 17, 100, 1000, 10000, 100000, 1000000, … |\n\n#### sms: Skolt Sami\n\n| Type | Sample |\n| --- | --- |\n| one | 1 |\n| two | 2 |\n| other | 0, 3 to 17, 100, 1000, 10000, 100000, 1000000, … |\n\n#### sn: Shona\n\n| Type | Sample |\n| --- | --- |\n| one | 1 |\n| other | 0, 2 to 16, 100, 1000, 10000, 100000, 1000000, … |\n\n#### so: Somali\n\n| Type | Sample |\n| --- | --- |\n| one | 1 |\n| other | 0, 2 to 16, 100, 1000, 10000, 100000, 1000000, … |\n\n#### sq: Albanian\n\n| Type | Sample |\n| --- | --- |\n| one | 1 |\n| other | 0, 2 to 16, 100, 1000, 10000, 100000, 1000000, … |\n\n#### sr: Serbian\n\n| Type | Sample |\n| --- | --- |\n| one | 1, 21, 31, 41, 51, 61, 71, 81, 101, 1001, … |\n| few | 2 to 4, 22 to 24, 32 to 34, 42 to 44, 52 to 54, 62, 102, 1002, … |\n| other | 0, 5 to 19, 100, 1000, 10000, 100000, 1000000, … |\n\n#### ss: Swati\n\n| Type | Sample |\n| --- | --- |\n| one | 1 |\n| other | 0, 2 to 16, 100, 1000, 10000, 100000, 1000000, … |\n\n#### ssy: Saho\n\n| Type | Sample |\n| --- | --- |\n| one | 1 |\n| other | 0, 2 to 16, 100, 1000, 10000, 100000, 1000000, … |\n\n#### st: Southern Sotho\n\n| Type | Sample |\n| --- | --- |\n| one | 1 |\n| other | 0, 2 to 16, 100, 1000, 10000, 100000, 1000000, … |\n\n#### sv: Swedish\n\n| Type | Sample |\n| --- | --- |\n| one | 1 |\n| other | 0, 2 to 16, 100, 1000, 10000, 100000, 1000000, … |\n\n#### sw: Swahili\n\n| Type | Sample |\n| --- | --- |\n| one | 1 |\n| other | 0, 2 to 16, 100, 1000, 10000, 100000, 1000000, … |\n\n#### syr: Syriac\n\n| Type | Sample |\n| --- | --- |\n| one | 1 |\n| other | 0, 2 to 16, 100, 1000, 10000, 100000, 1000000, … |\n\n#### ta: Tamil\n\n| Type | Sample |\n| --- | --- |\n| one | 1 |\n| other | 0, 2 to 16, 100, 1000, 10000, 100000, 1000000, … |\n\n#### te: Telugu\n\n| Type | Sample |\n| --- | --- |\n| one | 1 |\n| other | 0, 2 to 16, 100, 1000, 10000, 100000, 1000000, … |\n\n#### teo: Teso\n\n| Type | Sample |\n| --- | --- |\n| one | 1 |\n| other | 0, 2 to 16, 100, 1000, 10000, 100000, 1000000, … |\n\n#### th: Thai\n\n| Type | Sample |\n| --- | --- |\n| other | 0 to 15, 100, 1000, 10000, 100000, 1000000, … |\n\n#### ti: Tigrinya\n\n| Type | Sample |\n| --- | --- |\n| one | 0, 1 |\n| other | 2 to 17, 100, 1000, 10000, 100000, 1000000, … |\n\n#### tig: Tigre\n\n| Type | Sample |\n| --- | --- |\n| one | 1 |\n| other | 0, 2 to 16, 100, 1000, 10000, 100000, 1000000, … |\n\n#### tk: Turkmen\n\n| Type | Sample |\n| --- | --- |\n| one | 1 |\n| other | 0, 2 to 16, 100, 1000, 10000, 100000, 1000000, … |\n\n#### tl: Filipino\n\n| Type | Sample |\n| --- | --- |\n| one | 0 to 3, 5, 7, 8, 10 to 13, 15, 17, 18, 20, 21, 100, 1000, 10000, 100000, 1000000, … |\n| other | 4, 6, 9, 14, 16, 19, 24, 26, 104, 1004, … |\n\n#### tn: Tswana\n\n| Type | Sample |\n| --- | --- |\n| one | 1 |\n| other | 0, 2 to 16, 100, 1000, 10000, 100000, 1000000, … |\n\n#### to: Tongan\n\n| Type | Sample |\n| --- | --- |\n| other | 0 to 15, 100, 1000, 10000, 100000, 1000000, … |\n\n#### tr: Turkish\n\n| Type | Sample |\n| --- | --- |\n| one | 1 |\n| other | 0, 2 to 16, 100, 1000, 10000, 100000, 1000000, … |\n\n#### ts: Tsonga\n\n| Type | Sample |\n| --- | --- |\n| one | 1 |\n| other | 0, 2 to 16, 100, 1000, 10000, 100000, 1000000, … |\n\n#### tzm: Central Atlas Tamazight\n\n| Type | Sample |\n| --- | --- |\n| one | 0, 1, 11 to 24 |\n| other | 2 to 10, 100 to 106, 1000, 10000, 100000, 1000000, … |\n\n#### ug: Uyghur\n\n| Type | Sample |\n| --- | --- |\n| one | 1 |\n| other | 0, 2 to 16, 100, 1000, 10000, 100000, 1000000, … |\n\n#### uk: Ukrainian\n\n| Type | Sample |\n| --- | --- |\n| one | 1, 21, 31, 41, 51, 61, 71, 81, 101, 1001, … |\n| few | 2 to 4, 22 to 24, 32 to 34, 42 to 44, 52 to 54, 62, 102, 1002, … |\n| many | 0, 5 to 19, 100, 1000, 10000, 100000, 1000000, … |\n\n#### ur: Urdu\n\n| Type | Sample |\n| --- | --- |\n| one | 1 |\n| other | 0, 2 to 16, 100, 1000, 10000, 100000, 1000000, … |\n\n#### uz: Uzbek\n\n| Type | Sample |\n| --- | --- |\n| one | 1 |\n| other | 0, 2 to 16, 100, 1000, 10000, 100000, 1000000, … |\n\n#### ve: Venda\n\n| Type | Sample |\n| --- | --- |\n| one | 1 |\n| other | 0, 2 to 16, 100, 1000, 10000, 100000, 1000000, … |\n\n#### vi: Vietnamese\n\n| Type | Sample |\n| --- | --- |\n| other | 0 to 15, 100, 1000, 10000, 100000, 1000000, … |\n\n#### vo: Volapük\n\n| Type | Sample |\n| --- | --- |\n| one | 1 |\n| other | 0, 2 to 16, 100, 1000, 10000, 100000, 1000000, … |\n\n#### vun: Vunjo\n\n| Type | Sample |\n| --- | --- |\n| one | 1 |\n| other | 0, 2 to 16, 100, 1000, 10000, 100000, 1000000, … |\n\n#### wa: Walloon\n\n| Type | Sample |\n| --- | --- |\n| one | 0, 1 |\n| other | 2 to 17, 100, 1000, 10000, 100000, 1000000, … |\n\n#### wae: Walser\n\n| Type | Sample |\n| --- | --- |\n| one | 1 |\n| other | 0, 2 to 16, 100, 1000, 10000, 100000, 1000000, … |\n\n#### wo: Wolof\n\n| Type | Sample |\n| --- | --- |\n| other | 0 to 15, 100, 1000, 10000, 100000, 1000000, … |\n\n#### xh: Xhosa\n\n| Type | Sample |\n| --- | --- |\n| one | 1 |\n| other | 0, 2 to 16, 100, 1000, 10000, 100000, 1000000, … |\n\n#### xog: Soga\n\n| Type | Sample |\n| --- | --- |\n| one | 1 |\n| other | 0, 2 to 16, 100, 1000, 10000, 100000, 1000000, … |\n\n#### yi: Yiddish\n\n| Type | Sample |\n| --- | --- |\n| one | 1 |\n| other | 0, 2 to 16, 100, 1000, 10000, 100000, 1000000, … |\n\n#### yo: Yoruba\n\n| Type | Sample |\n| --- | --- |\n| other | 0 to 15, 100, 1000, 10000, 100000, 1000000, … |\n\n#### yue: Cantonese\n\n| Type | Sample |\n| --- | --- |\n| other | 0 to 15, 100, 1000, 10000, 100000, 1000000, … |\n\n#### zh: Chinese\n\n| Type | Sample |\n| --- | --- |\n| other | 0 to 15, 100, 1000, 10000, 100000, 1000000, … |\n\n#### zu: Zulu\n\n| Type | Sample |\n| --- | --- |\n| one | 0, 1 |\n| other | 2 to 17, 100, 1000, 10000, 100000, 1000000, … |\n","How to translate plurals","Learn more about how to correctly translate plurals with Localazy. ",{"id":16,"status":4,"sort":7,"created_on":1826,"slug":1732,"name":1727,"subtitle":1827,"meta_title":1828,"meta_description":1829,"hidden":229,"icon":3186,"featured_icon":3187},{"id":1734},{"id":1737},{"id":158,"status":4,"sort":158,"created_on":2042,"name":11},[3190,3192],{"id":3135,"status":4,"title":3136,"content":3137,"slug":3138,"created_on":3139,"modified_on":3140,"owner":2093,"meta_title":8,"category":3191},{"id":57,"status":4,"created_on":2052,"sort":8,"slug":2085,"label":1380,"on_faq_index":230},{"id":3193,"status":4,"title":3194,"content":3195,"slug":3196,"created_on":3197,"modified_on":3198,"owner":2093,"meta_title":8,"category":3199},438,"Why can't I just use simple if\u002Felse logic for handling singular and plural forms in my app?","While it might seem straightforward to code singular and plural forms with a simple if\u002Felse statement in English, this approach quickly falls apart when dealing with other languages. Different languages have drastically different rules for plurals - English only differentiates between one and many, but languages like Czech and Polish require different forms for 1, 2-4, and 5+ items, while Arabic has six different plural forms depending on the count.\n\nEven seemingly simple cases get complex quickly. Russian changes forms based on the last digit of the number, except when the second-to-last digit is 1. These complexities mean that hardcoding plural logic creates a maintenance nightmare with nested conditions that break easily when adding new languages.\n\nBuilding and maintaining these linguistic rules yourself essentially requires becoming an expert in dozens of language grammars rather than focusing on your core product. When expanding to new markets, you'd need to rewrite parts of your app for each language's plural system, potentially delaying your international launches. Using a proper localization system that handles these rules automatically is both faster and more reliable.","why-cant-i-just-use-simple-if-else-logic-for-handling-singular-plural-forms-in-my-app","2025-03-17T11:40:35.000Z","2025-03-17T11:40:43.000Z",{"id":29,"status":4,"created_on":2052,"sort":8,"slug":3132,"label":3133,"on_faq_index":230},[3201],{"id":16,"status":4,"owner":2050,"created_on":2156,"title":1384,"excerpt":2162,"content":2163,"slug":2134,"meta_title":8,"meta_description":8,"canonical":8},[3203],{"id":320,"documentation_id":320,"languages_code":249,"slug":3179,"title":3180,"content":3182,"meta_title":3183,"meta_description":3184,"excerpt":3181},[],{"id":3206,"status":4,"sort":3207,"created_on":2115,"modified_on":3208,"slug":3209,"title":3210,"excerpt":3211,"content":3212,"meta_title":8,"meta_description":8,"pinned":229,"main_image":8,"section":3213,"subsection":3216,"cta":8,"faq":3217,"dictionary":3234,"translations":3235,"documentation_id":3206,"blog_articles":3237},117,"11060","2025-02-17T14:49:41.000Z","organizations","Organizations & billing","Learn how to manage your organization's members, billing and projects.","## What are organizations?\nOrganizations help users and companies to manage their localization teams and projects. Each organization has a separate billing account and can contain multiple projects. Upon signing up to Localazy, we automatically create an organization for you. You can create new localization projects here and invite your team members to this organization.\n\nApart from the default organization, users can also belong to organizations they've been invited to by other users.\nEach user also has a workspace called **My contributions**. This workspace contains all active projects outside users' organizations.\n\nYou can see a list of your organizations by visiting [My dashboard](https:\u002F\u002Flocalazy.com\u002Fmy\u002Fdashboard).\nSelecting an organization from this list will bring you to the organization's dashboard.\n\n![](https:\u002F\u002Fdirectus9.localazy.com\u002Fassets\u002Fff074879-9586-48f8-9f3b-3583f60862ee)\n\n\n\n## Invite teammates\n If you want to invite teammates to your organization and have sufficient authorization to do so, you will see a \"**Invite members**\" button on the organization dashboard. \n \n Invited members are automatically granted access to all organization's projects. All members inherit the selected role from the organization. It's possible to override this role on the project level. This allows you to fine-tune the access rights for each project if needed.\n\n![](https:\u002F\u002Fdirectus9.localazy.com\u002Fassets\u002F97581c18-e737-4d8e-a6cd-843cea00a198)\n\n## Organization roles\n\nAvailable organization roles are the same as roles used [in projects](https:\u002F\u002Flocalazy.com\u002Fdocs\u002Fgeneral\u002Fdefining-user-roles). However, when granted on the organization level, they allow for additional management rights.\n\n### Owners \nOrganization Owners have full access to all projects in an organization. They can manage the organization's members, billing, and settings.\n\n### Managers \nWhen granted, the user gains access to all organization projects as a Manager. Moreover, they can manage the organization's members.\n\n### Reviewers\nWhen granted, the user gains access to all organization projects as a Reviewer.\n\n### Translators\nWhen granted, the user gains access to all organization projects as a Translator.\n\n\n## Organization billing\nYou can upgrade your organization's plan by visiting your [Marketplace dashboard](https:\u002F\u002Flocalazy.com\u002Fmy\u002Fmarketplace).\nEach organization has its own separate billing. We recommend setting your organization's name before making a purchase. \nThis name will be used later on the invoice. All organization Owners have access to billing details and subscriptions. \n\n![](https:\u002F\u002Fdirectus9.localazy.com\u002Fassets\u002F1468bdae-733e-4ae2-8556-6acc1d24ca38)\n ",{"id":16,"status":4,"sort":7,"created_on":1826,"slug":1732,"name":1727,"subtitle":1827,"meta_title":1828,"meta_description":1829,"hidden":229,"icon":3214,"featured_icon":3215},{"id":1734},{"id":1737},{"id":36,"status":4,"sort":72,"created_on":2042,"name":2125},[3218,3226],{"id":3219,"status":4,"title":3220,"content":3221,"slug":3222,"created_on":3223,"modified_on":3224,"owner":2093,"meta_title":8,"category":3225},243,"How to transfer my translation project to another organization in Localazy?","By default, each user has an organization created upon signing up to Localazy. Teams often ask one person to test Localazy and later create an official organization under the manager's account, where they invite everyone once they are fully ready to start using Localazy. However, the projects are already established under the organization of the first team member, and setting everything up again from scratch would cost more resources. That's why Localazy allows you to transfer projects between organizations.\n\n> Learn more about [Organizations & Billing](\u002Fdocs\u002Fgeneral\u002Forganizations) in the docs\n\n**Here's how to do it:**\n1. The transfer can be performed only by a user who is an Owner in both organizations. Make sure you have the required role in both organizations.\n2. Navigate to the your [Dashboard](\u002Fmy\u002Fdashboard) and click on the three-dot menu in the corner of the project card.\n3. Select *Transfer to other organization*.\n4. A window will appear asking you to choose the target organization\n5. To prevent accidents, there is also a field where you must type the name of the project you want to transfer.\n6. Confirm to finish the transfer.\n\n![Localazy- How to transfer a project](https:\u002F\u002Fdirectus9.localazy.com\u002Fassets\u002Fc70ce63a-8176-4e07-8ceb-5f5ffcbbb4b5)","how-to-transfer-my-project-to-another-organization","2023-02-10T10:19:15.000Z","2023-05-26T19:30:21.000Z",{"id":99,"status":4,"created_on":1926,"sort":8,"slug":3000,"label":3001,"on_faq_index":230},{"id":3227,"status":4,"title":3228,"content":3229,"slug":3230,"created_on":3231,"modified_on":3232,"owner":2093,"meta_title":8,"category":3233},285,"How can I delete an organization?","You can't delete an organization on your own, but we can help. Just submit a support request with the organization you want to delete, and we'll take care of it. Then you can create a new organization as needed.","how-can-i-delete-an-organization","2023-07-14T09:12:22.000Z","2023-07-14T09:12:24.000Z",{"id":99,"status":4,"created_on":1926,"sort":8,"slug":3000,"label":3001,"on_faq_index":230},[],[3236],{"id":3206,"documentation_id":3206,"languages_code":249,"slug":3209,"title":3210,"content":3212,"meta_title":8,"meta_description":8,"excerpt":3211},[],{"id":3239,"status":4,"sort":3240,"created_on":3241,"modified_on":3242,"slug":3243,"title":3244,"excerpt":3245,"content":3246,"meta_title":8,"meta_description":8,"pinned":229,"main_image":8,"section":3247,"subsection":3250,"cta":8,"faq":3251,"dictionary":3252,"translations":3253,"documentation_id":3239,"blog_articles":3256},259,"11065","2025-06-25T11:17:10.000Z","2026-03-20T15:06:57.000Z","localazy-credits","Localazy credits","Localazy uses a unified credit system for all translation services, including professional human translation, machine translation, and AI-powered features. Credits provide a flexible way to manage translation costs across different service types.\n","## How credits work\n\nCredits are a shared currency used across all Localazy translation services:\n\n- **Professional human translation (CLT)** - charged per word translated\n- **Machine and AI translation** - charged per word translated\n- **AI agents** - *coming soon* \n\nAll services draw from the same credit balance, giving you flexibility in how you use your translation budget.\n\n## Credits included in your subscription\n\nWhen you sign up, you will get **2** free credits to test the services. These credits expire when your trial period ends. \n\nEach subscription plan includes a monthly credit allocation that resets at the start of your billing cycle. These credits are **non-stackable** - unused credits from the current month don't carry over to the next month. \n\n| Plan | Keys | Monthly plan price | Plan credits | MT Words | AI Words |\n|------|------|-------|---------|----------|----------|\n| Professional | 1000 | $41 | $6 | 15k | 750 – 1,700 |\n| Professional | 1500 | $52 | $8 | 20k | 1,000 – 2,300 |\n| Professional | 2500 | $73 | $11 | 27.5k | 1,375 – 3,150 |\n| Autopilot | 3500 | $94 | $16 | 40k | 2,000 – 4,600 |\n| Autopilot | 5000 | $125 | $21 | 52.5k | 2,625 – 6,000 |\n| Autopilot | 7500 | $167 | $26 | 65k | 3,250 – 7,450 |\n| Business | 10000 | $210 | $34 | 85k | 4,250 – 9,700 |\n| Business | 25000 | $315 | $51 | 127.5k | 6,375 – 14,600 |\n| Business | 50000 | $420 | $67 | 167.5k | 8,375 – 19,150 |\n| Business | 100000 | $525 | $84 | 210k | 10,500 – 24,000 |\n\n*MT Words and AI Words columns show approximate translation capacity when using credits exclusively for that service type.*\n\n:::info\nThe annual plans receive 10x the credits and they renew each year.\n:::\n\n## Purchasing additional credits\n\nWhen your subscription credits run out, or you need more for ordering professional translations, you can purchase additional credits at any time:\n\n1. Navigate to your [Organization's billing section](\u002Fmy\u002Fbilling)\n2. Go to \"Services -> Overview\"\n3. Click on the \"+ Increase\" button\n4. Select the desired amount and complete the purchase\n\nPurchased credits are added immediately to your account balance. These credits do not expire!\n\n![](https:\u002F\u002Fdirectus9.localazy.com\u002Fassets\u002Fc5df0d43-fd18-4957-824b-ab852d2a07cb)\n\n## Credit usage priority\n\nCredits are consumed in this order:\n1. Subscription credits (included with your plan or trial)\n2. Additionally purchased credits \n\n![Subscription credits and purchased credits in Localazy](https:\u002F\u002Fdirectus9.localazy.com\u002Fassets\u002Ff26e7a1f-3d4f-4025-9cd1-4445faff3c95)\n\n\n## Service-specific pricing\n\nDifferent services consume credits at different rates:\n\n- **Machine Translation**: $0.0004 per translated word.\n- **Localazy AI Translation**: Between $0.0035 and $0.008 per word.\n- **Professional Human Translation**: Pricing varies by language pair and service level ([learn more](\u002Fdocs\u002Fgeneral\u002Fcontinuous-localization-team))\n- **Upcoming AI agents**: Pricing will be announced when these features launch\n\n## Upcoming AI Agents\n\nThe credit system is designed to support upcoming AI-powered QA and analytic agents. When these agents become available, they'll use the same credit balance, providing a unified payment system across all services.\n\n",{"id":16,"status":4,"sort":7,"created_on":1826,"slug":1732,"name":1727,"subtitle":1827,"meta_title":1828,"meta_description":1829,"hidden":229,"icon":3248,"featured_icon":3249},{"id":1734},{"id":1737},{"id":36,"status":4,"sort":72,"created_on":2042,"name":2125},[],[],[3254],{"id":3255,"documentation_id":3239,"languages_code":249,"slug":3243,"title":3244,"content":3246,"meta_title":8,"meta_description":8,"excerpt":3245},1413,[],{"id":280,"status":4,"sort":3258,"created_on":2033,"modified_on":3259,"slug":3260,"title":3261,"excerpt":3262,"content":3263,"meta_title":8,"meta_description":8,"pinned":229,"main_image":8,"section":3264,"subsection":3267,"cta":8,"faq":3268,"dictionary":3271,"translations":3275,"documentation_id":280,"blog_articles":3277},"11070","2024-07-16T15:14:50.000Z","defining-user-roles","Project roles","Learn more about available project roles in Localazy.","Localazy supports different user roles for your project contributors allowing you to effectively collaborate with everyone involved in the localization process. Assigning correct roles to contributors is also necessary for achieving the desired translation quality. \n\n## How to change user roles? \nYou can change user role by navigating to the **Contributors** page and selecting the **Edit project role** option in the dropdown menu.\n\n![](https:\u002F\u002Fdirectus9.localazy.com\u002Fassets\u002F77d898c4-df60-41b4-846a-3b9c5bb63412)\n\n## What roles are available?\n### Translator\nTranslator is the lowest role available, meaning all translations from this user have to go through the review process before they’re approved as a current version. They cannot do the review themselves, nor edit glossary or anything else in the project. \n\n### Trusted translator\nTrusted translators compared to Translators have one unique privilege. Their new translations are approved automatically, effectively skipping the review process. Give this role to contributors whose work doesn’t need checking or proof-reading.\n\n### Reviewer\nReviewer role has the review feature enabled. This role is here to proof-read all the translations from Translators and also can translate on his own. Translations made by Reviewers are also approved automatically.\nMoreover, reviewers can upload screenshots, edit the project glossary, add new terms and their translations to it.\n\n### Manager\nManager role has basically the same privileges as a Reviewer with one addition, they can manage source language phrases. Managers can also edit other user’s roles and invite people to the project.\n\n### Owner \nOwners can do everything available in the project. They can manage integrations, contributors and project settings. Owners can also translate or review without approval. \n\n## Notes\n* **Important:** There's a difference between roles defined on project and organization level. For example, project Owners cannot manage billing and order translations. [Organization role](\u002Fdocs\u002Fgeneral\u002Forganizations) is always required. \n* For more granular permissions, make sure to also check out [Language permissions](\u002Fdocs\u002Fgeneral\u002Flanguage-permissions) settings.\n",{"id":16,"status":4,"sort":7,"created_on":1826,"slug":1732,"name":1727,"subtitle":1827,"meta_title":1828,"meta_description":1829,"hidden":229,"icon":3265,"featured_icon":3266},{"id":1734},{"id":1737},{"id":158,"status":4,"sort":158,"created_on":2042,"name":11},[3269],{"id":3219,"status":4,"title":3220,"content":3221,"slug":3222,"created_on":3223,"modified_on":3224,"owner":2093,"meta_title":8,"category":3270},{"id":99,"status":4,"created_on":1926,"sort":8,"slug":3000,"label":3001,"on_faq_index":230},[3272,3273,3274],{"id":7,"status":4,"owner":2050,"created_on":2156,"title":2157,"excerpt":2158,"content":2159,"slug":2160,"meta_title":53,"meta_description":53,"canonical":53},{"id":107,"status":4,"owner":2050,"created_on":2156,"title":1443,"excerpt":2165,"content":2166,"slug":2167,"meta_title":53,"meta_description":53,"canonical":53},{"id":314,"status":4,"owner":2050,"created_on":2179,"title":2196,"excerpt":2197,"content":2198,"slug":1415,"meta_title":8,"meta_description":8,"canonical":8},[3276],{"id":280,"documentation_id":280,"languages_code":249,"slug":3260,"title":3261,"content":3263,"meta_title":8,"meta_description":8,"excerpt":3262},[],{"id":3279,"status":4,"sort":3280,"created_on":3281,"modified_on":3282,"slug":3283,"title":3284,"excerpt":3285,"content":3286,"meta_title":3287,"meta_description":8,"pinned":229,"main_image":8,"section":3288,"subsection":3291,"cta":8,"faq":3292,"dictionary":3293,"translations":3294,"documentation_id":3279,"blog_articles":3297},258,"11080","2025-05-05T20:44:57.000Z","2025-09-10T08:12:44.000Z","sso-configuration","SSO Configuration","Single Sign-On (SSO) allows your team members to access Localazy using their existing corporate credentials e.g. from Google Workspace or Microsoft Azure\u002FEntra ID. Instead of managing separate passwords for each tool, users can authenticate once and seamlessly access Localazy. Manage roles and access at your identity provider.","## Introduction\nSSO provides these key benefits:\n\n1. **Improved Security**: Centralized authentication reduces security risks from password reuse and simplifies enforcing strong authentication policies.\n2. **Streamlined Workflows**: Team members can quickly access Localazy without interrupting their workflow to find or reset credentials.\n3. **Simplified User Management**: Onboarding and offboarding team members becomes more efficient and secure, with access controls managed through your identity provider.\n\n### Supported SSO Providers\nLocalazy currently supports SSO integration with **any SAML 2.0 provider**, including:\n\n- Google Workspace \n- Microsoft Azure\u002FEntra ID \n\n### Prerequisites\n- Localazy [Enterprise plan](\u002Ftiers\u002Fenterprise) is required for SSO functionality\n- Organization Owner permissions needed\n- Admin access to your identity provider (e.g. Google Workspace or Azure)\n- Familiarity with SAML 2.0 concepts\n- Access to your organization's domain settings\n\nWith these prerequisites met, you're ready to proceed with configuring SSO for your organization. \n\n## Configuration  \n\nNavigate to the [Localazy Console - Single Sign-On](\u002Fconsole\u002Fsso). Follow the documentation at your identity provider to add Localazy as a new app and then fill in both configuration pages with the required data. \n\n:::info\nIf you are using **Google Workspace** or **Microsoft Azure\u002FEntra ID**, you can click on the Instructions button to open a detailed walkthrough of all the steps needed.\n:::\n\n![SSO Configuration Screen in Localazy Console](https:\u002F\u002Fdirectus9.localazy.com\u002Fassets\u002F51733c2d-5653-412e-bec3-0ccbf7b7c676)\n\nYou will find the information you'll need to provide to your identity provider at the bottom of the screen:\n  - ACS URL\n  - Entity ID\n  - Start URL\n  - Logout URL\n\n### Role mapping\nYou can also choose the default organization role for new users or set up custom role mapping. Role mapping allows you to automatically assign specific Localazy roles based on user attributes from your identity provider.\n\nAllowed values for role mapping are (see [user roles](\u002Fdocs\u002Fgeneral\u002Fdefining-user-roles#what-roles-are-available) for more details):\n- `none` → the user is not allowed to access Localazy\n- `translator` (default) → the user is a normal Translator\n- `trusted_translator` → the user is a Trusted translator\n- `reviewer` → the user is a Reviewer\n- `manager` → the user is a Manager\n- `owner` → the user is an Owner\n\n\n## Troubleshooting\nIf you need any help, feel free to contact us at [team@localazy.com](mailto:team@localazy.com)\n","Setting Up Single Sign-On (SSO) with Localazy",{"id":16,"status":4,"sort":7,"created_on":1826,"slug":1732,"name":1727,"subtitle":1827,"meta_title":1828,"meta_description":1829,"hidden":229,"icon":3289,"featured_icon":3290},{"id":1734},{"id":1737},{"id":158,"status":4,"sort":158,"created_on":2042,"name":11},[],[],[3295],{"id":3296,"documentation_id":3279,"languages_code":249,"slug":3283,"title":3284,"content":3286,"meta_title":3287,"meta_description":8,"excerpt":3285},1412,[],{"id":3299,"status":4,"sort":3300,"created_on":3301,"modified_on":3302,"slug":3303,"title":3304,"excerpt":3305,"content":3306,"meta_title":8,"meta_description":8,"pinned":229,"main_image":8,"section":3307,"subsection":3310,"cta":8,"faq":3311,"dictionary":3312,"translations":3313,"documentation_id":3299,"blog_articles":3316},260,"111111","2025-08-28T10:05:21.000Z","2025-09-10T08:56:49.000Z","project-settings","Project settings","Project settings give you complete control over how your localization project behaves. Here's everything you need to know about configuring your project properly.","##  Project details\n### Project icon & name\n\nChange your project name or icon anytime to keep things organized. This is what you'll see in your project list and what team members will recognize.\n\n*The icon resolution has to be minimum 72x72px and max 3072x3072px, maximum file size is 5MB. You can also generate a random project icon.*\n\n### Project URL slug\n\nEach project gets a unique URL like `https:\u002F\u002Flocalazy.com\u002Fp\u002Fmy-example-project`. You can customize the URL slug to match your project name or branding.\n\n### Tone of voice (formality)\n\nSetting a tone of voice will help your contributors keep the language consistent and is highly recommended before ordering [translation services](\u002Fdocs\u002Fgeneral\u002Fcontinuous-localization-team) or running [machine translations](\u002Fdocs\u002Fgeneral\u002Fmachine-translations). \n\n\u003Cimg src=\"https:\u002F\u002Fdirectus9.localazy.com\u002Fassets\u002F1994e6d1-b422-430d-be1e-94604d47b3b9\" alt=\"Localazy Settings - Project details\" style=\"max-width: 450px;\">\n\n## Translation interface\nThese settings control how translators interact with your content and what languages they can work with.\n\n### Languages available as source\n\nHere you can add languages that contributors can select as source language on the translation\u002Freview screen. This won't change your project's actual source language, but allows your contributors to select another languages from your project. If the translation is not available, the actual source language wil be displayed. \n\n*This can be helpful if your team has for example, English as source, but your team is German and your translators prefer to translate from German.*\n\n### Preferred source language\n\nHere, you can set a preferred language that will be displayed to translators in the [translation session](\u002Fdocs\u002Fgeneral\u002Ftranslating-strings) instead of the default source language.\n\n### Preferred sequence in translate\u002Freview session\n\n- **Default** - Based on upload order.\n- **Alphabetically** - Based on key name alphabetical order.\n- **Alphabetically (Head-Tail)** - Based on key name alphabetical order, with head-tail logic. \n\nHow does head-tail sort work? If your keys follow nested structures, for example: `head.middle.tail`\n1. First, keys are sorted alphabetically by their head (first segment)\n2. Then, within each head group, they're sorted by their tail (last segment)\n3. All the middle segments are completely ignored during sorting\n\n\n### Define plurals\nLocalazy handles [plural forms](\u002Fdocs\u002Fgeneral\u002Ftranslating-plurals) automatically based on language rules defined in CLDR definition, but you can define custom plural handling if your internationalization library requires specific formats.\n\n\u003Cimg src=\"https:\u002F\u002Fdirectus9.localazy.com\u002Fassets\u002F958482c9-f37a-40e5-a148-c3265bd95a43\" alt=\"Localazy Settings - Translation interface\" style=\"max-width: 450px;\">\n\n## Machine translations\nConfigure how automated translation suggestions work in your project.\n\n### Community translations (ShareTM)\nEnable this to anonymously collaborate with other projects and exchange translations.\n\nIn return for offering your translations anonymously, your contributors will see aggregate [suggestions](\u002Fdocs\u002Fgeneral\u002Fmachine-translations#machine-translation-suggestions) from other projects, sorted by most-used. This allows you to get crowdsourced translations for your project without inviting external contributors.\n\n> Learn more about [ShareTM](\u002Fdocs\u002Fgeneral\u002Fwhat-is-localazy-sharetm)\n\n### Machine translation suggestions\nTurn this on to get [automatic translation suggestions](\u002Fdocs\u002Fgeneral\u002Fmachine-translations#machine-translation-suggestions) when translators are working. These appear as suggestions, not final translations, so your team maintains control over quality. \n\nDisabling this option won't prevent project owners from using [bulk machine translation](\u002Fdocs\u002Fgeneral\u002Fmachine-translations#use-machine-translation-in-bulk) or [automations](\u002Fdocs\u002Fgeneral\u002Fautomations). \n\n\u003Cimg src=\"https:\u002F\u002Fdirectus9.localazy.com\u002Fassets\u002F3165d358-a673-4994-8991-ba6c79acfd64\" alt=\"Localazy Settings - Machine translations\" style=\"max-width: 450px;\">\n\n## Publishing\nControl how your translated content gets delivered to your applications.\n\n### Manage releases\nHere you can manage your [Releases](\u002Fdocs\u002Fgeneral\u002Freleases). Set up release management to control when translations get published to your apps. You can create release tags and control which content goes live when.\n\n> Learn more about [Releases](\u002Fdocs\u002Fgeneral\u002Freleases)\n\n### Publish unapproved translations for selected languages\nBy default, Localazy only exports approved translations and untranslated keys fallback to your source language. Here, you can select languages for which you want to publish unapproved translations instead. The latest version is used.\n\n*This is useful for applying machine translation and relying on human reviewers to refine the final results. Your translations are available immediately, but the review workflow ensures they are validated afterwards.*\n\n\u003Cimg src=\"https:\u002F\u002Fdirectus9.localazy.com\u002Fassets\u002F3f40d35a-ec2e-49bb-9534-dc72479ff82c\" alt=\"Localazy Settings - Publishing\" style=\"max-width: 450px;\">\n\n## Import and export\nConfigure how content flows in and out of your project.\n\n### Key clustering\nWhen enabled, keys with identical content get automatically grouped together. This reduces duplicate translation work and keeps your project organized. \n\n> Learn more about [Key Clusters](\u002Fdocs\u002Fgeneral\u002Fkey-clusters)\n\n### Content generation\nThis relates to [Export Aliases](\u002Fdocs\u002Fgeneral\u002Fexport-aliases) feature. Create path aliases for organizing exported files and keys differently than how they're stored in Localazy. This helps match your development workflow without reorganizing the entire project.\n\n> Learn more about [Export Aliases](\u002Fdocs\u002Fgeneral\u002Fexport-aliases)\n\n\u003Cimg src=\"https:\u002F\u002Fdirectus9.localazy.com\u002Fassets\u002Fb9acf5b7-6e14-4014-a27c-4899f27a0e74\" alt=\"Localazy Settings - Import and export\" style=\"max-width: 450px;\">\n\n## Permissions\nControl who can access what parts of your project.\n\n### Project type\n- **Public**: Anyone can find and contribute to your project. Ideal for crowdsourcing and volunteer projects.\n- **Private**: Only invited team members can access the project - recommended for most projects. \n- **Secret**: Project is completely hidden from search and public listings (available in the [Business plan](\u002Ffeatures\u002Fsecret-projects))\n\n### Default language permissions\nRelated to the [Language Permissions](\u002Fdocs\u002Fgeneral\u002Flanguage-permissions) feature. Define the initial language permissions for new members joining hte project here.\n\n- **New members can access all languages** – Project members can see and contribute to any language in the project.\n- **Restrict new members from any access** – Project members won’t see any project languages, until they are assigned some languages.\n\n> Learn more about [Language Permissions](\u002Fdocs\u002Fgeneral\u002Flanguage-permissions)\n\n### Default public project permissions\nSet the baseline permissions for new contributors joining your public project. You can choose between **Translator** and **Trusted Translator** (their translations skip review process).\n\n> Learn more about [Project roles](\u002Fdocs\u002Fgeneral\u002Fdefining-user-roles)\n\n\u003Cimg src=\"https:\u002F\u002Fdirectus9.localazy.com\u002Fassets\u002F85e04c2a-0925-4fe3-a3d6-852e947d3404\" alt=\"Localazy Settings - Permissions\" style=\"max-width: 450px;\">\n\n## Public description\nHere, you can fill in your project description and add links to your website or app stores. \n\n*This is mostly used by public projects to inform contributors about what is the project about.*\n\n\u003Cimg src=\"https:\u002F\u002Fdirectus9.localazy.com\u002Fassets\u002Ff53daf26-8c00-42a7-bcc8-1cd425e21bce\" alt=\"Localazy Settings - Public description\" style=\"max-width: 450px;\">\n\n## Advanced settings\n### Project source language\nThe base language used as the foundation for all translations. To change it, click on the pencil icon.\n\n- **Set another fully translated language as the new source:** Select this option if you already have another language that is fully translated and you want to switch its place with the current source language. You can choose any fully translated language in your project and the previous source language will continue to be treated as a normal Localazy language.\n- **Transfer the current source content to a new source language**: Select this option to preserve the current source content but change the source locale code. You can either choose a blank language or an existing hidden language. When changing the source to a language that is currently hidden, its data is purged first.\n\n*Sometimes, it happens that your source files are in `en_GB` but you would like to use simply `en` while keeping the content intact. Select the second option to preserve the current source content but change the source locale code.*\n\n### Clear project data\nRemove all translation data while keeping the project settings and contributors intact. This is useful when starting fresh or removing test content.\n\n### Delete project\nPermanently remove the entire project and all its data. This action cannot be undone!\n\n\u003Cimg src=\"https:\u002F\u002Fdirectus9.localazy.com\u002Fassets\u002F0857f658-83c6-4fe9-997e-5eb0ad07f379\" alt=\"Localazy Settings - Advanced settings\" style=\"max-width: 450px;\">\n\n",{"id":16,"status":4,"sort":7,"created_on":1826,"slug":1732,"name":1727,"subtitle":1827,"meta_title":1828,"meta_description":1829,"hidden":229,"icon":3308,"featured_icon":3309},{"id":1734},{"id":1737},{"id":36,"status":4,"sort":72,"created_on":2042,"name":2125},[],[],[3314],{"id":3315,"documentation_id":3299,"languages_code":249,"slug":3303,"title":3304,"content":3306,"meta_title":8,"meta_description":8,"excerpt":3305},1414,[],{"id":154,"status":4,"sort":3318,"created_on":3319,"modified_on":3320,"slug":3321,"title":3322,"excerpt":3323,"content":3324,"meta_title":3322,"meta_description":8,"pinned":229,"main_image":8,"section":3325,"subsection":3328,"cta":8,"faq":3329,"dictionary":3354,"translations":3355,"documentation_id":154,"blog_articles":3357},"14000","2022-03-18T07:51:24.000Z","2024-08-12T06:39:53.000Z","what-is-localazy-sharetm","What is Localazy ShareTM","ShareTM is what sets Localazy apart from other localization platforms. It stands for Shared Translation Memory, allowing you to join a pool of shared translations to get more accurate suggestions for your translations.  ","## The spirit of sharing\n\n**We are developers; we share our code on GitHub, GitLab, or elsewhere. We love to cooperate. We share our knowledge and build libraries for others to use. We have this in our DNA. It saves us time and money; it helps us to move forward faster and create better products.**\n\nWhy don't we share translations to make our content better for the worldwide audience? Why should 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.\n\nUpload your strings and texts to Localazy and opt-in to instantly **share your translations with other projects** on the platform, and as a reward, **get your strings translated to more languages.**\n\n\n## ShareTM suggestions\n\nShareTM works as an **assistive translation memory**. It helps your translators while they are translating your texts. It speeds up the process and empowers your translators with insight into the most common translations and how many other projects use them.\n\n_Both ShareTM and InTM suggesting translations:_\n\n![Both ShareTM and InTM suggesting translations](https:\u002F\u002Fdirectus9.localazy.com\u002Fassets\u002F8dc8cc86-04c6-48b7-8083-a5ad5a3a5bc4)\n\n\n\n### How does it work?\n\nThe basic idea is straightforward. When a translation is approved, it's sent to ShareTM. And **ShareTM distributes it across all other applicable projects on Localazy**. It works exactly like this except that the actual process in the background is not that simple, and there are many quirks that we must handle correctly.\n\nIn a similar fashion, when a new string is added to Localazy - for example, if you import your strings in a new file - ShareTM learns about it and looks for all possible translations it can provide for it.\n\n\u003C!--\n## The review process ensures quality\n\nOne of the most critical parts of Localazy is [**our unique review**](\u002Fdocs\u002Fgeneral\u002Funique-review-process-and-self-managed-translations) that integrates many features in Localazy, and ShareTM is no different.\n\nThrough the review, you can not only approve translations provided by ShareTM, but **you can choose from several different versions** carefully prepared for you. Also, you can easily update the text as per your need creating an entirely new translation from the existing one. \n\n_ShareTM offering 3 different versions through review:_\n\n![ShareTM offering 3 different versions through review](https:\u002F\u002Fdirectus9.localazy.com\u002Fassets\u002F8683cd1d-d6eb-45ba-bf00-533d674839ab)\n\nWith the review process, you have perfect control over how your app is translated with the shared translations. And as you can above, the static analysis works with ShareTM too warning about missing placeholder. \n\n## Smart handling of 80 languages \n\nWhen you move your app to Localazy, it may be already translated to a few languages, and you have your own preferences. Usually, mobile app developers prefer simple locales for well-defined languages such as **cs** for Czech, but there are also apps with full locales like **cs_CZ**. And what about Chinese and different scripts (**Hans** and **Hant**)?\n\nShareTM understands that and uses mapping tables and algorithms to distribute translated phrases to existing languages. It can work with more languages (for example, both **de** and **de_DE** can be in your app) and even with aliases for deprecated locales.   \n\n**Why do we talk about 80 languages?** That's the number of the essential languages ShareTM is translating actively. Internally, **ShareTM supports 3000 locales and aliases** and can work with all of them. \n\n-->\n\n## ShareTM vs. machine translation engines\n\nGoogle Translate and other machine translation tools provide a general translation. While they can perfectly translate regular texts, they struggle with short sentences or single words. \n\nFor example, in the Czech language, we usually use **menu** or **nabídka** as a translation for the English word **menu** (a very common word for software, apps and websites). However, Google Translate offers **jídelní lístek**, which is a list of meals in a restaurant. It sounds weird to us, and it's an incorrect translation. Also it makes your project look silly. \n\nShareTM is, on the other hand, more likely to offer **menu** as a translation because it learns how other users translate it. ShareTM works with real life translations created by humans. The more projects there are on Localazy, the better suggestions ShareTM provides. \n\nMachine translations are essential even for ShareTM - they provide additional context for reviewing translations and lead to improved quality of your translation. \n\n## Do I need to share everything?\n\nAt Localazy, we can't share everything as we are obligated to keep some of the mechanisms as a competitive advantage. We do a favor to those who support us on our mission.\n\nThat is a perfectly valid point for some of your strings too! URL addresses, ad and app identifiers, and other things are supposed to be private and to remain private. ShareTM can detect those strings and don't process them - don't share them with other apps and don't even store and index them.\n\n\n## ShareTM vs. InTM\n\nYou may or may not already notice that ShareTM is not our only little helper and that there is its close relative called InTM. How these two technologies that never sleep and work hard to improve the quality of translations differ is described in the [**What is Localazy InTM article**](\u002Fdocs\u002Fgeneral\u002Fwhat-is-localazy-intm).",{"id":16,"status":4,"sort":7,"created_on":1826,"slug":1732,"name":1727,"subtitle":1827,"meta_title":1828,"meta_description":1829,"hidden":229,"icon":3326,"featured_icon":3327},{"id":1734},{"id":1737},{"id":158,"status":4,"sort":158,"created_on":2042,"name":11},[3330,3338,3346],{"id":3331,"status":4,"title":3332,"content":3333,"slug":3334,"created_on":3335,"modified_on":3336,"owner":2083,"meta_title":8,"category":3337},343,"How does the ShareTM feature work?","The ShareTM feature allows for the sharing of translation memories across public projects within Localazy. When you translate your project, the system automatically compares your texts with the ShareTM database and provides you with translation suggestions from other projects that have opted in. \n\nThis accelerates the translation process and improves the consistency of translations.\n\n> For more details, you can read more about [ShareTM](\u002Fdocs\u002Fgeneral\u002Fwhat-is-localazy-sharetm)","how-does-the-share-tm-feature-work","2024-06-27T04:21:47.000Z","2024-06-27T04:24:53.000Z",{"id":50,"status":4,"created_on":2052,"sort":22,"slug":2053,"label":1727,"on_faq_index":230},{"id":3339,"status":4,"title":3340,"content":3341,"slug":3342,"created_on":3343,"modified_on":3344,"owner":2083,"meta_title":8,"category":3345},344,"How can I help build the shared translation memory?","You can help build the **ShareTM** by allowing your project's translations to be shared. In your project settings on Localazy, you can enable the ShareTM option, which will make your translations available to other projects. \n\nBy doing so, you contribute to a richer and more diverse translation database, benefiting all users.\n\n> Learn more about [ShareTM](\u002Fdocs\u002Fgeneral\u002Fwhat-is-localazy-sharetm)","how-can-i-help-build-the-shared-translation-memory","2024-06-27T04:24:07.000Z","2024-06-27T04:24:09.000Z",{"id":50,"status":4,"created_on":2052,"sort":22,"slug":2053,"label":1727,"on_faq_index":230},{"id":3347,"status":4,"title":3348,"content":3349,"slug":3350,"created_on":3351,"modified_on":3352,"owner":2083,"meta_title":8,"category":3353},345,"Can I opt out of ShareTM if my project is sensitive?","Yes. If your project contains sensitive information and you do not want its translations to be shared within **ShareTM**, you can opt out. In the project settings on Localazy, you have the option to disable the ShareTM feature, ensuring that your translations remain private and are not shared with other projects.\n\n> For more details, read more about [ShareTM](\u002Fdocs\u002Fgeneral\u002Fwhat-is-localazy-sharetm)\n","can-i-opt-out-of-share-tm-if-my-project-is-sensitive","2024-06-27T04:29:10.000Z","2024-06-27T04:29:13.000Z",{"id":50,"status":4,"created_on":2052,"sort":22,"slug":2053,"label":1727,"on_faq_index":230},[],[3356],{"id":154,"documentation_id":154,"languages_code":249,"slug":3321,"title":3322,"content":3324,"meta_title":3322,"meta_description":8,"excerpt":3323},[],[],[],{"id":3361,"owner":3362,"created_by":8,"sort":8,"title":3367,"slug":3368,"modified_on":53,"created_on":3369,"pinned":229,"badge":8,"priority":3370,"main_image":3371,"status":4,"tags":3372,"dictionary":3382,"reading_time":3383,"excerpt":-1,"og_title":53,"og_description":53,"og_image":53},"69ea1abb7ab1270001ede902",{"id":3363,"first_name":3364,"last_name":53,"slug":3365,"avatar":3366},"606c233dcf7b6a0001d1da93","Petr Hodný","petr-hodny","https:\u002F\u002Fghost.localazy.com\u002Fcontent\u002Fimages\u002F2023\u002F12\u002Fpetr.png","You can just build things. But should you? The build vs. buy debate in localization","build-vs-buy-in-localization-you-can-build-things-but-should-you","2026-05-25T08:43:00.000+02:00","0.7","https:\u002F\u002Fghost.localazy.com\u002Fcontent\u002Fimages\u002F2026\u002F05\u002Flocalazy-Vibe-coding.png",[3373,3377,3381],{"id":314,"created_on":3374,"status":4,"label":3375,"slug":3376,"on_index_page":230},"2026-05-28 17:21:17","AI","ai",{"id":3378,"created_on":3374,"status":4,"label":3379,"slug":3380,"on_index_page":229},646,"Business Development","business-development",{"id":278,"created_on":3374,"status":4,"label":1384,"slug":2134,"on_index_page":230},[],0,{"id":3385,"owner":3386,"created_by":8,"sort":8,"title":3387,"slug":3388,"modified_on":53,"created_on":3389,"pinned":229,"badge":8,"priority":3370,"main_image":3390,"status":4,"tags":3391,"dictionary":3395,"reading_time":3383,"excerpt":-1,"og_title":53,"og_description":53,"og_image":53},"69d78a237ab1270001eddabf",{"id":3363,"first_name":3364,"last_name":53,"slug":3365,"avatar":3366},"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","https:\u002F\u002Fghost.localazy.com\u002Fcontent\u002Fimages\u002F2026\u002F04\u002FLocalazy-AI-translation-api.png",[3392,3393,3394],{"id":278,"created_on":3374,"status":4,"label":283,"slug":284,"on_index_page":229},{"id":314,"created_on":3374,"status":4,"label":3375,"slug":3376,"on_index_page":230},{"id":278,"created_on":3374,"status":4,"label":1384,"slug":2134,"on_index_page":230},[]]