[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"footer-homepage":3,"main-navigation":84,"footer-settings":790,"footer-integrations":903,"blog-post-nav-nav":1814,"blog-post-nav-[USE LATEST FEATURED]":1836,"docs-integrations-quick-start-intercom":1851},{"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,282,519,649,782,786],{"id":16,"name":86,"url":8,"url_text":8,"status":4,"groups":87},"Solutions",[88,100,173,208],{"navigation_items_group_id":89},{"id":22,"sort":50,"status":4,"name":90,"render_show_all_url":91,"show_all_url_position":92,"show_favorite_icon":93,"show_all_url":8,"represent_as_tile":91,"items":94},"Featured Article",false,"top",true,[95],{"collection":96,"item":97},"blog_post_navigation_item_type",{"id":98,"status":4,"sort":8,"show_author_img":93,"blog_post_tag":99,"description":8},4,"nav",{"navigation_items_group_id":101},{"id":50,"sort":7,"status":4,"name":102,"render_show_all_url":91,"show_all_url_position":92,"show_favorite_icon":91,"show_all_url":103,"represent_as_tile":93,"items":104},"Your Role","\u002Froles",[105,117,127,139,150,162],{"collection":106,"item":107},"relation_navigation_item_type",{"id":7,"status":4,"sort":8,"name":108,"item":109},"CMO",[110],{"collection":111,"item":112},"personas",{"id":7,"status":4,"sort":8,"slug":113,"icon":114},"chief-marketing-officers",{"id":115,"title":116},"526097d8-176f-48e5-83d3-2fc4d77061f9","La Mail Bulk",{"collection":106,"item":118},{"id":22,"status":4,"sort":8,"name":119,"item":120},"CTO",[121],{"collection":111,"item":122},{"id":98,"status":4,"sort":8,"slug":123,"icon":124},"chief-technical-officers",{"id":125,"title":126},"f808fdf0-c78b-4294-ba59-fe25f46fe825","La Mechanic",{"collection":106,"item":128},{"id":129,"status":4,"sort":8,"name":130,"item":131},20,"Product Manager",[132],{"collection":111,"item":133},{"id":134,"status":4,"sort":8,"slug":135,"icon":136},18,"product-managers",{"id":137,"title":138},"ea39586a-21fc-4b34-ba87-496028e5198f","La Worker",{"collection":106,"item":140},{"id":141,"status":4,"sort":8,"name":142,"item":143},37,"Translator",[144],{"collection":111,"item":145},{"id":129,"status":4,"sort":8,"slug":146,"icon":147},"professional-translators",{"id":148,"title":149},"07945171-d51d-4ca8-96c0-21cde9db258f","La Chat",{"collection":106,"item":151},{"id":152,"status":4,"sort":8,"name":153,"item":154},38,"Developer",[155],{"collection":111,"item":156},{"id":157,"status":4,"sort":8,"slug":158,"icon":159},30,"software-developers",{"id":160,"title":161},"1806e46d-c551-4845-bf42-4407344d229e","La Terminal",{"collection":106,"item":163},{"id":164,"status":4,"sort":8,"name":165,"item":166},27,"Localization Manager",[167],{"collection":111,"item":168},{"id":57,"status":4,"sort":8,"slug":169,"icon":170},"localization-managers",{"id":171,"title":172},"dac69bd1-bf5d-41d0-87d4-dd13e314698a","La Language",{"navigation_items_group_id":174},{"id":72,"sort":22,"status":4,"name":175,"render_show_all_url":91,"show_all_url_position":176,"show_favorite_icon":91,"show_all_url":8,"represent_as_tile":91,"items":177},"Use cases","bottom",[178,184,189,194,198,203],{"collection":179,"item":180},"simple_link_navigation_item_type",{"id":181,"status":4,"sort":8,"url":182,"url_text":183,"show_favorite_icon":91},24,"https:\u002F\u002Flocalazy.com\u002Fuse-cases\u002Fsoftware-localization","Software localization",{"collection":179,"item":185},{"id":186,"status":4,"sort":8,"url":187,"url_text":188,"show_favorite_icon":91},26,"https:\u002F\u002Flocalazy.com\u002Fuse-cases\u002Fmobile-app-localization","Mobile app localization",{"collection":179,"item":190},{"id":191,"status":4,"sort":8,"url":192,"url_text":193,"show_favorite_icon":91},25,"https:\u002F\u002Flocalazy.com\u002Fuse-cases\u002Fwebsite-localization","Website localization",{"collection":179,"item":195},{"id":164,"status":4,"sort":8,"url":196,"url_text":197,"show_favorite_icon":91},"https:\u002F\u002Flocalazy.com\u002Fuse-cases\u002Fdesign-localization","Design localization",{"collection":179,"item":199},{"id":200,"status":4,"sort":8,"url":201,"url_text":202,"show_favorite_icon":91},28,"https:\u002F\u002Flocalazy.com\u002Fuse-cases\u002Fgame-localization","Game localization",{"collection":179,"item":204},{"id":205,"status":4,"sort":8,"url":206,"url_text":207,"show_favorite_icon":91},29,"https:\u002F\u002Flocalazy.com\u002Fuse-cases\u002Fhelp-and-docs-localization","Help & docs localization",{"navigation_items_group_id":209},{"id":67,"sort":16,"status":4,"name":210,"render_show_all_url":91,"show_all_url_position":176,"show_favorite_icon":91,"show_all_url":8,"represent_as_tile":91,"items":211},"Industry",[212,223,234,244,255,264,275],{"collection":106,"item":213},{"id":214,"status":4,"sort":8,"name":215,"item":216},23,"Digital Agencies",[217],{"collection":111,"item":218},{"id":62,"status":4,"sort":8,"slug":219,"icon":220},"digital-agencies",{"id":221,"title":222},"547f5619-b21d-4b29-86f1-8b2200313cde","La Digi Agency",{"collection":106,"item":224},{"id":225,"status":4,"sort":8,"name":226,"item":227},39,"Startups & SaaS",[228],{"collection":111,"item":229},{"id":16,"status":4,"sort":8,"slug":230,"icon":231},"startups",{"id":232,"title":233},"da1516e2-4afc-40a2-bcbf-a8161e2d610d","La Saa S",{"collection":106,"item":235},{"id":16,"status":4,"sort":8,"name":236,"item":237},"E-commerce",[238],{"collection":111,"item":239},{"id":50,"status":4,"sort":8,"slug":240,"icon":241},"e-commerce",{"id":242,"title":243},"a3d09cd2-054f-4bb5-a0a2-d3d207db65df","La Ecommerce",{"collection":106,"item":245},{"id":246,"status":4,"sort":8,"name":247,"item":248},19,"FinTech Platforms",[249],{"collection":111,"item":250},{"id":164,"status":4,"sort":8,"slug":251,"icon":252},"fintech",{"id":253,"title":254},"147339ba-07d1-4e5e-baad-23d27e60c919","La Money",{"collection":106,"item":256},{"id":181,"status":4,"sort":8,"name":257,"item":258},"Translation Agencies",[259],{"collection":111,"item":260},{"id":181,"status":4,"sort":8,"slug":261,"icon":262},"translation-agencies",{"id":263,"title":172},"15d6fe33-2af8-4d6e-933d-5caa64394511",{"collection":106,"item":265},{"id":266,"status":4,"sort":8,"name":267,"item":268},22,"Travel & Tourism",[269],{"collection":111,"item":270},{"id":22,"status":4,"sort":8,"slug":271,"icon":272},"tourism",{"id":273,"title":274},"23a785e8-0ae5-4c4b-8452-aab1b58182a6","La Travel",{"collection":106,"item":276},{"id":191,"status":4,"sort":8,"name":277,"item":278},"Nonprofit Causes",[279],{"collection":111,"item":280},{"id":200,"status":4,"sort":8,"slug":281,"icon":8},"nonprofit",{"id":50,"name":283,"url":8,"url_text":8,"status":4,"groups":284},"Features",[285,353,410,460],{"navigation_items_group_id":286},{"id":36,"sort":57,"status":4,"name":287,"render_show_all_url":91,"show_all_url_position":92,"show_favorite_icon":91,"show_all_url":8,"represent_as_tile":91,"items":288},"Localization",[289,298,307,315,324,328,336,345],{"collection":106,"item":290},{"id":291,"status":4,"sort":8,"name":292,"item":293},44,"Localization services",[294],{"collection":295,"item":296},"products",{"id":72,"status":4,"slug":297},"continuous-localization-team",{"collection":106,"item":299},{"id":300,"status":4,"sort":8,"name":301,"item":302},45,"Translation management",[303],{"collection":304,"item":305},"term_landing_page",{"id":205,"status":4,"slug":306},"translation-management-system",{"collection":106,"item":308},{"id":309,"status":4,"sort":8,"name":310,"item":311},46,"Context Screenshots",[312],{"collection":295,"item":313},{"id":43,"status":4,"slug":314},"context-screenshots-ocr",{"collection":106,"item":316},{"id":317,"status":4,"sort":8,"name":318,"item":319},47,"Translation Glossary",[320],{"collection":295,"item":321},{"id":322,"status":4,"slug":323},17,"glossary",{"collection":179,"item":325},{"id":98,"status":4,"sort":8,"url":326,"url_text":327,"show_favorite_icon":91},"\u002Fdocs\u002Fgeneral\u002Freviewing-translations","Quality control",{"collection":106,"item":329},{"id":330,"status":4,"sort":8,"name":331,"item":332},34,"Connected Projects",[333],{"collection":295,"item":334},{"id":7,"status":4,"slug":335},"connected-projects",{"collection":106,"item":337},{"id":338,"status":4,"sort":8,"name":339,"item":340},64,"Plural handling",[341],{"collection":295,"item":342},{"id":343,"status":4,"slug":344},32,"plurals",{"collection":106,"item":346},{"id":347,"status":4,"sort":8,"name":348,"item":349},65,"Style guides",[350],{"collection":295,"item":351},{"id":152,"status":4,"slug":352},"style-guide",{"navigation_items_group_id":354},{"id":29,"sort":62,"status":4,"name":355,"render_show_all_url":91,"show_all_url_position":92,"show_favorite_icon":91,"show_all_url":8,"represent_as_tile":91,"items":356},"Translation",[357,365,373,377,385,393,402],{"collection":106,"item":358},{"id":359,"status":4,"sort":8,"name":360,"item":361},36,"Professional translations",[362],{"collection":304,"item":363},{"id":157,"status":4,"slug":364},"professional-translation-services",{"collection":106,"item":366},{"id":367,"status":4,"sort":8,"name":368,"item":369},48,"Crowdsourced translations",[370],{"collection":295,"item":371},{"id":67,"status":4,"slug":372},"share-tm",{"collection":179,"item":374},{"id":50,"status":4,"sort":8,"url":375,"url_text":376,"show_favorite_icon":91},"\u002Fdocs\u002Fgeneral\u002Ftranslating-strings","Translation interface",{"collection":106,"item":378},{"id":379,"status":4,"sort":8,"name":380,"item":381},55,"Machine translations",[382],{"collection":295,"item":383},{"id":50,"status":4,"slug":384},"machine-translation",{"collection":106,"item":386},{"id":387,"status":4,"sort":8,"name":388,"item":389},60,"Localazy AI translation",[390],{"collection":295,"item":391},{"id":205,"status":4,"slug":392},"localazy-ai",{"collection":106,"item":394},{"id":395,"status":4,"sort":8,"name":396,"item":397},61,"Translation Memory",[398],{"collection":295,"item":399},{"id":400,"status":4,"slug":401},35,"translation-memory",{"collection":106,"item":403},{"id":404,"status":4,"sort":8,"name":405,"item":406},63,"Code & placeholders",[407],{"collection":295,"item":408},{"id":157,"status":4,"slug":409},"code-and-placeholders",{"navigation_items_group_id":411},{"id":43,"sort":67,"status":4,"name":412,"render_show_all_url":91,"show_all_url_position":92,"show_favorite_icon":91,"show_all_url":8,"represent_as_tile":91,"items":413},"Management",[414,418,426,435,444,452,456],{"collection":179,"item":415},{"id":67,"status":4,"sort":8,"url":416,"url_text":417,"show_favorite_icon":91},"\u002Fdocs\u002Fgeneral\u002Fdefining-user-roles","User roles",{"collection":106,"item":419},{"id":420,"status":4,"sort":8,"name":421,"item":422},51,"Duplicity Linking",[423],{"collection":295,"item":424},{"id":246,"status":4,"slug":425},"duplicity-linking",{"collection":106,"item":427},{"id":428,"status":4,"sort":8,"name":429,"item":430},52,"Language Permissions",[431],{"collection":295,"item":432},{"id":433,"status":4,"slug":434},21,"language-permissions",{"collection":106,"item":436},{"id":437,"status":438,"sort":8,"name":439,"item":440},53,"draft","Automations",[441],{"collection":295,"item":442},{"id":129,"status":4,"slug":443},"automations",{"collection":106,"item":445},{"id":446,"status":4,"sort":8,"name":447,"item":448},58,"Branching",[449],{"collection":295,"item":450},{"id":164,"status":4,"slug":451},"branching",{"collection":179,"item":453},{"id":433,"status":438,"sort":8,"url":454,"url_text":455,"show_favorite_icon":91},"https:\u002F\u002Flocalazy.com\u002Fdocs\u002Fgeneral\u002Fsso-configuration","SSO",{"collection":179,"item":457},{"id":266,"status":438,"sort":8,"url":458,"url_text":459,"show_favorite_icon":91},"https:\u002F\u002Flocalazy.com\u002Fdocs\u002Fgeneral\u002Flanguage-statistics","Reporting",{"navigation_items_group_id":461},{"id":462,"sort":72,"status":4,"name":463,"render_show_all_url":91,"show_all_url_position":92,"show_favorite_icon":91,"show_all_url":8,"represent_as_tile":91,"items":464},14,"Development",[465,472,480,487,494,502,511],{"collection":106,"item":466},{"id":205,"status":4,"sort":8,"name":467,"item":468},"Translation API",[469],{"collection":295,"item":470},{"id":36,"status":4,"slug":471},"translation-api",{"collection":106,"item":473},{"id":474,"status":4,"sort":8,"name":475,"item":476},33,"Localazy CLI",[477],{"collection":295,"item":478},{"id":62,"status":4,"slug":479},"cli",{"collection":106,"item":481},{"id":343,"status":4,"sort":8,"name":482,"item":483},"Language CDN",[484],{"collection":295,"item":485},{"id":98,"status":4,"slug":486},"language-cdn",{"collection":106,"item":488},{"id":200,"status":4,"sort":8,"name":489,"item":490},"Releases",[491],{"collection":295,"item":492},{"id":57,"status":4,"slug":493},"releases",{"collection":106,"item":495},{"id":496,"status":438,"sort":8,"name":497,"item":498},57,"Format Conversions",[499],{"collection":295,"item":500},{"id":16,"status":4,"slug":501},"format-conversions",{"collection":106,"item":503},{"id":504,"status":4,"sort":8,"name":505,"item":506},59,"Webhooks",[507],{"collection":295,"item":508},{"id":509,"status":4,"slug":510},31,"webhooks",{"collection":106,"item":512},{"id":513,"status":4,"sort":8,"name":514,"item":515},62,"Export Aliases",[516],{"collection":295,"item":517},{"id":474,"status":4,"slug":518},"export-aliases",{"id":98,"name":520,"url":8,"url_text":8,"status":4,"groups":521},"Integrations",[522,639],{"navigation_items_group_id":523},{"id":62,"sort":77,"status":4,"name":524,"render_show_all_url":91,"show_all_url_position":92,"show_favorite_icon":91,"show_all_url":8,"represent_as_tile":91,"items":525},"Most popular",[526],{"collection":106,"item":527},{"id":29,"status":4,"sort":8,"name":520,"item":528},[529,537,544,551,558,565,572,579,586,593,600,609,616,623,631],{"collection":530,"item":531},"platforms",{"id":57,"status":4,"sort":7,"slug":532,"name":533,"icon":534},"android","Android",{"id":535,"title":536},"ff965add-53b0-44ad-b27c-ea4ef641d384","Ic Outline Android",{"collection":530,"item":538},{"id":62,"status":4,"sort":16,"slug":539,"name":540,"icon":541},"ios","iOS",{"id":542,"title":543},"886285d7-816a-4430-b5a5-edfe307b238e","Ios",{"collection":530,"item":545},{"id":474,"status":4,"sort":22,"slug":546,"name":547,"icon":548},"react","React",{"id":549,"title":550},"26757a90-88a3-4a94-b587-9f38614ed3bd","Logos React",{"collection":530,"item":552},{"id":246,"status":4,"sort":98,"slug":553,"name":554,"icon":555},"vuejs","Vue.js",{"id":556,"title":557},"6180b41f-3249-47d3-adcd-50fe1cf11bf1","Vue",{"collection":530,"item":559},{"id":560,"status":4,"sort":50,"slug":561,"name":562,"icon":563},16,"angular","Angular",{"id":564,"title":562},"2a31a97a-48c5-4531-aa36-41c9dd0bdbef",{"collection":530,"item":566},{"id":7,"status":4,"sort":57,"slug":567,"name":568,"icon":569},"flutter","Flutter",{"id":570,"title":571},"b9f13a11-9328-4a03-86cf-b20de0685606","Logos Flutter",{"collection":530,"item":573},{"id":22,"status":4,"sort":36,"slug":574,"name":575,"icon":576},"typescript","TypeScript",{"id":577,"title":578},"8d1319b5-8a96-4199-8407-00add3418b1f","Logos Typescript Icon",{"collection":530,"item":580},{"id":509,"status":4,"sort":29,"slug":581,"name":582,"icon":583},"javascript","JavaScript",{"id":584,"title":585},"4218d0c9-7e6b-494d-9663-37ceaf93ee8c","Logos Javascript",{"collection":530,"item":587},{"id":29,"status":4,"sort":129,"slug":588,"name":589,"icon":590},"json","JSON",{"id":591,"title":592},"99ac3b7c-dba5-4693-a4f4-1f27a6d7782d","Logos Json",{"collection":530,"item":594},{"id":433,"status":4,"sort":433,"slug":595,"name":596,"icon":597},"xliff","XLIFF",{"id":598,"title":599},"ca424cc8-e8a7-4aef-8dca-ef4a4d1334fc","Format",{"collection":530,"item":601},{"id":602,"status":4,"sort":603,"slug":604,"name":605,"icon":606},72,54,"strapi","Strapi",{"id":607,"title":608},"cde7f1d0-f2e0-4243-929e-a3f8f9146e69","Strapi Logo Purple",{"collection":530,"item":610},{"id":387,"status":4,"sort":379,"slug":611,"name":612,"icon":613},"figma","Figma",{"id":614,"title":615},"813745a4-a77d-4735-93b7-e0dd731b2304","Figma Icon",{"collection":530,"item":617},{"id":420,"status":4,"sort":317,"slug":618,"name":619,"icon":620},"microsoft-excel","Microsoft Excel",{"id":621,"title":622},"7a175955-7b96-4561-939f-a0e1924faa40","Excel",{"collection":530,"item":624},{"id":625,"status":4,"sort":395,"slug":626,"name":627,"icon":628},66,"github-actions","GitHub Actions",{"id":629,"title":630},"da17554f-ac6d-443d-9bac-1f29645ec1c6","Github Icon",{"collection":530,"item":632},{"id":633,"status":4,"sort":634,"slug":635,"name":636,"icon":637},97,999,"webflow","Webflow",{"id":638,"title":636},"ff43a386-52f8-499f-b77c-ab9a30f4a77e",{"navigation_items_group_id":640},{"id":98,"sort":36,"status":4,"name":641,"render_show_all_url":91,"show_all_url_position":92,"show_favorite_icon":91,"show_all_url":8,"represent_as_tile":91,"items":642},"Explore more",[643],{"collection":644,"item":645},"text_link_navigation_item_type",{"id":7,"status":4,"sort":8,"text":646,"url":647,"url_text":648},"Localazy is a technology-agnostic platform supporting 50+ frameworks, file formats & popular tools.","\u002Fintegrations","See all integrations",{"id":7,"name":650,"url":8,"url_text":8,"status":4,"groups":651},"Resources",[652,685,691],{"navigation_items_group_id":653},{"id":7,"sort":29,"status":4,"name":654,"render_show_all_url":91,"show_all_url_position":92,"show_favorite_icon":91,"show_all_url":8,"represent_as_tile":91,"items":655},"Helpful Links",[656,660,664,668,672,676,681],{"collection":179,"item":657},{"id":43,"status":4,"sort":8,"url":658,"url_text":659,"show_favorite_icon":93},"\u002Fblog","Localazy Blog",{"collection":179,"item":661},{"id":462,"status":4,"sort":8,"url":662,"url_text":663,"show_favorite_icon":93},"\u002Fdocs","Documentation",{"collection":179,"item":665},{"id":7,"status":4,"sort":8,"url":666,"url_text":667,"show_favorite_icon":91},"https:\u002F\u002Fdiscuss.localazy.com\u002F","Discussion Forum",{"collection":179,"item":669},{"id":29,"status":4,"sort":8,"url":670,"url_text":671,"show_favorite_icon":91},"\u002Fcase-study","Case Studies",{"collection":179,"item":673},{"id":22,"status":4,"sort":8,"url":674,"url_text":675,"show_favorite_icon":91},"\u002Fpartnership","Become a Partner",{"collection":179,"item":677},{"id":678,"status":4,"sort":8,"url":679,"url_text":680,"show_favorite_icon":91},15,"\u002Ffaq","FAQ",{"collection":179,"item":682},{"id":322,"status":4,"sort":8,"url":683,"url_text":684,"show_favorite_icon":91},"\u002Ftags\u002Frelease-update","Release Updates",{"navigation_items_group_id":686},{"id":16,"sort":462,"status":4,"name":659,"render_show_all_url":93,"show_all_url_position":92,"show_favorite_icon":91,"show_all_url":658,"represent_as_tile":91,"items":687},[688],{"collection":96,"item":689},{"id":22,"status":4,"sort":8,"show_author_img":91,"blog_post_tag":690,"description":8},"[USE LATEST FEATURED]",{"navigation_items_group_id":692},{"id":57,"sort":43,"status":4,"name":663,"render_show_all_url":93,"show_all_url_position":92,"show_favorite_icon":91,"show_all_url":662,"represent_as_tile":91,"items":693},[694,708,720,731,743,753,764,772],{"collection":106,"item":695},{"id":98,"status":4,"sort":8,"name":696,"item":697},"General",[698],{"collection":699,"item":700},"docs_section",{"id":16,"status":4,"sort":7,"slug":701,"name":696,"icon":702,"featured_icon":705},"general",{"id":703,"title":704},"423101f1-308c-42f1-8dfe-53272019e7cb","Global",{"id":706,"title":707},"0f7ca4cb-dc3b-4f62-b476-132ed5c4931f","General Doc",{"collection":106,"item":709},{"id":50,"status":4,"sort":8,"name":710,"item":711},"CLI",[712],{"collection":699,"item":713},{"id":22,"status":4,"sort":16,"slug":479,"name":710,"icon":714,"featured_icon":717},{"id":715,"title":716},"2f7a4573-8265-4d76-8d55-ce0cc79b8983","Cli",{"id":718,"title":719},"3f76ff7b-0e74-4046-bb03-4ca99c3b66d5","Doc Cat Cli",{"collection":106,"item":721},{"id":67,"status":4,"sort":8,"name":722,"item":723},"API",[724],{"collection":699,"item":725},{"id":129,"status":4,"sort":22,"slug":726,"name":722,"icon":727,"featured_icon":728},"api",{"id":715,"title":716},{"id":729,"title":730},"20866781-e69b-4e01-9456-05437487b75c","API Doc",{"collection":106,"item":732},{"id":733,"status":4,"sort":8,"name":734,"item":735},50,"CDN",[736],{"collection":699,"item":737},{"id":186,"status":4,"sort":98,"slug":738,"name":734,"icon":739,"featured_icon":740},"cdn",{"id":703,"title":704},{"id":741,"title":742},"a8ee9cb7-4e02-41f0-b595-eb518c3085b6","Doc Cat Cdn",{"collection":106,"item":744},{"id":57,"status":4,"sort":8,"name":533,"item":745},[746],{"collection":699,"item":747},{"id":7,"status":4,"sort":50,"slug":532,"name":533,"icon":748,"featured_icon":750},{"id":749,"title":533},"fb8329ae-0c0c-4fbc-bcdc-83f2eeda1039",{"id":751,"title":752},"f7c0dec8-5b42-4943-ab3a-e3665723ad6f","Doc Cat Android",{"collection":106,"item":754},{"id":62,"status":4,"sort":8,"name":540,"item":755},[756],{"collection":699,"item":757},{"id":98,"status":4,"sort":57,"slug":539,"name":540,"icon":758,"featured_icon":761},{"id":759,"title":760},"289e136c-55df-4d51-847b-1782a2308ee4","Ios Blue",{"id":762,"title":763},"2968d3f0-14b5-4427-82e7-f1ea2de17846","Doc Cat Ios",{"collection":106,"item":765},{"id":72,"status":4,"sort":8,"name":612,"item":766},[767],{"collection":699,"item":768},{"id":433,"status":4,"sort":62,"slug":611,"name":612,"icon":769,"featured_icon":770},{"id":715,"title":716},{"id":771,"title":612},"f5e66b5b-a439-47f6-af4a-6ad261de2e87",{"collection":106,"item":773},{"id":77,"status":4,"sort":8,"name":605,"item":774},[775],{"collection":699,"item":776},{"id":214,"status":4,"sort":67,"slug":604,"name":605,"icon":777,"featured_icon":779},{"id":778,"title":605},"3b4b03c7-e131-49e6-a014-c8c2c8a2751e",{"id":780,"title":781},"1dd05c76-e517-4aea-a3d8-49cfddb40056","Strapi Doc",{"id":22,"name":783,"url":784,"url_text":783,"status":4,"groups":785},"Pricing","\u002Fpricing",[],{"id":57,"name":787,"url":788,"url_text":787,"status":4,"groups":789},"Book a demo","\u002Fbook-demo",[],{"id":7,"status":4,"security_section_title":791,"loved_section_title":792,"columns":793,"social_links":863,"policy_links":893},"Secured & trusted","Loved by users",[794,806,821,842,845],{"id":7,"status":4,"sort":8,"title":795,"column_key":796,"links":797},"Localazy","connect",[798,800,803],{"id":36,"status":4,"sort":7,"title":787,"url":799},"___LOCALAZY_MEETING_URL___",{"id":29,"status":4,"sort":16,"title":801,"url":802},"Contact","\u002Fcontact",{"id":433,"status":4,"sort":22,"title":804,"url":805},"About us","\u002Fabout-us",{"id":16,"status":4,"sort":8,"title":807,"column_key":808,"links":809},"Programs","programs",[810,812,815,818],{"id":7,"status":4,"sort":98,"title":811,"url":674},"Partner Program",{"id":16,"status":4,"sort":50,"title":813,"url":814},"Ambassador Program","\u002Fambassador",{"id":22,"status":4,"sort":57,"title":816,"url":817},"Startup Program","\u002Ffor\u002Fstartups",{"id":98,"status":4,"sort":62,"title":819,"url":820},"Nonprofits","\u002Ffor\u002Fnonprofit",{"id":22,"status":4,"sort":8,"title":822,"column_key":823,"links":824},"Use Cases","use_cases",[825,828,831,833,836,839],{"id":50,"status":4,"sort":67,"title":826,"url":827},"Software Localization","\u002Fterm\u002Fsoftware-localization",{"id":57,"status":4,"sort":72,"title":829,"url":830},"Machine Translation Services","\u002Ffeatures\u002Fmachine-translation",{"id":62,"status":4,"sort":77,"title":467,"url":832},"\u002Ffeatures\u002Ftranslation-api",{"id":67,"status":4,"sort":36,"title":834,"url":835},"Crowdsourced Translations","\u002Ffeatures\u002Fshare-tm",{"id":72,"status":4,"sort":29,"title":837,"url":838},"Figma i18n & localization","\u002Ffeatures\u002Ffigma-localization-plugin",{"id":77,"status":4,"sort":43,"title":840,"url":841},"Translation as a Service","\u002Fterm\u002Ftranslation-service",{"id":98,"status":4,"sort":8,"title":520,"column_key":843,"links":844},"integrations",[],{"id":50,"status":4,"sort":8,"title":650,"column_key":846,"links":847},"resources",[848,849,852,853,856,858,859,860],{"id":43,"status":4,"sort":462,"title":663,"url":662},{"id":462,"status":4,"sort":678,"title":850,"url":851},"Dictionary","\u002Fdictionary",{"id":678,"status":4,"sort":560,"title":671,"url":670},{"id":560,"status":4,"sort":322,"title":854,"url":855},"Discussion forum","___DISCUSS_URL___",{"id":322,"status":4,"sort":134,"title":857,"url":658},"Localization Blog",{"id":134,"status":4,"sort":246,"title":680,"url":679},{"id":246,"status":4,"sort":129,"title":783,"url":784},{"id":129,"status":4,"sort":433,"title":861,"url":862},"Brand assets","https:\u002F\u002Fdrive.google.com\u002Fdrive\u002Fu\u002F1\u002Ffolders\u002F1tZqsZHBlGelz7A2FwTsiwrs4j3sd9HTk",[864,869,874,879,884,889],{"id":7,"status":4,"sort":8,"platform":865,"icon":866,"url":867,"label":868},"feed","rss","\u002Ffeed.xml","Localazy RSS Feed",{"id":16,"status":4,"sort":8,"platform":870,"icon":871,"url":872,"label":873},"facebook","fb-logo","https:\u002F\u002Fwww.facebook.com\u002Flocalazy\u002F","Localazy facebook",{"id":22,"status":4,"sort":8,"platform":875,"icon":876,"url":877,"label":878},"github","github-logo","https:\u002F\u002Fgithub.com\u002Flocalazy","Localazy GitHub",{"id":98,"status":4,"sort":8,"platform":880,"icon":881,"url":882,"label":883},"x","x-twitter","https:\u002F\u002Fx.com\u002Flocalazy","Localazy X",{"id":50,"status":4,"sort":8,"platform":885,"icon":886,"url":887,"label":888},"linkedin","linkedin-logo","https:\u002F\u002Fwww.linkedin.com\u002Fcompany\u002F37836599\u002F","Localazy LinkedIn",{"id":57,"status":4,"sort":8,"platform":890,"icon":891,"url":855,"label":892},"discourse","discourse-logo","Localazy Discourse",[894,897,900],{"id":7,"status":4,"sort":8,"title":895,"url":896,"action":8},"Privacy policy","\u002Fprivacy-policy",{"id":16,"status":4,"sort":8,"title":898,"url":899,"action":8},"Terms & Conditions","\u002Fterms-and-conditions",{"id":22,"status":4,"sort":8,"title":901,"url":8,"action":902},"Cookies","cookie-consent",[904,1044,1122,1228,1314,1393,1482,1573,1660,1759],{"id":474,"status":4,"created_on":905,"modified_on":906,"name":547,"slug":546,"description":907,"docs_link":908,"priority":8,"has_sdk":91,"sort":22,"highlighted":91,"in_menu":93,"changefreq":8,"support_type":909,"show_in_spa":93,"is_file_format":91,"meta_title":8,"meta_description":8,"featured_on_web":93,"marketing_subtitle":910,"tile_subtitle":911,"tile_description":912,"is_enterprise":91,"is_popular":91,"primary_use_case":8,"hierarchy_handling":8,"best_for":8,"file_extension":8,"format_code_example":8,"format_to_extension":913,"upload_features":914,"icon":915,"meta_image":916,"primary_tag":918,"tags":934,"integration_methods":952,"recommended_methods":1028,"default_integration_method":1029,"faq_categories":1036,"translations":1042,"platforms_id":474},"2022-03-18T08:09:24.000Z","2025-02-26T13:36:08.000Z","Manage your React app translations with Localazy, a continuous localization tool. React i18n done right. ","\u002Fdocs\u002Fcli\u002Fjson-format","JSON format support","CLI support","react-i18next and more","Use Localazy to translate your React projects with your favorite i18n library.",{"json":588},[],{"id":549},{"id":917},"a97492ec-ee8d-429c-bf66-d0fe59b6e5c9",{"id":50,"status":4,"sort":16,"created_on":919,"label":920,"hidden":91,"icon":921,"translations":923},"2022-03-17T12:23:44.000Z","Web apps",{"id":922},"c9e70e4f-8136-432a-8d82-53c3501a9eb4",[924,926,929,932],{"id":50,"languages_code":925,"label":920},"xxa",{"id":300,"languages_code":927,"label":928},"es","Aplicaciones web",{"id":733,"languages_code":930,"label":931},"cs","Webové aplikace",{"id":504,"languages_code":933,"label":920},"en",[935,942],{"id":50,"status":4,"sort":16,"label":920,"hidden":91,"created_on":919,"icon":936,"translations":937},{"id":922},[938,939,940,941],{"id":50,"languages_code":925,"label":920},{"id":300,"languages_code":927,"label":928},{"id":733,"languages_code":930,"label":931},{"id":504,"languages_code":933,"label":920},{"id":67,"status":4,"sort":72,"label":943,"hidden":91,"created_on":944,"icon":8,"translations":945},"Framework","2022-03-17T12:23:45.000Z",[946,947,949,950],{"id":67,"languages_code":925,"label":943},{"id":437,"languages_code":927,"label":948},"Marco",{"id":387,"languages_code":930,"label":943},{"id":951,"languages_code":933,"label":943},67,[953,965,990,1011],{"id":98,"status":4,"sort":57,"label":722,"alternative_label":8,"slug":726,"description":954,"documentation_link":955,"loc_icon":726,"is_official_plugin":91,"is_universal_plugin":91,"universal_plugin_vendor":8,"translations":956},"Translate strings directly or upload them into your Localazy project.","\u002Fdocs\u002Fapi\u002Fintroduction",[957,958,961,963],{"id":98,"languages_code":925,"label":722,"description":954,"slug":726},{"id":959,"languages_code":927,"label":722,"description":960,"slug":726},40,"Utilice la API para exportar traducciones e importar contenido de\u002Fa Localazy mediante programación.",{"id":733,"languages_code":933,"label":722,"description":962,"slug":726},"Choose between translating strings directly or uploading them into Localazy.",{"id":504,"languages_code":930,"label":722,"description":964,"slug":726},"Pomocí rozhraní API můžete programovaně exportovat překlady a importovat obsah z\u002Fdo Localazy.",{"id":22,"status":4,"sort":50,"label":966,"alternative_label":8,"slug":967,"description":968,"documentation_link":969,"loc_icon":970,"is_official_plugin":91,"is_universal_plugin":91,"universal_plugin_vendor":8,"translations":971},"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",[972,973,976,977,980,983,984,985],{"id":22,"languages_code":925,"label":966,"description":968,"slug":967},{"id":225,"languages_code":927,"label":974,"description":975,"slug":8},"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":420,"languages_code":933,"label":966,"description":968,"slug":967},{"id":387,"languages_code":930,"label":978,"description":979,"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":338,"languages_code":927,"label":981,"description":982,"slug":967},"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":347,"languages_code":933,"label":966,"description":968,"slug":967},{"id":625,"languages_code":930,"label":978,"description":979,"slug":967},{"id":986,"languages_code":987,"label":988,"description":989,"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":98,"label":991,"alternative_label":992,"slug":993,"description":994,"documentation_link":995,"loc_icon":996,"is_official_plugin":91,"is_universal_plugin":91,"universal_plugin_vendor":8,"translations":997},"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",[998,999,1002,1003,1007],{"id":16,"languages_code":925,"label":991,"description":994,"slug":993},{"id":152,"languages_code":927,"label":1000,"description":1001,"slug":8},"Carga directa de archivos","Cargue sus textos y traducciones existentes en cualquier formato directamente para empezar rápidamente.",{"id":317,"languages_code":933,"label":991,"description":994,"slug":993},{"id":1004,"languages_code":930,"label":1005,"description":1006,"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":1008,"languages_code":987,"label":1009,"description":1010,"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":1012,"alternative_label":710,"slug":479,"description":1013,"documentation_link":1014,"loc_icon":479,"is_official_plugin":91,"is_universal_plugin":91,"universal_plugin_vendor":8,"translations":1015},"Command Line Interface","The best option for developers that want to make localization an automated part of their workflow.","\u002Fdocs\u002Fcli\u002Fthe-basics",[1016,1017,1020,1021,1024],{"id":7,"languages_code":925,"label":1012,"description":1013,"slug":479},{"id":141,"languages_code":927,"label":1018,"description":1019,"slug":479},"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":309,"languages_code":933,"label":1012,"description":1013,"slug":479},{"id":379,"languages_code":930,"label":1022,"description":1023,"slug":479},"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":1025,"languages_code":987,"label":1026,"description":1027,"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":1012,"alternative_label":710,"slug":479,"description":1013,"documentation_link":1014,"loc_icon":479,"is_official_plugin":91,"is_universal_plugin":91,"universal_plugin_vendor":8,"translations":1030},[1031,1032,1033,1034,1035],{"id":7,"languages_code":925,"label":1012,"description":1013,"slug":479},{"id":141,"languages_code":927,"label":1018,"description":1019,"slug":479},{"id":309,"languages_code":933,"label":1012,"description":1013,"slug":479},{"id":379,"languages_code":930,"label":1022,"description":1023,"slug":479},{"id":1025,"languages_code":987,"label":1026,"description":1027,"slug":8},[1037],{"id":1038,"status":4,"created_on":1039,"sort":8,"slug":1040,"label":1041,"on_faq_index":8},76,"2025-02-26T12:44:29.000Z","front-end-common","Front-end Common",[1043],{"languages_code":925,"name":547,"slug":546,"description":907,"support_type":909,"meta_title":8,"meta_description":8,"marketing_subtitle":910,"tile_subtitle":911,"tile_description":912,"id":474,"platforms_id":474,"docs_link":908},{"id":246,"status":4,"created_on":905,"modified_on":1045,"name":554,"slug":553,"description":1046,"docs_link":908,"priority":8,"has_sdk":91,"sort":98,"highlighted":91,"in_menu":93,"changefreq":8,"support_type":909,"show_in_spa":93,"is_file_format":91,"meta_title":8,"meta_description":8,"featured_on_web":93,"marketing_subtitle":910,"tile_subtitle":1047,"tile_description":1048,"is_enterprise":91,"is_popular":91,"primary_use_case":8,"hierarchy_handling":8,"best_for":8,"file_extension":8,"format_code_example":8,"format_to_extension":1049,"upload_features":1050,"icon":1051,"meta_image":1052,"primary_tag":1054,"tags":1061,"integration_methods":1075,"recommended_methods":1106,"default_integration_method":1107,"faq_categories":1114,"translations":1120,"platforms_id":246},"2025-02-26T13:35:41.000Z","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":588},[],{"id":556},{"id":1053},"8171b836-d6b8-4354-8db3-34ccd384970d",{"id":50,"status":4,"sort":16,"created_on":919,"label":920,"hidden":91,"icon":1055,"translations":1056},{"id":922},[1057,1058,1059,1060],{"id":50,"languages_code":925,"label":920},{"id":300,"languages_code":927,"label":928},{"id":733,"languages_code":930,"label":931},{"id":504,"languages_code":933,"label":920},[1062,1069],{"id":50,"status":4,"sort":16,"label":920,"hidden":91,"created_on":919,"icon":1063,"translations":1064},{"id":922},[1065,1066,1067,1068],{"id":50,"languages_code":925,"label":920},{"id":300,"languages_code":927,"label":928},{"id":733,"languages_code":930,"label":931},{"id":504,"languages_code":933,"label":920},{"id":67,"status":4,"sort":72,"label":943,"hidden":91,"created_on":944,"icon":8,"translations":1070},[1071,1072,1073,1074],{"id":67,"languages_code":925,"label":943},{"id":437,"languages_code":927,"label":948},{"id":387,"languages_code":930,"label":943},{"id":951,"languages_code":933,"label":943},[1076,1082,1092,1099],{"id":98,"status":4,"sort":57,"label":722,"alternative_label":8,"slug":726,"description":954,"documentation_link":955,"loc_icon":726,"is_official_plugin":91,"is_universal_plugin":91,"universal_plugin_vendor":8,"translations":1077},[1078,1079,1080,1081],{"id":98,"languages_code":925,"label":722,"description":954,"slug":726},{"id":959,"languages_code":927,"label":722,"description":960,"slug":726},{"id":733,"languages_code":933,"label":722,"description":962,"slug":726},{"id":504,"languages_code":930,"label":722,"description":964,"slug":726},{"id":22,"status":4,"sort":50,"label":966,"alternative_label":8,"slug":967,"description":968,"documentation_link":969,"loc_icon":970,"is_official_plugin":91,"is_universal_plugin":91,"universal_plugin_vendor":8,"translations":1083},[1084,1085,1086,1087,1088,1089,1090,1091],{"id":22,"languages_code":925,"label":966,"description":968,"slug":967},{"id":225,"languages_code":927,"label":974,"description":975,"slug":8},{"id":420,"languages_code":933,"label":966,"description":968,"slug":967},{"id":387,"languages_code":930,"label":978,"description":979,"slug":8},{"id":338,"languages_code":927,"label":981,"description":982,"slug":967},{"id":347,"languages_code":933,"label":966,"description":968,"slug":967},{"id":625,"languages_code":930,"label":978,"description":979,"slug":967},{"id":986,"languages_code":987,"label":988,"description":989,"slug":8},{"id":16,"status":4,"sort":98,"label":991,"alternative_label":992,"slug":993,"description":994,"documentation_link":995,"loc_icon":996,"is_official_plugin":91,"is_universal_plugin":91,"universal_plugin_vendor":8,"translations":1093},[1094,1095,1096,1097,1098],{"id":16,"languages_code":925,"label":991,"description":994,"slug":993},{"id":152,"languages_code":927,"label":1000,"description":1001,"slug":8},{"id":317,"languages_code":933,"label":991,"description":994,"slug":993},{"id":1004,"languages_code":930,"label":1005,"description":1006,"slug":8},{"id":1008,"languages_code":987,"label":1009,"description":1010,"slug":8},{"id":7,"status":4,"sort":22,"label":1012,"alternative_label":710,"slug":479,"description":1013,"documentation_link":1014,"loc_icon":479,"is_official_plugin":91,"is_universal_plugin":91,"universal_plugin_vendor":8,"translations":1100},[1101,1102,1103,1104,1105],{"id":7,"languages_code":925,"label":1012,"description":1013,"slug":479},{"id":141,"languages_code":927,"label":1018,"description":1019,"slug":479},{"id":309,"languages_code":933,"label":1012,"description":1013,"slug":479},{"id":379,"languages_code":930,"label":1022,"description":1023,"slug":479},{"id":1025,"languages_code":987,"label":1026,"description":1027,"slug":8},[],{"id":7,"status":4,"sort":22,"label":1012,"alternative_label":710,"slug":479,"description":1013,"documentation_link":1014,"loc_icon":479,"is_official_plugin":91,"is_universal_plugin":91,"universal_plugin_vendor":8,"translations":1108},[1109,1110,1111,1112,1113],{"id":7,"languages_code":925,"label":1012,"description":1013,"slug":479},{"id":141,"languages_code":927,"label":1018,"description":1019,"slug":479},{"id":309,"languages_code":933,"label":1012,"description":1013,"slug":479},{"id":379,"languages_code":930,"label":1022,"description":1023,"slug":479},{"id":1025,"languages_code":987,"label":1026,"description":1027,"slug":8},[1115,1119],{"id":1004,"status":4,"created_on":1116,"sort":8,"slug":1117,"label":1118,"on_faq_index":8},"2023-03-01T11:21:41.000Z","vue-localization","Vue.js Localization",{"id":1038,"status":4,"created_on":1039,"sort":8,"slug":1040,"label":1041,"on_faq_index":8},[1121],{"languages_code":925,"name":554,"slug":553,"description":1046,"support_type":909,"meta_title":8,"meta_description":8,"marketing_subtitle":910,"tile_subtitle":1047,"tile_description":1048,"id":246,"platforms_id":246,"docs_link":908},{"id":7,"status":4,"created_on":905,"modified_on":1123,"name":568,"slug":567,"description":1124,"docs_link":1125,"priority":8,"has_sdk":91,"sort":57,"highlighted":91,"in_menu":93,"changefreq":8,"support_type":1126,"show_in_spa":93,"is_file_format":91,"meta_title":8,"meta_description":8,"featured_on_web":91,"marketing_subtitle":910,"tile_subtitle":1126,"tile_description":1127,"is_enterprise":91,"is_popular":91,"primary_use_case":1128,"hierarchy_handling":1129,"best_for":1130,"file_extension":1131,"format_code_example":1132,"format_to_extension":1133,"upload_features":1135,"icon":1136,"meta_image":1137,"primary_tag":1139,"tags":1150,"integration_methods":1186,"recommended_methods":1217,"default_integration_method":1218,"faq_categories":1225,"translations":1226,"platforms_id":7},"2025-07-03T14:21:42.000Z","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":1134},"arb",[],{"id":570},{"id":1138},"c2674666-4371-4aa4-9a65-438c7363fafe",{"id":57,"status":4,"sort":67,"created_on":944,"label":1140,"hidden":91,"icon":1141,"translations":1143},"Mobile apps",{"id":1142},"c9c7e1f5-8b59-4016-ae0c-6fba9469cd55",[1144,1145,1147,1149],{"id":57,"languages_code":925,"label":1140},{"id":309,"languages_code":927,"label":1146},"Aplicaciones móviles",{"id":379,"languages_code":930,"label":1148},"Mobilní aplikace",{"id":347,"languages_code":933,"label":1140},[1151,1162,1169,1176],{"id":62,"status":4,"sort":246,"label":1152,"hidden":91,"created_on":944,"icon":1153,"translations":1155},"Desktop & Games",{"id":1154},"65b04533-5b4c-430c-b8a4-ecce84754200",[1156,1157,1159,1161],{"id":62,"languages_code":925,"label":1152},{"id":317,"languages_code":927,"label":1158},"Escritorio y Juegos",{"id":1004,"languages_code":930,"label":1160},"Stolní počítače & Hry",{"id":625,"languages_code":933,"label":1152},{"id":50,"status":4,"sort":16,"label":920,"hidden":91,"created_on":919,"icon":1163,"translations":1164},{"id":922},[1165,1166,1167,1168],{"id":50,"languages_code":925,"label":920},{"id":300,"languages_code":927,"label":928},{"id":733,"languages_code":930,"label":931},{"id":504,"languages_code":933,"label":920},{"id":57,"status":4,"sort":67,"label":1140,"hidden":91,"created_on":944,"icon":1170,"translations":1171},{"id":1142},[1172,1173,1174,1175],{"id":57,"languages_code":925,"label":1140},{"id":309,"languages_code":927,"label":1146},{"id":379,"languages_code":930,"label":1148},{"id":347,"languages_code":933,"label":1140},{"id":157,"status":4,"sort":343,"label":1177,"hidden":93,"created_on":944,"icon":8,"translations":1178},"ARB",[1179,1180,1182,1184],{"id":157,"languages_code":925,"label":1177},{"id":1181,"languages_code":927,"label":1177},120,{"id":1183,"languages_code":930,"label":1177},125,{"id":1185,"languages_code":933,"label":1177},130,[1187,1193,1203,1210],{"id":98,"status":4,"sort":57,"label":722,"alternative_label":8,"slug":726,"description":954,"documentation_link":955,"loc_icon":726,"is_official_plugin":91,"is_universal_plugin":91,"universal_plugin_vendor":8,"translations":1188},[1189,1190,1191,1192],{"id":98,"languages_code":925,"label":722,"description":954,"slug":726},{"id":959,"languages_code":927,"label":722,"description":960,"slug":726},{"id":733,"languages_code":933,"label":722,"description":962,"slug":726},{"id":504,"languages_code":930,"label":722,"description":964,"slug":726},{"id":22,"status":4,"sort":50,"label":966,"alternative_label":8,"slug":967,"description":968,"documentation_link":969,"loc_icon":970,"is_official_plugin":91,"is_universal_plugin":91,"universal_plugin_vendor":8,"translations":1194},[1195,1196,1197,1198,1199,1200,1201,1202],{"id":22,"languages_code":925,"label":966,"description":968,"slug":967},{"id":225,"languages_code":927,"label":974,"description":975,"slug":8},{"id":420,"languages_code":933,"label":966,"description":968,"slug":967},{"id":387,"languages_code":930,"label":978,"description":979,"slug":8},{"id":338,"languages_code":927,"label":981,"description":982,"slug":967},{"id":347,"languages_code":933,"label":966,"description":968,"slug":967},{"id":625,"languages_code":930,"label":978,"description":979,"slug":967},{"id":986,"languages_code":987,"label":988,"description":989,"slug":8},{"id":16,"status":4,"sort":98,"label":991,"alternative_label":992,"slug":993,"description":994,"documentation_link":995,"loc_icon":996,"is_official_plugin":91,"is_universal_plugin":91,"universal_plugin_vendor":8,"translations":1204},[1205,1206,1207,1208,1209],{"id":16,"languages_code":925,"label":991,"description":994,"slug":993},{"id":152,"languages_code":927,"label":1000,"description":1001,"slug":8},{"id":317,"languages_code":933,"label":991,"description":994,"slug":993},{"id":1004,"languages_code":930,"label":1005,"description":1006,"slug":8},{"id":1008,"languages_code":987,"label":1009,"description":1010,"slug":8},{"id":7,"status":4,"sort":22,"label":1012,"alternative_label":710,"slug":479,"description":1013,"documentation_link":1014,"loc_icon":479,"is_official_plugin":91,"is_universal_plugin":91,"universal_plugin_vendor":8,"translations":1211},[1212,1213,1214,1215,1216],{"id":7,"languages_code":925,"label":1012,"description":1013,"slug":479},{"id":141,"languages_code":927,"label":1018,"description":1019,"slug":479},{"id":309,"languages_code":933,"label":1012,"description":1013,"slug":479},{"id":379,"languages_code":930,"label":1022,"description":1023,"slug":479},{"id":1025,"languages_code":987,"label":1026,"description":1027,"slug":8},[],{"id":7,"status":4,"sort":22,"label":1012,"alternative_label":710,"slug":479,"description":1013,"documentation_link":1014,"loc_icon":479,"is_official_plugin":91,"is_universal_plugin":91,"universal_plugin_vendor":8,"translations":1219},[1220,1221,1222,1223,1224],{"id":7,"languages_code":925,"label":1012,"description":1013,"slug":479},{"id":141,"languages_code":927,"label":1018,"description":1019,"slug":479},{"id":309,"languages_code":933,"label":1012,"description":1013,"slug":479},{"id":379,"languages_code":930,"label":1022,"description":1023,"slug":479},{"id":1025,"languages_code":987,"label":1026,"description":1027,"slug":8},[],[1227],{"languages_code":925,"name":568,"slug":567,"description":1124,"support_type":1126,"meta_title":8,"meta_description":8,"marketing_subtitle":910,"tile_subtitle":1126,"tile_description":1127,"id":7,"platforms_id":7,"docs_link":1125},{"id":509,"status":4,"created_on":1229,"modified_on":1230,"name":582,"slug":581,"description":1231,"docs_link":1232,"priority":8,"has_sdk":91,"sort":29,"highlighted":91,"in_menu":93,"changefreq":8,"support_type":1233,"show_in_spa":93,"is_file_format":91,"meta_title":8,"meta_description":8,"featured_on_web":93,"marketing_subtitle":910,"tile_subtitle":1233,"tile_description":1234,"is_enterprise":91,"is_popular":91,"primary_use_case":8,"hierarchy_handling":8,"best_for":8,"file_extension":8,"format_code_example":8,"format_to_extension":1235,"upload_features":1237,"icon":1238,"meta_image":1239,"primary_tag":1241,"tags":1254,"integration_methods":1269,"recommended_methods":1300,"default_integration_method":1301,"faq_categories":1308,"translations":1312,"platforms_id":509},"2022-03-18T08:09:25.000Z","2024-07-17T07:43:22.000Z","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":1236},"js",[],{"id":584},{"id":1240},"2c6699eb-1d80-4772-8268-5597dbcead8c",{"id":77,"status":4,"sort":77,"created_on":944,"label":1242,"hidden":91,"icon":1243,"translations":1245},"Programming Languages",{"id":1244},"8c5836bb-1fbe-49c5-9330-8f931838c457",[1246,1247,1249,1252],{"id":77,"languages_code":925,"label":1242},{"id":404,"languages_code":927,"label":1248},"Lenguajes de Programación",{"id":1250,"languages_code":930,"label":1251},68,"Programovací Jazyky",{"id":1253,"languages_code":933,"label":1242},70,[1255,1262],{"id":50,"status":4,"sort":16,"label":920,"hidden":91,"created_on":919,"icon":1256,"translations":1257},{"id":922},[1258,1259,1260,1261],{"id":50,"languages_code":925,"label":920},{"id":300,"languages_code":927,"label":928},{"id":733,"languages_code":930,"label":931},{"id":504,"languages_code":933,"label":920},{"id":77,"status":4,"sort":77,"label":1242,"hidden":91,"created_on":944,"icon":1263,"translations":1264},{"id":1244},[1265,1266,1267,1268],{"id":77,"languages_code":925,"label":1242},{"id":404,"languages_code":927,"label":1248},{"id":1250,"languages_code":930,"label":1251},{"id":1253,"languages_code":933,"label":1242},[1270,1276,1286,1293],{"id":98,"status":4,"sort":57,"label":722,"alternative_label":8,"slug":726,"description":954,"documentation_link":955,"loc_icon":726,"is_official_plugin":91,"is_universal_plugin":91,"universal_plugin_vendor":8,"translations":1271},[1272,1273,1274,1275],{"id":98,"languages_code":925,"label":722,"description":954,"slug":726},{"id":959,"languages_code":927,"label":722,"description":960,"slug":726},{"id":733,"languages_code":933,"label":722,"description":962,"slug":726},{"id":504,"languages_code":930,"label":722,"description":964,"slug":726},{"id":22,"status":4,"sort":50,"label":966,"alternative_label":8,"slug":967,"description":968,"documentation_link":969,"loc_icon":970,"is_official_plugin":91,"is_universal_plugin":91,"universal_plugin_vendor":8,"translations":1277},[1278,1279,1280,1281,1282,1283,1284,1285],{"id":22,"languages_code":925,"label":966,"description":968,"slug":967},{"id":225,"languages_code":927,"label":974,"description":975,"slug":8},{"id":420,"languages_code":933,"label":966,"description":968,"slug":967},{"id":387,"languages_code":930,"label":978,"description":979,"slug":8},{"id":338,"languages_code":927,"label":981,"description":982,"slug":967},{"id":347,"languages_code":933,"label":966,"description":968,"slug":967},{"id":625,"languages_code":930,"label":978,"description":979,"slug":967},{"id":986,"languages_code":987,"label":988,"description":989,"slug":8},{"id":16,"status":4,"sort":98,"label":991,"alternative_label":992,"slug":993,"description":994,"documentation_link":995,"loc_icon":996,"is_official_plugin":91,"is_universal_plugin":91,"universal_plugin_vendor":8,"translations":1287},[1288,1289,1290,1291,1292],{"id":16,"languages_code":925,"label":991,"description":994,"slug":993},{"id":152,"languages_code":927,"label":1000,"description":1001,"slug":8},{"id":317,"languages_code":933,"label":991,"description":994,"slug":993},{"id":1004,"languages_code":930,"label":1005,"description":1006,"slug":8},{"id":1008,"languages_code":987,"label":1009,"description":1010,"slug":8},{"id":7,"status":4,"sort":22,"label":1012,"alternative_label":710,"slug":479,"description":1013,"documentation_link":1014,"loc_icon":479,"is_official_plugin":91,"is_universal_plugin":91,"universal_plugin_vendor":8,"translations":1294},[1295,1296,1297,1298,1299],{"id":7,"languages_code":925,"label":1012,"description":1013,"slug":479},{"id":141,"languages_code":927,"label":1018,"description":1019,"slug":479},{"id":309,"languages_code":933,"label":1012,"description":1013,"slug":479},{"id":379,"languages_code":930,"label":1022,"description":1023,"slug":479},{"id":1025,"languages_code":987,"label":1026,"description":1027,"slug":8},[],{"id":7,"status":4,"sort":22,"label":1012,"alternative_label":710,"slug":479,"description":1013,"documentation_link":1014,"loc_icon":479,"is_official_plugin":91,"is_universal_plugin":91,"universal_plugin_vendor":8,"translations":1302},[1303,1304,1305,1306,1307],{"id":7,"languages_code":925,"label":1012,"description":1013,"slug":479},{"id":141,"languages_code":927,"label":1018,"description":1019,"slug":479},{"id":309,"languages_code":933,"label":1012,"description":1013,"slug":479},{"id":379,"languages_code":930,"label":1022,"description":1023,"slug":479},{"id":1025,"languages_code":987,"label":1026,"description":1027,"slug":8},[1309],{"id":400,"status":4,"created_on":1310,"sort":8,"slug":1311,"label":582,"on_faq_index":91},"2022-06-10T09:49:33.000Z","javascript-i18n-localization",[1313],{"languages_code":925,"name":582,"slug":581,"description":1231,"support_type":1233,"meta_title":8,"meta_description":8,"marketing_subtitle":910,"tile_subtitle":1233,"tile_description":1234,"id":509,"platforms_id":509,"docs_link":1232},{"id":29,"status":4,"created_on":1229,"modified_on":1315,"name":589,"slug":588,"description":1316,"docs_link":908,"priority":8,"has_sdk":91,"sort":129,"highlighted":91,"in_menu":93,"changefreq":8,"support_type":1317,"show_in_spa":93,"is_file_format":93,"meta_title":8,"meta_description":8,"featured_on_web":93,"marketing_subtitle":910,"tile_subtitle":1318,"tile_description":1319,"is_enterprise":91,"is_popular":93,"primary_use_case":1320,"hierarchy_handling":1321,"best_for":1322,"file_extension":1323,"format_code_example":1324,"format_to_extension":1325,"upload_features":1326,"icon":1327,"meta_image":1328,"primary_tag":1330,"tags":1341,"integration_methods":1349,"recommended_methods":1380,"default_integration_method":1381,"faq_categories":1388,"translations":1391,"platforms_id":29},"2025-10-14T11:22:29.000Z","Online JSON translator you will love. Comfortable JSON language files editor with powerful CLI under your fingers for continuous localization.","Advanced format support","{Objectively the best}","Translate any JSON files with Localazy, with the best in class plural and array support.","Used for structured data storage and APIs","Uses key-value pairs","Web & mobile apps, APIs",".json","```\n{\n  \"parent\": {\n    \"child\": {\n      \"another_nested_level\": \"All is supported.\"\n    }\n  }\n}\n```",{"json":588},[],{"id":591},{"id":1329},"8d614c20-667e-4bee-a64d-7d7ce9c0ee0a",{"id":98,"status":4,"sort":50,"created_on":944,"label":1331,"hidden":91,"icon":1332,"translations":1334},"File formats",{"id":1333},"ab7c8f89-dcce-45ab-9e21-8605aef289c3",[1335,1336,1338,1340],{"id":98,"languages_code":925,"label":1331},{"id":291,"languages_code":927,"label":1337},"Formatos de archivo",{"id":420,"languages_code":930,"label":1339},"Formáty souborů",{"id":513,"languages_code":933,"label":1331},[1342],{"id":98,"status":4,"sort":50,"label":1331,"hidden":91,"created_on":944,"icon":1343,"translations":1344},{"id":1333},[1345,1346,1347,1348],{"id":98,"languages_code":925,"label":1331},{"id":291,"languages_code":927,"label":1337},{"id":420,"languages_code":930,"label":1339},{"id":513,"languages_code":933,"label":1331},[1350,1356,1366,1373],{"id":98,"status":4,"sort":57,"label":722,"alternative_label":8,"slug":726,"description":954,"documentation_link":955,"loc_icon":726,"is_official_plugin":91,"is_universal_plugin":91,"universal_plugin_vendor":8,"translations":1351},[1352,1353,1354,1355],{"id":98,"languages_code":925,"label":722,"description":954,"slug":726},{"id":959,"languages_code":927,"label":722,"description":960,"slug":726},{"id":733,"languages_code":933,"label":722,"description":962,"slug":726},{"id":504,"languages_code":930,"label":722,"description":964,"slug":726},{"id":22,"status":4,"sort":50,"label":966,"alternative_label":8,"slug":967,"description":968,"documentation_link":969,"loc_icon":970,"is_official_plugin":91,"is_universal_plugin":91,"universal_plugin_vendor":8,"translations":1357},[1358,1359,1360,1361,1362,1363,1364,1365],{"id":22,"languages_code":925,"label":966,"description":968,"slug":967},{"id":225,"languages_code":927,"label":974,"description":975,"slug":8},{"id":420,"languages_code":933,"label":966,"description":968,"slug":967},{"id":387,"languages_code":930,"label":978,"description":979,"slug":8},{"id":338,"languages_code":927,"label":981,"description":982,"slug":967},{"id":347,"languages_code":933,"label":966,"description":968,"slug":967},{"id":625,"languages_code":930,"label":978,"description":979,"slug":967},{"id":986,"languages_code":987,"label":988,"description":989,"slug":8},{"id":16,"status":4,"sort":98,"label":991,"alternative_label":992,"slug":993,"description":994,"documentation_link":995,"loc_icon":996,"is_official_plugin":91,"is_universal_plugin":91,"universal_plugin_vendor":8,"translations":1367},[1368,1369,1370,1371,1372],{"id":16,"languages_code":925,"label":991,"description":994,"slug":993},{"id":152,"languages_code":927,"label":1000,"description":1001,"slug":8},{"id":317,"languages_code":933,"label":991,"description":994,"slug":993},{"id":1004,"languages_code":930,"label":1005,"description":1006,"slug":8},{"id":1008,"languages_code":987,"label":1009,"description":1010,"slug":8},{"id":7,"status":4,"sort":22,"label":1012,"alternative_label":710,"slug":479,"description":1013,"documentation_link":1014,"loc_icon":479,"is_official_plugin":91,"is_universal_plugin":91,"universal_plugin_vendor":8,"translations":1374},[1375,1376,1377,1378,1379],{"id":7,"languages_code":925,"label":1012,"description":1013,"slug":479},{"id":141,"languages_code":927,"label":1018,"description":1019,"slug":479},{"id":309,"languages_code":933,"label":1012,"description":1013,"slug":479},{"id":379,"languages_code":930,"label":1022,"description":1023,"slug":479},{"id":1025,"languages_code":987,"label":1026,"description":1027,"slug":8},[],{"id":7,"status":4,"sort":22,"label":1012,"alternative_label":710,"slug":479,"description":1013,"documentation_link":1014,"loc_icon":479,"is_official_plugin":91,"is_universal_plugin":91,"universal_plugin_vendor":8,"translations":1382},[1383,1384,1385,1386,1387],{"id":7,"languages_code":925,"label":1012,"description":1013,"slug":479},{"id":141,"languages_code":927,"label":1018,"description":1019,"slug":479},{"id":309,"languages_code":933,"label":1012,"description":1013,"slug":479},{"id":379,"languages_code":930,"label":1022,"description":1023,"slug":479},{"id":1025,"languages_code":987,"label":1026,"description":1027,"slug":8},[1389],{"id":359,"status":4,"created_on":1390,"sort":8,"slug":588,"label":589,"on_faq_index":91},"2022-06-10T10:49:07.000Z",[1392],{"languages_code":925,"name":589,"slug":588,"description":1316,"support_type":1317,"meta_title":8,"meta_description":8,"marketing_subtitle":910,"tile_subtitle":1318,"tile_description":1319,"id":29,"platforms_id":29,"docs_link":908},{"id":433,"status":4,"created_on":1229,"modified_on":1394,"name":596,"slug":595,"description":1395,"docs_link":1396,"priority":8,"has_sdk":91,"sort":433,"highlighted":91,"in_menu":93,"changefreq":8,"support_type":1397,"show_in_spa":91,"is_file_format":93,"meta_title":8,"meta_description":8,"featured_on_web":93,"marketing_subtitle":910,"tile_subtitle":1398,"tile_description":1399,"is_enterprise":91,"is_popular":93,"primary_use_case":1400,"hierarchy_handling":1401,"best_for":1402,"file_extension":1403,"format_code_example":1404,"format_to_extension":1405,"upload_features":1407,"icon":1408,"meta_image":1409,"primary_tag":1411,"tags":1418,"integration_methods":1440,"recommended_methods":1471,"default_integration_method":1472,"faq_categories":1479,"translations":1480,"platforms_id":433},"2025-07-03T14:28:31.000Z","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":1406},"xlf",[],{"id":598},{"id":1410},"889970a6-cce8-4055-b96a-9c3f292aa67f",{"id":98,"status":4,"sort":50,"created_on":944,"label":1331,"hidden":91,"icon":1412,"translations":1413},{"id":1333},[1414,1415,1416,1417],{"id":98,"languages_code":925,"label":1331},{"id":291,"languages_code":927,"label":1337},{"id":420,"languages_code":930,"label":1339},{"id":513,"languages_code":933,"label":1331},[1419,1426,1433],{"id":98,"status":4,"sort":50,"label":1331,"hidden":91,"created_on":944,"icon":1420,"translations":1421},{"id":1333},[1422,1423,1424,1425],{"id":98,"languages_code":925,"label":1331},{"id":291,"languages_code":927,"label":1337},{"id":420,"languages_code":930,"label":1339},{"id":513,"languages_code":933,"label":1331},{"id":98,"status":4,"sort":50,"label":1331,"hidden":91,"created_on":944,"icon":1427,"translations":1428},{"id":1333},[1429,1430,1431,1432],{"id":98,"languages_code":925,"label":1331},{"id":291,"languages_code":927,"label":1337},{"id":420,"languages_code":930,"label":1339},{"id":513,"languages_code":933,"label":1331},{"id":98,"status":4,"sort":50,"label":1331,"hidden":91,"created_on":944,"icon":1434,"translations":1435},{"id":1333},[1436,1437,1438,1439],{"id":98,"languages_code":925,"label":1331},{"id":291,"languages_code":927,"label":1337},{"id":420,"languages_code":930,"label":1339},{"id":513,"languages_code":933,"label":1331},[1441,1447,1457,1464],{"id":98,"status":4,"sort":57,"label":722,"alternative_label":8,"slug":726,"description":954,"documentation_link":955,"loc_icon":726,"is_official_plugin":91,"is_universal_plugin":91,"universal_plugin_vendor":8,"translations":1442},[1443,1444,1445,1446],{"id":98,"languages_code":925,"label":722,"description":954,"slug":726},{"id":959,"languages_code":927,"label":722,"description":960,"slug":726},{"id":733,"languages_code":933,"label":722,"description":962,"slug":726},{"id":504,"languages_code":930,"label":722,"description":964,"slug":726},{"id":22,"status":4,"sort":50,"label":966,"alternative_label":8,"slug":967,"description":968,"documentation_link":969,"loc_icon":970,"is_official_plugin":91,"is_universal_plugin":91,"universal_plugin_vendor":8,"translations":1448},[1449,1450,1451,1452,1453,1454,1455,1456],{"id":22,"languages_code":925,"label":966,"description":968,"slug":967},{"id":225,"languages_code":927,"label":974,"description":975,"slug":8},{"id":420,"languages_code":933,"label":966,"description":968,"slug":967},{"id":387,"languages_code":930,"label":978,"description":979,"slug":8},{"id":338,"languages_code":927,"label":981,"description":982,"slug":967},{"id":347,"languages_code":933,"label":966,"description":968,"slug":967},{"id":625,"languages_code":930,"label":978,"description":979,"slug":967},{"id":986,"languages_code":987,"label":988,"description":989,"slug":8},{"id":16,"status":4,"sort":98,"label":991,"alternative_label":992,"slug":993,"description":994,"documentation_link":995,"loc_icon":996,"is_official_plugin":91,"is_universal_plugin":91,"universal_plugin_vendor":8,"translations":1458},[1459,1460,1461,1462,1463],{"id":16,"languages_code":925,"label":991,"description":994,"slug":993},{"id":152,"languages_code":927,"label":1000,"description":1001,"slug":8},{"id":317,"languages_code":933,"label":991,"description":994,"slug":993},{"id":1004,"languages_code":930,"label":1005,"description":1006,"slug":8},{"id":1008,"languages_code":987,"label":1009,"description":1010,"slug":8},{"id":7,"status":4,"sort":22,"label":1012,"alternative_label":710,"slug":479,"description":1013,"documentation_link":1014,"loc_icon":479,"is_official_plugin":91,"is_universal_plugin":91,"universal_plugin_vendor":8,"translations":1465},[1466,1467,1468,1469,1470],{"id":7,"languages_code":925,"label":1012,"description":1013,"slug":479},{"id":141,"languages_code":927,"label":1018,"description":1019,"slug":479},{"id":309,"languages_code":933,"label":1012,"description":1013,"slug":479},{"id":379,"languages_code":930,"label":1022,"description":1023,"slug":479},{"id":1025,"languages_code":987,"label":1026,"description":1027,"slug":8},[],{"id":7,"status":4,"sort":22,"label":1012,"alternative_label":710,"slug":479,"description":1013,"documentation_link":1014,"loc_icon":479,"is_official_plugin":91,"is_universal_plugin":91,"universal_plugin_vendor":8,"translations":1473},[1474,1475,1476,1477,1478],{"id":7,"languages_code":925,"label":1012,"description":1013,"slug":479},{"id":141,"languages_code":927,"label":1018,"description":1019,"slug":479},{"id":309,"languages_code":933,"label":1012,"description":1013,"slug":479},{"id":379,"languages_code":930,"label":1022,"description":1023,"slug":479},{"id":1025,"languages_code":987,"label":1026,"description":1027,"slug":8},[],[1481],{"languages_code":925,"name":596,"slug":595,"description":1395,"support_type":1397,"meta_title":8,"meta_description":8,"marketing_subtitle":910,"tile_subtitle":1398,"tile_description":1399,"id":433,"platforms_id":433,"docs_link":1396},{"id":129,"status":4,"created_on":1483,"modified_on":1483,"name":1484,"slug":1485,"description":1486,"docs_link":1487,"priority":8,"has_sdk":91,"sort":181,"highlighted":91,"in_menu":93,"changefreq":8,"support_type":1397,"show_in_spa":93,"is_file_format":93,"meta_title":8,"meta_description":8,"featured_on_web":91,"marketing_subtitle":910,"tile_subtitle":1488,"tile_description":1489,"is_enterprise":91,"is_popular":93,"primary_use_case":8,"hierarchy_handling":8,"best_for":8,"file_extension":8,"format_code_example":8,"format_to_extension":1490,"upload_features":1491,"icon":1492,"meta_image":1494,"primary_tag":1496,"tags":1503,"integration_methods":1531,"recommended_methods":1562,"default_integration_method":1563,"faq_categories":1570,"translations":1571,"platforms_id":129},"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","Seamless integration","Upload, edit and translate PO files with Localazy.",{"po":1485},[],{"id":1493},"25f317fe-0c10-4f0b-92cd-f80d1f3c6a67",{"id":1495},"490022f9-d91a-4e1a-9e79-db374ec997c2",{"id":98,"status":4,"sort":50,"created_on":944,"label":1331,"hidden":91,"icon":1497,"translations":1498},{"id":1333},[1499,1500,1501,1502],{"id":98,"languages_code":925,"label":1331},{"id":291,"languages_code":927,"label":1337},{"id":420,"languages_code":930,"label":1339},{"id":513,"languages_code":933,"label":1331},[1504,1511,1521],{"id":98,"status":4,"sort":50,"label":1331,"hidden":91,"created_on":944,"icon":1505,"translations":1506},{"id":1333},[1507,1508,1509,1510],{"id":98,"languages_code":925,"label":1331},{"id":291,"languages_code":927,"label":1337},{"id":420,"languages_code":930,"label":1339},{"id":513,"languages_code":933,"label":1331},{"id":330,"status":4,"sort":330,"label":1512,"hidden":93,"created_on":944,"icon":8,"translations":1513},"C++",[1514,1515,1517,1519],{"id":330,"languages_code":925,"label":1512},{"id":1516,"languages_code":927,"label":1512},135,{"id":1518,"languages_code":930,"label":1512},140,{"id":1520,"languages_code":933,"label":1512},144,{"id":433,"status":4,"sort":181,"label":1522,"hidden":93,"created_on":944,"icon":8,"translations":1523},"Gettext",[1524,1525,1527,1529],{"id":433,"languages_code":925,"label":1522},{"id":1526,"languages_code":927,"label":1522},101,{"id":1528,"languages_code":930,"label":1522},106,{"id":1530,"languages_code":933,"label":1522},111,[1532,1538,1548,1555],{"id":98,"status":4,"sort":57,"label":722,"alternative_label":8,"slug":726,"description":954,"documentation_link":955,"loc_icon":726,"is_official_plugin":91,"is_universal_plugin":91,"universal_plugin_vendor":8,"translations":1533},[1534,1535,1536,1537],{"id":98,"languages_code":925,"label":722,"description":954,"slug":726},{"id":959,"languages_code":927,"label":722,"description":960,"slug":726},{"id":733,"languages_code":933,"label":722,"description":962,"slug":726},{"id":504,"languages_code":930,"label":722,"description":964,"slug":726},{"id":22,"status":4,"sort":50,"label":966,"alternative_label":8,"slug":967,"description":968,"documentation_link":969,"loc_icon":970,"is_official_plugin":91,"is_universal_plugin":91,"universal_plugin_vendor":8,"translations":1539},[1540,1541,1542,1543,1544,1545,1546,1547],{"id":22,"languages_code":925,"label":966,"description":968,"slug":967},{"id":225,"languages_code":927,"label":974,"description":975,"slug":8},{"id":420,"languages_code":933,"label":966,"description":968,"slug":967},{"id":387,"languages_code":930,"label":978,"description":979,"slug":8},{"id":338,"languages_code":927,"label":981,"description":982,"slug":967},{"id":347,"languages_code":933,"label":966,"description":968,"slug":967},{"id":625,"languages_code":930,"label":978,"description":979,"slug":967},{"id":986,"languages_code":987,"label":988,"description":989,"slug":8},{"id":16,"status":4,"sort":98,"label":991,"alternative_label":992,"slug":993,"description":994,"documentation_link":995,"loc_icon":996,"is_official_plugin":91,"is_universal_plugin":91,"universal_plugin_vendor":8,"translations":1549},[1550,1551,1552,1553,1554],{"id":16,"languages_code":925,"label":991,"description":994,"slug":993},{"id":152,"languages_code":927,"label":1000,"description":1001,"slug":8},{"id":317,"languages_code":933,"label":991,"description":994,"slug":993},{"id":1004,"languages_code":930,"label":1005,"description":1006,"slug":8},{"id":1008,"languages_code":987,"label":1009,"description":1010,"slug":8},{"id":7,"status":4,"sort":22,"label":1012,"alternative_label":710,"slug":479,"description":1013,"documentation_link":1014,"loc_icon":479,"is_official_plugin":91,"is_universal_plugin":91,"universal_plugin_vendor":8,"translations":1556},[1557,1558,1559,1560,1561],{"id":7,"languages_code":925,"label":1012,"description":1013,"slug":479},{"id":141,"languages_code":927,"label":1018,"description":1019,"slug":479},{"id":309,"languages_code":933,"label":1012,"description":1013,"slug":479},{"id":379,"languages_code":930,"label":1022,"description":1023,"slug":479},{"id":1025,"languages_code":987,"label":1026,"description":1027,"slug":8},[],{"id":7,"status":4,"sort":22,"label":1012,"alternative_label":710,"slug":479,"description":1013,"documentation_link":1014,"loc_icon":479,"is_official_plugin":91,"is_universal_plugin":91,"universal_plugin_vendor":8,"translations":1564},[1565,1566,1567,1568,1569],{"id":7,"languages_code":925,"label":1012,"description":1013,"slug":479},{"id":141,"languages_code":927,"label":1018,"description":1019,"slug":479},{"id":309,"languages_code":933,"label":1012,"description":1013,"slug":479},{"id":379,"languages_code":930,"label":1022,"description":1023,"slug":479},{"id":1025,"languages_code":987,"label":1026,"description":1027,"slug":8},[],[1572],{"languages_code":925,"name":1484,"slug":1485,"description":1486,"support_type":1397,"meta_title":8,"meta_description":8,"marketing_subtitle":910,"tile_subtitle":1488,"tile_description":1489,"id":129,"platforms_id":129,"docs_link":1487},{"id":186,"status":4,"created_on":1229,"modified_on":1574,"name":1575,"slug":1576,"description":1577,"docs_link":1578,"priority":8,"has_sdk":91,"sort":164,"highlighted":91,"in_menu":93,"changefreq":8,"support_type":1397,"show_in_spa":93,"is_file_format":93,"meta_title":8,"meta_description":8,"featured_on_web":91,"marketing_subtitle":910,"tile_subtitle":1579,"tile_description":1580,"is_enterprise":91,"is_popular":91,"primary_use_case":1581,"hierarchy_handling":1582,"best_for":1583,"file_extension":1584,"format_code_example":1585,"format_to_extension":1586,"upload_features":1587,"icon":1588,"meta_image":1589,"primary_tag":1591,"tags":1598,"integration_methods":1616,"recommended_methods":1647,"default_integration_method":1648,"faq_categories":1655,"translations":1658,"platforms_id":186},"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",".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":1576},[],{"id":1493},{"id":1590},"1f07bf83-9363-47d6-b21b-a5121c0efaf6",{"id":98,"status":4,"sort":50,"created_on":944,"label":1331,"hidden":91,"icon":1592,"translations":1593},{"id":1333},[1594,1595,1596,1597],{"id":98,"languages_code":925,"label":1331},{"id":291,"languages_code":927,"label":1337},{"id":420,"languages_code":930,"label":1339},{"id":513,"languages_code":933,"label":1331},[1599,1606],{"id":98,"status":4,"sort":50,"label":1331,"hidden":91,"created_on":944,"icon":1600,"translations":1601},{"id":1333},[1602,1603,1604,1605],{"id":98,"languages_code":925,"label":1331},{"id":291,"languages_code":927,"label":1337},{"id":420,"languages_code":930,"label":1339},{"id":513,"languages_code":933,"label":1331},{"id":181,"status":4,"sort":186,"label":1607,"hidden":93,"created_on":944,"icon":8,"translations":1608},"C#",[1609,1610,1612,1614],{"id":181,"languages_code":925,"label":1607},{"id":1611,"languages_code":927,"label":1607},103,{"id":1613,"languages_code":930,"label":1607},108,{"id":1615,"languages_code":933,"label":1607},113,[1617,1623,1633,1640],{"id":98,"status":4,"sort":57,"label":722,"alternative_label":8,"slug":726,"description":954,"documentation_link":955,"loc_icon":726,"is_official_plugin":91,"is_universal_plugin":91,"universal_plugin_vendor":8,"translations":1618},[1619,1620,1621,1622],{"id":98,"languages_code":925,"label":722,"description":954,"slug":726},{"id":959,"languages_code":927,"label":722,"description":960,"slug":726},{"id":733,"languages_code":933,"label":722,"description":962,"slug":726},{"id":504,"languages_code":930,"label":722,"description":964,"slug":726},{"id":22,"status":4,"sort":50,"label":966,"alternative_label":8,"slug":967,"description":968,"documentation_link":969,"loc_icon":970,"is_official_plugin":91,"is_universal_plugin":91,"universal_plugin_vendor":8,"translations":1624},[1625,1626,1627,1628,1629,1630,1631,1632],{"id":22,"languages_code":925,"label":966,"description":968,"slug":967},{"id":225,"languages_code":927,"label":974,"description":975,"slug":8},{"id":420,"languages_code":933,"label":966,"description":968,"slug":967},{"id":387,"languages_code":930,"label":978,"description":979,"slug":8},{"id":338,"languages_code":927,"label":981,"description":982,"slug":967},{"id":347,"languages_code":933,"label":966,"description":968,"slug":967},{"id":625,"languages_code":930,"label":978,"description":979,"slug":967},{"id":986,"languages_code":987,"label":988,"description":989,"slug":8},{"id":16,"status":4,"sort":98,"label":991,"alternative_label":992,"slug":993,"description":994,"documentation_link":995,"loc_icon":996,"is_official_plugin":91,"is_universal_plugin":91,"universal_plugin_vendor":8,"translations":1634},[1635,1636,1637,1638,1639],{"id":16,"languages_code":925,"label":991,"description":994,"slug":993},{"id":152,"languages_code":927,"label":1000,"description":1001,"slug":8},{"id":317,"languages_code":933,"label":991,"description":994,"slug":993},{"id":1004,"languages_code":930,"label":1005,"description":1006,"slug":8},{"id":1008,"languages_code":987,"label":1009,"description":1010,"slug":8},{"id":7,"status":4,"sort":22,"label":1012,"alternative_label":710,"slug":479,"description":1013,"documentation_link":1014,"loc_icon":479,"is_official_plugin":91,"is_universal_plugin":91,"universal_plugin_vendor":8,"translations":1641},[1642,1643,1644,1645,1646],{"id":7,"languages_code":925,"label":1012,"description":1013,"slug":479},{"id":141,"languages_code":927,"label":1018,"description":1019,"slug":479},{"id":309,"languages_code":933,"label":1012,"description":1013,"slug":479},{"id":379,"languages_code":930,"label":1022,"description":1023,"slug":479},{"id":1025,"languages_code":987,"label":1026,"description":1027,"slug":8},[],{"id":7,"status":4,"sort":22,"label":1012,"alternative_label":710,"slug":479,"description":1013,"documentation_link":1014,"loc_icon":479,"is_official_plugin":91,"is_universal_plugin":91,"universal_plugin_vendor":8,"translations":1649},[1650,1651,1652,1653,1654],{"id":7,"languages_code":925,"label":1012,"description":1013,"slug":479},{"id":141,"languages_code":927,"label":1018,"description":1019,"slug":479},{"id":309,"languages_code":933,"label":1012,"description":1013,"slug":479},{"id":379,"languages_code":930,"label":1022,"description":1023,"slug":479},{"id":1025,"languages_code":987,"label":1026,"description":1027,"slug":8},[1656],{"id":291,"status":4,"created_on":1657,"sort":8,"slug":1576,"label":1575,"on_faq_index":8},"2022-08-01T16:44:06.000Z",[1659],{"languages_code":925,"name":1575,"slug":1576,"description":1577,"support_type":1397,"meta_title":8,"meta_description":8,"marketing_subtitle":910,"tile_subtitle":1579,"tile_description":1580,"id":186,"platforms_id":186,"docs_link":1578},{"id":602,"status":4,"created_on":1661,"modified_on":1662,"name":605,"slug":604,"description":1663,"docs_link":1664,"priority":8,"has_sdk":8,"sort":603,"highlighted":91,"in_menu":93,"changefreq":8,"support_type":1665,"show_in_spa":93,"is_file_format":8,"meta_title":8,"meta_description":8,"featured_on_web":93,"marketing_subtitle":1665,"tile_subtitle":1665,"tile_description":1666,"is_enterprise":91,"is_popular":93,"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":1667,"meta_image":1668,"primary_tag":1670,"tags":1682,"integration_methods":1726,"recommended_methods":1746,"default_integration_method":1747,"faq_categories":1754,"translations":1757,"platforms_id":602},"2022-06-16T09:08:11.000Z","2026-04-27T18:16:54.000Z","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","Localization Plugin","Localize your Strapi website with our official localization plugin. Easy setup and installation.",{"id":607},{"id":1669},"5995b721-a2ea-487e-ad4b-298a489bbd24",{"id":29,"status":4,"sort":36,"created_on":944,"label":1671,"hidden":91,"icon":1672,"translations":1674},"CMS",{"id":1673},"1172a655-928c-4594-9263-d8afdfd9cd79",[1675,1676,1678,1680],{"id":29,"languages_code":925,"label":1671},{"id":1677,"languages_code":927,"label":1671},73,{"id":1679,"languages_code":930,"label":1671},81,{"id":1681,"languages_code":933,"label":1671},84,[1683,1695,1707,1714],{"id":134,"status":4,"sort":322,"label":1684,"hidden":91,"created_on":944,"icon":8,"translations":1685},"Multilingual SEO",[1686,1687,1690,1693],{"id":134,"languages_code":925,"label":1684},{"id":1688,"languages_code":927,"label":1689},89,"SEO multilingüe",{"id":1691,"languages_code":930,"label":1692},94,"Vícejazyčné SEO",{"id":1694,"languages_code":933,"label":1684},99,{"id":474,"status":4,"sort":474,"label":236,"hidden":91,"created_on":944,"icon":1696,"translations":1698},{"id":1697},"e782ed3f-d954-45ca-8b17-5bf5fe95f30a",[1699,1700,1703,1705],{"id":474,"languages_code":925,"label":236},{"id":1701,"languages_code":927,"label":1702},132,"Comercio electrónico",{"id":1704,"languages_code":930,"label":236},137,{"id":1706,"languages_code":933,"label":236},142,{"id":29,"status":4,"sort":36,"label":1671,"hidden":91,"created_on":944,"icon":1708,"translations":1709},{"id":1673},[1710,1711,1712,1713],{"id":29,"languages_code":925,"label":1671},{"id":1677,"languages_code":927,"label":1671},{"id":1679,"languages_code":930,"label":1671},{"id":1681,"languages_code":933,"label":1671},{"id":16,"status":4,"sort":57,"label":1715,"hidden":91,"created_on":944,"icon":1716,"translations":1718},"Marketing tools",{"id":1717},"098fe6a4-dd2e-42d8-937e-2d8121e6e266",[1719,1720,1723,1725],{"id":16,"languages_code":925,"label":1715},{"id":1721,"languages_code":927,"label":1722},43,"Herramientas de marketing",{"id":367,"languages_code":930,"label":1724},"Marketingové nástroje",{"id":446,"languages_code":933,"label":1715},[1727],{"id":67,"status":4,"sort":8,"label":1728,"alternative_label":1729,"slug":1730,"description":1731,"documentation_link":1732,"loc_icon":1733,"is_official_plugin":93,"is_universal_plugin":91,"universal_plugin_vendor":8,"translations":1734},"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",[1735,1736,1739,1740,1743],{"id":67,"languages_code":925,"label":1728,"description":1731,"slug":1730},{"id":1721,"languages_code":927,"label":1737,"description":1738,"slug":8},"Complemento Oficial de Strapi","Nuestros desarrolladores mantienen un complemento oficial de localización de Strapi. ¡Empiece en unos pocos clics!",{"id":437,"languages_code":933,"label":1728,"description":1731,"slug":1730},{"id":513,"languages_code":930,"label":1741,"description":1742,"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":1688,"languages_code":987,"label":1744,"description":1745,"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":1728,"alternative_label":1729,"slug":1730,"description":1731,"documentation_link":1732,"loc_icon":1733,"is_official_plugin":93,"is_universal_plugin":91,"universal_plugin_vendor":8,"translations":1748},[1749,1750,1751,1752,1753],{"id":67,"languages_code":925,"label":1728,"description":1731,"slug":1730},{"id":1721,"languages_code":927,"label":1737,"description":1738,"slug":8},{"id":437,"languages_code":933,"label":1728,"description":1731,"slug":1730},{"id":513,"languages_code":930,"label":1741,"description":1742,"slug":8},{"id":1688,"languages_code":987,"label":1744,"description":1745,"slug":8},[1755],{"id":141,"status":4,"created_on":1756,"sort":8,"slug":604,"label":605,"on_faq_index":8},"2022-06-16T09:24:13.000Z",[1758],{"languages_code":925,"name":605,"slug":604,"description":1663,"support_type":1665,"meta_title":8,"meta_description":8,"marketing_subtitle":1665,"tile_subtitle":1665,"tile_description":1666,"id":602,"platforms_id":602,"docs_link":1664},{"id":387,"status":4,"created_on":1229,"modified_on":1760,"name":612,"slug":611,"description":8,"docs_link":1761,"priority":8,"has_sdk":91,"sort":379,"highlighted":91,"in_menu":93,"changefreq":8,"support_type":1762,"show_in_spa":93,"is_file_format":91,"meta_title":8,"meta_description":8,"featured_on_web":93,"marketing_subtitle":1763,"tile_subtitle":1764,"tile_description":1765,"is_enterprise":91,"is_popular":93,"primary_use_case":8,"hierarchy_handling":8,"best_for":8,"file_extension":8,"format_code_example":8,"format_to_extension":8,"upload_features":1766,"icon":1767,"meta_image":1768,"primary_tag":1770,"tags":1783,"integration_methods":1791,"recommended_methods":1804,"default_integration_method":1805,"faq_categories":1811,"translations":1812,"platforms_id":387},"2024-12-20T15:00:22.000Z","\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":614},{"id":1769},"7573fed6-8817-4cb4-84d2-be327e6c4891",{"id":22,"status":4,"sort":62,"created_on":944,"label":1771,"hidden":91,"icon":1772,"translations":1774},"Design tools",{"id":1773},"1053d863-b690-4fbd-aadf-dbf2ba282768",[1775,1776,1779,1782],{"id":22,"languages_code":925,"label":1771},{"id":1777,"languages_code":927,"label":1778},42,"Herramientas de diseño",{"id":1780,"languages_code":930,"label":1781},49,"Nástroje pro návrh",{"id":496,"languages_code":933,"label":1771},[1784],{"id":22,"status":4,"sort":62,"label":1771,"hidden":91,"created_on":944,"icon":1785,"translations":1786},{"id":1773},[1787,1788,1789,1790],{"id":22,"languages_code":925,"label":1771},{"id":1777,"languages_code":927,"label":1778},{"id":1780,"languages_code":930,"label":1781},{"id":496,"languages_code":933,"label":1771},[1792],{"id":62,"status":4,"sort":8,"label":1729,"alternative_label":1729,"slug":1793,"description":1794,"documentation_link":662,"loc_icon":1733,"is_official_plugin":93,"is_universal_plugin":91,"universal_plugin_vendor":8,"translations":1795},"official-plugin","Our developers maintain an official plugin for this integration. Start in a few clicks!",[1796,1797,1800,1801],{"id":62,"languages_code":925,"label":1729,"description":1794,"slug":1793},{"id":214,"languages_code":927,"label":1798,"description":1799,"slug":8},"Plugin Oficial","Nuestros desarrolladores mantienen un plugin oficial para esta integración. ¡Empiece con unos pocos clics!",{"id":205,"languages_code":933,"label":1729,"description":1794,"slug":1793},{"id":400,"languages_code":930,"label":1802,"description":1803,"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":1729,"alternative_label":1729,"slug":1793,"description":1794,"documentation_link":662,"loc_icon":1733,"is_official_plugin":93,"is_universal_plugin":91,"universal_plugin_vendor":8,"translations":1806},[1807,1808,1809,1810],{"id":62,"languages_code":925,"label":1729,"description":1794,"slug":1793},{"id":214,"languages_code":927,"label":1798,"description":1799,"slug":8},{"id":205,"languages_code":933,"label":1729,"description":1794,"slug":1793},{"id":400,"languages_code":930,"label":1802,"description":1803,"slug":8},[],[1813],{"languages_code":925,"name":612,"slug":611,"description":8,"support_type":1762,"meta_title":8,"meta_description":8,"marketing_subtitle":1763,"tile_subtitle":1764,"tile_description":1765,"id":387,"platforms_id":387,"docs_link":1761},{"id":1815,"owner":1816,"created_by":8,"sort":8,"title":1821,"slug":1822,"modified_on":53,"created_on":1823,"pinned":91,"badge":8,"priority":1824,"main_image":1825,"status":4,"tags":1826,"dictionary":1834,"reading_time":1835,"excerpt":-1,"og_title":53,"og_description":53,"og_image":53},"69d78a237ab1270001eddabf",{"id":1817,"first_name":1818,"last_name":53,"slug":1819,"avatar":1820},"606c233dcf7b6a0001d1da93","Petr Hodný","petr-hodny","https:\u002F\u002Fghost.localazy.com\u002Fcontent\u002Fimages\u002F2023\u002F12\u002Fpetr.png","Translation API: Translate your content on the fly with Localazy AI!","translation-api-translate-your-content-on-the-fly-with-localazy-ai","2026-04-24T09:27:26.000+02:00","0.7","https:\u002F\u002Fghost.localazy.com\u002Fcontent\u002Fimages\u002F2026\u002F04\u002FLocalazy-AI-translation-api.png",[1827,1829,1832],{"id":387,"created_on":1828,"status":4,"label":722,"slug":726,"on_index_page":91},"2026-05-28 17:46:39",{"id":338,"created_on":1828,"status":4,"label":1830,"slug":1831,"on_index_page":93},"AI","ai",{"id":387,"created_on":1828,"status":4,"label":287,"slug":1833,"on_index_page":93},"localization",[],0,{"id":1837,"owner":1838,"created_by":8,"sort":8,"title":1839,"slug":1840,"modified_on":53,"created_on":1841,"pinned":91,"badge":8,"priority":1824,"main_image":1842,"status":4,"tags":1843,"dictionary":1850,"reading_time":1835,"excerpt":-1,"og_title":53,"og_description":53,"og_image":53},"69ea1abb7ab1270001ede902",{"id":1817,"first_name":1818,"last_name":53,"slug":1819,"avatar":1820},"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",[1844,1845,1849],{"id":338,"created_on":1828,"status":4,"label":1830,"slug":1831,"on_index_page":93},{"id":1846,"created_on":1828,"status":4,"label":1847,"slug":1848,"on_index_page":91},646,"Business Development","business-development",{"id":387,"created_on":1828,"status":4,"label":287,"slug":1833,"on_index_page":93},[],{"content":1852,"sections":1944,"docsInSection":2067,"defaultSearchItems":3274,"relatedBlogArticles":3275},{"doc":1853,"originalContent":1861,"originalExcerpt":1860,"placeholders":1883},{"id":1854,"status":4,"sort":8,"owner":1855,"created_on":1856,"modified_on":1857,"slug":1858,"title":1859,"excerpt":1860,"content":1861,"meta_title":8,"meta_description":8,"pinned":91,"main_image":8,"section":1862,"subsection":1869,"cta":8,"faq":1873,"dictionary":1875,"blog_articles":1877,"translations":1879,"documentation_id":1854},212,"4d38dee1-a9d9-4a00-a57d-3ced2b7cb39c","2023-10-04T15:46:16.000Z","2024-12-03T20:44:08.000Z","quick-start-intercom","Quick Start - Intercom","Connect your Intercom workspace with Localazy and start translating your Help Center.","### Intercom Localization with Localazy\n\nTranslate your Intercom content effortlessly. Set up the integration once, define your localization workflow, and minimize the time spent managing translations.\n\n:::info\nIntercom is a customer communication platform that provides tools for managing customer interactions, support tickets, and help center content.\n:::\n\n### Intercom Translation Features at a Glance\n\n- Localization of Help Center articles and collections.\n- Manual content import before translation.\n- Manual content export after translation.\n\n### Install the Intercom Integration\n\nFollow these steps to integrate Intercom with Localazy:\n\n1. Click the **Install** button to install the integration.\n\n2. In the integration interface, click on the **Connect Intercom Account** button. This will open a new browser tab.\n\n3. Log in using your Intercom credentials. If you're already logged in, this step will be skipped automatically.\n   \n4. Click the **Authorize Access** button to grant permissions. The tab will close automatically, and your Intercom account details will appear in the original window.\n\n\u003Cimg src=\"https:\u002F\u002Fdirectus9.localazy.com\u002Fassets\u002Faf0a837b-08c6-4a68-9204-239844550c6a.gif\" alt=\"Connect Intercom\" width=\"800\" height=\"493\" style=\"width: 100%; height: 100%; max-width: 800px;\">\n\n### Manual Content Import\n\n1. Open the **Intercom** integration interface and make sure you're connected to your Intercom account.\n\n2. Click the **Import to Localazy** tab.\n\n3. Click the **Start Import** button to start the import process.\n\n![Import](https:\u002F\u002Fdirectus9.localazy.com\u002Fassets\u002Fb4444e72-7cdc-4967-aa8f-28fbb39143d7.png)\n\n### Manual Content Export\n\n1. Open the **Intercom** integration interface and make sure you're connected to your Intercom account.\n\n2. Click the **Export to Intercom** tab.\n\n3. Click the **Start Export** button to start the export process.\n\n![Export](https:\u002F\u002Fdirectus9.localazy.com\u002Fassets\u002F5a53fb24-a311-43c7-942e-c0a05002668f.png)\n\n### Settings\n\nOptional choices are available for users to adjust the import and export process.\n\n**Import to Localazy**\n\nThe following options are available for importing translations from Intercom into Localazy.\n\n\u003Cdl>\n  \u003Cdt>\u003Cstrong>Skip Empty Entries Import\u003C\u002Fstrong>\u003C\u002Fdt>\n  \u003Cdd>Prevent the import of empty translation keys.\u003C\u002Fdd>\n  \u003Cdt>\u003Cstrong>Import Existing Entries\u003C\u002Fstrong>\u003C\u002Fdt>\n  \u003Cdd>Import existing translations from Intercom to Localazy.\u003C\u002Fdd>\n  \u003Cdt>\u003Cstrong>Set Intercom as Source of Truth\u003C\u002Fstrong>\u003C\u002Fdt>\n  \u003Cdd>Import all translations and set them as the current version. By default, Localazy doesn't overwrite existing current versions for translations and lets you decide through the review process.\u003C\u002Fdd>\n\u003C\u002Fdl>\n\n**Export to Intercom**\n\nThe following options are available for exporting translations from Localazy to Intercom.\n\n\u003Cdl>\n  \u003Cdt>\u003Cstrong>Export new as source\u003C\u002Fstrong>\u003C\u002Fdt>\n  \u003Cdd>Export new article languages to Intercom with the same status as the source.\u003C\u002Fdd>\n  \u003Cdt>\u003Cstrong>Export new as draft\u003C\u002Fstrong>\u003C\u002Fdt>\n  \u003Cdd>Export new article languages to Intercom as a draft.\u003C\u002Fdd>\n  \u003Cdt>\u003Cstrong>Export new as published\u003C\u002Fstrong>\u003C\u002Fdt>\n  \u003Cdd>Export new article languages to Intercom as published.\u003C\u002Fdd>\n\u003C\u002Fdl>\n\n![Settings](https:\u002F\u002Fdirectus9.localazy.com\u002Fassets\u002Ff08e976e-2a5b-4bbc-8eac-606c3fef1f61.png)\n",["Reactive",1863],{"id":266,"status":4,"sort":43,"created_on":1864,"slug":843,"name":520,"subtitle":1865,"meta_title":8,"meta_description":8,"hidden":93,"icon":1866,"featured_icon":1867},"2022-03-17T12:23:29.000Z","Quick starts, Setup examples, Integration types,...",{"id":715},{"id":1868},"881c489b-4835-44ea-94b7-bda62cc57d6c",["Reactive",1870],{"id":214,"status":4,"sort":433,"created_on":1871,"name":1872},"2022-03-18T07:38:52.000Z","Quick starts",["Reactive",1874],[],["Reactive",1876],[],["Reactive",1878],[],["Reactive",1880],[1881],{"id":1882,"documentation_id":1854,"languages_code":925,"slug":1858,"title":1859,"content":1861,"meta_title":8,"meta_description":8,"excerpt":1860},211,[1884,1887,1890,1893,1896,1899,1902,1905,1908,1911,1914,1917,1920,1923,1927,1930,1933,1937,1941],{"key":1885,"value":1886,"note":8},"___GRADLE_DEPENDENCY___","com.localazy:gradle:1.5.4",{"key":1888,"value":1889,"note":8},"___LIBRARY_VERSION___","1.2.1",{"key":1891,"value":1892,"note":8},"___REPOSITORY_URL___","https:\u002F\u002Fmaven.localazy.com\u002Frepository\u002Frelease\u002F",{"key":1894,"value":1895,"note":8},"___URL_DOCS___","https:\u002F\u002Flocalazy.com\u002Fdocs",{"key":1897,"value":1898,"note":8},"___URL_DOCS_ANDROID_LIBRARY___","https:\u002F\u002Flocalazy.com\u002Fdocs\u002Fandroid\u002Flocalazy-android-library",{"key":1900,"value":1901,"note":8},"___URL_DOCS_ANDROID_GRADLE___","https:\u002F\u002Flocalazy.com\u002Fdocs\u002Fandroid\u002Flocalazy-gradle-plugin",{"key":1903,"value":1904,"note":8},"___URL_DOCS_WHAT_SHOULD_YOU_KNOW___","https:\u002F\u002Flocalazy.com\u002Fdocs\u002Fandroid\u002Fwhat-you-should-know-before-uploading-your-android-strings",{"key":1906,"value":1907,"note":8},"___CLI_VERSION___","v2.0.11",{"key":1909,"value":1910,"note":8},"___USER_WRITE_KEY___","your-write-key",{"key":1912,"value":1913,"note":8},"___USER_READ_KEY___","your-read-key",{"key":1915,"value":1916,"note":8},"___CLI_LINKS___","  ",{"key":1918,"value":1919,"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":1921,"value":1922,"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":1924,"value":1925,"note":1926},"___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":1928,"value":1929,"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":1931,"value":1932,"note":8},"___GRADLE_DEPENDENCY_V2___","com.localazy:gradle:2.0.3",{"key":1934,"value":1935,"note":1936},"___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":1938,"value":1939,"note":1940},"___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":1942,"value":1943,"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",[1945,1955,1967,1977,1991,2002,2013,2022,2033,2045,2060],{"id":16,"status":4,"sort":7,"created_on":1864,"slug":701,"name":696,"excerpt":1946,"subtitle":1947,"meta_title":1948,"meta_description":1949,"hidden":91,"icon":1950,"featured_icon":1951,"translations":1952,"blog_tags":1954,"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":703},{"id":706},[1953],{"id":16,"languages_code":925,"name":696,"excerpt":1946,"subtitle":1947,"slug":701,"meta_title":1948,"meta_description":1949,"docs_section_id":16},[],{"id":22,"status":4,"sort":16,"created_on":1864,"slug":479,"name":710,"excerpt":1956,"subtitle":1957,"meta_title":1958,"meta_description":1959,"hidden":91,"icon":1960,"featured_icon":1961,"translations":1962,"blog_tags":1964,"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":715},{"id":718},[1963],{"id":22,"languages_code":925,"name":710,"excerpt":1956,"subtitle":1957,"slug":479,"meta_title":1958,"meta_description":1959,"docs_section_id":22},[1965],{"id":214,"status":4,"created_on":1966,"label":710,"slug":479,"on_index_page":91},"2022-03-17T12:22:58.000Z",{"id":129,"status":4,"sort":22,"created_on":1864,"slug":726,"name":722,"excerpt":1968,"subtitle":1969,"meta_title":8,"meta_description":8,"hidden":91,"icon":1970,"featured_icon":1971,"translations":1972,"blog_tags":1974,"docs_section_id":129},"Localazy API reference, organized around REST. Articles about limits, endpoints and more.","API Documentation",{"id":715},{"id":729},[1973],{"id":129,"languages_code":925,"name":722,"excerpt":1968,"subtitle":1969,"slug":726,"meta_title":8,"meta_description":8,"docs_section_id":129},[1975],{"id":330,"status":4,"created_on":1976,"label":722,"slug":726,"on_index_page":91},"2022-03-17T12:22:59.000Z",{"id":186,"status":4,"sort":98,"created_on":1978,"slug":738,"name":734,"excerpt":1979,"subtitle":1980,"meta_title":1981,"meta_description":1982,"hidden":91,"icon":1983,"featured_icon":1984,"translations":1985,"blog_tags":1987,"docs_section_id":186},"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":703},{"id":741},[1986],{"id":186,"languages_code":925,"name":734,"excerpt":1979,"subtitle":1980,"slug":738,"meta_title":1981,"meta_description":1982,"docs_section_id":186},[1988],{"id":1989,"status":4,"created_on":1990,"label":734,"slug":738,"on_index_page":91},69,"2023-02-21T14:08:07.000Z",{"id":7,"status":4,"sort":50,"created_on":1864,"slug":532,"name":533,"excerpt":1992,"subtitle":1993,"meta_title":1994,"meta_description":1995,"hidden":91,"icon":1996,"featured_icon":1997,"translations":1998,"blog_tags":2000,"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":749},{"id":751},[1999],{"id":7,"languages_code":925,"name":533,"excerpt":1992,"subtitle":1993,"slug":532,"meta_title":1994,"meta_description":1995,"docs_section_id":7},[2001],{"id":98,"status":4,"created_on":1966,"label":533,"slug":532,"on_index_page":91},{"id":98,"status":4,"sort":57,"created_on":1864,"slug":539,"name":540,"excerpt":2003,"subtitle":2004,"meta_title":8,"meta_description":8,"hidden":91,"icon":2005,"featured_icon":2006,"translations":2007,"blog_tags":2009,"docs_section_id":98},"Platform specific articles about iOS apps in Localazy.","Swift SDK Documentation",{"id":759},{"id":762},[2008],{"id":98,"languages_code":925,"name":540,"excerpt":2003,"subtitle":2004,"slug":539,"meta_title":8,"meta_description":8,"docs_section_id":98},[2010],{"id":2011,"status":4,"created_on":2012,"label":540,"slug":539,"on_index_page":93},77,"2023-05-25T12:44:11.000Z",{"id":433,"status":4,"sort":62,"created_on":1864,"slug":611,"name":612,"excerpt":2014,"subtitle":2015,"meta_title":8,"meta_description":8,"hidden":91,"icon":2016,"featured_icon":2017,"translations":2018,"blog_tags":2020,"docs_section_id":433},"Start localizing your designs fast and easy with Figma design tool and Figma Plugin by Localazy","Figma Plugin",{"id":715},{"id":771},[2019],{"id":433,"languages_code":925,"name":612,"excerpt":2014,"subtitle":2015,"slug":611,"meta_title":8,"meta_description":8,"docs_section_id":433},[2021],{"id":347,"status":4,"created_on":1976,"label":612,"slug":611,"on_index_page":93},{"id":214,"status":4,"sort":67,"created_on":2023,"slug":604,"name":605,"excerpt":2024,"subtitle":2025,"meta_title":8,"meta_description":8,"hidden":91,"icon":2026,"featured_icon":2027,"translations":2028,"blog_tags":2030,"docs_section_id":214},"2022-06-08T13:03:58.000Z","Automate the localization of your Strapi project with the Strapi localization plugin by Localazy","Strapi Plugin",{"id":778},{"id":780},[2029],{"id":214,"languages_code":925,"name":605,"excerpt":2024,"subtitle":2025,"slug":604,"meta_title":8,"meta_description":8,"docs_section_id":214},[2031],{"id":951,"status":4,"created_on":2032,"label":605,"slug":604,"on_index_page":93},"2022-06-29T00:01:26.000Z",{"id":164,"status":4,"sort":72,"created_on":2034,"slug":2035,"name":2036,"excerpt":2037,"subtitle":2038,"meta_title":8,"meta_description":8,"hidden":91,"icon":2039,"featured_icon":2041,"translations":2042,"blog_tags":2044,"docs_section_id":164},"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":2040},"b6669e8d-6702-4aa1-8e4f-978f9028c332",{"id":2040},[2043],{"id":164,"languages_code":925,"name":2036,"excerpt":2037,"subtitle":2038,"slug":2035,"meta_title":8,"meta_description":8,"docs_section_id":164},[],{"id":181,"status":4,"sort":29,"created_on":2046,"slug":2047,"name":2048,"excerpt":2049,"subtitle":2050,"meta_title":8,"meta_description":8,"hidden":91,"icon":2051,"featured_icon":2053,"translations":2055,"blog_tags":2057,"docs_section_id":181},"2022-07-18T13:27:47.000Z","zapier","Zapier","Connect Localazy with over 5000 apps with Zapier.","Integration Platform",{"id":2052},"a1fda7c9-4e8c-48f4-99ec-a111db6a6daa",{"id":2054},"0a5546c4-adbc-4636-8695-32867837e97d",[2056],{"id":181,"languages_code":925,"name":2048,"excerpt":2049,"subtitle":2050,"slug":2047,"meta_title":8,"meta_description":8,"docs_section_id":181},[2058],{"id":1250,"status":4,"created_on":2059,"label":2048,"slug":2047,"on_index_page":91},"2022-08-16T13:54:46.000Z",{"id":266,"status":4,"sort":43,"created_on":1864,"slug":843,"name":520,"excerpt":2061,"subtitle":1865,"meta_title":8,"meta_description":8,"hidden":93,"icon":2062,"featured_icon":2063,"translations":2064,"blog_tags":2066,"docs_section_id":266},"Learn how to connect Localazy to your favourite platform or framework.",{"id":715},{"id":1868},[2065],{"id":266,"languages_code":925,"name":520,"excerpt":2061,"subtitle":1865,"slug":843,"meta_title":8,"meta_description":8,"docs_section_id":266},[],[2068,2086,2104,2141,2178,2196,2213,2230,2240,2258,2303,2321,2339,2354,2371,2387,2404,2440,2457,2475,2495,2511,2530,2550,2579,2597,2616,2635,2654,2673,2691,2717,2737,2759,2775,2794,2812,2830,2846,2863,2879,2897,2940,2967,2985,3004,3023,3061,3078,3096,3129,3145,3161,3180,3238,3256],{"id":2069,"status":4,"sort":8,"created_on":2070,"modified_on":2071,"slug":2072,"title":2073,"excerpt":2074,"content":2075,"meta_title":8,"meta_description":8,"pinned":91,"main_image":8,"section":2076,"subsection":2079,"cta":8,"faq":2080,"dictionary":2081,"translations":2082,"documentation_id":2069,"blog_articles":2085},232,"2024-03-26T15:35:21.000Z","2026-04-17T09:36:17.000Z","quick-start-github-actions","Quick Start - GitHub Actions","Automate uploading source strings and downloading translations with Localazy using GitHub Actions.","## What you'll need\n\nThis guide uses **Localazy's GitHub Actions** ([Upload](https:\u002F\u002Fgithub.com\u002Fmarketplace\u002Factions\u002Flocalazy-upload) and [Download](https:\u002F\u002Fgithub.com\u002Fmarketplace\u002Factions\u002Flocalazy-download)) to run localization steps in your CI\u002FCD pipeline.\n\nEnsure your strings are already externalized in a [supported file format](https:\u002F\u002Flocalazy.com\u002Fdocs\u002Fcli\u002Fupload-reference#supported-file-formats)\n\nStore your Localazy `writeKey` and `readKey` as GitHub repository secrets (`LOCALAZY_WRITE_KEY` and `LOCALAZY_READ_KEY`) instead of putting them in the config file. Add them under **Settings > Secrets and variables > Actions**.\n\n```\nLOCALAZY_WRITE_KEY: \"___USER_WRITE_KEY___\"\n```\n\n```\nLOCALAZY_READ_KEY: \"___USER_READ_KEY___\"\n```\n## Set up the Localazy configuration file\n\nCreate a `localazy.json` in your project root:\n\n```json\n{\n  \"upload\": {\n    \"type\": \"json\",\n    \"files\": \"locales\u002Fen.json\"\n  },\n  \"download\": {\n    \"files\": \"locales\u002F${lang}.json\"\n  }\n}\n```\n\n## Upload source files\n\nCreate `.github\u002Fworkflows\u002Flocalazy-upload.yml`:\n\n```yaml\nname: Upload source strings to Localazy\non:\n  push:\n    branches: [main]\njobs:\n  upload:\n    runs-on: ubuntu-latest\n    steps:\n      - uses: actions\u002Fcheckout@v4\n      - uses: localazy\u002Fupload@v1\n        with:\n          write_key: ${{ secrets.LOCALAZY_WRITE_KEY }}\n          read_key: ${{ secrets.LOCALAZY_READ_KEY }}\n```\n\nUploads your source language file to Localazy on every push to `main`.\n\n## Download translated files\n\nCreate `.github\u002Fworkflows\u002Flocalazy-download.yml`:\n\n```yaml\nname: Download translations from Localazy\non: workflow_dispatch\njobs:\n  download:\n    runs-on: ubuntu-latest\n    steps:\n      - uses: actions\u002Fcheckout@v4\n      - uses: localazy\u002Fdownload@v1\n        with:\n          write_key: ${{ secrets.LOCALAZY_WRITE_KEY }}\n          read_key: ${{ secrets.LOCALAZY_READ_KEY }}\n      - uses: stefanzweifel\u002Fgit-auto-commit-action@v5\n        with:\n          commit_message: \"Update translations from Localazy [skip ci]\"\n```\n\nDownloads all available translations and commits them to your repository. The `workflow_dispatch` trigger lets you run it manually from the Actions tab. The `[skip ci]` in the commit message prevents the download commit from re-triggering other workflows. \n\nYou can automate this any way you want later, e.g. download translations at the beggining of your full build pipeline.\n\n## Next steps\n\n- Translate your strings in the [Localazy dashboard](https:\u002F\u002Flocalazy.com\u002Fmy\u002Fdashboard), then run the download workflow to pull them into your repo.\n- If you have trouble integrating, contact us at [team@localazy.com](mailto:team@localazy.com).\n- Reference: [Upload Action](https:\u002F\u002Fgithub.com\u002Fmarketplace\u002Factions\u002Flocalazy-upload), [Download Action](https:\u002F\u002Fgithub.com\u002Fmarketplace\u002Factions\u002Flocalazy-download), [CLI documentation](https:\u002F\u002Flocalazy.com\u002Fdocs\u002Fcli\u002Fthe-basics).\n- For a deeper walkthrough including webhooks and advanced workflows, see [Automated Localization: GitHub Actions ❤ Localazy](https:\u002F\u002Flocalazy.com\u002Fblog\u002Fautomated-localization-github-actions-localazy).\n",{"id":266,"status":4,"sort":43,"created_on":1864,"slug":843,"name":520,"subtitle":1865,"meta_title":8,"meta_description":8,"hidden":93,"icon":2077,"featured_icon":2078},{"id":715},{"id":1868},{"id":214,"status":4,"sort":433,"created_on":1871,"name":1872},[],[],[2083],{"id":2084,"documentation_id":2069,"languages_code":925,"slug":2072,"title":2073,"content":2075,"meta_title":8,"meta_description":8,"excerpt":2074},229,[],{"id":2087,"status":4,"sort":8,"created_on":2088,"modified_on":2089,"slug":2090,"title":2091,"excerpt":2092,"content":2093,"meta_title":8,"meta_description":8,"pinned":91,"main_image":8,"section":2094,"subsection":2097,"cta":8,"faq":2098,"dictionary":2099,"translations":2100,"documentation_id":2087,"blog_articles":2103},271,"2026-04-14T19:01:44.000Z","2026-04-14T19:14:03.000Z","quick-start-translation-api","Quick Start - Translation API","Translate you strings directly using Localazy AI without uploading them into Localazy.\n","## Introduction\n\n**Get your token**\nTo generate a token, go to the [Developer Console](\u002Fconsole\u002Ftokens) in Localazy and create a token under **Access Tokens**. \n\n**Find your project ID**\nCall `\u002Fprojects` endpoint and retrieve your **project id** that is needed for most endpoints.\n```bash\ncurl --request GET \\\n  --url 'https:\u002F\u002Fapi.localazy.com\u002Fprojects' \\\n  --header 'Authorization: Bearer \u003Cproject-token>'\n```\n\n- Learn more about [token types and Localazy API authentication](\u002Fdocs\u002Fapi\u002Fauthentication). \n\n## Localazy AI Translation API\n**The AI Translation API lets you translate strings programmatically using Localazy AI. These strings won't be uploaded into your project.**\n\nFor this use case, a **translation token** is recommended — it has a narrower scope and is safer to use in application code.\n\n### Credits\n\nEach request consumes [Localazy credits](\u002Fdocs\u002Fgeneral\u002Flocalazy-credits) based on the number of words translated. You can check your balance and top up new credits in the Localazy dashboard under **[Organization billing → Services](\u002Fmy\u002Fservices\u002Ftranslation-services)**.\n\n\n### Set up your context (style guide & glossary)\n\nThe API automatically picks up your project's [style guide](\u002Fdocs\u002Fgeneral\u002Fstyle-guide) and [glossary](\u002Fdocs\u002Fgeneral\u002Fhow-to-define-your-glossary) when generating translations. No extra parameters needed, just make sure they're configured in your Localazy project before you start sending requests.\n\n- **Style guide** defines tone, formality, and writing rules (e.g., avoid passive voice, use informal register). \n- **Glossary** locks specific terms to their approved translations (e.g., \"Dashboard\" always translates as \"Dashboard\", not \"Tableau de bord\").\n\nIf your project already has these configured, the AI uses them automatically. If not, this is a good moment to set them up, they make a noticeable difference in consistency.\n\n### Send a translation request\n\n```bash\ncurl --request POST \\\n  --url https:\u002F\u002Fapi.localazy.com\u002Fprojects\u002F{projectId}\u002Fai \\\n  --header 'Authorization: Bearer {your_token}' \\\n  --header 'Content-Type: application\u002Fjson' \\\n  --data '{\n    \"from\": \"en\",\n    \"to\": \"de\",\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`from` and `to` are locale codes (e.g. `en`, `de`, `cs`, `ja`). `items` is an array of strings to translate — you can send up to 32 per request.\n\n- [Full API reference: AI Translation](\u002Fdocs\u002Fapi\u002Fai-translation-api)\n\n\n---\n\n## Management API\n\n**You can also upload strings into the Localazy project using our API to manage them over time** \n\n- For more import options, check the [API Import](https:\u002F\u002Flocalazy.com\u002Fdocs\u002Fapi\u002Fimport) article.\n- Learn how to download your files in the [API Files](https:\u002F\u002Flocalazy.com\u002Fdocs\u002Fapi\u002Ffiles) article.\n\n\n---\n",{"id":266,"status":4,"sort":43,"created_on":1864,"slug":843,"name":520,"subtitle":1865,"meta_title":8,"meta_description":8,"hidden":93,"icon":2095,"featured_icon":2096},{"id":715},{"id":1868},{"id":214,"status":4,"sort":433,"created_on":1871,"name":1872},[],[],[2101],{"id":2102,"documentation_id":2087,"languages_code":925,"slug":2090,"title":2091,"content":2093,"meta_title":8,"meta_description":8,"excerpt":2092},1423,[],{"id":2105,"status":4,"sort":8,"created_on":2106,"modified_on":2107,"slug":2108,"title":2109,"excerpt":2110,"content":2111,"meta_title":8,"meta_description":8,"pinned":91,"main_image":8,"section":2112,"subsection":2115,"cta":8,"faq":2116,"dictionary":2136,"translations":2137,"documentation_id":2105,"blog_articles":2140},247,"2024-10-16T07:40:47.000Z","2026-03-09T15:03:14.000Z","quick-start-webflow","Quick Start - Webflow","Connect your Webflow account with your Localazy project to start translating your website.","### Webflow Localization with Localazy\n\nTranslate your Webflow content effortlessly. Set up the integration once, define your localization workflow, and minimize the time spent managing translations.\n\n:::info\nWebflow is a visual web design platform, CMS, and hosting provider for building production websites and e-commerce stores.\n:::\n\n### Webflow Translation Features at a Glance\n\n- Localization of Sites and Collections.\n- Manual content import before translation.\n- Manual content export after translation.\n\n:::info\nTo use this integration, you must have the \u003Ca href=\"https:\u002F\u002Fwebflow.com\u002Flocalization\" target=\"_blank\">Webflow Localization Subscription Plan\u003C\u002Fa>.\n:::\n\n:::warning\nUnfortunately, Webflow API does not provide a way to update the translations of **ecommerce collection items** and **dynamic components**, so they are not supported. The integration is limited by what Webflow allows us to export\u002Fimport via their API.\n:::\n\n### Install the Webflow Integration\n\nFollow these steps to integrate Webflow with Localazy:\n\n1. Click the **Install** button to install the integration.\n\n2. In the integration interface, click on the **Connect Webflow Account** button. This will open a new browser tab.\n\n3. Log in using your Webflow credentials. If you're already logged in, this step will be skipped automatically.\n\n4. Choose the website you want to link with Localazy. Note that each Localazy project can be connected to only one Webflow website.\n\n5. Click the **Authorize App** button to grant permissions. The tab will close automatically, and your Webflow account details will appear in the original window.\n\n:::info\nIf multiple websites are selected, you will be prompted to pick one before completing the connection.\n:::\n\n\u003Cimg src=\"https:\u002F\u002Fdirectus9.localazy.com\u002Fassets\u002F40a9e3f0-0043-4520-86d2-4593eb386426.gif\" alt=\"Connect Webflow\" width=\"800\" height=\"493\" style=\"width: 100%; height: 100%; max-width: 800px;\">\n\n### Manual Content Import\n\n1. Open the **Webflow** integration interface and make sure you're connected to your Webflow account.\n\n2. Click the **Import to Localazy** tab.\n\n3. Click the **Start Import** button to start the import process.\n\n![Import](https:\u002F\u002Fdirectus9.localazy.com\u002Fassets\u002Fff8aaecd-90aa-4174-8674-b96a1f4d6d5f.png)\n\n### Manual Content Export\n\n1. Open the **Webflow** integration interface and make sure you're connected to your Webflow account.\n\n2. Click the **Export to Webflow** tab.\n\n3. Click the **Start Export** button to start the export process.\n\n![Export](https:\u002F\u002Fdirectus9.localazy.com\u002Fassets\u002F71abd741-5d79-4fdf-8940-9b25894acf72.png)\n\n### Settings\n\nOptional choices are available for users to adjust the import and export process.\n\n**Import to Localazy**\n\nThe following options are available for importing translations from Webflow into Localazy.\n\n\u003Cdl>\n  \u003Cdt>\u003Cstrong>Skip Empty Entries Import\u003C\u002Fstrong>\u003C\u002Fdt>\n  \u003Cdd>Prevent the import of empty translation keys.\u003C\u002Fdd>\n  \u003Cdt>\u003Cstrong>Import Existing Entries\u003C\u002Fstrong>\u003C\u002Fdt>\n  \u003Cdd>Import existing translations from Webflow to Localazy.\u003C\u002Fdd>\n  \u003Cdt>\u003Cstrong>Set Webflow as Source of Truth\u003C\u002Fstrong>\u003C\u002Fdt>\n  \u003Cdd>Import all translations and set them as the current version. By default, Localazy doesn't overwrite existing current versions for translations and let you decide through the review process.\u003C\u002Fdd>\n\u003C\u002Fdl>\n\n**Export to Webflow**\n\nThe following options are available for exporting translations from Localazy to Webflow.\n\n\u003Cdl>\n  \u003Cdt>\u003Cstrong>Export new as source\u003C\u002Fstrong>\u003C\u002Fdt>\n  \u003Cdd>Export new articles languages to Webflow with the same status as the source.\u003C\u002Fdd>\n  \u003Cdt>\u003Cstrong>Export new as draft\u003C\u002Fstrong>\u003C\u002Fdt>\n  \u003Cdd>Export new articles languages to Webflow as a draft.\u003C\u002Fdd>\n  \u003Cdt>\u003Cstrong>Export new as published\u003C\u002Fstrong>\u003C\u002Fdt>\n  \u003Cdd>Export new articles languages to Webflow as published.\u003C\u002Fdd>\n\u003C\u002Fdl>\n\n![Settings](https:\u002F\u002Fdirectus9.localazy.com\u002Fassets\u002F14985d02-476f-466e-ad2e-1bd0947c4f7d.png)\n",{"id":266,"status":4,"sort":43,"created_on":1864,"slug":843,"name":520,"subtitle":1865,"meta_title":8,"meta_description":8,"hidden":93,"icon":2113,"featured_icon":2114},{"id":715},{"id":1868},{"id":214,"status":4,"sort":433,"created_on":1871,"name":1872},[2117,2128],{"id":2118,"status":4,"title":2119,"content":2120,"slug":2121,"created_on":2122,"modified_on":2123,"owner":1855,"meta_title":8,"category":2124},415,"Can Localazy translate draft Webflow content or does it only work with published content?","By default, Localazy exports translations with the same status as the source item (draft\u002Fpublished). You can change it to export all translations as drafts in the Settings.\n\n![](https:\u002F\u002Fdirectus9.localazy.com\u002Fassets\u002F67968947-83e2-4c01-9c5a-6403edaa1d68)","can-localazy-translate-draft-webflow-content-or-does-it-only-work-with-published-content","2025-01-30T14:41:01.000Z","2025-01-30T14:41:06.000Z",{"id":602,"status":4,"created_on":2125,"sort":8,"slug":2126,"label":2127,"on_faq_index":8},"2024-11-08T10:51:07.000Z","webflow-localization","Webflow Localization",{"id":2129,"status":4,"title":2130,"content":2131,"slug":2132,"created_on":2133,"modified_on":2134,"owner":1855,"meta_title":8,"category":2135},401,"Can I translate dynamic components and e-commerce collection in Webflow with Localazy?","Unfortunately, Webflow API does not provide a way to update the translations of ecommerce collection items and dynamic components, so they are not supported. The integration is limited by what Webflow allows us to export\u002Fimport via their API. \n\nYou can try the integration during your [14-day free trial](\u002Fpricing) and see if it works for your site. \n\n","can-i-translate-dynamic-components-in-webflow-with-localazy","2024-11-08T11:15:05.000Z","2025-01-30T14:41:22.000Z",{"id":602,"status":4,"created_on":2125,"sort":8,"slug":2126,"label":2127,"on_faq_index":8},[],[2138],{"id":2139,"documentation_id":2105,"languages_code":925,"slug":2108,"title":2109,"content":2111,"meta_title":8,"meta_description":8,"excerpt":2110},1369,[],{"id":2142,"status":4,"sort":8,"created_on":2143,"modified_on":2144,"slug":2145,"title":2146,"excerpt":2147,"content":2148,"meta_title":8,"meta_description":8,"pinned":91,"main_image":8,"section":2149,"subsection":2152,"cta":8,"faq":2153,"dictionary":2165,"translations":2174,"documentation_id":2142,"blog_articles":2177},265,"2026-02-20T08:02:45.000Z","2026-02-25T11:12:45.000Z","quick-start-articulate-360","Quick Start - Rise Articulate 360","Translate your Articulate Rise 360 courses by exporting XLIFF files, processing them in Localazy, and importing them back — keeping your course structure intact throughout.","## Prepare your Rise 360 course\n\n**Duplicate the course** for each target language before exporting. Open your source course, duplicate it (e.g., *Course\\_DE*, *Course\\_FR*), and keep the original untouched.\n\n**Export XLIFF files** from each duplicate — Rise 360 splits content into two separate files:\n\n*Course content:*\n1. Open the duplicated course and go to **Settings > Translations**.\n2. Click **Export XLIFF file**.\n3. Enable **Include HTML formatting**.\n4. Save to your computer.\n\n*UI labels:*\n1. In the same course, go to **Settings > Labels**.\n2. Click **Export labels as XLIFF**.\n3. Save separately.\n\nYou'll end up with two files per course: `content.xliff` and `labels.xliff`. Repeat this for each language duplicate.\n\n:::info\n⚠️  **Note:** Each course duplicate will generate a different source file, translating one course's content and uploading it into a duplicated course will not work, because Articulate generates different key IDs for each course! Always prepare a duplicate course and download its files before translating it.\n:::\n\n## Upload to Localazy\n\n1. Upload both XLIFF files into the project.\n3. When prompted, select **Articulate Rise 360 XLIFF** as the file format\n4. Add your target language to the project.\n\nLocalazy will parse the files and extract all translatable strings while preserving Rise 360's structure.\n\n## Read the full guide\n\nRead the full guide on **[How to translate Articulate Rise 360 courses with Localazy](https:\u002F\u002Flocalazy.com\u002Fblog\u002Fhow-to-translate-articulate-rise-360-courses-with-localazy)**\n\nThe guide covers:\n1. Translating your content \n2. Validating the translation\n3. Exporting the translated content\n4. Importing it back to Articulate 360\n5. Tips and best practices \n\n",{"id":266,"status":4,"sort":43,"created_on":1864,"slug":843,"name":520,"subtitle":1865,"meta_title":8,"meta_description":8,"hidden":93,"icon":2150,"featured_icon":2151},{"id":715},{"id":1868},{"id":214,"status":4,"sort":433,"created_on":1871,"name":1872},[2154],{"id":2155,"status":4,"title":2156,"content":2157,"slug":2158,"created_on":2159,"modified_on":2160,"owner":1855,"meta_title":8,"category":2161},317,"How to translate Articulate Rise 360 courses with Localazy?","To translate your Articulate Rise 360 course content, follow these steps:\n\n1. **Duplicate Your Content**:  Duplicate the content you want to translate. Each duplicate becomes a translated version. For multiple languages, create a copy for each.\n\n2. **Export Content as XLIFF**:  Open the duplicate content, navigate to *Settings > Translations*, and export as an XLIFF file. We recommend you include the HTML formatting. Save the file to your computer.\n\n3. **Export Labels as XLIFF**: Open the content you want to edit, then click *Settings* in the upper right corner of the screen, and select the *Labels* tab.\n\n4. **Upload All XLIFF Files to Localazy:** [Sign up](\u002Fregister), create a project and [upload your files to Localazy](\u002Fdocs\u002Fgeneral\u002Fimporting-localization-files). \n\n5. **Translate with Localazy:** Add the languages you want to translate your courses into. You can now [translate your course content and labels using the available tools in Localazy](\u002Fdocs\u002Fgeneral\u002Ftranslating-strings), [invite your team](\u002Fdocs\u002Fgeneral\u002Forganizations#invite-teammates) or [order professional translations](\u002Fdocs\u002Fgeneral\u002Fcontinuous-localization-team) directly inside the platform. \n\n6. **Address any errors**, ensuring the file matches the original content. Use [validation checks](\u002Fdocs\u002Fgeneral\u002Fqa-checks) in the translation table to spot any invalid translations. \n\n7. **Download Translated XLIFF Files:** Once your translations are finished, go to the File Management section in Localazy and click *Export & Download* to save the translated files on your device.\n\n8. **Import Translated Files Back to Rise 360**: Open the duplicate content you created in Step 1, go to *Settings > Translations*, and import the translated XLIFF file. For labels, go to the drop-down list at the top of the label editor, click *Upload from XLIFF* and choose the respective files.\n\n> ⚠️ **Note**: Each course duplicate will generate a different source file, translating one course’s content and uploading it into a duplicated course will not work, because Articulate generates different key IDs for each course! Always prepare a duplicate course and download its files before translating it.\n\nRead the full guide **[How to translate Articulate Rise 360 courses with Localazy](https:\u002F\u002Flocalazy.com\u002Fblog\u002Fhow-to-translate-articulate-rise-360-courses-with-localazy)** on the Localazy blog.\n\n\n\n","how-to-translate-articulate-rise-360-courses-with-localazy","2024-01-06T16:45:05.000Z","2026-02-20T09:18:38.000Z",{"id":347,"status":4,"created_on":2162,"sort":8,"slug":2163,"label":2164,"on_faq_index":8},"2024-01-06T16:23:56.000Z","articulate-rise-360-localization","Articulate Rise 360 Localization",[2166],{"id":2167,"status":4,"owner":2168,"created_on":2169,"title":2170,"excerpt":2171,"content":2172,"slug":2173,"meta_title":8,"meta_description":8,"canonical":8},165,"d8c4ae49-7239-4b85-abb6-d1fa80ba09ad","2024-05-24T05:18:43.000Z","Articulate","Articulate is a comprehensive suite of e-learning software that enables the creation of engaging and interactive online courses.","It includes tools like **Storyline 360** and **Rise 360**, which are widely used for developing multimedia-rich, responsive e-learning content.\n\n## Storyline 360\nAllows for highly interactive and customizable course creation with support for quizzes, screen recordings, and multimedia integration. It supports various output formats such as XLIFF, SCORM, xAPI, and AICC, making it compatible with most **Learning Management Systems (LMS)**.\n## Rise 360\nFocuses on simplicity and responsiveness, enabling course developers to create mobile-friendly courses using pre-built templates. It’s ideal for quickly developing professional-looking courses without extensive programming knowledge.\n\n## Benefits:\n**Ease of Use**: Intuitive interfaces in both **Storyline 360** and **Rise 360** make course creation accessible to users of varying technical expertise.\n\n**Flexibility**: Supports a wide range of e-learning standards, ensuring compatibility with different LMS platforms.\n\n**Rich Media Integration**: Facilitates the inclusion of various multimedia elements such as videos, audio, and interactive simulations, enhancing learner engagement.\n\n**Mobile Responsiveness**: Rise 360 ensures that courses are automatically optimized for mobile devices, providing a seamless learning experience across different screen sizes.\n\n**Collaboration**: Features like Review 360 allow for stakeholder feedback and version tracking, streamlining the course development process.\n\n> Articulate courses can be localized using Localazy, a translation management system that simplifies the process of translating and adapting courses for different languages and regions. This ensures that e-learning content is accessible to a global audience.\n\n## Useful links:\n- [Articulate Storyline 360 User Guide](https:\u002F\u002Faccess.articulate.com\u002Fsupport\u002Farticle\u002FStoryline-360-User-Guide)\n- [Publishing and Sharing Content with Articulate](https:\u002F\u002Faccess.articulate.com\u002Fsupport\u002Farticle\u002FStoryline-360-Publishing-and-Sharing-Content)","articulate",[2175],{"id":2176,"documentation_id":2142,"languages_code":925,"slug":2145,"title":2146,"content":2148,"meta_title":8,"meta_description":8,"excerpt":2147},1419,[],{"id":2179,"status":4,"sort":8,"created_on":2180,"modified_on":2181,"slug":2182,"title":2183,"excerpt":2184,"content":2185,"meta_title":8,"meta_description":8,"pinned":91,"main_image":8,"section":2186,"subsection":2189,"cta":8,"faq":2190,"dictionary":2191,"translations":2192,"documentation_id":2179,"blog_articles":2195},219,"2023-12-08T17:38:15.000Z","2025-11-03T14:28:19.000Z","quick-start-android-new","Quick Start - Android ","Use the Localazy Gradle plugin that serves as our SDK for Android. ","## SDK {data-include data-integration-type}\n## About {data-start-include}\nThe plugin is compatible with native Android apps written with **Java, Kotlin**, and other JVM-based languages. Your project must be built using **Gradle** with **the Android Gradle plugin (com.android.tools.build:gradle)**.\n\n## Select your version of the Localazy Gradle Plugin\n Choose your version to start and follow the instructions in the documentation:\n- [Android Gradle Plugin 3.5.0 - 4.2.2](https:\u002F\u002Flocalazy.com\u002Fdocs\u002Fandroid\u002Fagp-3_5-and-newer)\n- [Android Gradle Plugin 7.0+](https:\u002F\u002Flocalazy.com\u002Fdocs\u002Fandroid\u002Fagp-7-and-newer)\n- [Android Gradle Plugin 8.0+](https:\u002F\u002Flocalazy.com\u002Fdocs\u002Fandroid\u002Fagp-8-and-newer)\n\n## Features\n- It integrates tightly with the Android Gradle plugin to understand your project’s structure.\n- It uploads strings, including metadata about flavors, build types, etc., to the translation platform.\n- It integrates the [Localazy Android library](https:\u002F\u002Flocalazy.com\u002Fdocs\u002Fandroid\u002Flocalazy-android-library) into the bytecode of your app so your user can get updated translations on the fly.\n- While building your app, it replaces the app’s resources with updated translations.\n\n## CLI {data-integration-type}\n### XML {data-format}\n\n```javascript form-builder-config\nconfig = {\n  forms: {\n    form1: [\n      {\n        id: 'label',\n        type: 'group',\n        label: 'Options',\n        cssClass: 'col-span-12',\n        children: [\n          { id: 'existing', type: 'checkbox', label: 'Upload existing translations', value: false, cssClass: 'sm:col-span-6 col-span-12' },\n          { id: 'multiModule', type: 'checkbox', label: 'Multiple modules', value: false, cssClass: 'sm:col-span-6 col-span-12' },\n          { id: 'flavorsTypes', type: 'checkbox', label: 'Flavors & Build Types', value: false, cssClass: 'sm:col-span-6 col-span-12' },\n          { id: 'downloadSource', type: 'checkbox', label: 'Download source language', value: false, cssClass: 'sm:col-span-6 col-span-12' },\n          { id: 'convertIos', type: 'checkbox', label: 'Convert to iOS', cssClass: 'sm:col-span-6 col-span-12' },\n        ]\n      },\n      { id: 'appModule', type: 'input', label: 'App module path', value: 'app', cssClass: 'col-span-12', disabled: 'multiModule' }\n    ]\n  },\n\n  placeholders: [\n    ['|APPMODULE|', 'appModule'],\n  ]\n};\n```\n\n**Upload resource files with strings to Localazy and manage your translations easily. Download translated files back.**\n\n**1.** [Install Localazy CLI](\u002Fdocs\u002Fcli\u002Finstallation) for your operating system.\n\n**2.** Create a configuration file **localazy.json** in the root of your project. You can start with our sample:\n\n{{form1}}\n\n```json\n{\n    \"writeKey\": \"___USER_WRITE_KEY___\",\n    \"readKey\": \"___USER_READ_KEY___\",\n\n    {{#if (existing && !(multiModule || flavorsTypes))}}\n    \"transformations\": [\n        {\n            \"name\": \"android_lang\",\n            \"source\": \"${path}\",\n            \"operations\": \"detectLang: android\"\n        }\n    ],\n    {{\u002Fif}}\n\n    {{#if (!existing && (multiModule || flavorsTypes))}}\n    \"transformations\": [\n        {\n            \"name\": \"android_path\",\n            \"source\": \"${path}\",\n            \"operations\": \"substringBefore: \u002Fres\u002F\"\n        }\n    ],\n    {{\u002Fif}}\n\n    {{#if (existing && (multiModule || flavorsTypes))}}\n    \"transformations\": [\n        {\n            \"name\": \"android_lang\",\n            \"source\": \"${path}\",\n            \"operations\": \"detectLang: android\"\n        },\n        {\n            \"name\": \"android_path\",\n            \"source\": \"${path}\",\n            \"operations\": \"substringBefore: \u002Fres\u002F\"\n        }\n    ],\n    {{\u002Fif}}\n\n    {{#if (!existing && !multiModule && !flavorsTypes)}}\n    \"upload\": {\n        \"type\": \"android\",\n        \"files\": \"|APPMODULE|\u002Fsrc\u002Fmain\u002Fres\u002Fvalues\u002Fstrings.xml\"\n    },\n    {{\u002Fif}}\n\n    {{#if (!existing && (multiModule || flavorsTypes))}}\n    \"upload\": {\n        \"type\": \"android\",\n        \"files\":  {\n            \"pattern\": \"{{#if (multiModule)}}*{{\u002Fif}}{{#if (!multiModule)}}|APPMODULE|{{\u002Fif}}\u002Fsrc\u002F{{#if (flavorsTypes)}}*{{\u002Fif}}{{#if (!flavorsTypes)}}main{{\u002Fif}}\u002Fres\u002Fvalues\u002Fstrings.xml\",\n            \"path\": \"${android_path}\"\n        }\n    },\n    {{\u002Fif}}\n\n    {{#if (existing && !multiModule && !flavorsTypes)}}\n    \"upload\": {\n        \"type\": \"android\",\n        \"files\": [\n            {\n                \"pattern\": \"|APPMODULE|\u002Fsrc\u002Fmain\u002Fres\u002Fvalues\u002Fstrings.xml\",\n                \"lang\": \"inherited\"\n            },\n            {\n                \"group\": \"existing\",\n                \"pattern\": \"|APPMODULE|\u002Fsrc\u002Fmain\u002Fres\u002Fvalues-*\u002Fstrings.xml\",\n                \"lang\": \"${android_lang}\"\n            }\n        ]\n    },\n    {{\u002Fif}}\n\n    {{#if (existing && (multiModule || flavorsTypes))}}\n    \"upload\": {\n        \"type\": \"android\",\n        \"files\": [\n            {\n                \"pattern\": \"{{#if (multiModule)}}*{{\u002Fif}}{{#if (!multiModule)}}|APPMODULE|{{\u002Fif}}\u002Fsrc\u002F{{#if (flavorsTypes)}}*{{\u002Fif}}{{#if (!flavorsTypes)}}main{{\u002Fif}}\u002Fres\u002Fvalues\u002Fstrings.xml\",\n                \"lang\": \"inherited\",\n                \"path\": \"${android_path}\"\n            },\n            {\n                \"group\": \"existing\",\n                \"pattern\": \"{{#if (multiModule)}}*{{\u002Fif}}{{#if (!multiModule)}}|APPMODULE|{{\u002Fif}}\u002Fsrc\u002F{{#if (flavorsTypes)}}*{{\u002Fif}}{{#if (!flavorsTypes)}}main{{\u002Fif}}\u002Fres\u002Fvalues-*\u002Fstrings.xml\",\n                \"lang\": \"${android_lang}\",\n                \"path\": \"${android_path}\"\n            }\n        ]\n    },\n    {{\u002Fif}}\n\n\n    {{#if convertIos && !existing && !multiModule && !flavorsTypes}}\n    \"conversion\": {\n        \"actions\": [\n            {\n                \"type\": \"ios-strings\",\n                \"output\": \"..\u002Fyour-ios-path\u002F${iosLprojFolder}\u002FLocalizable.strings\",\n                \"changeExtension\": \".strings\"\n            },\n            {\n                \"type\": \"ios-stringsdict\",\n                \"output\": \"..\u002Fyour-ios-path\u002F${iosLprojFolder}\u002FLocalizable.stringsdict\",\n                \"changeExtension\": \".stringsdict\",\n                \"params\": {\n                    \"variable\": \"COUNT\"\n                }\n            }\n        ]\n    },\n    {{\u002Fif}}\n\n    {{#if convertIos && (existing || multiModule || flavorsTypes)}}\n    \"conversion\": {\n        \"$comment\": \"You have to correctly handle multiple files from Android in different paths!\",\n        \"actions\": [\n             {\n                \"type\": \"ios-strings\",\n                \"output\": \"..\u002Fyour-ios-path\u002F${iosLprojFolder}\u002F${path}\u002FLocalizable.strings\",\n                \"changeExtension\": \".strings\"\n            },\n            {\n                \"type\": \"ios-stringsdict\",\n                \"output\": \"..\u002Fyour-ios-path\u002F${iosLprojFolder}\u002F${path}\u002FLocalizable.stringsdict\",\n                \"changeExtension\": \".stringsdict\",\n                \"params\": {\n                    \"variable\": \"COUNT\"\n                }\n            }\n        ]\n    },\n    {{\u002Fif}}\n\n\n    {{#if downloadSource && !existing && !multiModule && !flavorsTypes}}\n    \"download\": {\n        \"includeSourceLang\": \"true\",\n        \"files\": [\n            {\n                \"output\": \"|APPMODULE|\u002Fsrc\u002Fmain\u002Fres\u002Fvalues\u002Fstrings.xml\",\n                \"conditions\": \"equals: ${lang}, ${sourceLang}\",\n                \"stop\": true\n            },\n            {\n                \"output\": \"|APPMODULE|\u002Fsrc\u002Fmain\u002Fres\u002Fvalues-${langAndroidRes}\u002Fstrings.xml\",\n                \"conditions\": \"!equals: ${lang}, ${sourceLang}\",\n                \"stop\": true\n            }\n        ]\n    },\n    {{\u002Fif}}\n\n    {{#if downloadSource && (existing || multiModule || flavorsTypes)}}\n    \"download\": {\n        \"includeSourceLang\": \"true\",\n        \"files\": [\n            {\n                \"output\": \"${path}\u002Fres\u002Fvalues\u002Fstrings.xml\",\n                \"conditions\": \"equals: ${lang}, ${sourceLang}\",\n                \"stop\": true\n            },\n            {\n                \"output\": \"${path}\u002Fres\u002Fvalues-${langAndroidRes}\u002Fstrings.xml\",\n                \"conditions\": \"!equals: ${lang}, ${sourceLang}\",\n                \"stop\": true\n            }\n        ]\n    },\n    {{\u002Fif}}\n\n    {{#if !downloadSource && !existing && !multiModule && !flavorsTypes}}\n    \"download\": {\n        \"includeSourceLang\": \"false\",\n        \"files\": \"|APPMODULE|\u002Fsrc\u002Fmain\u002Fres\u002Fvalues-${langAndroidRes}\u002Fstrings.xml\"\n    },\n    {{\u002Fif}}\n\n    {{#if !downloadSource && (existing || multiModule || flavorsTypes)}}\n    \"download\": {\n        \"includeSourceLang\": \"false\",\n        \"files\": \"${path}\u002Fres\u002Fvalues-${langAndroidRes}\u002Fstrings.xml\"\n    },\n    {{\u002Fif}}\n\n}\n```\n\n\n**3.** {{#if existing}}Run `localazy upload existing` to upload all the existing translations for the first time. Subsequently, upload{{\u002Fif}}{{#if !existing}}Upload{{\u002Fif}} the source strings with `localazy upload` whenever you change them.\n\n**4.** Download translated files {{#if convertIos}}and convert them for iOS{{\u002Fif}} with `localazy download` before building your app.\n\n---\n\n::: info\nSee more [Android samples](\u002Fdocs\u002Fcli\u002Fandroid-format) for complex apps with existing translations, build types, product flavors, etc.\n:::\n\n::: info\nYou can upload all your existing translations too! [Learn more about it.](\u002Fdocs\u002Fcli\u002Fexisting-translations){data-related=\"Upload existing translations\"} \n:::\n\n---\n\nLocalazy CLI is simple to start yet flexible enough for any project. [Let's take a quick tour](\u002Fdocs\u002Fcli\u002Fthe-basics). {data-end-include}",{"id":266,"status":4,"sort":43,"created_on":1864,"slug":843,"name":520,"subtitle":1865,"meta_title":8,"meta_description":8,"hidden":93,"icon":2187,"featured_icon":2188},{"id":715},{"id":1868},{"id":214,"status":4,"sort":433,"created_on":1871,"name":1872},[],[],[2193],{"id":2194,"documentation_id":2179,"languages_code":925,"slug":2182,"title":2183,"content":2185,"meta_title":8,"meta_description":8,"excerpt":2184},218,[],{"id":2197,"status":4,"sort":8,"created_on":2198,"modified_on":2199,"slug":2200,"title":2201,"excerpt":2202,"content":2203,"meta_title":8,"meta_description":8,"pinned":91,"main_image":8,"section":2204,"subsection":2207,"cta":8,"faq":2208,"dictionary":2209,"translations":2210,"documentation_id":2197,"blog_articles":2212},167,"2022-11-21T22:23:05.000Z","2025-09-26T09:48:36.000Z","quick-start-storyblok","Quick Start - Storyblok","Learn how to integrate Storyblok with Localazy.","## ⚠️ The plugin is temporarily unavailable\n**Our Storyblok integration is currently down due to breaking changes introduced in the latest Storyblok API update. We’re updating our integration to support the new API version and restore full functionality as soon as possible. Thanks for your patience while we get things working again.**\n\n## Storyblok Localization with Localazy\n\nTranslate your Storyblok content effortlessly. Set up the integration once, define your localization workflow, and minimize the time spent managing translations.\n\n:::info\nStoryblok is a headless content management system (CMS) that enables developers and content teams to deliver powerful, flexible, and scalable digital experiences.\n:::\n\n### Storyblok Translation Features at a Glance\n\n- Localization of Storyblok components and content.\n- Manual content import before translation.\n- Manual content export after translation.\n\n:::info\nTo use this integration, you must have the \u003Ca href=\"https:\u002F\u002Fwww.storyblok.com\u002Fpricing#pricing-plan-comparison\" target=\"_blank\">Storyblok Business plan\u003C\u002Fa>.\n:::\n\n### Prerequisites\n\nTo use this integration, you must have a Storyblok account with access to a space. You will need three pieces of information: **Server Location**, **Space ID** and **Personal Access Token**.\n\n**Server Location and Space ID**  \nRefer to following guide to locate your **Server Location** and **Space ID**: \u003Ca href=\"https:\u002F\u002Fwww.storyblok.com\u002Ffaq\u002Fwhere-can-i-find-my-space-id\" target=\"_blank\">Where can I find my Space ID?\u003C\u002Fa>\n\n**Personal Access Token**  \nTo obtain **Personal Access Token** go to the \u003Ca href=\"https:\u002F\u002Fapp.storyblok.com\u002F#\u002Fme\u002Faccount?tab=token\" target=\"_blank\">My Account section\u003C\u002Fa> on Storyblok. Under the Personal Access Token tab, click **Generate new token** to create your token.\n\n### Install the Storyblok Integration\n\nFollow these steps to integrate Storyblok with Localazy:\n\n1. Click the **Install** button to start the installation.\n\n2. In the integration interface, enter your **Storyblok API Token** and **Localazy API Key**, then click the **Connect Storyblok Account** button.\n\n\u003Cimg src=\"https:\u002F\u002Fdirectus9.localazy.com\u002Fassets\u002Fcc60224c-2a8e-47ec-9bc7-2543494960db.gif\" alt=\"Connect Storyblok\" width=\"800\" height=\"493\" style=\"width: 100%; height: 100%; max-width: 800px;\">\n\n### Manual Content Import\n\n1. Open the **Storyblok** integration interface and make sure you're connected to your Storyblok account.\n\n2. Click the **Import to Localazy** tab.\n\n3. Click the **Start Import** button to start the import process.\n\n![Import](https:\u002F\u002Fdirectus9.localazy.com\u002Fassets\u002F145d0335-7d18-4aaf-ad7c-d39b48aa78e7.png)\n\n### Manual Content Export\n\n1. Open the **Storyblok** integration interface and make sure you're connected to your Storyblok account.\n\n2. Click the **Export to Storyblok** tab.\n\n3. Click the **Start Export** button to start the export process.\n\n![Export](https:\u002F\u002Fdirectus9.localazy.com\u002Fassets\u002F4e380a89-8e69-45ee-ad22-98358c7471d9.png)\n\n### Settings\n\nOptional choices are available for users to adjust the import and export process.\n\n**Import to Localazy**\n\nThe following options are available for importing translations from Storyblok into Localazy:\n\n\u003Cdl>\n  \u003Cdt>\u003Cstrong>Sync Translatable Fields with Export\u003C\u002Fstrong>\u003C\u002Fdt>\n  \u003Cdd>Automatically remove untranslatable fields from export. This will update your space components settings at your own responsibility.\u003C\u002Fdd>\n  \u003Cdt>\u003Cstrong>Skip Empty Entries Import\u003C\u002Fstrong>\u003C\u002Fdt>\n  \u003Cdd>Prevent the import of empty translation keys.\u003C\u002Fdd>\n  \u003Cdt>\u003Cstrong>Import Existing Entries\u003C\u002Fstrong>\u003C\u002Fdt>\n  \u003Cdd>Import existing translations from Storyblok to Localazy.\u003C\u002Fdd>\n  \u003Cdt>\u003Cstrong>Set Storyblok as Source of Truth\u003C\u002Fstrong>\u003C\u002Fdt>\n  \u003Cdd>Import all translations and set them as the current version. By default, Localazy doesn't overwrite existing current versions for translations and lets you decide through the review process.\u003C\u002Fdd>\n\u003C\u002Fdl>\n\n![Settings](https:\u002F\u002Fdirectus9.localazy.com\u002Fassets\u002F4e71edee-856a-440a-a5ed-9cdf40875c56.png)\n",{"id":266,"status":4,"sort":43,"created_on":1864,"slug":843,"name":520,"subtitle":1865,"meta_title":8,"meta_description":8,"hidden":93,"icon":2205,"featured_icon":2206},{"id":715},{"id":1868},{"id":214,"status":4,"sort":433,"created_on":1871,"name":1872},[],[],[2211],{"id":2197,"documentation_id":2197,"languages_code":925,"slug":2200,"title":2201,"content":2203,"meta_title":8,"meta_description":8,"excerpt":2202},[],{"id":2214,"status":4,"sort":8,"created_on":2215,"modified_on":2216,"slug":2217,"title":2218,"excerpt":2219,"content":2220,"meta_title":8,"meta_description":8,"pinned":91,"main_image":8,"section":2221,"subsection":2224,"cta":8,"faq":2225,"dictionary":2226,"translations":2227,"documentation_id":2214,"blog_articles":2229},198,"2023-09-07T05:37:43.000Z","2025-02-17T14:50:11.000Z","quick-start-directus","Quick Start - Directus","Learn how to import your texts from Directus CMS files seamlessly.\n","**1.** Install the [Directus CMS Extension by Localazy](\u002Fdocs\u002Fdirectus\u002Fdirectus-plugin-introduction-installation)\n\n**2.** Generate [Localazy access token](\u002Fconsole\u002Ftokens) and fill it in the [Project setup](\u002Fdocs\u002Fdirectus\u002Fdirectus-project-setup) page in your Directus project.\n\n**3.** Fill in the remaining project setup options.\n\n**4.** Navigate to Import & Export page, select content for synchronization and click on *Export to Localazy*\n\n:::info\nNote that the [Autopilot plan](https:\u002F\u002Flocalazy.com\u002Fmy\u002Fmarketplace) is required in order to use the Directus integration. Every new account comes with a 14-day trial period allowing you to test the integration before you subscribe to a paid plan.\n:::\n\n:::info\nFor more information check out [the documentation](\u002Fdocs\u002Fdirectus\u002Fdirectus-plugin-introduction-installation).{data-related-link}\n:::",{"id":266,"status":4,"sort":43,"created_on":1864,"slug":843,"name":520,"subtitle":1865,"meta_title":8,"meta_description":8,"hidden":93,"icon":2222,"featured_icon":2223},{"id":715},{"id":1868},{"id":214,"status":4,"sort":433,"created_on":1871,"name":1872},[],[],[2228],{"id":2214,"documentation_id":2214,"languages_code":925,"slug":2217,"title":2218,"content":2220,"meta_title":8,"meta_description":8,"excerpt":2219},[],{"id":1854,"status":4,"sort":8,"created_on":1856,"modified_on":1857,"slug":1858,"title":1859,"excerpt":1860,"content":1861,"meta_title":8,"meta_description":8,"pinned":91,"main_image":8,"section":2231,"subsection":2234,"cta":8,"faq":2235,"dictionary":2236,"translations":2237,"documentation_id":1854,"blog_articles":2239},{"id":266,"status":4,"sort":43,"created_on":1864,"slug":843,"name":520,"subtitle":1865,"meta_title":8,"meta_description":8,"hidden":93,"icon":2232,"featured_icon":2233},{"id":715},{"id":1868},{"id":214,"status":4,"sort":433,"created_on":1871,"name":1872},[],[],[2238],{"id":1882,"documentation_id":1854,"languages_code":925,"slug":1858,"title":1859,"content":1861,"meta_title":8,"meta_description":8,"excerpt":1860},[],{"id":2241,"status":4,"sort":8,"created_on":2242,"modified_on":2243,"slug":2244,"title":2245,"excerpt":2246,"content":2247,"meta_title":8,"meta_description":8,"pinned":91,"main_image":8,"section":2248,"subsection":2251,"cta":8,"faq":2252,"dictionary":2253,"translations":2254,"documentation_id":2241,"blog_articles":2257},253,"2024-11-19T07:56:49.000Z","2024-11-28T14:40:01.000Z","quick-start-zendesk","Quick Start - Zendesk","Connect your Zendesk account with your Localazy project to start translating your help center.","### Zendesk Localization with Localazy\n\nTranslate your Zendesk Help Center effortlessly. Set up the integration once, define your localization workflow, and\nminimize the time spent managing translations.\n\n:::info\nZendesk is a customer service platform that provides tools for managing support tickets, customer interactions, and help\ncenter content.\n:::\n\n### Zendesk Translation Features at a Glance\n\n- Localization of Help Center content.\n- Manual content import before translation.\n- Manual content export after translation.\n\n### Prerequisites\n\nTo use this integration, you must have a Zendesk account with access to the Help Center. You will need three pieces of information: the URL of your Zendesk instance, the email address of a user with access to the Help Center, and an API key.\n\n**Zendesk URL**\n\nEnter the full URL of your Zendesk instance, for example: *https:\u002F\u002F{your-subdomain}.zendesk.com*.\n\n**Email**\n\nEnter the email address of a user who has access to the Help Center.\n\n**API Key**\n\nFollow the steps in this guide to generate an API key: \u003Ca href=\"https:\u002F\u002Fsupport.zendesk.com\u002Fhc\u002Fen-us\u002Farticles\u002F4408889192858-Managing-access-to-the-Zendesk-API#ariaid-title3\" target=\"_blank\">Managing access to the Zendesk API\u003C\u002Fa>.\n\n### Install the Zendesk Integration\n\nFollow these steps to integrate Zendesk with Localazy:\n\n1. Click the **Install** button to begin the installation.\n\n2. In the integration interface, enter all three pieces of information from the previous step, then click the **Connect Zendesk Account** button.\n\n\u003Cimg src=\"https:\u002F\u002Fdirectus9.localazy.com\u002Fassets\u002F29ee5a21-e726-4783-af7d-fd89da176ad6.gif\" alt=\"Connect Zendesk\" width=\"800\" height=\"493\" style=\"width: 100%; height: 100%; max-width: 800px;\">\n\n### Manual Content Import\n\n1. Open the **Zendesk** integration interface and make sure you're connected to your Zendesk account.\n\n2. Click the **Import to Localazy** tab.\n\n3. Click the **Start Import** button to start the import process.\n\n![Import](https:\u002F\u002Fdirectus9.localazy.com\u002Fassets\u002Fff16eb22-2f9b-4ea5-8c73-e1c8e577ceaf.png)\n\n### Manual Content Export\n\n1. Open the **Zendesk** integration interface and make sure you're connected to your Zendesk account.\n\n2. Click the **Export to Zendesk** tab.\n\n3. Click the **Start Export** button to start the export process.\n\n![Export](https:\u002F\u002Fdirectus9.localazy.com\u002Fassets\u002F6f638efc-2a8c-463c-8511-03b64fd47a92.png)\n\n### Settings\n\nOptional choices are available for users to adjust the import and export process.\n\n**Import to Localazy**\n\nThe following options are available for importing translations from Zendesk into Localazy.\n\n\u003Cdl>\n  \u003Cdt>\u003Cstrong>Skip Empty Entries Import\u003C\u002Fstrong>\u003C\u002Fdt>\n  \u003Cdd>Prevent the import of empty translation keys.\u003C\u002Fdd>\n  \u003Cdt>\u003Cstrong>Import Existing Entries\u003C\u002Fstrong>\u003C\u002Fdt>\n  \u003Cdd>Import existing translations from Zendesk to Localazy.\u003C\u002Fdd>\n  \u003Cdt>\u003Cstrong>Set Zendesk as Source of Truth\u003C\u002Fstrong>\u003C\u002Fdt>\n  \u003Cdd>Import all translations and set them as the current version. By default, Localazy doesn't overwrite existing current versions for translations and lets you decide through the review process.\u003C\u002Fdd>\n\u003C\u002Fdl>\n\n**Export to Zendesk**\n\nThe following options are available for exporting translations from Localazy to Zendesk.\n\n\u003Cdl>\n  \u003Cdt>\u003Cstrong>Export new as source\u003C\u002Fstrong>\u003C\u002Fdt>\n  \u003Cdd>Export new articles languages to Zendesk with the same status as the source.\u003C\u002Fdd>\n  \u003Cdt>\u003Cstrong>Export new as draft\u003C\u002Fstrong>\u003C\u002Fdt>\n  \u003Cdd>Export new articles languages to Zendesk as a draft.\u003C\u002Fdd>\n  \u003Cdt>\u003Cstrong>Export new as published\u003C\u002Fstrong>\u003C\u002Fdt>\n  \u003Cdd>Export new articles languages to Zendesk as published.\u003C\u002Fdd>\n\u003C\u002Fdl>\n\n![Settings](https:\u002F\u002Fdirectus9.localazy.com\u002Fassets\u002F130232e4-eccd-40a9-a39f-29b223a5ac74.png)\n",{"id":266,"status":4,"sort":43,"created_on":1864,"slug":843,"name":520,"subtitle":1865,"meta_title":8,"meta_description":8,"hidden":93,"icon":2249,"featured_icon":2250},{"id":715},{"id":1868},{"id":214,"status":4,"sort":433,"created_on":1871,"name":1872},[],[],[2255],{"id":2256,"documentation_id":2241,"languages_code":925,"slug":2244,"title":2245,"content":2247,"meta_title":8,"meta_description":8,"excerpt":2246},1375,[],{"id":2259,"status":4,"sort":8,"created_on":2260,"modified_on":2261,"slug":2262,"title":2263,"excerpt":2264,"content":2265,"meta_title":8,"meta_description":8,"pinned":91,"main_image":8,"section":2266,"subsection":2269,"cta":8,"faq":2270,"dictionary":2298,"translations":2299,"documentation_id":2259,"blog_articles":2302},210,"2023-09-27T09:06:42.000Z","2024-08-12T06:45:38.000Z","quick-start-poedit","Quick Start - Poedit","Translate your Localazy project with Poedit - a popular desktop translation editor available for Windows, macOS and Linux.","## Download and install Poedit\n1. Go to https:\u002F\u002Fpoedit.net\u002Fdownload\n2. Download the latest version for your operating system\n3. Install the application\n\n## Connect your Localazy project\n1. After installation, choose the **„Translate cloud project\"** option. \n2. A menu will pop up where you can find Localazy. \n3. In the Localazy section, click on **„Add  account“**\n4. Authorize the access and select the project for translation.\n\n\n\u003C!--\n\u003Ciframe src=\"https:\u002F\u002Fapp.tango.us\u002Fapp\u002Fembed\u002F0288d2bf-1db5-40c4-9675-bc565181f481\" sandbox=\"allow-scripts allow-top-navigation-by-user-activation allow-popups allow-same-origin\" security=\"restricted\" title=\"Integrate Poedit & Localazy\" width=\"75%\" height=\"560px\" referrerpolicy=\"strict-origin-when-cross-origin\" frameborder=\"0\" webkitallowfullscreen=\"webkitallowfullscreen\" mozallowfullscreen=\"mozallowfullscreen\" allowfullscreen=\"allowfullscreen\">\u003C\u002Fiframe>\n-->",{"id":266,"status":4,"sort":43,"created_on":1864,"slug":843,"name":520,"subtitle":1865,"meta_title":8,"meta_description":8,"hidden":93,"icon":2267,"featured_icon":2268},{"id":715},{"id":1868},{"id":214,"status":4,"sort":433,"created_on":1871,"name":1872},[2271,2282,2290],{"id":2272,"status":4,"title":2273,"content":2274,"slug":2275,"created_on":2276,"modified_on":2277,"owner":1855,"meta_title":8,"category":2278},293,"Why use Poedit with Localazy?","Using Poedit with Localazy offers several benefits:\n1. **Efficient translation workflow**: Poedit provides translators with a user-friendly interface to work with gettext-based translation files (usually *.po and *.pot files). Localazy complements this by offering a centralized platform where translators and developers can collaborate, streamlining the translation workflow.\n2. **Cloud-Based Collaboration**: Localazy allows translators to work on translations in a collaborative cloud environment. This means that multiple translators can work on the same project at the same time, making it easier to manage and update translations as your project evolves.\n3. **Automatic synchronization**: Localazy can automatically synchronize translations between your project and the cloud. When translators update translations in Poedit and save files, Localazy can sync those changes, ensuring your translations are always up-to-date.\n4. **Version Control**: Localazy supports version control for translations, allowing you to track changes and revert to previous translations if necessary. This can be especially useful for large ongoing projects where maintaining the integrity of the translations is critical.\n5. **Integrations**: Localazy typically integrates with various development platforms and frameworks, making it easy to manage translations for your specific technology stack. This integration simplifies the process of delivering updated translations to your application.\n6. **Scalability**: If your project is growing or you have multiple projects to manage, Localazy is a scalable platform that can make it easy for you to translate all of them.\n7. **Cost Effectiveness**: Localazy offers a variety of [pricing plans](\u002Fpricing), including a free tier for smaller projects. This can make it an attractive choice for both small and large development teams.\n","why-use-poedit-with-localazy","2023-10-03T11:45:16.000Z","2023-10-03T11:45:22.000Z",{"id":513,"status":4,"created_on":2279,"sort":8,"slug":2280,"label":2281,"on_faq_index":8},"2023-10-03T11:43:50.000Z","poedit","Poedit",{"id":2283,"status":4,"title":2284,"content":2285,"slug":2286,"created_on":2287,"modified_on":2288,"owner":1855,"meta_title":8,"category":2289},294,"What is Poedit?","Poedit is one of the most popular translation editor software available for Windows, Mac, or Linux. Poedit has a simple and easily understood interface with all the essential tools for comfortable translation. Download the latest version from the official [Poedit website](https:\u002F\u002Fpoedit.net\u002Fdownload) and connect your Localazy project with a few clicks. ","what-is-poedit","2023-10-03T11:46:42.000Z","2023-10-03T11:46:48.000Z",{"id":513,"status":4,"created_on":2279,"sort":8,"slug":2280,"label":2281,"on_faq_index":8},{"id":2291,"status":4,"title":2292,"content":2293,"slug":2294,"created_on":2295,"modified_on":2296,"owner":1855,"meta_title":8,"category":2297},295,"How to use Poedit with Localazy?","\nYou can edit your Localazy translations and work on translations offline in Poedit and then upload your changes when you're back online.\n\n1. Download and install Poedit for your platform from poedit.net\n2. After opening Poedit, connect your Localazy project by selecting \"Translate Cloud Project\" and choosing Localazy.\n3. Select the language you wish to translate and start traslating\n4. When you are done, save your work to sync new translations to Localazy.\n\n> Read the full guide in the [documentation](\u002Fdocs\u002Fgeneral\u002Fpoedit-integration)","how-to-use-poedit-with-localazy","2023-10-03T11:49:56.000Z","2023-10-03T11:49:59.000Z",{"id":513,"status":4,"created_on":2279,"sort":8,"slug":2280,"label":2281,"on_faq_index":8},[],[2300],{"id":2301,"documentation_id":2259,"languages_code":925,"slug":2262,"title":2263,"content":2265,"meta_title":8,"meta_description":8,"excerpt":2264},209,[],{"id":2304,"status":4,"sort":8,"created_on":2305,"modified_on":2306,"slug":2307,"title":2308,"excerpt":2309,"content":2310,"meta_title":8,"meta_description":8,"pinned":91,"main_image":8,"section":2311,"subsection":2314,"cta":8,"faq":2315,"dictionary":2316,"translations":2317,"documentation_id":2304,"blog_articles":2320},236,"2024-04-11T20:49:54.000Z","2024-07-17T06:49:28.000Z","quick-start-ispring-suite","Quick Start - iSpring Suite","Translate your iSpring Suite courses with Localazy quickly.","You can translate iSpring content by exporting the texts in XLIFF and simply uploading them to Localazy. After you are done with the translation work, you can Import the texts back using the Import function.",{"id":266,"status":4,"sort":43,"created_on":1864,"slug":843,"name":520,"subtitle":1865,"meta_title":8,"meta_description":8,"hidden":93,"icon":2312,"featured_icon":2313},{"id":715},{"id":1868},{"id":214,"status":4,"sort":433,"created_on":1871,"name":1872},[],[],[2318],{"id":2319,"documentation_id":2304,"languages_code":925,"slug":2307,"title":2308,"content":2310,"meta_title":8,"meta_description":8,"excerpt":2309},233,[],{"id":2322,"status":4,"sort":8,"created_on":2323,"modified_on":2324,"slug":2325,"title":2326,"excerpt":2327,"content":2328,"meta_title":8,"meta_description":8,"pinned":91,"main_image":8,"section":2329,"subsection":2332,"cta":8,"faq":2333,"dictionary":2334,"translations":2335,"documentation_id":2322,"blog_articles":2338},238,"2024-04-17T11:47:58.000Z","2024-07-17T06:49:26.000Z","quick-start-cli-general","Quick Start - CLI ","Localazy CLI is our command-line interface, and you can use it to upload files to the Localazy platform and download translations back to your app. You can easily integrate it into your build chain or CI\u002FCD. ","**1)** [Download or install the Localazy CLI](\u002Fdocs\u002Fcli\u002Finstallation). It's available for all major operating systems, as Java's JAR and Docker image. \n\n**2)** Create a configuration script `localazy.json` that tells the CLI tool what files to upload and how to process downloaded translations. \n\n::: info\nTIP: \u003Ca href=\"https:\u002F\u002Fraw.githubusercontent.com\u002Flocalazy\u002Fcli-schema\u002Fmaster\u002Flocalazy.json\">JSON Schema\u003C\u002Fa> is available for smart completion.\n:::\n\nSample:\n\n```json\n{\n\n  \"writeKey\": \"___USER_WRITE_KEY___\",\n  \"readKey\": \"___USER_READ_KEY___\",\n  \n  \"upload\": {  \n \u002F** YOUR UPLOAD CONFIGURATION **\u002F\n  },\n  \n  \"download\": {\n    \u002F** YOUR DOWNLOAD CONFIGURATION **\u002F\n  }\n  \n}  \n```\n\n**3)** Run `localazy upload` for uploading your strings to the Localazy platform. Do it whenever you change your source language.\n\n**4)** Run `localazy download` for downloading translation back to your app. It's a great idea to make it a part of your build chain.  \n \n*Note: In this documentation, we always use `localazy` as the command that should be invoked. However, the command can be different based on your setup (eg. `localazy.exe` on Windows).*\n\n::: info\nYou can upload all your existing translations too! [Learn more about it.](\u002Fdocs\u002Fcli\u002Fexisting-translations) \n:::\n\n---\n\nLocalazy CLI is simple to start yet flexible enough for any project. [Let's take a quick tour](\u002Fdocs\u002Fcli\u002Fthe-basics).",{"id":266,"status":4,"sort":43,"created_on":1864,"slug":843,"name":520,"subtitle":1865,"meta_title":8,"meta_description":8,"hidden":93,"icon":2330,"featured_icon":2331},{"id":715},{"id":1868},{"id":214,"status":4,"sort":433,"created_on":1871,"name":1872},[],[],[2336],{"id":2337,"documentation_id":2322,"languages_code":925,"slug":2325,"title":2326,"content":2328,"meta_title":8,"meta_description":8,"excerpt":2327},235,[],{"id":2337,"status":4,"sort":8,"created_on":2340,"modified_on":2324,"slug":2341,"title":2342,"excerpt":2343,"content":2344,"meta_title":8,"meta_description":8,"pinned":91,"main_image":8,"section":2345,"subsection":2348,"cta":8,"faq":2349,"dictionary":2350,"translations":2351,"documentation_id":2337,"blog_articles":2353},"2024-04-11T20:20:49.000Z","quick-start-adobe-captivate","Quick Start - Adobe Captivate","Learn how to upload Adobe Captivate files to Localazy quickly.","## Export your content to XML in Adobe Captivate\nOpen your course file in Adobe Captivate, then in the menu, click **File > Export > To XML**, and save the XML file to your computer. \n\n## Upload your file to Localazy\nUse the file upload and select the Adobe Captivate file format. \n",{"id":266,"status":4,"sort":43,"created_on":1864,"slug":843,"name":520,"subtitle":1865,"meta_title":8,"meta_description":8,"hidden":93,"icon":2346,"featured_icon":2347},{"id":715},{"id":1868},{"id":214,"status":4,"sort":433,"created_on":1871,"name":1872},[],[],[2352],{"id":2069,"documentation_id":2337,"languages_code":925,"slug":2341,"title":2342,"content":2344,"meta_title":8,"meta_description":8,"excerpt":2343},[],{"id":2355,"status":4,"sort":8,"created_on":2356,"modified_on":2324,"slug":2357,"title":2358,"excerpt":2359,"content":2360,"meta_title":8,"meta_description":8,"pinned":91,"main_image":8,"section":2361,"subsection":2364,"cta":8,"faq":2365,"dictionary":2366,"translations":2367,"documentation_id":2355,"blog_articles":2370},234,"2024-03-26T16:02:26.000Z","quick-start-bitrise","Quick Start - Bitrise","Automate build and localization with Localazy + Bitrise.","You can find a comprehensive guide to Localazy integration with Bitrise.io in this article:\n\n[Automated Localization: Bitrise.io ❤ Localazy](https:\u002F\u002Flocalazy.com\u002Fblog\u002Fautomated-localization-bitrise-io-localazy)",{"id":266,"status":4,"sort":43,"created_on":1864,"slug":843,"name":520,"subtitle":1865,"meta_title":8,"meta_description":8,"hidden":93,"icon":2362,"featured_icon":2363},{"id":715},{"id":1868},{"id":214,"status":4,"sort":433,"created_on":1871,"name":1872},[],[],[2368],{"id":2369,"documentation_id":2355,"languages_code":925,"slug":2357,"title":2358,"content":2360,"meta_title":8,"meta_description":8,"excerpt":2359},231,[],{"id":2319,"status":4,"sort":8,"created_on":2372,"modified_on":2324,"slug":2373,"title":2374,"excerpt":2375,"content":2376,"meta_title":8,"meta_description":8,"pinned":91,"main_image":8,"section":2377,"subsection":2380,"cta":8,"faq":2381,"dictionary":2382,"translations":2383,"documentation_id":2319,"blog_articles":2386},"2024-03-26T15:48:31.000Z","quick-start-gitlab-cicd","Quick Start - GitLab CI\u002FCD","Setup fully automated localization for your project once and forget about all the hassle forever. It’s fun with GitLab’s CI\u002FCD!","You can find a comprehensive guide to Localazy integration with GitLab CI\u002FCD in this article:\n\n[Automated Localization: GitLab CI\u002FCD ❤ Localazy](https:\u002F\u002Flocalazy.com\u002Fblog\u002Fautomated-localization-gitlab-cicd-localazy)",{"id":266,"status":4,"sort":43,"created_on":1864,"slug":843,"name":520,"subtitle":1865,"meta_title":8,"meta_description":8,"hidden":93,"icon":2378,"featured_icon":2379},{"id":715},{"id":1868},{"id":214,"status":4,"sort":433,"created_on":1871,"name":1872},[],[],[2384],{"id":2385,"documentation_id":2319,"languages_code":925,"slug":2373,"title":2374,"content":2376,"meta_title":8,"meta_description":8,"excerpt":2375},230,[],{"id":2385,"status":4,"sort":8,"created_on":2388,"modified_on":2389,"slug":2390,"title":2391,"excerpt":2392,"content":2393,"meta_title":8,"meta_description":8,"pinned":91,"main_image":8,"section":2394,"subsection":2397,"cta":8,"faq":2398,"dictionary":2399,"translations":2400,"documentation_id":2385,"blog_articles":2403},"2024-03-26T15:28:18.000Z","2024-07-17T06:49:25.000Z","quick-start-bitbucket-pipelines","Quick Start - Bitbucket Pipelines","Learn how to automatically localize your project using Bitbucket Pipelines and Localazy.","You can find a comprehensive guide to Localazy integration with Bitbucket in this article:\n\n[Automated Localization: Bitbucket Pipelines ❤ Localazy](https:\u002F\u002Flocalazy.com\u002Fblog\u002Fautomated-localization-bitbucket-pipelines-localazy)",{"id":266,"status":4,"sort":43,"created_on":1864,"slug":843,"name":520,"subtitle":1865,"meta_title":8,"meta_description":8,"hidden":93,"icon":2395,"featured_icon":2396},{"id":715},{"id":1868},{"id":214,"status":4,"sort":433,"created_on":1871,"name":1872},[],[],[2401],{"id":2402,"documentation_id":2385,"languages_code":925,"slug":2390,"title":2391,"content":2393,"meta_title":8,"meta_description":8,"excerpt":2392},228,[],{"id":400,"status":4,"sort":2405,"created_on":2406,"modified_on":2407,"slug":2408,"title":2409,"excerpt":2410,"content":2411,"meta_title":53,"meta_description":2412,"pinned":91,"main_image":8,"section":2413,"subsection":2416,"cta":2417,"faq":2424,"dictionary":2436,"translations":2437,"documentation_id":400,"blog_articles":2439},"70010","2022-03-18T07:51:25.000Z","2025-11-03T14:26:30.000Z","quick-start-android","Quick Start - Android (Old)","Localize your Android app with Localazy.","Localazy offers two options how to integrate with Android apps. You can either use our powerful SDK or simply upload and download your XML resources with CLI.\n\n## SDK {data-include data-integration-type}\n### Add plugin {data-start-include data-step}\n#### Localize your app with Gradle plugin for Android\nUse our [Gradle plugin](https:\u002F\u002Flocalazy.com\u002Fdocs\u002Fandroid\u002Flocalazy-gradle-plugin) for Android for a seamless integration. \nIf you need help with integrating the plugin, [contact us](mailto:team@localazy.com). If you can't use it, please tell us [why you are unable to use our Gradle plugin](mailto:team@localazy.com).\n\n#### Add Localazy Gradle plugin\nInsert Localazy repository and Gradle plugin to the buildscript section of build.gradle file in your project's root directory:\n\n```groovy{data-line=\"6,11\"}\nbuildscript {\n\n    repositories {\n        \u002F\u002F ... other repositories ...\n        maven { url \"___REPOSITORY_URL___\" }\n    }\n\n    dependencies {\n        \u002F\u002F ... other dependencies ...\n        classpath \"___GRADLE_DEPENDENCY___\"\n    }\n\n}\n```\n\n### Gradle build {data-step}\n**2.** Open **gradle.build** file in your **app’s** module and add following snippet a the end of the file: \n\n```groovy\n\u002F\u002F Always be sure to add this after android { ... } section\napply plugin: 'com.localazy.gradle'\n\nlocalazy {\n    readKey \"the-read-key-for-the-project\"\n    writeKey \"the-write-key-for-the-project\"\n}\n```\n::: info\nRead more about [injection options](\u002Fdocs\u002Fandroid\u002Flocalazy-gradle-plugin#injection) to configure what type of library is injected and whether OTA updates are available for all users or loyal ones only.\n:::\n \n\n**And that’s it!** Your app is translated, and translations are updated automatically.\n\n### Configure the plugin {data-step}\nOur defaults are suitable for the majority of apps, and extra configuration is usually not necessary except for small tweaks (excluding particular strings, disabling errors for debug builds, etc.)\n\nThe configuration of the plugin looks like:\n\n```groovy\nlocalazy {\n\n    readKey \"the-read-key-for-the-project\"\n    writeKey \"the-write-key-for-the-project\"\n\n    upload {\n        \u002F\u002F ...\n    }\n\n    download {\n        \u002F\u002F ...\n    }\n\n    injection {\n        \u002F\u002F ...\n    }\n\n    resources {\n        \u002F\u002F ...\n    }\n\n}\n```\n\n\n\n\n## CLI {data-integration-type}\n### XML {data-format}\n\n```javascript form-builder-config\nconfig = {\n  forms: {\n    form1: [\n      {\n        id: 'label',\n        type: 'group',\n        label: 'Options',\n        cssClass: 'col-span-12',\n        children: [\n          { id: 'existing', type: 'checkbox', label: 'Upload existing translations', value: false, cssClass: 'sm:col-span-6 col-span-12' },\n          { id: 'multiModule', type: 'checkbox', label: 'Multiple modules', value: false, cssClass: 'sm:col-span-6 col-span-12' },\n          { id: 'flavorsTypes', type: 'checkbox', label: 'Flavors & Build Types', value: false, cssClass: 'sm:col-span-6 col-span-12' },\n          { id: 'downloadSource', type: 'checkbox', label: 'Download source language', value: false, cssClass: 'sm:col-span-6 col-span-12' },\n          { id: 'convertIos', type: 'checkbox', label: 'Convert to iOS', cssClass: 'sm:col-span-6 col-span-12' },\n        ]\n      },\n      { id: 'appModule', type: 'input', label: 'App module path', value: 'app', cssClass: 'col-span-12', disabled: 'multiModule' }\n    ]\n  },\n\n  placeholders: [\n    ['|APPMODULE|', 'appModule'],\n  ]\n};\n```\n\n**Upload resource files with strings to Localazy and manage your translations easily. Download translated files back.**\n\n**1.** [Install Localazy CLI](\u002Fdocs\u002Fcli\u002Finstallation) for your operating system.\n\n**2.** Create a configuration file **localazy.json** in the root of your project. You can start with our sample:\n\n{{form1}}\n\n```json\n{\n    \"writeKey\": \"___USER_WRITE_KEY___\",\n    \"readKey\": \"___USER_READ_KEY___\",\n\n    {{#if (existing && !(multiModule || flavorsTypes))}}\n    \"transformations\": [\n        {\n            \"name\": \"android_lang\",\n            \"source\": \"${path}\",\n            \"operations\": \"detectLang: android\"\n        }\n    ],\n    {{\u002Fif}}\n\n    {{#if (!existing && (multiModule || flavorsTypes))}}\n    \"transformations\": [\n        {\n            \"name\": \"android_path\",\n            \"source\": \"${path}\",\n            \"operations\": \"substringBefore: \u002Fres\u002F\"\n        }\n    ],\n    {{\u002Fif}}\n\n    {{#if (existing && (multiModule || flavorsTypes))}}\n    \"transformations\": [\n        {\n            \"name\": \"android_lang\",\n            \"source\": \"${path}\",\n            \"operations\": \"detectLang: android\"\n        },\n        {\n            \"name\": \"android_path\",\n            \"source\": \"${path}\",\n            \"operations\": \"substringBefore: \u002Fres\u002F\"\n        }\n    ],\n    {{\u002Fif}}\n\n    {{#if (!existing && !multiModule && !flavorsTypes)}}\n    \"upload\": {\n        \"type\": \"android\",\n        \"files\": \"|APPMODULE|\u002Fsrc\u002Fmain\u002Fres\u002Fvalues\u002Fstrings.xml\"\n    },\n    {{\u002Fif}}\n\n    {{#if (!existing && (multiModule || flavorsTypes))}}\n    \"upload\": {\n        \"type\": \"android\",\n        \"files\":  {\n            \"pattern\": \"{{#if (multiModule)}}*{{\u002Fif}}{{#if (!multiModule)}}|APPMODULE|{{\u002Fif}}\u002Fsrc\u002F{{#if (flavorsTypes)}}*{{\u002Fif}}{{#if (!flavorsTypes)}}main{{\u002Fif}}\u002Fres\u002Fvalues\u002Fstrings.xml\",\n            \"path\": \"${android_path}\"\n        }\n    },\n    {{\u002Fif}}\n\n    {{#if (existing && !multiModule && !flavorsTypes)}}\n    \"upload\": {\n        \"type\": \"android\",\n        \"files\": [\n            {\n                \"pattern\": \"|APPMODULE|\u002Fsrc\u002Fmain\u002Fres\u002Fvalues\u002Fstrings.xml\",\n                \"lang\": \"inherited\"\n            },\n            {\n                \"group\": \"existing\",\n                \"pattern\": \"|APPMODULE|\u002Fsrc\u002Fmain\u002Fres\u002Fvalues-*\u002Fstrings.xml\",\n                \"lang\": \"${android_lang}\"\n            }\n        ]\n    },\n    {{\u002Fif}}\n\n    {{#if (existing && (multiModule || flavorsTypes))}}\n    \"upload\": {\n        \"type\": \"android\",\n        \"files\": [\n            {\n                \"pattern\": \"{{#if (multiModule)}}*{{\u002Fif}}{{#if (!multiModule)}}|APPMODULE|{{\u002Fif}}\u002Fsrc\u002F{{#if (flavorsTypes)}}*{{\u002Fif}}{{#if (!flavorsTypes)}}main{{\u002Fif}}\u002Fres\u002Fvalues\u002Fstrings.xml\",\n                \"lang\": \"inherited\",\n                \"path\": \"${android_path}\"\n            },\n            {\n                \"group\": \"existing\",\n                \"pattern\": \"{{#if (multiModule)}}*{{\u002Fif}}{{#if (!multiModule)}}|APPMODULE|{{\u002Fif}}\u002Fsrc\u002F{{#if (flavorsTypes)}}*{{\u002Fif}}{{#if (!flavorsTypes)}}main{{\u002Fif}}\u002Fres\u002Fvalues-*\u002Fstrings.xml\",\n                \"lang\": \"${android_lang}\",\n                \"path\": \"${android_path}\"\n            }\n        ]\n    },\n    {{\u002Fif}}\n\n\n    {{#if convertIos && !existing && !multiModule && !flavorsTypes}}\n    \"conversion\": {\n        \"actions\": [\n            {\n                \"type\": \"ios-strings\",\n                \"output\": \"..\u002Fyour-ios-path\u002F${iosLprojFolder}\u002FLocalizable.strings\",\n                \"changeExtension\": \".strings\"\n            },\n            {\n                \"type\": \"ios-stringsdict\",\n                \"output\": \"..\u002Fyour-ios-path\u002F${iosLprojFolder}\u002FLocalizable.stringsdict\",\n                \"changeExtension\": \".stringsdict\",\n                \"params\": {\n                    \"variable\": \"COUNT\"\n                }\n            }\n        ]\n    },\n    {{\u002Fif}}\n\n    {{#if convertIos && (existing || multiModule || flavorsTypes)}}\n    \"conversion\": {\n        \"$comment\": \"You have to correctly handle multiple files from Android in different paths!\",\n        \"actions\": [\n             {\n                \"type\": \"ios-strings\",\n                \"output\": \"..\u002Fyour-ios-path\u002F${iosLprojFolder}\u002F${path}\u002FLocalizable.strings\",\n                \"changeExtension\": \".strings\"\n            },\n            {\n                \"type\": \"ios-stringsdict\",\n                \"output\": \"..\u002Fyour-ios-path\u002F${iosLprojFolder}\u002F${path}\u002FLocalizable.stringsdict\",\n                \"changeExtension\": \".stringsdict\",\n                \"params\": {\n                    \"variable\": \"COUNT\"\n                }\n            }\n        ]\n    },\n    {{\u002Fif}}\n\n\n    {{#if downloadSource && !existing && !multiModule && !flavorsTypes}}\n    \"download\": {\n        \"includeSourceLang\": \"true\",\n        \"files\": [\n            {\n                \"output\": \"|APPMODULE|\u002Fsrc\u002Fmain\u002Fres\u002Fvalues\u002Fstrings.xml\",\n                \"conditions\": \"equals: ${lang}, ${sourceLang}\",\n                \"stop\": true\n            },\n            {\n                \"output\": \"|APPMODULE|\u002Fsrc\u002Fmain\u002Fres\u002Fvalues-${langAndroidRes}\u002Fstrings.xml\",\n                \"conditions\": \"!equals: ${lang}, ${sourceLang}\",\n                \"stop\": true\n            }\n        ]\n    },\n    {{\u002Fif}}\n\n    {{#if downloadSource && (existing || multiModule || flavorsTypes)}}\n    \"download\": {\n        \"includeSourceLang\": \"true\",\n        \"files\": [\n            {\n                \"output\": \"${path}\u002Fres\u002Fvalues\u002Fstrings.xml\",\n                \"conditions\": \"equals: ${lang}, ${sourceLang}\",\n                \"stop\": true\n            },\n            {\n                \"output\": \"${path}\u002Fres\u002Fvalues-${langAndroidRes}\u002Fstrings.xml\",\n                \"conditions\": \"!equals: ${lang}, ${sourceLang}\",\n                \"stop\": true\n            }\n        ]\n    },\n    {{\u002Fif}}\n\n    {{#if !downloadSource && !existing && !multiModule && !flavorsTypes}}\n    \"download\": {\n        \"includeSourceLang\": \"false\",\n        \"files\": \"|APPMODULE|\u002Fsrc\u002Fmain\u002Fres\u002Fvalues-${langAndroidRes}\u002Fstrings.xml\"\n    },\n    {{\u002Fif}}\n\n    {{#if !downloadSource && (existing || multiModule || flavorsTypes)}}\n    \"download\": {\n        \"includeSourceLang\": \"false\",\n        \"files\": \"${path}\u002Fres\u002Fvalues-${langAndroidRes}\u002Fstrings.xml\"\n    },\n    {{\u002Fif}}\n\n}\n```\n\n\n**3.** {{#if existing}}Run `localazy upload existing` to upload all the existing translations for the first time. Subsequently, upload{{\u002Fif}}{{#if !existing}}Upload{{\u002Fif}} the source strings with `localazy upload` whenever you change them.\n\n**4.** Download translated files {{#if convertIos}}and convert them for iOS{{\u002Fif}} with `localazy download` before building your app.\n\n---\n\n::: info\nSee more [Android samples](\u002Fdocs\u002Fcli\u002Fandroid-format) for complex apps with existing translations, build types, product flavors, etc.\n:::\n\n::: info\nYou can upload all your existing translations too! [Learn more about it.](\u002Fdocs\u002Fcli\u002Fexisting-translations){data-related=\"Upload existing translations\"} \n:::\n\n---\n\nLocalazy CLI is simple to start yet flexible enough for any project. [Let's take a quick tour](\u002Fdocs\u002Fcli\u002Fthe-basics). {data-end-include}\n","Localize your Android app with Localazy CLI.",{"id":266,"status":4,"sort":43,"created_on":1864,"slug":843,"name":520,"subtitle":1865,"meta_title":8,"meta_description":8,"hidden":93,"icon":2414,"featured_icon":2415},{"id":715},{"id":1868},{"id":214,"status":4,"sort":433,"created_on":1871,"name":1872},{"id":16,"status":438,"created_on":2418,"modified_on":2419,"icon":2420,"header":2421,"description":2422,"button_label":2421,"link":2423},"2022-03-17T12:23:03.000Z","2020-05-19T09:23:31.000Z","member","NONE","Use this if no CTA should be shown.","none",[2425],{"id":266,"status":4,"title":2426,"content":2427,"slug":2428,"created_on":2429,"modified_on":2430,"owner":2431,"meta_title":8,"category":2432},"I am too busy, but I want to switch. Any help by hand?","It is incredibly easy to use Localazy if you follow common practices when it comes to string management. However, feel free to leave us a message anytime, our team is available online to help you proceed. Or just send an invite to your favourite developer.","i-am-too-busy-but-i-want-to-switch-any-help-by-hand","2022-03-17T12:23:00.000Z","2025-10-30T05:44:25.000Z","2bac48a8-b362-482f-b574-3bc71dca4c5b",{"id":22,"status":4,"created_on":2433,"sort":98,"slug":2434,"label":2435,"on_faq_index":93},"2022-03-17T12:22:57.000Z","migration","Migration",[],[2438],{"id":400,"documentation_id":400,"languages_code":925,"slug":2408,"title":2409,"content":2411,"meta_title":53,"meta_description":2412,"excerpt":2410},[],{"id":1516,"status":4,"sort":2441,"created_on":2442,"modified_on":2443,"slug":2444,"title":2445,"excerpt":2446,"content":2447,"meta_title":8,"meta_description":8,"pinned":91,"main_image":8,"section":2448,"subsection":2451,"cta":8,"faq":2452,"dictionary":2453,"translations":2454,"documentation_id":1516,"blog_articles":2456},"70020","2022-03-18T07:51:27.000Z","2026-04-14T19:15:58.000Z","quick-start-api","Quick Start - Management API","Choose between translating strings directly or uploading them into Localazy.\n","## Introduction\n\n**Get your token**\nTo generate a token, go to the [Developer Console](\u002Fconsole\u002Ftokens) in Localazy and create a token under **Access Tokens**. \n\n**Find your project ID**\nCall `\u002Fprojects` endpoint and retrieve your **project id** that is needed for most endpoints.\n```bash\ncurl --request GET \\\n  --url 'https:\u002F\u002Fapi.localazy.com\u002Fprojects' \\\n  --header 'Authorization: Bearer \u003Cproject-token>'\n```\n\n- Learn more about [token types and Localazy API authentication](\u002Fdocs\u002Fapi\u002Fauthentication). \n\n## Management API\n\n**You can upload strings into the project using our API to manage them over time** \n\nWith your project id, you can import content as following: \n```bash\ncurl --request POST \\\n  --url 'https:\u002F\u002Fapi.localazy.com\u002Fprojects\u002F\u003Cproject-id>\u002Fimport' \\\n  --header 'Authorization: Bearer \u003Cproject-token>' \\\n  --header 'Content-Type: application\u002Fjson' \\\n  --data '{\n  \"files\": [\n    {\n      \"name\": \"file.json\",\n      \"content\": {\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\n- For more import options, check the [API Import](https:\u002F\u002Flocalazy.com\u002Fdocs\u002Fapi\u002Fimport) article.\n- Learn how to download your files in the [API Files](https:\u002F\u002Flocalazy.com\u002Fdocs\u002Fapi\u002Ffiles) article.\n\n\n---\n\n\n## Localazy AI Translation API\n**The AI Translation API lets you translate strings programmatically using Localazy AI. These strings won't be uploaded into your project.**\n\nFor this use case, a **translation token** is recommended — it has a narrower scope and is safer to use in application code.\n\n### Credits\n\nEach request consumes [Localazy credits](\u002Fdocs\u002Fgeneral\u002Flocalazy-credits) based on the number of words translated. You can check your balance and top up new credits in the Localazy dashboard under **[Organization billing → Services](\u002Fmy\u002Fservices\u002Ftranslation-services)**.\n\n\n### Set up your context (style guide & glossary)\n\nThe API automatically picks up your project's [style guide](\u002Fdocs\u002Fgeneral\u002Fstyle-guide) and [glossary](\u002Fdocs\u002Fgeneral\u002Fhow-to-define-your-glossary) when generating translations. No extra parameters needed, just make sure they're configured in your Localazy project before you start sending requests.\n\n- **Style guide** defines tone, formality, and writing rules (e.g., avoid passive voice, use informal register). \n- **Glossary** locks specific terms to their approved translations (e.g., \"Dashboard\" always translates as \"Dashboard\", not \"Tableau de bord\").\n\nIf your project already has these configured, the AI uses them automatically. If not, this is a good moment to set them up, they make a noticeable difference in consistency.\n\n### Send a translation request\n\n```bash\ncurl --request POST \\\n  --url https:\u002F\u002Fapi.localazy.com\u002Fprojects\u002F{projectId}\u002Fai \\\n  --header 'Authorization: Bearer {your_token}' \\\n  --header 'Content-Type: application\u002Fjson' \\\n  --data '{\n    \"from\": \"en\",\n    \"to\": \"de\",\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`from` and `to` are locale codes (e.g. `en`, `de`, `cs`, `ja`). `items` is an array of strings to translate — you can send up to 32 per request.\n\n- [Full API reference: AI Translation](\u002Fdocs\u002Fapi\u002Fai-translation-api)\n\n\n---",{"id":266,"status":4,"sort":43,"created_on":1864,"slug":843,"name":520,"subtitle":1865,"meta_title":8,"meta_description":8,"hidden":93,"icon":2449,"featured_icon":2450},{"id":715},{"id":1868},{"id":214,"status":4,"sort":433,"created_on":1871,"name":1872},[],[],[2455],{"id":1516,"documentation_id":1516,"languages_code":925,"slug":2444,"title":2445,"content":2447,"meta_title":8,"meta_description":8,"excerpt":2446},[],{"id":2458,"status":4,"sort":2459,"created_on":2406,"modified_on":2460,"slug":2461,"title":2462,"excerpt":2463,"content":2464,"meta_title":2462,"meta_description":2463,"pinned":91,"main_image":8,"section":2465,"subsection":2468,"cta":2469,"faq":2470,"dictionary":2471,"translations":2472,"documentation_id":2458,"blog_articles":2474},100,"70040","2024-07-16T15:15:00.000Z","quick-start-csv","Quick Start - CSV","Localize your CSV files easily with Localazy CLI.","**Upload CSV files with strings to Localazy and manage your translations easily. Download translated files back.**\n\n**1.** [Install Localazy CLI](\u002Fdocs\u002Fcli\u002Finstallation) for your operating system. \n\n**2.** Create a configuration file **localazy.json** in the root of your project. You can start with our sample:\n\n```json\n{\n\n  \"writeKey\": \"___USER_WRITE_KEY___\",\n  \"readKey\": \"___USER_READ_KEY___\",\n  \n  \"upload\": {  \n    \"type\": \"csv\",\n    \"files\": \"translations\u002Fstrings.csv\"         \n  },\n  \n  \"download\": {\n    \"files\": \"translations\u002F${lang}.csv\"\n  }\n  \n}  \n```\n\n**3.** Upload the source strings with `localazy upload` whenever you change them.\n\n**4.** Download translated files with `localazy download` before building your app.\n\n---\n\n::: info\n[Learn how to define character encoding, delimiters, quotes and more](\u002Fdocs\u002Fcli\u002Fcsv-format) for the CSV file format.\n:::\n\n::: info\nYou can upload all your existing translations too! [Learn more about it.](\u002Fdocs\u002Fcli\u002Fexisting-translations) \n:::\n\n---\n\nLocalazy CLI is simple to start yet flexible enough for any project. [Let's take the quick tour](\u002Fdocs\u002Fcli\u002Fthe-basics).\n",{"id":266,"status":4,"sort":43,"created_on":1864,"slug":843,"name":520,"subtitle":1865,"meta_title":8,"meta_description":8,"hidden":93,"icon":2466,"featured_icon":2467},{"id":715},{"id":1868},{"id":214,"status":4,"sort":433,"created_on":1871,"name":1872},{"id":16,"status":438,"created_on":2418,"modified_on":2419,"icon":2420,"header":2421,"description":2422,"button_label":2421,"link":2423},[],[],[2473],{"id":2458,"documentation_id":2458,"languages_code":925,"slug":2461,"title":2462,"content":2464,"meta_title":2462,"meta_description":2463,"excerpt":2463},[],{"id":2476,"status":4,"sort":2477,"created_on":2406,"modified_on":2478,"slug":2479,"title":2480,"excerpt":2481,"content":2482,"meta_title":2480,"meta_description":2481,"pinned":91,"main_image":8,"section":2483,"subsection":2486,"cta":2487,"faq":2488,"dictionary":2491,"translations":2492,"documentation_id":2476,"blog_articles":2494},74,"70050","2024-07-16T15:14:50.000Z","quick-start-django","Quick Start - Django","Localize your django app easily with Localazy CLI.","**Django generates PO files that are fully supported by Localazy. Upload them and manage your translations easily. Download translated files back.**\n\n**1.** [Install Localazy CLI](\u002Fdocs\u002Fcli\u002Finstallation) for your operating system. \n\n**2.** Create a configuration file **localazy.json** in the root of your project. You can start with our sample:\n\n```json\n{\n\n  \"writeKey\": \"___USER_WRITE_KEY___\",\n  \"readKey\": \"___USER_READ_KEY___\",\n  \n  \"upload\": {  \n    \"type\": \"pot\",\n    \"files\": \"translations\u002Fstrings.po\"         \n  },\n  \n  \"download\": {\n    \"files\": \"translations\u002F${lang}.po\"\n  }\n  \n}  \n```\n\n**3.** Upload the source strings with `localazy upload` whenever you change them.\n\n**4.** Download translated files with `localazy download` before building your app.\n\n---\n\n::: info\nFrom the source code, django generates PO file without translations which is technically POT file. Therefore the `POT` type above. Learn more details about our [PO\u002FPOT file support](\u002Fdocs\u002Fcli\u002Fpo-format). \n:::\n\n::: info\nYou can upload all your existing translations too! [Learn more about it.](\u002Fdocs\u002Fcli\u002Fexisting-translations) \n:::\n\n---\n\nLocalazy CLI is simple to start yet flexible enough for any project. [Let's take the quick tour](\u002Fdocs\u002Fcli\u002Fthe-basics).\n",{"id":266,"status":4,"sort":43,"created_on":1864,"slug":843,"name":520,"subtitle":1865,"meta_title":8,"meta_description":8,"hidden":93,"icon":2484,"featured_icon":2485},{"id":715},{"id":1868},{"id":214,"status":4,"sort":433,"created_on":1871,"name":1872},{"id":16,"status":438,"created_on":2418,"modified_on":2419,"icon":2420,"header":2421,"description":2422,"button_label":2421,"link":2423},[2489],{"id":266,"status":4,"title":2426,"content":2427,"slug":2428,"created_on":2429,"modified_on":2430,"owner":2431,"meta_title":8,"category":2490},{"id":22,"status":4,"created_on":2433,"sort":98,"slug":2434,"label":2435,"on_faq_index":93},[],[2493],{"id":2476,"documentation_id":2476,"languages_code":925,"slug":2479,"title":2480,"content":2482,"meta_title":2480,"meta_description":2481,"excerpt":2481},[],{"id":2496,"status":4,"sort":2497,"created_on":2442,"modified_on":1760,"slug":2498,"title":2499,"excerpt":2500,"content":2501,"meta_title":8,"meta_description":8,"pinned":91,"main_image":8,"section":2502,"subsection":2505,"cta":8,"faq":2506,"dictionary":2507,"translations":2508,"documentation_id":2496,"blog_articles":2510},136,"70060","quick-start-figma","Quick Start - Figma","Learn how to import your texts from your design files quickly.","**1.** Find the [Localization Plugin by Localazy](https:\u002F\u002Fwww.figma.com\u002Fcommunity\u002Fplugin\u002F964257457772706017\u002FLocalization-plugin-by-Localazy) in Figma.\n\n**2.** In Figma, open the document you wish to translate. \n\n**3.** Run the plugin by navigating to **Plugins -> Localization plugin by Localazy** and clicking on **Connect**.\n\n**4.** You'll be redirected to a browser. Select a project you wish to connect, confirm and return to Figma.\n\n**5.** Optionally, select some nodes, navigate to the plugin and click **Upload to Localazy**.\n\n![](https:\u002F\u002Fdirectus9.localazy.com\u002Fassets\u002F06f843ca-cc92-44f6-b2f1-6e4df243c656) \n\n:::info\nNote that the [Autopilot plan](https:\u002F\u002Flocalazy.com\u002Fpricing) is required in order to use the Figma plugin. Every new account comes with a 14-day trial period allowing you to test the integration before you subscribe to a paid plan.\n:::\n\n:::info\nFor more information and suggested workflows check out [the documentation](https:\u002F\u002Flocalazy.com\u002Fdocs\u002Ffigma\u002Fplugin-introduction).{data-related-link}\n:::\n\n:::info\nLearn more about [the advanced settings](https:\u002F\u002Flocalazy.com\u002Fdocs\u002Ffigma\u002Fsettings-tab) of the plugin.{data-related-link}\n:::\n\n:::info\nHave a look at video guide about using [Figma as Source of Truth](https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=L-U51r-6yIQ) if you wish to turn your designs into the source for all your textual content.{data-related-link}\n::: \n",{"id":266,"status":4,"sort":43,"created_on":1864,"slug":843,"name":520,"subtitle":1865,"meta_title":8,"meta_description":8,"hidden":93,"icon":2503,"featured_icon":2504},{"id":715},{"id":1868},{"id":214,"status":4,"sort":433,"created_on":1871,"name":1872},[],[],[2509],{"id":2496,"documentation_id":2496,"languages_code":925,"slug":2498,"title":2499,"content":2501,"meta_title":8,"meta_description":8,"excerpt":2500},[],{"id":225,"status":4,"sort":2512,"created_on":2406,"modified_on":2513,"slug":2514,"title":2515,"excerpt":2516,"content":2517,"meta_title":2515,"meta_description":2516,"pinned":91,"main_image":8,"section":2518,"subsection":2521,"cta":2522,"faq":2523,"dictionary":2526,"translations":2527,"documentation_id":225,"blog_articles":2529},"70070","2024-07-16T15:14:40.000Z","quick-start-flutter","Quick Start - Flutter","Localize your Flutter app with Localazy CLI.","**Upload ARB files with strings to Localazy and manage your translations easily. Download translated files back.**\n\n**1.** [Install Localazy CLI](\u002Fdocs\u002Fcli\u002Finstallation) for your operating system. \n\n**2.** Create a configuration file **localazy.json** in the root of your project. You can start with our sample:\n\n```json\n{\n\n  \"writeKey\": \"___USER_WRITE_KEY___\",\n  \"readKey\": \"___USER_READ_KEY___\",\n  \n  \"upload\": {  \n    \"type\": \"arb\",\n    \"files\": \"res\u002Fvalues\u002Fstrings_en.arb\"\n  },\n  \n  \"download\": {\n    \"files\": \"res\u002Fvalues\u002Fstrings_${lang}.arb\"\n  }\n  \n}  \n```\n\n**3.** Upload the source strings with `localazy upload` whenever you change them.\n\n**4.** Download translated files with `localazy download` before building your app.\n\n---\n\n::: info\nLearn more our [Flutter's ARB format](\u002Fdocs\u002Fcli\u002Fflutter-format) support for plurals, arrays and context information.\n:::\n\n::: info\nYou can upload all your existing translations too! [Learn more about it.](\u002Fdocs\u002Fcli\u002Fexisting-translations) \n:::\n\n---\n\nLocalazy CLI is simple to start yet flexible enough for any project. [Let's take a quick tour](\u002Fdocs\u002Fcli\u002Fthe-basics).\n",{"id":266,"status":4,"sort":43,"created_on":1864,"slug":843,"name":520,"subtitle":1865,"meta_title":8,"meta_description":8,"hidden":93,"icon":2519,"featured_icon":2520},{"id":715},{"id":1868},{"id":214,"status":4,"sort":433,"created_on":1871,"name":1872},{"id":16,"status":438,"created_on":2418,"modified_on":2419,"icon":2420,"header":2421,"description":2422,"button_label":2421,"link":2423},[2524],{"id":266,"status":4,"title":2426,"content":2427,"slug":2428,"created_on":2429,"modified_on":2430,"owner":2431,"meta_title":8,"category":2525},{"id":22,"status":4,"created_on":2433,"sort":98,"slug":2434,"label":2435,"on_faq_index":93},[],[2528],{"id":225,"documentation_id":225,"languages_code":925,"slug":2514,"title":2515,"content":2517,"meta_title":2515,"meta_description":2516,"excerpt":2516},[],{"id":2531,"status":4,"sort":2532,"created_on":2406,"modified_on":2533,"slug":2534,"title":2535,"excerpt":2536,"content":2537,"meta_title":8,"meta_description":2536,"pinned":91,"main_image":8,"section":2538,"subsection":2541,"cta":2542,"faq":2543,"dictionary":2546,"translations":2547,"documentation_id":2531,"blog_articles":2549},93,"70080","2024-07-16T15:14:58.000Z","quick-start-go","Quick Start - Go","Localize your Go app with Localazy CLI.","**Upload resource files with strings to Localazy and manage your translations easily. Download translated files back.**\n\n**1.** [Install Localazy CLI](\u002Fdocs\u002Fcli\u002Finstallation) for your operating system. \n\n**2.** Create a configuration file **localazy.json** in the app's module. You can start with our sample:\n\n```json\n{\n\n  \"writeKey\": \"___USER_WRITE_KEY___\",\n  \"readKey\": \"___USER_READ_KEY___\",\n  \n  \"upload\": {  \n      \"type\": \"json\",\n      \"files\": \"locales\u002Fen.json\",\n      \"features\": [\"plural_object\"]  \n  },\n      \n  \"download\": {\n      \"files\": \"locales\u002F${lang}.json\"\n  }\n  \n}  \n```\n\n**3.** Upload the source strings with `localazy upload` whenever you change them.\n\n**4.** Download translated files with `localazy download` before building your app.\n\n---\n\n::: info\n**Localazy JSON parser is highly configurable!** [Learn more](\u002Fdocs\u002Fcli\u002Fjson-format) about plain and structured JSONs, plurals, arrays, Mozilla\u002FChrome i18n, RequireJS, etc.\n:::\n\n::: info\nOther formats such as TOML or YAML are supported too.\n:::\n\n::: info\nYou can upload all your existing translations too! [Learn more about it.](\u002Fdocs\u002Fcli\u002Fexisting-translations) \n:::\n\n---\n\nLocalazy CLI is simple to start yet flexible enough for any project. [Let's take a quick tour](\u002Fdocs\u002Fcli\u002Fthe-basics).\n",{"id":266,"status":4,"sort":43,"created_on":1864,"slug":843,"name":520,"subtitle":1865,"meta_title":8,"meta_description":8,"hidden":93,"icon":2539,"featured_icon":2540},{"id":715},{"id":1868},{"id":214,"status":4,"sort":433,"created_on":1871,"name":1872},{"id":16,"status":438,"created_on":2418,"modified_on":2419,"icon":2420,"header":2421,"description":2422,"button_label":2421,"link":2423},[2544],{"id":266,"status":4,"title":2426,"content":2427,"slug":2428,"created_on":2429,"modified_on":2430,"owner":2431,"meta_title":8,"category":2545},{"id":22,"status":4,"created_on":2433,"sort":98,"slug":2434,"label":2435,"on_faq_index":93},[],[2548],{"id":2531,"documentation_id":2531,"languages_code":925,"slug":2534,"title":2535,"content":2537,"meta_title":8,"meta_description":2536,"excerpt":2536},[],{"id":446,"status":4,"sort":2551,"created_on":2406,"modified_on":2552,"slug":2553,"title":2554,"excerpt":2555,"content":2556,"meta_title":2554,"meta_description":2555,"pinned":91,"main_image":8,"section":2557,"subsection":2560,"cta":2561,"faq":2562,"dictionary":2575,"translations":2576,"documentation_id":446,"blog_articles":2578},"70090","2024-07-16T15:14:43.000Z","quick-start-hjson","Quick Start - HJSON","Localize your app with HJSON localizations and Localazy CLI.","**Upload HJSON files with strings to Localazy and manage your translations easily. Download translated files back.**\n\n**1.** [Install Localazy CLI](\u002Fdocs\u002Fcli\u002Finstallation) for your operating system. \n\n**2.** Create a configuration file **localazy.json** in the root of your project. You can start with our sample:\n\n```json\n{\n\n  \"writeKey\": \"___USER_WRITE_KEY___\",\n  \"readKey\": \"___USER_READ_KEY___\",\n  \n  \"upload\": {  \n    \"type\": \"hjson\",\n    \"files\": \"translations\u002Fen.hjson\"         \n  },\n  \n  \"download\": {\n    \"files\": \"translations\u002F${lang}.hjson\"\n  }\n  \n}  \n```\n\n**3.** Upload the source strings with `localazy upload` whenever you change them.\n\n**4.** Download translated files with `localazy download` before building your app.\n\n---\n\n::: info\nYou can output the standard JSON format from input HJSON. [Read more about it.](\u002Fdocs\u002Fcli\u002Fhjson-format)\n:::\n\n::: info\n**Localazy HJSON parser is highly configurable!** [Learn more](\u002Fdocs\u002Fcli\u002Fhjson-format) about plain and structured files, plurals, arrays, etc.\n:::\n\n::: info\nYou can upload all your existing translations too! [Learn more about it.](\u002Fdocs\u002Fcli\u002Fexisting-translations) \n:::\n\n---\n\nLocalazy CLI is simple to start yet flexible enough for any project. [Let's take the quick tour](\u002Fdocs\u002Fcli\u002Fthe-basics).\n",{"id":266,"status":4,"sort":43,"created_on":1864,"slug":843,"name":520,"subtitle":1865,"meta_title":8,"meta_description":8,"hidden":93,"icon":2558,"featured_icon":2559},{"id":715},{"id":1868},{"id":214,"status":4,"sort":433,"created_on":1871,"name":1872},{"id":16,"status":438,"created_on":2418,"modified_on":2419,"icon":2420,"header":2421,"description":2422,"button_label":2421,"link":2423},[2563,2565],{"id":266,"status":4,"title":2426,"content":2427,"slug":2428,"created_on":2429,"modified_on":2430,"owner":2431,"meta_title":8,"category":2564},{"id":22,"status":4,"created_on":2433,"sort":98,"slug":2434,"label":2435,"on_faq_index":93},{"id":2566,"status":4,"title":2567,"content":2568,"slug":2569,"created_on":2570,"modified_on":2571,"owner":2431,"meta_title":8,"category":2572},146,"How to open and edit JSON files?","You can use any text\u002Fcode editor such as Notepad, Sublime Text, and others to open and edit [JSON](\u002Fdictionary\u002Fjson) files. Alternatively, use an online editor to edit your JSON files.\n\nHowever, for JSON files containing strings of texts or translations, you should use Localazy, suitable for managing multiple [file formats](\u002Fjson).\n\nTo open and edit JSON files using the Localazy interface, [sign up for free](\u002Fregister) and create a new translation project. Once you upload your JSON file, click on the File management tab to view, open and access your file content.\n\nLocalazy is a state-of-the-art translation management platform and localization suite to help you translate your JSON files effectively. Learn more in the [Getting Started Guide](\u002Fdocs\u002Fgeneral\u002Fgetting-started-with-localazy).\n\n## Resources\n[CLI: JSON File Format](\u002Fdocs\u002Fcli\u002Fjson-format)\n[CLI Quick Start - JSON](\u002Fdocs\u002Fintegrations\u002Fquick-start-json)","how-to-open-and-edit-json-files","2022-03-17T12:23:02.000Z","2025-10-27T13:26:10.000Z",{"id":134,"status":4,"created_on":1966,"sort":8,"slug":2573,"label":2574,"on_faq_index":93},"file-formats","File Formats",[],[2577],{"id":446,"documentation_id":446,"languages_code":925,"slug":2553,"title":2554,"content":2556,"meta_title":2554,"meta_description":2555,"excerpt":2555},[],{"id":2580,"status":4,"sort":2581,"created_on":2406,"modified_on":2582,"slug":2583,"title":2584,"excerpt":2585,"content":2586,"meta_title":2584,"meta_description":2585,"pinned":91,"main_image":8,"section":2587,"subsection":2590,"cta":2591,"faq":2592,"dictionary":2593,"translations":2594,"documentation_id":2580,"blog_articles":2596},78,"70095","2024-07-16T15:14:53.000Z","quick-start-ini","Quick Start - INI","Localize your INI files easily with Localazy CLI.","**Upload INI files with strings to Localazy and manage your translations easily. Download translated files back.**\n\n**1.** [Install Localazy CLI](\u002Fdocs\u002Fcli\u002Finstallation) for your operating system. \n\n**2.** Create a configuration file **localazy.json** in the root of your project. You can start with our sample:\n\n```json\n{\n\n  \"writeKey\": \"___USER_WRITE_KEY___\",\n  \"readKey\": \"___USER_READ_KEY___\",\n  \n  \"upload\": {  \n    \"type\": \"ini\",\n    \"files\": \"translations\u002Fstrings.ini\"         \n  },\n  \n  \"download\": {\n    \"files\": \"translations\u002F${lang}.ini\"\n  }\n  \n}  \n```\n\n**3.** Upload the source strings with `localazy upload` whenever you change them.\n\n**4.** Download translated files with `localazy download` before building your app.\n\n---\n\n::: info\n[Learn more about supported features](\u002Fdocs\u002Fcli\u002Fini-format) for the INI file format.\n:::\n\n::: info\nYou can upload all your existing translations too! [Learn more about it.](\u002Fdocs\u002Fcli\u002Fexisting-translations) \n:::\n\n---\n\nLocalazy CLI is simple to start yet flexible enough for any project. [Let's take the quick tour](\u002Fdocs\u002Fcli\u002Fthe-basics).\n",{"id":266,"status":4,"sort":43,"created_on":1864,"slug":843,"name":520,"subtitle":1865,"meta_title":8,"meta_description":8,"hidden":93,"icon":2588,"featured_icon":2589},{"id":715},{"id":1868},{"id":214,"status":4,"sort":433,"created_on":1871,"name":1872},{"id":16,"status":438,"created_on":2418,"modified_on":2419,"icon":2420,"header":2421,"description":2422,"button_label":2421,"link":2423},[],[],[2595],{"id":2580,"documentation_id":2580,"languages_code":925,"slug":2583,"title":2584,"content":2586,"meta_title":2584,"meta_description":2585,"excerpt":2585},[],{"id":152,"status":4,"sort":2598,"created_on":2406,"modified_on":2599,"slug":2600,"title":2601,"excerpt":2602,"content":2603,"meta_title":2601,"meta_description":2602,"pinned":91,"main_image":8,"section":2604,"subsection":2607,"cta":2608,"faq":2609,"dictionary":2612,"translations":2613,"documentation_id":152,"blog_articles":2615},"70100","2024-07-16T15:14:39.000Z","quick-start-ios","Quick Start - iOS & macOS","Localize your iOS or macOS app with Localazy CLI.","## CLI{data-start-include data-integration-type}\n**Upload Localizable files to Localazy and manage your translations easily. Download translated files back.**\n\n**1.** [Install Localazy CLI](\u002Fdocs\u002Fcli\u002Finstallation) for your operating system. \n\n**2.** Create a configuration file **localazy.json** in the root of your project. You can start with our sample:\n\n### .xcstrings\n\n```json\n{\n\n  \"writeKey\": \"___USER_WRITE_KEY___\",\n  \"readKey\": \"___USER_READ_KEY___\",\n  \n  \"upload\": {  \n    \"type\": \"xcstrings\",\n    \"files\": \"locales\u002Fen.xcstrings\"         \n  },\n  \n  \"download\": {\n    \"files\": \"locales\u002F${lang}.xcstrings\"\n  }\n  \n}  \n```\n\n### .strings\n\n```json\n{\n\n  \"writeKey\": \"___USER_WRITE_KEY___\",\n  \"readKey\": \"___USER_READ_KEY___\",\n  \n  \"upload\": {  \n    \"type\": \"ios-strings\",\n    \"files\": \"Base.lproj\u002FLocalizable.strings\"\n  },\n  \n  \"download\": {\n    \"files\": \"${iosLprojFolder}\u002F${file}\"\n  }\n  \n}  \n```\n\n### .stringsdict\n\n```json\n{\n\n  \"writeKey\": \"___USER_WRITE_KEY___\",\n  \"readKey\": \"___USER_READ_KEY___\",\n  \n  \"upload\": {  \n    \"type\": \"ios-stringsdict\",\n    \"files\": \"Base.lproj\u002FLocalizable.stringsdict\"\n  },\n  \n  \"download\": {\n    \"files\": \"${iosLprojFolder}\u002F${file}\"\n  }\n  \n}  \n```\n\n### .plist\n\n```json\n{\n\n  \"writeKey\": \"___USER_WRITE_KEY___\",\n  \"readKey\": \"___USER_READ_KEY___\",\n  \n  \"upload\": {  \n    \"type\": \"ios-plist\",\n    \"files\": \"Base.lproj\u002FLocalizable.plist\"\n  },\n  \n  \"download\": {\n    \"files\": \"${iosLprojFolder}\u002F${file}\"\n  }\n  \n}  \n```\n\n**3.** Upload the source strings with `localazy upload` whenever you change them.{data-end-format}\n\n**4.** Download translated files with `localazy download` before building your app.\n\n\u003Cbr>\n\n::: success\nTIP: Want to use over-the-air updates? Read our [Swift SDK guide](https:\u002F\u002Flocalazy.com\u002Fdocs\u002Fios\u002Finstallation-and-setup).\n:::\n\n\u003Cbr>\n\u003C!--\n::: info\nLearn more about [XCode Strings Catalog support in Localazy.](\u002Fdocs\u002Fcli\u002Fxcstrings-format)\n{data-related-link}\n:::\n-->\n\n::: info\nSee full [Xcode String Catalogs documentation](\u002Fdocs\u002Fcli\u002Fxcstrings-format) for `.xcstrings` files.\n{data-related-link}\n:::\n\n::: info\nSee full [iOS\u002FmacOS documentation](\u002Fdocs\u002Fcli\u002Fios-format) for `.strings`, `.stringsdict`, `.plist` and XLIFF files.\n{data-related-link}\n:::\n\n::: info\nYou can upload all your existing translations too! [Learn more about it](\u002Fdocs\u002Fcli\u002Fexisting-translations).\n{data-related-link}\n:::\n\n\n## SDK{data-integration-type}\n\n**Integrate our Swift SDK into your iOS app. Deliver translations without publishing new versions to App Store.**\n\n**1.** Upload your source language strings. Follow the [CLI quick start](https:\u002F\u002Flocalazy.com\u002Fdocs\u002Fintegrations\u002Fquick-start-ios), or do it manually in the File management section.\n\n**2.** Copy the following URL and add it to your Swift Package Dependencies.\n\n```plain\nhttps:\u002F\u002Fgithub.com\u002Flocalazy\u002Flocalazy-swift\n```\n**3.** Create `Localazy.plist` configuration file and add it to your project root.\n\n```xml\n\u003C?xml version=\"1.0\" encoding=\"UTF-8\"?>\n\u003C!DOCTYPE plist PUBLIC \"-\u002F\u002FApple\u002F\u002FDTD PLIST 1.0\u002F\u002FEN\" \"http:\u002F\u002Fwww.apple.com\u002FDTDs\u002FPropertyList-1.0.dtd\">\n\u003Cplist version=\"1.0\">\n\u003Cdict>\n  \u003Ckey>readKey\u003C\u002Fkey>\n  \u003Cstring>___USER_READ_KEY___\u003C\u002Fstring>  \n\u003C\u002Fdict>\n\u003C\u002Fplist>\n```\n\n**3.** Import Localazy library in your project.\n\n```swift\n#if os(macOS)\nimport Localazy_macOS\n#else\nimport Localazy_iOS\n#endif\n```\n\n**5.** Get the translated version of your strings by calling:\n```swift\n\"Hello\".localazyLocalized\n```\n:::info\nRead the complete [Usage guide](https:\u002F\u002Flocalazy.com\u002Fdocs\u002Fios\u002Fusage-guide).{data-related-link}\n:::\n\n::: info\nCheck out [How to translate iOS apps](https:\u002F\u002Flocalazy.com\u002Fblog\u002Fintegrate-localazy-ios-apps-localization-tutorial) tutorial for more useful information.\n{data-related-link}\n:::\n\n{data-end-include}\n\n",{"id":266,"status":4,"sort":43,"created_on":1864,"slug":843,"name":520,"subtitle":1865,"meta_title":8,"meta_description":8,"hidden":93,"icon":2605,"featured_icon":2606},{"id":715},{"id":1868},{"id":214,"status":4,"sort":433,"created_on":1871,"name":1872},{"id":16,"status":438,"created_on":2418,"modified_on":2419,"icon":2420,"header":2421,"description":2422,"button_label":2421,"link":2423},[2610],{"id":266,"status":4,"title":2426,"content":2427,"slug":2428,"created_on":2429,"modified_on":2430,"owner":2431,"meta_title":8,"category":2611},{"id":22,"status":4,"created_on":2433,"sort":98,"slug":2434,"label":2435,"on_faq_index":93},[],[2614],{"id":152,"documentation_id":152,"languages_code":925,"slug":2600,"title":2601,"content":2603,"meta_title":2601,"meta_description":2602,"excerpt":2602},[],{"id":2617,"status":4,"sort":2618,"created_on":2619,"modified_on":2620,"slug":2621,"title":2622,"excerpt":2623,"content":2624,"meta_title":2622,"meta_description":2623,"pinned":91,"main_image":8,"section":2625,"subsection":2628,"cta":2629,"faq":2630,"dictionary":2631,"translations":2632,"documentation_id":2617,"blog_articles":2634},220,"70101","2024-01-04T15:42:26.000Z","2025-11-03T14:25:50.000Z","quick-start-xcstrings","Quick Start - XCode String Catalogs","Localize your XCode String Catalogs files with Localazy CLI.","**Upload XCode String Catalogs (xcstrings) files to Localazy and manage your translations easily. Download translated files back.**\n\n**1.** [Install Localazy CLI](\u002Fdocs\u002Fcli\u002Finstallation) for your operating system.\n\n**2.** Create a configuration file **localazy.json** in the root of your project. You can start with our sample:\n\n```javascript form-builder-config\nconfig = {\n  forms: {\n    form1: [\n      {\n        id: 'label',\n        type: 'group',\n        label: 'Options',\n        cssClass: 'col-span-12',\n        children: [\n          { \n              id: 'use_key_for_source', type: 'checkbox', label: 'Use key for source', value: true, cssClass: 'col-span-12',\n              tooltip: 'Disable this option to skip strings without the source language content allowing importing ID-based keys.'\n          },\n          { \n              id: 'filter_untranslated', type: 'checkbox', label: 'Filter untranslated', value: false, cssClass: 'col-span-12',\n              tooltip: 'By default, when the output file is generated, Localazy uses texts from the source languages when the translation in the exported language is missing. If you enable this option, only the translated texts are included in the output file.'\n          },\n          {\n              id: 'keep_comments', type: 'checkbox', label: 'Keep comments', value: false, cssClass: 'col-span-12',\n              tooltip: 'By default, we don’t keep comments in exported files. They are usually not necessary and many times even undesired (e.g., when delivering files over CDN).'\n          },\n        ]\n      }\n    ]\n  }\n};\n```\n\n{{form1}}\n\n```json\n{\n  \"writeKey\": \"___USER_WRITE_KEY___\",\n  \"readKey\": \"___USER_READ_KEY___\",\n\n  \"upload\": {\n    \"type\": \"xcstrings\",\n    {{#if (use_key_for_source && filter_untranslated && keep_comments)}}\n    \"features\": [\"use_key_for_source\", \"filter_untranslated\", \"keep_comments\"],\n    {{\u002Fif}}\n    {{#if (use_key_for_source && filter_untranslated && !keep_comments)}}\n    \"features\": [\"use_key_for_source\", \"filter_untranslated\"],\n    {{\u002Fif}}\n    {{#if (use_key_for_source && !filter_untranslated && keep_comments)}}\n    \"features\": [\"use_key_for_source\", \"keep_comments\"],\n    {{\u002Fif}}\n    {{#if (use_key_for_source && !filter_untranslated && !keep_comments)}}\n    \"features\": [\"use_key_for_source\"],\n    {{\u002Fif}}\n    {{#if (!use_key_for_source && filter_untranslated && keep_comments)}}\n    \"features\": [\"filter_untranslated\", \"keep_comments\"],\n    {{\u002Fif}}\n    {{#if (!use_key_for_source && filter_untranslated && !keep_comments)}}\n    \"features\": [\"filter_untranslated\"],\n    {{\u002Fif}}\n    {{#if (!use_key_for_source && !filter_untranslated && keep_comments)}}\n    \"features\": [\"keep_comments\"],\n    {{\u002Fif}}\n    \"files\": \"Path\u002FLocalizable.xcstrings\"\n  },\n  \n  \"download\": {\n    \"files\": \"Path\u002FLocalizable.xcstrings\"\n  }\n  \n}  \n```\n\n**3.** Upload the file with `localazy upload` whenever you change it.\n\n**4.** Download updated version with `localazy download` before building your app.\n\n---\n\n::: info\nLearn more details about our [XCode Strings Catalogs support](\u002Fdocs\u002Fcli\u002Fxcstrings-format).\n:::\n\n---\n\nLocalazy CLI is simple to start yet flexible enough for any project. [Let's take the quick tour](\u002Fdocs\u002Fcli\u002Fthe-basics).\n\n\n",{"id":266,"status":4,"sort":43,"created_on":1864,"slug":843,"name":520,"subtitle":1865,"meta_title":8,"meta_description":8,"hidden":93,"icon":2626,"featured_icon":2627},{"id":715},{"id":1868},{"id":214,"status":4,"sort":433,"created_on":1871,"name":1872},{"id":16,"status":438,"created_on":2418,"modified_on":2419,"icon":2420,"header":2421,"description":2422,"button_label":2421,"link":2423},[],[],[2633],{"id":2179,"documentation_id":2617,"languages_code":925,"slug":2621,"title":2622,"content":2624,"meta_title":2622,"meta_description":2623,"excerpt":2623},[],{"id":2636,"status":4,"sort":2637,"created_on":2638,"modified_on":2639,"slug":2640,"title":2641,"excerpt":2642,"content":2643,"meta_title":2641,"meta_description":2642,"pinned":91,"main_image":8,"section":2644,"subsection":2647,"cta":2648,"faq":2649,"dictionary":2650,"translations":2651,"documentation_id":2636,"blog_articles":2653},221,"70102","2024-01-04T15:47:29.000Z","2024-07-17T05:45:08.000Z","quick-start-tmx","Quick Start - TMX (Translation Memory)","Upload and localize your translation memory (TMX) files.","**Upload your TMX files to Localazy and manage your translations easily. Download translated files back.**\n\n**1.** [Install Localazy CLI](\u002Fdocs\u002Fcli\u002Finstallation) for your operating system. \n\n**2.** Create a configuration file **localazy.json** in the root of your project. You can start with our sample:\n\n```json\n{\n\n  \"writeKey\": \"___USER_WRITE_KEY___\",\n  \"readKey\": \"___USER_READ_KEY___\",\n  \n  \"upload\": {  \n    \"type\": \"tmx\",\n    \"files\": \"base.tmx\"         \n  },\n  \n  \"download\": {\n    \"files\": \"base.tmx\"\n  }\n  \n}  \n```\n\n**3.** Upload the source strings with `localazy upload` whenever you change them.\n\n**4.** Download translated files with `localazy download` before building your app.\n\n---\n\n::: info\n[Learn more](\u002Fdocs\u002Fcli\u002Ftmx-format) about TMX (Translation Memory eXchange) support in Localazy.\n:::\n\n::: info\nYou can upload all your existing translations too! [Learn more about it.](\u002Fdocs\u002Fcli\u002Fexisting-translations) \n:::\n\n---\n\nLocalazy CLI is simple to start yet flexible enough for any project. [Let's take the quick tour](\u002Fdocs\u002Fcli\u002Fthe-basics).\n",{"id":266,"status":4,"sort":43,"created_on":1864,"slug":843,"name":520,"subtitle":1865,"meta_title":8,"meta_description":8,"hidden":93,"icon":2645,"featured_icon":2646},{"id":715},{"id":1868},{"id":214,"status":4,"sort":433,"created_on":1871,"name":1872},{"id":16,"status":438,"created_on":2418,"modified_on":2419,"icon":2420,"header":2421,"description":2422,"button_label":2421,"link":2423},[],[],[2652],{"id":2617,"documentation_id":2636,"languages_code":925,"slug":2640,"title":2641,"content":2643,"meta_title":2641,"meta_description":2642,"excerpt":2642},[],{"id":387,"status":4,"sort":2655,"created_on":2406,"modified_on":2656,"slug":2657,"title":2658,"excerpt":2659,"content":2660,"meta_title":2658,"meta_description":2659,"pinned":91,"main_image":8,"section":2661,"subsection":2664,"cta":2665,"faq":2666,"dictionary":2669,"translations":2670,"documentation_id":387,"blog_articles":2672},"70105","2024-07-16T15:14:44.000Z","quick-start-properties","Quick Start - Java Properties","Localize your app with Java Properties localizations and Localazy CLI.","**Upload Java Properties files with strings to Localazy and manage your translations easily. Download translated files back.**\n\n**1.** [Install Localazy CLI](\u002Fdocs\u002Fcli\u002Finstallation) for your operating system. \n\n**2.** Create a configuration file **localazy.json** in the root of your project. You can start with our sample:\n\n```json\n{\n\n  \"writeKey\": \"___USER_WRITE_KEY___\",\n  \"readKey\": \"___USER_READ_KEY___\",\n  \n  \"upload\": {  \n    \"type\": \"properties\",\n    \"files\": \"translations\u002Fstrings_en.properties\"         \n  },\n  \n  \"download\": {\n    \"files\": \"translations\u002Fstrings_${lang}.properties\"\n  }\n  \n}  \n```\n\n**3.** Upload the source strings with `localazy upload` whenever you change them.\n\n**4.** Download translated files with `localazy download` before building your app.\n\n---\n\n::: info\n[Learn more](\u002Fdocs\u002Fcli\u002Fproperties-format) about custom UTF-8\u002FISO-8859-1 encoding, support for plurals, arrays, etc.\n:::\n\n::: info\nYou can upload all your existing translations too! [Learn more about it.](\u002Fdocs\u002Fcli\u002Fexisting-translations) \n:::\n\n---\n\nLocalazy CLI is simple to start yet flexible enough for any project. [Let's take the quick tour](\u002Fdocs\u002Fcli\u002Fthe-basics).\n",{"id":266,"status":4,"sort":43,"created_on":1864,"slug":843,"name":520,"subtitle":1865,"meta_title":8,"meta_description":8,"hidden":93,"icon":2662,"featured_icon":2663},{"id":715},{"id":1868},{"id":214,"status":4,"sort":433,"created_on":1871,"name":1872},{"id":16,"status":438,"created_on":2418,"modified_on":2419,"icon":2420,"header":2421,"description":2422,"button_label":2421,"link":2423},[2667],{"id":266,"status":4,"title":2426,"content":2427,"slug":2428,"created_on":2429,"modified_on":2430,"owner":2431,"meta_title":8,"category":2668},{"id":22,"status":4,"created_on":2433,"sort":98,"slug":2434,"label":2435,"on_faq_index":93},[],[2671],{"id":387,"documentation_id":387,"languages_code":925,"slug":2657,"title":2658,"content":2660,"meta_title":2658,"meta_description":2659,"excerpt":2659},[],{"id":504,"status":4,"sort":2674,"created_on":2406,"modified_on":2656,"slug":2675,"title":2676,"excerpt":2677,"content":2678,"meta_title":2676,"meta_description":2677,"pinned":91,"main_image":8,"section":2679,"subsection":2682,"cta":2683,"faq":2684,"dictionary":2687,"translations":2688,"documentation_id":504,"blog_articles":2690},"70110","quick-start-javascript","Quick Start - JavaScript","Localize your app with JavaScript localizations and Localazy CLI.","**Upload JavaScript files with strings to Localazy and manage your translations easily. Download translated files back.**\n\n**1.** [Install Localazy CLI](\u002Fdocs\u002Fcli\u002Finstallation) for your operating system. \n\n**2.** Create a configuration file **localazy.json** in the root of your project. You can start with our sample:\n\n```json\n{\n\n  \"writeKey\": \"___USER_WRITE_KEY___\",\n  \"readKey\": \"___USER_READ_KEY___\",\n  \n  \"upload\": {  \n    \"type\": \"js\",\n    \"files\": \"translations\u002Fen.ts\"         \n  },\n  \n  \"download\": {\n    \"files\": \"translations\u002F${lang}.ts\"\n  }\n  \n}  \n```\n\n**3.** Upload the source strings with `localazy upload` whenever you change them.\n\n**4.** Download translated files with `localazy download` before building your app.\n\n---\n\n::: info\nFor supported source code formats, please [see the documentation](\u002Fdocs\u002Fcli\u002Fjavascript-format).\n:::\n\n::: info\n**Localazy JavaScript parser is highly configurable!** [Learn more](\u002Fdocs\u002Fcli\u002Fjavascript-format) about plain and structured files, plurals, arrays, etc.\n:::\n\n::: info\nYou can upload all your existing translations too! [Learn more about it.](\u002Fdocs\u002Fcli\u002Fexisting-translations) \n:::\n\n---\n\nLocalazy CLI is simple to start yet flexible enough for any project. [Let's take the quick tour](\u002Fdocs\u002Fcli\u002Fthe-basics).\n",{"id":266,"status":4,"sort":43,"created_on":1864,"slug":843,"name":520,"subtitle":1865,"meta_title":8,"meta_description":8,"hidden":93,"icon":2680,"featured_icon":2681},{"id":715},{"id":1868},{"id":214,"status":4,"sort":433,"created_on":1871,"name":1872},{"id":16,"status":438,"created_on":2418,"modified_on":2419,"icon":2420,"header":2421,"description":2422,"button_label":2421,"link":2423},[2685],{"id":266,"status":4,"title":2426,"content":2427,"slug":2428,"created_on":2429,"modified_on":2430,"owner":2431,"meta_title":8,"category":2686},{"id":22,"status":4,"created_on":2433,"sort":98,"slug":2434,"label":2435,"on_faq_index":93},[],[2689],{"id":504,"documentation_id":504,"languages_code":925,"slug":2675,"title":2676,"content":2678,"meta_title":2676,"meta_description":2677,"excerpt":2677},[],{"id":959,"status":4,"sort":2692,"created_on":2406,"modified_on":2599,"slug":2693,"title":2694,"excerpt":2695,"content":2696,"meta_title":2694,"meta_description":2695,"pinned":91,"main_image":8,"section":2697,"subsection":2700,"cta":2701,"faq":2702,"dictionary":2713,"translations":2714,"documentation_id":959,"blog_articles":2716},"70115","quick-start-json","Quick Start - JSON","Localize your app with JSON localizations and Localazy CLI.","**Upload JSON files with strings to Localazy and manage your translations easily. Download translated files back.**\n\n**1.** [Install Localazy CLI](\u002Fdocs\u002Fcli\u002Finstallation) for your operating system. \n\n**2.** Create a configuration file **localazy.json** in the root of your project. You can start with our sample:\n\n```json\n{\n\n  \"writeKey\": \"___USER_WRITE_KEY___\",\n  \"readKey\": \"___USER_READ_KEY___\",\n  \n  \"upload\": {  \n    \"type\": \"json\",\n    \"files\": \"translations\u002Fen.json\"         \n  },\n  \n  \"download\": {\n    \"files\": \"translations\u002F${lang}.json\"\n  }\n  \n}  \n```\n\n**3.** Upload the source strings with `localazy upload` whenever you change them.\n\n**4.** Download translated files with `localazy download` before building your app.\n\n---\n\n::: info\n**Localazy JSON parser is highly configurable!** [Learn more](\u002Fdocs\u002Fcli\u002Fjson-format) about plain and structured JSONs, plurals, arrays, Mozilla\u002FChrome i18n, RequireJS, etc.\n:::\n\n::: info\nYou can upload all your existing translations too! [Learn more about it.](\u002Fdocs\u002Fcli\u002Fexisting-translations) \n:::\n\n---\n\nLocalazy CLI is simple to start yet flexible enough for any project. [Let's take a quick tour](\u002Fdocs\u002Fcli\u002Fthe-basics).\n",{"id":266,"status":4,"sort":43,"created_on":1864,"slug":843,"name":520,"subtitle":1865,"meta_title":8,"meta_description":8,"hidden":93,"icon":2698,"featured_icon":2699},{"id":715},{"id":1868},{"id":214,"status":4,"sort":433,"created_on":1871,"name":1872},{"id":16,"status":438,"created_on":2418,"modified_on":2419,"icon":2420,"header":2421,"description":2422,"button_label":2421,"link":2423},[2703,2709,2711],{"id":134,"status":4,"title":2704,"content":2705,"slug":2706,"created_on":2429,"modified_on":2707,"owner":2431,"meta_title":8,"category":2708},"How to translate JSON files?","\nYou can translate JSON (JavaScript Object Notation) files with the assistance of [machine translation engines](\u002Fdictionary\u002Fmachine-translation) (such as Google Translator) and copy-paste the results into your text editor. But this translation option is time-consuming and inefficient.\n\nConsidering that JSON is one of the most lightweight data interchange formats, working with it is pretty handy. And the best way to translate JSON files is to use an online translation service, such as [Localazy](\u002F). Localazy serves as TMS and localization suite to help you translate your JSON files effectively. With its help, you can translate multilingual JSON files, JSON5 files, or HJSON files and integrate a Translation Management System (TMS) into your workflow. \n\nTo translate JSON files using the Localazy interface, [sign up for free](\u002Fregister) and create a new translation project. Once you upload your JSON file, you can add the target language, start translating, and then download the translated files with ease. You can even [pre-translate](\u002Ffeatures\u002Fpre-translate) the whole file in JSON format by applying machine translations in bulk. This and many other features make Localazy the ideal tool to produce professional translations. \n\nLocalazy is a state-of-the-art translation management platform and localization suite to help you translate your JSON files effectively. Learn more in the [Getting Started Guide](\u002Fdocs\u002Fgeneral\u002Fgetting-started-with-localazy).\n\n\n\n\n","how-to-translate-json-file","2025-10-27T13:25:14.000Z",{"id":134,"status":4,"created_on":1966,"sort":8,"slug":2573,"label":2574,"on_faq_index":93},{"id":266,"status":4,"title":2426,"content":2427,"slug":2428,"created_on":2429,"modified_on":2430,"owner":2431,"meta_title":8,"category":2710},{"id":22,"status":4,"created_on":2433,"sort":98,"slug":2434,"label":2435,"on_faq_index":93},{"id":2566,"status":4,"title":2567,"content":2568,"slug":2569,"created_on":2570,"modified_on":2571,"owner":2431,"meta_title":8,"category":2712},{"id":134,"status":4,"created_on":1966,"sort":8,"slug":2573,"label":2574,"on_faq_index":93},[],[2715],{"id":959,"documentation_id":959,"languages_code":925,"slug":2693,"title":2694,"content":2696,"meta_title":2694,"meta_description":2695,"excerpt":2695},[],{"id":2718,"status":4,"sort":2719,"created_on":2720,"modified_on":2721,"slug":2722,"title":2723,"excerpt":2724,"content":2725,"meta_title":2726,"meta_description":2727,"pinned":91,"main_image":8,"section":2728,"subsection":2731,"cta":8,"faq":2732,"dictionary":2733,"translations":2734,"documentation_id":2718,"blog_articles":2736},171,"70116","2023-02-10T15:37:45.000Z","2025-02-17T14:49:54.000Z","quick-start-go-i18n-v2","Quick Start - go-i18n v2","Localize your GO app with go-i18n v2 JSON and Localazy CLI.","**Upload go-i18n v2 JSON files with strings to Localazy and manage your translations easily. Download translated files back.**\n\n**1.** [Install Localazy CLI](\u002Fdocs\u002Fcli\u002Finstallation) for your operating system. \n\n**2.** Create a configuration file **localazy.json** in the root of your project. You can start with our sample:\n\n```json\n{\n\n  \"writeKey\": \"___USER_WRITE_KEY___\",\n  \"readKey\": \"___USER_READ_KEY___\",\n  \n  \"upload\": {  \n    \"type\": \"json\",\n    \"features\": [\"content_as_object\", \"plural_object\"],\n    \"files\": \"translations\u002Fen.json\"         \n  },\n  \n  \"download\": {\n    \"files\": \"translations\u002F${lang}.json\"\n  }\n  \n}  \n```\n\n**3.** Upload the source strings with `localazy upload` whenever you change them.\n\n**4.** Download translated files with `localazy download` before building your app.\n\n---\n\n::: info\n**Localazy JSON parser is highly configurable and `content_as_object` together with `plural_object` enables full support for go-i18n v2 files!** [Learn more](\u002Fdocs\u002Fcli\u002Fjson-format) about our adaptable JSON parser.\n:::\n\n::: info\nYou can upload all your existing translations too! [Learn more about it.](\u002Fdocs\u002Fcli\u002Fexisting-translations) \n:::\n\n---\n\nLocalazy CLI is simple to start yet flexible enough for any project. [Let's take a quick tour](\u002Fdocs\u002Fcli\u002Fthe-basics).\n","Quick Start - Go i18n v2","Localize your Go project with Localazy CLI.",{"id":266,"status":4,"sort":43,"created_on":1864,"slug":843,"name":520,"subtitle":1865,"meta_title":8,"meta_description":8,"hidden":93,"icon":2729,"featured_icon":2730},{"id":715},{"id":1868},{"id":214,"status":4,"sort":433,"created_on":1871,"name":1872},[],[],[2735],{"id":2718,"documentation_id":2718,"languages_code":925,"slug":2722,"title":2723,"content":2725,"meta_title":2726,"meta_description":2727,"excerpt":2724},[],{"id":496,"status":4,"sort":2738,"created_on":2406,"modified_on":2656,"slug":2739,"title":2740,"excerpt":2741,"content":2742,"meta_title":2740,"meta_description":2741,"pinned":91,"main_image":8,"section":2743,"subsection":2746,"cta":2747,"faq":2748,"dictionary":2755,"translations":2756,"documentation_id":496,"blog_articles":2758},"70120","quick-start-json5","Quick Start - JSON5","Localize your app with JSON5 localizations and Localazy CLI.","**Upload JSON5 files with strings to Localazy and manage your translations easily. Download translated files back.**\n\n**1.** [Install Localazy CLI](\u002Fdocs\u002Fcli\u002Finstallation) for your operating system. \n\n**2.** Create a configuration file **localazy.json** in the root of your project. You can start with our sample:\n\n```json\n{\n\n  \"writeKey\": \"___USER_WRITE_KEY___\",\n  \"readKey\": \"___USER_READ_KEY___\",\n  \n  \"upload\": {  \n    \"type\": \"json5\",\n    \"files\": \"translations\u002Fen.json5\"         \n  },\n  \n  \"download\": {\n    \"files\": \"translations\u002F${lang}.json5\"\n  }\n  \n}  \n```\n\n**3.** Upload the source strings with `localazy upload` whenever you change them.\n\n**4.** Download translated files with `localazy download` before building your app.\n\n---\n\n::: info\n**Localazy JSON5 parser is highly configurable!** [Learn more](\u002Fdocs\u002Fcli\u002Fjson5-format) about plain and structured JSONs, plurals, arrays, etc.\n:::\n\n::: info\nYou can upload all your existing translations too! [Learn more about it.](\u002Fdocs\u002Fcli\u002Fexisting-translations) \n:::\n\n---\n\nLocalazy CLI is simple to start yet flexible enough for any project. [Let's take the quick tour](\u002Fdocs\u002Fcli\u002Fthe-basics).\n",{"id":266,"status":4,"sort":43,"created_on":1864,"slug":843,"name":520,"subtitle":1865,"meta_title":8,"meta_description":8,"hidden":93,"icon":2744,"featured_icon":2745},{"id":715},{"id":1868},{"id":214,"status":4,"sort":433,"created_on":1871,"name":1872},{"id":16,"status":438,"created_on":2418,"modified_on":2419,"icon":2420,"header":2421,"description":2422,"button_label":2421,"link":2423},[2749,2751,2753],{"id":134,"status":4,"title":2704,"content":2705,"slug":2706,"created_on":2429,"modified_on":2707,"owner":2431,"meta_title":8,"category":2750},{"id":134,"status":4,"created_on":1966,"sort":8,"slug":2573,"label":2574,"on_faq_index":93},{"id":266,"status":4,"title":2426,"content":2427,"slug":2428,"created_on":2429,"modified_on":2430,"owner":2431,"meta_title":8,"category":2752},{"id":22,"status":4,"created_on":2433,"sort":98,"slug":2434,"label":2435,"on_faq_index":93},{"id":2566,"status":4,"title":2567,"content":2568,"slug":2569,"created_on":2570,"modified_on":2571,"owner":2431,"meta_title":8,"category":2754},{"id":134,"status":4,"created_on":1966,"sort":8,"slug":2573,"label":2574,"on_faq_index":93},[],[2757],{"id":496,"documentation_id":496,"languages_code":925,"slug":2739,"title":2740,"content":2742,"meta_title":2740,"meta_description":2741,"excerpt":2741},[],{"id":2011,"status":4,"sort":2760,"created_on":2406,"modified_on":2582,"slug":2761,"title":2762,"excerpt":2763,"content":2764,"meta_title":2762,"meta_description":2763,"pinned":91,"main_image":8,"section":2765,"subsection":2768,"cta":2769,"faq":2770,"dictionary":2771,"translations":2772,"documentation_id":2011,"blog_articles":2774},"70130","quick-start-laravel","Quick Start - Laravel","Localize your Laravel app easily with Localazy CLI.","**Upload PHP files with strings from your Laravel app to Localazy and manage your translations easily. Download translated files back.**\n\n**1.** [Install Localazy CLI](\u002Fdocs\u002Fcli\u002Finstallation) for your operating system. \n\n**2.** Create a configuration file **localazy.json** in the root of your project. You can start with our sample:\n\n```json\n{\n\n  \"writeKey\": \"___USER_WRITE_KEY___\",\n  \"readKey\": \"___USER_READ_KEY___\",\n  \n  \"upload\": {  \n    \"type\": \"php\",\n    \"files\": \"translations\u002Fstrings.php\"         \n  },\n  \n  \"download\": {\n    \"files\": \"translations\u002F${lang}.php\"\n  }\n  \n}  \n```\n\n**3.** Upload the source strings with `localazy upload` whenever you change them.\n\n**4.** Download translated files with `localazy download` before building your app.\n\n---\n\n::: info\n[Learn more about supported PHP formats](\u002Fdocs\u002Fcli\u002Fphp-format) and available features.\n:::\n\n::: info\nYou can upload all your existing translations too! [Learn more about it.](\u002Fdocs\u002Fcli\u002Fexisting-translations) \n:::\n\n---\n\nLocalazy CLI is simple to start yet flexible enough for any project. [Let's take the quick tour](\u002Fdocs\u002Fcli\u002Fthe-basics).\n",{"id":266,"status":4,"sort":43,"created_on":1864,"slug":843,"name":520,"subtitle":1865,"meta_title":8,"meta_description":8,"hidden":93,"icon":2766,"featured_icon":2767},{"id":715},{"id":1868},{"id":214,"status":4,"sort":433,"created_on":1871,"name":1872},{"id":16,"status":438,"created_on":2418,"modified_on":2419,"icon":2420,"header":2421,"description":2422,"button_label":2421,"link":2423},[],[],[2773],{"id":2011,"documentation_id":2011,"languages_code":925,"slug":2761,"title":2762,"content":2764,"meta_title":2762,"meta_description":2763,"excerpt":2763},[],{"id":2776,"status":4,"sort":2777,"created_on":2406,"modified_on":2778,"slug":2779,"title":2780,"excerpt":2781,"content":2782,"meta_title":2783,"meta_description":2781,"pinned":91,"main_image":8,"section":2784,"subsection":2787,"cta":2788,"faq":2789,"dictionary":2790,"translations":2791,"documentation_id":2776,"blog_articles":2793},102,"70140","2024-07-16T15:15:01.000Z","quick-start-excel","Quick Start - Microsoft Excel","Localize your Microsoft Excel's XLS\u002FXLSX files easily with Localazy CLI.","**Upload XLS\u002FXLSX files with strings to Localazy and manage your translations easily. Download translated files back.**\n\n**1.** [Install Localazy CLI](\u002Fdocs\u002Fcli\u002Finstallation) for your operating system. \n\n**2.** Create a configuration file **localazy.json** in the root of your project. You can start with our sample:\n\n```json\n{\n\n  \"writeKey\": \"___USER_WRITE_KEY___\",\n  \"readKey\": \"___USER_READ_KEY___\",\n  \n  \"upload\": {  \n    \"type\": \"excel\",\n    \"features\": [\"columns=key,content\"],\n    \"files\": \"translations\u002Fstrings.xls\"         \n  },\n  \n  \"download\": {\n    \"files\": \"translations\u002F${lang}.xls\"\n  }\n  \n}  \n```\n\n**3.** Upload the source strings with `localazy upload` whenever you change them.\n\n**4.** Download translated files with `localazy download` before building your app.\n\n---\n\n::: info\nLocalazy automatically detects old XLS (Microsoft Excel 2003 and below) and newer XLSX (Microsoft Excel 2007+) format and uses the same format for exporting translated files.\n:::\n\n::: info\n[Learn how to configure columns and use multilingual Excel files.](\u002Fdocs\u002Fcli\u002Fexcel-format)\n:::\n\n::: info\nYou can upload all your existing translations too! [Learn more about it.](\u002Fdocs\u002Fcli\u002Fexisting-translations) \n:::\n\n---\n\nLocalazy CLI is simple to start yet flexible enough for any project. [Let's take the quick tour](\u002Fdocs\u002Fcli\u002Fthe-basics).\n","Quick Start - Excel",{"id":266,"status":4,"sort":43,"created_on":1864,"slug":843,"name":520,"subtitle":1865,"meta_title":8,"meta_description":8,"hidden":93,"icon":2785,"featured_icon":2786},{"id":715},{"id":1868},{"id":214,"status":4,"sort":433,"created_on":1871,"name":1872},{"id":16,"status":438,"created_on":2418,"modified_on":2419,"icon":2420,"header":2421,"description":2422,"button_label":2421,"link":2423},[],[],[2792],{"id":2776,"documentation_id":2776,"languages_code":925,"slug":2779,"title":2780,"content":2782,"meta_title":2783,"meta_description":2781,"excerpt":2781},[],{"id":300,"status":4,"sort":2795,"created_on":2406,"modified_on":2513,"slug":2796,"title":2797,"excerpt":2798,"content":2799,"meta_title":2797,"meta_description":2798,"pinned":91,"main_image":8,"section":2800,"subsection":2803,"cta":2804,"faq":2805,"dictionary":2808,"translations":2809,"documentation_id":300,"blog_articles":2811},"70150","quick-start-mozilla-chrome-i18n","Quick Start - Mozilla\u002FChrome i18n","Localize your app with Mozilla\u002FChrome i18n localizations and Localazy CLI.","**Upload JSON files with strings to Localazy and manage your translations easily. Download translated files back.**\n\n**1.** [Install Localazy CLI](\u002Fdocs\u002Fcli\u002Finstallation) for your operating system. \n\n**2.** Create a configuration file **localazy.json** in the root of your project. You can start with our sample:\n\n```json\n{\n\n  \"writeKey\": \"___USER_WRITE_KEY___\",\n  \"readKey\": \"___USER_READ_KEY___\",\n  \n  \"upload\": {  \n    \"type\": \"json\",\n    \"features\": [\"content_as_object\"],\n    \"files\": \"translations\u002Fen.json\"         \n  },\n  \n  \"download\": {\n    \"files\": \"translations\u002F${lang}.json\"\n  }\n  \n}  \n```\n\n**3.** Upload the source strings with `localazy upload` whenever you change them.\n\n**4.** Download translated files with `localazy download` before building your app.\n\n---\n\n::: info\nSupport for **Mozilla\u002FChrome i18n** (`content_as_object` feature) is a part of our configurable JSON parser. \n[Learn more about all its features.](\u002Fdocs\u002Fcli\u002Fjson-format)\n:::\n\n::: info\nYou can upload all your existing translations too! [Learn more about it.](\u002Fdocs\u002Fcli\u002Fexisting-translations) \n:::\n\n---\n\nLocalazy CLI is simple to start yet flexible enough for any project. [Let's take the quick tour](\u002Fdocs\u002Fcli\u002Fthe-basics).\n",{"id":266,"status":4,"sort":43,"created_on":1864,"slug":843,"name":520,"subtitle":1865,"meta_title":8,"meta_description":8,"hidden":93,"icon":2801,"featured_icon":2802},{"id":715},{"id":1868},{"id":214,"status":4,"sort":433,"created_on":1871,"name":1872},{"id":16,"status":438,"created_on":2418,"modified_on":2419,"icon":2420,"header":2421,"description":2422,"button_label":2421,"link":2423},[2806],{"id":266,"status":4,"title":2426,"content":2427,"slug":2428,"created_on":2429,"modified_on":2430,"owner":2431,"meta_title":8,"category":2807},{"id":22,"status":4,"created_on":2433,"sort":98,"slug":2434,"label":2435,"on_faq_index":93},[],[2810],{"id":300,"documentation_id":300,"languages_code":925,"slug":2796,"title":2797,"content":2799,"meta_title":2797,"meta_description":2798,"excerpt":2798},[],{"id":317,"status":4,"sort":2813,"created_on":2406,"modified_on":2513,"slug":2814,"title":2815,"excerpt":2816,"content":2817,"meta_title":2815,"meta_description":2816,"pinned":91,"main_image":8,"section":2818,"subsection":2821,"cta":2822,"faq":2823,"dictionary":2826,"translations":2827,"documentation_id":317,"blog_articles":2829},"70160","quick-start-multilingual-json","Quick Start - Multilingual JSON","Localize your app with multilingual JSON localizations and Localazy CLI.","**Upload JSON files with strings to Localazy and manage your translations easily. Download translated files back.**\n\n**1.** [Install Localazy CLI](\u002Fdocs\u002Fcli\u002Finstallation) for your operating system. \n\n**2.** Create a configuration file **localazy.json** in the root of your project. You can start with our sample:\n\n```json\n{\n\n  \"writeKey\": \"___USER_WRITE_KEY___\",\n  \"readKey\": \"___USER_READ_KEY___\",\n  \n  \"upload\": {  \n    \"type\": \"json\",\n    \"features\": [\"multilingual\"],\n    \"files\": \"translations\u002Fen.json\"         \n  },\n  \n  \"download\": {\n    \"files\": \"translations\u002F${lang}.json\"\n  }\n  \n}  \n```\n\n**3.** Upload the source strings with `localazy upload` whenever you change them.\n\n**4.** Download translated files with `localazy download` before building your app.\n\n---\n\n::: info\nSupport for **multilingual JSON files** (`multilingual` feature) is a part of our configurable JSON parser. \n[Learn more about all its features.](\u002Fdocs\u002Fcli\u002Fjson-format)\n:::\n\n::: info\nYou can upload all your existing translations too! [Learn more about it.](\u002Fdocs\u002Fcli\u002Fexisting-translations) \n:::\n\n---\n\nLocalazy CLI is simple to start yet flexible enough for any project. [Let's take the quick tour](\u002Fdocs\u002Fcli\u002Fthe-basics).\n",{"id":266,"status":4,"sort":43,"created_on":1864,"slug":843,"name":520,"subtitle":1865,"meta_title":8,"meta_description":8,"hidden":93,"icon":2819,"featured_icon":2820},{"id":715},{"id":1868},{"id":214,"status":4,"sort":433,"created_on":1871,"name":1872},{"id":16,"status":438,"created_on":2418,"modified_on":2419,"icon":2420,"header":2421,"description":2422,"button_label":2421,"link":2423},[2824],{"id":266,"status":4,"title":2426,"content":2427,"slug":2428,"created_on":2429,"modified_on":2430,"owner":2431,"meta_title":8,"category":2825},{"id":22,"status":4,"created_on":2433,"sort":98,"slug":2434,"label":2435,"on_faq_index":93},[],[2828],{"id":317,"documentation_id":317,"languages_code":925,"slug":2814,"title":2815,"content":2817,"meta_title":2815,"meta_description":2816,"excerpt":2816},[],{"id":1611,"status":4,"sort":2831,"created_on":2406,"modified_on":2778,"slug":2832,"title":2833,"excerpt":2834,"content":2835,"meta_title":2833,"meta_description":2834,"pinned":91,"main_image":8,"section":2836,"subsection":2839,"cta":2840,"faq":2841,"dictionary":2842,"translations":2843,"documentation_id":1611,"blog_articles":2845},"70170","quick-start-ods","Quick Start - OpenOffice","Localize your OpenOffice\u002FLibreOffice ODS files easily with Localazy CLI.","**Upload OpenOffice\u002FLibreOffice ODS files with strings to Localazy and manage your translations easily. Download translated files back.**\n\n**1.** [Install Localazy CLI](\u002Fdocs\u002Fcli\u002Finstallation) for your operating system. \n\n**2.** Create a configuration file **localazy.json** in the root of your project. You can start with our sample:\n\n```json\n{\n\n  \"writeKey\": \"___USER_WRITE_KEY___\",\n  \"readKey\": \"___USER_READ_KEY___\",\n  \n  \"upload\": {  \n    \"type\": \"ods\",\n    \"features\": [\"columns=key,content\"],\n    \"files\": \"translations\u002Fstrings.ods\"         \n  },\n  \n  \"download\": {\n    \"files\": \"translations\u002F${lang}.ods\"\n  }\n  \n}  \n```\n\n**3.** Upload the source strings with `localazy upload` whenever you change them.\n\n**4.** Download translated files with `localazy download` before building your app.\n\n---\n\n::: info\n[Learn how to configure columns and use multilingual OpenOffice\u002FLibreOffice files.](\u002Fdocs\u002Fcli\u002Fods-format)\n:::\n\n::: info\nYou can upload all your existing translations too! [Learn more about it.](\u002Fdocs\u002Fcli\u002Fexisting-translations) \n:::\n\n---\n\nLocalazy CLI is simple to start yet flexible enough for any project. [Let's take the quick tour](\u002Fdocs\u002Fcli\u002Fthe-basics).\n",{"id":266,"status":4,"sort":43,"created_on":1864,"slug":843,"name":520,"subtitle":1865,"meta_title":8,"meta_description":8,"hidden":93,"icon":2837,"featured_icon":2838},{"id":715},{"id":1868},{"id":214,"status":4,"sort":433,"created_on":1871,"name":1872},{"id":16,"status":438,"created_on":2418,"modified_on":2419,"icon":2420,"header":2421,"description":2422,"button_label":2421,"link":2423},[],[],[2844],{"id":1611,"documentation_id":1611,"languages_code":925,"slug":2832,"title":2833,"content":2835,"meta_title":2833,"meta_description":2834,"excerpt":2834},[],{"id":2847,"status":4,"sort":2848,"created_on":2406,"modified_on":2460,"slug":2849,"title":2850,"excerpt":2851,"content":2852,"meta_title":2850,"meta_description":2851,"pinned":91,"main_image":8,"section":2853,"subsection":2856,"cta":2857,"faq":2858,"dictionary":2859,"translations":2860,"documentation_id":2847,"blog_articles":2862},98,"70180","quick-start-neon","Quick Start - NEON","Localize your app with NEON (Nette Object Notation) localizations and Localazy CLI.","**Upload NEON (Nette Object Notation) files with strings to Localazy and manage your translations easily. Download translated files back.**\n\n**1.** [Install Localazy CLI](\u002Fdocs\u002Fcli\u002Finstallation) for your operating system. \n\n**2.** Create a configuration file **localazy.json** in the root of your project. You can start with our sample:\n\n```json\n{\n\n  \"writeKey\": \"___USER_WRITE_KEY___\",\n  \"readKey\": \"___USER_READ_KEY___\",\n  \n  \"upload\": {  \n    \"type\": \"neon\",\n    \"files\": \"translations\u002Fen.neon\"         \n  },\n  \n  \"download\": {\n    \"files\": \"translations\u002F${lang}.neon\"\n  }\n  \n}  \n```\n\n**3.** Upload the source strings with `localazy upload` whenever you change them.\n\n**4.** Download translated files with `localazy download` before building your app.\n\n---\n\n::: info\n**Localazy NEON parser is highly configurable!** [Learn more](\u002Fdocs\u002Fcli\u002Fneon-format) about plain, structured and multilingual NEONs, plurals, arrays, etc.\n:::\n\n::: info\nYou can upload all your existing translations too! [Learn more about it.](\u002Fdocs\u002Fcli\u002Fexisting-translations) \n:::\n\n---\n\nLocalazy CLI is simple to start yet flexible enough for any project. [Let's take a quick tour](\u002Fdocs\u002Fcli\u002Fthe-basics).\n",{"id":266,"status":4,"sort":43,"created_on":1864,"slug":843,"name":520,"subtitle":1865,"meta_title":8,"meta_description":8,"hidden":93,"icon":2854,"featured_icon":2855},{"id":715},{"id":1868},{"id":214,"status":4,"sort":433,"created_on":1871,"name":1872},{"id":16,"status":438,"created_on":2418,"modified_on":2419,"icon":2420,"header":2421,"description":2422,"button_label":2421,"link":2423},[],[],[2861],{"id":2847,"documentation_id":2847,"languages_code":925,"slug":2849,"title":2850,"content":2852,"meta_title":2850,"meta_description":2851,"excerpt":2851},[],{"id":1038,"status":4,"sort":2864,"created_on":2406,"modified_on":2478,"slug":2865,"title":2866,"excerpt":2867,"content":2868,"meta_title":2866,"meta_description":2867,"pinned":91,"main_image":8,"section":2869,"subsection":2872,"cta":2873,"faq":2874,"dictionary":2875,"translations":2876,"documentation_id":1038,"blog_articles":2878},"70190","quick-start-php","Quick Start - PHP","Localize your PHP app easily with Localazy CLI.","**Upload PHP files with strings to Localazy and manage your translations easily. Download translated files back.**\n\n**1.** [Install Localazy CLI](\u002Fdocs\u002Fcli\u002Finstallation) for your operating system. \n\n**2.** Create a configuration file **localazy.json** in the root of your project. You can start with our sample:\n\n```json\n{\n\n  \"writeKey\": \"___USER_WRITE_KEY___\",\n  \"readKey\": \"___USER_READ_KEY___\",\n  \n  \"upload\": {  \n    \"type\": \"php\",\n    \"files\": \"translations\u002Fstrings.php\"         \n  },\n  \n  \"download\": {\n    \"files\": \"translations\u002F${lang}.php\"\n  }\n  \n}  \n```\n\n**3.** Upload the source strings with `localazy upload` whenever you change them.\n\n**4.** Download translated files with `localazy download` before building your app.\n\n---\n\n::: info\n[Learn more about supported PHP formats](\u002Fdocs\u002Fcli\u002Fphp-format) and available features.\n:::\n\n::: info\nYou can upload all your existing translations too! [Learn more about it.](\u002Fdocs\u002Fcli\u002Fexisting-translations) \n:::\n\n---\n\nLocalazy CLI is simple to start yet flexible enough for any project. [Let's take the quick tour](\u002Fdocs\u002Fcli\u002Fthe-basics).\n",{"id":266,"status":4,"sort":43,"created_on":1864,"slug":843,"name":520,"subtitle":1865,"meta_title":8,"meta_description":8,"hidden":93,"icon":2870,"featured_icon":2871},{"id":715},{"id":1868},{"id":214,"status":4,"sort":433,"created_on":1871,"name":1872},{"id":16,"status":438,"created_on":2418,"modified_on":2419,"icon":2420,"header":2421,"description":2422,"button_label":2421,"link":2423},[],[],[2877],{"id":1038,"documentation_id":1038,"languages_code":925,"slug":2865,"title":2866,"content":2868,"meta_title":2866,"meta_description":2867,"excerpt":2867},[],{"id":2880,"status":4,"sort":2881,"created_on":2406,"modified_on":2882,"slug":2883,"title":2884,"excerpt":2885,"content":2886,"meta_title":2884,"meta_description":2885,"pinned":91,"main_image":8,"section":2887,"subsection":2890,"cta":2891,"faq":2892,"dictionary":2893,"translations":2894,"documentation_id":2880,"blog_articles":2896},104,"70195","2025-02-17T14:49:37.000Z","quick-start-texts","Quick Start - Plain Texts","Localize text & markdown files, app store description, marketing materials, and more with Localazy CLI.","**Upload text & markdown files, app store descriptions, marketing materials, etc. to Localazy and manage your translations easily. Download translated files back.**\n\n**1.** [Install Localazy CLI](\u002Fdocs\u002Fcli\u002Finstallation) for your operating system. \n\n**2.** Create a configuration file **localazy.json**. You can start with our sample:\n\n```json\n{\n\n  \"writeKey\": \"___USER_WRITE_KEY___\",\n  \"readKey\": \"___USER_READ_KEY___\",\n  \n  \"upload\": {  \n    \"type\": \"text\",\n    \"files\": \"translations\u002Fdescription_en.txt\"         \n  },\n  \n  \"download\": {\n    \"files\": \"translations\u002Fdescription_${lang}.txt\"\n  }\n  \n}  \n```\n\n**3.** Upload the source strings with `localazy upload` whenever you change them.\n\n**4.** Download translated files with `localazy download` before building your app.\n\n---\n\n::: info\n[Learn how to configure character encoding](\u002Fdocs\u002Fcli\u002Fplain-text-format) for your text files. \n:::\n\n::: info\nYou can upload all your existing translations too! [Learn more about it.](\u002Fdocs\u002Fcli\u002Fexisting-translations) \n:::\n\n---\n\nLocalazy CLI is simple to start yet flexible enough for any project. [Let's take the quick tour](\u002Fdocs\u002Fcli\u002Fthe-basics).\n",{"id":266,"status":4,"sort":43,"created_on":1864,"slug":843,"name":520,"subtitle":1865,"meta_title":8,"meta_description":8,"hidden":93,"icon":2888,"featured_icon":2889},{"id":715},{"id":1868},{"id":214,"status":4,"sort":433,"created_on":1871,"name":1872},{"id":16,"status":438,"created_on":2418,"modified_on":2419,"icon":2420,"header":2421,"description":2422,"button_label":2421,"link":2423},[],[],[2895],{"id":2880,"documentation_id":2880,"languages_code":925,"slug":2883,"title":2884,"content":2886,"meta_title":2884,"meta_description":2885,"excerpt":2885},[],{"id":420,"status":4,"sort":2898,"created_on":2406,"modified_on":2899,"slug":2900,"title":2901,"excerpt":2902,"content":2903,"meta_title":2901,"meta_description":2902,"pinned":91,"main_image":8,"section":2904,"subsection":2907,"cta":2908,"faq":2909,"dictionary":2936,"translations":2937,"documentation_id":420,"blog_articles":2939},"70200","2025-11-03T14:25:06.000Z","quick-start-po","Quick Start - PO","Localize your app with PO localizations and Localazy CLI.","**Learn how to use Localazy CLI for app and software localization with translations in Gettext PO\u002FPOT files.**\n\n**1.** [Install Localazy CLI](\u002Fdocs\u002Fcli\u002Finstallation) for your operating system.\n\n**2.** Create a configuration file **localazy.json** in your project. You can start with our configurable sample:\n\n\n```javascript form-builder-config\nconfig = {\n    forms: {\n        \u002F\u002F TODO: Add lingui format default when buttons are ready: https:\u002F\u002Flingui.dev\u002Fref\u002Fcatalog-formats\n        form1: [\n            {\n                id: 'form_type', type: 'select', label: 'Configuration Options', value: 'basic', cssClass: 'col-span-12', items: 'form_type'\n            },\n            {\n                id: 'label',\n                type: 'group',\n                label: 'Import Options',\n                cssClass: 'col-span-12',\n                children: [\n                    {\n                        id: 'skip_source', type: 'checkbox', label: 'msgId is ID, not a source text', value: false, cssClass: 'sm:col-span-6 col-span-12',\n                        tooltip: 'By default, the msgId is considered to be a source text, but if you have ID-based keys, enabled this option.'\n                    },\n                    {\n                        id: 'upload_existing', type: 'checkbox', label: 'Upload existing translations', value: false, cssClass: 'sm:col-span-6 col-span-12',\n                    },\n                    {\n                        id: 'filter_source', type: 'checkbox', label: 'Filter translations same as the source', value: true, cssClass: 'sm:col-span-6 col-span-12', visible: 'form_type.value==\"advanced\"',\n                        tooltip: 'By default, if the translation is the same as the source text, we skip it. It\\'s necessary for some formats and frameworks.'\n                    },\n                    {\n                        id: 'preserve_comments', type: 'checkbox', label: 'Keep comments', value: false, cssClass: 'sm:col-span-6 col-span-12'\n                    }\n                ]\n            },\n            {\n                id: 'filtering',\n                type: 'group',\n                cssClass: 'col-span-12',\n                visible: 'form_type.value==\"advanced\"',\n                children: [\n                    {\n                        id: 'filtering', type: 'select', label: 'Filtering', value: 'no', cssClass: 'col-span-12', items: 'filtering_items', visible: 'form_type.value==\"advanced\"'\n                    },\n                    {\n                        id: 'output', type: 'select', label: 'Output Format', value: 'po', cssClass: 'col-span-12', items: 'output_items', visible: 'form_type.value==\"advanced\"'\n                    },\n                    {\n                        id: 'deprecating', type: 'select', label: 'Deprecate Missing Keys', value: 'no', cssClass: 'col-span-12', items: 'deprecate_items', visible: 'form_type.value==\"advanced\"'\n                    }\n                ]\n            }\n        ]\n    },\n\n    items: {\n        form_type: [\n            [\"basic\", \"Show basic configuration options\"],\n            [\"advanced\", \"Show advanced configuration options\"]\n        ],\n        filtering_items: [\n            ['no', 'Use source language text for missing translations'],\n            ['fu', 'Filter untranslated texts out from the file'],\n            ['eu', 'Output untranslated texts as empty strings']\n        ],\n        output_items: [\n            ['po', 'Output in PO format'],\n            ['mo', 'Output in MO format'],\n            ['po_mo', 'Output in PO and MO format']\n        ],\n        deprecate_items: [\n            ['no', 'Do not deprecate missing keys'],\n            ['fi', 'Deprecate keys in files that appear in the upload'],\n            ['pr', 'Deprecate all keys that are not part of the upload']\n        ]\n    }\n\n};\n```\n\n{{form1}}\n\n```json\n{\n  \"writeKey\": \"___USER_WRITE_KEY___\",\n  \"readKey\": \"___USER_READ_KEY___\",\n\n  \"upload\": {\n    \"type\": \"po\",\n    {{#if !filter_source}}\n    \"filterSource\": false,\n    {{\u002Fif}}\n    {{#if deprecating.value == 'fi'}}\n    \"deprecate\": \"file\",\n    {{\u002Fif}}\n    {{#if deprecating.value == 'pr'}}\n    \"deprecate\": \"project\",\n    {{\u002Fif}}\n    {{#if (skip_source && preserve_comments && filtering.value == 'fu' && output.value == 'mo')}}\n    \"features\": [\"skip_source\", \"preserve_comments\", \"filter_untranslated\", \"output_mo\"],\n    {{\u002Fif}}\n    {{#if (skip_source && preserve_comments && filtering.value == 'fu' && output.value != 'mo')}}\n    \"features\": [\"skip_source\", \"preserve_comments\", \"filter_untranslated\"],\n    {{\u002Fif}}\n    {{#if (skip_source && preserve_comments && filtering.value == 'eu' && output.value == 'mo')}}\n    \"features\": [\"skip_source\", \"preserve_comments\", \"filter_untranslated\", \"empty_untranslated\", \"output_mo\"],\n    {{\u002Fif}}\n    {{#if (skip_source && preserve_comments && filtering.value == 'eu' && output.value != 'mo')}}\n    \"features\": [\"skip_source\", \"preserve_comments\", \"filter_untranslated\", \"empty_untranslated\"],\n    {{\u002Fif}}\n    {{#if (skip_source && preserve_comments && filtering.value != 'fu' && filtering.value != 'eu' && output.value == 'mo')}}\n    \"features\": [\"skip_source\", \"preserve_comments\", \"output_mo\"],\n    {{\u002Fif}}\n    {{#if (skip_source && preserve_comments && filtering.value != 'fu' && filtering.value != 'eu' && output.value != 'mo')}}\n    \"features\": [\"skip_source\", \"preserve_comments\"],\n    {{\u002Fif}}\n    {{#if (skip_source && !preserve_comments && filtering.value == 'fu' && output.value == 'mo')}}\n    \"features\": [\"skip_source\", \"filter_untranslated\", \"output_mo\"],\n    {{\u002Fif}}\n    {{#if (skip_source && !preserve_comments && filtering.value == 'fu' && output.value != 'mo')}}\n    \"features\": [\"skip_source\", \"filter_untranslated\"],\n    {{\u002Fif}}\n    {{#if (skip_source && !preserve_comments && filtering.value == 'eu' && output.value == 'mo')}}\n    \"features\": [\"skip_source\", \"filter_untranslated\", \"empty_untranslated\", \"output_mo\"],\n    {{\u002Fif}}\n    {{#if (skip_source && !preserve_comments && filtering.value == 'eu' && output.value != 'mo')}}\n    \"features\": [\"skip_source\", \"filter_untranslated\", \"empty_untranslated\"],\n    {{\u002Fif}}\n    {{#if (skip_source && !preserve_comments && filtering.value != 'fu' && filtering.value != 'eu' && output.value == 'mo')}}\n    \"features\": [\"skip_source\", \"output_mo\"],\n    {{\u002Fif}}\n    {{#if (skip_source && !preserve_comments && filtering.value != 'fu' && filtering.value != 'eu' && output.value != 'mo')}}\n    \"features\": [\"skip_source\"],\n    {{\u002Fif}}\n    {{#if (!skip_source && preserve_comments && filtering.value == 'fu' && output.value == 'mo')}}\n    \"features\": [\"preserve_comments\", \"filter_untranslated\", \"output_mo\"],\n    {{\u002Fif}}\n    {{#if (!skip_source && preserve_comments && filtering.value == 'fu' && output.value != 'mo')}}\n    \"features\": [\"preserve_comments\", \"filter_untranslated\"],\n    {{\u002Fif}}\n    {{#if (!skip_source && preserve_comments && filtering.value == 'eu' && output.value == 'mo')}}\n    \"features\": [\"preserve_comments\", \"filter_untranslated\", \"empty_untranslated\", \"output_mo\"],\n    {{\u002Fif}}\n    {{#if (!skip_source && preserve_comments && filtering.value == 'eu' && output.value != 'mo')}}\n    \"features\": [\"preserve_comments\", \"filter_untranslated\", \"empty_untranslated\"],\n    {{\u002Fif}}\n    {{#if (!skip_source && preserve_comments && filtering.value != 'fu' && filtering.value != 'eu' && output.value == 'mo')}}\n    \"features\": [\"preserve_comments\", \"output_mo\"],\n    {{\u002Fif}}\n    {{#if (!skip_source && preserve_comments && filtering.value != 'fu' && filtering.value != 'eu' && output.value != 'mo')}}\n    \"features\": [\"preserve_comments\"],\n    {{\u002Fif}}\n    {{#if (!skip_source && !preserve_comments && filtering.value == 'fu' && output.value == 'mo')}}\n    \"features\": [\"filter_untranslated\", \"output_mo\"],\n    {{\u002Fif}}\n    {{#if (!skip_source && !preserve_comments && filtering.value == 'fu' && output.value != 'mo')}}\n    \"features\": [\"filter_untranslated\"],\n    {{\u002Fif}}\n    {{#if (!skip_source && !preserve_comments && filtering.value == 'eu' && output.value == 'mo')}}\n    \"features\": [\"filter_untranslated\", \"empty_untranslated\", \"output_mo\"],\n    {{\u002Fif}}\n    {{#if (!skip_source && !preserve_comments && filtering.value == 'eu' && output.value != 'mo')}}\n    \"features\": [\"filter_untranslated\", \"empty_untranslated\"],\n    {{\u002Fif}}\n    {{#if (!skip_source && !preserve_comments && filtering.value != 'fu' && filtering.value != 'eu' && output.value == 'mo')}}\n    \"features\": [\"output_mo\"],\n    {{\u002Fif}}\n    {{#if upload_existing}}\n    \"files\": [\n      {\n        \"pattern\": \"locales\u002Fen.po\"\n      },\n      {\n        \"group\": \"existing\",\n        \"pattern\": \"locales\u002F*.po\",\n        \"excludes\": [\"**\u002Fen.po\"],\n        \"lang\": \"${autodetectLang}\"\n      }\n    ]\n    {{else}}\n    \"files\": \"locales\u002Fen.po\"\n    {{\u002Fif}}\n  },\n\n  {{#if output.value=='po_mo'}}\n  \"conversion\": {\n    \"actions\": {\n      \"type\": \"mo\",\n      \"output\": \"locales\u002F${lang}.mo\"\n    }\n  },\n  {{\u002Fif}}\n\n  \"download\": {\n    \"files\": \"locales\u002F${lang}.{{#if output.value!='mo'}}po{{\u002Fif}}{{#if output.value=='mo'}}mo{{\u002Fif}}\"\n  }\n\n}\n```\n\n**3.** {{#if upload_existing}}Run `localazy upload existing` to upload all the existing translations for the first time. Subsequently, upload{{\u002Fif}}{{#if !upload_existing}}Upload{{\u002Fif}} the source strings with `localazy upload` whenever you change them.\n\n**4.** Download translated files with `localazy download` before building your app.\n\n---\n\n::: info\nLearn more details about our [Gettext PO\u002FPOT support](\u002Fdocs\u002Fcli\u002Fpo-format).\n:::\n\n::: info\nLearn how to increase security by providing [read and write keys using extra file or environment variables](\u002Fdocs\u002Fcli\u002Fauthorization).\n:::\n\n---\n\nLocalazy CLI is simple to start yet flexible enough for any project. [Let's take the quick tour](\u002Fdocs\u002Fcli\u002Fthe-basics).\n\n\n\n",{"id":266,"status":4,"sort":43,"created_on":1864,"slug":843,"name":520,"subtitle":1865,"meta_title":8,"meta_description":8,"hidden":93,"icon":2905,"featured_icon":2906},{"id":715},{"id":1868},{"id":214,"status":4,"sort":433,"created_on":1871,"name":1872},{"id":16,"status":438,"created_on":2418,"modified_on":2419,"icon":2420,"header":2421,"description":2422,"button_label":2421,"link":2423},[2910,2912,2918,2924,2930],{"id":266,"status":4,"title":2426,"content":2427,"slug":2428,"created_on":2429,"modified_on":2430,"owner":2431,"meta_title":8,"category":2911},{"id":22,"status":4,"created_on":2433,"sort":98,"slug":2434,"label":2435,"on_faq_index":93},{"id":2847,"status":4,"title":2913,"content":2914,"slug":2915,"created_on":2429,"modified_on":2916,"owner":2431,"meta_title":8,"category":2917},"How to open PO files?","To open **[PO and POT files](\u002Fdictionary\u002Fpo-and-pot-format)**, you can use any text editor that supports the format (such as Notepad, Sublime Text, or Notepad++), use specialized software (like Poedit), or Localazy - the online [translation management system](\u002Fdictionary\u002Ftranslation-management-system-tms) explicitly made for working with translation file formats. \n\nLocalazy offers a clutter-free way to browse, edit and manage localization files of many formats.\n\nTo open [PO](\u002Fpo) files using the Localazy interface, [sign up](\u002Fregister), create a new translation project and upload the PO file. You'll then be able to browse the content of the file in a user-friendly environment.","how-to-open-po-files","2021-09-20T11:50:43.000Z",{"id":134,"status":4,"created_on":1966,"sort":8,"slug":2573,"label":2574,"on_faq_index":93},{"id":1694,"status":4,"title":2919,"content":2920,"slug":2921,"created_on":2429,"modified_on":2922,"owner":2431,"meta_title":8,"category":2923},"How to edit PO files?","To edit **[PO files](\u002Fdictionary\u002Fxliff)**, you could use any (advanced) text editor (such as Sublime Text or Notepad++), any [IDE](\u002Fdictionary\u002Fintegrated-development-kit-ide) software (such as VisualStudio Code and others), or just **use Localazy**, which was made specifically with translation file formats in mind. Localazy offers a clutter-free way to browse, edit and manage localization files of [many formats](\u002Fintegrations).\n\nTo open and edit [PO](\u002Fpo) files using the Localazy interface, [sign up](\u002Fregister), create a new translation project and upload your PO file. Then head to the File management tab to open the file you just uploaded. You'll then be able to browse and edit the content of the file in a user-friendly environment.\n\n### Further reading:\n- [Quick Start - PO](\u002Fdocs\u002Fcli\u002Fquick-start-po)","how-to-edit-po-files","2021-09-20T12:18:40.000Z",{"id":134,"status":4,"created_on":1966,"sort":8,"slug":2573,"label":2574,"on_faq_index":93},{"id":2458,"status":4,"title":2925,"content":2926,"slug":2927,"created_on":2429,"modified_on":2928,"owner":2431,"meta_title":8,"category":2929},"How to translate PO files?","To translate **[PO and POT files](\u002Fdictionary\u002Fpo-and-pot-formats)**, you could just open the file and translate all content on your own or with the help of [machine translation](\u002Fdictionary\u002Fmachine-translation) engines (e.g., Amazon Translate). However, approaching translations this way is messy, error-prone, and tedious. You can do better!\n\nTranslating PO and POT files is simple with Localazy. [Sign up for free](\u002Fregister), create a new translation project and upload your PO, or POT file. Head to the Translations tab to add new languages and [start translating](\u002Fdocs\u002Fgeneral\u002Ftranslating-strings). \n\nLocalazy gives you a clean UI for translating PO and POT files. Enjoy built-in machine translation suggestions and all features a solid [TMS](\u002Fdictionary\u002Ftranslation-management-system-tms) has to offer!\n\n**To translate PO (or POT) files automatically, you have two (premium) options:**\n- Use the [pre-translate feature](\u002Fdocs\u002Fgeneral\u002Fadditional-mt-engines#mt-pre-translate) available with the [Autopilot plan](\u002Fdocs\u002Fgeneral\u002Flocalazy-autopilot-tier) to translate all content of your PO files in a few seconds by an MT engine of your choice.\n- Set up our [Continuous Localization Team](\u002Fdocs\u002Fgeneral\u002Fcontinuous-localization-team) service to get your PO file translated by human translators.","how-to-translate-po-files","2021-09-20T12:28:42.000Z",{"id":134,"status":4,"created_on":1966,"sort":8,"slug":2573,"label":2574,"on_faq_index":93},{"id":1526,"status":4,"title":2931,"content":2932,"slug":2933,"created_on":2570,"modified_on":2934,"owner":2431,"meta_title":8,"category":2935},"How to convert PO files?","To convert **[PO or POT files](\u002Fdictionary\u002Fpo-and-pot-formats)**, you can use the [Format Conversions](\u002Ffeatures\u002Fformat-conversions) feature of Localazy. \n\nStart by [signing up for free](\u002Fregister) and create a new translation project. Upload your PO files and follow the steps outlined in the [documentation](\u002Fdocs\u002Fgeneral\u002Fformat-conversions-feature). \n\nAlternatively, to automate the conversion, you can set up the [Localazy CLI](\u002Fdocs\u002Fcli\u002Fthe-basics) with the desired configuration.\n\n> Notice that Format Conversions is a paid feature, available for all users with the [Professional tier](\u002Fdocs\u002Fgeneral\u002Flocalazy-professional-tier) and up. But don't worry, there is a 14-day trial period to try everything before you commit.\n\n**For an in-depth tutorial on Localazy Format Conversions:**\n- [How to convert localization files into different formats?](\u002Fblog\u002Fconvert-localization-files-different-formats-localazy)\n\n## You might be interested in:\n- [Format Conversions Documentation](\u002Fdocs\u002Fgeneral\u002Fformat-conversions-add-on)\n- [Format Conversions - Localazy CLI](\u002Fdocs\u002Fcli\u002Fformat-conversions)","how-to-convert-po-files","2024-04-11T10:46:52.000Z",{"id":134,"status":4,"created_on":1966,"sort":8,"slug":2573,"label":2574,"on_faq_index":93},[],[2938],{"id":420,"documentation_id":420,"languages_code":925,"slug":2900,"title":2901,"content":2903,"meta_title":2901,"meta_description":2902,"excerpt":2902},[],{"id":1989,"status":4,"sort":2941,"created_on":2406,"modified_on":2942,"slug":2943,"title":2944,"excerpt":2945,"content":2946,"meta_title":2944,"meta_description":2945,"pinned":91,"main_image":8,"section":2947,"subsection":2950,"cta":2951,"faq":2952,"dictionary":2963,"translations":2964,"documentation_id":1989,"blog_articles":2966},"70210","2025-11-03T14:23:29.000Z","quick-start-pot","Quick Start - POT","Localize your app with PO\u002FPOT localizations and Localazy CLI.","**Learn how to use Localazy CLI for app and software localization with translations in Gettext PO\u002FPOT files.**\n\n**1.** [Install Localazy CLI](\u002Fdocs\u002Fcli\u002Finstallation) for your operating system.\n\n**2.** Create a configuration file **localazy.json** in your project. You can start with our configurable sample:\n\n\n```javascript form-builder-config\nconfig = {\n    forms: {\n        \u002F\u002F TODO: Add lingui format default when buttons are ready: https:\u002F\u002Flingui.dev\u002Fref\u002Fcatalog-formats\n        form1: [\n            {\n                id: 'form_type', type: 'select', label: 'Configuration Options', value: 'basic', cssClass: 'col-span-12', items: 'form_type'\n            },\n            {\n                id: 'label',\n                type: 'group',\n                label: 'Import Options',\n                cssClass: 'col-span-12',\n                children: [\n                    {\n                        id: 'skip_source', type: 'checkbox', label: 'msgId is ID, not a source text', value: false, cssClass: 'sm:col-span-6 col-span-12',\n                        tooltip: 'By default, the msgId is considered to be a source text, but if you have ID-based keys, enabled this option.'\n                    },\n                    {\n                        id: 'upload_existing', type: 'checkbox', label: 'Upload existing translations', value: false, cssClass: 'sm:col-span-6 col-span-12',\n                    },\n                    {\n                        id: 'filter_source', type: 'checkbox', label: 'Filter translations same as the source', value: true, cssClass: 'sm:col-span-6 col-span-12', visible: 'form_type.value==\"advanced\"',\n                        tooltip: 'By default, if the translation is the same as the source text, we skip it. It\\'s necessary for some formats and frameworks.'\n                    },\n                    {\n                        id: 'preserve_comments', type: 'checkbox', label: 'Keep comments', value: false, cssClass: 'sm:col-span-6 col-span-12'\n                    }\n                ]\n            },\n            {\n                id: 'filtering',\n                type: 'group',\n                cssClass: 'col-span-12',\n                visible: 'form_type.value==\"advanced\"',\n                children: [\n                    {\n                        id: 'filtering', type: 'select', label: 'Filtering', value: 'no', cssClass: 'col-span-12', items: 'filtering_items', visible: 'form_type.value==\"advanced\"'\n                    },\n                    {\n                        id: 'output', type: 'select', label: 'Output Format', value: 'po', cssClass: 'col-span-12', items: 'output_items', visible: 'form_type.value==\"advanced\"'\n                    },\n                    {\n                        id: 'deprecating', type: 'select', label: 'Deprecate Missing Keys', value: 'no', cssClass: 'col-span-12', items: 'deprecate_items', visible: 'form_type.value==\"advanced\"'\n                    }\n                ]\n            }\n        ]\n    },\n\n    items: {\n        form_type: [\n            [\"basic\", \"Show basic configuration options\"],\n            [\"advanced\", \"Show advanced configuration options\"]\n        ],\n        filtering_items: [\n            ['no', 'Use source language text for missing translations'],\n            ['fu', 'Filter untranslated texts out from the file'],\n            ['eu', 'Output untranslated texts as empty strings']\n        ],\n        output_items: [\n            ['po', 'Output in PO format'],\n            ['mo', 'Output in MO format'],\n            ['po_mo', 'Output in PO and MO format']\n        ],\n        deprecate_items: [\n            ['no', 'Do not deprecate missing keys'],\n            ['fi', 'Deprecate keys in files that appear in the upload'],\n            ['pr', 'Deprecate all keys that are not part of the upload']\n        ]\n    }\n\n};\n```\n\n{{form1}}\n\n```json\n{\n  \"writeKey\": \"___USER_WRITE_KEY___\",\n  \"readKey\": \"___USER_READ_KEY___\",\n\n  \"upload\": {\n    \"type\": \"po\",\n    {{#if !filter_source}}\n    \"filterSource\": false,\n    {{\u002Fif}}\n    {{#if deprecating.value == 'fi'}}\n    \"deprecate\": \"file\",\n    {{\u002Fif}}\n    {{#if deprecating.value == 'pr'}}\n    \"deprecate\": \"project\",\n    {{\u002Fif}}\n    {{#if (skip_source && preserve_comments && filtering.value == 'fu' && output.value == 'mo')}}\n    \"features\": [\"skip_source\", \"preserve_comments\", \"filter_untranslated\", \"output_mo\"],\n    {{\u002Fif}}\n    {{#if (skip_source && preserve_comments && filtering.value == 'fu' && output.value != 'mo')}}\n    \"features\": [\"skip_source\", \"preserve_comments\", \"filter_untranslated\"],\n    {{\u002Fif}}\n    {{#if (skip_source && preserve_comments && filtering.value == 'eu' && output.value == 'mo')}}\n    \"features\": [\"skip_source\", \"preserve_comments\", \"filter_untranslated\", \"empty_untranslated\", \"output_mo\"],\n    {{\u002Fif}}\n    {{#if (skip_source && preserve_comments && filtering.value == 'eu' && output.value != 'mo')}}\n    \"features\": [\"skip_source\", \"preserve_comments\", \"filter_untranslated\", \"empty_untranslated\"],\n    {{\u002Fif}}\n    {{#if (skip_source && preserve_comments && filtering.value != 'fu' && filtering.value != 'eu' && output.value == 'mo')}}\n    \"features\": [\"skip_source\", \"preserve_comments\", \"output_mo\"],\n    {{\u002Fif}}\n    {{#if (skip_source && preserve_comments && filtering.value != 'fu' && filtering.value != 'eu' && output.value != 'mo')}}\n    \"features\": [\"skip_source\", \"preserve_comments\"],\n    {{\u002Fif}}\n    {{#if (skip_source && !preserve_comments && filtering.value == 'fu' && output.value == 'mo')}}\n    \"features\": [\"skip_source\", \"filter_untranslated\", \"output_mo\"],\n    {{\u002Fif}}\n    {{#if (skip_source && !preserve_comments && filtering.value == 'fu' && output.value != 'mo')}}\n    \"features\": [\"skip_source\", \"filter_untranslated\"],\n    {{\u002Fif}}\n    {{#if (skip_source && !preserve_comments && filtering.value == 'eu' && output.value == 'mo')}}\n    \"features\": [\"skip_source\", \"filter_untranslated\", \"empty_untranslated\", \"output_mo\"],\n    {{\u002Fif}}\n    {{#if (skip_source && !preserve_comments && filtering.value == 'eu' && output.value != 'mo')}}\n    \"features\": [\"skip_source\", \"filter_untranslated\", \"empty_untranslated\"],\n    {{\u002Fif}}\n    {{#if (skip_source && !preserve_comments && filtering.value != 'fu' && filtering.value != 'eu' && output.value == 'mo')}}\n    \"features\": [\"skip_source\", \"output_mo\"],\n    {{\u002Fif}}\n    {{#if (skip_source && !preserve_comments && filtering.value != 'fu' && filtering.value != 'eu' && output.value != 'mo')}}\n    \"features\": [\"skip_source\"],\n    {{\u002Fif}}\n    {{#if (!skip_source && preserve_comments && filtering.value == 'fu' && output.value == 'mo')}}\n    \"features\": [\"preserve_comments\", \"filter_untranslated\", \"output_mo\"],\n    {{\u002Fif}}\n    {{#if (!skip_source && preserve_comments && filtering.value == 'fu' && output.value != 'mo')}}\n    \"features\": [\"preserve_comments\", \"filter_untranslated\"],\n    {{\u002Fif}}\n    {{#if (!skip_source && preserve_comments && filtering.value == 'eu' && output.value == 'mo')}}\n    \"features\": [\"preserve_comments\", \"filter_untranslated\", \"empty_untranslated\", \"output_mo\"],\n    {{\u002Fif}}\n    {{#if (!skip_source && preserve_comments && filtering.value == 'eu' && output.value != 'mo')}}\n    \"features\": [\"preserve_comments\", \"filter_untranslated\", \"empty_untranslated\"],\n    {{\u002Fif}}\n    {{#if (!skip_source && preserve_comments && filtering.value != 'fu' && filtering.value != 'eu' && output.value == 'mo')}}\n    \"features\": [\"preserve_comments\", \"output_mo\"],\n    {{\u002Fif}}\n    {{#if (!skip_source && preserve_comments && filtering.value != 'fu' && filtering.value != 'eu' && output.value != 'mo')}}\n    \"features\": [\"preserve_comments\"],\n    {{\u002Fif}}\n    {{#if (!skip_source && !preserve_comments && filtering.value == 'fu' && output.value == 'mo')}}\n    \"features\": [\"filter_untranslated\", \"output_mo\"],\n    {{\u002Fif}}\n    {{#if (!skip_source && !preserve_comments && filtering.value == 'fu' && output.value != 'mo')}}\n    \"features\": [\"filter_untranslated\"],\n    {{\u002Fif}}\n    {{#if (!skip_source && !preserve_comments && filtering.value == 'eu' && output.value == 'mo')}}\n    \"features\": [\"filter_untranslated\", \"empty_untranslated\", \"output_mo\"],\n    {{\u002Fif}}\n    {{#if (!skip_source && !preserve_comments && filtering.value == 'eu' && output.value != 'mo')}}\n    \"features\": [\"filter_untranslated\", \"empty_untranslated\"],\n    {{\u002Fif}}\n    {{#if (!skip_source && !preserve_comments && filtering.value != 'fu' && filtering.value != 'eu' && output.value == 'mo')}}\n    \"features\": [\"output_mo\"],\n    {{\u002Fif}}\n    {{#if upload_existing}}\n    \"files\": [\n      {\n        \"pattern\": \"locales\u002Fen.pot\"\n      },\n      {\n        \"group\": \"existing\",\n        \"pattern\": \"locales\u002F*.po\",\n        \"excludes\": [\"**\u002Fen.pot\"],\n        \"lang\": \"${autodetectLang}\"\n      }\n    ]\n    {{else}}\n    \"files\": \"locales\u002Fen.pot\"\n    {{\u002Fif}}\n  },\n\n  {{#if output.value=='po_mo'}}\n  \"conversion\": {\n    \"actions\": {\n      \"type\": \"mo\",\n      \"output\": \"locales\u002F${lang}.mo\"\n    }\n  },\n  {{\u002Fif}}\n\n  \"download\": {\n    \"files\": \"locales\u002F${lang}.{{#if output.value!='mo'}}po{{\u002Fif}}{{#if output.value=='mo'}}mo{{\u002Fif}}\"\n  }\n\n}\n```\n\n**3.** {{#if upload_existing}}Run `localazy upload existing` to upload all the existing translations for the first time. Subsequently, upload{{\u002Fif}}{{#if !upload_existing}}Upload{{\u002Fif}} the source strings with `localazy upload` whenever you change them.\n\n**4.** Download translated files with `localazy download` before building your app.\n\n---\n\n::: info\nLearn more details about our [Gettext PO\u002FPOT support](\u002Fdocs\u002Fcli\u002Fpo-format).\n:::\n\n::: info\nLearn how to increase security by providing [read and write keys using extra file or environment variables](\u002Fdocs\u002Fcli\u002Fauthorization).\n:::\n\n---\n\nLocalazy CLI is simple to start yet flexible enough for any project. [Let's take the quick tour](\u002Fdocs\u002Fcli\u002Fthe-basics).\n\n\n\n",{"id":266,"status":4,"sort":43,"created_on":1864,"slug":843,"name":520,"subtitle":1865,"meta_title":8,"meta_description":8,"hidden":93,"icon":2948,"featured_icon":2949},{"id":715},{"id":1868},{"id":214,"status":4,"sort":433,"created_on":1871,"name":1872},{"id":16,"status":438,"created_on":2418,"modified_on":2419,"icon":2420,"header":2421,"description":2422,"button_label":2421,"link":2423},[2953,2955,2957,2959,2961],{"id":266,"status":4,"title":2426,"content":2427,"slug":2428,"created_on":2429,"modified_on":2430,"owner":2431,"meta_title":8,"category":2954},{"id":22,"status":4,"created_on":2433,"sort":98,"slug":2434,"label":2435,"on_faq_index":93},{"id":2847,"status":4,"title":2913,"content":2914,"slug":2915,"created_on":2429,"modified_on":2916,"owner":2431,"meta_title":8,"category":2956},{"id":134,"status":4,"created_on":1966,"sort":8,"slug":2573,"label":2574,"on_faq_index":93},{"id":1694,"status":4,"title":2919,"content":2920,"slug":2921,"created_on":2429,"modified_on":2922,"owner":2431,"meta_title":8,"category":2958},{"id":134,"status":4,"created_on":1966,"sort":8,"slug":2573,"label":2574,"on_faq_index":93},{"id":2458,"status":4,"title":2925,"content":2926,"slug":2927,"created_on":2429,"modified_on":2928,"owner":2431,"meta_title":8,"category":2960},{"id":134,"status":4,"created_on":1966,"sort":8,"slug":2573,"label":2574,"on_faq_index":93},{"id":1526,"status":4,"title":2931,"content":2932,"slug":2933,"created_on":2570,"modified_on":2934,"owner":2431,"meta_title":8,"category":2962},{"id":134,"status":4,"created_on":1966,"sort":8,"slug":2573,"label":2574,"on_faq_index":93},[],[2965],{"id":1989,"documentation_id":1989,"languages_code":925,"slug":2943,"title":2944,"content":2946,"meta_title":2944,"meta_description":2945,"excerpt":2945},[],{"id":2968,"status":4,"sort":2969,"created_on":2406,"modified_on":2970,"slug":2971,"title":2972,"excerpt":2973,"content":2974,"meta_title":2972,"meta_description":2973,"pinned":91,"main_image":8,"section":2975,"subsection":2978,"cta":2979,"faq":2980,"dictionary":2981,"translations":2982,"documentation_id":2968,"blog_articles":2984},79,"70215","2024-07-16T15:14:54.000Z","quick-start-qt-ts","Quick Start - Qt TS","Localize your Qt Linguist .TS files easily with Localazy CLI.","**Upload Qt Linguist .TS files with strings to Localazy and manage your translations easily. Download translated files back.**\n\n**1.** [Install Localazy CLI](\u002Fdocs\u002Fcli\u002Finstallation) for your operating system. \n\n**2.** Create a configuration file **localazy.json** in the root of your project. You can start with our sample:\n\n```json\n{\n\n  \"writeKey\": \"___USER_WRITE_KEY___\",\n  \"readKey\": \"___USER_READ_KEY___\",\n  \n  \"upload\": {  \n    \"type\": \"qt-ts\",\n    \"files\": \"translations\u002Fstrings.ts\"         \n  },\n  \n  \"download\": {\n    \"files\": \"translations\u002F${lang}.ts\"\n  }\n  \n}  \n```\n\n**3.** Upload the source strings with `localazy upload` whenever you change them.\n\n**4.** Download translated files with `localazy download` before building your app.\n\n---\n\n::: info\n[Learn more about supported features](\u002Fdocs\u002Fcli\u002Fqt-ts-format) for the Linguist .TS file format.\n:::\n\n::: info\nYou can upload all your existing translations too! [Learn more about it.](\u002Fdocs\u002Fcli\u002Fexisting-translations) \n:::\n\n---\n\nLocalazy CLI is simple to start yet flexible enough for any project. [Let's take the quick tour](\u002Fdocs\u002Fcli\u002Fthe-basics).\n",{"id":266,"status":4,"sort":43,"created_on":1864,"slug":843,"name":520,"subtitle":1865,"meta_title":8,"meta_description":8,"hidden":93,"icon":2976,"featured_icon":2977},{"id":715},{"id":1868},{"id":214,"status":4,"sort":433,"created_on":1871,"name":1872},{"id":16,"status":438,"created_on":2418,"modified_on":2419,"icon":2420,"header":2421,"description":2422,"button_label":2421,"link":2423},[],[],[2983],{"id":2968,"documentation_id":2968,"languages_code":925,"slug":2971,"title":2972,"content":2974,"meta_title":2972,"meta_description":2973,"excerpt":2973},[],{"id":437,"status":4,"sort":2986,"created_on":2406,"modified_on":2987,"slug":2988,"title":2989,"excerpt":2990,"content":2991,"meta_title":2989,"meta_description":2990,"pinned":91,"main_image":8,"section":2992,"subsection":2995,"cta":2996,"faq":2997,"dictionary":3000,"translations":3001,"documentation_id":437,"blog_articles":3003},"70220","2024-07-16T15:14:42.000Z","quick-start-rails-i18n","Quick Start - Rails i18n","Localize your Rails app with Localazy CLI.","**Upload Rails YAML files with strings to Localazy and manage your translations easily. Download translated files back.**\n\n**1.** [Install Localazy CLI](\u002Fdocs\u002Fcli\u002Finstallation) for your operating system. \n\n**2.** Create a configuration file **localazy.json** in the root of your project. You can start with our sample:\n\n```json\n{\n\n  \"writeKey\": \"___USER_WRITE_KEY___\",\n  \"readKey\": \"___USER_READ_KEY___\",\n  \n  \"upload\": {  \n    \"type\": \"yaml\",\n    \"features\": [\"lang_root\"],\n    \"files\": \"translations\u002Fen.yaml\"         \n  },\n  \n  \"download\": {\n    \"files\": \"translations\u002F${lang}.yaml\"\n  }\n  \n}  \n```\n\n**3.** Upload the source strings with `localazy upload` whenever you change them.\n\n**4.** Download translated files with `localazy download` before building your app.\n\n---\n\n::: info\nSupport for **Rails i18n**  (`lang_root` feature) is a part of our configurable YAML parser. \n[Learn more about all its features.](\u002Fdocs\u002Fcli\u002Fyaml-format)\n:::\n\n::: info\nYou can upload all your existing translations too! [Learn more about it.](\u002Fdocs\u002Fcli\u002Fexisting-translations) \n:::\n\n---\n\nLocalazy CLI is simple to start yet flexible enough for any project. [Let's take the quick tour](\u002Fdocs\u002Fcli\u002Fthe-basics).\n",{"id":266,"status":4,"sort":43,"created_on":1864,"slug":843,"name":520,"subtitle":1865,"meta_title":8,"meta_description":8,"hidden":93,"icon":2993,"featured_icon":2994},{"id":715},{"id":1868},{"id":214,"status":4,"sort":433,"created_on":1871,"name":1872},{"id":16,"status":438,"created_on":2418,"modified_on":2419,"icon":2420,"header":2421,"description":2422,"button_label":2421,"link":2423},[2998],{"id":266,"status":4,"title":2426,"content":2427,"slug":2428,"created_on":2429,"modified_on":2430,"owner":2431,"meta_title":8,"category":2999},{"id":22,"status":4,"created_on":2433,"sort":98,"slug":2434,"label":2435,"on_faq_index":93},[],[3002],{"id":437,"documentation_id":437,"languages_code":925,"slug":2988,"title":2989,"content":2991,"meta_title":2989,"meta_description":2990,"excerpt":2990},[],{"id":309,"status":4,"sort":3005,"created_on":2406,"modified_on":3006,"slug":3007,"title":3008,"excerpt":3009,"content":3010,"meta_title":3008,"meta_description":3009,"pinned":91,"main_image":8,"section":3011,"subsection":3014,"cta":3015,"faq":3016,"dictionary":3019,"translations":3020,"documentation_id":309,"blog_articles":3022},"70230","2024-07-16T15:14:41.000Z","quick-start-requirejs","Quick Start - RequireJS","Localize your RequireJS files with Localazy CLI.","**Upload RequireJS files with strings to Localazy and manage your translations easily. Download translated files back.**\n\n**1.** [Install Localazy CLI](\u002Fdocs\u002Fcli\u002Finstallation) for your operating system. \n\n**2.** Create a configuration file **localazy.json** in the root of your project. You can start with our sample:\n\n```json\n{\n\n  \"writeKey\": \"___USER_WRITE_KEY___\",\n  \"readKey\": \"___USER_READ_KEY___\",\n  \n  \"upload\": {  \n    \"type\": \"json\",\n    \"features\": [\"requirejs\"],\n    \"files\": \"translations\u002Fen.json\"         \n  },\n  \n  \"download\": {\n    \"files\": \"translations\u002F${lang}.json\"\n  }\n  \n}  \n```\n\n**3.** Upload the source strings with `localazy upload` whenever you change them.\n\n**4.** Download translated files with `localazy download` before building your app.\n\n---\n\n::: info\nSupport for **RequireJS**  (`requirejs` feature) is a part of our configurable JSON parser. \n[Learn more about all its features.](\u002Fdocs\u002Fcli\u002Fjson-format)\n:::\n\n::: info\nYou can upload all your existing translations too! [Learn more about it.](\u002Fdocs\u002Fcli\u002Fexisting-translations) \n:::\n\n---\n\nLocalazy CLI is simple to start yet flexible enough for any project. [Let's take the quick tour](\u002Fdocs\u002Fcli\u002Fthe-basics).\n",{"id":266,"status":4,"sort":43,"created_on":1864,"slug":843,"name":520,"subtitle":1865,"meta_title":8,"meta_description":8,"hidden":93,"icon":3012,"featured_icon":3013},{"id":715},{"id":1868},{"id":214,"status":4,"sort":433,"created_on":1871,"name":1872},{"id":16,"status":438,"created_on":2418,"modified_on":2419,"icon":2420,"header":2421,"description":2422,"button_label":2421,"link":2423},[3017],{"id":266,"status":4,"title":2426,"content":2427,"slug":2428,"created_on":2429,"modified_on":2430,"owner":2431,"meta_title":8,"category":3018},{"id":22,"status":4,"created_on":2433,"sort":98,"slug":2434,"label":2435,"on_faq_index":93},[],[3021],{"id":309,"documentation_id":309,"languages_code":925,"slug":3007,"title":3008,"content":3010,"meta_title":3008,"meta_description":3009,"excerpt":3009},[],{"id":733,"status":4,"sort":3024,"created_on":2406,"modified_on":3006,"slug":3025,"title":3026,"excerpt":3027,"content":3028,"meta_title":3026,"meta_description":3027,"pinned":91,"main_image":8,"section":3029,"subsection":3032,"cta":3033,"faq":3034,"dictionary":3057,"translations":3058,"documentation_id":733,"blog_articles":3060},"70240","quick-start-resx","Quick Start - RESX","Localize your app with RESX localizations and Localazy CLI.","**Upload RESX files with strings to Localazy and manage your translations easily. Download translated files back.**\n\n**1.** [Install Localazy CLI](\u002Fdocs\u002Fcli\u002Finstallation) for your operating system. \n\n**2.** Create a configuration file **localazy.json** in the root of your project. You can start with our sample:\n\n```json\n{\n\n  \"writeKey\": \"___USER_WRITE_KEY___\",\n  \"readKey\": \"___USER_READ_KEY___\",\n  \n  \"upload\": {  \n    \"type\": \"resx\",\n    \"files\": \"translations\u002Fen.resx\"         \n  },\n  \n  \"download\": {\n    \"files\": \"translations\u002F${lang}.resx\"\n  }\n  \n}  \n```\n\n**3.** Upload the source strings with `localazy upload` whenever you change them.\n\n**4.** Download translated files with `localazy download` before building your app.\n\n---\n\n::: info\nLearn more details about our [RESX support](\u002Fdocs\u002Fcli\u002Fresx-format) including plurals and arrays. \n:::\n\n::: info\nYou can upload all your existing translations too! [Learn more about it.](\u002Fdocs\u002Fcli\u002Fexisting-translations) \n:::\n\n---\n\nLocalazy CLI is simple to start yet flexible enough for any project. [Let's take the quick tour](\u002Fdocs\u002Fcli\u002Fthe-basics).\n",{"id":266,"status":4,"sort":43,"created_on":1864,"slug":843,"name":520,"subtitle":1865,"meta_title":8,"meta_description":8,"hidden":93,"icon":3030,"featured_icon":3031},{"id":715},{"id":1868},{"id":214,"status":4,"sort":433,"created_on":1871,"name":1872},{"id":16,"status":438,"created_on":2418,"modified_on":2419,"icon":2420,"header":2421,"description":2422,"button_label":2421,"link":2423},[3035,3037,3044,3050],{"id":266,"status":4,"title":2426,"content":2427,"slug":2428,"created_on":2429,"modified_on":2430,"owner":2431,"meta_title":8,"category":3036},{"id":22,"status":4,"created_on":2433,"sort":98,"slug":2434,"label":2435,"on_faq_index":93},{"id":3038,"status":4,"title":3039,"content":3040,"slug":3041,"created_on":2570,"modified_on":3042,"owner":2431,"meta_title":8,"category":3043},143,"How to open RESX files?","To open RESX files, you can use any text\u002Fcode editor that supports the format (such as Microsoft Visual Studio and its extension called [ResX Resource Manager](\u002Fhttps:\u002F\u002Fgithub.com\u002Fdotnet\u002FResXResourceManager)), use online services, or upload it to Localazy - the online [translation management system](\u002Fdictionary\u002Ftranslation-management-system-tms).\n\nLocalazy offers a clutter-free way to browse, edit and manage localization files of many formats, including RESX.\n\nTo open **RESX** files using the Localazy interface, do the following;\n1. [Sign up for free](\u002Fregister) \n2. Create a translation project \n3. Upload your RESX file (via [file upload](\u002Fdocs\u002Fgeneral\u002Fimporting-localization-files) or use the [Localazy CLI](\u002Fdocs\u002Fcli\u002Fthe-basics))\n4. Browse the strings inside, translate your RESX file to another language, and more...\n\nLearn how Localazy works in the [Getting Started Guide](\u002Fdocs\u002Fgeneral\u002Fgetting-started-with-localazy).\n\nLearn more about Localazy [integrations](\u002Fintegrations).\n\n## Resources\n[CLI: RESX File Format](\u002Fdocs\u002Fcli\u002Fresx-format)\n[CLI Quick Start - RESX](\u002Fdocs\u002Fintegrations\u002Fquick-start-resx)","how-to-open-resx-files","2025-10-14T10:28:51.000Z",{"id":134,"status":4,"created_on":1966,"sort":8,"slug":2573,"label":2574,"on_faq_index":93},{"id":1520,"status":4,"title":3045,"content":3046,"slug":3047,"created_on":2570,"modified_on":3048,"owner":2431,"meta_title":8,"category":3049},"How to convert RESX files?","To convert RESX files, you can use the [Format Conversions](\u002Ffeatures\u002Fformat-conversions) feature of Localazy.\n\nBegin by [signing up for free](\u002Fregister) and creating a new translation project. Upload your RESX files and set up the [Localazy CLI](\u002Fdocs\u002Fcli\u002Fthe-basics) with the correct configuration.\n\nMany file formats are available for converting from RESX files. Specify your desired conversion and run the CLI commands.\n\n## Resources\n- [CLI: RESX File Format](\u002Fdocs\u002Fcli\u002Fresx-format)\n- [CLI Quick Start - RESX](\u002Fdocs\u002Fintegrations\u002Fquick-start-resx)\n- [Format Conversions CLI Commands](\u002Fdocs\u002Fcli\u002Fformat-conversions)","how-to-convert-resx-files","2025-10-14T10:28:35.000Z",{"id":134,"status":4,"created_on":1966,"sort":8,"slug":2573,"label":2574,"on_faq_index":93},{"id":3051,"status":4,"title":3052,"content":3053,"slug":3054,"created_on":2570,"modified_on":3055,"owner":2431,"meta_title":8,"category":3056},145,"How to edit RESX files?","To edit RESX files, you could use an advanced text editor like XML Editor, but note that simple text editors can corrupt your files. A better way is to use Localazy, crafted with translation file formats in mind. \n\nLocalazy makes it easy to manage your localization files in [any format](\u002Fintegrations) of your choice, and it does a lot of tasks for you automatically.\n\nTo open and edit RESX files using the Localazy interface, [sign up for free](\u002Fregister), create a new translation project, and upload the RESX file using the file upload dialog or [Localazy CLI tool](\u002Fdocs\u002Fcli\u002Fthe-basics). Then click on the File management tab to open your file.\n\nYou’ll be able to view and edit the file’s content using a standard interface.\n\n## Resources\n- [CLI: RESX File Format](\u002Fdocs\u002Fcli\u002Fresx-format)\n- [CLI Quick Start - RESX](\u002Fdocs\u002Fintegrations\u002Fquick-start-resx)","how-to-edit-resx-files","2025-10-14T10:28:16.000Z",{"id":134,"status":4,"created_on":1966,"sort":8,"slug":2573,"label":2574,"on_faq_index":93},[],[3059],{"id":733,"documentation_id":733,"languages_code":925,"slug":3025,"title":3026,"content":3028,"meta_title":3026,"meta_description":3027,"excerpt":3027},[],{"id":3062,"status":4,"sort":3063,"created_on":2442,"modified_on":2882,"slug":3064,"title":3065,"excerpt":3066,"content":3067,"meta_title":8,"meta_description":3066,"pinned":91,"main_image":8,"section":3068,"subsection":3071,"cta":3072,"faq":3073,"dictionary":3074,"translations":3075,"documentation_id":3062,"blog_articles":3077},112,"70250","quick-start-srt","Quick Start - SRT Subtitles","Translate SRT (SubRip Text) subtitles with Localazy.","**Upload SRT (SubRip Text) files with subtitles to Localazy and manage your translations easily. Download translated files back.**\n\n**1.** [Install Localazy CLI](\u002Fdocs\u002Fcli\u002Finstallation) for your operating system. \n\n**2.** Create a configuration file **localazy.json** in the app's module. You can start with our sample:\n\n```json\n{\n\n  \"writeKey\": \"___USER_WRITE_KEY___\",\n  \"readKey\": \"___USER_READ_KEY___\",\n  \n  \"upload\": {  \n      \"type\": \"srt\",\n      \"files\": \"en.srt\"\n  },\n      \n  \"download\": {\n      \"files\": \"${lang}.json\"\n  }\n  \n}  \n```\n\n**3.** Upload the source strings with `localazy upload` whenever you change them.\n\n**4.** Download translated files with `localazy download` before building your app.\n\n---\n\n::: info\nRead more about [SRT support](\u002Fdocs\u002Fcli\u002Fsrt-format) in Localazy.\n:::\n\n::: info\nYou can upload all your existing translations too! [Learn more about it.](\u002Fdocs\u002Fcli\u002Fexisting-translations) \n:::\n\n---\n\nLocalazy CLI is simple to start yet flexible enough for any project. [Let's take a quick tour](\u002Fdocs\u002Fcli\u002Fthe-basics).\n",{"id":266,"status":4,"sort":43,"created_on":1864,"slug":843,"name":520,"subtitle":1865,"meta_title":8,"meta_description":8,"hidden":93,"icon":3069,"featured_icon":3070},{"id":715},{"id":1868},{"id":214,"status":4,"sort":433,"created_on":1871,"name":1872},{"id":16,"status":438,"created_on":2418,"modified_on":2419,"icon":2420,"header":2421,"description":2422,"button_label":2421,"link":2423},[],[],[3076],{"id":3062,"documentation_id":3062,"languages_code":925,"slug":3064,"title":3065,"content":3067,"meta_title":8,"meta_description":3066,"excerpt":3066},[],{"id":3079,"status":4,"sort":3080,"created_on":3081,"modified_on":3082,"slug":3083,"title":3084,"excerpt":3085,"content":3086,"meta_title":8,"meta_description":8,"pinned":91,"main_image":8,"section":3087,"subsection":3090,"cta":8,"faq":3091,"dictionary":3092,"translations":3093,"documentation_id":3079,"blog_articles":3095},162,"70254","2022-08-09T10:18:30.000Z","2025-02-17T14:49:46.000Z","quick-start-shopify","Quick Start - Shopify","Integrate your Shopify store with Localazy and automate the localization of your e-commerce business.","### Request Shopify localization plugin beta access\n\nThe Shopify localization plugin is in beta.\n\nDue to a high demand, the plugin is available only on request. \n\nTo request access, please contact us using the form below. Click the button to open the form and fill in your request. \n\n\u003Ca class=\"typeform-share button\" href=\"https:\u002F\u002Fform.typeform.com\u002Fto\u002FEfUJNg4p?typeform-medium=embed-snippet\" data-mode=\"popup\" style=\"display:inline-block;text-decoration:none;background-color:#0445AF;color:white;cursor:pointer;font-family:Helvetica,Arial,sans-serif;font-size:20px;line-height:50px;text-align:center;margin:0;height:50px;padding:0px 33px;border-radius:25px;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:bold;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;\" data-size=\"100\" target=\"_blank\">Request access \u003C\u002Fa> \u003Cscript> (function() { var qs,js,q,s,d=document, gi=d.getElementById, ce=d.createElement, gt=d.getElementsByTagName, id=\"typef_orm_share\", b=\"https:\u002F\u002Fembed.typeform.com\u002F\"; if(!gi.call(d,id)){ js=ce.call(d,\"script\"); js.id=id; js.src=b+\"embed.js\"; q=gt.call(d,\"script\")[0]; q.parentNode.insertBefore(js,q) } })() \u003C\u002Fscript>\n\n:::info\nPlease remember to include a link to your e-shop. We will contact you as soon as possible. \n:::\n\n",{"id":266,"status":4,"sort":43,"created_on":1864,"slug":843,"name":520,"subtitle":1865,"meta_title":8,"meta_description":8,"hidden":93,"icon":3088,"featured_icon":3089},{"id":715},{"id":1868},{"id":214,"status":4,"sort":433,"created_on":1871,"name":1872},[],[],[3094],{"id":3079,"documentation_id":3079,"languages_code":925,"slug":3083,"title":3084,"content":3086,"meta_title":8,"meta_description":8,"excerpt":3085},[],{"id":3097,"status":4,"sort":3098,"created_on":3099,"modified_on":3100,"slug":3101,"title":3102,"excerpt":3103,"content":3104,"meta_title":8,"meta_description":8,"pinned":91,"main_image":8,"section":3105,"subsection":3108,"cta":8,"faq":3109,"dictionary":3125,"translations":3126,"documentation_id":3097,"blog_articles":3128},149,"70255","2022-06-16T12:36:10.000Z","2025-03-10T11:44:04.000Z","quick-start-strapi","Quick Start - Strapi","Learn how to integrate Strapi with Localazy quickly.","**1.** Install the [Strapi Localization Plugin by Localazy](https:\u002F\u002Fmarket.strapi.io\u002Fplugins\u002F@localazy-strapi-plugin) and the [Internationalization plugin by Strapi](https:\u002F\u002Fmarket.strapi.io\u002Fplugins\u002F@strapi-plugin-i18n) into your Strapi project.\n\n**2.** Log in using your Localazy credentials to connect the project.\n\n![](https:\u002F\u002Fdirectus9.localazy.com\u002Fassets\u002Fb4f444c5-572f-4175-afe6-8f232fb010fa)\n\n**3.** Select which parts of your Strapi project you want to upload in **Strapi: Settings > Localazy Settings > Content Transfer Setup** \n\n**4.** Upload your content to Localazy by using the Upload Screen.\n\n:::info\nNote that the [Autopilot plan](https:\u002F\u002Flocalazy.com\u002Fmy\u002Fmarketplace) is required in order to use the Strapi plugin. Every new account comes with a 14-day trial period allowing you to test the integration before you subscribe to a paid plan.\n:::\n\n:::info\nRead the [Introducing the Strapi localization](https:\u002F\u002Flocalazy.com\u002Fblog\u002Fhow-to-strapi-localization-with-localazy) article.\n:::\n\n:::info\nLearn more about the plugin in [the documentation](https:\u002F\u002Flocalazy.com\u002Fdocs\u002Fstrapi).\n:::\n\n",{"id":266,"status":4,"sort":43,"created_on":1864,"slug":843,"name":520,"subtitle":1865,"meta_title":8,"meta_description":8,"hidden":93,"icon":3106,"featured_icon":3107},{"id":715},{"id":1868},{"id":214,"status":4,"sort":433,"created_on":1871,"name":1872},[3110,3118],{"id":3111,"status":4,"title":3112,"content":3113,"slug":3114,"created_on":3115,"modified_on":3116,"owner":1855,"meta_title":8,"category":3117},176,"How to choose the best Strapi localization plugin?","To start, get the [Internationalization (i18n) plugin by Strapi](https:\u002F\u002Fmarket.strapi.io\u002Fplugins\u002F@strapi-plugin-i18n) first, as it is a likely prerequisite for any other 3rd party localization plugin you'll find.\n\nAfter you [get familiar with the i18n in Strapi](https:\u002F\u002Fdocs.strapi.io\u002Fdeveloper-docs\u002Flatest\u002Fplugins\u002Fi18n.html), before searching for a Strapi localization plugin, you should assess the following factors:  \n- The languages you want to support \n- The features you need (e.g., automatic translation) \n- The ease of use and setup difficulty\n- If the author still maintains it\n  \nOnce you have considered these factors, you can start to narrow down your options and choose the plugin that best meets your needs. \n\nWe recommend trying the [Strapi localization plugin by Localazy](\u002Fstrapi) that seamlessly integrates Strapi ↔️ Localazy and allows you to manage your multilingual content efficiently. \n\nYou can translate your website by inviting translators or using the translation suggestions on your own. You can also [pre-translate](\u002Ffeatures\u002Fpre-translate) all texts by applying machine translations in bulk or get your texts translated by the [Continuous Localization Team](\u002Ffeatures\u002Fcontinuous-localization-team). \n\nLearn more about the [Strapi localization plugin by Localazy](https:\u002F\u002Fwww.npmjs.com\u002Fpackage\u002F@localazy\u002Fstrapi-plugin). Or install it now: \n`npm install @localazy\u002Fstrapi-plugin`","how-to-choose-best-strapi-localization-plugin","2022-06-22T09:01:45.000Z","2025-11-13T11:30:13.000Z",{"id":141,"status":4,"created_on":1756,"sort":8,"slug":604,"label":605,"on_faq_index":8},{"id":3119,"status":4,"title":3120,"content":3121,"slug":3122,"created_on":3123,"modified_on":3123,"owner":1855,"meta_title":8,"category":3124},197,"What internationalization (i18n) options are available in Strapi CMS?","Strapi comes with the official [Internationalization (i18n) plugin](https:\u002F\u002Fmarket.strapi.io\u002Fplugins\u002F@strapi-plugin-i18n) pre-installed since v3.6.0. This plugin allows Strapi users to create, manage and distribute localized content in different languages, called \"locales\". \n\n### Internationalization plugin for Strapi (essential)\n- Users with access to the Strapi admin panel can create several localized versions of the content in various languages\n- Developers can build localized projects by fetching and presenting the content depending on the country\u002Flanguage of the audience\n- The plugin does not automatically translate the content nor adapt the admin interface to languages specific requirements\n- Strapi i18n supports 500 locales ([see the full list](https:\u002F\u002Fgithub.com\u002Fstrapi\u002Fstrapi\u002Fblob\u002Fv4.0.0\u002Fpackages\u002Fplugins\u002Fi18n\u002Fserver\u002Fconstants\u002Fiso-locales.json))\n\n> Learn more about the [Strapi i18n in the official documentation](https:\u002F\u002Fdocs.strapi.io\u002Fdeveloper-docs\u002Flatest\u002Fplugins\u002Fi18n.html)\n\n**You can also follow the [Strapi i18n tutorial on the Strapi blog](https:\u002F\u002Fstrapi.io\u002Fblog\u002Fi18n-for-static-sites-with-strapi)**\n\n\n### Localization plugin for Strapi (recommended)\nHowever, translating the content without any assistive tools and machine translation suggestions can be tricky. Navigating through the content in Strapi can become chaotic for translators and we recommend installing the [Localazy localization plugin for Strapi](\u002Ffeatures\u002Fstrapi-localization-plugin) as well. \n\nLocalazy is a highly-automated localization platform and translation management system allowing everyone to translate their content easily. You can benefit from built-in machine translation technology or order continuous professional translations to fully automate the localization of your Strapi project. \n\nGet the Strapi localization plugin by Localazy and feel the seamless experience of multilingual content management. All you need to start is a Strapi website and a [Localazy account](\u002Fregister).\n\n**Learn more about [Strapi localization with Localazy on our blog](\u002Fblog\u002Fhow-to-strapi-localization-with-localazy)**\n","what-internationalization-i18n-options-are-available-in-strapi-cms","2022-08-23T12:44:17.000Z",{"id":141,"status":4,"created_on":1756,"sort":8,"slug":604,"label":605,"on_faq_index":8},[],[3127],{"id":3097,"documentation_id":3097,"languages_code":925,"slug":3101,"title":3102,"content":3104,"meta_title":8,"meta_description":8,"excerpt":3103},[],{"id":1526,"status":4,"sort":3130,"created_on":2406,"modified_on":2778,"slug":3131,"title":3132,"excerpt":3133,"content":3134,"meta_title":3132,"meta_description":3133,"pinned":91,"main_image":8,"section":3135,"subsection":3138,"cta":3139,"faq":3140,"dictionary":3141,"translations":3142,"documentation_id":1526,"blog_articles":3144},"70260","quick-start-tsv","Quick Start - TSV","Localize your TSV files easily with Localazy CLI.","**Upload TSV files with strings to Localazy and manage your translations easily. Download translated files back.**\n\n**1.** [Install Localazy CLI](\u002Fdocs\u002Fcli\u002Finstallation) for your operating system. \n\n**2.** Create a configuration file **localazy.json** in the root of your project. You can start with our sample:\n\n```json\n{\n\n  \"writeKey\": \"___USER_WRITE_KEY___\",\n  \"readKey\": \"___USER_READ_KEY___\",\n  \n  \"upload\": {  \n    \"type\": \"csv\",\n    \"features\": [\"delimiter_tab\"],\n    \"files\": \"translations\u002Fstrings.tsv\"         \n  },\n  \n  \"download\": {\n    \"files\": \"translations\u002F${lang}.tsv\"\n  }\n  \n}  \n```\n\n**3.** Upload the source strings with `localazy upload` whenever you change them.\n\n**4.** Download translated files with `localazy download` before building your app.\n\n---\n\n::: info\nThe Localazy TSV parser is based on our configurable CSV parser. [Learn how to define character encoding, delimiters, quotes and more](\u002Fdocs\u002Fcli\u002Fcsv-format).\n:::\n\n::: info\nYou can upload all your existing translations too! [Learn more about it.](\u002Fdocs\u002Fcli\u002Fexisting-translations) \n:::\n\n---\n\nLocalazy CLI is simple to start yet flexible enough for any project. [Let's take the quick tour](\u002Fdocs\u002Fcli\u002Fthe-basics).\n",{"id":266,"status":4,"sort":43,"created_on":1864,"slug":843,"name":520,"subtitle":1865,"meta_title":8,"meta_description":8,"hidden":93,"icon":3136,"featured_icon":3137},{"id":715},{"id":1868},{"id":214,"status":4,"sort":433,"created_on":1871,"name":1872},{"id":16,"status":438,"created_on":2418,"modified_on":2419,"icon":2420,"header":2421,"description":2422,"button_label":2421,"link":2423},[],[],[3143],{"id":1526,"documentation_id":1526,"languages_code":925,"slug":3131,"title":3132,"content":3134,"meta_title":3132,"meta_description":3133,"excerpt":3133},[],{"id":1694,"status":4,"sort":3146,"created_on":2406,"modified_on":2533,"slug":3147,"title":3148,"excerpt":3149,"content":3150,"meta_title":3148,"meta_description":3149,"pinned":91,"main_image":8,"section":3151,"subsection":3154,"cta":3155,"faq":3156,"dictionary":3157,"translations":3158,"documentation_id":1694,"blog_articles":3160},"70270","quick-start-toml","Quick Start - TOML","Localize your app with TOML localizations and Localazy CLI.","**Upload TOML files with strings to Localazy and manage your translations easily. Download translated files back.**\n\n**1.** [Install Localazy CLI](\u002Fdocs\u002Fcli\u002Finstallation) for your operating system. \n\n**2.** Create a configuration file **localazy.json** in the root of your project. You can start with our sample:\n\n```json\n{\n\n  \"writeKey\": \"___USER_WRITE_KEY___\",\n  \"readKey\": \"___USER_READ_KEY___\",\n  \n  \"upload\": {  \n    \"type\": \"toml\",\n    \"files\": \"translations\u002Fen.toml\"         \n  },\n  \n  \"download\": {\n    \"files\": \"translations\u002F${lang}.toml\"\n  }\n  \n}  \n```\n\n**3.** Upload the source strings with `localazy upload` whenever you change them.\n\n**4.** Download translated files with `localazy download` before building your app.\n\n---\n\n::: info\n**Localazy TOML parser is highly configurable!** [Learn more](\u002Fdocs\u002Fcli\u002Fneon-format) about plain, structured and multilingual TOMLs, plurals, arrays, etc.\n:::\n\n::: info\nYou can upload all your existing translations too! [Learn more about it.](\u002Fdocs\u002Fcli\u002Fexisting-translations) \n:::\n\n---\n\nLocalazy CLI is simple to start yet flexible enough for any project. [Let's take a quick tour](\u002Fdocs\u002Fcli\u002Fthe-basics).\n",{"id":266,"status":4,"sort":43,"created_on":1864,"slug":843,"name":520,"subtitle":1865,"meta_title":8,"meta_description":8,"hidden":93,"icon":3152,"featured_icon":3153},{"id":715},{"id":1868},{"id":214,"status":4,"sort":433,"created_on":1871,"name":1872},{"id":16,"status":438,"created_on":2418,"modified_on":2419,"icon":2420,"header":2421,"description":2422,"button_label":2421,"link":2423},[],[],[3159],{"id":1694,"documentation_id":1694,"languages_code":925,"slug":3147,"title":3148,"content":3150,"meta_title":3148,"meta_description":3149,"excerpt":3149},[],{"id":347,"status":4,"sort":3162,"created_on":2406,"modified_on":3163,"slug":3164,"title":3165,"excerpt":3166,"content":3167,"meta_title":2676,"meta_description":2677,"pinned":91,"main_image":8,"section":3168,"subsection":3171,"cta":3172,"faq":3173,"dictionary":3176,"translations":3177,"documentation_id":347,"blog_articles":3179},"70280","2024-07-16T15:14:46.000Z","quick-start-typescript","Quick Start - TypeScript","Localize your app with Typescript files and Localazy CLI.","**Upload TypeScript files with strings to Localazy and manage your translations easily. Download translated files back.**\n\n**1.** [Install Localazy CLI](\u002Fdocs\u002Fcli\u002Finstallation) for your operating system. \n\n**2.** Create a configuration file **localazy.json** in the root of your project. You can start with our sample:\n\n```json\n{\n\n  \"writeKey\": \"___USER_WRITE_KEY___\",\n  \"readKey\": \"___USER_READ_KEY___\",\n  \n  \"upload\": {  \n    \"type\": \"js\",\n    \"files\": \"translations\u002Fen.ts\"         \n  },\n  \n  \"download\": {\n    \"files\": \"translations\u002F${lang}.ts\"\n  }\n  \n}  \n```\n\n**3.** Upload the source strings with `localazy upload` whenever you change them.\n\n**4.** Download translated files with `localazy download` before building your app.\n\n---\n\n::: info\n**Localazy JavaScript parser is highly configurable!** [Learn more](\u002Fdocs\u002Fcli\u002Fjavascript-format) about plain and structured files, plurals, arrays, etc.\n:::\n\n::: info\nYou can upload all your existing translations too! [Learn more about it.](\u002Fdocs\u002Fcli\u002Fexisting-translations) \n:::\n\n---\n\nLocalazy CLI is simple to start yet flexible enough for any project. [Let's take the quick tour](\u002Fdocs\u002Fcli\u002Fthe-basics).\n",{"id":266,"status":4,"sort":43,"created_on":1864,"slug":843,"name":520,"subtitle":1865,"meta_title":8,"meta_description":8,"hidden":93,"icon":3169,"featured_icon":3170},{"id":715},{"id":1868},{"id":214,"status":4,"sort":433,"created_on":1871,"name":1872},{"id":16,"status":438,"created_on":2418,"modified_on":2419,"icon":2420,"header":2421,"description":2422,"button_label":2421,"link":2423},[3174],{"id":266,"status":4,"title":2426,"content":2427,"slug":2428,"created_on":2429,"modified_on":2430,"owner":2431,"meta_title":8,"category":3175},{"id":22,"status":4,"created_on":2433,"sort":98,"slug":2434,"label":2435,"on_faq_index":93},[],[3178],{"id":347,"documentation_id":347,"languages_code":925,"slug":3164,"title":3165,"content":3167,"meta_title":2676,"meta_description":2677,"excerpt":3166},[],{"id":3181,"status":4,"sort":3182,"created_on":2406,"modified_on":2599,"slug":3183,"title":3184,"excerpt":3185,"content":3186,"meta_title":3184,"meta_description":3185,"pinned":91,"main_image":8,"section":3187,"subsection":3190,"cta":3191,"faq":3192,"dictionary":3234,"translations":3235,"documentation_id":3181,"blog_articles":3237},41,"70290","quick-start-xliff","Quick Start - XLIFF","Localize your app with XLIFF and Localazy CLI.","**Upload XLIFF files with strings to Localazy and manage your translations easily. Download translated files back.**\n\n**1.** [Install Localazy CLI](\u002Fdocs\u002Fcli\u002Finstallation) for your operating system. \n\n**2.** Create a configuration file **localazy.json** in the root of your project. You can start with our sample:\n\n```json\n{\n\n  \"writeKey\": \"___USER_WRITE_KEY___\",\n  \"readKey\": \"___USER_READ_KEY___\",\n  \n  \"upload\": {  \n    \"type\": \"xliff\",\n    \"features\": [\"use_project_lang\"],\n    \"files\": \"translations\u002Fen.xliff\"         \n  },\n  \n  \"download\": {\n    \"files\": \"translations\u002F${lang}.xliff\"\n  }\n  \n}  \n```\n\n**3.** Upload the source strings with `localazy upload` whenever you change them.\n\n**4.** Download translated files with `localazy download` before building your app.\n\n---\n\n::: info\nXLIFF version (1.2 or 2.0) is automatically detected.\n:::\n\n::: info\nBy using **use_project_lang** in **features**, you force Localazy to use your project's base language for the source translation. \n:::\n\n::: info\nLearn more details about our [XLIFF 1.2](\u002Fdocs\u002Fcli\u002Fxliff-12-format) and [XLIFF 2.0](\u002Fdocs\u002Fcli\u002Fxliff-20-format) support including plurals and arrays. \n:::\n\n::: info\nYou can upload all your existing translations too! [Learn more about it.](\u002Fdocs\u002Fcli\u002Fexisting-translations) \n:::\n\n---\n\nLocalazy CLI is simple to start yet flexible enough for any project. [Let's take the quick tour](\u002Fdocs\u002Fcli\u002Fthe-basics).\n",{"id":266,"status":4,"sort":43,"created_on":1864,"slug":843,"name":520,"subtitle":1865,"meta_title":8,"meta_description":8,"hidden":93,"icon":3188,"featured_icon":3189},{"id":715},{"id":1868},{"id":214,"status":4,"sort":433,"created_on":1871,"name":1872},{"id":16,"status":438,"created_on":2418,"modified_on":2419,"icon":2420,"header":2421,"description":2422,"button_label":2421,"link":2423},[3193,3195,3201,3208,3215,3221,3223],{"id":266,"status":4,"title":2426,"content":2427,"slug":2428,"created_on":2429,"modified_on":2430,"owner":2431,"meta_title":8,"category":3194},{"id":22,"status":4,"created_on":2433,"sort":98,"slug":2434,"label":2435,"on_faq_index":93},{"id":2531,"status":4,"title":3196,"content":3197,"slug":3198,"created_on":2429,"modified_on":3199,"owner":2431,"meta_title":8,"category":3200},"How to edit XLIFF files?","To edit **[XLIFF files](\u002Fdictionary\u002Fxliff)**, you could use an advanced text editor (such as Sublime Text or Notepad++), any [IDE](\u002Fdictionary\u002Fintegrated-development-kit-ide) software (such as VisualStudio Code and others), or just **use Localazy**, which was made specifically with translation file formats in mind. Localazy offers a clutter-free way to browse, edit and manage localization files of [many formats](\u002Fintegrations).\n\nTo open and edit [XLIFF](\u002Fxliff) files using the Localazy interface, [sign up](\u002Fregister), create a new translation project and upload the XLIFF file. Then head to the File management tab to open the file you just uploaded. You'll then be able to browse and edit the content of the file in a user-friendly environment.\n\n### Further reading:\n- [Quick Start - XLIFF](\u002Fdocs\u002Fcli\u002Fquick-start-xliff)","how-to-edit-xliff-files","2021-09-19T08:40:48.000Z",{"id":134,"status":4,"created_on":1966,"sort":8,"slug":2573,"label":2574,"on_faq_index":93},{"id":3202,"status":4,"title":3203,"content":3204,"slug":3205,"created_on":2429,"modified_on":3206,"owner":2431,"meta_title":8,"category":3207},95,"How to open XLIFF files?","To open **[XLIFF files](\u002Fdictionary\u002Fxliff)**, you can use any text editor that supports the format (such as Notepad, Sublime Text, or Notepad++), use online services, or Localazy - the online [translation management system](\u002Fdictionary\u002Ftranslation-management-system-tms) explicitly made for working with translation file formats. \n\nLocalazy offers a clutter-free way to browse, edit and manage localization files of many formats.\n\nTo open [XLIFF](\u002Fxliff) files using the Localazy interface, [sign up](\u002Fregister), create a new translation project and upload the XLIFF file. You'll then be able to browse the content of the file in a user-friendly environment.","how-to-open-xliff-files","2021-09-19T08:43:24.000Z",{"id":134,"status":4,"created_on":1966,"sort":8,"slug":2573,"label":2574,"on_faq_index":93},{"id":3209,"status":4,"title":3210,"content":3211,"slug":3212,"created_on":2429,"modified_on":3213,"owner":2431,"meta_title":8,"category":3214},96,"How to translate XLIFF files?","To translate **[XLIFF files](\u002Fdictionary\u002Fxliff)**, you can simply edit the files and translate all content on your own or with the help of [machine translation](\u002Fdictionary\u002Fmachine-translation) engines such as Google Translate. But this approach is messy, error-prone, and tedious. There is a far better way of doing this. \n\nTranslating XLIFF files is simple with Localazy. After [signing up for free](\u002Fregister), create a new translation project and upload your XLIFF file. Head to the Translations tab, add new languages and [start translating](\u002Fdocs\u002Fgeneral\u002Ftranslating-strings). \n\nLocalazy gives you a clutter-free interface for translating XLIFF files content, with built-in machine translation suggestions and all features a sound [translation management system](\u002Fdictionary\u002Ftranslation-management-system-tms) should offer!\n\n**To translate XLIFF files automatically, you have two (paid) options:**\n- Use the [pre-translate feature](\u002Fdocs\u002Fgeneral\u002Fadditional-mt-engines#mt-pre-translate) available with the [Autopilot plan](\u002Fdocs\u002Fgeneral\u002Flocalazy-autopilot-tier) to translate all content almost instantly by an MT engine of your choice.\n- Order translations from the [Continuous Localization Team](\u002Fdocs\u002Fgeneral\u002Fcontinuous-localization-team) to get your XLIFF file translated by human translators.","how-to-translate-xliff-files","2021-09-19T10:07:27.000Z",{"id":134,"status":4,"created_on":1966,"sort":8,"slug":2573,"label":2574,"on_faq_index":93},{"id":633,"status":4,"title":3216,"content":3217,"slug":3218,"created_on":2429,"modified_on":3219,"owner":2431,"meta_title":8,"category":3220},"How to convert XLIFF files?","To convert **[XLIFF files](\u002Fdictionary\u002Fxliff)**, you can use the [Format Conversions](\u002Ffeatures\u002Fformat-conversions) feature of Localazy. \n\nStart by [signing up for free](\u002Fregister) and create a new translation project. Upload your XLIFF files and follow the steps outlined in the [documentation](\u002Fdocs\u002Fgeneral\u002Fformat-conversions-feature). \n\nAlternatively, to automate the conversion, you can set up the [Localazy CLI](\u002Fdocs\u002Fcli\u002Fthe-basics) with the desired configuration.\n\nThere are many file formats available to convert XLIFF files into. Insert all the specifications of your desired conversion and run the CLI commands.\n\n> Format Conversions is a paid feature, available for all users with the [Professional tier](\u002Fdocs\u002Fgeneral\u002Flocalazy-professional-tier) and up. But don't worry, there is a 14-day trial period after signup to try everything before you commit.\n\n**For an in-depth tutorial on Localazy Format Conversions:**\n- [How to convert localization files into different formats?](\u002Fblog\u002Fconvert-localization-files-different-formats-localazy)\n\n## You might be interested in:\n- [Format Conversions Documentation](\u002Fdocs\u002Fgeneral\u002Fformat-conversions-add-on)\n- [Format Conversions - Localazy CLI](\u002Fdocs\u002Fcli\u002Fformat-conversions)","how-to-convert-xliff-files","2024-04-11T10:36:31.000Z",{"id":134,"status":4,"created_on":1966,"sort":8,"slug":2573,"label":2574,"on_faq_index":93},{"id":2155,"status":4,"title":2156,"content":2157,"slug":2158,"created_on":2159,"modified_on":2160,"owner":1855,"meta_title":8,"category":3222},{"id":347,"status":4,"created_on":2162,"sort":8,"slug":2163,"label":2164,"on_faq_index":8},{"id":3224,"status":4,"title":3225,"content":3226,"slug":3227,"created_on":3228,"modified_on":3229,"owner":2168,"meta_title":8,"category":3230},333,"How to translate iSpring Suite courses with Localazy?","To translate your iSpring Suite courses, please follow these steps:\n\n1. **Export Content as XLIFF**:\n- Open your course. Then click on the Translation button and choose *Export text.*\n- Select the language of your source text, and click on Export. \n\n2. **Create a Project in Localazy and Upload XLIFF Files to Localazy**:\n- [Sign up](\u002Fregister) to your Localazy account.\n- Create a new project and [upload your files to Localazy](\u002Fdocs\u002Fgeneral\u002Fimporting-localization-files).\n- Fill in the necessary details such as project name, source language, and any specific settings.\n\n3. **Translate with Localazy:** \n- Add the languages you want to translate your content into. \n- You can now [translate your course content and labels using the available tools in Localazy](\u002Fdocs\u002Fgeneral\u002Ftranslating-strings).\n- [Invite your team](\u002Fdocs\u002Fgeneral\u002Forganizations#invite-teammates) or [order professional translations](\u002Fdocs\u002Fgeneral\u002Fcontinuous-localization-team) directly inside the platform. \n\n4. **Download Translated XLIFF Files**:\n- Once translations are completed, navigate to *File Management section > Export & Download* to save the translated files on your device.\n\n5. **Import Translated Files Back to iSpring Suite**:\n- Return to iSpring Suite. Click on Translation, and choose *Import Text.*\n- Select the translated file and click *Import* and save your localized course as a copy. ","how-to-translate-i-spring-suite-courses-with-localazy","2024-05-27T07:17:41.000Z","2024-06-11T11:32:18.000Z",{"id":951,"status":4,"created_on":3231,"sort":8,"slug":3232,"label":3233,"on_faq_index":8},"2024-05-27T06:57:49.000Z","ispring-suite-localization","iSpring Suite Localization",[],[3236],{"id":3181,"documentation_id":3181,"languages_code":925,"slug":3183,"title":3184,"content":3186,"meta_title":3184,"meta_description":3185,"excerpt":3185},[],{"id":428,"status":4,"sort":3239,"created_on":2406,"modified_on":3006,"slug":3240,"title":3241,"excerpt":3242,"content":3243,"meta_title":3241,"meta_description":3242,"pinned":91,"main_image":8,"section":3244,"subsection":3247,"cta":3248,"faq":3249,"dictionary":3252,"translations":3253,"documentation_id":428,"blog_articles":3255},"70300","quick-start-yaml","Quick Start - YAML","Localize your app with YAML localizations and Localazy CLI.","**Upload YAML files with strings to Localazy and manage your translations easily. Download translated files back.**\n\n**1.** [Install Localazy CLI](\u002Fdocs\u002Fcli\u002Finstallation) for your operating system. \n\n**2.** Create a configuration file **localazy.json** in the root of your project. You can start with our sample:\n\n```json\n{\n\n  \"writeKey\": \"___USER_WRITE_KEY___\",\n  \"readKey\": \"___USER_READ_KEY___\",\n  \n  \"upload\": {  \n    \"type\": \"yaml\",\n    \"files\": \"translations\u002Fen.yaml\"         \n  },\n  \n  \"download\": {\n    \"files\": \"translations\u002F${lang}.yaml\"\n  }\n  \n}  \n```\n\n**3.** Upload the source strings with `localazy upload` whenever you change them.\n\n**4.** Download translated files with `localazy download` before building your app.\n\n---\n\n::: info\nLearn more details about our [YAML support](\u002Fdocs\u002Fcli\u002Fyaml-format) including plurals, arrays and other features. \n:::\n\n::: info\nYou can upload all your existing translations too! [Learn more about it.](\u002Fdocs\u002Fcli\u002Fexisting-translations) \n:::\n\n---\n\nLocalazy CLI is simple to start yet flexible enough for any project. [Let's take the quick tour](\u002Fdocs\u002Fcli\u002Fthe-basics).\n",{"id":266,"status":4,"sort":43,"created_on":1864,"slug":843,"name":520,"subtitle":1865,"meta_title":8,"meta_description":8,"hidden":93,"icon":3245,"featured_icon":3246},{"id":715},{"id":1868},{"id":214,"status":4,"sort":433,"created_on":1871,"name":1872},{"id":16,"status":438,"created_on":2418,"modified_on":2419,"icon":2420,"header":2421,"description":2422,"button_label":2421,"link":2423},[3250],{"id":266,"status":4,"title":2426,"content":2427,"slug":2428,"created_on":2429,"modified_on":2430,"owner":2431,"meta_title":8,"category":3251},{"id":22,"status":4,"created_on":2433,"sort":98,"slug":2434,"label":2435,"on_faq_index":93},[],[3254],{"id":428,"documentation_id":428,"languages_code":925,"slug":3240,"title":3241,"content":3243,"meta_title":3241,"meta_description":3242,"excerpt":3242},[],{"id":3257,"status":4,"sort":3258,"created_on":3259,"modified_on":3260,"slug":3261,"title":3262,"excerpt":3263,"content":3264,"meta_title":8,"meta_description":8,"pinned":91,"main_image":8,"section":3265,"subsection":3268,"cta":8,"faq":3269,"dictionary":3270,"translations":3271,"documentation_id":3257,"blog_articles":3273},164,"70310","2022-08-17T14:36:56.000Z","2025-02-17T14:49:47.000Z","quick-start-zapier","Quick Start - Zapier","Learn how to set up Zapier workflows with Localazy.","## How do I connect Localazy to Zapier?  \n\n1.  Log in to your [Zapier account](https:\u002F\u002Fzapier.com\u002Fsign-up) or create a new account.\n\n2. Activate the Autopilot plan in the [Localazy Marketplace](\u002Fmy\u002Fmarketplace)\n    \n3.  In Zapier, navigate to \"My Apps\" from the top menu bar.\n    \n4.  Now click on \"Connect a new account...\" and search for \"Localazy\"\n    \n5.  Use your Localazy credentials to connect your Localazy account to Zapier.\n    \n6.  You can start creating your Zaps! Use a pre-made Zap or create your own with the Zap Editor.\n    \nNeed inspiration? See everything that's possible with [Localazy and Zapier](https:\u002F\u002Fzapier.com\u002Fapps\u002Flocalazy\u002Fintegrations).\n\n___ZAPIER_TEMPLATES___\n    \nIf you have any additional questions, you can reach out to [contact@zapier.com](mailto:contact@zapier.com) or contact us at [team@localazy.com](mailto:team@localazy.com)",{"id":266,"status":4,"sort":43,"created_on":1864,"slug":843,"name":520,"subtitle":1865,"meta_title":8,"meta_description":8,"hidden":93,"icon":3266,"featured_icon":3267},{"id":715},{"id":1868},{"id":214,"status":4,"sort":433,"created_on":1871,"name":1872},[],[],[3272],{"id":3257,"documentation_id":3257,"languages_code":925,"slug":3261,"title":3262,"content":3264,"meta_title":8,"meta_description":8,"excerpt":3263},[],[],[]]