[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"footer-homepage":3,"footer-integrations":84,"main-navigation":1068,"footer-settings":1701,"docs-api-introduction":1814,"blog-post-nav-[USE LATEST FEATURED]":2348,"blog-post-nav-nav":2371},{"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},[85,252,334,445,537,622,715,808,897,1006],{"id":86,"status":4,"created_on":87,"modified_on":88,"name":89,"slug":90,"description":91,"docs_link":92,"priority":8,"has_sdk":93,"sort":22,"highlighted":93,"in_menu":94,"changefreq":8,"support_type":95,"show_in_spa":94,"is_file_format":93,"meta_title":8,"meta_description":8,"featured_on_web":94,"marketing_subtitle":96,"tile_subtitle":97,"tile_description":98,"is_enterprise":93,"is_popular":93,"primary_use_case":8,"hierarchy_handling":8,"best_for":8,"file_extension":8,"format_code_example":8,"format_to_extension":99,"upload_features":101,"icon":102,"meta_image":104,"primary_tag":106,"tags":125,"integration_methods":145,"recommended_methods":236,"default_integration_method":237,"faq_categories":244,"translations":250,"platforms_id":86},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":100},"json",[],{"id":103},"26757a90-88a3-4a94-b587-9f38614ed3bd",{"id":105},"a97492ec-ee8d-429c-bf66-d0fe59b6e5c9",{"id":50,"status":4,"sort":16,"created_on":107,"label":108,"hidden":93,"icon":109,"translations":111},"2022-03-17T12:23:44.000Z","Web apps",{"id":110},"c9e70e4f-8136-432a-8d82-53c3501a9eb4",[112,114,118,122],{"id":50,"languages_code":113,"label":108},"xxa",{"id":115,"languages_code":116,"label":117},45,"es","Aplicaciones web",{"id":119,"languages_code":120,"label":121},50,"cs","Webové aplikace",{"id":123,"languages_code":124,"label":108},59,"en",[126,133],{"id":50,"status":4,"sort":16,"label":108,"hidden":93,"created_on":107,"icon":127,"translations":128},{"id":110},[129,130,131,132],{"id":50,"languages_code":113,"label":108},{"id":115,"languages_code":116,"label":117},{"id":119,"languages_code":120,"label":121},{"id":123,"languages_code":124,"label":108},{"id":67,"status":4,"sort":72,"label":134,"hidden":93,"created_on":135,"icon":8,"translations":136},"Framework","2022-03-17T12:23:45.000Z",[137,138,141,143],{"id":67,"languages_code":113,"label":134},{"id":139,"languages_code":116,"label":140},53,"Marco",{"id":142,"languages_code":120,"label":134},60,{"id":144,"languages_code":124,"label":134},67,[146,161,191,214],{"id":147,"status":4,"sort":57,"label":148,"alternative_label":8,"slug":149,"description":150,"documentation_link":151,"loc_icon":149,"is_official_plugin":93,"is_universal_plugin":93,"universal_plugin_vendor":8,"translations":152},4,"API","api","Translate strings directly or upload them into your Localazy project.","\u002Fdocs\u002Fapi\u002Fintroduction",[153,154,157,159],{"id":147,"languages_code":113,"label":148,"description":150,"slug":149},{"id":155,"languages_code":116,"label":148,"description":156,"slug":149},40,"Utilice la API para exportar traducciones e importar contenido de\u002Fa Localazy mediante programación.",{"id":119,"languages_code":124,"label":148,"description":158,"slug":149},"Choose between translating strings directly or uploading them into Localazy.",{"id":123,"languages_code":120,"label":148,"description":160,"slug":149},"Pomocí rozhraní API můžete programovaně exportovat překlady a importovat obsah z\u002Fdo Localazy.",{"id":22,"status":4,"sort":50,"label":162,"alternative_label":8,"slug":163,"description":164,"documentation_link":165,"loc_icon":166,"is_official_plugin":93,"is_universal_plugin":93,"universal_plugin_vendor":8,"translations":167},"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",[168,169,173,175,178,182,184,186],{"id":22,"languages_code":113,"label":162,"description":164,"slug":163},{"id":170,"languages_code":116,"label":171,"description":172,"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":174,"languages_code":124,"label":162,"description":164,"slug":163},51,{"id":142,"languages_code":120,"label":176,"description":177,"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":179,"languages_code":116,"label":180,"description":181,"slug":163},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":183,"languages_code":124,"label":162,"description":164,"slug":163},65,{"id":185,"languages_code":120,"label":176,"description":177,"slug":163},66,{"id":187,"languages_code":188,"label":189,"description":190,"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":147,"label":192,"alternative_label":193,"slug":194,"description":195,"documentation_link":196,"loc_icon":197,"is_official_plugin":93,"is_universal_plugin":93,"universal_plugin_vendor":8,"translations":198},"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",[199,200,204,206,210],{"id":16,"languages_code":113,"label":192,"description":195,"slug":194},{"id":201,"languages_code":116,"label":202,"description":203,"slug":8},38,"Carga directa de archivos","Cargue sus textos y traducciones existentes en cualquier formato directamente para empezar rápidamente.",{"id":205,"languages_code":124,"label":192,"description":195,"slug":194},47,{"id":207,"languages_code":120,"label":208,"description":209,"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":211,"languages_code":188,"label":212,"description":213,"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":215,"alternative_label":216,"slug":217,"description":218,"documentation_link":219,"loc_icon":217,"is_official_plugin":93,"is_universal_plugin":93,"universal_plugin_vendor":8,"translations":220},"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",[221,222,226,228,232],{"id":7,"languages_code":113,"label":215,"description":218,"slug":217},{"id":223,"languages_code":116,"label":224,"description":225,"slug":217},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":227,"languages_code":124,"label":215,"description":218,"slug":217},46,{"id":229,"languages_code":120,"label":230,"description":231,"slug":217},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":233,"languages_code":188,"label":234,"description":235,"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":215,"alternative_label":216,"slug":217,"description":218,"documentation_link":219,"loc_icon":217,"is_official_plugin":93,"is_universal_plugin":93,"universal_plugin_vendor":8,"translations":238},[239,240,241,242,243],{"id":7,"languages_code":113,"label":215,"description":218,"slug":217},{"id":223,"languages_code":116,"label":224,"description":225,"slug":217},{"id":227,"languages_code":124,"label":215,"description":218,"slug":217},{"id":229,"languages_code":120,"label":230,"description":231,"slug":217},{"id":233,"languages_code":188,"label":234,"description":235,"slug":8},[245],{"id":246,"status":4,"created_on":247,"sort":8,"slug":248,"label":249,"on_faq_index":8},76,"2025-02-26T12:44:29.000Z","front-end-common","Front-end Common",[251],{"languages_code":113,"name":89,"slug":90,"description":91,"support_type":95,"meta_title":8,"meta_description":8,"marketing_subtitle":96,"tile_subtitle":97,"tile_description":98,"id":86,"platforms_id":86,"docs_link":92},{"id":253,"status":4,"created_on":87,"modified_on":254,"name":255,"slug":256,"description":257,"docs_link":92,"priority":8,"has_sdk":93,"sort":147,"highlighted":93,"in_menu":94,"changefreq":8,"support_type":95,"show_in_spa":94,"is_file_format":93,"meta_title":8,"meta_description":8,"featured_on_web":94,"marketing_subtitle":96,"tile_subtitle":258,"tile_description":259,"is_enterprise":93,"is_popular":93,"primary_use_case":8,"hierarchy_handling":8,"best_for":8,"file_extension":8,"format_code_example":8,"format_to_extension":260,"upload_features":261,"icon":262,"meta_image":264,"primary_tag":266,"tags":273,"integration_methods":287,"recommended_methods":318,"default_integration_method":319,"faq_categories":326,"translations":332,"platforms_id":253},19,"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":100},[],{"id":263},"6180b41f-3249-47d3-adcd-50fe1cf11bf1",{"id":265},"8171b836-d6b8-4354-8db3-34ccd384970d",{"id":50,"status":4,"sort":16,"created_on":107,"label":108,"hidden":93,"icon":267,"translations":268},{"id":110},[269,270,271,272],{"id":50,"languages_code":113,"label":108},{"id":115,"languages_code":116,"label":117},{"id":119,"languages_code":120,"label":121},{"id":123,"languages_code":124,"label":108},[274,281],{"id":50,"status":4,"sort":16,"label":108,"hidden":93,"created_on":107,"icon":275,"translations":276},{"id":110},[277,278,279,280],{"id":50,"languages_code":113,"label":108},{"id":115,"languages_code":116,"label":117},{"id":119,"languages_code":120,"label":121},{"id":123,"languages_code":124,"label":108},{"id":67,"status":4,"sort":72,"label":134,"hidden":93,"created_on":135,"icon":8,"translations":282},[283,284,285,286],{"id":67,"languages_code":113,"label":134},{"id":139,"languages_code":116,"label":140},{"id":142,"languages_code":120,"label":134},{"id":144,"languages_code":124,"label":134},[288,294,304,311],{"id":147,"status":4,"sort":57,"label":148,"alternative_label":8,"slug":149,"description":150,"documentation_link":151,"loc_icon":149,"is_official_plugin":93,"is_universal_plugin":93,"universal_plugin_vendor":8,"translations":289},[290,291,292,293],{"id":147,"languages_code":113,"label":148,"description":150,"slug":149},{"id":155,"languages_code":116,"label":148,"description":156,"slug":149},{"id":119,"languages_code":124,"label":148,"description":158,"slug":149},{"id":123,"languages_code":120,"label":148,"description":160,"slug":149},{"id":22,"status":4,"sort":50,"label":162,"alternative_label":8,"slug":163,"description":164,"documentation_link":165,"loc_icon":166,"is_official_plugin":93,"is_universal_plugin":93,"universal_plugin_vendor":8,"translations":295},[296,297,298,299,300,301,302,303],{"id":22,"languages_code":113,"label":162,"description":164,"slug":163},{"id":170,"languages_code":116,"label":171,"description":172,"slug":8},{"id":174,"languages_code":124,"label":162,"description":164,"slug":163},{"id":142,"languages_code":120,"label":176,"description":177,"slug":8},{"id":179,"languages_code":116,"label":180,"description":181,"slug":163},{"id":183,"languages_code":124,"label":162,"description":164,"slug":163},{"id":185,"languages_code":120,"label":176,"description":177,"slug":163},{"id":187,"languages_code":188,"label":189,"description":190,"slug":8},{"id":16,"status":4,"sort":147,"label":192,"alternative_label":193,"slug":194,"description":195,"documentation_link":196,"loc_icon":197,"is_official_plugin":93,"is_universal_plugin":93,"universal_plugin_vendor":8,"translations":305},[306,307,308,309,310],{"id":16,"languages_code":113,"label":192,"description":195,"slug":194},{"id":201,"languages_code":116,"label":202,"description":203,"slug":8},{"id":205,"languages_code":124,"label":192,"description":195,"slug":194},{"id":207,"languages_code":120,"label":208,"description":209,"slug":8},{"id":211,"languages_code":188,"label":212,"description":213,"slug":8},{"id":7,"status":4,"sort":22,"label":215,"alternative_label":216,"slug":217,"description":218,"documentation_link":219,"loc_icon":217,"is_official_plugin":93,"is_universal_plugin":93,"universal_plugin_vendor":8,"translations":312},[313,314,315,316,317],{"id":7,"languages_code":113,"label":215,"description":218,"slug":217},{"id":223,"languages_code":116,"label":224,"description":225,"slug":217},{"id":227,"languages_code":124,"label":215,"description":218,"slug":217},{"id":229,"languages_code":120,"label":230,"description":231,"slug":217},{"id":233,"languages_code":188,"label":234,"description":235,"slug":8},[],{"id":7,"status":4,"sort":22,"label":215,"alternative_label":216,"slug":217,"description":218,"documentation_link":219,"loc_icon":217,"is_official_plugin":93,"is_universal_plugin":93,"universal_plugin_vendor":8,"translations":320},[321,322,323,324,325],{"id":7,"languages_code":113,"label":215,"description":218,"slug":217},{"id":223,"languages_code":116,"label":224,"description":225,"slug":217},{"id":227,"languages_code":124,"label":215,"description":218,"slug":217},{"id":229,"languages_code":120,"label":230,"description":231,"slug":217},{"id":233,"languages_code":188,"label":234,"description":235,"slug":8},[327,331],{"id":207,"status":4,"created_on":328,"sort":8,"slug":329,"label":330,"on_faq_index":8},"2023-03-01T11:21:41.000Z","vue-localization","Vue.js Localization",{"id":246,"status":4,"created_on":247,"sort":8,"slug":248,"label":249,"on_faq_index":8},[333],{"languages_code":113,"name":255,"slug":256,"description":257,"support_type":95,"meta_title":8,"meta_description":8,"marketing_subtitle":96,"tile_subtitle":258,"tile_description":259,"id":253,"platforms_id":253,"docs_link":92},{"id":7,"status":4,"created_on":87,"modified_on":335,"name":336,"slug":337,"description":338,"docs_link":339,"priority":8,"has_sdk":93,"sort":57,"highlighted":93,"in_menu":94,"changefreq":8,"support_type":340,"show_in_spa":94,"is_file_format":93,"meta_title":8,"meta_description":8,"featured_on_web":93,"marketing_subtitle":96,"tile_subtitle":340,"tile_description":341,"is_enterprise":93,"is_popular":93,"primary_use_case":342,"hierarchy_handling":343,"best_for":344,"file_extension":345,"format_code_example":346,"format_to_extension":347,"upload_features":349,"icon":350,"meta_image":352,"primary_tag":354,"tags":365,"integration_methods":403,"recommended_methods":434,"default_integration_method":435,"faq_categories":442,"translations":443,"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":348},"arb",[],{"id":351},"b9f13a11-9328-4a03-86cf-b20de0685606",{"id":353},"c2674666-4371-4aa4-9a65-438c7363fafe",{"id":57,"status":4,"sort":67,"created_on":135,"label":355,"hidden":93,"icon":356,"translations":358},"Mobile apps",{"id":357},"c9c7e1f5-8b59-4016-ae0c-6fba9469cd55",[359,360,362,364],{"id":57,"languages_code":113,"label":355},{"id":227,"languages_code":116,"label":361},"Aplicaciones móviles",{"id":229,"languages_code":120,"label":363},"Mobilní aplikace",{"id":183,"languages_code":124,"label":355},[366,377,384,391],{"id":62,"status":4,"sort":253,"label":367,"hidden":93,"created_on":135,"icon":368,"translations":370},"Desktop & Games",{"id":369},"65b04533-5b4c-430c-b8a4-ecce84754200",[371,372,374,376],{"id":62,"languages_code":113,"label":367},{"id":205,"languages_code":116,"label":373},"Escritorio y Juegos",{"id":207,"languages_code":120,"label":375},"Stolní počítače & Hry",{"id":185,"languages_code":124,"label":367},{"id":50,"status":4,"sort":16,"label":108,"hidden":93,"created_on":107,"icon":378,"translations":379},{"id":110},[380,381,382,383],{"id":50,"languages_code":113,"label":108},{"id":115,"languages_code":116,"label":117},{"id":119,"languages_code":120,"label":121},{"id":123,"languages_code":124,"label":108},{"id":57,"status":4,"sort":67,"label":355,"hidden":93,"created_on":135,"icon":385,"translations":386},{"id":357},[387,388,389,390],{"id":57,"languages_code":113,"label":355},{"id":227,"languages_code":116,"label":361},{"id":229,"languages_code":120,"label":363},{"id":183,"languages_code":124,"label":355},{"id":392,"status":4,"sort":393,"label":394,"hidden":94,"created_on":135,"icon":8,"translations":395},30,32,"ARB",[396,397,399,401],{"id":392,"languages_code":113,"label":394},{"id":398,"languages_code":116,"label":394},120,{"id":400,"languages_code":120,"label":394},125,{"id":402,"languages_code":124,"label":394},130,[404,410,420,427],{"id":147,"status":4,"sort":57,"label":148,"alternative_label":8,"slug":149,"description":150,"documentation_link":151,"loc_icon":149,"is_official_plugin":93,"is_universal_plugin":93,"universal_plugin_vendor":8,"translations":405},[406,407,408,409],{"id":147,"languages_code":113,"label":148,"description":150,"slug":149},{"id":155,"languages_code":116,"label":148,"description":156,"slug":149},{"id":119,"languages_code":124,"label":148,"description":158,"slug":149},{"id":123,"languages_code":120,"label":148,"description":160,"slug":149},{"id":22,"status":4,"sort":50,"label":162,"alternative_label":8,"slug":163,"description":164,"documentation_link":165,"loc_icon":166,"is_official_plugin":93,"is_universal_plugin":93,"universal_plugin_vendor":8,"translations":411},[412,413,414,415,416,417,418,419],{"id":22,"languages_code":113,"label":162,"description":164,"slug":163},{"id":170,"languages_code":116,"label":171,"description":172,"slug":8},{"id":174,"languages_code":124,"label":162,"description":164,"slug":163},{"id":142,"languages_code":120,"label":176,"description":177,"slug":8},{"id":179,"languages_code":116,"label":180,"description":181,"slug":163},{"id":183,"languages_code":124,"label":162,"description":164,"slug":163},{"id":185,"languages_code":120,"label":176,"description":177,"slug":163},{"id":187,"languages_code":188,"label":189,"description":190,"slug":8},{"id":16,"status":4,"sort":147,"label":192,"alternative_label":193,"slug":194,"description":195,"documentation_link":196,"loc_icon":197,"is_official_plugin":93,"is_universal_plugin":93,"universal_plugin_vendor":8,"translations":421},[422,423,424,425,426],{"id":16,"languages_code":113,"label":192,"description":195,"slug":194},{"id":201,"languages_code":116,"label":202,"description":203,"slug":8},{"id":205,"languages_code":124,"label":192,"description":195,"slug":194},{"id":207,"languages_code":120,"label":208,"description":209,"slug":8},{"id":211,"languages_code":188,"label":212,"description":213,"slug":8},{"id":7,"status":4,"sort":22,"label":215,"alternative_label":216,"slug":217,"description":218,"documentation_link":219,"loc_icon":217,"is_official_plugin":93,"is_universal_plugin":93,"universal_plugin_vendor":8,"translations":428},[429,430,431,432,433],{"id":7,"languages_code":113,"label":215,"description":218,"slug":217},{"id":223,"languages_code":116,"label":224,"description":225,"slug":217},{"id":227,"languages_code":124,"label":215,"description":218,"slug":217},{"id":229,"languages_code":120,"label":230,"description":231,"slug":217},{"id":233,"languages_code":188,"label":234,"description":235,"slug":8},[],{"id":7,"status":4,"sort":22,"label":215,"alternative_label":216,"slug":217,"description":218,"documentation_link":219,"loc_icon":217,"is_official_plugin":93,"is_universal_plugin":93,"universal_plugin_vendor":8,"translations":436},[437,438,439,440,441],{"id":7,"languages_code":113,"label":215,"description":218,"slug":217},{"id":223,"languages_code":116,"label":224,"description":225,"slug":217},{"id":227,"languages_code":124,"label":215,"description":218,"slug":217},{"id":229,"languages_code":120,"label":230,"description":231,"slug":217},{"id":233,"languages_code":188,"label":234,"description":235,"slug":8},[],[444],{"languages_code":113,"name":336,"slug":337,"description":338,"support_type":340,"meta_title":8,"meta_description":8,"marketing_subtitle":96,"tile_subtitle":340,"tile_description":341,"id":7,"platforms_id":7,"docs_link":339},{"id":446,"status":4,"created_on":447,"modified_on":448,"name":449,"slug":450,"description":451,"docs_link":452,"priority":8,"has_sdk":93,"sort":29,"highlighted":93,"in_menu":94,"changefreq":8,"support_type":453,"show_in_spa":94,"is_file_format":93,"meta_title":8,"meta_description":8,"featured_on_web":94,"marketing_subtitle":96,"tile_subtitle":453,"tile_description":454,"is_enterprise":93,"is_popular":93,"primary_use_case":8,"hierarchy_handling":8,"best_for":8,"file_extension":8,"format_code_example":8,"format_to_extension":455,"upload_features":457,"icon":458,"meta_image":460,"primary_tag":462,"tags":476,"integration_methods":491,"recommended_methods":522,"default_integration_method":523,"faq_categories":530,"translations":535,"platforms_id":446},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":456},"js",[],{"id":459},"4218d0c9-7e6b-494d-9663-37ceaf93ee8c",{"id":461},"2c6699eb-1d80-4772-8268-5597dbcead8c",{"id":77,"status":4,"sort":77,"created_on":135,"label":463,"hidden":93,"icon":464,"translations":466},"Programming Languages",{"id":465},"8c5836bb-1fbe-49c5-9330-8f931838c457",[467,468,471,474],{"id":77,"languages_code":113,"label":463},{"id":469,"languages_code":116,"label":470},63,"Lenguajes de Programación",{"id":472,"languages_code":120,"label":473},68,"Programovací Jazyky",{"id":475,"languages_code":124,"label":463},70,[477,484],{"id":50,"status":4,"sort":16,"label":108,"hidden":93,"created_on":107,"icon":478,"translations":479},{"id":110},[480,481,482,483],{"id":50,"languages_code":113,"label":108},{"id":115,"languages_code":116,"label":117},{"id":119,"languages_code":120,"label":121},{"id":123,"languages_code":124,"label":108},{"id":77,"status":4,"sort":77,"label":463,"hidden":93,"created_on":135,"icon":485,"translations":486},{"id":465},[487,488,489,490],{"id":77,"languages_code":113,"label":463},{"id":469,"languages_code":116,"label":470},{"id":472,"languages_code":120,"label":473},{"id":475,"languages_code":124,"label":463},[492,498,508,515],{"id":147,"status":4,"sort":57,"label":148,"alternative_label":8,"slug":149,"description":150,"documentation_link":151,"loc_icon":149,"is_official_plugin":93,"is_universal_plugin":93,"universal_plugin_vendor":8,"translations":493},[494,495,496,497],{"id":147,"languages_code":113,"label":148,"description":150,"slug":149},{"id":155,"languages_code":116,"label":148,"description":156,"slug":149},{"id":119,"languages_code":124,"label":148,"description":158,"slug":149},{"id":123,"languages_code":120,"label":148,"description":160,"slug":149},{"id":22,"status":4,"sort":50,"label":162,"alternative_label":8,"slug":163,"description":164,"documentation_link":165,"loc_icon":166,"is_official_plugin":93,"is_universal_plugin":93,"universal_plugin_vendor":8,"translations":499},[500,501,502,503,504,505,506,507],{"id":22,"languages_code":113,"label":162,"description":164,"slug":163},{"id":170,"languages_code":116,"label":171,"description":172,"slug":8},{"id":174,"languages_code":124,"label":162,"description":164,"slug":163},{"id":142,"languages_code":120,"label":176,"description":177,"slug":8},{"id":179,"languages_code":116,"label":180,"description":181,"slug":163},{"id":183,"languages_code":124,"label":162,"description":164,"slug":163},{"id":185,"languages_code":120,"label":176,"description":177,"slug":163},{"id":187,"languages_code":188,"label":189,"description":190,"slug":8},{"id":16,"status":4,"sort":147,"label":192,"alternative_label":193,"slug":194,"description":195,"documentation_link":196,"loc_icon":197,"is_official_plugin":93,"is_universal_plugin":93,"universal_plugin_vendor":8,"translations":509},[510,511,512,513,514],{"id":16,"languages_code":113,"label":192,"description":195,"slug":194},{"id":201,"languages_code":116,"label":202,"description":203,"slug":8},{"id":205,"languages_code":124,"label":192,"description":195,"slug":194},{"id":207,"languages_code":120,"label":208,"description":209,"slug":8},{"id":211,"languages_code":188,"label":212,"description":213,"slug":8},{"id":7,"status":4,"sort":22,"label":215,"alternative_label":216,"slug":217,"description":218,"documentation_link":219,"loc_icon":217,"is_official_plugin":93,"is_universal_plugin":93,"universal_plugin_vendor":8,"translations":516},[517,518,519,520,521],{"id":7,"languages_code":113,"label":215,"description":218,"slug":217},{"id":223,"languages_code":116,"label":224,"description":225,"slug":217},{"id":227,"languages_code":124,"label":215,"description":218,"slug":217},{"id":229,"languages_code":120,"label":230,"description":231,"slug":217},{"id":233,"languages_code":188,"label":234,"description":235,"slug":8},[],{"id":7,"status":4,"sort":22,"label":215,"alternative_label":216,"slug":217,"description":218,"documentation_link":219,"loc_icon":217,"is_official_plugin":93,"is_universal_plugin":93,"universal_plugin_vendor":8,"translations":524},[525,526,527,528,529],{"id":7,"languages_code":113,"label":215,"description":218,"slug":217},{"id":223,"languages_code":116,"label":224,"description":225,"slug":217},{"id":227,"languages_code":124,"label":215,"description":218,"slug":217},{"id":229,"languages_code":120,"label":230,"description":231,"slug":217},{"id":233,"languages_code":188,"label":234,"description":235,"slug":8},[531],{"id":532,"status":4,"created_on":533,"sort":8,"slug":534,"label":449,"on_faq_index":93},35,"2022-06-10T09:49:33.000Z","javascript-i18n-localization",[536],{"languages_code":113,"name":449,"slug":450,"description":451,"support_type":453,"meta_title":8,"meta_description":8,"marketing_subtitle":96,"tile_subtitle":453,"tile_description":454,"id":446,"platforms_id":446,"docs_link":452},{"id":29,"status":4,"created_on":447,"modified_on":538,"name":539,"slug":100,"description":540,"docs_link":92,"priority":8,"has_sdk":93,"sort":541,"highlighted":93,"in_menu":94,"changefreq":8,"support_type":542,"show_in_spa":94,"is_file_format":94,"meta_title":8,"meta_description":8,"featured_on_web":94,"marketing_subtitle":96,"tile_subtitle":543,"tile_description":544,"is_enterprise":93,"is_popular":94,"primary_use_case":545,"hierarchy_handling":546,"best_for":547,"file_extension":548,"format_code_example":549,"format_to_extension":550,"upload_features":551,"icon":552,"meta_image":554,"primary_tag":556,"tags":569,"integration_methods":577,"recommended_methods":608,"default_integration_method":609,"faq_categories":616,"translations":620,"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.",20,"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":100},[],{"id":553},"99ac3b7c-dba5-4693-a4f4-1f27a6d7782d",{"id":555},"8d614c20-667e-4bee-a64d-7d7ce9c0ee0a",{"id":147,"status":4,"sort":50,"created_on":135,"label":557,"hidden":93,"icon":558,"translations":560},"File formats",{"id":559},"ab7c8f89-dcce-45ab-9e21-8605aef289c3",[561,562,565,567],{"id":147,"languages_code":113,"label":557},{"id":563,"languages_code":116,"label":564},44,"Formatos de archivo",{"id":174,"languages_code":120,"label":566},"Formáty souborů",{"id":568,"languages_code":124,"label":557},62,[570],{"id":147,"status":4,"sort":50,"label":557,"hidden":93,"created_on":135,"icon":571,"translations":572},{"id":559},[573,574,575,576],{"id":147,"languages_code":113,"label":557},{"id":563,"languages_code":116,"label":564},{"id":174,"languages_code":120,"label":566},{"id":568,"languages_code":124,"label":557},[578,584,594,601],{"id":147,"status":4,"sort":57,"label":148,"alternative_label":8,"slug":149,"description":150,"documentation_link":151,"loc_icon":149,"is_official_plugin":93,"is_universal_plugin":93,"universal_plugin_vendor":8,"translations":579},[580,581,582,583],{"id":147,"languages_code":113,"label":148,"description":150,"slug":149},{"id":155,"languages_code":116,"label":148,"description":156,"slug":149},{"id":119,"languages_code":124,"label":148,"description":158,"slug":149},{"id":123,"languages_code":120,"label":148,"description":160,"slug":149},{"id":22,"status":4,"sort":50,"label":162,"alternative_label":8,"slug":163,"description":164,"documentation_link":165,"loc_icon":166,"is_official_plugin":93,"is_universal_plugin":93,"universal_plugin_vendor":8,"translations":585},[586,587,588,589,590,591,592,593],{"id":22,"languages_code":113,"label":162,"description":164,"slug":163},{"id":170,"languages_code":116,"label":171,"description":172,"slug":8},{"id":174,"languages_code":124,"label":162,"description":164,"slug":163},{"id":142,"languages_code":120,"label":176,"description":177,"slug":8},{"id":179,"languages_code":116,"label":180,"description":181,"slug":163},{"id":183,"languages_code":124,"label":162,"description":164,"slug":163},{"id":185,"languages_code":120,"label":176,"description":177,"slug":163},{"id":187,"languages_code":188,"label":189,"description":190,"slug":8},{"id":16,"status":4,"sort":147,"label":192,"alternative_label":193,"slug":194,"description":195,"documentation_link":196,"loc_icon":197,"is_official_plugin":93,"is_universal_plugin":93,"universal_plugin_vendor":8,"translations":595},[596,597,598,599,600],{"id":16,"languages_code":113,"label":192,"description":195,"slug":194},{"id":201,"languages_code":116,"label":202,"description":203,"slug":8},{"id":205,"languages_code":124,"label":192,"description":195,"slug":194},{"id":207,"languages_code":120,"label":208,"description":209,"slug":8},{"id":211,"languages_code":188,"label":212,"description":213,"slug":8},{"id":7,"status":4,"sort":22,"label":215,"alternative_label":216,"slug":217,"description":218,"documentation_link":219,"loc_icon":217,"is_official_plugin":93,"is_universal_plugin":93,"universal_plugin_vendor":8,"translations":602},[603,604,605,606,607],{"id":7,"languages_code":113,"label":215,"description":218,"slug":217},{"id":223,"languages_code":116,"label":224,"description":225,"slug":217},{"id":227,"languages_code":124,"label":215,"description":218,"slug":217},{"id":229,"languages_code":120,"label":230,"description":231,"slug":217},{"id":233,"languages_code":188,"label":234,"description":235,"slug":8},[],{"id":7,"status":4,"sort":22,"label":215,"alternative_label":216,"slug":217,"description":218,"documentation_link":219,"loc_icon":217,"is_official_plugin":93,"is_universal_plugin":93,"universal_plugin_vendor":8,"translations":610},[611,612,613,614,615],{"id":7,"languages_code":113,"label":215,"description":218,"slug":217},{"id":223,"languages_code":116,"label":224,"description":225,"slug":217},{"id":227,"languages_code":124,"label":215,"description":218,"slug":217},{"id":229,"languages_code":120,"label":230,"description":231,"slug":217},{"id":233,"languages_code":188,"label":234,"description":235,"slug":8},[617],{"id":618,"status":4,"created_on":619,"sort":8,"slug":100,"label":539,"on_faq_index":93},36,"2022-06-10T10:49:07.000Z",[621],{"languages_code":113,"name":539,"slug":100,"description":540,"support_type":542,"meta_title":8,"meta_description":8,"marketing_subtitle":96,"tile_subtitle":543,"tile_description":544,"id":29,"platforms_id":29,"docs_link":92},{"id":623,"status":4,"created_on":447,"modified_on":624,"name":625,"slug":626,"description":627,"docs_link":628,"priority":8,"has_sdk":93,"sort":623,"highlighted":93,"in_menu":94,"changefreq":8,"support_type":629,"show_in_spa":93,"is_file_format":94,"meta_title":8,"meta_description":8,"featured_on_web":94,"marketing_subtitle":96,"tile_subtitle":630,"tile_description":631,"is_enterprise":93,"is_popular":94,"primary_use_case":632,"hierarchy_handling":633,"best_for":634,"file_extension":635,"format_code_example":636,"format_to_extension":637,"upload_features":639,"icon":640,"meta_image":642,"primary_tag":644,"tags":651,"integration_methods":673,"recommended_methods":704,"default_integration_method":705,"faq_categories":712,"translations":713,"platforms_id":623},21,"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":638},"xlf",[],{"id":641},"ca424cc8-e8a7-4aef-8dca-ef4a4d1334fc",{"id":643},"889970a6-cce8-4055-b96a-9c3f292aa67f",{"id":147,"status":4,"sort":50,"created_on":135,"label":557,"hidden":93,"icon":645,"translations":646},{"id":559},[647,648,649,650],{"id":147,"languages_code":113,"label":557},{"id":563,"languages_code":116,"label":564},{"id":174,"languages_code":120,"label":566},{"id":568,"languages_code":124,"label":557},[652,659,666],{"id":147,"status":4,"sort":50,"label":557,"hidden":93,"created_on":135,"icon":653,"translations":654},{"id":559},[655,656,657,658],{"id":147,"languages_code":113,"label":557},{"id":563,"languages_code":116,"label":564},{"id":174,"languages_code":120,"label":566},{"id":568,"languages_code":124,"label":557},{"id":147,"status":4,"sort":50,"label":557,"hidden":93,"created_on":135,"icon":660,"translations":661},{"id":559},[662,663,664,665],{"id":147,"languages_code":113,"label":557},{"id":563,"languages_code":116,"label":564},{"id":174,"languages_code":120,"label":566},{"id":568,"languages_code":124,"label":557},{"id":147,"status":4,"sort":50,"label":557,"hidden":93,"created_on":135,"icon":667,"translations":668},{"id":559},[669,670,671,672],{"id":147,"languages_code":113,"label":557},{"id":563,"languages_code":116,"label":564},{"id":174,"languages_code":120,"label":566},{"id":568,"languages_code":124,"label":557},[674,680,690,697],{"id":147,"status":4,"sort":57,"label":148,"alternative_label":8,"slug":149,"description":150,"documentation_link":151,"loc_icon":149,"is_official_plugin":93,"is_universal_plugin":93,"universal_plugin_vendor":8,"translations":675},[676,677,678,679],{"id":147,"languages_code":113,"label":148,"description":150,"slug":149},{"id":155,"languages_code":116,"label":148,"description":156,"slug":149},{"id":119,"languages_code":124,"label":148,"description":158,"slug":149},{"id":123,"languages_code":120,"label":148,"description":160,"slug":149},{"id":22,"status":4,"sort":50,"label":162,"alternative_label":8,"slug":163,"description":164,"documentation_link":165,"loc_icon":166,"is_official_plugin":93,"is_universal_plugin":93,"universal_plugin_vendor":8,"translations":681},[682,683,684,685,686,687,688,689],{"id":22,"languages_code":113,"label":162,"description":164,"slug":163},{"id":170,"languages_code":116,"label":171,"description":172,"slug":8},{"id":174,"languages_code":124,"label":162,"description":164,"slug":163},{"id":142,"languages_code":120,"label":176,"description":177,"slug":8},{"id":179,"languages_code":116,"label":180,"description":181,"slug":163},{"id":183,"languages_code":124,"label":162,"description":164,"slug":163},{"id":185,"languages_code":120,"label":176,"description":177,"slug":163},{"id":187,"languages_code":188,"label":189,"description":190,"slug":8},{"id":16,"status":4,"sort":147,"label":192,"alternative_label":193,"slug":194,"description":195,"documentation_link":196,"loc_icon":197,"is_official_plugin":93,"is_universal_plugin":93,"universal_plugin_vendor":8,"translations":691},[692,693,694,695,696],{"id":16,"languages_code":113,"label":192,"description":195,"slug":194},{"id":201,"languages_code":116,"label":202,"description":203,"slug":8},{"id":205,"languages_code":124,"label":192,"description":195,"slug":194},{"id":207,"languages_code":120,"label":208,"description":209,"slug":8},{"id":211,"languages_code":188,"label":212,"description":213,"slug":8},{"id":7,"status":4,"sort":22,"label":215,"alternative_label":216,"slug":217,"description":218,"documentation_link":219,"loc_icon":217,"is_official_plugin":93,"is_universal_plugin":93,"universal_plugin_vendor":8,"translations":698},[699,700,701,702,703],{"id":7,"languages_code":113,"label":215,"description":218,"slug":217},{"id":223,"languages_code":116,"label":224,"description":225,"slug":217},{"id":227,"languages_code":124,"label":215,"description":218,"slug":217},{"id":229,"languages_code":120,"label":230,"description":231,"slug":217},{"id":233,"languages_code":188,"label":234,"description":235,"slug":8},[],{"id":7,"status":4,"sort":22,"label":215,"alternative_label":216,"slug":217,"description":218,"documentation_link":219,"loc_icon":217,"is_official_plugin":93,"is_universal_plugin":93,"universal_plugin_vendor":8,"translations":706},[707,708,709,710,711],{"id":7,"languages_code":113,"label":215,"description":218,"slug":217},{"id":223,"languages_code":116,"label":224,"description":225,"slug":217},{"id":227,"languages_code":124,"label":215,"description":218,"slug":217},{"id":229,"languages_code":120,"label":230,"description":231,"slug":217},{"id":233,"languages_code":188,"label":234,"description":235,"slug":8},[],[714],{"languages_code":113,"name":625,"slug":626,"description":627,"support_type":629,"meta_title":8,"meta_description":8,"marketing_subtitle":96,"tile_subtitle":630,"tile_description":631,"id":623,"platforms_id":623,"docs_link":628},{"id":541,"status":4,"created_on":716,"modified_on":716,"name":717,"slug":718,"description":719,"docs_link":720,"priority":8,"has_sdk":93,"sort":721,"highlighted":93,"in_menu":94,"changefreq":8,"support_type":629,"show_in_spa":94,"is_file_format":94,"meta_title":8,"meta_description":8,"featured_on_web":93,"marketing_subtitle":96,"tile_subtitle":722,"tile_description":723,"is_enterprise":93,"is_popular":94,"primary_use_case":8,"hierarchy_handling":8,"best_for":8,"file_extension":8,"format_code_example":8,"format_to_extension":724,"upload_features":725,"icon":726,"meta_image":728,"primary_tag":730,"tags":737,"integration_methods":766,"recommended_methods":797,"default_integration_method":798,"faq_categories":805,"translations":806,"platforms_id":541},"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":718},[],{"id":727},"25f317fe-0c10-4f0b-92cd-f80d1f3c6a67",{"id":729},"490022f9-d91a-4e1a-9e79-db374ec997c2",{"id":147,"status":4,"sort":50,"created_on":135,"label":557,"hidden":93,"icon":731,"translations":732},{"id":559},[733,734,735,736],{"id":147,"languages_code":113,"label":557},{"id":563,"languages_code":116,"label":564},{"id":174,"languages_code":120,"label":566},{"id":568,"languages_code":124,"label":557},[738,745,756],{"id":147,"status":4,"sort":50,"label":557,"hidden":93,"created_on":135,"icon":739,"translations":740},{"id":559},[741,742,743,744],{"id":147,"languages_code":113,"label":557},{"id":563,"languages_code":116,"label":564},{"id":174,"languages_code":120,"label":566},{"id":568,"languages_code":124,"label":557},{"id":746,"status":4,"sort":746,"label":747,"hidden":94,"created_on":135,"icon":8,"translations":748},34,"C++",[749,750,752,754],{"id":746,"languages_code":113,"label":747},{"id":751,"languages_code":116,"label":747},135,{"id":753,"languages_code":120,"label":747},140,{"id":755,"languages_code":124,"label":747},144,{"id":623,"status":4,"sort":721,"label":757,"hidden":94,"created_on":135,"icon":8,"translations":758},"Gettext",[759,760,762,764],{"id":623,"languages_code":113,"label":757},{"id":761,"languages_code":116,"label":757},101,{"id":763,"languages_code":120,"label":757},106,{"id":765,"languages_code":124,"label":757},111,[767,773,783,790],{"id":147,"status":4,"sort":57,"label":148,"alternative_label":8,"slug":149,"description":150,"documentation_link":151,"loc_icon":149,"is_official_plugin":93,"is_universal_plugin":93,"universal_plugin_vendor":8,"translations":768},[769,770,771,772],{"id":147,"languages_code":113,"label":148,"description":150,"slug":149},{"id":155,"languages_code":116,"label":148,"description":156,"slug":149},{"id":119,"languages_code":124,"label":148,"description":158,"slug":149},{"id":123,"languages_code":120,"label":148,"description":160,"slug":149},{"id":22,"status":4,"sort":50,"label":162,"alternative_label":8,"slug":163,"description":164,"documentation_link":165,"loc_icon":166,"is_official_plugin":93,"is_universal_plugin":93,"universal_plugin_vendor":8,"translations":774},[775,776,777,778,779,780,781,782],{"id":22,"languages_code":113,"label":162,"description":164,"slug":163},{"id":170,"languages_code":116,"label":171,"description":172,"slug":8},{"id":174,"languages_code":124,"label":162,"description":164,"slug":163},{"id":142,"languages_code":120,"label":176,"description":177,"slug":8},{"id":179,"languages_code":116,"label":180,"description":181,"slug":163},{"id":183,"languages_code":124,"label":162,"description":164,"slug":163},{"id":185,"languages_code":120,"label":176,"description":177,"slug":163},{"id":187,"languages_code":188,"label":189,"description":190,"slug":8},{"id":16,"status":4,"sort":147,"label":192,"alternative_label":193,"slug":194,"description":195,"documentation_link":196,"loc_icon":197,"is_official_plugin":93,"is_universal_plugin":93,"universal_plugin_vendor":8,"translations":784},[785,786,787,788,789],{"id":16,"languages_code":113,"label":192,"description":195,"slug":194},{"id":201,"languages_code":116,"label":202,"description":203,"slug":8},{"id":205,"languages_code":124,"label":192,"description":195,"slug":194},{"id":207,"languages_code":120,"label":208,"description":209,"slug":8},{"id":211,"languages_code":188,"label":212,"description":213,"slug":8},{"id":7,"status":4,"sort":22,"label":215,"alternative_label":216,"slug":217,"description":218,"documentation_link":219,"loc_icon":217,"is_official_plugin":93,"is_universal_plugin":93,"universal_plugin_vendor":8,"translations":791},[792,793,794,795,796],{"id":7,"languages_code":113,"label":215,"description":218,"slug":217},{"id":223,"languages_code":116,"label":224,"description":225,"slug":217},{"id":227,"languages_code":124,"label":215,"description":218,"slug":217},{"id":229,"languages_code":120,"label":230,"description":231,"slug":217},{"id":233,"languages_code":188,"label":234,"description":235,"slug":8},[],{"id":7,"status":4,"sort":22,"label":215,"alternative_label":216,"slug":217,"description":218,"documentation_link":219,"loc_icon":217,"is_official_plugin":93,"is_universal_plugin":93,"universal_plugin_vendor":8,"translations":799},[800,801,802,803,804],{"id":7,"languages_code":113,"label":215,"description":218,"slug":217},{"id":223,"languages_code":116,"label":224,"description":225,"slug":217},{"id":227,"languages_code":124,"label":215,"description":218,"slug":217},{"id":229,"languages_code":120,"label":230,"description":231,"slug":217},{"id":233,"languages_code":188,"label":234,"description":235,"slug":8},[],[807],{"languages_code":113,"name":717,"slug":718,"description":719,"support_type":629,"meta_title":8,"meta_description":8,"marketing_subtitle":96,"tile_subtitle":722,"tile_description":723,"id":541,"platforms_id":541,"docs_link":720},{"id":809,"status":4,"created_on":447,"modified_on":810,"name":811,"slug":812,"description":813,"docs_link":814,"priority":8,"has_sdk":93,"sort":815,"highlighted":93,"in_menu":94,"changefreq":8,"support_type":629,"show_in_spa":94,"is_file_format":94,"meta_title":8,"meta_description":8,"featured_on_web":93,"marketing_subtitle":96,"tile_subtitle":816,"tile_description":817,"is_enterprise":93,"is_popular":93,"primary_use_case":818,"hierarchy_handling":819,"best_for":820,"file_extension":821,"format_code_example":822,"format_to_extension":823,"upload_features":824,"icon":825,"meta_image":826,"primary_tag":828,"tags":835,"integration_methods":853,"recommended_methods":884,"default_integration_method":885,"faq_categories":892,"translations":895,"platforms_id":809},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":812},[],{"id":727},{"id":827},"1f07bf83-9363-47d6-b21b-a5121c0efaf6",{"id":147,"status":4,"sort":50,"created_on":135,"label":557,"hidden":93,"icon":829,"translations":830},{"id":559},[831,832,833,834],{"id":147,"languages_code":113,"label":557},{"id":563,"languages_code":116,"label":564},{"id":174,"languages_code":120,"label":566},{"id":568,"languages_code":124,"label":557},[836,843],{"id":147,"status":4,"sort":50,"label":557,"hidden":93,"created_on":135,"icon":837,"translations":838},{"id":559},[839,840,841,842],{"id":147,"languages_code":113,"label":557},{"id":563,"languages_code":116,"label":564},{"id":174,"languages_code":120,"label":566},{"id":568,"languages_code":124,"label":557},{"id":721,"status":4,"sort":809,"label":844,"hidden":94,"created_on":135,"icon":8,"translations":845},"C#",[846,847,849,851],{"id":721,"languages_code":113,"label":844},{"id":848,"languages_code":116,"label":844},103,{"id":850,"languages_code":120,"label":844},108,{"id":852,"languages_code":124,"label":844},113,[854,860,870,877],{"id":147,"status":4,"sort":57,"label":148,"alternative_label":8,"slug":149,"description":150,"documentation_link":151,"loc_icon":149,"is_official_plugin":93,"is_universal_plugin":93,"universal_plugin_vendor":8,"translations":855},[856,857,858,859],{"id":147,"languages_code":113,"label":148,"description":150,"slug":149},{"id":155,"languages_code":116,"label":148,"description":156,"slug":149},{"id":119,"languages_code":124,"label":148,"description":158,"slug":149},{"id":123,"languages_code":120,"label":148,"description":160,"slug":149},{"id":22,"status":4,"sort":50,"label":162,"alternative_label":8,"slug":163,"description":164,"documentation_link":165,"loc_icon":166,"is_official_plugin":93,"is_universal_plugin":93,"universal_plugin_vendor":8,"translations":861},[862,863,864,865,866,867,868,869],{"id":22,"languages_code":113,"label":162,"description":164,"slug":163},{"id":170,"languages_code":116,"label":171,"description":172,"slug":8},{"id":174,"languages_code":124,"label":162,"description":164,"slug":163},{"id":142,"languages_code":120,"label":176,"description":177,"slug":8},{"id":179,"languages_code":116,"label":180,"description":181,"slug":163},{"id":183,"languages_code":124,"label":162,"description":164,"slug":163},{"id":185,"languages_code":120,"label":176,"description":177,"slug":163},{"id":187,"languages_code":188,"label":189,"description":190,"slug":8},{"id":16,"status":4,"sort":147,"label":192,"alternative_label":193,"slug":194,"description":195,"documentation_link":196,"loc_icon":197,"is_official_plugin":93,"is_universal_plugin":93,"universal_plugin_vendor":8,"translations":871},[872,873,874,875,876],{"id":16,"languages_code":113,"label":192,"description":195,"slug":194},{"id":201,"languages_code":116,"label":202,"description":203,"slug":8},{"id":205,"languages_code":124,"label":192,"description":195,"slug":194},{"id":207,"languages_code":120,"label":208,"description":209,"slug":8},{"id":211,"languages_code":188,"label":212,"description":213,"slug":8},{"id":7,"status":4,"sort":22,"label":215,"alternative_label":216,"slug":217,"description":218,"documentation_link":219,"loc_icon":217,"is_official_plugin":93,"is_universal_plugin":93,"universal_plugin_vendor":8,"translations":878},[879,880,881,882,883],{"id":7,"languages_code":113,"label":215,"description":218,"slug":217},{"id":223,"languages_code":116,"label":224,"description":225,"slug":217},{"id":227,"languages_code":124,"label":215,"description":218,"slug":217},{"id":229,"languages_code":120,"label":230,"description":231,"slug":217},{"id":233,"languages_code":188,"label":234,"description":235,"slug":8},[],{"id":7,"status":4,"sort":22,"label":215,"alternative_label":216,"slug":217,"description":218,"documentation_link":219,"loc_icon":217,"is_official_plugin":93,"is_universal_plugin":93,"universal_plugin_vendor":8,"translations":886},[887,888,889,890,891],{"id":7,"languages_code":113,"label":215,"description":218,"slug":217},{"id":223,"languages_code":116,"label":224,"description":225,"slug":217},{"id":227,"languages_code":124,"label":215,"description":218,"slug":217},{"id":229,"languages_code":120,"label":230,"description":231,"slug":217},{"id":233,"languages_code":188,"label":234,"description":235,"slug":8},[893],{"id":563,"status":4,"created_on":894,"sort":8,"slug":812,"label":811,"on_faq_index":8},"2022-08-01T16:44:06.000Z",[896],{"languages_code":113,"name":811,"slug":812,"description":813,"support_type":629,"meta_title":8,"meta_description":8,"marketing_subtitle":96,"tile_subtitle":816,"tile_description":817,"id":809,"platforms_id":809,"docs_link":814},{"id":898,"status":4,"created_on":899,"modified_on":900,"name":901,"slug":902,"description":903,"docs_link":904,"priority":8,"has_sdk":8,"sort":905,"highlighted":93,"in_menu":94,"changefreq":8,"support_type":906,"show_in_spa":94,"is_file_format":8,"meta_title":8,"meta_description":8,"featured_on_web":94,"marketing_subtitle":906,"tile_subtitle":906,"tile_description":907,"is_enterprise":93,"is_popular":94,"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":908,"meta_image":910,"primary_tag":912,"tags":924,"integration_methods":973,"recommended_methods":993,"default_integration_method":994,"faq_categories":1001,"translations":1004,"platforms_id":898},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":909},"cde7f1d0-f2e0-4243-929e-a3f8f9146e69",{"id":911},"5995b721-a2ea-487e-ad4b-298a489bbd24",{"id":29,"status":4,"sort":36,"created_on":135,"label":913,"hidden":93,"icon":914,"translations":916},"CMS",{"id":915},"1172a655-928c-4594-9263-d8afdfd9cd79",[917,918,920,922],{"id":29,"languages_code":113,"label":913},{"id":919,"languages_code":116,"label":913},73,{"id":921,"languages_code":120,"label":913},81,{"id":923,"languages_code":124,"label":913},84,[925,939,952,959],{"id":926,"status":4,"sort":927,"label":928,"hidden":93,"created_on":135,"icon":8,"translations":929},18,17,"Multilingual SEO",[930,931,934,937],{"id":926,"languages_code":113,"label":928},{"id":932,"languages_code":116,"label":933},89,"SEO multilingüe",{"id":935,"languages_code":120,"label":936},94,"Vícejazyčné SEO",{"id":938,"languages_code":124,"label":928},99,{"id":86,"status":4,"sort":86,"label":940,"hidden":93,"created_on":135,"icon":941,"translations":943},"E-commerce",{"id":942},"e782ed3f-d954-45ca-8b17-5bf5fe95f30a",[944,945,948,950],{"id":86,"languages_code":113,"label":940},{"id":946,"languages_code":116,"label":947},132,"Comercio electrónico",{"id":949,"languages_code":120,"label":940},137,{"id":951,"languages_code":124,"label":940},142,{"id":29,"status":4,"sort":36,"label":913,"hidden":93,"created_on":135,"icon":953,"translations":954},{"id":915},[955,956,957,958],{"id":29,"languages_code":113,"label":913},{"id":919,"languages_code":116,"label":913},{"id":921,"languages_code":120,"label":913},{"id":923,"languages_code":124,"label":913},{"id":16,"status":4,"sort":57,"label":960,"hidden":93,"created_on":135,"icon":961,"translations":963},"Marketing tools",{"id":962},"098fe6a4-dd2e-42d8-937e-2d8121e6e266",[964,965,968,971],{"id":16,"languages_code":113,"label":960},{"id":966,"languages_code":116,"label":967},43,"Herramientas de marketing",{"id":969,"languages_code":120,"label":970},48,"Marketingové nástroje",{"id":972,"languages_code":124,"label":960},58,[974],{"id":67,"status":4,"sort":8,"label":975,"alternative_label":976,"slug":977,"description":978,"documentation_link":979,"loc_icon":980,"is_official_plugin":94,"is_universal_plugin":93,"universal_plugin_vendor":8,"translations":981},"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",[982,983,986,987,990],{"id":67,"languages_code":113,"label":975,"description":978,"slug":977},{"id":966,"languages_code":116,"label":984,"description":985,"slug":8},"Complemento Oficial de Strapi","Nuestros desarrolladores mantienen un complemento oficial de localización de Strapi. ¡Empiece en unos pocos clics!",{"id":139,"languages_code":124,"label":975,"description":978,"slug":977},{"id":568,"languages_code":120,"label":988,"description":989,"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":932,"languages_code":188,"label":991,"description":992,"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":975,"alternative_label":976,"slug":977,"description":978,"documentation_link":979,"loc_icon":980,"is_official_plugin":94,"is_universal_plugin":93,"universal_plugin_vendor":8,"translations":995},[996,997,998,999,1000],{"id":67,"languages_code":113,"label":975,"description":978,"slug":977},{"id":966,"languages_code":116,"label":984,"description":985,"slug":8},{"id":139,"languages_code":124,"label":975,"description":978,"slug":977},{"id":568,"languages_code":120,"label":988,"description":989,"slug":8},{"id":932,"languages_code":188,"label":991,"description":992,"slug":8},[1002],{"id":223,"status":4,"created_on":1003,"sort":8,"slug":902,"label":901,"on_faq_index":8},"2022-06-16T09:24:13.000Z",[1005],{"languages_code":113,"name":901,"slug":902,"description":903,"support_type":906,"meta_title":8,"meta_description":8,"marketing_subtitle":906,"tile_subtitle":906,"tile_description":907,"id":898,"platforms_id":898,"docs_link":904},{"id":142,"status":4,"created_on":447,"modified_on":1007,"name":1008,"slug":1009,"description":8,"docs_link":1010,"priority":8,"has_sdk":93,"sort":229,"highlighted":93,"in_menu":94,"changefreq":8,"support_type":1011,"show_in_spa":94,"is_file_format":93,"meta_title":8,"meta_description":8,"featured_on_web":94,"marketing_subtitle":1012,"tile_subtitle":1013,"tile_description":1014,"is_enterprise":93,"is_popular":94,"primary_use_case":8,"hierarchy_handling":8,"best_for":8,"file_extension":8,"format_code_example":8,"format_to_extension":8,"upload_features":1015,"icon":1016,"meta_image":1018,"primary_tag":1020,"tags":1034,"integration_methods":1042,"recommended_methods":1058,"default_integration_method":1059,"faq_categories":1065,"translations":1066,"platforms_id":142},"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":1017},"813745a4-a77d-4735-93b7-e0dd731b2304",{"id":1019},"7573fed6-8817-4cb4-84d2-be327e6c4891",{"id":22,"status":4,"sort":62,"created_on":135,"label":1021,"hidden":93,"icon":1022,"translations":1024},"Design tools",{"id":1023},"1053d863-b690-4fbd-aadf-dbf2ba282768",[1025,1026,1029,1032],{"id":22,"languages_code":113,"label":1021},{"id":1027,"languages_code":116,"label":1028},42,"Herramientas de diseño",{"id":1030,"languages_code":120,"label":1031},49,"Nástroje pro návrh",{"id":1033,"languages_code":124,"label":1021},57,[1035],{"id":22,"status":4,"sort":62,"label":1021,"hidden":93,"created_on":135,"icon":1036,"translations":1037},{"id":1023},[1038,1039,1040,1041],{"id":22,"languages_code":113,"label":1021},{"id":1027,"languages_code":116,"label":1028},{"id":1030,"languages_code":120,"label":1031},{"id":1033,"languages_code":124,"label":1021},[1043],{"id":62,"status":4,"sort":8,"label":976,"alternative_label":976,"slug":1044,"description":1045,"documentation_link":1046,"loc_icon":980,"is_official_plugin":94,"is_universal_plugin":93,"universal_plugin_vendor":8,"translations":1047},"official-plugin","Our developers maintain an official plugin for this integration. Start in a few clicks!","\u002Fdocs",[1048,1049,1053,1055],{"id":62,"languages_code":113,"label":976,"description":1045,"slug":1044},{"id":1050,"languages_code":116,"label":1051,"description":1052,"slug":8},23,"Plugin Oficial","Nuestros desarrolladores mantienen un plugin oficial para esta integración. ¡Empiece con unos pocos clics!",{"id":1054,"languages_code":124,"label":976,"description":1045,"slug":1044},29,{"id":532,"languages_code":120,"label":1056,"description":1057,"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":976,"alternative_label":976,"slug":1044,"description":1045,"documentation_link":1046,"loc_icon":980,"is_official_plugin":94,"is_universal_plugin":93,"universal_plugin_vendor":8,"translations":1060},[1061,1062,1063,1064],{"id":62,"languages_code":113,"label":976,"description":1045,"slug":1044},{"id":1050,"languages_code":116,"label":1051,"description":1052,"slug":8},{"id":1054,"languages_code":124,"label":976,"description":1045,"slug":1044},{"id":532,"languages_code":120,"label":1056,"description":1057,"slug":8},[],[1067],{"languages_code":113,"name":1008,"slug":1009,"description":8,"support_type":1011,"meta_title":8,"meta_description":8,"marketing_subtitle":1012,"tile_subtitle":1013,"tile_description":1014,"id":142,"platforms_id":142,"docs_link":1010},[1069,1250,1462,1565,1693,1697],{"id":16,"name":1070,"url":8,"url_text":8,"status":4,"groups":1071},"Solutions",[1072,1081,1148,1180],{"navigation_items_group_id":1073},{"id":22,"sort":50,"status":4,"name":1074,"render_show_all_url":93,"show_all_url_position":1075,"show_favorite_icon":94,"show_all_url":8,"represent_as_tile":93,"items":1076},"Featured Article","top",[1077],{"collection":1078,"item":1079},"blog_post_navigation_item_type",{"id":147,"status":4,"sort":8,"show_author_img":94,"blog_post_tag":1080,"description":8},"nav",{"navigation_items_group_id":1082},{"id":50,"sort":7,"status":4,"name":1083,"render_show_all_url":93,"show_all_url_position":1075,"show_favorite_icon":93,"show_all_url":1084,"represent_as_tile":94,"items":1085},"Your Role","\u002Froles",[1086,1098,1108,1118,1128,1138],{"collection":1087,"item":1088},"relation_navigation_item_type",{"id":7,"status":4,"sort":8,"name":1089,"item":1090},"CMO",[1091],{"collection":1092,"item":1093},"personas",{"id":7,"status":4,"sort":8,"slug":1094,"icon":1095},"chief-marketing-officers",{"id":1096,"title":1097},"526097d8-176f-48e5-83d3-2fc4d77061f9","La Mail Bulk",{"collection":1087,"item":1099},{"id":22,"status":4,"sort":8,"name":1100,"item":1101},"CTO",[1102],{"collection":1092,"item":1103},{"id":147,"status":4,"sort":8,"slug":1104,"icon":1105},"chief-technical-officers",{"id":1106,"title":1107},"f808fdf0-c78b-4294-ba59-fe25f46fe825","La Mechanic",{"collection":1087,"item":1109},{"id":541,"status":4,"sort":8,"name":1110,"item":1111},"Product Manager",[1112],{"collection":1092,"item":1113},{"id":926,"status":4,"sort":8,"slug":1114,"icon":1115},"product-managers",{"id":1116,"title":1117},"ea39586a-21fc-4b34-ba87-496028e5198f","La Worker",{"collection":1087,"item":1119},{"id":223,"status":4,"sort":8,"name":1120,"item":1121},"Translator",[1122],{"collection":1092,"item":1123},{"id":541,"status":4,"sort":8,"slug":1124,"icon":1125},"professional-translators",{"id":1126,"title":1127},"07945171-d51d-4ca8-96c0-21cde9db258f","La Chat",{"collection":1087,"item":1129},{"id":201,"status":4,"sort":8,"name":1130,"item":1131},"Developer",[1132],{"collection":1092,"item":1133},{"id":392,"status":4,"sort":8,"slug":1134,"icon":1135},"software-developers",{"id":1136,"title":1137},"1806e46d-c551-4845-bf42-4407344d229e","La Terminal",{"collection":1087,"item":1139},{"id":815,"status":4,"sort":8,"name":1140,"item":1141},"Localization Manager",[1142],{"collection":1092,"item":1143},{"id":57,"status":4,"sort":8,"slug":1144,"icon":1145},"localization-managers",{"id":1146,"title":1147},"dac69bd1-bf5d-41d0-87d4-dd13e314698a","La Language",{"navigation_items_group_id":1149},{"id":72,"sort":22,"status":4,"name":1150,"render_show_all_url":93,"show_all_url_position":1151,"show_favorite_icon":93,"show_all_url":8,"represent_as_tile":93,"items":1152},"Use cases","bottom",[1153,1158,1162,1167,1171,1176],{"collection":1154,"item":1155},"simple_link_navigation_item_type",{"id":721,"status":4,"sort":8,"url":1156,"url_text":1157,"show_favorite_icon":93},"https:\u002F\u002Flocalazy.com\u002Fuse-cases\u002Fsoftware-localization","Software localization",{"collection":1154,"item":1159},{"id":809,"status":4,"sort":8,"url":1160,"url_text":1161,"show_favorite_icon":93},"https:\u002F\u002Flocalazy.com\u002Fuse-cases\u002Fmobile-app-localization","Mobile app localization",{"collection":1154,"item":1163},{"id":1164,"status":4,"sort":8,"url":1165,"url_text":1166,"show_favorite_icon":93},25,"https:\u002F\u002Flocalazy.com\u002Fuse-cases\u002Fwebsite-localization","Website localization",{"collection":1154,"item":1168},{"id":815,"status":4,"sort":8,"url":1169,"url_text":1170,"show_favorite_icon":93},"https:\u002F\u002Flocalazy.com\u002Fuse-cases\u002Fdesign-localization","Design localization",{"collection":1154,"item":1172},{"id":1173,"status":4,"sort":8,"url":1174,"url_text":1175,"show_favorite_icon":93},28,"https:\u002F\u002Flocalazy.com\u002Fuse-cases\u002Fgame-localization","Game localization",{"collection":1154,"item":1177},{"id":1054,"status":4,"sort":8,"url":1178,"url_text":1179,"show_favorite_icon":93},"https:\u002F\u002Flocalazy.com\u002Fuse-cases\u002Fhelp-and-docs-localization","Help & docs localization",{"navigation_items_group_id":1181},{"id":67,"sort":16,"status":4,"name":1182,"render_show_all_url":93,"show_all_url_position":1151,"show_favorite_icon":93,"show_all_url":8,"represent_as_tile":93,"items":1183},"Industry",[1184,1194,1204,1213,1223,1232,1243],{"collection":1087,"item":1185},{"id":1050,"status":4,"sort":8,"name":1186,"item":1187},"Digital Agencies",[1188],{"collection":1092,"item":1189},{"id":62,"status":4,"sort":8,"slug":1190,"icon":1191},"digital-agencies",{"id":1192,"title":1193},"547f5619-b21d-4b29-86f1-8b2200313cde","La Digi Agency",{"collection":1087,"item":1195},{"id":170,"status":4,"sort":8,"name":1196,"item":1197},"Startups & SaaS",[1198],{"collection":1092,"item":1199},{"id":16,"status":4,"sort":8,"slug":1200,"icon":1201},"startups",{"id":1202,"title":1203},"da1516e2-4afc-40a2-bcbf-a8161e2d610d","La Saa S",{"collection":1087,"item":1205},{"id":16,"status":4,"sort":8,"name":940,"item":1206},[1207],{"collection":1092,"item":1208},{"id":50,"status":4,"sort":8,"slug":1209,"icon":1210},"e-commerce",{"id":1211,"title":1212},"a3d09cd2-054f-4bb5-a0a2-d3d207db65df","La Ecommerce",{"collection":1087,"item":1214},{"id":253,"status":4,"sort":8,"name":1215,"item":1216},"FinTech Platforms",[1217],{"collection":1092,"item":1218},{"id":815,"status":4,"sort":8,"slug":1219,"icon":1220},"fintech",{"id":1221,"title":1222},"147339ba-07d1-4e5e-baad-23d27e60c919","La Money",{"collection":1087,"item":1224},{"id":721,"status":4,"sort":8,"name":1225,"item":1226},"Translation Agencies",[1227],{"collection":1092,"item":1228},{"id":721,"status":4,"sort":8,"slug":1229,"icon":1230},"translation-agencies",{"id":1231,"title":1147},"15d6fe33-2af8-4d6e-933d-5caa64394511",{"collection":1087,"item":1233},{"id":1234,"status":4,"sort":8,"name":1235,"item":1236},22,"Travel & Tourism",[1237],{"collection":1092,"item":1238},{"id":22,"status":4,"sort":8,"slug":1239,"icon":1240},"tourism",{"id":1241,"title":1242},"23a785e8-0ae5-4c4b-8452-aab1b58182a6","La Travel",{"collection":1087,"item":1244},{"id":1164,"status":4,"sort":8,"name":1245,"item":1246},"Nonprofit Causes",[1247],{"collection":1092,"item":1248},{"id":1173,"status":4,"sort":8,"slug":1249,"icon":8},"nonprofit",{"id":50,"name":1251,"url":8,"url_text":8,"status":4,"groups":1252},"Features",[1253,1312,1363,1409],{"navigation_items_group_id":1254},{"id":36,"sort":57,"status":4,"name":1255,"render_show_all_url":93,"show_all_url_position":1075,"show_favorite_icon":93,"show_all_url":8,"represent_as_tile":93,"items":1256},"Localization",[1257,1265,1273,1280,1287,1291,1298,1305],{"collection":1087,"item":1258},{"id":563,"status":4,"sort":8,"name":1259,"item":1260},"Localization services",[1261],{"collection":1262,"item":1263},"products",{"id":72,"status":4,"slug":1264},"continuous-localization-team",{"collection":1087,"item":1266},{"id":115,"status":4,"sort":8,"name":1267,"item":1268},"Translation management",[1269],{"collection":1270,"item":1271},"term_landing_page",{"id":1054,"status":4,"slug":1272},"translation-management-system",{"collection":1087,"item":1274},{"id":227,"status":4,"sort":8,"name":1275,"item":1276},"Context Screenshots",[1277],{"collection":1262,"item":1278},{"id":43,"status":4,"slug":1279},"context-screenshots-ocr",{"collection":1087,"item":1281},{"id":205,"status":4,"sort":8,"name":1282,"item":1283},"Translation Glossary",[1284],{"collection":1262,"item":1285},{"id":927,"status":4,"slug":1286},"glossary",{"collection":1154,"item":1288},{"id":147,"status":4,"sort":8,"url":1289,"url_text":1290,"show_favorite_icon":93},"\u002Fdocs\u002Fgeneral\u002Freviewing-translations","Quality control",{"collection":1087,"item":1292},{"id":746,"status":4,"sort":8,"name":1293,"item":1294},"Connected Projects",[1295],{"collection":1262,"item":1296},{"id":7,"status":4,"slug":1297},"connected-projects",{"collection":1087,"item":1299},{"id":179,"status":4,"sort":8,"name":1300,"item":1301},"Plural handling",[1302],{"collection":1262,"item":1303},{"id":393,"status":4,"slug":1304},"plurals",{"collection":1087,"item":1306},{"id":183,"status":4,"sort":8,"name":1307,"item":1308},"Style guides",[1309],{"collection":1262,"item":1310},{"id":201,"status":4,"slug":1311},"style-guide",{"navigation_items_group_id":1313},{"id":29,"sort":62,"status":4,"name":1314,"render_show_all_url":93,"show_all_url_position":1075,"show_favorite_icon":93,"show_all_url":8,"represent_as_tile":93,"items":1315},"Translation",[1316,1323,1330,1334,1341,1348,1356],{"collection":1087,"item":1317},{"id":618,"status":4,"sort":8,"name":1318,"item":1319},"Professional translations",[1320],{"collection":1270,"item":1321},{"id":392,"status":4,"slug":1322},"professional-translation-services",{"collection":1087,"item":1324},{"id":969,"status":4,"sort":8,"name":1325,"item":1326},"Crowdsourced translations",[1327],{"collection":1262,"item":1328},{"id":67,"status":4,"slug":1329},"share-tm",{"collection":1154,"item":1331},{"id":50,"status":4,"sort":8,"url":1332,"url_text":1333,"show_favorite_icon":93},"\u002Fdocs\u002Fgeneral\u002Ftranslating-strings","Translation interface",{"collection":1087,"item":1335},{"id":229,"status":4,"sort":8,"name":1336,"item":1337},"Machine translations",[1338],{"collection":1262,"item":1339},{"id":50,"status":4,"slug":1340},"machine-translation",{"collection":1087,"item":1342},{"id":142,"status":4,"sort":8,"name":1343,"item":1344},"Localazy AI translation",[1345],{"collection":1262,"item":1346},{"id":1054,"status":4,"slug":1347},"localazy-ai",{"collection":1087,"item":1349},{"id":1350,"status":4,"sort":8,"name":1351,"item":1352},61,"Translation Memory",[1353],{"collection":1262,"item":1354},{"id":532,"status":4,"slug":1355},"translation-memory",{"collection":1087,"item":1357},{"id":469,"status":4,"sort":8,"name":1358,"item":1359},"Code & placeholders",[1360],{"collection":1262,"item":1361},{"id":392,"status":4,"slug":1362},"code-and-placeholders",{"navigation_items_group_id":1364},{"id":43,"sort":67,"status":4,"name":1365,"render_show_all_url":93,"show_all_url_position":1075,"show_favorite_icon":93,"show_all_url":8,"represent_as_tile":93,"items":1366},"Management",[1367,1371,1378,1386,1394,1401,1405],{"collection":1154,"item":1368},{"id":67,"status":4,"sort":8,"url":1369,"url_text":1370,"show_favorite_icon":93},"\u002Fdocs\u002Fgeneral\u002Fdefining-user-roles","User roles",{"collection":1087,"item":1372},{"id":174,"status":4,"sort":8,"name":1373,"item":1374},"Duplicity Linking",[1375],{"collection":1262,"item":1376},{"id":253,"status":4,"slug":1377},"duplicity-linking",{"collection":1087,"item":1379},{"id":1380,"status":4,"sort":8,"name":1381,"item":1382},52,"Language Permissions",[1383],{"collection":1262,"item":1384},{"id":623,"status":4,"slug":1385},"language-permissions",{"collection":1087,"item":1387},{"id":139,"status":1388,"sort":8,"name":1389,"item":1390},"draft","Automations",[1391],{"collection":1262,"item":1392},{"id":541,"status":4,"slug":1393},"automations",{"collection":1087,"item":1395},{"id":972,"status":4,"sort":8,"name":1396,"item":1397},"Branching",[1398],{"collection":1262,"item":1399},{"id":815,"status":4,"slug":1400},"branching",{"collection":1154,"item":1402},{"id":623,"status":1388,"sort":8,"url":1403,"url_text":1404,"show_favorite_icon":93},"https:\u002F\u002Flocalazy.com\u002Fdocs\u002Fgeneral\u002Fsso-configuration","SSO",{"collection":1154,"item":1406},{"id":1234,"status":1388,"sort":8,"url":1407,"url_text":1408,"show_favorite_icon":93},"https:\u002F\u002Flocalazy.com\u002Fdocs\u002Fgeneral\u002Flanguage-statistics","Reporting",{"navigation_items_group_id":1410},{"id":1411,"sort":72,"status":4,"name":1412,"render_show_all_url":93,"show_all_url_position":1075,"show_favorite_icon":93,"show_all_url":8,"represent_as_tile":93,"items":1413},14,"Development",[1414,1421,1427,1434,1441,1448,1455],{"collection":1087,"item":1415},{"id":1054,"status":4,"sort":8,"name":1416,"item":1417},"Translation API",[1418],{"collection":1262,"item":1419},{"id":36,"status":4,"slug":1420},"translation-api",{"collection":1087,"item":1422},{"id":86,"status":4,"sort":8,"name":1423,"item":1424},"Localazy CLI",[1425],{"collection":1262,"item":1426},{"id":62,"status":4,"slug":217},{"collection":1087,"item":1428},{"id":393,"status":4,"sort":8,"name":1429,"item":1430},"Language CDN",[1431],{"collection":1262,"item":1432},{"id":147,"status":4,"slug":1433},"language-cdn",{"collection":1087,"item":1435},{"id":1173,"status":4,"sort":8,"name":1436,"item":1437},"Releases",[1438],{"collection":1262,"item":1439},{"id":57,"status":4,"slug":1440},"releases",{"collection":1087,"item":1442},{"id":1033,"status":1388,"sort":8,"name":1443,"item":1444},"Format Conversions",[1445],{"collection":1262,"item":1446},{"id":16,"status":4,"slug":1447},"format-conversions",{"collection":1087,"item":1449},{"id":123,"status":4,"sort":8,"name":1450,"item":1451},"Webhooks",[1452],{"collection":1262,"item":1453},{"id":446,"status":4,"slug":1454},"webhooks",{"collection":1087,"item":1456},{"id":568,"status":4,"sort":8,"name":1457,"item":1458},"Export Aliases",[1459],{"collection":1262,"item":1460},{"id":86,"status":4,"slug":1461},"export-aliases",{"id":147,"name":1463,"url":8,"url_text":8,"status":4,"groups":1464},"Integrations",[1465,1555],{"navigation_items_group_id":1466},{"id":62,"sort":77,"status":4,"name":1467,"render_show_all_url":93,"show_all_url_position":1075,"show_favorite_icon":93,"show_all_url":8,"represent_as_tile":93,"items":1468},"Most popular",[1469],{"collection":1087,"item":1470},{"id":29,"status":4,"sort":8,"name":1463,"item":1471},[1472,1480,1487,1491,1495,1502,1506,1513,1517,1521,1525,1529,1533,1540,1547],{"collection":1473,"item":1474},"platforms",{"id":57,"status":4,"sort":7,"slug":1475,"name":1476,"icon":1477},"android","Android",{"id":1478,"title":1479},"ff965add-53b0-44ad-b27c-ea4ef641d384","Ic Outline Android",{"collection":1473,"item":1481},{"id":62,"status":4,"sort":16,"slug":1482,"name":1483,"icon":1484},"ios","iOS",{"id":1485,"title":1486},"886285d7-816a-4430-b5a5-edfe307b238e","Ios",{"collection":1473,"item":1488},{"id":86,"status":4,"sort":22,"slug":90,"name":89,"icon":1489},{"id":103,"title":1490},"Logos React",{"collection":1473,"item":1492},{"id":253,"status":4,"sort":147,"slug":256,"name":255,"icon":1493},{"id":263,"title":1494},"Vue",{"collection":1473,"item":1496},{"id":1497,"status":4,"sort":50,"slug":1498,"name":1499,"icon":1500},16,"angular","Angular",{"id":1501,"title":1499},"2a31a97a-48c5-4531-aa36-41c9dd0bdbef",{"collection":1473,"item":1503},{"id":7,"status":4,"sort":57,"slug":337,"name":336,"icon":1504},{"id":351,"title":1505},"Logos Flutter",{"collection":1473,"item":1507},{"id":22,"status":4,"sort":36,"slug":1508,"name":1509,"icon":1510},"typescript","TypeScript",{"id":1511,"title":1512},"8d1319b5-8a96-4199-8407-00add3418b1f","Logos Typescript Icon",{"collection":1473,"item":1514},{"id":446,"status":4,"sort":29,"slug":450,"name":449,"icon":1515},{"id":459,"title":1516},"Logos Javascript",{"collection":1473,"item":1518},{"id":29,"status":4,"sort":541,"slug":100,"name":539,"icon":1519},{"id":553,"title":1520},"Logos Json",{"collection":1473,"item":1522},{"id":623,"status":4,"sort":623,"slug":626,"name":625,"icon":1523},{"id":641,"title":1524},"Format",{"collection":1473,"item":1526},{"id":898,"status":4,"sort":905,"slug":902,"name":901,"icon":1527},{"id":909,"title":1528},"Strapi Logo Purple",{"collection":1473,"item":1530},{"id":142,"status":4,"sort":229,"slug":1009,"name":1008,"icon":1531},{"id":1017,"title":1532},"Figma Icon",{"collection":1473,"item":1534},{"id":174,"status":4,"sort":205,"slug":1535,"name":1536,"icon":1537},"microsoft-excel","Microsoft Excel",{"id":1538,"title":1539},"7a175955-7b96-4561-939f-a0e1924faa40","Excel",{"collection":1473,"item":1541},{"id":185,"status":4,"sort":1350,"slug":1542,"name":1543,"icon":1544},"github-actions","GitHub Actions",{"id":1545,"title":1546},"da17554f-ac6d-443d-9bac-1f29645ec1c6","Github Icon",{"collection":1473,"item":1548},{"id":1549,"status":4,"sort":1550,"slug":1551,"name":1552,"icon":1553},97,999,"webflow","Webflow",{"id":1554,"title":1552},"ff43a386-52f8-499f-b77c-ab9a30f4a77e",{"navigation_items_group_id":1556},{"id":147,"sort":36,"status":4,"name":1557,"render_show_all_url":93,"show_all_url_position":1075,"show_favorite_icon":93,"show_all_url":8,"represent_as_tile":93,"items":1558},"Explore more",[1559],{"collection":1560,"item":1561},"text_link_navigation_item_type",{"id":7,"status":4,"sort":8,"text":1562,"url":1563,"url_text":1564},"Localazy is a technology-agnostic platform supporting 50+ frameworks, file formats & popular tools.","\u002Fintegrations","See all integrations",{"id":7,"name":1566,"url":8,"url_text":8,"status":4,"groups":1567},"Resources",[1568,1600,1606],{"navigation_items_group_id":1569},{"id":7,"sort":29,"status":4,"name":1570,"render_show_all_url":93,"show_all_url_position":1075,"show_favorite_icon":93,"show_all_url":8,"represent_as_tile":93,"items":1571},"Helpful Links",[1572,1576,1579,1583,1587,1591,1596],{"collection":1154,"item":1573},{"id":43,"status":4,"sort":8,"url":1574,"url_text":1575,"show_favorite_icon":94},"\u002Fblog","Localazy Blog",{"collection":1154,"item":1577},{"id":1411,"status":4,"sort":8,"url":1046,"url_text":1578,"show_favorite_icon":94},"Documentation",{"collection":1154,"item":1580},{"id":7,"status":4,"sort":8,"url":1581,"url_text":1582,"show_favorite_icon":93},"https:\u002F\u002Fdiscuss.localazy.com\u002F","Discussion Forum",{"collection":1154,"item":1584},{"id":29,"status":4,"sort":8,"url":1585,"url_text":1586,"show_favorite_icon":93},"\u002Fcase-study","Case Studies",{"collection":1154,"item":1588},{"id":22,"status":4,"sort":8,"url":1589,"url_text":1590,"show_favorite_icon":93},"\u002Fpartnership","Become a Partner",{"collection":1154,"item":1592},{"id":1593,"status":4,"sort":8,"url":1594,"url_text":1595,"show_favorite_icon":93},15,"\u002Ffaq","FAQ",{"collection":1154,"item":1597},{"id":927,"status":4,"sort":8,"url":1598,"url_text":1599,"show_favorite_icon":93},"\u002Ftags\u002Frelease-update","Release Updates",{"navigation_items_group_id":1601},{"id":16,"sort":1411,"status":4,"name":1575,"render_show_all_url":94,"show_all_url_position":1075,"show_favorite_icon":93,"show_all_url":1574,"represent_as_tile":93,"items":1602},[1603],{"collection":1078,"item":1604},{"id":22,"status":4,"sort":8,"show_author_img":93,"blog_post_tag":1605,"description":8},"[USE LATEST FEATURED]",{"navigation_items_group_id":1607},{"id":57,"sort":43,"status":4,"name":1578,"render_show_all_url":94,"show_all_url_position":1075,"show_favorite_icon":93,"show_all_url":1046,"represent_as_tile":93,"items":1608},[1609,1623,1634,1643,1654,1664,1675,1683],{"collection":1087,"item":1610},{"id":147,"status":4,"sort":8,"name":1611,"item":1612},"General",[1613],{"collection":1614,"item":1615},"docs_section",{"id":16,"status":4,"sort":7,"slug":1616,"name":1611,"icon":1617,"featured_icon":1620},"general",{"id":1618,"title":1619},"423101f1-308c-42f1-8dfe-53272019e7cb","Global",{"id":1621,"title":1622},"0f7ca4cb-dc3b-4f62-b476-132ed5c4931f","General Doc",{"collection":1087,"item":1624},{"id":50,"status":4,"sort":8,"name":216,"item":1625},[1626],{"collection":1614,"item":1627},{"id":22,"status":4,"sort":16,"slug":217,"name":216,"icon":1628,"featured_icon":1631},{"id":1629,"title":1630},"2f7a4573-8265-4d76-8d55-ce0cc79b8983","Cli",{"id":1632,"title":1633},"3f76ff7b-0e74-4046-bb03-4ca99c3b66d5","Doc Cat Cli",{"collection":1087,"item":1635},{"id":67,"status":4,"sort":8,"name":148,"item":1636},[1637],{"collection":1614,"item":1638},{"id":541,"status":4,"sort":22,"slug":149,"name":148,"icon":1639,"featured_icon":1640},{"id":1629,"title":1630},{"id":1641,"title":1642},"20866781-e69b-4e01-9456-05437487b75c","API Doc",{"collection":1087,"item":1644},{"id":119,"status":4,"sort":8,"name":1645,"item":1646},"CDN",[1647],{"collection":1614,"item":1648},{"id":809,"status":4,"sort":147,"slug":1649,"name":1645,"icon":1650,"featured_icon":1651},"cdn",{"id":1618,"title":1619},{"id":1652,"title":1653},"a8ee9cb7-4e02-41f0-b595-eb518c3085b6","Doc Cat Cdn",{"collection":1087,"item":1655},{"id":57,"status":4,"sort":8,"name":1476,"item":1656},[1657],{"collection":1614,"item":1658},{"id":7,"status":4,"sort":50,"slug":1475,"name":1476,"icon":1659,"featured_icon":1661},{"id":1660,"title":1476},"fb8329ae-0c0c-4fbc-bcdc-83f2eeda1039",{"id":1662,"title":1663},"f7c0dec8-5b42-4943-ab3a-e3665723ad6f","Doc Cat Android",{"collection":1087,"item":1665},{"id":62,"status":4,"sort":8,"name":1483,"item":1666},[1667],{"collection":1614,"item":1668},{"id":147,"status":4,"sort":57,"slug":1482,"name":1483,"icon":1669,"featured_icon":1672},{"id":1670,"title":1671},"289e136c-55df-4d51-847b-1782a2308ee4","Ios Blue",{"id":1673,"title":1674},"2968d3f0-14b5-4427-82e7-f1ea2de17846","Doc Cat Ios",{"collection":1087,"item":1676},{"id":72,"status":4,"sort":8,"name":1008,"item":1677},[1678],{"collection":1614,"item":1679},{"id":623,"status":4,"sort":62,"slug":1009,"name":1008,"icon":1680,"featured_icon":1681},{"id":1629,"title":1630},{"id":1682,"title":1008},"f5e66b5b-a439-47f6-af4a-6ad261de2e87",{"collection":1087,"item":1684},{"id":77,"status":4,"sort":8,"name":901,"item":1685},[1686],{"collection":1614,"item":1687},{"id":1050,"status":4,"sort":67,"slug":902,"name":901,"icon":1688,"featured_icon":1690},{"id":1689,"title":901},"3b4b03c7-e131-49e6-a014-c8c2c8a2751e",{"id":1691,"title":1692},"1dd05c76-e517-4aea-a3d8-49cfddb40056","Strapi Doc",{"id":22,"name":1694,"url":1695,"url_text":1694,"status":4,"groups":1696},"Pricing","\u002Fpricing",[],{"id":57,"name":1698,"url":1699,"url_text":1698,"status":4,"groups":1700},"Book a demo","\u002Fbook-demo",[],{"id":7,"status":4,"security_section_title":1702,"loved_section_title":1703,"columns":1704,"social_links":1774,"policy_links":1804},"Secured & trusted","Loved by users",[1705,1717,1732,1753,1756],{"id":7,"status":4,"sort":8,"title":1706,"column_key":1707,"links":1708},"Localazy","connect",[1709,1711,1714],{"id":36,"status":4,"sort":7,"title":1698,"url":1710},"___LOCALAZY_MEETING_URL___",{"id":29,"status":4,"sort":16,"title":1712,"url":1713},"Contact","\u002Fcontact",{"id":623,"status":4,"sort":22,"title":1715,"url":1716},"About us","\u002Fabout-us",{"id":16,"status":4,"sort":8,"title":1718,"column_key":1719,"links":1720},"Programs","programs",[1721,1723,1726,1729],{"id":7,"status":4,"sort":147,"title":1722,"url":1589},"Partner Program",{"id":16,"status":4,"sort":50,"title":1724,"url":1725},"Ambassador Program","\u002Fambassador",{"id":22,"status":4,"sort":57,"title":1727,"url":1728},"Startup Program","\u002Ffor\u002Fstartups",{"id":147,"status":4,"sort":62,"title":1730,"url":1731},"Nonprofits","\u002Ffor\u002Fnonprofit",{"id":22,"status":4,"sort":8,"title":1733,"column_key":1734,"links":1735},"Use Cases","use_cases",[1736,1739,1742,1744,1747,1750],{"id":50,"status":4,"sort":67,"title":1737,"url":1738},"Software Localization","\u002Fterm\u002Fsoftware-localization",{"id":57,"status":4,"sort":72,"title":1740,"url":1741},"Machine Translation Services","\u002Ffeatures\u002Fmachine-translation",{"id":62,"status":4,"sort":77,"title":1416,"url":1743},"\u002Ffeatures\u002Ftranslation-api",{"id":67,"status":4,"sort":36,"title":1745,"url":1746},"Crowdsourced Translations","\u002Ffeatures\u002Fshare-tm",{"id":72,"status":4,"sort":29,"title":1748,"url":1749},"Figma i18n & localization","\u002Ffeatures\u002Ffigma-localization-plugin",{"id":77,"status":4,"sort":43,"title":1751,"url":1752},"Translation as a Service","\u002Fterm\u002Ftranslation-service",{"id":147,"status":4,"sort":8,"title":1463,"column_key":1754,"links":1755},"integrations",[],{"id":50,"status":4,"sort":8,"title":1566,"column_key":1757,"links":1758},"resources",[1759,1760,1763,1764,1767,1769,1770,1771],{"id":43,"status":4,"sort":1411,"title":1578,"url":1046},{"id":1411,"status":4,"sort":1593,"title":1761,"url":1762},"Dictionary","\u002Fdictionary",{"id":1593,"status":4,"sort":1497,"title":1586,"url":1585},{"id":1497,"status":4,"sort":927,"title":1765,"url":1766},"Discussion forum","___DISCUSS_URL___",{"id":927,"status":4,"sort":926,"title":1768,"url":1574},"Localization Blog",{"id":926,"status":4,"sort":253,"title":1595,"url":1594},{"id":253,"status":4,"sort":541,"title":1694,"url":1695},{"id":541,"status":4,"sort":623,"title":1772,"url":1773},"Brand assets","https:\u002F\u002Fdrive.google.com\u002Fdrive\u002Fu\u002F1\u002Ffolders\u002F1tZqsZHBlGelz7A2FwTsiwrs4j3sd9HTk",[1775,1780,1785,1790,1795,1800],{"id":7,"status":4,"sort":8,"platform":1776,"icon":1777,"url":1778,"label":1779},"feed","rss","\u002Ffeed.xml","Localazy RSS Feed",{"id":16,"status":4,"sort":8,"platform":1781,"icon":1782,"url":1783,"label":1784},"facebook","fb-logo","https:\u002F\u002Fwww.facebook.com\u002Flocalazy\u002F","Localazy facebook",{"id":22,"status":4,"sort":8,"platform":1786,"icon":1787,"url":1788,"label":1789},"github","github-logo","https:\u002F\u002Fgithub.com\u002Flocalazy","Localazy GitHub",{"id":147,"status":4,"sort":8,"platform":1791,"icon":1792,"url":1793,"label":1794},"x","x-twitter","https:\u002F\u002Fx.com\u002Flocalazy","Localazy X",{"id":50,"status":4,"sort":8,"platform":1796,"icon":1797,"url":1798,"label":1799},"linkedin","linkedin-logo","https:\u002F\u002Fwww.linkedin.com\u002Fcompany\u002F37836599\u002F","Localazy LinkedIn",{"id":57,"status":4,"sort":8,"platform":1801,"icon":1802,"url":1766,"label":1803},"discourse","discourse-logo","Localazy Discourse",[1805,1808,1811],{"id":7,"status":4,"sort":8,"title":1806,"url":1807,"action":8},"Privacy policy","\u002Fprivacy-policy",{"id":16,"status":4,"sort":8,"title":1809,"url":1810,"action":8},"Terms & Conditions","\u002Fterms-and-conditions",{"id":22,"status":4,"sort":8,"title":1812,"url":8,"action":1813},"Cookies","cookie-consent",{"content":1815,"sections":1973,"docsInSection":2095,"defaultSearchItems":2346,"relatedBlogArticles":2347},{"doc":1816,"originalContent":1824,"originalExcerpt":1823,"placeholders":1912},{"id":398,"status":4,"sort":1817,"owner":1818,"created_on":1819,"modified_on":1820,"slug":1821,"title":1822,"excerpt":1823,"content":1824,"meta_title":8,"meta_description":8,"pinned":93,"main_image":8,"section":1825,"subsection":1831,"cta":8,"faq":1835,"dictionary":1837,"blog_articles":1839,"translations":1909,"documentation_id":398},"50010","2bac48a8-b362-482f-b574-3bc71dca4c5b","2022-03-18T07:51:27.000Z","2025-02-17T14:49:40.000Z","introduction","Introduction","Localazy API reference.","The Localazy API is organized around REST. Our API has predictable resource-oriented URLs, accepts JSON-encoded request bodies, returns JSON-encoded responses, and uses standard HTTP response codes, authentication, and verbs.\n\n### Run this API in Postman\nYou can fork the API collection into your own workspace  or browse its full content [here](https:\u002F\u002Fdocumenter.getpostman.com\u002Fview\u002F25109945\u002F2s8Z6yVY2U).\n\n  [![Run in Postman](https:\u002F\u002Frun.pstmn.io\u002Fbutton.svg)](https:\u002F\u002Fapp.getpostman.com\u002Frun-collection\u002F25109945-af40dbd1-c8dc-4358-a2b1-c4f0573e8fd2?action=collection%2Ffork&collection-url=entityId%3D25109945-af40dbd1-c8dc-4358-a2b1-c4f0573e8fd2%26entityType%3Dcollection%26workspaceId%3D4a699388-ca07-47c3-83db-e342f2e0358a)\n \n\n### Libraries\n\nTake a look at our npm library for **Typescript\u002FJavascript**. It wraps the entire API, making things easier for you. 👉 [@localazy\u002Fapi-client](https:\u002F\u002Fgithub.com\u002Flocalazy\u002Fapi-client)\n\n\n\n### Base url\nLocalazy API is available at https:\u002F\u002Fapi.localazy.com, and all endpoints in this document are relative to this base URL.\n\n```txt\nhttps:\u002F\u002Fapi.localazy.com\n```\n\n### Authentication\n> [Learn how to authenticate with Localazy API](\u002Fdocs\u002Fapi\u002Fauthentication) \n\n\n## Endpoints reference\nLearn what options are available when using Localazy API.\n\n### List projects \n```txt\n[GET] \u002Fprojects\n```\n> [Learn more about Listing projects endpoint](\u002Fdocs\u002Fapi\u002Fprojects#list-projects)\n\n### Import content to a project \n```txt\n[POST] \u002Fprojects\u002F{projectId}\u002Fimport\n```\n> [Learn how to import content to Localazy via API](\u002Fdocs\u002Fapi\u002Fimport#import-content-to-a-project)\n\n### List available file types \n```txt\n[GET] \u002Fimport\u002Fformats\n```\n> [Learn how to get a list of available file types for importing strings including their parameters.](\u002Fdocs\u002Fapi\u002Fimport#list-available-file-types)\n\n### List files in project\n```txt\n[GET] \u002Fprojects\u002F{projectId}\u002Ffiles\n```\n> [Learn how to retrieve a list of all files in the project.](\u002Fdocs\u002Fapi\u002Ffiles#list-files-in-project)\n\n### List file content \n```txt\n[GET] \u002Fprojects\u002F{projectId}\u002Ffiles\u002F{fileId}\u002Fkeys\u002F{lang}\n```\n> [Learn how to get all translations in a given language via Localazy API](\u002Fdocs\u002Fapi\u002Ffiles#list-file-content)\n\n### Delete source key\n```txt\n[DELETE] \u002Fprojects\u002F{projectId}\u002Fkeys\u002F{keyId}\n```\n> [Learn how to delete a given source key via Localazy API](\u002Fdocs\u002Fapi\u002Fsource-keys#delete-source-key)\n\n### Update source key\n```txt\n[PUT] \u002Fprojects\u002F{projectId}\u002Fkeys\u002F{keyId}\n```\n> [Learn how to change properties of a given source key via Localazy API](\u002Fdocs\u002Fapi\u002Fsource-keys#change-properties)\n\n### List all glossary items\n```txt\n[GET] \u002Fprojects\u002F{projectId}\u002Fglossary\n```\n> [Learn how to retreive all glossary items via Localazy API](\u002Fdocs\u002Fapi\u002Fglossary#list-all-glossary-items)\n\n### Get glossary item\n```txt\n[GET] \u002Fprojects\u002F{projectId}\u002Fglossary\u002F{id}\n```\n> [Learn how to retreive a single glossary item via Localazy API](\u002Fdocs\u002Fapi\u002Fglossary#get-glossary-item)\n\n### Delete glossary item\n```txt\n[DELETE] \u002Fprojects\u002F{projectId}\u002Fglossary\u002F{id}\n```\n> [Learn how to delete a glossary item via Localazy API](\u002Fdocs\u002Fapi\u002Fglossary#delete-glossary-item)\n\n### Create glossary item\n```txt\n[POST] \u002Fprojects\u002F{projectId}\u002Fglossary\n```\n> [Learn how to create new glossary items via Localazy API](\u002Fdocs\u002Fapi\u002Fglossary#create-glossary-item)\n\n### Update glossary item\n```txt\n[PUT] \u002Fprojects\u002F{projectId}\u002Fglossary\n```\n> [Learn how to update glossary item via Localazy API](\u002Fdocs\u002Fapi\u002Fglossary#update-glossary-item)\n\n### List webhooks configuration\n```txt\n[GET] \u002Fprojects\u002F{projectid}\u002Fwebhooks\n```\n> [Learn how to retreive webhook configuration via Localazy API](\u002Fdocs\u002Fapi\u002Fwebhooks-api#list-webhooks-configuration)\n\n### Update webhooks configuration\n```txt\n[POST] \u002Fprojects\u002F{projectid}\u002Fwebhooks\n```\n> [Learn how to add new webhook configuration via Localazy API](\u002Fdocs\u002Fapi\u002Fwebhooks-api#update-webhooks-configuration)\n ",["Reactive",1826],{"id":541,"status":4,"sort":22,"created_on":1827,"slug":149,"name":148,"subtitle":1828,"meta_title":8,"meta_description":8,"hidden":93,"icon":1829,"featured_icon":1830},"2022-03-17T12:23:29.000Z","API Documentation",{"id":1629},{"id":1641},["Reactive",1832],{"id":253,"status":4,"sort":926,"created_on":1833,"name":1834},"2022-03-18T07:38:52.000Z","Common",["Reactive",1836],[],["Reactive",1838],[],["Reactive",1840],[1841,1868,1887],{"id":1842,"owner":1843,"created_by":1847,"sort":8,"title":1848,"slug":1849,"modified_on":1850,"created_on":1851,"pinned":93,"badge":8,"priority":1852,"main_image":1853,"status":4,"reading_time":1854,"og_title":53,"og_description":53,"og_image":1853,"tags":1855,"dictionary":1867},800,{"id":67,"first_name":1844,"slug":1845,"last_name":53,"avatar":1846},"Mary Okosun","mary-okosun","https:\u002F\u002Fghost.localazy.com\u002Fcontent\u002Fimages\u002F2023\u002F12\u002Fokosun.png",{"id":67,"first_name":1844,"slug":1845,"last_name":53,"avatar":1846},"The ultimate guide to Localazy API","the-ultimate-guide-to-localazy-api","2026-05-03T22:29:23.000Z","2023-02-03T14:36:35.000Z","0.7","https:\u002F\u002Fghost.localazy.com\u002Fcontent\u002Fimages\u002F2023\u002F03\u002Fultimate-localazy-api-guide.png",0,[1856,1860,1861,1864],{"id":721,"status":4,"created_on":1857,"label":1858,"slug":1859,"on_index_page":93},"2022-03-17T12:22:59.000Z","Guide","guide",{"id":746,"status":4,"created_on":1857,"label":148,"slug":149,"on_index_page":93},{"id":1027,"status":4,"created_on":1857,"label":1862,"slug":1863,"on_index_page":93},"HowTo","howto",{"id":119,"status":4,"created_on":1857,"label":1865,"slug":1866,"on_index_page":93},"Automated Localization","automated-localization",[],{"id":1869,"owner":1870,"created_by":1874,"sort":8,"title":1875,"slug":1876,"modified_on":1877,"created_on":1878,"pinned":93,"badge":8,"priority":1852,"main_image":1879,"status":4,"reading_time":1854,"og_title":53,"og_description":53,"og_image":1879,"tags":1880,"dictionary":1886},865,{"id":7,"first_name":1871,"slug":1872,"last_name":53,"avatar":1873},"Daniel Charvát","daniel-charvat","https:\u002F\u002Fghost.localazy.com\u002Fcontent\u002Fimages\u002F2023\u002F12\u002Fdan-1.png",{"id":7,"first_name":1871,"slug":1872,"last_name":53,"avatar":1873},"TypeScript library for Localazy API","typescript-library-for-localazys-api","2026-05-03T22:33:22.000Z","2022-01-03T13:37:18.000Z","https:\u002F\u002Fghost.localazy.com\u002Fcontent\u002Fimages\u002F2022\u002F01\u002FTypeScript---Localazy-API.png",[1881,1884,1885],{"id":1164,"status":4,"created_on":1857,"label":1882,"slug":1883,"on_index_page":93},"DevTips","devtips",{"id":746,"status":4,"created_on":1857,"label":148,"slug":149,"on_index_page":93},{"id":1027,"status":4,"created_on":1857,"label":1862,"slug":1863,"on_index_page":93},[],{"id":1888,"owner":1889,"created_by":1890,"sort":8,"title":1891,"slug":1892,"modified_on":1893,"created_on":1894,"pinned":93,"badge":8,"priority":1852,"main_image":1895,"status":4,"reading_time":1854,"og_title":53,"og_description":53,"og_image":1895,"tags":1896,"dictionary":1908},870,{"id":7,"first_name":1871,"slug":1872,"last_name":53,"avatar":1873},{"id":7,"first_name":1871,"slug":1872,"last_name":53,"avatar":1873},"What is Localazy Translation API","what-is-localazy-translation-api","2026-05-03T22:33:44.000Z","2022-01-03T14:02:01.000Z","https:\u002F\u002Fghost.localazy.com\u002Fcontent\u002Fimages\u002F2022\u002F01\u002Flocalazy-translation-api-blog-1.png",[1897,1900,1901,1905],{"id":57,"status":4,"created_on":1898,"label":1706,"slug":1899,"on_index_page":93},"2022-03-17T12:22:58.000Z","localazy",{"id":746,"status":4,"created_on":1857,"label":148,"slug":149,"on_index_page":93},{"id":898,"status":4,"created_on":1902,"label":1903,"slug":1904,"on_index_page":94},"2023-05-25T12:43:48.000Z","Continuous Localization","continuous-localization",{"id":1906,"status":4,"created_on":1907,"label":1903,"slug":1904,"on_index_page":94},93,"2026-05-02T21:02:49.000Z",[],["Reactive",1910],[1911],{"id":398,"documentation_id":398,"languages_code":113,"slug":1821,"title":1822,"content":1824,"meta_title":8,"meta_description":8,"excerpt":1823},[1913,1916,1919,1922,1925,1928,1931,1934,1937,1940,1943,1946,1949,1952,1956,1959,1962,1966,1970],{"key":1914,"value":1915,"note":8},"___GRADLE_DEPENDENCY___","com.localazy:gradle:1.5.4",{"key":1917,"value":1918,"note":8},"___LIBRARY_VERSION___","1.2.1",{"key":1920,"value":1921,"note":8},"___REPOSITORY_URL___","https:\u002F\u002Fmaven.localazy.com\u002Frepository\u002Frelease\u002F",{"key":1923,"value":1924,"note":8},"___URL_DOCS___","https:\u002F\u002Flocalazy.com\u002Fdocs",{"key":1926,"value":1927,"note":8},"___URL_DOCS_ANDROID_LIBRARY___","https:\u002F\u002Flocalazy.com\u002Fdocs\u002Fandroid\u002Flocalazy-android-library",{"key":1929,"value":1930,"note":8},"___URL_DOCS_ANDROID_GRADLE___","https:\u002F\u002Flocalazy.com\u002Fdocs\u002Fandroid\u002Flocalazy-gradle-plugin",{"key":1932,"value":1933,"note":8},"___URL_DOCS_WHAT_SHOULD_YOU_KNOW___","https:\u002F\u002Flocalazy.com\u002Fdocs\u002Fandroid\u002Fwhat-you-should-know-before-uploading-your-android-strings",{"key":1935,"value":1936,"note":8},"___CLI_VERSION___","v2.0.11",{"key":1938,"value":1939,"note":8},"___USER_WRITE_KEY___","your-write-key",{"key":1941,"value":1942,"note":8},"___USER_READ_KEY___","your-read-key",{"key":1944,"value":1945,"note":8},"___CLI_LINKS___","  ",{"key":1947,"value":1948,"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":1950,"value":1951,"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":1953,"value":1954,"note":1955},"___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":1957,"value":1958,"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":1960,"value":1961,"note":8},"___GRADLE_DEPENDENCY_V2___","com.localazy:gradle:2.0.3",{"key":1963,"value":1964,"note":1965},"___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":1967,"value":1968,"note":1969},"___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":1971,"value":1972,"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",[1974,1984,1995,2003,2017,2028,2039,2048,2059,2071,2086],{"id":16,"status":4,"sort":7,"created_on":1827,"slug":1616,"name":1611,"excerpt":1975,"subtitle":1976,"meta_title":1977,"meta_description":1978,"hidden":93,"icon":1979,"featured_icon":1980,"translations":1981,"blog_tags":1983,"docs_section_id":16},"Description of general Localazy features & settings. Learn about the details of our platform.","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":1618},{"id":1621},[1982],{"id":16,"languages_code":113,"name":1611,"excerpt":1975,"subtitle":1976,"slug":1616,"meta_title":1977,"meta_description":1978,"docs_section_id":16},[],{"id":22,"status":4,"sort":16,"created_on":1827,"slug":217,"name":216,"excerpt":1985,"subtitle":1986,"meta_title":1987,"meta_description":1988,"hidden":93,"icon":1989,"featured_icon":1990,"translations":1991,"blog_tags":1993,"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":1629},{"id":1632},[1992],{"id":22,"languages_code":113,"name":216,"excerpt":1985,"subtitle":1986,"slug":217,"meta_title":1987,"meta_description":1988,"docs_section_id":22},[1994],{"id":1050,"status":4,"created_on":1898,"label":216,"slug":217,"on_index_page":93},{"id":541,"status":4,"sort":22,"created_on":1827,"slug":149,"name":148,"excerpt":1996,"subtitle":1828,"meta_title":8,"meta_description":8,"hidden":93,"icon":1997,"featured_icon":1998,"translations":1999,"blog_tags":2001,"docs_section_id":541},"Localazy API reference, organized around REST. Articles about limits, endpoints and more.",{"id":1629},{"id":1641},[2000],{"id":541,"languages_code":113,"name":148,"excerpt":1996,"subtitle":1828,"slug":149,"meta_title":8,"meta_description":8,"docs_section_id":541},[2002],{"id":746,"status":4,"created_on":1857,"label":148,"slug":149,"on_index_page":93},{"id":809,"status":4,"sort":147,"created_on":2004,"slug":1649,"name":1645,"excerpt":2005,"subtitle":2006,"meta_title":2007,"meta_description":2008,"hidden":93,"icon":2009,"featured_icon":2010,"translations":2011,"blog_tags":2013,"docs_section_id":809},"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":1618},{"id":1652},[2012],{"id":809,"languages_code":113,"name":1645,"excerpt":2005,"subtitle":2006,"slug":1649,"meta_title":2007,"meta_description":2008,"docs_section_id":809},[2014],{"id":2015,"status":4,"created_on":2016,"label":1645,"slug":1649,"on_index_page":93},69,"2023-02-21T14:08:07.000Z",{"id":7,"status":4,"sort":50,"created_on":1827,"slug":1475,"name":1476,"excerpt":2018,"subtitle":2019,"meta_title":2020,"meta_description":2021,"hidden":93,"icon":2022,"featured_icon":2023,"translations":2024,"blog_tags":2026,"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":1660},{"id":1662},[2025],{"id":7,"languages_code":113,"name":1476,"excerpt":2018,"subtitle":2019,"slug":1475,"meta_title":2020,"meta_description":2021,"docs_section_id":7},[2027],{"id":147,"status":4,"created_on":1898,"label":1476,"slug":1475,"on_index_page":93},{"id":147,"status":4,"sort":57,"created_on":1827,"slug":1482,"name":1483,"excerpt":2029,"subtitle":2030,"meta_title":8,"meta_description":8,"hidden":93,"icon":2031,"featured_icon":2032,"translations":2033,"blog_tags":2035,"docs_section_id":147},"Platform specific articles about iOS apps in Localazy.","Swift SDK Documentation",{"id":1670},{"id":1673},[2034],{"id":147,"languages_code":113,"name":1483,"excerpt":2029,"subtitle":2030,"slug":1482,"meta_title":8,"meta_description":8,"docs_section_id":147},[2036],{"id":2037,"status":4,"created_on":2038,"label":1483,"slug":1482,"on_index_page":94},77,"2023-05-25T12:44:11.000Z",{"id":623,"status":4,"sort":62,"created_on":1827,"slug":1009,"name":1008,"excerpt":2040,"subtitle":2041,"meta_title":8,"meta_description":8,"hidden":93,"icon":2042,"featured_icon":2043,"translations":2044,"blog_tags":2046,"docs_section_id":623},"Start localizing your designs fast and easy with Figma design tool and Figma Plugin by Localazy","Figma Plugin",{"id":1629},{"id":1682},[2045],{"id":623,"languages_code":113,"name":1008,"excerpt":2040,"subtitle":2041,"slug":1009,"meta_title":8,"meta_description":8,"docs_section_id":623},[2047],{"id":183,"status":4,"created_on":1857,"label":1008,"slug":1009,"on_index_page":94},{"id":1050,"status":4,"sort":67,"created_on":2049,"slug":902,"name":901,"excerpt":2050,"subtitle":2051,"meta_title":8,"meta_description":8,"hidden":93,"icon":2052,"featured_icon":2053,"translations":2054,"blog_tags":2056,"docs_section_id":1050},"2022-06-08T13:03:58.000Z","Automate the localization of your Strapi project with the Strapi localization plugin by Localazy","Strapi Plugin",{"id":1689},{"id":1691},[2055],{"id":1050,"languages_code":113,"name":901,"excerpt":2050,"subtitle":2051,"slug":902,"meta_title":8,"meta_description":8,"docs_section_id":1050},[2057],{"id":144,"status":4,"created_on":2058,"label":901,"slug":902,"on_index_page":94},"2022-06-29T00:01:26.000Z",{"id":815,"status":4,"sort":72,"created_on":2060,"slug":2061,"name":2062,"excerpt":2063,"subtitle":2064,"meta_title":8,"meta_description":8,"hidden":93,"icon":2065,"featured_icon":2067,"translations":2068,"blog_tags":2070,"docs_section_id":815},"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":2066},"b6669e8d-6702-4aa1-8e4f-978f9028c332",{"id":2066},[2069],{"id":815,"languages_code":113,"name":2062,"excerpt":2063,"subtitle":2064,"slug":2061,"meta_title":8,"meta_description":8,"docs_section_id":815},[],{"id":721,"status":4,"sort":29,"created_on":2072,"slug":2073,"name":2074,"excerpt":2075,"subtitle":2076,"meta_title":8,"meta_description":8,"hidden":93,"icon":2077,"featured_icon":2079,"translations":2081,"blog_tags":2083,"docs_section_id":721},"2022-07-18T13:27:47.000Z","zapier","Zapier","Connect Localazy with over 5000 apps with Zapier.","Integration Platform",{"id":2078},"a1fda7c9-4e8c-48f4-99ec-a111db6a6daa",{"id":2080},"0a5546c4-adbc-4636-8695-32867837e97d",[2082],{"id":721,"languages_code":113,"name":2074,"excerpt":2075,"subtitle":2076,"slug":2073,"meta_title":8,"meta_description":8,"docs_section_id":721},[2084],{"id":472,"status":4,"created_on":2085,"label":2074,"slug":2073,"on_index_page":93},"2022-08-16T13:54:46.000Z",{"id":1234,"status":4,"sort":43,"created_on":1827,"slug":1754,"name":1463,"excerpt":2087,"subtitle":2088,"meta_title":8,"meta_description":8,"hidden":94,"icon":2089,"featured_icon":2090,"translations":2092,"blog_tags":2094,"docs_section_id":1234},"Learn how to connect Localazy to your favourite platform or framework.","Quick starts, Setup examples, Integration types,...",{"id":1629},{"id":2091},"881c489b-4835-44ea-94b7-bda62cc57d6c",[2093],{"id":1234,"languages_code":113,"name":1463,"excerpt":2087,"subtitle":2088,"slug":1754,"meta_title":8,"meta_description":8,"docs_section_id":1234},[],[2096,2106,2123,2147,2164,2183,2200,2217,2233,2251,2267,2283,2320],{"id":398,"status":4,"sort":1817,"created_on":1819,"modified_on":1820,"slug":1821,"title":1822,"excerpt":1823,"content":1824,"meta_title":8,"meta_description":8,"pinned":93,"main_image":8,"section":2097,"subsection":2100,"cta":8,"faq":2101,"dictionary":2102,"translations":2103,"documentation_id":398,"blog_articles":2105},{"id":541,"status":4,"sort":22,"created_on":1827,"slug":149,"name":148,"subtitle":1828,"meta_title":8,"meta_description":8,"hidden":93,"icon":2098,"featured_icon":2099},{"id":1629},{"id":1641},{"id":253,"status":4,"sort":926,"created_on":1833,"name":1834},[],[],[2104],{"id":398,"documentation_id":398,"languages_code":113,"slug":1821,"title":1822,"content":1824,"meta_title":8,"meta_description":8,"excerpt":1823},[],{"id":2107,"status":4,"sort":2108,"created_on":1819,"modified_on":2109,"slug":2110,"title":2111,"excerpt":2112,"content":2113,"meta_title":8,"meta_description":8,"pinned":93,"main_image":8,"section":2114,"subsection":2117,"cta":8,"faq":2118,"dictionary":2119,"translations":2120,"documentation_id":2107,"blog_articles":2122},119,"50020","2026-02-23T18:52:56.000Z","authentication","Authentication","Learn how to authenticate with Localazy API.","\n## Authorize requests\n\nAll API requests must contain the following authorization header:\n\n```\nAuthorization: Bearer {{token}}\n```\n\n## Types of tokens\n::: info\nProject owners can obtain tokens at [https:\u002F\u002Flocalazy.com\u002Fdeveloper\u002Ftokens](https:\u002F\u002Flocalazy.com\u002Fdeveloper\u002Ftokens)\n:::\n\n### Project Token\n* The project token gives you an access to a **single project** in Localazy.\n* Each token is automatically granted a **read and write** access.\n* Each project token has access to all availabe API endpoints.\n\n### Translation Token\n* The translation token gives you access only to the [AI Translation endpoint](\u002Fdocs\u002Fapi\u002Fai-translation-api), with its context derived from the respective project in Localazy \n\n\n### Organization Token\nOrganization tokens are available only upon request. Contact us at team@localazy.com for beta access.\n\n",{"id":541,"status":4,"sort":22,"created_on":1827,"slug":149,"name":148,"subtitle":1828,"meta_title":8,"meta_description":8,"hidden":93,"icon":2115,"featured_icon":2116},{"id":1629},{"id":1641},{"id":253,"status":4,"sort":926,"created_on":1833,"name":1834},[],[],[2121],{"id":2107,"documentation_id":2107,"languages_code":113,"slug":2110,"title":2111,"content":2113,"meta_title":8,"meta_description":8,"excerpt":2112},[],{"id":2124,"status":4,"sort":2125,"created_on":1819,"modified_on":2126,"slug":2127,"title":2128,"excerpt":2129,"content":2130,"meta_title":8,"meta_description":8,"pinned":93,"main_image":8,"section":2131,"subsection":2134,"cta":8,"faq":2135,"dictionary":2143,"translations":2144,"documentation_id":2124,"blog_articles":2146},121,"50030","2024-09-12T13:29:37.000Z","limits","Limits","Learn about content and request limits of Localazy API","## Rate Limiting\n\n- **Free Plan:**\n\t- Max. 100 requests per minute and 10 requests per second in total.\n    - Max 100 import requests per project per day.\n    - Max 100 fetch requests per project per day.\n- **Professional Plan & Autopilot Plan**\n\t- Max. 100 requests per minute and 10 requests per second in total.\n    - Max 250 import requests per project per day.\n    - Max 1000 fetch requests per project per day.\n- **Business Plan**\n\t- Max. 100 requests per minute and 10 requests per second in total.\n    - Max 1000 import requests per project per day.\n    - Max 5000 fetch requests per project per day.\n- **Enterprise plan**\n\t- Business Plan limits apply by default but can be adjusted to your requirements. Please get in touch with us at team@localazy.com\n\n:::info\nPlease note that for fetching translations in a production environment \u002F live application, you should use the [Localazy CDN](\u002Fdocs\u002Fcdn), designed to deliver translations quickly to your users and with minimal latency worldwide. \nAdditionally, there is no ceiling on the number of requests your servers or clients make to the CDN, and its affordable and scalable pricing is suitable for projects of all sizes.\n:::\n\n## Request Limits\n\n- It's possible to import a maximum of 1000 keys per request (across all imported files and languages).\n- It's possible to import a maximum of 50 files per request.\n- In a single project, a maximum of 1000 files is allowed.\n- **Do not run imports into the same non-existing file simultaneously.**\n\n\n## Content Limits\n\n- Content can be at max 32kB in size\n- If the content is larger than 4kB, some suggestion mechanisms may not work\n- Comment can be at max 4kB in size",{"id":541,"status":4,"sort":22,"created_on":1827,"slug":149,"name":148,"subtitle":1828,"meta_title":8,"meta_description":8,"hidden":93,"icon":2132,"featured_icon":2133},{"id":1629},{"id":1641},{"id":253,"status":4,"sort":926,"created_on":1833,"name":1834},[2136],{"id":2107,"status":4,"title":2137,"content":2138,"slug":2139,"created_on":2140,"modified_on":2141,"owner":1818,"meta_title":8,"category":2142},"What is the pricing policy for Localazy Translation API?","AI Translation endpoint is available for users on [Professional and upper tiers](\u002Fpricing). Each translation request consumes [Localazy credits](\u002Fdocs\u002Fgeneral\u002Flocalazy-credits) from your Localazy account balance. The number of credits used depends on the number of translated words.\n\nYou can use all of the Management endpoints absolutely for free. However, there are some limitations to prevent abuse.\n\nLearn more about [the limitations of Localazy API in the documentation](\u002Fdocs\u002Fapi\u002Flimits).","what-is-the-pricing-policy-for-localazy-translation-api","2022-03-17T12:23:02.000Z","2026-04-15T09:17:20.000Z",{"id":815,"status":4,"created_on":1898,"sort":8,"slug":149,"label":148,"on_faq_index":94},[],[2145],{"id":2124,"documentation_id":2124,"languages_code":113,"slug":2127,"title":2128,"content":2130,"meta_title":8,"meta_description":8,"excerpt":2129},[],{"id":2148,"status":4,"sort":2149,"created_on":1819,"modified_on":2150,"slug":2151,"title":2152,"excerpt":2153,"content":2154,"meta_title":8,"meta_description":8,"pinned":93,"main_image":8,"section":2155,"subsection":2158,"cta":8,"faq":2159,"dictionary":2160,"translations":2161,"documentation_id":2148,"blog_articles":2163},122,"50040","2026-02-25T09:59:30.000Z","projects","Projects","Collection of endpoints to access projects in Localazy.","With project token, you can access only the project it was created for. Organization token will grant you the access to all projects in the organization.\n\n## List projects\n\n```txt\n[GET] \u002Fprojects\n```\n\n| Description | Value |\n| --- | --- |\n| Accessible with project token | true |\n| Accessible with organization token | true |\n| Need write permission | false |\n| Available from role | Translator |\n| API level | normal |\n\nList projects acessible with the current token scope.\n\n### Query Params\n\n| Parameter | Description | \n| --- | --- |\n| `organization=true` | Add information about the owning organization. |\n| `languages=true` | Add information about languages. |\n\n### Sample Request\n\n```bash\ncurl --request GET \\\n  --url 'https:\u002F\u002Fapi.localazy.com\u002Fprojects?languages=true&organization=true' \\\n  --header 'Authorization: Bearer {{token}}'\n```\n\n### Sample Response\n\n```json\n[\n  {\n    \"id\": \"_a8553192904037236731\",\n    \"orgId\": \"_a8553192904708325374\",\n    \"name\": \"Project Name\",\n    \"slug\": \"project-slug\",\n    \"image\": \"\",\n    \"url\": \"https:\u002F\u002Flocalazy.com\u002Fp\u002Fproject-slug\",\n    \"description\": \"Project description.\",\n    \"type\": \"public\",\n    \"tone\": \"not_specified\",\n    \"role\": \"owner\",\n    \"sourceLanguage\": 85,\n    \"organization\": {\n      \"availableKeys\": 200,\n      \"usedKeys\": 0,\n      \"figma\": false,\n      \"connectedApps\": false,\n      \"releaseTags\": false,\n      \"formatConversions\": false,\n      \"screenshots\": false,\n      \"additionalMt\": false,\n      \"mtPretranslate\": false,\n      \"webhooks\": false\n    },\n    \"languages\": [\n      {\n        \"id\": 85,\n        \"code\": \"en\",\n        \"name\": \"English\",\n        \"active\": 0,\n        \"review\": 0,\n        \"current\": 0,\n        \"translated\": 0,\n        \"sourceChanged\": 0,\n        \"needImprovement\": 0\n      }\n    ]\n  }\n]\n```\n\n**Response Object**\n\n| Field | Description |\n| --- | --- |\n| `id` | Unique project identifier. |\n| `orgId` | Identifier of the organization the project belongs to. |\n| `name` | Project name. |\n| `slug` | Project slug. (Can be used instead of `id` in requests where `projectId` is required)|\n| `image` | Full URL to the project image or empty string if there is no image available. |\n| `url` | Full URL to the project on Localazy. |\n| `description` | Project description. |\n| `type` | Project type; one of `public`, `private` and `restricted`. |\n| `tone` | Project tone; one of `not_specified`, `formal` and `informal`. |\n| `role` | Role of the current user accessing API (based on the token); one of `none`, `translator`, `trusted_translator`, `reviewer`, `manager`, `owner` and `developer`. |\n| `sourceLanguage` | The identifier of the source language of the project. |\n| `organization` | List of enabled features and available source keys. Only available if the `organization` query parameter is set to `true`. |\n| `languages` | List of all languages and their current state. Only avaliable if the `languages` query parameter is set to `true`. See **Language Object** below. |\n\n**Language Object**\n\n| Field | Description |\n| --- | --- |\n| `id` | Internal identifier of the language on Localazy. |\n| `code` | Locale code. |\n| `name` | English name of the language \u002F locale. |\n| `active` | Number of active keys. |\n| `review` | Number of keys waiting for review. |\n| `current` | Number of keys with approved version\u002Ftranslation. |\n| `translated` | Number of keys that are already translated (but may not be approved yet). |\n| `sourceChanged` | Number of keys in the **source changed** state. |\n| `needImprovement` | Number of keys in the **need review** state. |\n\n## Create project\n\n```txt\n[POST] \u002Fprojects\n```\n\n| Description | Value |\n| --- | --- |\n| Accessible with project token | false |\n| Accessible with organization token | true |\n| Need write permission | false |\n| Available from role | Manager |\n| API level | normal |\n\nCreates a new project inside the given organization. \n\n### Sample Request\n\t\t\t\n```bash\ncurl --request POST \\\n  --url https:\u002F\u002Fapi.localazy.com\u002Fprojects\u002F{projectId}\u002Fwebhooks \\\n  --header 'Authorization: Bearer {{token}}' \\\n  --header 'Content-Type: application\u002Fjson' \\\n  --data '{ \n  \"name\": \"My New Project\",\n  \"sourceLanguage\": \"en_US\"\n}'\n```\n\n**Request Object**\n\t\t\t\n| Field | Default Value | Description |\n| ----------- | ----------------------------- | ------------------------------------------ |\n| `name` | _required_ | The name of the newly created project. |\n| `slug` | _generated_ | Slug of the project. If not provided, a new one is generated automatically. |\n| `description` | _empty_ | Description of the project. |\n| `sourceLanguage` | en | A locale used as the source language for the project. |\n| `type` | restricted | Type of the project - can be `public` or `restricted`. |\n| `tone` | not_specified | Tone of the project - can be `format`, `informal` or `not_specified`. |\n| `useShareTM` | true | If `false`, our [Share TM](\u002Fdocs\u002Fgeneral\u002Fwhat-is-localazy-sharetm) is disabled for the project. | \n\n### Sample Response\n\t\t\t\n```json\n{\n  \"projectId\": \"_a798254513154654\"\n}\n```\n\nReturns ID of the newly created project.\n\n\n",{"id":541,"status":4,"sort":22,"created_on":1827,"slug":149,"name":148,"subtitle":1828,"meta_title":8,"meta_description":8,"hidden":93,"icon":2156,"featured_icon":2157},{"id":1629},{"id":1641},{"id":253,"status":4,"sort":926,"created_on":1833,"name":1834},[],[],[2162],{"id":2148,"documentation_id":2148,"languages_code":113,"slug":2151,"title":2152,"content":2154,"meta_title":8,"meta_description":8,"excerpt":2153},[],{"id":2165,"status":4,"sort":2166,"created_on":2167,"modified_on":2168,"slug":2169,"title":2170,"excerpt":2171,"content":2172,"meta_title":8,"meta_description":8,"pinned":93,"main_image":8,"section":2173,"subsection":2176,"cta":8,"faq":2177,"dictionary":2178,"translations":2179,"documentation_id":2165,"blog_articles":2182},264,"50045","2026-02-11T20:31:26.000Z","2026-02-25T09:59:51.000Z","ai-translation-api","AI Translation","Endpoint for translating content using Localazy AI and other machine translation engines. It supports both simple strings and plural forms. You can translate multiple items in a single request, provide optional context, and configure fallback engines for maximum reliability. Translations consume credits from your account.\n","::: warning\n**Note:** This feature is currently in beta, please share your feedback with us! \n:::\n\n## Authentication\nThis translation endpoint is the only endpoint in the Localazy API available when using [translation tokens](\u002Fdocs\u002Fapi\u002Fauthentication#translation-token) and it's recommended to use this type of token for these operations.\n\n## Credits\n\nEach translation request consumes [Localazy credits](\u002Fdocs\u002Fgeneral\u002Flocalazy-credits) from your Localazy account balance. The number of credits used depends on the number of translated words. \n\n## Translate\n\n```\n[POST] \u002Fprojects\u002F{projectId}\u002Fai\n```\n\n| Description                        | Value |\n| ---------------------------------- | ----- |\n| Accessible with project token      | true  |\n| Accessible with organization token | true  |\n| Accessible with translation token  | true  |\n| Need write permission              | false |\n| Available from role                | owner |\n\nTranslates provided items from the source language to the target language using [Localazy AI](\u002Fdocs\u002Fgeneral\u002Flocalazy-ai) and considering the provided context, project-defined [style guide](\u002Fdocs\u002Fgeneral\u002Fstyle-guide) and [glossary](\u002Fdocs\u002Fgeneral\u002Fhow-to-define-your-glossary). \n\n**Params**\n\n- `{projectId}` - Your project Id. Use the value from [projects endpoint](https:\u002F\u002Flocalazy.com\u002Fdocs\u002Fapi\u002Fprojects).\n\n### Request Body\n\nThe request body is a JSON object with the following fields:\n\n| Field      | Required   | Description     |\n| ---------- | ---------- | ---------------- |\n| `from`     | _required_ | Source locale code (e.g. `en`, `cs`, `de`).  |\n| `to`       | _required_ | Target locale code (e.g. `cs`, `de`, `ja`).       |\n| `items`    | _required_ | Array of items to translate. See **\"Item Object\"** below. |\n| `fallback` | _optional_ | Fallback machine translation engine to use when Localazy AI is unavailable. MT engines `google` and `deepl` are supported as fallback. |\n\n**Item Object**\n\n| Field         | Required   | Description                                                                                                                                      |\n| ------------- | ---------- | ------------------------------------------------------------------------------------------------------------------------------------------------ |\n| `key`         | _optional_ | Localization key identifier (e.g. `btn_submit`, `welcome_message`). Provides context for more accurate translations. Maximum 512 characters.     |\n| `source`      | _required_ | The source text to translate. Can be a string for simple values, or an object with plural forms (e.g. `{\"one\": \"1 item\", \"other\": \"%d items\"}`). |\n| `comment`     | _optional_ | A comment or note providing additional context for the translator (e.g. `\"This is a button label\"`). Maximum 1000 characters.                    |\n| `lengthLimit` | _optional_ | Maximum length for the translation in characters. Must be between 0 and 32767. If the limit should not be applied, do not provide.               |\n\n### Sample Request\n\n**Simple strings:**\n\n```\ncurl --request POST \\\n  --url https:\u002F\u002Fapi.localazy.com\u002Fprojects\u002F{projectId}\u002Fai \\\n  --header 'Authorization: Bearer {{token}}' \\\n  --header 'Content-Type: application\u002Fjson' \\\n  --data '{\n    \"from\": \"en\",\n    \"to\": \"cs\",\n    \"items\": [\n      {\n        \"key\": \"btn_submit\",\n        \"source\": \"Submit\",\n        \"comment\": \"Button label for form submission\"\n      },\n      {\n        \"key\": \"welcome_message\",\n        \"source\": \"Welcome back, %s!\",\n        \"lengthLimit\": 50\n      }\n    ]\n  }'\n```\n\n**Plural forms:**\n\n```\ncurl --request POST \\\n  --url https:\u002F\u002Fapi.localazy.com\u002Fprojects\u002F{projectId}\u002Fai \\\n  --header 'Authorization: Bearer {{token}}' \\\n  --header 'Content-Type: application\u002Fjson' \\\n  --data '{\n    \"from\": \"en\",\n    \"to\": \"cs\",\n    \"items\": [\n      {\n        \"key\": \"item_count\",\n        \"source\": {\n          \"one\": \"%d item\",\n          \"other\": \"%d items\"\n        }\n      }\n    ]\n  }'\n```\n\n**With fallback engine:**\n\n```\ncurl --request POST \\\n  --url https:\u002F\u002Fapi.localazy.com\u002Fprojects\u002F{projectId}\u002Fai \\\n  --header 'Authorization: Bearer {{token}}' \\\n  --header 'Content-Type: application\u002Fjson' \\\n  --data '{\n    \"from\": \"en\",\n    \"to\": \"de\",\n    \"fallback\": \"deepl\",\n    \"items\": [\n      {\n        \"source\": \"Hello, world!\"\n      }\n    ]\n  }'\n```\n\n### Sample Response\n\n**Successful translation:**\n\n```\n{\n  \"result\": true,\n  \"items\": [\n    {\n      \"key\": \"btn_submit\",\n      \"source\": \"Submit\",\n      \"translation\": \"Odeslat\"\n    },\n    {\n      \"key\": \"welcome_message\",\n      \"source\": \"Welcome back, %s!\",\n      \"translation\": \"Vítejte zpět, %s!\"\n    }\n  ]\n}\n```\n\n**Successful translation with plurals:**\n\n```\n{\n  \"result\": true,\n  \"items\": [\n    {\n      \"key\": \"item_count\",\n      \"source\": {\n        \"one\": \"%d item\",\n        \"other\": \"%d items\"\n      },\n      \"translation\": {\n        \"one\": \"%d položka\",\n        \"few\": \"%d položky\",    \n        \"other\": \"%d položek\"\n      }\n    }\n  ]\n}\n```\n\n**Response Object**\n\n|Field|Required|Description|\n|---|---|---|\n|`result`|_required_|`true` if the translation was successful, `false` otherwise.|\n|`message`|_optional_|Error message. Only present when `result` is `false`.|\n|`items`|_optional_|Array of translated items. Only present when `result` is `true`. See **\"Response Item Object\"** below.|\n\n**Response Item Object**\n\n|Field|Required|Description|\n|---|---|---|\n|`key`|_optional_|The key identifier as provided in the request. `null` if not provided.|\n|`source`|_required_|The original source text as provided in the request.|\n|`translation`|_optional_|The translated text. Can be a string or an object with plural forms, matching the format of the source. May be `null` if the translation failed for a specific item.|\n\n### Error Response\n\nWhen the request fails, the response contains `result: false` and a `message` describing the error.\n\n```\n{\n  \"result\": false,\n  \"message\": \"The number of items exceeds the limit of 100 items per translation.\"\n}\n```\n\n## Limits\n\nThe following limits apply to the AI Translation endpoint. Note that specific limits may vary based on your organization's plan.\n\n| Limit                                | Default Value    |\n| ------------------------------------ | ---------------- |\n| Requests per minute                  | 10               |\n| Items per translation                | 32               |\n| Total source text length per request | 16384 characters |\n| Key length                           | 512 characters   |\n| Comment length                       | 1024 characters  |\n\n",{"id":541,"status":4,"sort":22,"created_on":1827,"slug":149,"name":148,"subtitle":1828,"meta_title":8,"meta_description":8,"hidden":93,"icon":2174,"featured_icon":2175},{"id":1629},{"id":1641},{"id":205,"status":4,"sort":253,"created_on":2168,"name":1314},[],[],[2180],{"id":2181,"documentation_id":2165,"languages_code":113,"slug":2169,"title":2170,"content":2172,"meta_title":8,"meta_description":8,"excerpt":2171},1418,[],{"id":2184,"status":4,"sort":2185,"created_on":1819,"modified_on":2186,"slug":2187,"title":2188,"excerpt":2189,"content":2190,"meta_title":8,"meta_description":8,"pinned":93,"main_image":8,"section":2191,"subsection":2194,"cta":8,"faq":2195,"dictionary":2196,"translations":2197,"documentation_id":2184,"blog_articles":2199},124,"50050","2025-02-17T14:49:51.000Z","import","Import","Learn how to import content to Localazy.","## About Imports\n\n**Each imported key must be stored inside a file. In Localazy, a file is a set of keys and their translations.**\n\nYou can configure your string keys to be stored in some translation file format using the `content.type` property during import. This allows you to download the content later in the preferred format.\n\nIf `type` is not specified, an internal **API** format will be used and the file downoad won't be available.\n\n::: info\nTo get a list of all available file formats, check the [`\u002Fimport\u002Fformats`](\u002Fdocs\u002Fapi\u002Fimport#retrieve-a-list-of-available-file-types) endpoint.\n:::\n\n\n\n## Import content to a project\n```txt\n[POST] \u002Fprojects\u002F{projectId}\u002Fimport\n```\n\n| Description | Value |\n| --- | --- |\n| Accessible with project token | true |\n| Accessible with organization token | true |\n| Need write permission | true |\n| Available from role | owner |\n| API level | normal |\n\nImport any supported file format to the selected project including the translations.\n\n**Params**\n* `{projectId}` - Your project `id` or `slug`. Use the value from [projects endpoint](https:\u002F\u002Flocalazy.com\u002Fdocs\u002Fapi\u002Fprojects)\n\n### Sample Request\n\n```bash\ncurl --request POST \\\n  --url 'https:\u002F\u002Fapi.localazy.com\u002Fprojects\u002F{projectId}\u002Fimport' \\\n  --header 'Authorization: Bearer {{token}}' \\\n  --header 'Content-Type: application\u002Fjson' \\\n  --data '{\n  \"files\": [\n    {\n      \"name\": \"file.json\",\n      \"content\": {\n      \"type\": \"json\",\n        \"en\": {\n          \"hello_world\": \"Hello World!\"\n        },\n        \"fr\": {\n          \"hello_world\": \"Salut tout le monde!\"\n        }\n      }\n    }\n  ]\n}'\n```\n\n**Request Object**\n\n```json\n{\n  \"importAsNew\": false,\n  \"forceCurrent\": false,\n  \"filterSource\": true,\n  \"forceSource\" : false,\n  \"files\": [\n    {\n      \"name\": \"file.ext\",\n      \"path\": \"path\u002Fto\u002Ffile\",\n      \"module\": \"\",\n      \"library\": \"\",\n      \"buildType\": \"\",\n      \"productFlavors\": [],\n      \"content\": {\n        \"type\": \"json\",\n        \"plural\": \"plural_postfix_br\",\n        \"array\": \"array\",\n        \"keyTransformer\": \"dot\",\n        \"params\": {\n          \"paramKey\": \"Param Value\"\n        },\n        \"features\": [\n          \"filter_untranslated\"\n        ],\n        \"en\": {\n          \"key\": \"text\"\n        },\n        \"cs\": {\n          \"key\": \"text\"\n        }\n      }\n    }\n  ]\n}\n```\n\n| Field | Default | Description |\n| --- | --- | --- |\n| `importAsNew` | `false` | Import all translations to go through the review process. Useful when you are unsure about their quality and want to do an extra check. |\n| `forceCurrent` | `false` | Import all translations and set them as the current version. By default, Localazy doesn't overwrite existing current translations and lets you decide through the review process. |\n| `filterSource` | `true` | Do not import translations that are the same as the source language content. |\n| `forceSource`| `false`| Overwrite the source language even if there are some changes in Localazy. Useful for workflows where source of truth is outside the platform. |\n| `files` | `[]` | The structure of files and strings to be imported. See **\"File Object\"** below. |\n\n**File Object**\n\n| Field | Default | Description |\n| --- | --- | --- |\n| `name` | _required_ | The file name is required. |\n| `path` | _optional_ | The path to the file without the file name. |\n| `module` | _optional_ | Optional module specification. |\n| `buildType` | _optional_ | Optional build type. |\n| `productFlavors` | _optional_ | Optional product flavors. |\n| `content` | `{}` | Content of the file - strings to be imported. See **\"Content Object\"** below.  |\n\nEach file is defined by unique combination of `name`, `path`, `module`, `buildType` and `productFlavors`. All these parameters are available to you for creating a custom file structure. However, the only required parameter is `name`.\n\nThe other parameters are useful when dealing with more complex structures where `file` and `path` are not enough to describe the situation - e.g., when overriding strings based on the current `module` or set of product flavors.\n\n**Content Object**\n\n| Field | Default | Description |\n| --- | --- | --- |\n| `type` | `api` | Name of the file format to be used to publish strings. See  [`\u002Fimport\u002Fformats`](\u002Fdocs\u002Fapi\u002Fimport#retrieve-a-list-of-available-file-types) for all options. |\n| `plural` | `-` | Plural type to be used for encoding plurals in the output file. Available options depend on the `type`. See `\u002Fimport\u002Fformats` below. |\n| `array` | `-` | Defines how to encode string arrays. Available options depend on the `type`. See `\u002Fimport\u002Fformats` below. |\n| `keyTransformer` | `-` | Defines how to transform structured keys for formats into plain string ones for a format that doesn't support structured keys. Available options depend on the `type`. See `\u002Fimport\u002Fformats` below. |\n| `params` | `{}` | Key-value map of additional parameters that may be necessary for `array`, `plural` and `keyTransformer`. See `\u002Fimport\u002Fformats` below. |\n| `features` | `[]` | List of additional features for the given `type`. Available options depend on the `type`. See [Localazy CLI documentation](https:\u002F\u002Flocalazy.com\u002Fdocs\u002Fcli) for available formats and their features. |\n| `en`, `cs`, `pl-PL`, ...| `{}` | Strings in the given language to be imported. See **\"Language Object\"** below. |\n\n**Language Object**\n\nThe content can consist of three different types of items - single strings, plurals, and string arrays. Also, there can be optional metadata.\n\nDepending on the file type, plurals or string arrays can be filtered out if not supported.\n\nNested keys are supported. Some file types don't support nested keys, and in such a situation, `keyTransformer` will be used to flatten keys, e.g., to `level1.level2.level3.my_key`.\n\nTo add or edit and existing key, you only need to include the target keys in the payload. You don't need to always upload the whole file's content to make a modification. The other keys in a file will remain untouched.\n\n**Single strings**\n\n```json\n{\n  \"files\": [\n    {\n      \"name\": \"my_file\",\n      \"content\": {\n        \"en\": {\n          \"hello_world\": \"Hello World!\"\n        }\n      }\n    }\n  ]\n}\n```\n\n**String arrays**\n\n```json\n{\n  \"files\": [\n    {\n      \"name\": \"my_file\",\n      \"content\": {\n        \"en\": {\n          \"difficulty\": [\n            \"Easy\",\n            \"Medium\",\n            \"Hard\"\n          ]\n        }\n      }\n    }\n  ]\n}\n```\n\n**Plurals**\n\n```json\n{\n  \"files\": [\n    {\n      \"name\": \"my_file\",\n      \"content\": {\n        \"en\": {\n          \"item_list\": {\n            \"@one\": \"You have 1 item.\",\n            \"@other\": \"You have %d items.\"\n          }\n        }\n      }\n    }\n  ]\n}\n```\n\nAllowed plural forms are `@zero`, `@one`, `@two`, `@few`, `@many` and `@other`. The structure is not parsed as the plural string but as nested keys if any other key appears.\n\n**Nested keys**\n\n```json\n{\n  \"files\": [\n    {\n      \"name\": \"my_file\",\n      \"content\": {\n        \"en\": {\n          \"level1\": {\n            \"level2\": {\n              \"level3\": {\n                \"hello_world\": \"Hello World!\"\n              }\n            }\n          }\n        }\n      }\n    }\n  ]\n}\n```\n\n**Metadata**\n\nAt the moment, metadata can only specify an optional contextual comment for the translator and character limit. More options are coming soon.\n\nThe metadata must be on the same level in the structure.\n\n```json\n{\n  \"files\": [\n    {\n      \"name\": \"my_file\",\n      \"content\": {\n        \"en\": {\n          \"level1\": {\n            \"level2\": {\n              \"hello_world\": \"Hello World!\",\n              \"@meta:hello_world\": {\n                \"comment\": \"Please keep the exclamation mark.\",\n                 \"limit\": 30\n              }\n            }\n          }\n        }\n      }\n    }\n  ]\n}\n```\n\n### Sample Response\n```\n{\n  \"result\": \"_a8451629914916913130\"\n}\n```\n| Field | Description |\n| --- | --- |\n|`result`| ID of the import batch|\n\n> Returned id will be used to fetch detailed import reports in the future.\n\n\n\n## List available file types\n\n```txt\n[GET] \u002Fimport\u002Fformats\n```\n\n| Description | Value |\n| --- | --- |\n| Accessible with project token | true |\n| Accessible with organization token | true |\n| Need write permission | false |\n| Available from role | translator |\n| API level | normal |\n\nReturns a list of available file types for importing strings, including their parameters.\n\n### Sample Request\n\n```bash\ncurl --request GET \\\n  --url https:\u002F\u002Fapi.localazy.com\u002Fimport\u002Fformats \\\n  --header 'Authorization: Bearer {{token}}'\n```\n\n\n### Sample Response\n\n```json\n[\n  {\n    \"type\": \"android\",\n    \"name\": \"Android XML\",\n    \"supportStrings\": true,\n    \"supportPlurals\": true,\n    \"supportArrays\": true,\n    \"supportStructuredKeys\": false\n  },\n  {\n    \"type\": \"json\",\n    \"name\": \"JSON\",\n    \"supportStrings\": true,\n    \"supportPlurals\": true,\n    \"supportArrays\": true,\n    \"supportStructuredKeys\": true,\n    \"plurals\": [\n      {\n        \"type\": \"plural_postfix_br\",\n        \"name\": \"Output plurals as keys suffixed by [pluralForm]\",\n        \"isDefault\": true\n      },\n      {\n        \"type\": \"plural_icu\",\n        \"name\": \"Output plurals in ICU message format\",\n        \"isDefault\": false,\n        \"requiredParams\": [\n          {\n            \"type\": \"plural_variable\",\n            \"description\": \"Variable name for the ICU message format\"\n          }\n        ]\n      },\n      {\n        \"type\": \"plural_array\",\n        \"name\": \"Output plurals as array of objects\",\n        \"isDefault\": false,\n        \"requiredParams\": [\n          {\n            \"type\": \"plural_type\",\n            \"description\": \"Key for the plural form.\"\n          },\n          {\n            \"type\": \"plural_content\",\n            \"description\": \"Key for the textual content.\"\n          }\n        ]\n      }\n    ],\n    \"arrays\": [\n      {\n        \"type\": \"array\",\n        \"name\": \"Output string-array as array\",\n        \"isDefault\": true\n      },\n      {\n        \"type\": \"array_br\",\n        \"name\": \"Output string-array as keys suffixed by [index]\",\n        \"isDefault\": false\n      }\n    ],\n    \"keyTransformers\": [\n      {\n        \"type\": \"none\",\n        \"name\": \"Don't flatten structured keys\",\n        \"isDefault\": true\n      },\n      {\n        \"type\": \"dot\",\n        \"name\": \"Flatten structured keys with '.'\",\n        \"isDefault\": false\n      },\n      {\n        \"type\": \"underscore\",\n        \"name\": \"Flatten structured keys with '_'\",\n        \"isDefault\": false\n      },\n      {\n        \"type\": \"dash\",\n        \"name\": \"Flatten structured keys with '-'\",\n        \"isDefault\": false\n      },\n      {\n        \"type\": \"double_dot\",\n        \"name\": \"Flatten structured keys with ':'\",\n        \"isDefault\": false\n      }\n    ]\n  }\n]\n```\n**Response Object**\n\n| Field | Description |\n| --- | --- |\n| `type` | Type of the file that can be used in `content.type`. |\n| `name` | Name of the type. |\n| `supportStrings` | Indicates whether the type supports plain strings. |\n| `supportPlurals` | Indicates whether the type supports plurals. |\n| `supportArrays` | Indicates whether the type supports string arrays. |\n| `supportStructuredKeys` | Indicates whether the type supports structured\u002Fnested keys. |\n| `plurals` | The list of available types for encoding plurals. Some of the types have `requiredParams` that must be provided. |\n| `arrays` | The list of available types for encoding string arrays. Some of the types have `requiredParams` that must be provided. |\n| `keyTransformers` | The list of available methods for converting structured\u002Fnested keys to plain ones. |",{"id":541,"status":4,"sort":22,"created_on":1827,"slug":149,"name":148,"subtitle":1828,"meta_title":8,"meta_description":8,"hidden":93,"icon":2192,"featured_icon":2193},{"id":1629},{"id":1641},{"id":541,"status":4,"sort":541,"created_on":1833,"name":1365},[],[],[2198],{"id":2184,"documentation_id":2184,"languages_code":113,"slug":2187,"title":2188,"content":2190,"meta_title":8,"meta_description":8,"excerpt":2189},[],{"id":2201,"status":4,"sort":2202,"created_on":1819,"modified_on":2203,"slug":2204,"title":2205,"excerpt":2206,"content":2207,"meta_title":8,"meta_description":8,"pinned":93,"main_image":8,"section":2208,"subsection":2211,"cta":8,"faq":2212,"dictionary":2213,"translations":2214,"documentation_id":2201,"blog_articles":2216},123,"50060","2026-05-08T22:58:46.000Z","files","Files","Endpoints for working with Localazy files.","## About Files\n**In Localazy, a file is a collection of keys and their translations in all languages. Each key that is imported must be stored within a file.**\n\nAdditionally, one file in Localazy can represent multiple discrete files on the filesystem. For example, the file `localization.json` in Localazy can be stored as `en.json`, `cs.json`, and `de.json` on the filesystem, depending on the language.\n\n### Complex Files\n\nLocalazy has a complex mechanism for overlaying and mixing files that enables advanced features like Android product flavors and dynamic app modules.\nWhile this mechanism is not typically required, it is necessary for the Android and iOS SDKs. However, it may result in limitations when working with certain files within the project.\n\n## List files in project\n\n```txt\n[GET] \u002Fprojects\u002F{projectId}\u002Ffiles\n```\n\n| Description | Value |\n| --- | --- |\n| Accessible with project token | true |\n| Accessible with organization token | true |\n| Need write permission | false |\n| Available from role | translator |\n| API level | normal |\n\nReturns list of files in the project with all available parameters.\n\n**Params**\n* `{projectId}` - Your project Id. Use the value from [projects endpoint](https:\u002F\u002Flocalazy.com\u002Fdocs\u002Fapi\u002Fprojects)\n\n### Sample Request\n\n```bash\ncurl --request GET \\\n  --url https:\u002F\u002Fapi.localazy.com\u002Fprojects\u002F{projectId}\u002Ffiles \\\n  --header 'Authorization: Bearer {{token}}'\n```\n\n### Sample Response\n\n```json\n[\n  {\n    \"id\": \"_a58944132124478\",\n    \"type\": \"api\",\n    \"name\": \"file.json\",\n    \"path\": \"path\u002Fto\u002Ffile\"\n  }\n]\n```\n**Response Object:**\n\n| Field | Required | Description |\n| --- | --- | --- |\n| `id` | _required_| Unique identifier of the file. |\n| `type` |_required_| Type of the file; please refer to [file formats](\u002Fdocs\u002Fcli\u002Fupload-reference#supported-file-formats). Value `complex` is used for complex files described above. |\n| `name` |_required_| Name of the file. |\n| `path` |_optional_| Stored path to the file. Optional and only available if provided. |\n\n## List file content\n```txt\n[GET] \u002Fprojects\u002F{projectId}\u002Ffiles\u002F{fileId}\u002Fkeys\u002F{lang}\n```\n\n| Description | Value |\n| --- | --- |\n| Accessible with project token | true |\n| Accessible with organization token | true |\n| Need write permission | false |\n| Available from role | translator |\n| API level | normal |\n\nReturns a list of keys and their translations in language `{lang}` from file `{fileId}`.\n\nLocale code `{lang}` must be in the format: `ll-Scrp-RR`.\n\n### Query Parameters\n\n| Parameter | Description |\n| --- | --- |\n| `deprecated=true` | Include also deprecated keys. |\n| `limit=1000` | Number of keys to be returned in a single call (max 1000). Default 1000. |\n| `next=pageId` | Return next page. Used for paging large data. |\n| `extra_info=true` | Return additional information about keys including `hidden`,`limit`,`depecated` and `comment` attributes. |\n| `no_content=true` | Do not return the actual content\u002Ftranslation of the key. |\n| `unapproved=true` | Include unapproved translations. Default `false`. |\n\n### Sample Request\n\n```bash\ncurl --request GET \\\n  --url https:\u002F\u002Fapi.localazy.com\u002Fprojects\u002F{projectId}\u002Ffiles\u002F{fileId}\u002Fkeys\u002F{lang} \\\n  --header 'Authorization: Bearer {{token}}'\n```\n\n### Sample Response\n\n```json\n{\n  \"keys\": [\n    {\n      \"id\": \"_a8503372675164909925\",\n      \"key\": [\n        \"nested\",\n        \"key\",\n        \"is\",\n        \"supported\"\n      ],\n      \"value\": \"Single string value\",\n      \"vid\": -8476700603785392875,\n      \"hidden\": false,\n      \"deprecated\": -1,\n      \"limit\": 60,\n      \"comment\": \"Comment for translator\"      \n    },\n    {\n      \"id\": \"_a8503372675164909931\",\n      \"key\": [\n        \"plural_key\"\n      ],\n      \"value\": {\n        \"@one\": \"There is only one item.\",\n        \"@other\": \"There are %d items.\"\n      },\n      \"vid\": -8476700603785392875\n    },\n    {\n      \"id\": \"_a8503372675164909934\",\n      \"key\": [\n        \"string_list\"\n      ],\n      \"value\": [\n        \"Easy\",\n        \"Medium\",\n        \"Hard\"\n      ],\n      \"vid\": -8476700603785392875\n    }\n  ],\n  \"next\": \"aA89XITzNpwL\"\n}\n```\n**Response Object**\n\n| Field |Required| Description |\n| --- | --- |--- |\n|`keys`| _required_| Array of keys contained in the file in given language. See **\"Key Object\"** below. |\n| `next` |_optional_| Next is the paging key. The field is not contained if there are no more pages. |\n\n**Key Object**\n\n| Field |Required| Description |\n| --- | --- |--- |\n| `id`| _required_| Unique Id of the key in Localazy. |\n| `key` |_required_| Aray of key components. For nested keys it contains the separate levels. For simple string keys it contains just one item. |\n| `value` |_required_| Value represents the translation. It can be either string, array or object for plurals. |\n| `hidden`|_optional_| Whether the string is hidden from translation interface. (enabled by `extra_info` param)  |\n| `limit`| _optional_| Translation length limit for this key. (enabled by `extra_info` param)  | \n| `deprecated`|_optional_| Whether the string is deprecated. (enabled by `extra_info` param)  |\n| `comment` | _optional_| Translation note for context. (enabled by `extra_info` param)  |\n| `vid`|_required_| Unique identifier of the current version of the translation. It can be used to determine whether the translation has changed from the last time. Useful for two-way synchronization. |\n\n## Download file\n\n```txt\n[GET] \u002Fprojects\u002F{projectId}\u002Ffiles\u002F{fileId}\u002Fdownload\u002F{lang}\n```\n\nDownload the selected file `{fileId}` in a language `{lang}`.\n\n> **Note on unapproved translations:** This endpoint serves the latest published file bundle. To have unapproved translations included in the downloaded file itself, the project must be configured to publish unapproved translations for the target language.\n\n### Sample Request\n\n```bash\ncurl --request GET \\\n  --url https:\u002F\u002Fapi.localazy.com\u002Fprojects\u002F{projectId}\u002Ffiles\u002F{fileId}\u002Fdownload\u002F{lang} \\\n  --header 'Authorization: Bearer {{token}}'\n```\n\n### Response\n\nThe endpoint returns the raw file contents without any additional metadata. Proper `Content-Type` and `Content-Disposition` headers are present.\n\n### Error Response\nWhen  no `type` parameter is specified during [import](\u002Fdocs\u002Fapi\u002Fimport),  the file won't be available for download.\n\n```json\n  {\n    \"success\": false,\n    \"code\": 400,\n    \"error\":  \"file_not_exists\"\n  }\n```\n",{"id":541,"status":4,"sort":22,"created_on":1827,"slug":149,"name":148,"subtitle":1828,"meta_title":8,"meta_description":8,"hidden":93,"icon":2209,"featured_icon":2210},{"id":1629},{"id":1641},{"id":541,"status":4,"sort":541,"created_on":1833,"name":1365},[],[],[2215],{"id":2201,"documentation_id":2201,"languages_code":113,"slug":2204,"title":2205,"content":2207,"meta_title":8,"meta_description":8,"excerpt":2206},[],{"id":753,"status":4,"sort":2218,"created_on":1819,"modified_on":2219,"slug":2220,"title":2221,"excerpt":2222,"content":2223,"meta_title":8,"meta_description":8,"pinned":93,"main_image":8,"section":2224,"subsection":2227,"cta":8,"faq":2228,"dictionary":2229,"translations":2230,"documentation_id":753,"blog_articles":2232},"50070","2026-05-08T23:07:55.000Z","source-keys","Source Keys","Endpoints allowing manipulation with the source keys.",":::info\nTIP: If you wish to **add source keys**, use the [Import endpoint](https:\u002F\u002Flocalazy.com\u002Fdocs\u002Fapi\u002Fimport).\n:::\n\n## Delete source key\n```txt\n[DELETE] \u002Fprojects\u002F{projectId}\u002Fkeys\u002F{keyId}\n```\n\n| Description | Value |\n| --- | --- |\n| Accessible with project token | true |\n| Accessible with organization token | true |\n| Need write permission | true |\n| Available from role | manager |\n| API level | normal |\n\nRemove source key from a project.\n\n**Params**\n* `{projectId}` - Your project `id` or `slug`. Use the value from [projects endpoint](https:\u002F\u002Flocalazy.com\u002Fdocs\u002Fapi\u002Fprojects).\n* `{keyId}` - ID of the key you'd like to remove.\n\n### Sample Request\n\n```bash\ncurl --request DELETE \\\n  --url https:\u002F\u002Fapi.localazy.com\u002Fprojects\u002F{projectId}\u002Fkeys\u002F{keyId} \\\n  --header 'Authorization: Bearer {{token}}'\n```\n\n### Sample Response\n\n```json\n{\n  \"result\": true\n}\n```\n\n## Update source key\n```txt\n[PUT] \u002Fprojects\u002F{projectId}\u002Fkeys\u002F{keyId}\n```\n\n| Description | Value |\n| --- | --- |\n| Accessible with project token | true |\n| Accessible with organization token | true |\n| Need write permission | true |\n| Available from role | manager |\n| API level | normal |\n\nUpdate source key properties (one of hidden, deprecated, character limit and comment for translators) for a key.\n\n**Params**\n* `{projectId}` - Your project `id` or `slug`. Use the value from [projects endpoint](https:\u002F\u002Flocalazy.com\u002Fdocs\u002Fapi\u002Fprojects).\n* `{keyId}` - ID of the key you'd like to modify.\n\n### Sample Request\n\n```bash\ncurl --request PUT \\\n  --url https:\u002F\u002Fapi.localazy.com\u002Fprojects\u002F{projectId}\u002Fkeys\u002F{keyId} \\\n  --header 'Authorization: Bearer {{token}}' \\\n  --header 'Content-Type: application\u002Fjson' \\\n  --data '{\n  \"deprecated\": 37,\n  \"hidden\": true,\n  \"comment\": \"Custom comment for the translator\",\n  \"limit\": 100\n}'\n```\n\n**Request Object**\n\n| Field | Description |\n| --- | --- |\n| `deprecated` | Set to 0 or greater to mark the key as deprecated in the corresponding version; set to -1 to mark the key as not deprecated. |\n| `hidden` | Set to true to mark the key as hidden for translation in Localazy. |\n| `comment` | Provide custom comment for translators. |\n| `limit` | Change the limit of translation length or set to -1 to disable it. |\n\nAll fields are optional and if omitted, the corresponding property is left unchanged.\n\n### Sample Response\n\n```json\n{\n  \"result\": true\n}\n```\n\n## Set tags on a key\n```txt\n[PUT] \u002Fprojects\u002F{projectId}\u002Fkeys\u002F{keyId}\u002Ftags\n```\n\n| Description | Value |\n| --- | --- |\n| Accessible with project token | true |\n| Accessible with organization token | true |\n| Need write permission | true |\n| Available from role | manager |\n| API level | normal |\n\nAdd and\u002For remove named tags on a single key. Tags are matched by name; any name passed in `addTags` that does not yet exist in the project is created automatically. Names passed in `removeTags` that do not exist are silently ignored.\n\n**Params**\n* `{projectId}` - Your project `id` or `slug`. Use the value from [projects endpoint](https:\u002F\u002Flocalazy.com\u002Fdocs\u002Fapi\u002Fprojects).\n* `{keyId}` - ID of the key whose tags you'd like to modify.\n\n### Sample Request\n\n```bash\ncurl --request PUT \\\n  --url https:\u002F\u002Fapi.localazy.com\u002Fprojects\u002F{projectId}\u002Fkeys\u002F{keyId}\u002Ftags \\\n  --header 'Authorization: Bearer {{token}}' \\\n  --header 'Content-Type: application\u002Fjson' \\\n  --data '{\n  \"addTags\": [\"marketing\", \"v2\"],\n  \"removeTags\": [\"legacy\"]\n}'\n```\n\n**Request Object**\n\n| Field | Description |\n| --- | --- |\n| `addTags` | Optional list of tag names to attach to the key. Missing tags are created. |\n| `removeTags` | Optional list of tag names to detach from the key. Unknown names are ignored. |\n\nIf both fields are omitted or empty, the request is a no-op and `result: true` is returned.\n\n### Sample Response\n\n```json\n{\n  \"result\": true\n}\n```\n\n## Set tags on multiple keys\n```txt\n[PUT] \u002Fprojects\u002F{projectId}\u002Fkeys\u002Ftags\n```\n\n| Description | Value |\n| --- | --- |\n| Accessible with project token | true |\n| Accessible with organization token | true |\n| Need write permission | true |\n| Available from role | manager |\n| API level | normal |\n\nAdd and\u002For remove named tags on a batch of keys in a single request. Up to **1000** keys per call.\n\n**Params**\n* `{projectId}` - Your project `id` or `slug`. Use the value from [projects endpoint](https:\u002F\u002Flocalazy.com\u002Fdocs\u002Fapi\u002Fprojects).\n\n### Sample Request\n\n```bash\ncurl --request PUT \\\n  --url https:\u002F\u002Fapi.localazy.com\u002Fprojects\u002F{projectId}\u002Fkeys\u002Ftags \\\n  --header 'Authorization: Bearer {{token}}' \\\n  --header 'Content-Type: application\u002Fjson' \\\n  --data '{\n  \"keys\": [\"_a8503372675164909925\", \"_a8503372675164909931\"],\n  \"addTags\": [\"marketing\"],\n  \"removeTags\": [\"legacy\"]\n}'\n```\n\n**Request Object**\n\n| Field | Description |\n| --- | --- |\n| `keys` | Required. Array of key IDs to update. Maximum 1000 entries per request. |\n| `addTags` | Optional list of tag names to attach to every listed key. Missing tags are created. |\n| `removeTags` | Optional list of tag names to detach from every listed key. Unknown names are ignored. |\n\n### Sample Response\n\n```json\n{\n  \"result\": true\n}\n```\n\n## Set priority on a key\n```txt\n[PUT] \u002Fprojects\u002F{projectId}\u002Fkeys\u002F{keyId}\u002Fpriority\n```\n\n| Description | Value |\n| --- | --- |\n| Accessible with project token | true |\n| Accessible with organization token | true |\n| Need write permission | true |\n| Available from role | manager |\n| API level | normal |\n\nSet the priority of a single key. Priority is implemented internally as a system tag, so setting a new priority replaces any priority previously assigned to the key.\n\n**Params**\n* `{projectId}` - Your project `id` or `slug`. Use the value from [projects endpoint](https:\u002F\u002Flocalazy.com\u002Fdocs\u002Fapi\u002Fprojects).\n* `{keyId}` - ID of the key whose priority you'd like to modify.\n\n### Sample Request\n\n```bash\ncurl --request PUT \\\n  --url https:\u002F\u002Fapi.localazy.com\u002Fprojects\u002F{projectId}\u002Fkeys\u002F{keyId}\u002Fpriority \\\n  --header 'Authorization: Bearer {{token}}' \\\n  --header 'Content-Type: application\u002Fjson' \\\n  --data '{\n  \"priority\": \"high\"\n}'\n```\n\n**Request Object**\n\n| Field | Description |\n| --- | --- |\n| `priority` | Required. One of `lowest`, `low`, `normal`, `high`, `highest`. Use `normal` to clear any existing priority on the key. |\n\n### Sample Response\n\n```json\n{\n  \"result\": true\n}\n```\n\n## Set priority on multiple keys\n```txt\n[PUT] \u002Fprojects\u002F{projectId}\u002Fkeys\u002Fpriority\n```\n\n| Description | Value |\n| --- | --- |\n| Accessible with project token | true |\n| Accessible with organization token | true |\n| Need write permission | true |\n| Available from role | manager |\n| API level | normal |\n\nSet the same priority on a batch of keys in a single request. Up to **1000** keys per call.\n\n**Params**\n* `{projectId}` - Your project `id` or `slug`. Use the value from [projects endpoint](https:\u002F\u002Flocalazy.com\u002Fdocs\u002Fapi\u002Fprojects).\n\n### Sample Request\n\n```bash\ncurl --request PUT \\\n  --url https:\u002F\u002Fapi.localazy.com\u002Fprojects\u002F{projectId}\u002Fkeys\u002Fpriority \\\n  --header 'Authorization: Bearer {{token}}' \\\n  --header 'Content-Type: application\u002Fjson' \\\n  --data '{\n  \"keys\": [\"_a8503372675164909925\", \"_a8503372675164909931\"],\n  \"priority\": \"high\"\n}'\n```\n\n**Request Object**\n\n| Field | Description |\n| --- | --- |\n| `keys` | Required. Array of key IDs to update. Maximum 1000 entries per request. |\n| `priority` | Required. One of `lowest`, `low`, `normal`, `high`, `highest`. Use `normal` to clear any existing priority on the listed keys. |\n\n### Sample Response\n\n```json\n{\n  \"result\": true\n}\n```",{"id":541,"status":4,"sort":22,"created_on":1827,"slug":149,"name":148,"subtitle":1828,"meta_title":8,"meta_description":8,"hidden":93,"icon":2225,"featured_icon":2226},{"id":1629},{"id":1641},{"id":541,"status":4,"sort":541,"created_on":1833,"name":1365},[],[],[2231],{"id":753,"documentation_id":753,"languages_code":113,"slug":2220,"title":2221,"content":2223,"meta_title":8,"meta_description":8,"excerpt":2222},[],{"id":2234,"status":4,"sort":2235,"created_on":2236,"modified_on":2237,"slug":2238,"title":2239,"excerpt":2240,"content":2241,"meta_title":8,"meta_description":8,"pinned":93,"main_image":8,"section":2242,"subsection":2245,"cta":8,"faq":2246,"dictionary":2247,"translations":2248,"documentation_id":2234,"blog_articles":2250},165,"50075","2022-10-14T09:34:56.000Z","2025-02-17T14:49:49.000Z","duplicities","Duplicities","Endpoints allowing manipulation with links between source keys that are useful for solving duplicities. ","If your project contains duplicities, you can solve them by linking keys together. When the key is linked to another one, it copies its content when publishing takes place. \n\nWhen the key is linked, it's automatically marked as hidden, and it's not required to be translated. It can have content of its own, but its content is not used during publishing, and it's replaced by the content of the linked key as long as the link exists.\n\nPlease note that existing links can disable some operations, such as deleting target keys, clearing project content, etc. \n\n## Availability\n\n**This feature is available on the Business tier and above.** \n\nYou can link duplicities in one project or across up to 3 additional projects from the [Business plan](\u002Fdocs\u002Fgeneral\u002Flocalazy-business-tier) and above. \n\nUsing this API, you can create project-specific and cross-project links without any limitations even when you are not on the given plan, but they are not considered during publishing. They are effectively ignored.\n\n## List links\n```txt\n[GET] \u002Fprojects\u002F{projectId}\u002Flinks\n```\n\n| Description | Value |\n| --- | --- |\n| Accessible with project token | true |\n| Accessible with organization token | true |\n| Need write permission | false |\n| Available from role | reviewer |\n| API level | normal |\n\nLists all existing links.\n\n### Query Parameters\n\n| Parameter | Description |\n| --- | --- |\n| `limit=1000` | Number of links to be returned in a single call (max 1000). Default 1000. |\n| `next=pageId` | Used for paging long lists. |\n\n### Sample Response \n\n```json\n{\n    \"links\": [\n        {\n            \"keyId\": \"_a8044180069099765445\",\n            \"linkedProjectId\": \"_a8044180115884081146\",\n            \"linkedKeyId\": \"_a8044180069032656579\"\n        }\n    ],\n    \"next\": \"a9aEQf97CUPF\"\n}\n```\n\n**Request Object**\n\n| Field |Required| Description |\n| --- | --- |--- |\n|`links`| _required_| Array of links. See **\"Link Object\"** below. |\n| `next` |_optional_| Next is the paging key. The field is not contained if there are no more pages. |\n\n**Link Object**\n\n| Field |Required| Description |\n| --- | --- |--- |\n|`keyId`| _required_| Id of the key in Localazy. |\n| `linkedProjectId` |_required_| Id of the project in Localazy the target key comes from. The cross-project linking is not available yet.  |\n| `linkedKeyId` |_required_| Id of the target key it is linked to. |\n\n## Create links\n```txt\n[POST] \u002Fprojects\u002F{projectId}\u002Flinks\u002F{keyId}\n```\n\n| Description | Value |\n| --- | --- |\n| Accessible with project token | true |\n| Accessible with organization token | true |\n| Need write permission | true |\n| Available from role | reviewer |\n| API level | normal |\n\nCreate a new link from `keyId` to the key specified in the request body.\n\nIt's not possible to create a link to a key that is already linked to another one.\n\n### Sample Request \n\n```bash\ncurl --request PUT \\\n  --url https:\u002F\u002Fapi.localazy.com\u002Fprojects\u002F{projectId}\u002Flinks\u002F{keyId} \\\n  --header 'Authorization: Bearer {{token}}' \\\n  --header 'Content-Type: application\u002Fjson' \\\n  --data '{\n  \"keyId\": \"_a8044180069099765445\",\n  \"project\": \"target-project\"\n}'\n```\n\n**Request Object**\n\n| Field   | Description           |\n| ------- | --------------------- |\n| `keyId` | Id of the target key. |\n| `project` | Id or slug of the target project. If omitted, the current project is used instead. The user invoking the request must have at least the reviewer role in the target project. |\n\n### Sample Response \n\n```json\n{\n  \"result\": true\n}\n```\n\n## Remove links\n```txt\n[DELETE] \u002Fprojects\u002F{projectId}\u002Flinks\u002F{keyId}\n```\n\n| Description | Value |\n| --- | --- |\n| Accessible with project token | true |\n| Accessible with organization token | true |\n| Need write permission | true |\n| Available from role | reviewer |\n| API level | normal |\n\nRemove the link for `keyId` if it exists.\n\n### Sample Response \n\n```json\n{\n  \"result\": true\n}\n```",{"id":541,"status":4,"sort":22,"created_on":1827,"slug":149,"name":148,"subtitle":1828,"meta_title":8,"meta_description":8,"hidden":93,"icon":2243,"featured_icon":2244},{"id":1629},{"id":1641},{"id":541,"status":4,"sort":541,"created_on":1833,"name":1365},[],[],[2249],{"id":2234,"documentation_id":2234,"languages_code":113,"slug":2238,"title":2239,"content":2241,"meta_title":8,"meta_description":8,"excerpt":2240},[],{"id":2252,"status":4,"sort":2253,"created_on":1819,"modified_on":2254,"slug":1286,"title":2255,"excerpt":2256,"content":2257,"meta_title":8,"meta_description":8,"pinned":93,"main_image":8,"section":2258,"subsection":2261,"cta":8,"faq":2262,"dictionary":2263,"translations":2264,"documentation_id":2252,"blog_articles":2266},139,"50080","2026-05-04T08:50:04.000Z","Glossary","List of endpoints to work with the project glossary.","Learn more about [Localazy translation glossary](\u002Fdocs\u002Fgeneral\u002Fhow-to-define-your-glossary) before reading this article.\n\n## List all glossary terms  \n```txt\n[GET] \u002Fprojects\u002F{projectId}\u002Fglossary\n```\n\n| Description | Value |\n| --- | --- |\n| Accessible with project token | true |\n| Accessible with organization token | true |\n| Need write permission | false |\n| Available from role | translator |\n| API level | normal |\n\nReturns all glossary terms for the given project.\n\n**Params**\n* `{projectId}` - Your project Id. Use the value from [projects endpoint](https:\u002F\u002Flocalazy.com\u002Fdocs\u002Fapi\u002Fprojects)\n\n### Sample Request\n```bash\ncurl --request GET \\\n  --url https:\u002F\u002Fapi.localazy.com\u002Fprojects\u002F{projectId}\u002Fglossary \\\n  --header 'Authorization: Bearer {{token}}'\n\n```\n\n### Sample Response\n\n```json\n[\n  \"glossaries\": {\n          \"id\": \"_a56467123854641134\",\n          \"description\": \"Item description\",\n          \"translateTerm\": true,\n          \"caseSensitive\": true,\n          \"exactMatch\": true,\n          \"term\": [\n            {\n              \"lang\": \"en_US\",\n              \"term\": \"Hello\"\n            },\n            {\n              \"lang\": \"cs\",\n              \"term\": \"Ahoj\"\n            }\n          ]\n    }\n]\n```\n\n**Response Object**\n\n| Name | Description |\n| --- | --- |\n| `id` | Id of the glossary term. |\n| `description` | Description of the glossary term. |\n| `translateTerm` | Whether the term should be translated or left as is. |\n| `caseSensitive` | Wheter the term is case sensitive or not. |\n| `term` | Contains an array of the term and it's translations. See **\"Term Object\"** below.  |\n\n**Term Object**\n\n| Name | Description |\n| --- | --- |\n| `lang` | Language code in which the term is used. Use source language if not translatable. |\n| `term` | The value of the glossary term.|\n\n\n## Get glossary term\n\n```txt\n[GET] \u002Fprojects\u002F{projectId}\u002Fglossary\u002F{id}\n```\n\n| Description | Value |\n| --- | --- |\n| Accessible with project token | true |\n| Accessible with organization token | true |\n| Need write permission | false |\n| Available from role | translator |\n| API level | normal |\n\nRetrieve a single glossary term for the given project specified by `{id}`. \n\n### Sample Request\n\n```bash\ncurl --request GET \\\n  --url https:\u002F\u002Fapi.localazy.com\u002Fprojects\u002F{projectId}\u002Fglossary\u002F{id} \\\n  --header 'Authorization: Bearer {{token}}'\n```\n\n### Sample Response\n\n```json\n{\n  \"id\": \"_a56467123854641134\",\n  \"description\": \"Item description\",\n  \"translateTerm\": true,\n  \"caseSensitive\": true,\n  \"exactMatch\": true,\n  \"term\": [\n    {\n      \"lang\": \"en_US\",\n      \"term\": \"Hello\"\n    },\n    {\n      \"lang\": \"cs\",\n      \"term\": \"Ahoj\"\n    }\n  ]\n}\n```\n\n**Response Object**\n\n| Name | Description |\n| --- | --- |\n| `id` | Id of the glossary term. |\n| `description` | Description of the glossary term. |\n| `translateTerm` | Whether the term should be translated or left as is. |\n| `caseSensitive` | Wheter the term is case sensitive or not. |\n| `term` | Contains an array of the term and it's translations. See **\"Term Object\"** below.  |\n\n**Term Object**\n\n| Name | Description |\n| --- | --- |\n| `lang` | Language code in which the term is used. |\n| `term` | The value of the glossary term.|\n\n## Delete glossary term\n\n```txt\n[DELETE] \u002Fprojects\u002F{projectId}\u002Fglossary\u002F{id}\n```\n\n| Description | Value |\n| --- | --- |\n| Accessible with project token | true |\n| Accessible with organization token | true |\n| Need write permission | true |\n| Available from role | reviewer |\n| API level | normal |\n\nDelete a glossary term specified by `{id}`.\n\n### Sample Request\n```bash\ncurl --request DELETE \\\n  --url https:\u002F\u002Fapi.localazy.com\u002Fprojects\u002F{projectId}\u002Fglossary\u002F{id} \\\n  --header 'Authorization: Bearer {{token}}'\n```\n\n### Sample Response\n\n```json\n{\n  \"result\": true\n}\n```\n\n## Create new glossary term\n\n```txt\n[POST] \u002Fprojects\u002F{projectId}\u002Fglossary\n```\n\n| Description | Value |\n| --- | --- |\n| Accessible with project token | true |\n| Accessible with organization token | true |\n| Need write permission | true |\n| Available from role | reviewer |\n| API level | normal |\n\nAdds a new term to glossary. There is a limit of 1000 glossary term per project. \n\n### Sample Request\n\n```bash\ncurl --request POST \\\n  --url https:\u002F\u002Fapi.localazy.com\u002Fprojects\u002F{projectId}\u002Fglossary \\\n  --header 'Authorization: Bearer {{token}}' \\\n  --header 'Content-Type: application\u002Fjson' \\\n  --data '{\n  \"description\": \"Item description\",\n  \"translateTerm\": true,\n  \"caseSensitive\": true,\n  \"exactMatch\": true,\n  \"term\": [\n    {\n      \"lang\": \"en_US\",\n      \"term\": \"Hello\"\n    },\n    {\n      \"lang\": \"cs\",\n      \"term\": \"Ahoj\"\n    }\n  ]\n}'\n```\n\n**Request Object**\n\n| Name | Description |\n| --- | --- |\n| `id` | Id of the glossary term. |\n| `description` | Description of the glossary term. |\n| `translateTerm` | Whether the term should be translated or left as is. |\n| `caseSensitive` | Wheter the term is case sensitive or not. |\n| `term` | Contains an array of the term and it's translations. See **\"Term Object\"** below.  |\n\n**Term Object**\n\n| Name | Description |\n| --- | --- |\n| `lang` | Language code in which the term is used. Make sure to include source language. |\n| `term` | The value of the glossary term.|\n\n### Sample Response\n\n```json\n{\n  \"result\": \"_a56467123854641134\"\n}\n```\n\n**Response Object**\n\n| Name | Description |\n| --- | --- |\n| `result` | Id of the created item |\n\n## Update glossary term\n```txt\n[PUT] \u002Fprojects\u002F{projectId}\u002Fglossary\u002F{id}\n```\n\n| Description | Value |\n| --- | --- |\n| Accessible with project token | true |\n| Accessible with organization token | true |\n| Need write permission | true |\n| Available from role | reviewer |\n| API level | normal |\n\nUpdate a glossary term specified by `{id}`.\n\n### Sample Request\n\n```bash\ncurl --request PUT \\\n  --url https:\u002F\u002Fapi.localazy.com\u002Fprojects\u002F{projectId}\u002Fglossary \\\n  --header 'Authorization: Bearer {{token}}' \\\n  --header 'Content-Type: application\u002Fjson' \\\n  --data '{\n  \"description\": \"Item description\",\n  \"translateTerm\": true,\n  \"caseSensitive\": true,\n  \"exactMatch\": true,\n  \"term\": [\n    {\n      \"lang\": \"en_US\",\n      \"term\": \"Hello\"\n    },\n    {\n      \"lang\": \"cs\",\n      \"term\": \"Ahoj\"\n    }\n  ]\n}'\n```\n\n**Request Object**\n\n| Name | Description |\n| --- | --- |\n| `id` | Id of the glossary term. |\n| `description` | Description of the glossary term. |\n| `translateTerm` | Whether the term should be translated or left as is. |\n| `caseSensitive` | Wheter the term is case sensitive or not. |\n| `term` | Contains an array of the term and it's translations. See **\"Term Object\"** below.  |\n\n**Term Object**\n\n| Name | Description |\n| --- | --- |\n| `lang` | Language code in which the term is used. Make sure to include source language. |\n| `term` | The value of the glossary term.|\n\n### Sample Response\n\n```json\n{\n  \"result\": true\n}\n```",{"id":541,"status":4,"sort":22,"created_on":1827,"slug":149,"name":148,"subtitle":1828,"meta_title":8,"meta_description":8,"hidden":93,"icon":2259,"featured_icon":2260},{"id":1629},{"id":1641},{"id":541,"status":4,"sort":541,"created_on":1833,"name":1365},[],[],[2265],{"id":2252,"documentation_id":2252,"languages_code":113,"slug":1286,"title":2255,"content":2257,"meta_title":8,"meta_description":8,"excerpt":2256},[],{"id":2268,"status":4,"sort":2269,"created_on":2270,"modified_on":2237,"slug":2271,"title":1450,"excerpt":2272,"content":2273,"meta_title":8,"meta_description":8,"pinned":93,"main_image":8,"section":2274,"subsection":2277,"cta":8,"faq":2278,"dictionary":2279,"translations":2280,"documentation_id":2268,"blog_articles":2282},170,"50090","2023-01-18T22:37:13.000Z","webhooks-api","Endpoints to manage the webhook configuration for your project.","\t\n## About webhooks\nYou must be subscribed to the [Autopilot](\u002Fdocs\u002Fgeneral\u002Flocalazy-autopilot-tier) or a higher tier to set up webhooks. Webhook configuration is also available in the [Localazy web UI](\u002Fdocs\u002Fgeneral\u002Fwebhooks).\n\nWhen the 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, a `JSON` structure with additional information is provided. Timeouts are set to **10 seconds**. Redirects are enabled.\n\n### Security\nLocalazy signs the webhook events it sends to your endpoints and adds a signature in the request header. \nThis allows you to verify that the events were sent by Localazy and not a third party.\n\n| Header name | Description | Type |\n| --- | --- | --- |\n| X-Localazy-Timestamp | UNIX timestamps in seconds | string |\n| X-Localazy-HMAC | HMAC SHA 256 of \"{ts}-{raw post body}\" signed by `secret` | string |\n\n\n#### How to verify webhook requests?\nBefore you can verify signatures, you need to retrieve your project secret using the [webhook secret](#webhook-secrets) endoint.\n\nTo verify that the request sent is valid (and therefore has not been modified during the transfer) calculate the hash of the request, and compare it with the value stored in the `X-Localazy-HMAC` header: \n\n```js\nconst crypto = require(\"crypto\");\n\n\u002F\u002F `secret` fetched with the \u002Fprojects\u002F{projectId}\u002Fwebhooks\u002Fsecret endpoint\nconst secretHmac = crypto.createHmac(\"sha256\", secret);\n\u002F\u002F `xLocalazyTimestamp`: X-Localazy-Timestamp header value\n\u002F\u002F `body` the webhook POST body\nconst signedMessage = secretHmac.update(`${xLocalazyTimestamp}-${JSON.stringify(body)}`).digest(\"hex\");\n\n\u002F\u002F `xLocalazyHmac`: X-Localazy-HMAC header value\nif (xLocalazyHmac !== signedMessage) {\n  \u002F\u002F processing the request is not recommended, reqeuest has been modified\n}\n\n\u002F\u002F request can be safely processed\n```\n\n\n## List webhooks configuration\t\t\n\n```txt\n[GET] \u002Fprojects\u002F{projectId}\u002Fwebhooks\n```\n\t\t\t\n| Type | Value |\n| -------- | ---------------- |\n| Roles | reviewer |\n| Produces | application\u002Fjson |\n\t\t\t\n\nReturns the webhooks configuration for the given project.\n\n**Params**\n* `{projectId}` - Your project Id. Use the value from [projects endpoint](https:\u002F\u002Flocalazy.com\u002Fdocs\u002Fapi\u002Fprojects)\n\n### Sample Request\n\n```bash\ncurl --request GET \\\n  --url https:\u002F\u002Fapi.localazy.com\u002Fprojects\u002F{projectId}\u002Fwebhooks \\\n  --header 'Authorization: Bearer {{token}}'\n```\n\n### Sample Response\n\t\t\t\n```json\n{\n  \"items\": [\n    {\n      \"enabled\": true,\n      \"customId\": \"my-custom-id\",\n      \"description\": \"Inform backend that the project is published.\",\n      \"url\": \"https:\u002F\u002Fwebhook-target-url.com\u002Fwebhook1\",\n      \"events\": [\n        \"project_published\"\n      ]\n    },\n    {\n      \"enabled\": false,\n      \"customId\": \"\",\n      \"description\": \"\",\n      \"url\": \"https:\u002F\u002Fwebhook-target-url.com\u002Fwebhook2\",\n      \"events\": [\n        \"project_published\"\n      ]\n    }\n  ]\n}\n```\n **Response Object** \n      \n| Field | Description |\n| ----------- | ----------------------------------------------------------------------- |\n| enabled | Wheter the webhook is enabled or disabled. |\n| customId | Custom ID that is passed when the webhook is invoked. Empty by default. |\n| description | Description of the webhook. Empty by default. |\n| url | URL which is invoked on the webhook event. |\n| events | The list of [event types](#event-types) for which this webhook is invoked. |\n\t\t\t\n\n## Update webhooks configuration\t\t\n\n```txt\n[POST] \u002Fprojects\u002F{projectId}\u002Fwebhooks\n```\n\n\n| Type | Value |\n| -------- | ---------------- |\n| Roles | reviewer |\n| Produces | application\u002Fjson |\n| Consumes | application\u002Fjson |\n\t\t\t\n\nStore a new webhooks configuration for the project.\nYou can use project's **id** or **slug** as **{projectId}**.\n\n**Limits:**\n\t\t\t\n\n- There can be max. 30 webhooks per project.\n- URL can be max. 1024 chars long.\n- There can be max. of 50 events per webhook.\n- Event can be max. 32 chars long.\n\t\t\t\n\n### Sample Request\n\t\t\t\n```bash\ncurl --request POST \\\n  --url https:\u002F\u002Fapi.localazy.com\u002Fprojects\u002F{projectId}\u002Fwebhooks \\\n  --header 'Authorization: Bearer {{token}}' \\\n  --header 'Content-Type: application\u002Fjson' \\\n  --data '{ \n  \"items\": [\n    {\n      \"enabled\": true,\n      \"customId\": \"my-custom-id\",\n      \"description\": \"Inform backend that the project is published.\",\n      \"url\": \"https:\u002F\u002Fwebhook-target-url.com\u002Fwebhook1\",\n      \"events\": [\n        \"project_published\"\n      ]\n    },\n    {\n      \"enabled\": false,\n      \"customId\": \"\",\n      \"description\": \"\",\n      \"url\": \"https:\u002F\u002Fwebhook-target-url.com\u002Fwebhook2\",\n      \"events\": [\n        \"project_published\"\n      ]\n    }\n  ]\n}'\n```\n**Request Object**\n\t\t\t\n| Field | Description |\n| ----------- | ----------------------------------------------------------------------- |\n| `enabled` | Allows to enabled\u002Fdisable the webhook. |\n| `customId` | Custom ID that is passed when the webhook is invoked. Empty by default. |\n| `description` | Description of the webhook. Empty by default. |\n| `url` | URL to be invoked on the webhook event. |\n| `events` | The list of [event types](#event-types) to invoke this webhook for. |\n\t\t\t\n\n### Sample Response\n\t\t\t\n```json\n{\n  \"result\": true\n}\n```\n\t\t\t\n\n| Field | Description |\n| ------ | --------------------------- |\n| result | Success status of operation |\n\t\t\t\n\n## Event Types\n\nList of events that can be triggered by the webhook. Can be one of [`comment_added`, `import_finished`, `import_finished_empty`, `project_published`, `tag_promoted`].\n\t\t\t\n\n### Comment Added\n\n- Idenfitier: `comment_added`\n- Triggered when a comment is added to the specified project\t\n\n#### Request Body\n\n```json\n{\n  \"type\": \"comment_added\",\n  \"projectId\": \"_a8402929705887203313\",\n  \"customId\": \"\",\n  \"phraseId\": \"_a8402929700326342655\",\n  \"langId\": 60,\n  \"locale\": \"cs\",\n  \"text\": \"Text of the comment...\",\n  \"url\": \"https:\u002F\u002Flocalazy.com\u002Fp\u002Ftest-project\u002Fphrases\u002F60\u002Fedit\u002F_a8402929700326342655\",\n  \"user\": {\n    \"id\": \"_a8402929715013877756\",\n    \"image\": \"\",\n    \"name\": \"John Doe\",\n    \"slug\": \"john-doe\"\n  }\n}\n```\n\n| Field | Description |\n| --------- | ----------------------------------------------------------------------------- |\n| `type` | Webhook event type |\n| `projectId` | the Localazy project identifier \n| `customId` | the webhook identifier (empty when defined in UI, modifiable over Public API) | \n| `phraseId` | the phrase identifier the comment belongs to |\n| `langId` | the language identifier the comment belongs to | \n| `locale` | the locale code the comment belongs to |\n| `text` | the comment text |\n| `url` | the comment URL | \n| `user` | an object containing the basic commenting user information. See **User Object** below. |\n\t\t\t\n\n\n**User Object**\n\n| Field | Description |\n| ----------- | ----------------------------------------------------------------------- | \n| `id` | the user identifier |\n| `image` | the user image |\n| `name` | the user name |\n| `slug` | the user slug |\n\n### Content Imported\n\t\t\t\n- Identifier: `import_finished`\n- The webhook is invoked when importing is finished (from CLI or Gradle). Event `import_finished` is invoked only when there are added, updated or deprecated keys.\n\n\t\t\t\n\n#### Request Body\n\n```json\n{\n  \"type\": \"import_finished\",\n  \"projectId\": \"_a8402929705887203313\",\n  \"customId\": \"\",\n  \"added\": 5,\n  \"updated\": 1,\n  \"deprecated\": 3\n}\n```\n\n\n| Field | Description | \n| ---------- | ----------------------------------------------------------------------------- |\n| `type` | Webhook event type | \n| `projectId` | the Localazy project identifier | \n| `customId` | the webhook identifier (empty when defined in UI, modifiable over Public API) |\n| `added` | number of newly added keys |\n| `updated` | number of newwly updated keys | \n| `deprecated` | number of deprecated keys | \n\t\t\t\n\n### Content Imported Empty\n\t\t\t\n- Identifier: `import_finished_empty`\n- The webhook is invoked when importing is finished (from CLI or Gradle). This event is invoked when the importing finished with no changes.\n\n\t\t\t\n\n#### Request Body\n\t\t\t\n\n```json\n{\n  \"type\": \"import_finished_empty\",\n  \"projectId\": \"_a8402929705887203313\",\n  \"customId\": \"\",\n  \"added\": 0,\n  \"updated\": 0,\n  \"deprecated\": 5\n}\n```\n\t\t\t\n\n| Field | Description | \n| ---------- | ----------------------------------------------------------------------------- | \n| `type` | Webhook event type |\n| `projectId` | the Localazy project identifier |\n| `customId` | the webhook identifier (empty when defined in UI, modifiable over Public API) |\n| `added` | number of newly added keys |\n| `updated` | number of newwly updated keys |\n| `deprecated` | number of deprecated keys | \n\t\t\t\n\n### Project Published\n\t\t\t\n- Identifier: `project_published`\n- Triggered when the project is successfully published (applies to [release tags](https:\u002F\u002Flocalazy.com\u002Fdocs\u002Fcli\u002Frelease-tags) too)\n\t\t\t\n#### Request Body\n\t\t\t\n```json\n{\n  \"type\": \"project_published\",\n  \"projectId\": \"_a8404215906455781329\",\n  \"customId\": \"custom ID\",\n  \"tag\": \"latest\"\n}\n```\n\t\t\t\n\n| Field | Description |\n| --------- | ----------------------------------------------------------------------------- | \n| `type` | Webhook event type |\n| `projectId` | the Localazy project identifier |\n| `customId` | the webhook identifier (empty when defined in UI, modifiable over Public API) |\n| `tag` | the `latest` tag or a tag created by Released Tags |\n\n### Tag Promoted\n\n- Identified: `tag_promoted`\n- Triggered whenever a release tag is promoted to another tag (see [release tags](https:\u002F\u002Flocalazy.com\u002Fdocs\u002Fcli\u002Frelease-tags))\n\n#### Request Body\n\n```json\n{\n  \"type\" : \"tag_promoted\",\n  \"projectId\" : \"_a8404215906455781329\",\n  \"customId\": \"custom ID\",\n  \"sourceTag\" : \"latest\",\n  \"targetTag\" : \"production\"\n}\n```\n\n## Webhook secrets\n\n```txt\n[GET] \u002Fprojects\u002F{projectId}\u002Fwebhooks\u002Fsecret\n```\n\nRetrieve webhooks secret for current project.\n\n### Request\n\n```\ncurl --request GET \\\n  --url https:\u002F\u002Ftesting.localazy.com\u002Fapi\u002Fproject\u002Ftest-project\u002Fwebhooks\u002Fsecret \\\n  --header 'Authorization: Bearer {{token}}'\n  ```\n\n\n### Response\n\n```json\n{\n  \"secret\": \"a webhook secret\",\n}\n```\n\n",{"id":541,"status":4,"sort":22,"created_on":1827,"slug":149,"name":148,"subtitle":1828,"meta_title":8,"meta_description":8,"hidden":93,"icon":2275,"featured_icon":2276},{"id":1629},{"id":1641},{"id":541,"status":4,"sort":541,"created_on":1833,"name":1365},[],[],[2281],{"id":2268,"documentation_id":2268,"languages_code":113,"slug":2271,"title":1450,"content":2273,"meta_title":8,"meta_description":8,"excerpt":2272},[],{"id":2284,"status":4,"sort":2285,"created_on":2286,"modified_on":2287,"slug":2288,"title":2289,"excerpt":2290,"content":2291,"meta_title":8,"meta_description":8,"pinned":93,"main_image":8,"section":2292,"subsection":2295,"cta":8,"faq":2296,"dictionary":2316,"translations":2317,"documentation_id":2284,"blog_articles":2319},155,"50100","2022-07-11T08:21:30.000Z","2025-02-17T14:49:46.000Z","screenshot-management","Screenshots","Endpoints to manage screenshots in a project.\n","\n## About screenshots\nTo enable the [Context Screenshots](\u002Fdocs\u002Fgeneral\u002Fscreenshots) feature, you must activate the [Professional](https:\u002F\u002Flocalazy.com\u002Fdocs\u002Fgeneral\u002Flocalazy-professional-tier) or higher tier. \n\nLocalazy reserves some metadata keys for screenshots to function correctly - do not use the following keys in metadata:\n* `name` is used for a file name displayed in the web UI\n* `ignoreSuggestedPhrases` is used for maintaining the list of ignored suggested keys\n\n## List screenshots\n\n```txt\n[GET] \u002Fprojects\u002F{projectId}\u002Fscreenshots\n```\n\n| Type | Value |\n| -------- | ---------------- |\n| Roles | translator |\n| Need write permission | false |\n| Produces | application\u002Fjson |\n\nLists all screenshots in the project.\n\n**Params**\n* `{projectId}` - Your project Id. Use the value from [projects endpoint](https:\u002F\u002Flocalazy.com\u002Fdocs\u002Fapi\u002Fprojects)\n\n### Sample Request\n\n```bash\ncurl --request GET \\\n  --url https:\u002F\u002Fapi.localazy.com\u002Fprojects\u002F{projectId}\u002Fscreenshots \\\n  --header 'Authorization: Bearer {{token}}'\n```\n### Sample Response\n\n```json\n[{\n  \"id\": \"_a54984654651321345\",\n  \"url\": \"https:\u002F\u002Fcdn.localazy.com\u002Fscreenshots\u002F....\",\n  \"comment\": \"Custom comment for the screenshots\",\n  \"phrases\": [\"_a54984654651321345\", \"_a54984654651321345\"],\n  \"tags\": [\"ui\", \"settings\"],\n  \"ocrData\": \"Register new user\",\n  \"metadata\": {\n    \"key1\": \"value1\",\n    \"key2\": \"value2\"\n  }\n}]\n```\n**Response Object**\n\n| Field | Description |\n| ----------- | ----------------------------------------------------------------------- |\n| id | Localazy identifier of a screenshot. |\n| url | The URL the screenshot is publicly available at. |\n| comment | Custom screenshot description. |\n| phrases | Identifiers of keys assigned to a screenshot. |\n| tags | A list of tags the screenshot is tagged with. |\n| ocrData | Data from the OCR reader. Only returned if the project belongs to an organization having the [Autopilot](https:\u002F\u002Flocalazy.com\u002Fdocs\u002Fgeneral\u002Flocalazy-autopilot-tier) or higher tier active. |\n| metadata | A key-value structure containing custom screenshot metadata. |\n\n## List screenshots tags\n\n```txt\n[GET] \u002Fprojects\u002F{projectId}\u002Fscreenshots\u002Ftags\n```\n\n| Type | Value |\n| -------- | ---------------- |\n| Roles | translator |\n| Need write permission | false |\n| Produces | application\u002Fjson |\n\nLists an array of all tags for the given project.\nYou can use project's **id** or **slug** as **{projectId}**.\n\n### Sample Request\n\n```bash\ncurl --request GET \\\n  --url https:\u002F\u002Fapi.localazy.com\u002Fprojects\u002F{projectId}\u002Fscreenshots\u002Ftags \\\n  --header 'Authorization: Bearer {{token}}'\n```\n\n### Sample Response\n\n```json\n[\n  \"ui\",\n  \"settings\",\n  \"user_profile\"\n]\n```\n\n## Create a new screenshot\n\n```txt\n[POST] \u002Fprojects\u002F{projectId}\u002Fscreenshots\n```\n\n| Type | Value |\n| -------- | ---------------- |\n| Roles | reviewer |\n| Need write permission | true |\n| Produces | application\u002Fjson |\n\nUpload a new screenshot for the given project.\nYou can use project's **id** or **slug** as **{projectId}**.\n\n### Sample Request\n\n```bash\ncurl --request POST \\\n  --url https:\u002F\u002Fapi.localazy.com\u002Fprojects\u002F{projectId}\u002Fscreenshots \\\n  --header 'Authorization: Bearer {{token}}' \\\n  --header 'Content-Type: application\u002Fjson' \\\n  --data-raw 'data:image\u002Fpng;base64,...'\n```\n\n**Request Object**\n\n* Image in data format with base64 encoding: data:image\u002Fjpeg;base64,.... as RAW post data.\n\n**Limitations:**\n\n* JPEG or PNG images are supported\n* The image must be larger or equal to 36x36\n* The image must be smaller or equal to 4096x4096\n* The image must be smaller than 5 MB\n\n### Sample Response\n\n```json\n{\n  \"id\": \"_a5498465465132777\"\n}\n```\n\n**Response Object**\n\n| Field | Description |\n| ------ | --------------------------- |\n| id | Identifier of the newly created screenshot. |\n\n##  Update existing screenshot\n\n```txt\n[POST] \u002Fprojects\u002F{projectId}\u002Fscreenshots\u002F{screenshotId}\n```\n\n| Type | Value |\n| -------- | ---------------- |\n| Roles | reviewer |\n| Need write permission | true |\n| Produces | application\u002Fjson |\n\nChange image data of an existing screenshot for the given project.\nYou can use project's **id** or **slug** as **{projectId}**.\n\n:::info\n`POST` method is used to distinguish between uploading new image data (`POST`) and changing screenshot metadata (`PUT`).\n:::\n\n### Sample Request\n\n```bash\ncurl --request POST \\\n  --url https:\u002F\u002Fapi.localazy.com\u002Fprojects\u002F{projectId}\u002Fscreenshots\u002F{screenshotId} \\\n  --header 'Authorization: Bearer {{token}}' \\\n  --header 'Content-Type: application\u002Fjson' \\\n  --data-raw 'data:image\u002Fpng;base64,...'\n```\n\n**Request Object**\n\n* Image in data format with base64 encoding: data:image\u002Fjpeg;base64,.... as RAW post data.\n\n**Limitations:**\n\n* JPEG or PNG images are supported\n* An image must be larger or equal to 36x36\n* An image must be smaller or equal to 4096x4096\n* An image must be smaller than 5 MB\n\n### Sample Response\n\n```json\n{\n  \"result\": true\n}\n```\n\n| Field | Description |\n| ------ | --------------------------- |\n| result | Success status of operation |\n\n## Update existing screenshot metadata\n\n```txt\n[PUT] \u002Fprojects\u002F{projectId}\u002Fscreenshots\u002F{screenshotId}\n```\n\n| Type | Value |\n| -------- | ---------------- |\n| Roles | reviewer |\n| Need write permission | true |\n| Produces | application\u002Fjson |\n\nChange data of an existing screenshot for the given project.\nYou can use project's **id** or **slug** as **{projectId}**.\n\n### Sample Request\n\n```bash\ncurl --request PUT \\\n  --url https:\u002F\u002Fapi.localazy.com\u002Fprojects\u002F{projectId}\u002Fscreenshots\u002F{screenshotId} \\\n  --header 'Authorization: Bearer {{token}}' \\\n  --header 'Content-Type: application\u002Fjson' \\\n  --data '{\n    \"comment\": \"Custom comment for the screenshots\",\n    \"addTags\": [\"ui\"],\n    \"removeTags\": [\"settings\"],\n    \"tags\": [\"ui\", \"settings\"],\n    \"addPhrases\": [\"_a54984654651321345\"],\n    \"removePhrases\": [\"_a54984654651321567\"],\n    \"phrases\": [\"_a54984654651321345\", \"_a54984654651321336\"],\n    \"addMetadata\": {\n        \"key3\": \"value3\"\n    },\n    \"removeMetadata\": [\"key1\"],\n    \"metadata\": {\n        \"key1\": \"value1\",\n        \"key2\": \"value2\"\n    }\n}'\n```\n\n**Request Object**\n\n| Field | Description |\n| ------ | --------------------------- |\n| comment | Custom comment for a screenshot |\n| addTags | Add tags. Adding has priority over removing. It cannot be used together with `tags`. |\n| removeTags | Remove tags. Adding has priority over removing. It cannot be used together with `tags`. |\n| tags | Replace `tags` with the current value. Cannot be used together with `addTags` or\u002Fand `removeTags`. |\n| addPhrases | Adds keys. Adding has priority over removing. It cannot be used together with `phrases`. |\n| removePhrases | Removes keys. Adding has priority over removing. Cannot be used together with `phrases`. |\n| phrases | Replace `phrases` with the current value. Cannot be used together with `addPhrases` or\u002Fand `removePhrases`. |\n| addMetadata | Add metadata. Adding has priority over removing. It cannot be used together with `metadata`. |\n| removeMetadata | Remove metadata. Adding has priority over removing. It cannot be used together with `metadata`. |\n| metadata | Replace `metadata` with the current value. Cannot be used together with `addMetadata` or\u002Fand `removeMetadata`. |\n\n**Notes:**\n\n* All fields are optional; if omitted, the corresponding property is not changed.\n* Comment length is limited to 500 characters. If longer, only the first 500 characters are stored.\n* Tag length is limited to 64 characters. If longer, it's filtered out and not stored.\n* Metadata `key` length is limited to 64 characters. If longer, it's filtered out and not stored.\n* Metadata `value` length is limited to 8k characters. If longer, it's filtered out and not stored.\n* Operated phrases must be from the same project.\n\n### Sample Response\n\n```json\n{\n  \"result\": true\n}\n```\n\n| Field | Description |\n| ------ | --------------------------- |\n| result | Success status of operation |\n\n## Delete a screenshot\n\n```txt\n[DELETE] \u002Fprojects\u002F{projectId}\u002Fscreenshots\u002F{screenshotId}\n```\n\n| Type | Value |\n| -------- | ---------------- |\n| Roles | reviewer |\n| Need write permission | true |\n| Produces | application\u002Fjson |\n\nDelete a screenshot for the given project.\nYou can use project's **id** or **slug** as **{projectId}**.\n\n### Sample Request\n\n```bash\ncurl --request DELETE \\\n  --url https:\u002F\u002Fapi.localazy.com\u002Fprojects\u002F{projectId}\u002Fscreenshots\u002F{screenshotId} \\\n  --header 'Authorization: Bearer {{token}}' \\\n  --header 'Content-Type: application\u002Fjson'\n```\n\n### Sample Response\n\n```json\n{\n  \"result\": true\n}\n```\n\n| Field | Description |\n| ------ | --------------------------- |\n| result | Success status of operation |",{"id":541,"status":4,"sort":22,"created_on":1827,"slug":149,"name":148,"subtitle":1828,"meta_title":8,"meta_description":8,"hidden":93,"icon":2293,"featured_icon":2294},{"id":1629},{"id":1641},{"id":541,"status":4,"sort":541,"created_on":1833,"name":1365},[2297,2308],{"id":2298,"status":4,"title":2299,"content":2300,"slug":2301,"created_on":2302,"modified_on":2303,"owner":2304,"meta_title":8,"category":2305},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","d8c4ae49-7239-4b85-abb6-d1fa80ba09ad",{"id":57,"status":4,"created_on":2306,"sort":8,"slug":2307,"label":1251,"on_faq_index":94},"2022-03-17T12:22:57.000Z","advanced-features",{"id":2309,"status":4,"title":2310,"content":2311,"slug":2312,"created_on":2313,"modified_on":2314,"owner":2304,"meta_title":8,"category":2315},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":2306,"sort":8,"slug":2307,"label":1251,"on_faq_index":94},[],[2318],{"id":2284,"documentation_id":2284,"languages_code":113,"slug":2288,"title":2289,"content":2291,"meta_title":8,"meta_description":8,"excerpt":2290},[],{"id":2321,"status":4,"sort":2322,"created_on":2323,"modified_on":2324,"slug":1649,"title":1645,"excerpt":2325,"content":2326,"meta_title":8,"meta_description":8,"pinned":93,"main_image":8,"section":2327,"subsection":2330,"cta":8,"faq":2331,"dictionary":2342,"translations":2343,"documentation_id":2321,"blog_articles":2345},146,"50105","2022-05-17T13:15:57.000Z","2024-07-17T05:44:36.000Z","Endpoints to get information about localization CDN.","\t\n## About CDN\n\n[Localazy CDN](\u002Fdocs\u002Fgeneral\u002Flocalazy-cdn) is a reliable way how to deliver fresh translations across globe with low latency. Build on top of Amazon technologies, your localizable files are available from within numerous datacenters all around the world. \n\nWe also make [additional metadata available through the CDN](\u002Fdocs\u002Fgeneral\u002Flocalazy-cdn#metafiles) allowing you to build automated localizable solution controlled fully from within Localazy. \n\n## List metadata files\t\n\n```txt\n[GET] \u002Fprojects\u002F{projectId}\u002Fcdn\n```\n\t\t\t\n| Type | Value |\n| -------- | ---------------- |\n| Roles | manager |\n| Produces | application\u002Fjson |\n\t\t\t\nReturns metadata files for each of the published [release tags]() available in the project.\n\n**Params**\n* `{projectId}` - Your project Id. Use the value from [projects endpoint](https:\u002F\u002Flocalazy.com\u002Fdocs\u002Fapi\u002Fprojects)\n\n### Sample Request\n\n```bash\ncurl --request GET \\\n  --url https:\u002F\u002Fapi.localazy.com\u002Fprojects\u002F{projectId}\u002Fcdn \\\n  --header 'Authorization: Bearer {{token}}'\n```\n\n### Sample Response\n\t\t\t\n```json\n{\n    \"metadataUrls\": [\n        {\n            \"tagId\": \"_a7931606590829363190\",\n            \"tagName\": \"production\",\n            \"metadataUrl\": \"https:\u002F\u002Fdelivery.localazy.com\u002F_a79316065913662341064ea50501\u002F_a7931606590829363190.v2.json\"\n        },\n        {\n            \"tagId\": \"_a7931606590829363191\",\n            \"tagName\": \"staging\",\n            \"metadataUrl\": \"https:\u002F\u002Fdelivery.localazy.com\u002F_a79316065913662341064ea50501\u002F_a7931606590829363191.v2.json\"\n        },\n        {\n            \"tagId\": \"_e0\",\n            \"tagName\": \"latest\",\n            \"metadataUrl\": \"https:\u002F\u002Fdelivery.localazy.com\u002F_a79316065913662341064ea50501\u002F_e0.v2.json\"\n        }\n    ]\n}\n```\n **Response Object** \n      \n| Field | Description |\n| ----------- | ----------------------------------------------------------------------- |\n| tagId | Internal ID of the given release tag.  |\n| tagName | The name of the release tag. |\n| metadataUrl | URL of the metadata file.  |\n\nDownload the metadata file to learn about the content available on CDN, supported languages, plural rules etc.\t\t\t\n\n",{"id":541,"status":4,"sort":22,"created_on":1827,"slug":149,"name":148,"subtitle":1828,"meta_title":8,"meta_description":8,"hidden":93,"icon":2328,"featured_icon":2329},{"id":1629},{"id":1641},{"id":541,"status":4,"sort":541,"created_on":1833,"name":1365},[2332],{"id":2333,"status":4,"title":2334,"content":2335,"slug":2336,"created_on":2337,"modified_on":2338,"owner":1818,"meta_title":8,"category":2339},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","2022-03-17T12:23:00.000Z","2024-06-07T08:23:20.000Z",{"id":927,"status":4,"created_on":1898,"sort":8,"slug":2340,"label":2341,"on_faq_index":93},"localazy-cdn","Localazy CDN",[],[2344],{"id":2321,"documentation_id":2321,"languages_code":113,"slug":1649,"title":1645,"content":2326,"meta_title":8,"meta_description":8,"excerpt":2325},[],[],[1841,1868,1887],{"id":2349,"owner":2350,"created_by":8,"sort":8,"title":2355,"slug":2356,"modified_on":53,"created_on":2357,"pinned":93,"badge":8,"priority":1852,"main_image":2358,"status":4,"tags":2359,"dictionary":2370,"reading_time":1854,"excerpt":-1,"og_title":53,"og_description":53,"og_image":53},"69ea1abb7ab1270001ede902",{"id":2351,"first_name":2352,"last_name":53,"slug":2353,"avatar":2354},"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","https:\u002F\u002Fghost.localazy.com\u002Fcontent\u002Fimages\u002F2026\u002F05\u002Flocalazy-Vibe-coding.png",[2360,2364,2368],{"id":179,"created_on":2361,"status":4,"label":2362,"slug":2363,"on_index_page":94},"2026-05-28 17:12:39","AI","ai",{"id":2365,"created_on":2361,"status":4,"label":2366,"slug":2367,"on_index_page":93},646,"Business Development","business-development",{"id":142,"created_on":2361,"status":4,"label":1255,"slug":2369,"on_index_page":94},"localization",[],{"id":2372,"owner":2373,"created_by":8,"sort":8,"title":2374,"slug":2375,"modified_on":53,"created_on":2376,"pinned":93,"badge":8,"priority":1852,"main_image":2377,"status":4,"tags":2378,"dictionary":2382,"reading_time":1854,"excerpt":-1,"og_title":53,"og_description":53,"og_image":53},"69d78a237ab1270001eddabf",{"id":2351,"first_name":2352,"last_name":53,"slug":2353,"avatar":2354},"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",[2379,2380,2381],{"id":142,"created_on":2361,"status":4,"label":148,"slug":149,"on_index_page":93},{"id":179,"created_on":2361,"status":4,"label":2362,"slug":2363,"on_index_page":94},{"id":142,"created_on":2361,"status":4,"label":1255,"slug":2369,"on_index_page":94},[]]