[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"main-navigation":3,"footer-homepage":723,"footer-settings":790,"footer-integrations":903,"blog-post-nav-nav":1814,"blog-post-nav-[USE LATEST FEATURED]":1836,"blog-react-i18next-localazy-tutorial-part-1-i18n-foundations":1856},[4,211,451,582,715,719],{"id":5,"name":6,"url":7,"url_text":7,"status":8,"groups":9},2,"Solutions",null,"published",[10,24,99,135],{"navigation_items_group_id":11},{"id":12,"sort":13,"status":8,"name":14,"render_show_all_url":15,"show_all_url_position":16,"show_favorite_icon":17,"show_all_url":7,"represent_as_tile":15,"items":18},3,5,"Featured Article",false,"top",true,[19],{"collection":20,"item":21},"blog_post_navigation_item_type",{"id":22,"status":8,"sort":7,"show_author_img":17,"blog_post_tag":23,"description":7},4,"nav",{"navigation_items_group_id":25},{"id":13,"sort":26,"status":8,"name":27,"render_show_all_url":15,"show_all_url_position":16,"show_favorite_icon":15,"show_all_url":28,"represent_as_tile":17,"items":29},1,"Your Role","\u002Froles",[30,42,52,64,75,87],{"collection":31,"item":32},"relation_navigation_item_type",{"id":26,"status":8,"sort":7,"name":33,"item":34},"CMO",[35],{"collection":36,"item":37},"personas",{"id":26,"status":8,"sort":7,"slug":38,"icon":39},"chief-marketing-officers",{"id":40,"title":41},"526097d8-176f-48e5-83d3-2fc4d77061f9","La Mail Bulk",{"collection":31,"item":43},{"id":12,"status":8,"sort":7,"name":44,"item":45},"CTO",[46],{"collection":36,"item":47},{"id":22,"status":8,"sort":7,"slug":48,"icon":49},"chief-technical-officers",{"id":50,"title":51},"f808fdf0-c78b-4294-ba59-fe25f46fe825","La Mechanic",{"collection":31,"item":53},{"id":54,"status":8,"sort":7,"name":55,"item":56},20,"Product Manager",[57],{"collection":36,"item":58},{"id":59,"status":8,"sort":7,"slug":60,"icon":61},18,"product-managers",{"id":62,"title":63},"ea39586a-21fc-4b34-ba87-496028e5198f","La Worker",{"collection":31,"item":65},{"id":66,"status":8,"sort":7,"name":67,"item":68},37,"Translator",[69],{"collection":36,"item":70},{"id":54,"status":8,"sort":7,"slug":71,"icon":72},"professional-translators",{"id":73,"title":74},"07945171-d51d-4ca8-96c0-21cde9db258f","La Chat",{"collection":31,"item":76},{"id":77,"status":8,"sort":7,"name":78,"item":79},38,"Developer",[80],{"collection":36,"item":81},{"id":82,"status":8,"sort":7,"slug":83,"icon":84},30,"software-developers",{"id":85,"title":86},"1806e46d-c551-4845-bf42-4407344d229e","La Terminal",{"collection":31,"item":88},{"id":89,"status":8,"sort":7,"name":90,"item":91},27,"Localization Manager",[92],{"collection":36,"item":93},{"id":94,"status":8,"sort":7,"slug":95,"icon":96},6,"localization-managers",{"id":97,"title":98},"dac69bd1-bf5d-41d0-87d4-dd13e314698a","La Language",{"navigation_items_group_id":100},{"id":101,"sort":12,"status":8,"name":102,"render_show_all_url":15,"show_all_url_position":103,"show_favorite_icon":15,"show_all_url":7,"represent_as_tile":15,"items":104},9,"Use cases","bottom",[105,111,116,121,125,130],{"collection":106,"item":107},"simple_link_navigation_item_type",{"id":108,"status":8,"sort":7,"url":109,"url_text":110,"show_favorite_icon":15},24,"https:\u002F\u002Flocalazy.com\u002Fuse-cases\u002Fsoftware-localization","Software localization",{"collection":106,"item":112},{"id":113,"status":8,"sort":7,"url":114,"url_text":115,"show_favorite_icon":15},26,"https:\u002F\u002Flocalazy.com\u002Fuse-cases\u002Fmobile-app-localization","Mobile app localization",{"collection":106,"item":117},{"id":118,"status":8,"sort":7,"url":119,"url_text":120,"show_favorite_icon":15},25,"https:\u002F\u002Flocalazy.com\u002Fuse-cases\u002Fwebsite-localization","Website localization",{"collection":106,"item":122},{"id":89,"status":8,"sort":7,"url":123,"url_text":124,"show_favorite_icon":15},"https:\u002F\u002Flocalazy.com\u002Fuse-cases\u002Fdesign-localization","Design localization",{"collection":106,"item":126},{"id":127,"status":8,"sort":7,"url":128,"url_text":129,"show_favorite_icon":15},28,"https:\u002F\u002Flocalazy.com\u002Fuse-cases\u002Fgame-localization","Game localization",{"collection":106,"item":131},{"id":132,"status":8,"sort":7,"url":133,"url_text":134,"show_favorite_icon":15},29,"https:\u002F\u002Flocalazy.com\u002Fuse-cases\u002Fhelp-and-docs-localization","Help & docs localization",{"navigation_items_group_id":136},{"id":137,"sort":5,"status":8,"name":138,"render_show_all_url":15,"show_all_url_position":103,"show_favorite_icon":15,"show_all_url":7,"represent_as_tile":15,"items":139},8,"Industry",[140,152,163,173,184,193,204],{"collection":31,"item":141},{"id":142,"status":8,"sort":7,"name":143,"item":144},23,"Digital Agencies",[145],{"collection":36,"item":146},{"id":147,"status":8,"sort":7,"slug":148,"icon":149},7,"digital-agencies",{"id":150,"title":151},"547f5619-b21d-4b29-86f1-8b2200313cde","La Digi Agency",{"collection":31,"item":153},{"id":154,"status":8,"sort":7,"name":155,"item":156},39,"Startups & SaaS",[157],{"collection":36,"item":158},{"id":5,"status":8,"sort":7,"slug":159,"icon":160},"startups",{"id":161,"title":162},"da1516e2-4afc-40a2-bcbf-a8161e2d610d","La Saa S",{"collection":31,"item":164},{"id":5,"status":8,"sort":7,"name":165,"item":166},"E-commerce",[167],{"collection":36,"item":168},{"id":13,"status":8,"sort":7,"slug":169,"icon":170},"e-commerce",{"id":171,"title":172},"a3d09cd2-054f-4bb5-a0a2-d3d207db65df","La Ecommerce",{"collection":31,"item":174},{"id":175,"status":8,"sort":7,"name":176,"item":177},19,"FinTech Platforms",[178],{"collection":36,"item":179},{"id":89,"status":8,"sort":7,"slug":180,"icon":181},"fintech",{"id":182,"title":183},"147339ba-07d1-4e5e-baad-23d27e60c919","La Money",{"collection":31,"item":185},{"id":108,"status":8,"sort":7,"name":186,"item":187},"Translation Agencies",[188],{"collection":36,"item":189},{"id":108,"status":8,"sort":7,"slug":190,"icon":191},"translation-agencies",{"id":192,"title":98},"15d6fe33-2af8-4d6e-933d-5caa64394511",{"collection":31,"item":194},{"id":195,"status":8,"sort":7,"name":196,"item":197},22,"Travel & Tourism",[198],{"collection":36,"item":199},{"id":12,"status":8,"sort":7,"slug":200,"icon":201},"tourism",{"id":202,"title":203},"23a785e8-0ae5-4c4b-8452-aab1b58182a6","La Travel",{"collection":31,"item":205},{"id":118,"status":8,"sort":7,"name":206,"item":207},"Nonprofit Causes",[208],{"collection":36,"item":209},{"id":127,"status":8,"sort":7,"slug":210,"icon":7},"nonprofit",{"id":13,"name":212,"url":7,"url_text":7,"status":8,"groups":213},"Features",[214,284,342,392],{"navigation_items_group_id":215},{"id":216,"sort":94,"status":8,"name":217,"render_show_all_url":15,"show_all_url_position":16,"show_favorite_icon":15,"show_all_url":7,"represent_as_tile":15,"items":218},11,"Localization",[219,228,237,246,255,259,267,276],{"collection":31,"item":220},{"id":221,"status":8,"sort":7,"name":222,"item":223},44,"Localization services",[224],{"collection":225,"item":226},"products",{"id":101,"status":8,"slug":227},"continuous-localization-team",{"collection":31,"item":229},{"id":230,"status":8,"sort":7,"name":231,"item":232},45,"Translation management",[233],{"collection":234,"item":235},"term_landing_page",{"id":132,"status":8,"slug":236},"translation-management-system",{"collection":31,"item":238},{"id":239,"status":8,"sort":7,"name":240,"item":241},46,"Context Screenshots",[242],{"collection":225,"item":243},{"id":244,"status":8,"slug":245},13,"context-screenshots-ocr",{"collection":31,"item":247},{"id":248,"status":8,"sort":7,"name":249,"item":250},47,"Translation Glossary",[251],{"collection":225,"item":252},{"id":253,"status":8,"slug":254},17,"glossary",{"collection":106,"item":256},{"id":22,"status":8,"sort":7,"url":257,"url_text":258,"show_favorite_icon":15},"\u002Fdocs\u002Fgeneral\u002Freviewing-translations","Quality control",{"collection":31,"item":260},{"id":261,"status":8,"sort":7,"name":262,"item":263},34,"Connected Projects",[264],{"collection":225,"item":265},{"id":26,"status":8,"slug":266},"connected-projects",{"collection":31,"item":268},{"id":269,"status":8,"sort":7,"name":270,"item":271},64,"Plural handling",[272],{"collection":225,"item":273},{"id":274,"status":8,"slug":275},32,"plurals",{"collection":31,"item":277},{"id":278,"status":8,"sort":7,"name":279,"item":280},65,"Style guides",[281],{"collection":225,"item":282},{"id":77,"status":8,"slug":283},"style-guide",{"navigation_items_group_id":285},{"id":286,"sort":147,"status":8,"name":287,"render_show_all_url":15,"show_all_url_position":16,"show_favorite_icon":15,"show_all_url":7,"represent_as_tile":15,"items":288},12,"Translation",[289,297,305,309,317,325,334],{"collection":31,"item":290},{"id":291,"status":8,"sort":7,"name":292,"item":293},36,"Professional translations",[294],{"collection":234,"item":295},{"id":82,"status":8,"slug":296},"professional-translation-services",{"collection":31,"item":298},{"id":299,"status":8,"sort":7,"name":300,"item":301},48,"Crowdsourced translations",[302],{"collection":225,"item":303},{"id":137,"status":8,"slug":304},"share-tm",{"collection":106,"item":306},{"id":13,"status":8,"sort":7,"url":307,"url_text":308,"show_favorite_icon":15},"\u002Fdocs\u002Fgeneral\u002Ftranslating-strings","Translation interface",{"collection":31,"item":310},{"id":311,"status":8,"sort":7,"name":312,"item":313},55,"Machine translations",[314],{"collection":225,"item":315},{"id":13,"status":8,"slug":316},"machine-translation",{"collection":31,"item":318},{"id":319,"status":8,"sort":7,"name":320,"item":321},60,"Localazy AI translation",[322],{"collection":225,"item":323},{"id":132,"status":8,"slug":324},"localazy-ai",{"collection":31,"item":326},{"id":327,"status":8,"sort":7,"name":328,"item":329},61,"Translation Memory",[330],{"collection":225,"item":331},{"id":332,"status":8,"slug":333},35,"translation-memory",{"collection":31,"item":335},{"id":336,"status":8,"sort":7,"name":337,"item":338},63,"Code & placeholders",[339],{"collection":225,"item":340},{"id":82,"status":8,"slug":341},"code-and-placeholders",{"navigation_items_group_id":343},{"id":244,"sort":137,"status":8,"name":344,"render_show_all_url":15,"show_all_url_position":16,"show_favorite_icon":15,"show_all_url":7,"represent_as_tile":15,"items":345},"Management",[346,350,358,367,376,384,388],{"collection":106,"item":347},{"id":137,"status":8,"sort":7,"url":348,"url_text":349,"show_favorite_icon":15},"\u002Fdocs\u002Fgeneral\u002Fdefining-user-roles","User roles",{"collection":31,"item":351},{"id":352,"status":8,"sort":7,"name":353,"item":354},51,"Duplicity Linking",[355],{"collection":225,"item":356},{"id":175,"status":8,"slug":357},"duplicity-linking",{"collection":31,"item":359},{"id":360,"status":8,"sort":7,"name":361,"item":362},52,"Language Permissions",[363],{"collection":225,"item":364},{"id":365,"status":8,"slug":366},21,"language-permissions",{"collection":31,"item":368},{"id":369,"status":370,"sort":7,"name":371,"item":372},53,"draft","Automations",[373],{"collection":225,"item":374},{"id":54,"status":8,"slug":375},"automations",{"collection":31,"item":377},{"id":378,"status":8,"sort":7,"name":379,"item":380},58,"Branching",[381],{"collection":225,"item":382},{"id":89,"status":8,"slug":383},"branching",{"collection":106,"item":385},{"id":365,"status":370,"sort":7,"url":386,"url_text":387,"show_favorite_icon":15},"https:\u002F\u002Flocalazy.com\u002Fdocs\u002Fgeneral\u002Fsso-configuration","SSO",{"collection":106,"item":389},{"id":195,"status":370,"sort":7,"url":390,"url_text":391,"show_favorite_icon":15},"https:\u002F\u002Flocalazy.com\u002Fdocs\u002Fgeneral\u002Flanguage-statistics","Reporting",{"navigation_items_group_id":393},{"id":394,"sort":101,"status":8,"name":395,"render_show_all_url":15,"show_all_url_position":16,"show_favorite_icon":15,"show_all_url":7,"represent_as_tile":15,"items":396},14,"Development",[397,404,412,419,426,434,443],{"collection":31,"item":398},{"id":132,"status":8,"sort":7,"name":399,"item":400},"Translation API",[401],{"collection":225,"item":402},{"id":216,"status":8,"slug":403},"translation-api",{"collection":31,"item":405},{"id":406,"status":8,"sort":7,"name":407,"item":408},33,"Localazy CLI",[409],{"collection":225,"item":410},{"id":147,"status":8,"slug":411},"cli",{"collection":31,"item":413},{"id":274,"status":8,"sort":7,"name":414,"item":415},"Language CDN",[416],{"collection":225,"item":417},{"id":22,"status":8,"slug":418},"language-cdn",{"collection":31,"item":420},{"id":127,"status":8,"sort":7,"name":421,"item":422},"Releases",[423],{"collection":225,"item":424},{"id":94,"status":8,"slug":425},"releases",{"collection":31,"item":427},{"id":428,"status":370,"sort":7,"name":429,"item":430},57,"Format Conversions",[431],{"collection":225,"item":432},{"id":5,"status":8,"slug":433},"format-conversions",{"collection":31,"item":435},{"id":436,"status":8,"sort":7,"name":437,"item":438},59,"Webhooks",[439],{"collection":225,"item":440},{"id":441,"status":8,"slug":442},31,"webhooks",{"collection":31,"item":444},{"id":445,"status":8,"sort":7,"name":446,"item":447},62,"Export Aliases",[448],{"collection":225,"item":449},{"id":406,"status":8,"slug":450},"export-aliases",{"id":22,"name":452,"url":7,"url_text":7,"status":8,"groups":453},"Integrations",[454,572],{"navigation_items_group_id":455},{"id":147,"sort":456,"status":8,"name":457,"render_show_all_url":15,"show_all_url_position":16,"show_favorite_icon":15,"show_all_url":7,"represent_as_tile":15,"items":458},10,"Most popular",[459],{"collection":31,"item":460},{"id":286,"status":8,"sort":7,"name":452,"item":461},[462,470,477,484,491,498,505,512,519,526,533,542,549,556,564],{"collection":463,"item":464},"platforms",{"id":94,"status":8,"sort":26,"slug":465,"name":466,"icon":467},"android","Android",{"id":468,"title":469},"ff965add-53b0-44ad-b27c-ea4ef641d384","Ic Outline Android",{"collection":463,"item":471},{"id":147,"status":8,"sort":5,"slug":472,"name":473,"icon":474},"ios","iOS",{"id":475,"title":476},"886285d7-816a-4430-b5a5-edfe307b238e","Ios",{"collection":463,"item":478},{"id":406,"status":8,"sort":12,"slug":479,"name":480,"icon":481},"react","React",{"id":482,"title":483},"26757a90-88a3-4a94-b587-9f38614ed3bd","Logos React",{"collection":463,"item":485},{"id":175,"status":8,"sort":22,"slug":486,"name":487,"icon":488},"vuejs","Vue.js",{"id":489,"title":490},"6180b41f-3249-47d3-adcd-50fe1cf11bf1","Vue",{"collection":463,"item":492},{"id":493,"status":8,"sort":13,"slug":494,"name":495,"icon":496},16,"angular","Angular",{"id":497,"title":495},"2a31a97a-48c5-4531-aa36-41c9dd0bdbef",{"collection":463,"item":499},{"id":26,"status":8,"sort":94,"slug":500,"name":501,"icon":502},"flutter","Flutter",{"id":503,"title":504},"b9f13a11-9328-4a03-86cf-b20de0685606","Logos Flutter",{"collection":463,"item":506},{"id":12,"status":8,"sort":216,"slug":507,"name":508,"icon":509},"typescript","TypeScript",{"id":510,"title":511},"8d1319b5-8a96-4199-8407-00add3418b1f","Logos Typescript Icon",{"collection":463,"item":513},{"id":441,"status":8,"sort":286,"slug":514,"name":515,"icon":516},"javascript","JavaScript",{"id":517,"title":518},"4218d0c9-7e6b-494d-9663-37ceaf93ee8c","Logos Javascript",{"collection":463,"item":520},{"id":286,"status":8,"sort":54,"slug":521,"name":522,"icon":523},"json","JSON",{"id":524,"title":525},"99ac3b7c-dba5-4693-a4f4-1f27a6d7782d","Logos Json",{"collection":463,"item":527},{"id":365,"status":8,"sort":365,"slug":528,"name":529,"icon":530},"xliff","XLIFF",{"id":531,"title":532},"ca424cc8-e8a7-4aef-8dca-ef4a4d1334fc","Format",{"collection":463,"item":534},{"id":535,"status":8,"sort":536,"slug":537,"name":538,"icon":539},72,54,"strapi","Strapi",{"id":540,"title":541},"cde7f1d0-f2e0-4243-929e-a3f8f9146e69","Strapi Logo Purple",{"collection":463,"item":543},{"id":319,"status":8,"sort":311,"slug":544,"name":545,"icon":546},"figma","Figma",{"id":547,"title":548},"813745a4-a77d-4735-93b7-e0dd731b2304","Figma Icon",{"collection":463,"item":550},{"id":352,"status":8,"sort":248,"slug":551,"name":552,"icon":553},"microsoft-excel","Microsoft Excel",{"id":554,"title":555},"7a175955-7b96-4561-939f-a0e1924faa40","Excel",{"collection":463,"item":557},{"id":558,"status":8,"sort":327,"slug":559,"name":560,"icon":561},66,"github-actions","GitHub Actions",{"id":562,"title":563},"da17554f-ac6d-443d-9bac-1f29645ec1c6","Github Icon",{"collection":463,"item":565},{"id":566,"status":8,"sort":567,"slug":568,"name":569,"icon":570},97,999,"webflow","Webflow",{"id":571,"title":569},"ff43a386-52f8-499f-b77c-ab9a30f4a77e",{"navigation_items_group_id":573},{"id":22,"sort":216,"status":8,"name":574,"render_show_all_url":15,"show_all_url_position":16,"show_favorite_icon":15,"show_all_url":7,"represent_as_tile":15,"items":575},"Explore more",[576],{"collection":577,"item":578},"text_link_navigation_item_type",{"id":26,"status":8,"sort":7,"text":579,"url":580,"url_text":581},"Localazy is a technology-agnostic platform supporting 50+ frameworks, file formats & popular tools.","\u002Fintegrations","See all integrations",{"id":26,"name":583,"url":7,"url_text":7,"status":8,"groups":584},"Resources",[585,618,624],{"navigation_items_group_id":586},{"id":26,"sort":286,"status":8,"name":587,"render_show_all_url":15,"show_all_url_position":16,"show_favorite_icon":15,"show_all_url":7,"represent_as_tile":15,"items":588},"Helpful Links",[589,593,597,601,605,609,614],{"collection":106,"item":590},{"id":244,"status":8,"sort":7,"url":591,"url_text":592,"show_favorite_icon":17},"\u002Fblog","Localazy Blog",{"collection":106,"item":594},{"id":394,"status":8,"sort":7,"url":595,"url_text":596,"show_favorite_icon":17},"\u002Fdocs","Documentation",{"collection":106,"item":598},{"id":26,"status":8,"sort":7,"url":599,"url_text":600,"show_favorite_icon":15},"https:\u002F\u002Fdiscuss.localazy.com\u002F","Discussion Forum",{"collection":106,"item":602},{"id":286,"status":8,"sort":7,"url":603,"url_text":604,"show_favorite_icon":15},"\u002Fcase-study","Case Studies",{"collection":106,"item":606},{"id":12,"status":8,"sort":7,"url":607,"url_text":608,"show_favorite_icon":15},"\u002Fpartnership","Become a Partner",{"collection":106,"item":610},{"id":611,"status":8,"sort":7,"url":612,"url_text":613,"show_favorite_icon":15},15,"\u002Ffaq","FAQ",{"collection":106,"item":615},{"id":253,"status":8,"sort":7,"url":616,"url_text":617,"show_favorite_icon":15},"\u002Ftags\u002Frelease-update","Release Updates",{"navigation_items_group_id":619},{"id":5,"sort":394,"status":8,"name":592,"render_show_all_url":17,"show_all_url_position":16,"show_favorite_icon":15,"show_all_url":591,"represent_as_tile":15,"items":620},[621],{"collection":20,"item":622},{"id":12,"status":8,"sort":7,"show_author_img":15,"blog_post_tag":623,"description":7},"[USE LATEST FEATURED]",{"navigation_items_group_id":625},{"id":94,"sort":244,"status":8,"name":596,"render_show_all_url":17,"show_all_url_position":16,"show_favorite_icon":15,"show_all_url":595,"represent_as_tile":15,"items":626},[627,641,653,664,676,686,697,705],{"collection":31,"item":628},{"id":22,"status":8,"sort":7,"name":629,"item":630},"General",[631],{"collection":632,"item":633},"docs_section",{"id":5,"status":8,"sort":26,"slug":634,"name":629,"icon":635,"featured_icon":638},"general",{"id":636,"title":637},"423101f1-308c-42f1-8dfe-53272019e7cb","Global",{"id":639,"title":640},"0f7ca4cb-dc3b-4f62-b476-132ed5c4931f","General Doc",{"collection":31,"item":642},{"id":13,"status":8,"sort":7,"name":643,"item":644},"CLI",[645],{"collection":632,"item":646},{"id":12,"status":8,"sort":5,"slug":411,"name":643,"icon":647,"featured_icon":650},{"id":648,"title":649},"2f7a4573-8265-4d76-8d55-ce0cc79b8983","Cli",{"id":651,"title":652},"3f76ff7b-0e74-4046-bb03-4ca99c3b66d5","Doc Cat Cli",{"collection":31,"item":654},{"id":137,"status":8,"sort":7,"name":655,"item":656},"API",[657],{"collection":632,"item":658},{"id":54,"status":8,"sort":12,"slug":659,"name":655,"icon":660,"featured_icon":661},"api",{"id":648,"title":649},{"id":662,"title":663},"20866781-e69b-4e01-9456-05437487b75c","API Doc",{"collection":31,"item":665},{"id":666,"status":8,"sort":7,"name":667,"item":668},50,"CDN",[669],{"collection":632,"item":670},{"id":113,"status":8,"sort":22,"slug":671,"name":667,"icon":672,"featured_icon":673},"cdn",{"id":636,"title":637},{"id":674,"title":675},"a8ee9cb7-4e02-41f0-b595-eb518c3085b6","Doc Cat Cdn",{"collection":31,"item":677},{"id":94,"status":8,"sort":7,"name":466,"item":678},[679],{"collection":632,"item":680},{"id":26,"status":8,"sort":13,"slug":465,"name":466,"icon":681,"featured_icon":683},{"id":682,"title":466},"fb8329ae-0c0c-4fbc-bcdc-83f2eeda1039",{"id":684,"title":685},"f7c0dec8-5b42-4943-ab3a-e3665723ad6f","Doc Cat Android",{"collection":31,"item":687},{"id":147,"status":8,"sort":7,"name":473,"item":688},[689],{"collection":632,"item":690},{"id":22,"status":8,"sort":94,"slug":472,"name":473,"icon":691,"featured_icon":694},{"id":692,"title":693},"289e136c-55df-4d51-847b-1782a2308ee4","Ios Blue",{"id":695,"title":696},"2968d3f0-14b5-4427-82e7-f1ea2de17846","Doc Cat Ios",{"collection":31,"item":698},{"id":101,"status":8,"sort":7,"name":545,"item":699},[700],{"collection":632,"item":701},{"id":365,"status":8,"sort":147,"slug":544,"name":545,"icon":702,"featured_icon":703},{"id":648,"title":649},{"id":704,"title":545},"f5e66b5b-a439-47f6-af4a-6ad261de2e87",{"collection":31,"item":706},{"id":456,"status":8,"sort":7,"name":538,"item":707},[708],{"collection":632,"item":709},{"id":142,"status":8,"sort":137,"slug":537,"name":538,"icon":710,"featured_icon":712},{"id":711,"title":538},"3b4b03c7-e131-49e6-a014-c8c2c8a2751e",{"id":713,"title":714},"1dd05c76-e517-4aea-a3d8-49cfddb40056","Strapi Doc",{"id":12,"name":716,"url":717,"url_text":716,"status":8,"groups":718},"Pricing","\u002Fpricing",[],{"id":94,"name":720,"url":721,"url_text":720,"status":8,"groups":722},"Book a demo","\u002Fbook-demo",[],{"status":8,"header_badges":724,"footer_badges":742,"footer_secured_badges":748,"slider_badges":760},[725,732,737],{"id":26,"status":8,"sort":7,"link":726,"title":727,"badgeType":728,"badgeName":729,"metadata":7,"image":730},"https:\u002F\u002Fwww.g2.com\u002Fproducts\u002Flocalazy\u002Freviews","Best meets requirements","Other","G2-winter-24-best-meets-requirments",{"id":731},"8d5dd6fd-6995-4c92-8219-a6ed5ba6acdc",{"id":5,"status":8,"sort":7,"link":726,"title":733,"badgeType":728,"badgeName":734,"metadata":7,"image":735},"Best support","G2-winter-24-best-support",{"id":736},"e59dd465-84d9-45c7-987d-dd4048fd6992",{"id":12,"status":8,"sort":7,"link":726,"title":738,"badgeType":728,"badgeName":739,"metadata":7,"image":740},"Easiest admin","G2-winter-24-easiest-admin",{"id":741},"5f12c4c8-bec0-47cf-87b4-a4502e9f1bd2",[743],{"id":286,"status":8,"sort":7,"link":726,"title":744,"badgeType":728,"badgeName":745,"metadata":7,"image":746},"Users love us","Users love us 25",{"id":747},"232416a5-86ba-4be6-85a5-b88802003d53",[749,755],{"id":216,"status":8,"sort":7,"link":750,"title":751,"badgeType":728,"badgeName":752,"metadata":7,"image":753},"https:\u002F\u002Fsprinto.com\u002Fget-iso-27001\u002F","Sprinto ISO 27001","Sprinto ISO 27001 certificate",{"id":754},"c1c6c06c-6caf-4b78-8a7e-9606c395eb61",{"id":244,"status":8,"sort":7,"link":756,"title":757,"badgeType":728,"badgeName":757,"metadata":7,"image":758},"https:\u002F\u002Fwww.aicpa.org\u002Fsoc4so","SOC certificate",{"id":759},"4f4bc0a6-09a0-41df-8295-8f990d96d941",[761,767,771,775,779,783,788],{"id":13,"status":8,"sort":7,"link":726,"title":762,"badgeType":728,"badgeName":763,"metadata":764,"image":765},"Most likely to recommend","a","",{"id":766},"da055731-3f11-4fc7-96f2-c11c0b84c831",{"id":94,"status":8,"sort":7,"link":726,"title":768,"badgeType":728,"badgeName":7,"metadata":7,"image":769},"EMEA High Performer",{"id":770},"586fb488-81f2-41db-a4e8-ef309e50c0e6",{"id":147,"status":8,"sort":7,"link":726,"title":772,"badgeType":728,"badgeName":7,"metadata":7,"image":773},"Ease of Doing Business With",{"id":774},"bfa26865-430e-463d-9886-cb56a8a8ecf6",{"id":137,"status":8,"sort":7,"link":726,"title":776,"badgeType":728,"badgeName":7,"metadata":7,"image":777},"High Performer",{"id":778},"2cc1ba0f-c23a-4c97-ad4a-a655c97466fe",{"id":101,"status":8,"sort":7,"link":726,"title":780,"badgeType":728,"badgeName":7,"metadata":7,"image":781},"Fastest Implementation",{"id":782},"6f297758-1c95-45f4-a6e9-528319897132",{"id":456,"status":8,"sort":7,"link":784,"title":785,"badgeType":728,"badgeName":7,"metadata":7,"image":786},"https:\u002F\u002Fwww.intercert.com\u002Fservices\u002Fgovernance-risk-compliance\u002Fiso-iec-27001","Intercert ISO 27001",{"id":787},"0521a5f1-e1f2-4da6-a2bc-dc92773f2a7b",{"id":216,"status":8,"sort":7,"link":750,"title":751,"badgeType":728,"badgeName":752,"metadata":7,"image":789},{"id":754},{"id":26,"status":8,"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":26,"status":8,"sort":7,"title":795,"column_key":796,"links":797},"Localazy","connect",[798,800,803],{"id":216,"status":8,"sort":26,"title":720,"url":799},"___LOCALAZY_MEETING_URL___",{"id":286,"status":8,"sort":5,"title":801,"url":802},"Contact","\u002Fcontact",{"id":365,"status":8,"sort":12,"title":804,"url":805},"About us","\u002Fabout-us",{"id":5,"status":8,"sort":7,"title":807,"column_key":808,"links":809},"Programs","programs",[810,812,815,818],{"id":26,"status":8,"sort":22,"title":811,"url":607},"Partner Program",{"id":5,"status":8,"sort":13,"title":813,"url":814},"Ambassador Program","\u002Fambassador",{"id":12,"status":8,"sort":94,"title":816,"url":817},"Startup Program","\u002Ffor\u002Fstartups",{"id":22,"status":8,"sort":147,"title":819,"url":820},"Nonprofits","\u002Ffor\u002Fnonprofit",{"id":12,"status":8,"sort":7,"title":822,"column_key":823,"links":824},"Use Cases","use_cases",[825,828,831,833,836,839],{"id":13,"status":8,"sort":137,"title":826,"url":827},"Software Localization","\u002Fterm\u002Fsoftware-localization",{"id":94,"status":8,"sort":101,"title":829,"url":830},"Machine Translation Services","\u002Ffeatures\u002Fmachine-translation",{"id":147,"status":8,"sort":456,"title":399,"url":832},"\u002Ffeatures\u002Ftranslation-api",{"id":137,"status":8,"sort":216,"title":834,"url":835},"Crowdsourced Translations","\u002Ffeatures\u002Fshare-tm",{"id":101,"status":8,"sort":286,"title":837,"url":838},"Figma i18n & localization","\u002Ffeatures\u002Ffigma-localization-plugin",{"id":456,"status":8,"sort":244,"title":840,"url":841},"Translation as a Service","\u002Fterm\u002Ftranslation-service",{"id":22,"status":8,"sort":7,"title":452,"column_key":843,"links":844},"integrations",[],{"id":13,"status":8,"sort":7,"title":583,"column_key":846,"links":847},"resources",[848,849,852,853,856,858,859,860],{"id":244,"status":8,"sort":394,"title":596,"url":595},{"id":394,"status":8,"sort":611,"title":850,"url":851},"Dictionary","\u002Fdictionary",{"id":611,"status":8,"sort":493,"title":604,"url":603},{"id":493,"status":8,"sort":253,"title":854,"url":855},"Discussion forum","___DISCUSS_URL___",{"id":253,"status":8,"sort":59,"title":857,"url":591},"Localization Blog",{"id":59,"status":8,"sort":175,"title":613,"url":612},{"id":175,"status":8,"sort":54,"title":716,"url":717},{"id":54,"status":8,"sort":365,"title":861,"url":862},"Brand assets","https:\u002F\u002Fdrive.google.com\u002Fdrive\u002Fu\u002F1\u002Ffolders\u002F1tZqsZHBlGelz7A2FwTsiwrs4j3sd9HTk",[864,869,874,879,884,889],{"id":26,"status":8,"sort":7,"platform":865,"icon":866,"url":867,"label":868},"feed","rss","\u002Ffeed.xml","Localazy RSS Feed",{"id":5,"status":8,"sort":7,"platform":870,"icon":871,"url":872,"label":873},"facebook","fb-logo","https:\u002F\u002Fwww.facebook.com\u002Flocalazy\u002F","Localazy facebook",{"id":12,"status":8,"sort":7,"platform":875,"icon":876,"url":877,"label":878},"github","github-logo","https:\u002F\u002Fgithub.com\u002Flocalazy","Localazy GitHub",{"id":22,"status":8,"sort":7,"platform":880,"icon":881,"url":882,"label":883},"x","x-twitter","https:\u002F\u002Fx.com\u002Flocalazy","Localazy X",{"id":13,"status":8,"sort":7,"platform":885,"icon":886,"url":887,"label":888},"linkedin","linkedin-logo","https:\u002F\u002Fwww.linkedin.com\u002Fcompany\u002F37836599\u002F","Localazy LinkedIn",{"id":94,"status":8,"sort":7,"platform":890,"icon":891,"url":855,"label":892},"discourse","discourse-logo","Localazy Discourse",[894,897,900],{"id":26,"status":8,"sort":7,"title":895,"url":896,"action":7},"Privacy policy","\u002Fprivacy-policy",{"id":5,"status":8,"sort":7,"title":898,"url":899,"action":7},"Terms & Conditions","\u002Fterms-and-conditions",{"id":12,"status":8,"sort":7,"title":901,"url":7,"action":902},"Cookies","cookie-consent",[904,1044,1122,1228,1314,1393,1482,1573,1660,1759],{"id":406,"status":8,"created_on":905,"modified_on":906,"name":480,"slug":479,"description":907,"docs_link":908,"priority":7,"has_sdk":15,"sort":12,"highlighted":15,"in_menu":17,"changefreq":7,"support_type":909,"show_in_spa":17,"is_file_format":15,"meta_title":7,"meta_description":7,"featured_on_web":17,"marketing_subtitle":910,"tile_subtitle":911,"tile_description":912,"is_enterprise":15,"is_popular":15,"primary_use_case":7,"hierarchy_handling":7,"best_for":7,"file_extension":7,"format_code_example":7,"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":406},"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":521},[],{"id":482},{"id":917},"a97492ec-ee8d-429c-bf66-d0fe59b6e5c9",{"id":13,"status":8,"sort":5,"created_on":919,"label":920,"hidden":15,"icon":921,"translations":923},"2022-03-17T12:23:44.000Z","Web apps",{"id":922},"c9e70e4f-8136-432a-8d82-53c3501a9eb4",[924,926,929,932],{"id":13,"languages_code":925,"label":920},"xxa",{"id":230,"languages_code":927,"label":928},"es","Aplicaciones web",{"id":666,"languages_code":930,"label":931},"cs","Webové aplikace",{"id":436,"languages_code":933,"label":920},"en",[935,942],{"id":13,"status":8,"sort":5,"label":920,"hidden":15,"created_on":919,"icon":936,"translations":937},{"id":922},[938,939,940,941],{"id":13,"languages_code":925,"label":920},{"id":230,"languages_code":927,"label":928},{"id":666,"languages_code":930,"label":931},{"id":436,"languages_code":933,"label":920},{"id":137,"status":8,"sort":101,"label":943,"hidden":15,"created_on":944,"icon":7,"translations":945},"Framework","2022-03-17T12:23:45.000Z",[946,947,949,950],{"id":137,"languages_code":925,"label":943},{"id":369,"languages_code":927,"label":948},"Marco",{"id":319,"languages_code":930,"label":943},{"id":951,"languages_code":933,"label":943},67,[953,965,990,1011],{"id":22,"status":8,"sort":94,"label":655,"alternative_label":7,"slug":659,"description":954,"documentation_link":955,"loc_icon":659,"is_official_plugin":15,"is_universal_plugin":15,"universal_plugin_vendor":7,"translations":956},"Translate strings directly or upload them into your Localazy project.","\u002Fdocs\u002Fapi\u002Fintroduction",[957,958,961,963],{"id":22,"languages_code":925,"label":655,"description":954,"slug":659},{"id":959,"languages_code":927,"label":655,"description":960,"slug":659},40,"Utilice la API para exportar traducciones e importar contenido de\u002Fa Localazy mediante programación.",{"id":666,"languages_code":933,"label":655,"description":962,"slug":659},"Choose between translating strings directly or uploading them into Localazy.",{"id":436,"languages_code":930,"label":655,"description":964,"slug":659},"Pomocí rozhraní API můžete programovaně exportovat překlady a importovat obsah z\u002Fdo Localazy.",{"id":12,"status":8,"sort":13,"label":966,"alternative_label":7,"slug":967,"description":968,"documentation_link":969,"loc_icon":970,"is_official_plugin":15,"is_universal_plugin":15,"universal_plugin_vendor":7,"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":12,"languages_code":925,"label":966,"description":968,"slug":967},{"id":154,"languages_code":927,"label":974,"description":975,"slug":7},"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":352,"languages_code":933,"label":966,"description":968,"slug":967},{"id":319,"languages_code":930,"label":978,"description":979,"slug":7},"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":269,"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":278,"languages_code":933,"label":966,"description":968,"slug":967},{"id":558,"languages_code":930,"label":978,"description":979,"slug":967},{"id":986,"languages_code":987,"label":988,"description":989,"slug":7},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":5,"status":8,"sort":22,"label":991,"alternative_label":992,"slug":993,"description":994,"documentation_link":995,"loc_icon":996,"is_official_plugin":15,"is_universal_plugin":15,"universal_plugin_vendor":7,"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":5,"languages_code":925,"label":991,"description":994,"slug":993},{"id":77,"languages_code":927,"label":1000,"description":1001,"slug":7},"Carga directa de archivos","Cargue sus textos y traducciones existentes en cualquier formato directamente para empezar rápidamente.",{"id":248,"languages_code":933,"label":991,"description":994,"slug":993},{"id":1004,"languages_code":930,"label":1005,"description":1006,"slug":7},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":7},85,"Direkter Datei-Upload","Laden Sie Ihre Texte und vorhandenen Übersetzungen in einem beliebigen Format direkt hoch, um schnell loszulegen.",{"id":26,"status":8,"sort":12,"label":1012,"alternative_label":643,"slug":411,"description":1013,"documentation_link":1014,"loc_icon":411,"is_official_plugin":15,"is_universal_plugin":15,"universal_plugin_vendor":7,"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":26,"languages_code":925,"label":1012,"description":1013,"slug":411},{"id":66,"languages_code":927,"label":1018,"description":1019,"slug":411},"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":239,"languages_code":933,"label":1012,"description":1013,"slug":411},{"id":311,"languages_code":930,"label":1022,"description":1023,"slug":411},"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":7},87,"Befehlszeilenschnittstelle","Die beste Option für Entwickler, die die Lokalisierung zu einem automatisierten Teil ihres Arbeitsablaufs machen möchten.",[],{"id":26,"status":8,"sort":12,"label":1012,"alternative_label":643,"slug":411,"description":1013,"documentation_link":1014,"loc_icon":411,"is_official_plugin":15,"is_universal_plugin":15,"universal_plugin_vendor":7,"translations":1030},[1031,1032,1033,1034,1035],{"id":26,"languages_code":925,"label":1012,"description":1013,"slug":411},{"id":66,"languages_code":927,"label":1018,"description":1019,"slug":411},{"id":239,"languages_code":933,"label":1012,"description":1013,"slug":411},{"id":311,"languages_code":930,"label":1022,"description":1023,"slug":411},{"id":1025,"languages_code":987,"label":1026,"description":1027,"slug":7},[1037],{"id":1038,"status":8,"created_on":1039,"sort":7,"slug":1040,"label":1041,"on_faq_index":7},76,"2025-02-26T12:44:29.000Z","front-end-common","Front-end Common",[1043],{"languages_code":925,"name":480,"slug":479,"description":907,"support_type":909,"meta_title":7,"meta_description":7,"marketing_subtitle":910,"tile_subtitle":911,"tile_description":912,"id":406,"platforms_id":406,"docs_link":908},{"id":175,"status":8,"created_on":905,"modified_on":1045,"name":487,"slug":486,"description":1046,"docs_link":908,"priority":7,"has_sdk":15,"sort":22,"highlighted":15,"in_menu":17,"changefreq":7,"support_type":909,"show_in_spa":17,"is_file_format":15,"meta_title":7,"meta_description":7,"featured_on_web":17,"marketing_subtitle":910,"tile_subtitle":1047,"tile_description":1048,"is_enterprise":15,"is_popular":15,"primary_use_case":7,"hierarchy_handling":7,"best_for":7,"file_extension":7,"format_code_example":7,"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":175},"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":521},[],{"id":489},{"id":1053},"8171b836-d6b8-4354-8db3-34ccd384970d",{"id":13,"status":8,"sort":5,"created_on":919,"label":920,"hidden":15,"icon":1055,"translations":1056},{"id":922},[1057,1058,1059,1060],{"id":13,"languages_code":925,"label":920},{"id":230,"languages_code":927,"label":928},{"id":666,"languages_code":930,"label":931},{"id":436,"languages_code":933,"label":920},[1062,1069],{"id":13,"status":8,"sort":5,"label":920,"hidden":15,"created_on":919,"icon":1063,"translations":1064},{"id":922},[1065,1066,1067,1068],{"id":13,"languages_code":925,"label":920},{"id":230,"languages_code":927,"label":928},{"id":666,"languages_code":930,"label":931},{"id":436,"languages_code":933,"label":920},{"id":137,"status":8,"sort":101,"label":943,"hidden":15,"created_on":944,"icon":7,"translations":1070},[1071,1072,1073,1074],{"id":137,"languages_code":925,"label":943},{"id":369,"languages_code":927,"label":948},{"id":319,"languages_code":930,"label":943},{"id":951,"languages_code":933,"label":943},[1076,1082,1092,1099],{"id":22,"status":8,"sort":94,"label":655,"alternative_label":7,"slug":659,"description":954,"documentation_link":955,"loc_icon":659,"is_official_plugin":15,"is_universal_plugin":15,"universal_plugin_vendor":7,"translations":1077},[1078,1079,1080,1081],{"id":22,"languages_code":925,"label":655,"description":954,"slug":659},{"id":959,"languages_code":927,"label":655,"description":960,"slug":659},{"id":666,"languages_code":933,"label":655,"description":962,"slug":659},{"id":436,"languages_code":930,"label":655,"description":964,"slug":659},{"id":12,"status":8,"sort":13,"label":966,"alternative_label":7,"slug":967,"description":968,"documentation_link":969,"loc_icon":970,"is_official_plugin":15,"is_universal_plugin":15,"universal_plugin_vendor":7,"translations":1083},[1084,1085,1086,1087,1088,1089,1090,1091],{"id":12,"languages_code":925,"label":966,"description":968,"slug":967},{"id":154,"languages_code":927,"label":974,"description":975,"slug":7},{"id":352,"languages_code":933,"label":966,"description":968,"slug":967},{"id":319,"languages_code":930,"label":978,"description":979,"slug":7},{"id":269,"languages_code":927,"label":981,"description":982,"slug":967},{"id":278,"languages_code":933,"label":966,"description":968,"slug":967},{"id":558,"languages_code":930,"label":978,"description":979,"slug":967},{"id":986,"languages_code":987,"label":988,"description":989,"slug":7},{"id":5,"status":8,"sort":22,"label":991,"alternative_label":992,"slug":993,"description":994,"documentation_link":995,"loc_icon":996,"is_official_plugin":15,"is_universal_plugin":15,"universal_plugin_vendor":7,"translations":1093},[1094,1095,1096,1097,1098],{"id":5,"languages_code":925,"label":991,"description":994,"slug":993},{"id":77,"languages_code":927,"label":1000,"description":1001,"slug":7},{"id":248,"languages_code":933,"label":991,"description":994,"slug":993},{"id":1004,"languages_code":930,"label":1005,"description":1006,"slug":7},{"id":1008,"languages_code":987,"label":1009,"description":1010,"slug":7},{"id":26,"status":8,"sort":12,"label":1012,"alternative_label":643,"slug":411,"description":1013,"documentation_link":1014,"loc_icon":411,"is_official_plugin":15,"is_universal_plugin":15,"universal_plugin_vendor":7,"translations":1100},[1101,1102,1103,1104,1105],{"id":26,"languages_code":925,"label":1012,"description":1013,"slug":411},{"id":66,"languages_code":927,"label":1018,"description":1019,"slug":411},{"id":239,"languages_code":933,"label":1012,"description":1013,"slug":411},{"id":311,"languages_code":930,"label":1022,"description":1023,"slug":411},{"id":1025,"languages_code":987,"label":1026,"description":1027,"slug":7},[],{"id":26,"status":8,"sort":12,"label":1012,"alternative_label":643,"slug":411,"description":1013,"documentation_link":1014,"loc_icon":411,"is_official_plugin":15,"is_universal_plugin":15,"universal_plugin_vendor":7,"translations":1108},[1109,1110,1111,1112,1113],{"id":26,"languages_code":925,"label":1012,"description":1013,"slug":411},{"id":66,"languages_code":927,"label":1018,"description":1019,"slug":411},{"id":239,"languages_code":933,"label":1012,"description":1013,"slug":411},{"id":311,"languages_code":930,"label":1022,"description":1023,"slug":411},{"id":1025,"languages_code":987,"label":1026,"description":1027,"slug":7},[1115,1119],{"id":1004,"status":8,"created_on":1116,"sort":7,"slug":1117,"label":1118,"on_faq_index":7},"2023-03-01T11:21:41.000Z","vue-localization","Vue.js Localization",{"id":1038,"status":8,"created_on":1039,"sort":7,"slug":1040,"label":1041,"on_faq_index":7},[1121],{"languages_code":925,"name":487,"slug":486,"description":1046,"support_type":909,"meta_title":7,"meta_description":7,"marketing_subtitle":910,"tile_subtitle":1047,"tile_description":1048,"id":175,"platforms_id":175,"docs_link":908},{"id":26,"status":8,"created_on":905,"modified_on":1123,"name":501,"slug":500,"description":1124,"docs_link":1125,"priority":7,"has_sdk":15,"sort":94,"highlighted":15,"in_menu":17,"changefreq":7,"support_type":1126,"show_in_spa":17,"is_file_format":15,"meta_title":7,"meta_description":7,"featured_on_web":15,"marketing_subtitle":910,"tile_subtitle":1126,"tile_description":1127,"is_enterprise":15,"is_popular":15,"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":26},"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":503},{"id":1138},"c2674666-4371-4aa4-9a65-438c7363fafe",{"id":94,"status":8,"sort":137,"created_on":944,"label":1140,"hidden":15,"icon":1141,"translations":1143},"Mobile apps",{"id":1142},"c9c7e1f5-8b59-4016-ae0c-6fba9469cd55",[1144,1145,1147,1149],{"id":94,"languages_code":925,"label":1140},{"id":239,"languages_code":927,"label":1146},"Aplicaciones móviles",{"id":311,"languages_code":930,"label":1148},"Mobilní aplikace",{"id":278,"languages_code":933,"label":1140},[1151,1162,1169,1176],{"id":147,"status":8,"sort":175,"label":1152,"hidden":15,"created_on":944,"icon":1153,"translations":1155},"Desktop & Games",{"id":1154},"65b04533-5b4c-430c-b8a4-ecce84754200",[1156,1157,1159,1161],{"id":147,"languages_code":925,"label":1152},{"id":248,"languages_code":927,"label":1158},"Escritorio y Juegos",{"id":1004,"languages_code":930,"label":1160},"Stolní počítače & Hry",{"id":558,"languages_code":933,"label":1152},{"id":13,"status":8,"sort":5,"label":920,"hidden":15,"created_on":919,"icon":1163,"translations":1164},{"id":922},[1165,1166,1167,1168],{"id":13,"languages_code":925,"label":920},{"id":230,"languages_code":927,"label":928},{"id":666,"languages_code":930,"label":931},{"id":436,"languages_code":933,"label":920},{"id":94,"status":8,"sort":137,"label":1140,"hidden":15,"created_on":944,"icon":1170,"translations":1171},{"id":1142},[1172,1173,1174,1175],{"id":94,"languages_code":925,"label":1140},{"id":239,"languages_code":927,"label":1146},{"id":311,"languages_code":930,"label":1148},{"id":278,"languages_code":933,"label":1140},{"id":82,"status":8,"sort":274,"label":1177,"hidden":17,"created_on":944,"icon":7,"translations":1178},"ARB",[1179,1180,1182,1184],{"id":82,"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":22,"status":8,"sort":94,"label":655,"alternative_label":7,"slug":659,"description":954,"documentation_link":955,"loc_icon":659,"is_official_plugin":15,"is_universal_plugin":15,"universal_plugin_vendor":7,"translations":1188},[1189,1190,1191,1192],{"id":22,"languages_code":925,"label":655,"description":954,"slug":659},{"id":959,"languages_code":927,"label":655,"description":960,"slug":659},{"id":666,"languages_code":933,"label":655,"description":962,"slug":659},{"id":436,"languages_code":930,"label":655,"description":964,"slug":659},{"id":12,"status":8,"sort":13,"label":966,"alternative_label":7,"slug":967,"description":968,"documentation_link":969,"loc_icon":970,"is_official_plugin":15,"is_universal_plugin":15,"universal_plugin_vendor":7,"translations":1194},[1195,1196,1197,1198,1199,1200,1201,1202],{"id":12,"languages_code":925,"label":966,"description":968,"slug":967},{"id":154,"languages_code":927,"label":974,"description":975,"slug":7},{"id":352,"languages_code":933,"label":966,"description":968,"slug":967},{"id":319,"languages_code":930,"label":978,"description":979,"slug":7},{"id":269,"languages_code":927,"label":981,"description":982,"slug":967},{"id":278,"languages_code":933,"label":966,"description":968,"slug":967},{"id":558,"languages_code":930,"label":978,"description":979,"slug":967},{"id":986,"languages_code":987,"label":988,"description":989,"slug":7},{"id":5,"status":8,"sort":22,"label":991,"alternative_label":992,"slug":993,"description":994,"documentation_link":995,"loc_icon":996,"is_official_plugin":15,"is_universal_plugin":15,"universal_plugin_vendor":7,"translations":1204},[1205,1206,1207,1208,1209],{"id":5,"languages_code":925,"label":991,"description":994,"slug":993},{"id":77,"languages_code":927,"label":1000,"description":1001,"slug":7},{"id":248,"languages_code":933,"label":991,"description":994,"slug":993},{"id":1004,"languages_code":930,"label":1005,"description":1006,"slug":7},{"id":1008,"languages_code":987,"label":1009,"description":1010,"slug":7},{"id":26,"status":8,"sort":12,"label":1012,"alternative_label":643,"slug":411,"description":1013,"documentation_link":1014,"loc_icon":411,"is_official_plugin":15,"is_universal_plugin":15,"universal_plugin_vendor":7,"translations":1211},[1212,1213,1214,1215,1216],{"id":26,"languages_code":925,"label":1012,"description":1013,"slug":411},{"id":66,"languages_code":927,"label":1018,"description":1019,"slug":411},{"id":239,"languages_code":933,"label":1012,"description":1013,"slug":411},{"id":311,"languages_code":930,"label":1022,"description":1023,"slug":411},{"id":1025,"languages_code":987,"label":1026,"description":1027,"slug":7},[],{"id":26,"status":8,"sort":12,"label":1012,"alternative_label":643,"slug":411,"description":1013,"documentation_link":1014,"loc_icon":411,"is_official_plugin":15,"is_universal_plugin":15,"universal_plugin_vendor":7,"translations":1219},[1220,1221,1222,1223,1224],{"id":26,"languages_code":925,"label":1012,"description":1013,"slug":411},{"id":66,"languages_code":927,"label":1018,"description":1019,"slug":411},{"id":239,"languages_code":933,"label":1012,"description":1013,"slug":411},{"id":311,"languages_code":930,"label":1022,"description":1023,"slug":411},{"id":1025,"languages_code":987,"label":1026,"description":1027,"slug":7},[],[1227],{"languages_code":925,"name":501,"slug":500,"description":1124,"support_type":1126,"meta_title":7,"meta_description":7,"marketing_subtitle":910,"tile_subtitle":1126,"tile_description":1127,"id":26,"platforms_id":26,"docs_link":1125},{"id":441,"status":8,"created_on":1229,"modified_on":1230,"name":515,"slug":514,"description":1231,"docs_link":1232,"priority":7,"has_sdk":15,"sort":286,"highlighted":15,"in_menu":17,"changefreq":7,"support_type":1233,"show_in_spa":17,"is_file_format":15,"meta_title":7,"meta_description":7,"featured_on_web":17,"marketing_subtitle":910,"tile_subtitle":1233,"tile_description":1234,"is_enterprise":15,"is_popular":15,"primary_use_case":7,"hierarchy_handling":7,"best_for":7,"file_extension":7,"format_code_example":7,"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":441},"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":517},{"id":1240},"2c6699eb-1d80-4772-8268-5597dbcead8c",{"id":456,"status":8,"sort":456,"created_on":944,"label":1242,"hidden":15,"icon":1243,"translations":1245},"Programming Languages",{"id":1244},"8c5836bb-1fbe-49c5-9330-8f931838c457",[1246,1247,1249,1252],{"id":456,"languages_code":925,"label":1242},{"id":336,"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":13,"status":8,"sort":5,"label":920,"hidden":15,"created_on":919,"icon":1256,"translations":1257},{"id":922},[1258,1259,1260,1261],{"id":13,"languages_code":925,"label":920},{"id":230,"languages_code":927,"label":928},{"id":666,"languages_code":930,"label":931},{"id":436,"languages_code":933,"label":920},{"id":456,"status":8,"sort":456,"label":1242,"hidden":15,"created_on":944,"icon":1263,"translations":1264},{"id":1244},[1265,1266,1267,1268],{"id":456,"languages_code":925,"label":1242},{"id":336,"languages_code":927,"label":1248},{"id":1250,"languages_code":930,"label":1251},{"id":1253,"languages_code":933,"label":1242},[1270,1276,1286,1293],{"id":22,"status":8,"sort":94,"label":655,"alternative_label":7,"slug":659,"description":954,"documentation_link":955,"loc_icon":659,"is_official_plugin":15,"is_universal_plugin":15,"universal_plugin_vendor":7,"translations":1271},[1272,1273,1274,1275],{"id":22,"languages_code":925,"label":655,"description":954,"slug":659},{"id":959,"languages_code":927,"label":655,"description":960,"slug":659},{"id":666,"languages_code":933,"label":655,"description":962,"slug":659},{"id":436,"languages_code":930,"label":655,"description":964,"slug":659},{"id":12,"status":8,"sort":13,"label":966,"alternative_label":7,"slug":967,"description":968,"documentation_link":969,"loc_icon":970,"is_official_plugin":15,"is_universal_plugin":15,"universal_plugin_vendor":7,"translations":1277},[1278,1279,1280,1281,1282,1283,1284,1285],{"id":12,"languages_code":925,"label":966,"description":968,"slug":967},{"id":154,"languages_code":927,"label":974,"description":975,"slug":7},{"id":352,"languages_code":933,"label":966,"description":968,"slug":967},{"id":319,"languages_code":930,"label":978,"description":979,"slug":7},{"id":269,"languages_code":927,"label":981,"description":982,"slug":967},{"id":278,"languages_code":933,"label":966,"description":968,"slug":967},{"id":558,"languages_code":930,"label":978,"description":979,"slug":967},{"id":986,"languages_code":987,"label":988,"description":989,"slug":7},{"id":5,"status":8,"sort":22,"label":991,"alternative_label":992,"slug":993,"description":994,"documentation_link":995,"loc_icon":996,"is_official_plugin":15,"is_universal_plugin":15,"universal_plugin_vendor":7,"translations":1287},[1288,1289,1290,1291,1292],{"id":5,"languages_code":925,"label":991,"description":994,"slug":993},{"id":77,"languages_code":927,"label":1000,"description":1001,"slug":7},{"id":248,"languages_code":933,"label":991,"description":994,"slug":993},{"id":1004,"languages_code":930,"label":1005,"description":1006,"slug":7},{"id":1008,"languages_code":987,"label":1009,"description":1010,"slug":7},{"id":26,"status":8,"sort":12,"label":1012,"alternative_label":643,"slug":411,"description":1013,"documentation_link":1014,"loc_icon":411,"is_official_plugin":15,"is_universal_plugin":15,"universal_plugin_vendor":7,"translations":1294},[1295,1296,1297,1298,1299],{"id":26,"languages_code":925,"label":1012,"description":1013,"slug":411},{"id":66,"languages_code":927,"label":1018,"description":1019,"slug":411},{"id":239,"languages_code":933,"label":1012,"description":1013,"slug":411},{"id":311,"languages_code":930,"label":1022,"description":1023,"slug":411},{"id":1025,"languages_code":987,"label":1026,"description":1027,"slug":7},[],{"id":26,"status":8,"sort":12,"label":1012,"alternative_label":643,"slug":411,"description":1013,"documentation_link":1014,"loc_icon":411,"is_official_plugin":15,"is_universal_plugin":15,"universal_plugin_vendor":7,"translations":1302},[1303,1304,1305,1306,1307],{"id":26,"languages_code":925,"label":1012,"description":1013,"slug":411},{"id":66,"languages_code":927,"label":1018,"description":1019,"slug":411},{"id":239,"languages_code":933,"label":1012,"description":1013,"slug":411},{"id":311,"languages_code":930,"label":1022,"description":1023,"slug":411},{"id":1025,"languages_code":987,"label":1026,"description":1027,"slug":7},[1309],{"id":332,"status":8,"created_on":1310,"sort":7,"slug":1311,"label":515,"on_faq_index":15},"2022-06-10T09:49:33.000Z","javascript-i18n-localization",[1313],{"languages_code":925,"name":515,"slug":514,"description":1231,"support_type":1233,"meta_title":7,"meta_description":7,"marketing_subtitle":910,"tile_subtitle":1233,"tile_description":1234,"id":441,"platforms_id":441,"docs_link":1232},{"id":286,"status":8,"created_on":1229,"modified_on":1315,"name":522,"slug":521,"description":1316,"docs_link":908,"priority":7,"has_sdk":15,"sort":54,"highlighted":15,"in_menu":17,"changefreq":7,"support_type":1317,"show_in_spa":17,"is_file_format":17,"meta_title":7,"meta_description":7,"featured_on_web":17,"marketing_subtitle":910,"tile_subtitle":1318,"tile_description":1319,"is_enterprise":15,"is_popular":17,"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":286},"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":521},[],{"id":524},{"id":1329},"8d614c20-667e-4bee-a64d-7d7ce9c0ee0a",{"id":22,"status":8,"sort":13,"created_on":944,"label":1331,"hidden":15,"icon":1332,"translations":1334},"File formats",{"id":1333},"ab7c8f89-dcce-45ab-9e21-8605aef289c3",[1335,1336,1338,1340],{"id":22,"languages_code":925,"label":1331},{"id":221,"languages_code":927,"label":1337},"Formatos de archivo",{"id":352,"languages_code":930,"label":1339},"Formáty souborů",{"id":445,"languages_code":933,"label":1331},[1342],{"id":22,"status":8,"sort":13,"label":1331,"hidden":15,"created_on":944,"icon":1343,"translations":1344},{"id":1333},[1345,1346,1347,1348],{"id":22,"languages_code":925,"label":1331},{"id":221,"languages_code":927,"label":1337},{"id":352,"languages_code":930,"label":1339},{"id":445,"languages_code":933,"label":1331},[1350,1356,1366,1373],{"id":22,"status":8,"sort":94,"label":655,"alternative_label":7,"slug":659,"description":954,"documentation_link":955,"loc_icon":659,"is_official_plugin":15,"is_universal_plugin":15,"universal_plugin_vendor":7,"translations":1351},[1352,1353,1354,1355],{"id":22,"languages_code":925,"label":655,"description":954,"slug":659},{"id":959,"languages_code":927,"label":655,"description":960,"slug":659},{"id":666,"languages_code":933,"label":655,"description":962,"slug":659},{"id":436,"languages_code":930,"label":655,"description":964,"slug":659},{"id":12,"status":8,"sort":13,"label":966,"alternative_label":7,"slug":967,"description":968,"documentation_link":969,"loc_icon":970,"is_official_plugin":15,"is_universal_plugin":15,"universal_plugin_vendor":7,"translations":1357},[1358,1359,1360,1361,1362,1363,1364,1365],{"id":12,"languages_code":925,"label":966,"description":968,"slug":967},{"id":154,"languages_code":927,"label":974,"description":975,"slug":7},{"id":352,"languages_code":933,"label":966,"description":968,"slug":967},{"id":319,"languages_code":930,"label":978,"description":979,"slug":7},{"id":269,"languages_code":927,"label":981,"description":982,"slug":967},{"id":278,"languages_code":933,"label":966,"description":968,"slug":967},{"id":558,"languages_code":930,"label":978,"description":979,"slug":967},{"id":986,"languages_code":987,"label":988,"description":989,"slug":7},{"id":5,"status":8,"sort":22,"label":991,"alternative_label":992,"slug":993,"description":994,"documentation_link":995,"loc_icon":996,"is_official_plugin":15,"is_universal_plugin":15,"universal_plugin_vendor":7,"translations":1367},[1368,1369,1370,1371,1372],{"id":5,"languages_code":925,"label":991,"description":994,"slug":993},{"id":77,"languages_code":927,"label":1000,"description":1001,"slug":7},{"id":248,"languages_code":933,"label":991,"description":994,"slug":993},{"id":1004,"languages_code":930,"label":1005,"description":1006,"slug":7},{"id":1008,"languages_code":987,"label":1009,"description":1010,"slug":7},{"id":26,"status":8,"sort":12,"label":1012,"alternative_label":643,"slug":411,"description":1013,"documentation_link":1014,"loc_icon":411,"is_official_plugin":15,"is_universal_plugin":15,"universal_plugin_vendor":7,"translations":1374},[1375,1376,1377,1378,1379],{"id":26,"languages_code":925,"label":1012,"description":1013,"slug":411},{"id":66,"languages_code":927,"label":1018,"description":1019,"slug":411},{"id":239,"languages_code":933,"label":1012,"description":1013,"slug":411},{"id":311,"languages_code":930,"label":1022,"description":1023,"slug":411},{"id":1025,"languages_code":987,"label":1026,"description":1027,"slug":7},[],{"id":26,"status":8,"sort":12,"label":1012,"alternative_label":643,"slug":411,"description":1013,"documentation_link":1014,"loc_icon":411,"is_official_plugin":15,"is_universal_plugin":15,"universal_plugin_vendor":7,"translations":1382},[1383,1384,1385,1386,1387],{"id":26,"languages_code":925,"label":1012,"description":1013,"slug":411},{"id":66,"languages_code":927,"label":1018,"description":1019,"slug":411},{"id":239,"languages_code":933,"label":1012,"description":1013,"slug":411},{"id":311,"languages_code":930,"label":1022,"description":1023,"slug":411},{"id":1025,"languages_code":987,"label":1026,"description":1027,"slug":7},[1389],{"id":291,"status":8,"created_on":1390,"sort":7,"slug":521,"label":522,"on_faq_index":15},"2022-06-10T10:49:07.000Z",[1392],{"languages_code":925,"name":522,"slug":521,"description":1316,"support_type":1317,"meta_title":7,"meta_description":7,"marketing_subtitle":910,"tile_subtitle":1318,"tile_description":1319,"id":286,"platforms_id":286,"docs_link":908},{"id":365,"status":8,"created_on":1229,"modified_on":1394,"name":529,"slug":528,"description":1395,"docs_link":1396,"priority":7,"has_sdk":15,"sort":365,"highlighted":15,"in_menu":17,"changefreq":7,"support_type":1397,"show_in_spa":15,"is_file_format":17,"meta_title":7,"meta_description":7,"featured_on_web":17,"marketing_subtitle":910,"tile_subtitle":1398,"tile_description":1399,"is_enterprise":15,"is_popular":17,"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":365},"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":531},{"id":1410},"889970a6-cce8-4055-b96a-9c3f292aa67f",{"id":22,"status":8,"sort":13,"created_on":944,"label":1331,"hidden":15,"icon":1412,"translations":1413},{"id":1333},[1414,1415,1416,1417],{"id":22,"languages_code":925,"label":1331},{"id":221,"languages_code":927,"label":1337},{"id":352,"languages_code":930,"label":1339},{"id":445,"languages_code":933,"label":1331},[1419,1426,1433],{"id":22,"status":8,"sort":13,"label":1331,"hidden":15,"created_on":944,"icon":1420,"translations":1421},{"id":1333},[1422,1423,1424,1425],{"id":22,"languages_code":925,"label":1331},{"id":221,"languages_code":927,"label":1337},{"id":352,"languages_code":930,"label":1339},{"id":445,"languages_code":933,"label":1331},{"id":22,"status":8,"sort":13,"label":1331,"hidden":15,"created_on":944,"icon":1427,"translations":1428},{"id":1333},[1429,1430,1431,1432],{"id":22,"languages_code":925,"label":1331},{"id":221,"languages_code":927,"label":1337},{"id":352,"languages_code":930,"label":1339},{"id":445,"languages_code":933,"label":1331},{"id":22,"status":8,"sort":13,"label":1331,"hidden":15,"created_on":944,"icon":1434,"translations":1435},{"id":1333},[1436,1437,1438,1439],{"id":22,"languages_code":925,"label":1331},{"id":221,"languages_code":927,"label":1337},{"id":352,"languages_code":930,"label":1339},{"id":445,"languages_code":933,"label":1331},[1441,1447,1457,1464],{"id":22,"status":8,"sort":94,"label":655,"alternative_label":7,"slug":659,"description":954,"documentation_link":955,"loc_icon":659,"is_official_plugin":15,"is_universal_plugin":15,"universal_plugin_vendor":7,"translations":1442},[1443,1444,1445,1446],{"id":22,"languages_code":925,"label":655,"description":954,"slug":659},{"id":959,"languages_code":927,"label":655,"description":960,"slug":659},{"id":666,"languages_code":933,"label":655,"description":962,"slug":659},{"id":436,"languages_code":930,"label":655,"description":964,"slug":659},{"id":12,"status":8,"sort":13,"label":966,"alternative_label":7,"slug":967,"description":968,"documentation_link":969,"loc_icon":970,"is_official_plugin":15,"is_universal_plugin":15,"universal_plugin_vendor":7,"translations":1448},[1449,1450,1451,1452,1453,1454,1455,1456],{"id":12,"languages_code":925,"label":966,"description":968,"slug":967},{"id":154,"languages_code":927,"label":974,"description":975,"slug":7},{"id":352,"languages_code":933,"label":966,"description":968,"slug":967},{"id":319,"languages_code":930,"label":978,"description":979,"slug":7},{"id":269,"languages_code":927,"label":981,"description":982,"slug":967},{"id":278,"languages_code":933,"label":966,"description":968,"slug":967},{"id":558,"languages_code":930,"label":978,"description":979,"slug":967},{"id":986,"languages_code":987,"label":988,"description":989,"slug":7},{"id":5,"status":8,"sort":22,"label":991,"alternative_label":992,"slug":993,"description":994,"documentation_link":995,"loc_icon":996,"is_official_plugin":15,"is_universal_plugin":15,"universal_plugin_vendor":7,"translations":1458},[1459,1460,1461,1462,1463],{"id":5,"languages_code":925,"label":991,"description":994,"slug":993},{"id":77,"languages_code":927,"label":1000,"description":1001,"slug":7},{"id":248,"languages_code":933,"label":991,"description":994,"slug":993},{"id":1004,"languages_code":930,"label":1005,"description":1006,"slug":7},{"id":1008,"languages_code":987,"label":1009,"description":1010,"slug":7},{"id":26,"status":8,"sort":12,"label":1012,"alternative_label":643,"slug":411,"description":1013,"documentation_link":1014,"loc_icon":411,"is_official_plugin":15,"is_universal_plugin":15,"universal_plugin_vendor":7,"translations":1465},[1466,1467,1468,1469,1470],{"id":26,"languages_code":925,"label":1012,"description":1013,"slug":411},{"id":66,"languages_code":927,"label":1018,"description":1019,"slug":411},{"id":239,"languages_code":933,"label":1012,"description":1013,"slug":411},{"id":311,"languages_code":930,"label":1022,"description":1023,"slug":411},{"id":1025,"languages_code":987,"label":1026,"description":1027,"slug":7},[],{"id":26,"status":8,"sort":12,"label":1012,"alternative_label":643,"slug":411,"description":1013,"documentation_link":1014,"loc_icon":411,"is_official_plugin":15,"is_universal_plugin":15,"universal_plugin_vendor":7,"translations":1473},[1474,1475,1476,1477,1478],{"id":26,"languages_code":925,"label":1012,"description":1013,"slug":411},{"id":66,"languages_code":927,"label":1018,"description":1019,"slug":411},{"id":239,"languages_code":933,"label":1012,"description":1013,"slug":411},{"id":311,"languages_code":930,"label":1022,"description":1023,"slug":411},{"id":1025,"languages_code":987,"label":1026,"description":1027,"slug":7},[],[1481],{"languages_code":925,"name":529,"slug":528,"description":1395,"support_type":1397,"meta_title":7,"meta_description":7,"marketing_subtitle":910,"tile_subtitle":1398,"tile_description":1399,"id":365,"platforms_id":365,"docs_link":1396},{"id":54,"status":8,"created_on":1483,"modified_on":1483,"name":1484,"slug":1485,"description":1486,"docs_link":1487,"priority":7,"has_sdk":15,"sort":108,"highlighted":15,"in_menu":17,"changefreq":7,"support_type":1397,"show_in_spa":17,"is_file_format":17,"meta_title":7,"meta_description":7,"featured_on_web":15,"marketing_subtitle":910,"tile_subtitle":1488,"tile_description":1489,"is_enterprise":15,"is_popular":17,"primary_use_case":7,"hierarchy_handling":7,"best_for":7,"file_extension":7,"format_code_example":7,"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":54},"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":22,"status":8,"sort":13,"created_on":944,"label":1331,"hidden":15,"icon":1497,"translations":1498},{"id":1333},[1499,1500,1501,1502],{"id":22,"languages_code":925,"label":1331},{"id":221,"languages_code":927,"label":1337},{"id":352,"languages_code":930,"label":1339},{"id":445,"languages_code":933,"label":1331},[1504,1511,1521],{"id":22,"status":8,"sort":13,"label":1331,"hidden":15,"created_on":944,"icon":1505,"translations":1506},{"id":1333},[1507,1508,1509,1510],{"id":22,"languages_code":925,"label":1331},{"id":221,"languages_code":927,"label":1337},{"id":352,"languages_code":930,"label":1339},{"id":445,"languages_code":933,"label":1331},{"id":261,"status":8,"sort":261,"label":1512,"hidden":17,"created_on":944,"icon":7,"translations":1513},"C++",[1514,1515,1517,1519],{"id":261,"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":365,"status":8,"sort":108,"label":1522,"hidden":17,"created_on":944,"icon":7,"translations":1523},"Gettext",[1524,1525,1527,1529],{"id":365,"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":22,"status":8,"sort":94,"label":655,"alternative_label":7,"slug":659,"description":954,"documentation_link":955,"loc_icon":659,"is_official_plugin":15,"is_universal_plugin":15,"universal_plugin_vendor":7,"translations":1533},[1534,1535,1536,1537],{"id":22,"languages_code":925,"label":655,"description":954,"slug":659},{"id":959,"languages_code":927,"label":655,"description":960,"slug":659},{"id":666,"languages_code":933,"label":655,"description":962,"slug":659},{"id":436,"languages_code":930,"label":655,"description":964,"slug":659},{"id":12,"status":8,"sort":13,"label":966,"alternative_label":7,"slug":967,"description":968,"documentation_link":969,"loc_icon":970,"is_official_plugin":15,"is_universal_plugin":15,"universal_plugin_vendor":7,"translations":1539},[1540,1541,1542,1543,1544,1545,1546,1547],{"id":12,"languages_code":925,"label":966,"description":968,"slug":967},{"id":154,"languages_code":927,"label":974,"description":975,"slug":7},{"id":352,"languages_code":933,"label":966,"description":968,"slug":967},{"id":319,"languages_code":930,"label":978,"description":979,"slug":7},{"id":269,"languages_code":927,"label":981,"description":982,"slug":967},{"id":278,"languages_code":933,"label":966,"description":968,"slug":967},{"id":558,"languages_code":930,"label":978,"description":979,"slug":967},{"id":986,"languages_code":987,"label":988,"description":989,"slug":7},{"id":5,"status":8,"sort":22,"label":991,"alternative_label":992,"slug":993,"description":994,"documentation_link":995,"loc_icon":996,"is_official_plugin":15,"is_universal_plugin":15,"universal_plugin_vendor":7,"translations":1549},[1550,1551,1552,1553,1554],{"id":5,"languages_code":925,"label":991,"description":994,"slug":993},{"id":77,"languages_code":927,"label":1000,"description":1001,"slug":7},{"id":248,"languages_code":933,"label":991,"description":994,"slug":993},{"id":1004,"languages_code":930,"label":1005,"description":1006,"slug":7},{"id":1008,"languages_code":987,"label":1009,"description":1010,"slug":7},{"id":26,"status":8,"sort":12,"label":1012,"alternative_label":643,"slug":411,"description":1013,"documentation_link":1014,"loc_icon":411,"is_official_plugin":15,"is_universal_plugin":15,"universal_plugin_vendor":7,"translations":1556},[1557,1558,1559,1560,1561],{"id":26,"languages_code":925,"label":1012,"description":1013,"slug":411},{"id":66,"languages_code":927,"label":1018,"description":1019,"slug":411},{"id":239,"languages_code":933,"label":1012,"description":1013,"slug":411},{"id":311,"languages_code":930,"label":1022,"description":1023,"slug":411},{"id":1025,"languages_code":987,"label":1026,"description":1027,"slug":7},[],{"id":26,"status":8,"sort":12,"label":1012,"alternative_label":643,"slug":411,"description":1013,"documentation_link":1014,"loc_icon":411,"is_official_plugin":15,"is_universal_plugin":15,"universal_plugin_vendor":7,"translations":1564},[1565,1566,1567,1568,1569],{"id":26,"languages_code":925,"label":1012,"description":1013,"slug":411},{"id":66,"languages_code":927,"label":1018,"description":1019,"slug":411},{"id":239,"languages_code":933,"label":1012,"description":1013,"slug":411},{"id":311,"languages_code":930,"label":1022,"description":1023,"slug":411},{"id":1025,"languages_code":987,"label":1026,"description":1027,"slug":7},[],[1572],{"languages_code":925,"name":1484,"slug":1485,"description":1486,"support_type":1397,"meta_title":7,"meta_description":7,"marketing_subtitle":910,"tile_subtitle":1488,"tile_description":1489,"id":54,"platforms_id":54,"docs_link":1487},{"id":113,"status":8,"created_on":1229,"modified_on":1574,"name":1575,"slug":1576,"description":1577,"docs_link":1578,"priority":7,"has_sdk":15,"sort":89,"highlighted":15,"in_menu":17,"changefreq":7,"support_type":1397,"show_in_spa":17,"is_file_format":17,"meta_title":7,"meta_description":7,"featured_on_web":15,"marketing_subtitle":910,"tile_subtitle":1579,"tile_description":1580,"is_enterprise":15,"is_popular":15,"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":113},"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":22,"status":8,"sort":13,"created_on":944,"label":1331,"hidden":15,"icon":1592,"translations":1593},{"id":1333},[1594,1595,1596,1597],{"id":22,"languages_code":925,"label":1331},{"id":221,"languages_code":927,"label":1337},{"id":352,"languages_code":930,"label":1339},{"id":445,"languages_code":933,"label":1331},[1599,1606],{"id":22,"status":8,"sort":13,"label":1331,"hidden":15,"created_on":944,"icon":1600,"translations":1601},{"id":1333},[1602,1603,1604,1605],{"id":22,"languages_code":925,"label":1331},{"id":221,"languages_code":927,"label":1337},{"id":352,"languages_code":930,"label":1339},{"id":445,"languages_code":933,"label":1331},{"id":108,"status":8,"sort":113,"label":1607,"hidden":17,"created_on":944,"icon":7,"translations":1608},"C#",[1609,1610,1612,1614],{"id":108,"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":22,"status":8,"sort":94,"label":655,"alternative_label":7,"slug":659,"description":954,"documentation_link":955,"loc_icon":659,"is_official_plugin":15,"is_universal_plugin":15,"universal_plugin_vendor":7,"translations":1618},[1619,1620,1621,1622],{"id":22,"languages_code":925,"label":655,"description":954,"slug":659},{"id":959,"languages_code":927,"label":655,"description":960,"slug":659},{"id":666,"languages_code":933,"label":655,"description":962,"slug":659},{"id":436,"languages_code":930,"label":655,"description":964,"slug":659},{"id":12,"status":8,"sort":13,"label":966,"alternative_label":7,"slug":967,"description":968,"documentation_link":969,"loc_icon":970,"is_official_plugin":15,"is_universal_plugin":15,"universal_plugin_vendor":7,"translations":1624},[1625,1626,1627,1628,1629,1630,1631,1632],{"id":12,"languages_code":925,"label":966,"description":968,"slug":967},{"id":154,"languages_code":927,"label":974,"description":975,"slug":7},{"id":352,"languages_code":933,"label":966,"description":968,"slug":967},{"id":319,"languages_code":930,"label":978,"description":979,"slug":7},{"id":269,"languages_code":927,"label":981,"description":982,"slug":967},{"id":278,"languages_code":933,"label":966,"description":968,"slug":967},{"id":558,"languages_code":930,"label":978,"description":979,"slug":967},{"id":986,"languages_code":987,"label":988,"description":989,"slug":7},{"id":5,"status":8,"sort":22,"label":991,"alternative_label":992,"slug":993,"description":994,"documentation_link":995,"loc_icon":996,"is_official_plugin":15,"is_universal_plugin":15,"universal_plugin_vendor":7,"translations":1634},[1635,1636,1637,1638,1639],{"id":5,"languages_code":925,"label":991,"description":994,"slug":993},{"id":77,"languages_code":927,"label":1000,"description":1001,"slug":7},{"id":248,"languages_code":933,"label":991,"description":994,"slug":993},{"id":1004,"languages_code":930,"label":1005,"description":1006,"slug":7},{"id":1008,"languages_code":987,"label":1009,"description":1010,"slug":7},{"id":26,"status":8,"sort":12,"label":1012,"alternative_label":643,"slug":411,"description":1013,"documentation_link":1014,"loc_icon":411,"is_official_plugin":15,"is_universal_plugin":15,"universal_plugin_vendor":7,"translations":1641},[1642,1643,1644,1645,1646],{"id":26,"languages_code":925,"label":1012,"description":1013,"slug":411},{"id":66,"languages_code":927,"label":1018,"description":1019,"slug":411},{"id":239,"languages_code":933,"label":1012,"description":1013,"slug":411},{"id":311,"languages_code":930,"label":1022,"description":1023,"slug":411},{"id":1025,"languages_code":987,"label":1026,"description":1027,"slug":7},[],{"id":26,"status":8,"sort":12,"label":1012,"alternative_label":643,"slug":411,"description":1013,"documentation_link":1014,"loc_icon":411,"is_official_plugin":15,"is_universal_plugin":15,"universal_plugin_vendor":7,"translations":1649},[1650,1651,1652,1653,1654],{"id":26,"languages_code":925,"label":1012,"description":1013,"slug":411},{"id":66,"languages_code":927,"label":1018,"description":1019,"slug":411},{"id":239,"languages_code":933,"label":1012,"description":1013,"slug":411},{"id":311,"languages_code":930,"label":1022,"description":1023,"slug":411},{"id":1025,"languages_code":987,"label":1026,"description":1027,"slug":7},[1656],{"id":221,"status":8,"created_on":1657,"sort":7,"slug":1576,"label":1575,"on_faq_index":7},"2022-08-01T16:44:06.000Z",[1659],{"languages_code":925,"name":1575,"slug":1576,"description":1577,"support_type":1397,"meta_title":7,"meta_description":7,"marketing_subtitle":910,"tile_subtitle":1579,"tile_description":1580,"id":113,"platforms_id":113,"docs_link":1578},{"id":535,"status":8,"created_on":1661,"modified_on":1662,"name":538,"slug":537,"description":1663,"docs_link":1664,"priority":7,"has_sdk":7,"sort":536,"highlighted":15,"in_menu":17,"changefreq":7,"support_type":1665,"show_in_spa":17,"is_file_format":7,"meta_title":7,"meta_description":7,"featured_on_web":17,"marketing_subtitle":1665,"tile_subtitle":1665,"tile_description":1666,"is_enterprise":15,"is_popular":17,"primary_use_case":7,"hierarchy_handling":7,"best_for":7,"file_extension":7,"format_code_example":7,"format_to_extension":7,"upload_features":7,"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":535},"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":540},{"id":1669},"5995b721-a2ea-487e-ad4b-298a489bbd24",{"id":286,"status":8,"sort":216,"created_on":944,"label":1671,"hidden":15,"icon":1672,"translations":1674},"CMS",{"id":1673},"1172a655-928c-4594-9263-d8afdfd9cd79",[1675,1676,1678,1680],{"id":286,"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":59,"status":8,"sort":253,"label":1684,"hidden":15,"created_on":944,"icon":7,"translations":1685},"Multilingual SEO",[1686,1687,1690,1693],{"id":59,"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":406,"status":8,"sort":406,"label":165,"hidden":15,"created_on":944,"icon":1696,"translations":1698},{"id":1697},"e782ed3f-d954-45ca-8b17-5bf5fe95f30a",[1699,1700,1703,1705],{"id":406,"languages_code":925,"label":165},{"id":1701,"languages_code":927,"label":1702},132,"Comercio electrónico",{"id":1704,"languages_code":930,"label":165},137,{"id":1706,"languages_code":933,"label":165},142,{"id":286,"status":8,"sort":216,"label":1671,"hidden":15,"created_on":944,"icon":1708,"translations":1709},{"id":1673},[1710,1711,1712,1713],{"id":286,"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":5,"status":8,"sort":94,"label":1715,"hidden":15,"created_on":944,"icon":1716,"translations":1718},"Marketing tools",{"id":1717},"098fe6a4-dd2e-42d8-937e-2d8121e6e266",[1719,1720,1723,1725],{"id":5,"languages_code":925,"label":1715},{"id":1721,"languages_code":927,"label":1722},43,"Herramientas de marketing",{"id":299,"languages_code":930,"label":1724},"Marketingové nástroje",{"id":378,"languages_code":933,"label":1715},[1727],{"id":137,"status":8,"sort":7,"label":1728,"alternative_label":1729,"slug":1730,"description":1731,"documentation_link":1732,"loc_icon":1733,"is_official_plugin":17,"is_universal_plugin":15,"universal_plugin_vendor":7,"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":137,"languages_code":925,"label":1728,"description":1731,"slug":1730},{"id":1721,"languages_code":927,"label":1737,"description":1738,"slug":7},"Complemento Oficial de Strapi","Nuestros desarrolladores mantienen un complemento oficial de localización de Strapi. ¡Empiece en unos pocos clics!",{"id":369,"languages_code":933,"label":1728,"description":1731,"slug":1730},{"id":445,"languages_code":930,"label":1741,"description":1742,"slug":7},"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":7},"Offizielles Strapi-Plugin","Unsere Entwickler pflegen ein offizielles Strapi-Lokalisierungs-Plugin. Starten Sie mit ein paar Klicks!",[],{"id":137,"status":8,"sort":7,"label":1728,"alternative_label":1729,"slug":1730,"description":1731,"documentation_link":1732,"loc_icon":1733,"is_official_plugin":17,"is_universal_plugin":15,"universal_plugin_vendor":7,"translations":1748},[1749,1750,1751,1752,1753],{"id":137,"languages_code":925,"label":1728,"description":1731,"slug":1730},{"id":1721,"languages_code":927,"label":1737,"description":1738,"slug":7},{"id":369,"languages_code":933,"label":1728,"description":1731,"slug":1730},{"id":445,"languages_code":930,"label":1741,"description":1742,"slug":7},{"id":1688,"languages_code":987,"label":1744,"description":1745,"slug":7},[1755],{"id":66,"status":8,"created_on":1756,"sort":7,"slug":537,"label":538,"on_faq_index":7},"2022-06-16T09:24:13.000Z",[1758],{"languages_code":925,"name":538,"slug":537,"description":1663,"support_type":1665,"meta_title":7,"meta_description":7,"marketing_subtitle":1665,"tile_subtitle":1665,"tile_description":1666,"id":535,"platforms_id":535,"docs_link":1664},{"id":319,"status":8,"created_on":1229,"modified_on":1760,"name":545,"slug":544,"description":7,"docs_link":1761,"priority":7,"has_sdk":15,"sort":311,"highlighted":15,"in_menu":17,"changefreq":7,"support_type":1762,"show_in_spa":17,"is_file_format":15,"meta_title":7,"meta_description":7,"featured_on_web":17,"marketing_subtitle":1763,"tile_subtitle":1764,"tile_description":1765,"is_enterprise":15,"is_popular":17,"primary_use_case":7,"hierarchy_handling":7,"best_for":7,"file_extension":7,"format_code_example":7,"format_to_extension":7,"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":319},"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":547},{"id":1769},"7573fed6-8817-4cb4-84d2-be327e6c4891",{"id":12,"status":8,"sort":147,"created_on":944,"label":1771,"hidden":15,"icon":1772,"translations":1774},"Design tools",{"id":1773},"1053d863-b690-4fbd-aadf-dbf2ba282768",[1775,1776,1779,1782],{"id":12,"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":428,"languages_code":933,"label":1771},[1784],{"id":12,"status":8,"sort":147,"label":1771,"hidden":15,"created_on":944,"icon":1785,"translations":1786},{"id":1773},[1787,1788,1789,1790],{"id":12,"languages_code":925,"label":1771},{"id":1777,"languages_code":927,"label":1778},{"id":1780,"languages_code":930,"label":1781},{"id":428,"languages_code":933,"label":1771},[1792],{"id":147,"status":8,"sort":7,"label":1729,"alternative_label":1729,"slug":1793,"description":1794,"documentation_link":595,"loc_icon":1733,"is_official_plugin":17,"is_universal_plugin":15,"universal_plugin_vendor":7,"translations":1795},"official-plugin","Our developers maintain an official plugin for this integration. Start in a few clicks!",[1796,1797,1800,1801],{"id":147,"languages_code":925,"label":1729,"description":1794,"slug":1793},{"id":142,"languages_code":927,"label":1798,"description":1799,"slug":7},"Plugin Oficial","Nuestros desarrolladores mantienen un plugin oficial para esta integración. ¡Empiece con unos pocos clics!",{"id":132,"languages_code":933,"label":1729,"description":1794,"slug":1793},{"id":332,"languages_code":930,"label":1802,"description":1803,"slug":7},"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":147,"status":8,"sort":7,"label":1729,"alternative_label":1729,"slug":1793,"description":1794,"documentation_link":595,"loc_icon":1733,"is_official_plugin":17,"is_universal_plugin":15,"universal_plugin_vendor":7,"translations":1806},[1807,1808,1809,1810],{"id":147,"languages_code":925,"label":1729,"description":1794,"slug":1793},{"id":142,"languages_code":927,"label":1798,"description":1799,"slug":7},{"id":132,"languages_code":933,"label":1729,"description":1794,"slug":1793},{"id":332,"languages_code":930,"label":1802,"description":1803,"slug":7},[],[1813],{"languages_code":925,"name":545,"slug":544,"description":7,"support_type":1762,"meta_title":7,"meta_description":7,"marketing_subtitle":1763,"tile_subtitle":1764,"tile_description":1765,"id":319,"platforms_id":319,"docs_link":1761},{"id":1815,"owner":1816,"created_by":7,"sort":7,"title":1821,"slug":1822,"modified_on":764,"created_on":1823,"pinned":15,"badge":7,"priority":1824,"main_image":1825,"status":8,"tags":1826,"dictionary":1834,"reading_time":1835,"excerpt":-1,"og_title":764,"og_description":764,"og_image":764},"69d78a237ab1270001eddabf",{"id":1817,"first_name":1818,"last_name":764,"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":319,"created_on":1828,"status":8,"label":655,"slug":659,"on_index_page":15},"2026-06-06 01:58:54",{"id":269,"created_on":1828,"status":8,"label":1830,"slug":1831,"on_index_page":17},"AI","ai",{"id":319,"created_on":1828,"status":8,"label":217,"slug":1833,"on_index_page":17},"localization",[],0,{"id":1837,"owner":1838,"created_by":7,"sort":7,"title":1843,"slug":1844,"modified_on":764,"created_on":1845,"pinned":15,"badge":7,"priority":1824,"main_image":1846,"status":8,"tags":1847,"dictionary":1855,"reading_time":1835,"excerpt":-1,"og_title":764,"og_description":764,"og_image":764},"6a145e3f8550a300014081e4",{"id":1839,"first_name":1840,"last_name":764,"slug":1841,"avatar":1842},"65647a510470910001942876","Dorota Pawlak","dorota-pawlak","https:\u002F\u002Fghost.localazy.com\u002Fcontent\u002Fimages\u002F2024\u002F07\u002Fdorota.png","The great LLM translation war, pt. 2: Context beats model choice in 2026","the-great-llm-translation-war-pt-2-2026","2026-06-05T14:56:58.000+02:00","https:\u002F\u002Fghost.localazy.com\u002Fcontent\u002Fimages\u002F2026\u002F06\u002Flocalazy-AI-series-11.png",[1848,1849,1852],{"id":269,"created_on":1828,"status":8,"label":1830,"slug":1831,"on_index_page":17},{"id":269,"created_on":1828,"status":8,"label":1850,"slug":1851,"on_index_page":15},"ChatGPT","chatgpt",{"id":319,"created_on":1828,"status":8,"label":1853,"slug":1854,"on_index_page":15},"Translations","translations",[],{"post":1857,"relatedPosts":2037,"banner":2093},{"id":1858,"owner":1859,"created_by":7,"sort":7,"title":1864,"slug":1865,"modified_on":1866,"created_on":1867,"pinned":15,"badge":7,"priority":1824,"main_image":1868,"status":8,"tags":1869,"dictionary":1877,"reading_time":101,"excerpt":1959,"og_title":764,"og_description":764,"og_image":764,"content":1960,"meta_title":1961,"meta_description":1962,"canonical":764,"cta":1963,"fullGhostPost":1970},"6989c39563350c0001d634e2",{"id":1860,"first_name":1861,"last_name":764,"slug":1862,"avatar":1863},"6824a22d63350c0001d5a5cb","Kevine Nzapdi","kevine-nzapdi","https:\u002F\u002Fghost.localazy.com\u002Fcontent\u002Fimages\u002F2025\u002F11\u002FKevine.png","React + i18next + Localazy | Part 1: i18n Foundations 🏗️","react-i18next-localazy-tutorial-part-1-i18n-foundations","2026-05-20T13:34:48.000+02:00","2026-04-29T08:35:00.000+02:00","https:\u002F\u002Fghost.localazy.com\u002Fcontent\u002Fimages\u002F2026\u002F04\u002Ftechnical-article-3.png",[1870,1871,1873],{"id":319,"created_on":1828,"status":8,"label":480,"slug":479,"on_index_page":15},{"id":319,"created_on":1828,"status":8,"label":1872,"slug":1872,"on_index_page":17},"i18n",{"id":1874,"created_on":1828,"status":8,"label":1875,"slug":1876,"on_index_page":15},6556628,"Tutorial","tutorial",[1878,1901,1905,1925,1943],{"id":986,"status":8,"owner":1879,"created_on":1880,"title":1881,"excerpt":1882,"content":1883,"slug":1881,"meta_title":7,"meta_description":7,"canonical":7,"related_terms":1884},"2bac48a8-b362-482f-b574-3bc71dca4c5b","2026-05-12T07:09:23.000Z","i18next","i18next is one of the top open-source internationalization frameworks written in and for JavaScript.","i18next is a powerful open-source internationalization (i18n) framework built for JavaScript. It provides a flexible, JSON-based approach to localization, and it works well with modern tech stacks, including popular frameworks like React, Angular, and Node, as well as platforms such as iOS and Ruby on Rails.\n\n[i18next](https:\u002F\u002Fwww.i18next.com\u002F) supports all key i18n features like plurals, context, and interpolation. It offers a flexible and scalable solution for localizing products across web, mobile, and desktop applications.\n\n### Key points about i18next: 🔧\n\n- **It’s versatile.**  i18next supports a wide range of modern tech stacks, making it adaptable for different environments and platforms.\n- **It’s a comprehensive localization solution.** In addition to standard i18n features, i18next offers advanced capabilities for managing translations and content variations.\n- **It’s flexible and extensible.** Its plugin-based system lets you extend functionality to match your needs, whether it’s through adding middleware, loading external translations, or detecting languages.\n- **It works across platforms.** i18next can be used for web, mobile, and desktop applications, providing consistent localization across different platforms.\n- **Supports multiple environments.** It works well with both server-side (Node.js, Express) and client-side (React, Angular) applications, giving you a consistent translation framework for all environments.\n- **It integrates with Localazy.** i18next integrates smoothly with localization platforms like Localazy, enhancing efficiency in managing multilingual software projects.\n\ni18next simplifies the internationalization process, making it easy to build localized experiences that scale across different platforms and audiences. It can be a great addition to your tech stack if you’re looking to localize your products. \n\n**[See the list of available integrations](\u002Fintegrations)**",[1885,1886,1888,1891,1892,1893,1896,1898],{"id":5,"slug":1833},{"id":1887,"slug":514},75,{"id":1889,"slug":1890},79,"internationalization",{"id":1250,"slug":479},{"id":1253,"slug":486},{"id":1894,"slug":1895},156,"next.js",{"id":1679,"slug":1897},"ruby-on-rails",{"id":1899,"slug":1900},78,"rails-i18n",{"id":1250,"status":8,"owner":1879,"created_on":1902,"title":480,"excerpt":1903,"content":1903,"slug":479,"meta_title":764,"meta_description":7,"canonical":7,"related_terms":1904},"2022-03-17T12:22:55.000Z","React is a development kit written in NodeJS. It is used for building frontend components of applications. Notable apps that use React include Facebook and Netflix.\n",[],{"id":1906,"status":8,"owner":1907,"created_on":1908,"title":1909,"excerpt":1910,"content":1911,"slug":1912,"meta_title":764,"meta_description":764,"canonical":764,"related_terms":1913},339,"a5e46ee7-1f50-4f81-ae2d-68a664c76aa2","2025-07-30T18:16:41.000Z","React-Intl","A JavaScript library for managing internationalization in React applications.","React-Intl is a library that helps developers build multilingual user interfaces in projects that use React. It provides a set of components and APIs to format strings, numbers, dates, and messages based on locale data. Instead of manually handling translations or regional formats, developers can rely on react-intl to manage these variations in a consistent way.\n\nIt supports [ICU Message](https:\u002F\u002Flocalazy.com\u002Fdictionary\u002Ficu-message-format \"https:\u002F\u002Flocalazy.com\u002Fdictionary\u002Ficu-message-format\") syntax, which allows dynamic formatting of plural rules, gender options, and variable interpolation in a single string. This makes it easier to manage complex translations inside code.\n\nReact-Intl is part of [FormatJS,](https:\u002F\u002Fformatjs.github.io \"https:\u002F\u002Fformatjs.github.io\") a set of open-source tools built to improve JavaScript internationalization. It works well with translation management platforms and can integrate cleanly into localization workflows.\n\n### ⚛️ What React-Intl can do:\n\n* Format messages using ICU syntax with support for variables and plurals\n* Format dates, times, numbers, and currencies based on the locale\n* Detect and switch between languages in a React app\n* Extract and manage translatable strings from components\n* Keep translations separate from code with external message files\n\n[React-Intl](https:\u002F\u002Fformatjs.github.io\u002Fdocs\u002Freact-intl\u002F \"https:\u002F\u002Fformatjs.github.io\u002Fdocs\u002Freact-intl\u002F\") helps product teams keep translation logic clean and maintainable. With it, you can externalize strings and use locale-aware components, which reduces the risk of hardcoded text and makes apps easier to localize at scale.","react-intl",[1914,1917,1918,1919,1922],{"id":1915,"slug":1916},280,"pluralization",{"id":1250,"slug":479},{"id":1887,"slug":514},{"id":1920,"slug":1921},90,"icu",{"id":1923,"slug":1924},283,"variable",{"id":1926,"status":8,"owner":1907,"created_on":1927,"title":1928,"excerpt":1929,"content":1930,"slug":1931,"meta_title":764,"meta_description":764,"canonical":764,"related_terms":1932},255,"2026-05-12T07:09:24.000Z","ICU Message Format","A localization-friendly syntax that lets developers write dynamic, multilingual messages using placeholders and logic rules.","ICU Message Format is part of the [International Components for Unicode (ICU)](https:\u002F\u002Ficu.unicode.org \"https:\u002F\u002Ficu.unicode.org\") suite. It is widely used in localization to create dynamic, context-aware messages that adapt to grammatical and structural rules across languages. Instead of hardcoding separate strings for each scenario, developers use ICU Message Format to define templates that automatically adjust based on variables such as quantity, gender, or other contextual inputs.\n\nThis system is essential in software localization, where content like notifications, user messages, and UI text often depends on dynamic data. It allows translators to focus on conveying the intended meaning without restructuring sentences manually for every case or language.\n\nFor example, in English, the sentence “You have 1 new message” changes to “You have 5 new messages” depending on the number. In other languages, the change might involve gender-specific words, different sentence structures, or alternate verb conjugations. \n\nICU Message Format enables this by using placeholders and conditional logic, ensuring that messages are grammatically correct and natural-sounding in all supported languages.\n\n### 🧩 Highlights of ICU Message Format:\n\n* Handles pluralization, gender variations, and context-based message structures\n* Uses placeholders to insert dynamic values such as numbers, names, and dates\n* Supports nested messages and conditional formatting for advanced use cases\n* Integrates with localization platforms like Localazy, Phrase, and Transifex\n* Keeps translations consistent and reusable across multiple contexts\n* Reduces the need for multiple translation strings per language\n* Improves translation speed by minimizing structural rework \n\n### 🛠️ **Example:**\n\n```\n\"You have {NUM_MESSAGES, plural, one {# new message} other {# new messages}}.\"\n```","icu-message-format",[1933,1934,1935,1938,1940],{"id":1613,"slug":521},{"id":1920,"slug":1921},{"id":1936,"slug":1937},116,"yaml",{"id":1181,"slug":1939},"placeholder",{"id":1941,"slug":1942},274,"software-localization",{"id":1944,"status":8,"owner":1879,"created_on":1880,"title":1945,"excerpt":1946,"content":1947,"slug":1948,"meta_title":764,"meta_description":764,"canonical":764,"related_terms":1949},117,"Pseudolocalization","A software testing method used for testing software designed for international use.","Pseudolocalization replaces source strings with modified versions that stay readable but mimic the challenges of real languages. These changes often include accented characters, longer text length, right-to-left markers, or special symbols that expose layout and formatting problems early.\n\nThe main purpose is to catch issues when they are still cheap to fix during development. Teams use pseudolocalization to reveal **hardcoded strings, text expansion problems, sentence concatenation issues, broken right-to-left layouts, and character encoding limitations** before real translators ever touch the content.\n\nIn localization workflows, pseudolocalization is often introduced during development sprints so engineers can validate localizability continuously instead of waiting for translation-ready builds.\n\n### 🧪 What pseudolocalization helps test\n\n* Text expansion in buttons, menus, and dialogs\n* Hardcoded strings outside localization files\n* Sentence concatenation that breaks in other languages\n* Unicode and character encoding support\n* Right-to-left layout behavior\n* Layout overflow and broken responsive components\n\n**Example of a pseudo-localized string**\n\n`Account Settings → [!!! Àççôûñţ Šéţţîñĝš !!!]`\n\n### 🛠️ Another practical testing method: pre-translate\n\nAnother approach you can take is to use a [machine translation](\u002Fdictionary\u002Fmachine-translation) engine to pre-translate all of your texts into the target language. This approach will help you further because the modern MT is usually accurate enough to provide closely similar results to the final localized version.\n\n> You can pre-translate in bulk with the Localazy [Additional MT Feature](\u002Fdocs\u002Fgeneral\u002Fadditional-mt-engines#mt-pre-translate).\n\n### ⚠️ What to watch out for\n\nPseudolocalization helps uncover structural UI and engineering issues, but it does not replace real localization testing. It cannot validate tone, cultural fit, grammar, or real user comprehension in the target language.\n\nFor stronger release checks, combine pseudolocalization, MT pre-translation previews, and screenshot review before shipping.","pseudolocalization",[1950,1952,1953,1956],{"id":22,"slug":1951},"translation",{"id":244,"slug":316},{"id":1954,"slug":1955},112,"ocr-optical-character-recognition",{"id":1957,"slug":1958},333,"pre-translation","Learn how to set up React localization with  i18next and Localazy. In this tutorial, we'll configure i18next, create JSON translation files, and wire up a language switcher ready for translation later on.","\u003Cp>React makes it simple to build fast, modern interfaces, but turning a UI into a real multilingual React app takes more than just hard-coded strings. In this guide, we’ll walk through \u003Cstrong>a practical React localization setup using i18next and Localazy\u003C\u002Fstrong> so your app can load translations from JSON files, switch languages at runtime, and keep all locales in sync.\u003C\u002Fp>\u003Ch2 id=\"what-youll-build-in-this-tutorial\">🧱 What you'll build in this tutorial \u003Ca class=\"markdownit-header-anchor\" href=\"#what-youll-build-in-this-tutorial\">🔗\u003C\u002Fa>\u003C\u002Fh2>\u003Cp>We’ll combine \u003Ca href=\"https:\u002F\u002Fwww.i18next.com\u002F\">i18next\u003C\u002Fa> (the translation engine) with \u003Ca href=\"https:\u002F\u002Fwww.npmjs.com\u002Fpackage\u002Freact-i18next\">react-i18next\u003C\u002Fa> (the React bindings) to handle text in the UI. Then plug in Localazy to manage your translation files, upload new keys, and download translated JSON back into your project. This guide is split into two parts:\u003C\u002Fp>\u003Cul>\u003Cli>\u003Cstrong>🏗️ Part 1: Foundations\u003C\u002Fstrong>.\u003Cstrong> \u003C\u002Fstrong>Set up your React project, \u003Ca href=\"https:\u002F\u002Flocalazy.com\u002Fblog\u002Fsetting-up-i18n-in-your-react-app-from-day-one\">configure i18next\u003C\u002Fa>, handle missing translations, and wire up a language switcher.\u003C\u002Fli>\u003Cli>\u003Cstrong>🌎 Part 2: Full translation workflow\u003C\u002Fstrong>. Integrate Localazy, manage the translation workflow, add \u003Ca href=\"https:\u002F\u002Flocalazy.com\u002Fdictionary\u002Fpseudo-locale\">pseudo-locales\u003C\u002Fa> for testing, and use ICU pluralization for dynamic content.\u003C\u002Fli>\u003C\u002Ful>\u003Cp>You’ll build a small, focused example: a \u003Ca href=\"https:\u002F\u002Freact.dev\u002Flearn\u002Fbuild-a-react-app-from-scratch\">React app\u003C\u002Fa> with text rendered via react i18n using \u003Ccode>i18next\u003C\u002Fcode>, a simple language switcher (English and French). We will also have a basic ICU-style plural message (“1 item” vs “5 items”). And finally, a repeatable React localization workflow using Localazy’s upload\u002Fdownload commands. The goal is not a fancy UI, but \u003Cstrong>a solid, realistic foundation you can reuse\u003C\u002Fstrong> in your own projects.\u003C\u002Fp>\u003Cfigure class=\"kg-card kg-image-card\">\u003Cimg src=\"https:\u002F\u002Fghost.localazy.com\u002Fcontent\u002Fimages\u002F2026\u002F04\u002Fscreen-recorder-sun-nov-23-2025-20-48-04.gif\" class=\"kg-image\" alt loading=\"lazy\" width=\"1926\" height=\"1042\">\u003C\u002Ffigure>\u003Ch2 id=\"who-this-guide-is-for\">🧑‍💻 Who this guide is for \u003Ca class=\"markdownit-header-anchor\" href=\"#who-this-guide-is-for\">🔗\u003C\u002Fa>\u003C\u002Fh2>\u003Cp>This guide is for developers who want to translate a React app \u003Cstrong>without manually copying JSON files around\u003C\u002Fstrong>, and for developers who want to use React internationalization patterns that scale. It is also handy fo anyone who wants to \u003Ca href=\"https:\u002F\u002Flocalazy.com\u002Fintegrations\u002Freact\">integrate Localazy with React\u003C\u002Fa> as part of their build and deployment process.\u003C\u002Fp>\u003Cp>You don’t need prior i18n experience, but you should be comfortable with basic React (components, props, hooks), Node.js and yarn, npm or pnpm, and running commands in your terminal.\u003C\u002Fp>\u003Ch2 id=\"requirements\">📋 Requirements \u003Ca class=\"markdownit-header-anchor\" href=\"#requirements\">🔗\u003C\u002Fa>\u003C\u002Fh2>\u003Cp>Before you start, make sure you have:\u003C\u002Fp>\u003Cul>\u003Cli>\u003Ca href=\"https:\u002F\u002Fnodejs.org\u002Fen\">Node.js\u003C\u002Fa> and a package manager (\u003Ca href=\"https:\u002F\u002Fwww.npmjs.com\u002F\">npm\u003C\u002Fa>, \u003Ca href=\"https:\u002F\u002Fpnpm.io\u002F\">pnpm\u003C\u002Fa>, or \u003Ca href=\"https:\u002F\u002Fyarnpkg.com\u002F\">Yarn\u003C\u002Fa>) installed.\u003C\u002Fli>\u003Cli>A recent React toolchain (we’ll use \u003Ca href=\"https:\u002F\u002Fvite.dev\u002F\">Vite\u003C\u002Fa> in this guide).\u003C\u002Fli>\u003Cli>A \u003Ca href=\"https:\u002F\u002Flocalazy.com\u002Fregister\">free Localazy account\u003C\u002Fa> with access to your project’s write\u002Fread keys.\u003C\u002Fli>\u003C\u002Ful>\u003Cp>The steps below walk you through setting up a complete Localazy translation workflow in your React application. Follow along carefully to make sure each piece connects correctly before moving to the next.\u003C\u002Fp>\u003Ch3 id=\"but-first-choose-a-build-tool\">⚡ But first: choose a build tool \u003Ca class=\"markdownit-header-anchor\" href=\"#but-first-choose-a-build-tool\">🔗\u003C\u002Fa>\u003C\u002Fh3>\u003Cp>React can be initialized in different ways depending on your stack: Create React App (CRA), Next.js, Remix, Vite, and others. For this guide, we'll use Vite — it boots faster than CRA (which is now deprecated), has a simpler config, works well with modern ES modules, and keeps the setup minimal so we can focus on localization rather than boilerplate.\u003C\u002Fp>\u003Cblockquote>👉 If you'd like to explore a different i18n library, we also have a guide using \u003Ca href=\"https:\u002F\u002Flocalazy.com\u002Fblog\u002Fhow-to-localise-your-react-app-with-linguijs-and-localazy\">LinguiJS and Localazy\u003C\u002Fa>\u003C\u002Fblockquote>\u003Ch2 id=\"1-step-1-create-the-project\">1️⃣ Step 1: Create the project \u003Ca class=\"markdownit-header-anchor\" href=\"#1-step-1-create-the-project\">🔗\u003C\u002Fa>\u003C\u002Fh2>\u003Cp>Let’s scaffold a new React project using Vite. Run this command in your terminal:\u003C\u002Fp>\u003Cpre>\u003Ccode>yarn create vite react-localized --template react\n\u003C\u002Fcode>\u003C\u002Fpre>\u003Cp>This generates a minimal React project in a folder named \u003Ccode>\u003Cstrong>react-localized\u003C\u002Fstrong>\u003C\u002Fcode> with React + JSX enabled. No extra dependencies, dev server ready.\u003C\u002Fp>\u003Cp>After creation, move into the folder and install packages:\u003C\u002Fp>\u003Cpre>\u003Ccode>cd react-localized\nyarn install\n\u003C\u002Fcode>\u003C\u002Fpre>\u003Cp>Now you can start the dev server:\u003C\u002Fp>\u003Cpre>\u003Ccode>yarn dev\n\u003C\u002Fcode>\u003C\u002Fpre>\u003Cp>You should see Vite’s default React starter running at \u003Ccode>http:\u002F\u002Flocalhost:5173\u003C\u002Fcode>.\u003C\u002Fp>\u003Ch3 id=\"project-structure-overview\">Project structure overview \u003Ca class=\"markdownit-header-anchor\" href=\"#project-structure-overview\">🔗\u003C\u002Fa>\u003C\u002Fh3>\u003Cp>This is the complete structure. We will build it progressively throughout the guide.\u003C\u002Fp>\u003Cpre>\u003Ccode>react-localized\u002F\n├─ public\u002F\n├─ src\u002F\n│  ├─ assets\u002F\n│  │  └─ i18n\u002F\n│  │     ├─ en.json\n│  │     ├─ fr.json\n│  │     ├─ qps.json\n│  │     └─ index.js\n│  ├─ App.jsx\n│  ├─ App.css\n│  ├─ main.jsx\n│  └─ index.css\n├─ .gitignore\n├─ eslint.config.js\n├─ index.html\n├─ localazy.json\n├─ localazy.keys.json\n├─ package.json\n├─ tailwind.config.js\n├─ vite.config.js\n└─ yarn.lock\u003C\u002Fcode>\u003C\u002Fpre>\u003Cp>The most important directory here is \u003Ccode>\u003Cstrong>src\u002Fassets\u002Fi18n\u002F\u003C\u002Fstrong>\u003C\u002Fcode>. This is where all translation files live (\u003Ccode>en.json\u003C\u002Fcode>, \u003Ccode>fr.json\u003C\u002Fcode>, \u003Ccode>qps.json\u003C\u002Fcode>) along with the \u003Ccode>index.js\u003C\u002Fcode> file that initializes i18next. Everything related to localization stays in this folder so translations are easy to manage and version.\u003C\u002Fp>\u003Cp>At the root, \u003Ccode>localazy.json\u003C\u002Fcode> defines how translations are uploaded and downloaded, while \u003Ccode>localazy.keys.json\u003C\u002Fcode> contains your API keys (excluded from version control). The \u003Ccode>vite.config.js\u003C\u002Fcode> and \u003Ccode>tailwind.config.js\u003C\u002Fcode> files ensure the build pipeline and styling work correctly. Finally, \u003Ccode>main.jsx\u003C\u002Fcode> initializes React and imports the i18n config so translations load automatically at startup.\u003C\u002Fp>\u003Cp>Before adding translations, we’ll create a dedicated folder for localization files.\u003C\u002Fp>\u003Ch3 id=\"create-the-lesscodegreateri18nlesscodegreater-folder\">Create the \u003Ccode>i18n\u003C\u002Fcode> folder \u003Ca class=\"markdownit-header-anchor\" href=\"#create-the-lesscodegreateri18nlesscodegreater-folder\">🔗\u003C\u002Fa>\u003C\u002Fh3>\u003Cp>Inside the \u003Ccode>src\u003C\u002Fcode> directory, create a new folder named \u003Ccode>i18n\u003C\u002Fcode>:\u003C\u002Fp>\u003Cpre>\u003Ccode>src\u002Fi18n\u002F\u003C\u002Fcode>\u003C\u002Fpre>\u003Cp>This folder will hold \u003Ccode>\u003Cstrong>en.json\u003C\u002Fstrong>\u003C\u002Fcode> (your source language, which you'll later upload to Localazy), any additional language files downloaded from Localazy, and the \u003Ccode>index.js\u003C\u002Fcode> file where we'll write the i18next config. Nothing goes inside it yet. This step just defines where all localization-related files will live.\u003C\u002Fp>\u003Ch2 id=\"2-step-2-install-dependencies\">2️⃣ Step 2: Install dependencies \u003Ca class=\"markdownit-header-anchor\" href=\"#2-step-2-install-dependencies\">🔗\u003C\u002Fa>\u003C\u002Fh2>\u003Ch3 id=\"install-i18next-and-react-i18next\"> Install i18next and react-i18next \u003Ca class=\"markdownit-header-anchor\" href=\"#install-i18next-and-react-i18next\">🔗\u003C\u002Fa>\u003C\u002Fh3>\u003Cp>You need two translation libraries:\u003Cstrong> i18next\u003C\u002Fstrong>, the translation engine that handles all the i18n heavy lifting, and \u003Cstrong>react-i18next\u003C\u002Fstrong>, which hooks it into React via the \u003Ccode>useTranslation()\u003C\u002Fcode> hook. Install both with:\u003C\u002Fp>\u003Cpre>\u003Ccode>yarn add i18next react-i18next\u003C\u002Fcode>\u003C\u002Fpre>\u003Ch3 id=\"install-localazy-cli\">Install Localazy CLI \u003Ca class=\"markdownit-header-anchor\" href=\"#install-localazy-cli\">🔗\u003C\u002Fa>\u003C\u002Fh3>\u003Cp>Localazy will manage the upload and download workflow for your JSON translation files. Install it as a development dependency so you can run it through \u003Ccode>npx\u003C\u002Fcode> during the build process:\u003C\u002Fp>\u003Cpre>\u003Ccode>npx localazy upload\nnpx localazy download\u003C\u002Fcode>\u003C\u002Fpre>\u003Cp>You will set up the configuration file later, after we create the base translation files.\u003C\u002Fp>\u003Cdiv class=\"kg-card kg-callout-card kg-callout-card-green\">\u003Cdiv class=\"kg-callout-emoji\">💡\u003C\u002Fdiv>\u003Cdiv class=\"kg-callout-text\">\u003Cem>The code samples use Tailwind CSS utility classes, but you can style your components however you prefer. If you'd like to follow along with Tailwind, refer to the \u003Ca href=\"https:\u002F\u002Ftailwindcss.com\u002Fdocs\u002Finstallation\">official setup guide\u003C\u002Fa>.\u003C\u002Fem>\u003C\u002Fdiv>\u003C\u002Fdiv>\u003Ch2 id=\"3-step-3-configure-localazy\">3️⃣ Step 3: Configure Localazy \u003Ca class=\"markdownit-header-anchor\" href=\"#3-step-3-configure-localazy\">🔗\u003C\u002Fa>\u003C\u002Fh2>\u003Cp>Localazy needs a config file at the root of your project to understand the structure, what to upload, where to place translated files, and which features to enable.\u003C\u002Fp>\u003Ch3 id=\"create-the-lesscodegreaterlocalazyjsonlesscodegreater-file\">Create the \u003Ccode>localazy.json\u003C\u002Fcode> file \u003Ca class=\"markdownit-header-anchor\" href=\"#create-the-lesscodegreaterlocalazyjsonlesscodegreater-file\">🔗\u003C\u002Fa>\u003C\u002Fh3>\u003Cp>Localazy needs a config file sitting right in the root of the project — otherwise it has no idea what to upload, where to dump the translated files, or which options you actually want turned on (like ICU features).\u003C\u002Fp>\u003Cp>Create a new file at the project root:\u003C\u002Fp>\u003Cpre>\u003Ccode>localazy.json\u003C\u002Fcode>\u003C\u002Fpre>\u003Cp>Start with a minimal structure:\u003C\u002Fp>\u003Cpre>\u003Ccode class=\"language-JSON\">{\n  \"upload\": {\n    \"type\": \"json\",\n    \"files\": [{}]\n  },\n  \"download\": {\n    \"files\": [{}]\n  }\n}\u003C\u002Fcode>\u003C\u002Fpre>\u003Cp>You will configure upload and download paths in the next steps.\u003C\u002Fp>\u003Ch3 id=\"add-upload-settings\">Add upload settings \u003Ca class=\"markdownit-header-anchor\" href=\"#add-upload-settings\">🔗\u003C\u002Fa>\u003C\u002Fh3>\u003Cp>Since English is our base language and we're storing language files in \u003Ccode>src\u002Fi18n\u003C\u002Fcode>, we'll point Localazy to \u003Ccode>en.json\u003C\u002Fcode>. Update the upload section like this:\u003C\u002Fp>\u003Cpre>\u003Ccode class=\"language-JSON\">{\n  \"upload\": {\n    \"type\": \"json\",\n    \"files\": [\n      {\n        \"pattern\": \"src\u002Fi18n\u002Fen.json\",\n        \"lang\": \"en\",\n        \"path\": \"src\u002Fi18n\"\n      }\n    ]\n  },\n  \"download\": {\n    \"files\": [{}]\n  }\n}\u003C\u002Fcode>\u003C\u002Fpre>\u003Cp>This means that, when you run \u003Ccode>npx localazy upload\u003C\u002Fcode>, Localazy will push \u003Ccode>en.json\u003C\u002Fcode> as the \u003Cstrong>source translation file\u003C\u002Fstrong>.\u003C\u002Fp>\u003Ch3 id=\"add-download-settings\">Add download settings \u003Ca class=\"markdownit-header-anchor\" href=\"#add-download-settings\">🔗\u003C\u002Fa>\u003C\u002Fh3>\u003Cp>Now we need to tell Localazy where to place downloaded translations. Since new locales should appear alongside \u003Ccode>en.json\u003C\u002Fcode>, we'll map each language to a file named after its code (\u003Ccode>\u003Cstrong>fr.json\u003C\u002Fstrong>\u003C\u002Fcode>, \u003Ccode>\u003Cstrong>es.json\u003C\u002Fstrong>\u003C\u002Fcode>).\u003C\u002Fp>\u003Cp>Update the \u003Ccode>download\u003C\u002Fcode> section like this:\u003C\u002Fp>\u003Cpre>\u003Ccode class=\"language-JSON\">{\n  \"upload\": {\n    \"type\": \"json\",\n    \"files\": [\n      {\n        \"pattern\": \"src\u002Fi18n\u002Fen.json\",\n        \"lang\": \"en\",\n        \"path\": \"src\u002Fi18n\"\n      }\n    ]\n  },\n  \"download\": {\n    \"files\": [\n      {\n        \"output\": \"${path}\u002F${lang}.json\"\n      }\n    ]\n  }\n}\n\u003C\u002Fcode>\u003C\u002Fpre>\u003Ch3 id=\"enable-icu-plural-parsing\">Enable ICU plural parsing \u003Ca class=\"markdownit-header-anchor\" href=\"#enable-icu-plural-parsing\">🔗\u003C\u002Fa>\u003C\u002Fh3>\u003Cp>If your translation files include ICU-style plural messages like:\u003C\u002Fp>\u003Cpre>\u003Ccode class=\"language-JSON\">\"{count, plural, one {# item} other {# items}}\"\u003C\u002Fcode>\u003C\u002Fpre>\u003Cp>Localazy needs to know this so it can parse the message correctly and present plural fields properly to translators. Add this to your \u003Ccode>localazy.json\u003C\u002Fcode>:\u003C\u002Fp>\u003Cpre>\u003Ccode>{\n  \"upload\": {\n    \"type\": \"json\",\n    \"features\": [\"plural_icu\"], \u002F\u002F Add this\n    \"files\": [\n      {\n        \"pattern\": \"src\u002Fi18n\u002Fen.json\",\n        \"lang\": \"en\",\n        \"path\": \"src\u002Fi18n\"\n      }\n    ]\n  },\n  \"download\": {\n    \"files\": [\n      {\n        \"output\": \"${path}\u002F${lang}.json\"\n      }\n    ]\n  }\n}\u003C\u002Fcode>\u003C\u002Fpre>\u003Cp>Without this, Localazy treats the plural string as plain text and translators see a raw ICU string instead of structured plural forms, which leads to formatting errors down the line. We'll create our first ICU plural example in the next step when we add keys to en.json. \u003C\u002Fp>\u003Cp>Now that the integration part is ready, we will create the actual translation file that the React app and \u003Ccode>i18next\u003C\u002Fcode> will use.\u003C\u002Fp>\u003Ch2 id=\"4-step-4-add-base-translation-files\">4️⃣ Step 4: Add base translation files \u003Ca class=\"markdownit-header-anchor\" href=\"#4-step-4-add-base-translation-files\">🔗\u003C\u002Fa>\u003C\u002Fh2>\u003Cp>As we mentioned earlier, English will be our base language and you will later pull additional languages from Localazy rather than creating them manually.\u003C\u002Fp>\u003Ch3 id=\"create-the-english-source-file\">Create the English source file \u003Ca class=\"markdownit-header-anchor\" href=\"#create-the-english-source-file\">🔗\u003C\u002Fa>\u003C\u002Fh3>\u003Cp>Create the first translation file:\u003C\u002Fp>\u003Cpre>\u003Ccode>src\u002Fi18n\u002Fen.json\u003C\u002Fcode>\u003C\u002Fpre>\u003Cp>Inside, add a few keys to test basic React i18n behavior:\u003C\u002Fp>\u003Cpre>\u003Ccode class=\"language-JSON\">{\n  \"welcome\": \"Welcome to the React localized app\",\n  \"language\": \"Langue\",\n  \"items\": \"{count, plural, one {# item} other {# items}}\"\n}\u003C\u002Fcode>\u003C\u002Fpre>\u003Cp>\u003Cstrong>This gives us enough content to verify that translations load correctly in React\u003C\u002Fstrong>, that ICU plural formatting works with i18next, and that Localazy parses plural messages correctly after upload.\u003C\u002Fp>\u003Cp>We're not creating any translated files yet. Localazy will generate them automatically once we upload this English file, add translations in the dashboard, and pull them back into the project. When that happens, you'll see new files appear alongside \u003Ccode>en.json\u003C\u002Fcode>, such as \u003Ccode>fr.json\u003C\u002Fcode> for French or \u003Ccode>qps.json\u003C\u002Fcode> for pseudo-localization.\u003C\u002Fp>\u003Ch2 id=\"5-step-5-initialize-i18next-in-react\">5️⃣ Step 5: Initialize i18next in React \u003Ca class=\"markdownit-header-anchor\" href=\"#5-step-5-initialize-i18next-in-react\">🔗\u003C\u002Fa>\u003C\u002Fh2>\u003Cp>With the translation files in place, it's time to wire up i18next and connect it to React.\u003C\u002Fp>\u003Ch3 id=\"create-the-i18n-configuration-file\">Create the i18n configuration file \u003Ca class=\"markdownit-header-anchor\" href=\"#create-the-i18n-configuration-file\">🔗\u003C\u002Fa>\u003C\u002Fh3>\u003Cp>Before React can read translations from \u003Ccode>en.json\u003C\u002Fcode>, we need to configure \u003Ccode>i18next\u003C\u002Fcode> and connect it to React through \u003Ccode>react-i18next\u003C\u002Fcode>. Create a dedicated file inside the i18n folder:\u003C\u002Fp>\u003Cpre>\u003Ccode>src\u002Fi18n\u002Findex.js\u003C\u002Fcode>\u003C\u002Fpre>\u003Cp>Add the initial configuration:\u003C\u002Fp>\u003Cpre>\u003Ccode class=\"language-JavaScript\">import i18n from \"i18next\";\nimport { initReactI18next } from \"react-i18next\";\nimport en from \".\u002Fen.json\";\n\ni18n\n  .use(initReactI18next)\n  .init({\n    resources: {\n      en: { translation: en }\n    },\n    lng: \"en\",\n    fallbackLng: \"en\",\n    interpolation: {\n      escapeValue: false\n    }\n  });\n\nexport default i18n;\u003C\u002Fcode>\u003C\u002Fpre>\u003Cp>This file loads the English translations, registers the React bindings, and sets English as the default and fallback language. We’ll add more languages here once Localazy downloads additional JSON files.\u003C\u002Fp>\u003Ch3 id=\"import-the-i18n-config-in-the-react-entry-file\">Import the i18n config in the React entry file \u003Ca class=\"markdownit-header-anchor\" href=\"#import-the-i18n-config-in-the-react-entry-file\">🔗\u003C\u002Fa>\u003C\u002Fh3>\u003Cp>Now that the i18n configuration exists, we need to make sure it loads before any components render. Open:\u003C\u002Fp>\u003Cpre>\u003Ccode>src\u002Fmain.jsx\u003C\u002Fcode>\u003C\u002Fpre>\u003Cp>Add this in the import section:\u003C\u002Fp>\u003Cpre>\u003Ccode class=\"language-JavaScript\">import \".\u002Fi18n\";\u003C\u002Fcode>\u003C\u002Fpre>\u003Cp>You don’t need to call anything explicitly, since just importing the file initializes \u003Ccode>i18next\u003C\u002Fcode> and attaches the React bindings so that components can use translations.\u003C\u002Fp>\u003Cp>\u003Cstrong>At this point, the app has a working translation system\u003C\u002Fstrong>, even though we’re only loading English. Nothing will change visually yet because we haven't replaced any hard-coded text with translation calls, but the foundation is set.\u003C\u002Fp>\u003Ch3 id=\"use-translations-inside-components\">Use translations inside components \u003Ca class=\"markdownit-header-anchor\" href=\"#use-translations-inside-components\">🔗\u003C\u002Fa>\u003C\u002Fh3>\u003Cp>Now that the \u003Ccode>i18n\u003C\u002Fcode> setup is loaded globally, we can start replacing hardcoded strings in components with real localized text. The \u003Ccode>react-i18next\u003C\u002Fcode> library provides \u003Cstrong>a \u003Ccode>useTranslation()\u003C\u002Fcode> hook \u003C\u002Fstrong>that gives access to the \u003Ccode>t()\u003C\u002Fcode> function, which retrieves values from \u003Ccode>en.json\u003C\u002Fcode>.\u003C\u002Fp>\u003Cp>Open \u003Ccode>src\u002FApp.jsx\u003C\u002Fcode> and update it like this:\u003C\u002Fp>\u003Cpre>\u003Ccode class=\"language-JavaScript\">import { useTranslation } from \"react-i18next\";\n\nfunction App() {\n  const { t } = useTranslation();\n\n  return (\n    &lt;div className=\"p-6\"&gt;\n      &lt;h1&gt;{t(\"welcome\")}&lt;\u002Fh1&gt;\n    &lt;\u002Fdiv&gt;\n  );\n}\n\nexport default App;\u003C\u002Fcode>\u003C\u002Fpre>\u003Cp>The text is now coming from the translation file instead of being typed manually. As you continue adding UI, you’ll replace normal strings with calls like \u003Ccode>t(\"language\")\u003C\u002Fcode> or \u003Ccode>t(\"items\", { count })\u003C\u002Fcode> once pluralization comes into play.\u003C\u002Fp>\u003Cp>This verifies that our React localization setup is actually working before we move on to language switching and syncing translations with Localazy.\u003C\u002Fp>\u003Ch3 id=\"add-a-simple-language-switcher\">Add a simple language switcher \u003Ca class=\"markdownit-header-anchor\" href=\"#add-a-simple-language-switcher\">🔗\u003C\u002Fa>\u003C\u002Fh3>\u003Cp>To make the app multilingual rather than locked to English, we need a way to switch languages at runtime.\u003Cstrong> i18next exposes a \u003Ccode>changeLanguage()\u003C\u002Fcode> method\u003C\u002Fstrong>, which we can call from any React component.\u003C\u002Fp>\u003Cp>For now, we’ll create a very simple toggle just to verify that switching works once additional language files are available.\u003C\u002Fp>\u003Cp>Add this to \u003Cstrong>\u003Ccode>src\u002FApp.jsx\u003C\u002Fcode>\u003C\u002Fstrong>, below the \u003Ccode>useTranslation()\u003C\u002Fcode> hook:\u003C\u002Fp>\u003Cpre>\u003Ccode class=\"language-JavaScript\">&lt;button\n  onClick={() =&gt; i18n.changeLanguage(\"fr\")}\n  className=\"mt-4 bg-amber-600 p-3 rounded-md\"\n&gt;\n  {t(\"languange\")}\n&lt;\u002Fbutton&gt;\u003C\u002Fcode>\u003C\u002Fpre>\u003Cp>Make sure to import i18n at the top:\u003C\u002Fp>\u003Cpre>\u003Ccode class=\"language-JavaScript\">import i18n from \".\u002Fi18n\";\u003C\u002Fcode>\u003C\u002Fpre>\u003Cp>Right now, switching to \u003Ccode>\"fr\"\u003C\u002Fcode> won’t change anything yet because the French file hasn’t been generated. Localazy will handle that later. But wiring the switcher now \u003Cstrong>helps us immediately verify translations once they download\u003C\u002Fstrong>.\u003C\u002Fp>\u003Cp>As the UI grows, you'll replace this button with a \u003Ccode>select\u003C\u002Fcode>, but this minimal setup is enough to confirm the React localization workflow is working.\u003C\u002Fp>\u003Ch2 id=\"whats-next\">➡️ What's next? \u003Ca class=\"markdownit-header-anchor\" href=\"#whats-next\">🔗\u003C\u002Fa>\u003C\u002Fh2>\u003Cp>You've just laid the foundation of your React localization setup: i18next is wired up, English translations are loading, and a language switcher is ready to go. That's the hard part done.\u003C\u002Fp>\u003Cp>In Part 2, we'll bring Localazy fully into the picture. You'll upload your English strings, manage translations in the Localazy dashboard, pull translated JSON files back into the project, add a pseudo-locale for visual QA, and handle ICU plurals for dynamic content. See you there! 👋\u003C\u002Fp>","React + i18next + Localazy, #1: i18n foundations","Set up React localization with i18next and Localazy: configure i18next, create your JSON files, and wire up a language switcher.",{"id":13,"status":8,"created_on":1964,"modified_on":1965,"icon":1966,"header":1967,"description":1968,"button_label":1969,"link":479},"2022-03-17T12:23:03.000Z","2025-04-04T16:30:30.000Z","app","React i18n done right with Localazy","Make your React app international in a few steps! Enjoy improved plural support, placeholder detection, and a variety of CI\u002FCD options — all in the same platform.","See React integration",{"slug":1865,"id":1858,"uuid":1971,"title":1864,"html":1972,"comment_id":1858,"feature_image":1868,"featured":15,"visibility":1973,"email_recipient_filter":1974,"created_at":1975,"updated_at":1866,"published_at":1867,"custom_excerpt":1959,"codeinjection_head":7,"codeinjection_foot":7,"custom_template":7,"canonical_url":7,"authors":1976,"tags":1982,"primary_author":2034,"primary_tag":2035,"url":2036,"excerpt":1959,"reading_time":137,"access":17,"send_email_when_published":15,"og_image":7,"og_title":7,"og_description":7,"twitter_image":7,"twitter_title":7,"twitter_description":7,"meta_title":1961,"meta_description":1962,"email_subject":7,"frontmatter":7,"dictionary":1877,"cta":1963,"plainTags":1869},"611bc331-a72a-4379-ba89-bbef2f311782","\u003Cp>React makes it simple to build fast, modern interfaces, but turning a UI into a real multilingual React app takes more than just hard-coded strings. In this guide, we’ll walk through \u003Cstrong>a practical React localization setup using i18next and Localazy\u003C\u002Fstrong> so your app can load translations from JSON files, switch languages at runtime, and keep all locales in sync.\u003C\u002Fp>\u003Ch2 id=\"%F0%9F%A7%B1-what-youll-build-in-this-tutorial\">🧱 What you'll build in this tutorial\u003C\u002Fh2>\u003Cp>We’ll combine \u003Ca href=\"https:\u002F\u002Fwww.i18next.com\u002F\">i18next\u003C\u002Fa> (the translation engine) with \u003Ca href=\"https:\u002F\u002Fwww.npmjs.com\u002Fpackage\u002Freact-i18next\">react-i18next\u003C\u002Fa> (the React bindings) to handle text in the UI. Then plug in Localazy to manage your translation files, upload new keys, and download translated JSON back into your project. This guide is split into two parts:\u003C\u002Fp>\u003Cul>\u003Cli>\u003Cstrong>🏗️ Part 1: Foundations\u003C\u002Fstrong>.\u003Cstrong> \u003C\u002Fstrong>Set up your React project, \u003Ca href=\"https:\u002F\u002Flocalazy.com\u002Fblog\u002Fsetting-up-i18n-in-your-react-app-from-day-one\">configure i18next\u003C\u002Fa>, handle missing translations, and wire up a language switcher.\u003C\u002Fli>\u003Cli>\u003Cstrong>🌎 Part 2: Full translation workflow\u003C\u002Fstrong>. Integrate Localazy, manage the translation workflow, add \u003Ca href=\"https:\u002F\u002Flocalazy.com\u002Fdictionary\u002Fpseudo-locale\">pseudo-locales\u003C\u002Fa> for testing, and use ICU pluralization for dynamic content.\u003C\u002Fli>\u003C\u002Ful>\u003Cp>You’ll build a small, focused example: a \u003Ca href=\"https:\u002F\u002Freact.dev\u002Flearn\u002Fbuild-a-react-app-from-scratch\">React app\u003C\u002Fa> with text rendered via react i18n using \u003Ccode>i18next\u003C\u002Fcode>, a simple language switcher (English and French). We will also have a basic ICU-style plural message (“1 item” vs “5 items”). And finally, a repeatable React localization workflow using Localazy’s upload\u002Fdownload commands. The goal is not a fancy UI, but \u003Cstrong>a solid, realistic foundation you can reuse\u003C\u002Fstrong> in your own projects.\u003C\u002Fp>\u003Cfigure class=\"kg-card kg-image-card\">\u003Cimg src=\"https:\u002F\u002Fghost.localazy.com\u002Fcontent\u002Fimages\u002F2026\u002F04\u002Fscreen-recorder-sun-nov-23-2025-20-48-04.gif\" class=\"kg-image\" alt loading=\"lazy\" width=\"1926\" height=\"1042\">\u003C\u002Ffigure>\u003Ch2 id=\"%F0%9F%A7%91%E2%80%8D%F0%9F%92%BB-who-this-guide-is-for\">🧑‍💻 Who this guide is for\u003C\u002Fh2>\u003Cp>This guide is for developers who want to translate a React app \u003Cstrong>without manually copying JSON files around\u003C\u002Fstrong>, and for developers who want to use React internationalization patterns that scale. It is also handy fo anyone who wants to \u003Ca href=\"https:\u002F\u002Flocalazy.com\u002Fintegrations\u002Freact\">integrate Localazy with React\u003C\u002Fa> as part of their build and deployment process.\u003C\u002Fp>\u003Cp>You don’t need prior i18n experience, but you should be comfortable with basic React (components, props, hooks), Node.js and yarn, npm or pnpm, and running commands in your terminal.\u003C\u002Fp>\u003Ch2 id=\"%F0%9F%93%8B-requirements\">📋 Requirements\u003C\u002Fh2>\u003Cp>Before you start, make sure you have:\u003C\u002Fp>\u003Cul>\u003Cli>\u003Ca href=\"https:\u002F\u002Fnodejs.org\u002Fen\">Node.js\u003C\u002Fa> and a package manager (\u003Ca href=\"https:\u002F\u002Fwww.npmjs.com\u002F\">npm\u003C\u002Fa>, \u003Ca href=\"https:\u002F\u002Fpnpm.io\u002F\">pnpm\u003C\u002Fa>, or \u003Ca href=\"https:\u002F\u002Fyarnpkg.com\u002F\">Yarn\u003C\u002Fa>) installed.\u003C\u002Fli>\u003Cli>A recent React toolchain (we’ll use \u003Ca href=\"https:\u002F\u002Fvite.dev\u002F\">Vite\u003C\u002Fa> in this guide).\u003C\u002Fli>\u003Cli>A \u003Ca href=\"https:\u002F\u002Flocalazy.com\u002Fregister\">free Localazy account\u003C\u002Fa> with access to your project’s write\u002Fread keys.\u003C\u002Fli>\u003C\u002Ful>\u003Cp>The steps below walk you through setting up a complete Localazy translation workflow in your React application. Follow along carefully to make sure each piece connects correctly before moving to the next.\u003C\u002Fp>\u003Ch3 id=\"%E2%9A%A1-but-first-choose-a-build-tool\">⚡ But first: choose a build tool\u003C\u002Fh3>\u003Cp>React can be initialized in different ways depending on your stack: Create React App (CRA), Next.js, Remix, Vite, and others. For this guide, we'll use Vite — it boots faster than CRA (which is now deprecated), has a simpler config, works well with modern ES modules, and keeps the setup minimal so we can focus on localization rather than boilerplate.\u003C\u002Fp>\u003Cblockquote>👉 If you'd like to explore a different i18n library, we also have a guide using \u003Ca href=\"https:\u002F\u002Flocalazy.com\u002Fblog\u002Fhow-to-localise-your-react-app-with-linguijs-and-localazy\">LinguiJS and Localazy\u003C\u002Fa>\u003C\u002Fblockquote>\u003Ch2 id=\"1%EF%B8%8F%E2%83%A3-step-1-create-the-project\">1️⃣ Step 1: Create the project\u003C\u002Fh2>\u003Cp>Let’s scaffold a new React project using Vite. Run this command in your terminal:\u003C\u002Fp>\u003Cpre>\u003Ccode>yarn create vite react-localized --template react\n\u003C\u002Fcode>\u003C\u002Fpre>\u003Cp>This generates a minimal React project in a folder named \u003Ccode>\u003Cstrong>react-localized\u003C\u002Fstrong>\u003C\u002Fcode> with React + JSX enabled. No extra dependencies, dev server ready.\u003C\u002Fp>\u003Cp>After creation, move into the folder and install packages:\u003C\u002Fp>\u003Cpre>\u003Ccode>cd react-localized\nyarn install\n\u003C\u002Fcode>\u003C\u002Fpre>\u003Cp>Now you can start the dev server:\u003C\u002Fp>\u003Cpre>\u003Ccode>yarn dev\n\u003C\u002Fcode>\u003C\u002Fpre>\u003Cp>You should see Vite’s default React starter running at \u003Ccode>http:\u002F\u002Flocalhost:5173\u003C\u002Fcode>.\u003C\u002Fp>\u003Ch3 id=\"project-structure-overview\">Project structure overview\u003C\u002Fh3>\u003Cp>This is the complete structure. We will build it progressively throughout the guide.\u003C\u002Fp>\u003Cpre>\u003Ccode>react-localized\u002F\n├─ public\u002F\n├─ src\u002F\n│  ├─ assets\u002F\n│  │  └─ i18n\u002F\n│  │     ├─ en.json\n│  │     ├─ fr.json\n│  │     ├─ qps.json\n│  │     └─ index.js\n│  ├─ App.jsx\n│  ├─ App.css\n│  ├─ main.jsx\n│  └─ index.css\n├─ .gitignore\n├─ eslint.config.js\n├─ index.html\n├─ localazy.json\n├─ localazy.keys.json\n├─ package.json\n├─ tailwind.config.js\n├─ vite.config.js\n└─ yarn.lock\u003C\u002Fcode>\u003C\u002Fpre>\u003Cp>The most important directory here is \u003Ccode>\u003Cstrong>src\u002Fassets\u002Fi18n\u002F\u003C\u002Fstrong>\u003C\u002Fcode>. This is where all translation files live (\u003Ccode>en.json\u003C\u002Fcode>, \u003Ccode>fr.json\u003C\u002Fcode>, \u003Ccode>qps.json\u003C\u002Fcode>) along with the \u003Ccode>index.js\u003C\u002Fcode> file that initializes i18next. Everything related to localization stays in this folder so translations are easy to manage and version.\u003C\u002Fp>\u003Cp>At the root, \u003Ccode>localazy.json\u003C\u002Fcode> defines how translations are uploaded and downloaded, while \u003Ccode>localazy.keys.json\u003C\u002Fcode> contains your API keys (excluded from version control). The \u003Ccode>vite.config.js\u003C\u002Fcode> and \u003Ccode>tailwind.config.js\u003C\u002Fcode> files ensure the build pipeline and styling work correctly. Finally, \u003Ccode>main.jsx\u003C\u002Fcode> initializes React and imports the i18n config so translations load automatically at startup.\u003C\u002Fp>\u003Cp>Before adding translations, we’ll create a dedicated folder for localization files.\u003C\u002Fp>\u003Ch3 id=\"create-the-i18n-folder\">Create the \u003Ccode>i18n\u003C\u002Fcode> folder\u003C\u002Fh3>\u003Cp>Inside the \u003Ccode>src\u003C\u002Fcode> directory, create a new folder named \u003Ccode>i18n\u003C\u002Fcode>:\u003C\u002Fp>\u003Cpre>\u003Ccode>src\u002Fi18n\u002F\u003C\u002Fcode>\u003C\u002Fpre>\u003Cp>This folder will hold \u003Ccode>\u003Cstrong>en.json\u003C\u002Fstrong>\u003C\u002Fcode> (your source language, which you'll later upload to Localazy), any additional language files downloaded from Localazy, and the \u003Ccode>index.js\u003C\u002Fcode> file where we'll write the i18next config. Nothing goes inside it yet. This step just defines where all localization-related files will live.\u003C\u002Fp>\u003Ch2 id=\"2%EF%B8%8F%E2%83%A3-step-2-install-dependencies\">2️⃣ Step 2: Install dependencies\u003C\u002Fh2>\u003Ch3 id=\"install-i18next-and-react-i18next\"> Install i18next and react-i18next\u003C\u002Fh3>\u003Cp>You need two translation libraries:\u003Cstrong> i18next\u003C\u002Fstrong>, the translation engine that handles all the i18n heavy lifting, and \u003Cstrong>react-i18next\u003C\u002Fstrong>, which hooks it into React via the \u003Ccode>useTranslation()\u003C\u002Fcode> hook. Install both with:\u003C\u002Fp>\u003Cpre>\u003Ccode>yarn add i18next react-i18next\u003C\u002Fcode>\u003C\u002Fpre>\u003Ch3 id=\"install-localazy-cli\">Install Localazy CLI\u003C\u002Fh3>\u003Cp>Localazy will manage the upload and download workflow for your JSON translation files. Install it as a development dependency so you can run it through \u003Ccode>npx\u003C\u002Fcode> during the build process:\u003C\u002Fp>\u003Cpre>\u003Ccode>npx localazy upload\nnpx localazy download\u003C\u002Fcode>\u003C\u002Fpre>\u003Cp>You will set up the configuration file later, after we create the base translation files.\u003C\u002Fp>\u003Cdiv class=\"kg-card kg-callout-card kg-callout-card-green\">\u003Cdiv class=\"kg-callout-emoji\">💡\u003C\u002Fdiv>\u003Cdiv class=\"kg-callout-text\">\u003Cem>The code samples use Tailwind CSS utility classes, but you can style your components however you prefer. If you'd like to follow along with Tailwind, refer to the \u003Ca href=\"https:\u002F\u002Ftailwindcss.com\u002Fdocs\u002Finstallation\">official setup guide\u003C\u002Fa>.\u003C\u002Fem>\u003C\u002Fdiv>\u003C\u002Fdiv>\u003Ch2 id=\"3%EF%B8%8F%E2%83%A3-step-3-configure-localazy\">3️⃣ Step 3: Configure Localazy\u003C\u002Fh2>\u003Cp>Localazy needs a config file at the root of your project to understand the structure, what to upload, where to place translated files, and which features to enable.\u003C\u002Fp>\u003Ch3 id=\"create-the-localazyjson-file\">Create the \u003Ccode>localazy.json\u003C\u002Fcode> file\u003C\u002Fh3>\u003Cp>Localazy needs a config file sitting right in the root of the project — otherwise it has no idea what to upload, where to dump the translated files, or which options you actually want turned on (like ICU features).\u003C\u002Fp>\u003Cp>Create a new file at the project root:\u003C\u002Fp>\u003Cpre>\u003Ccode>localazy.json\u003C\u002Fcode>\u003C\u002Fpre>\u003Cp>Start with a minimal structure:\u003C\u002Fp>\u003Cpre>\u003Ccode class=\"language-JSON\">{\n  \"upload\": {\n    \"type\": \"json\",\n    \"files\": [{}]\n  },\n  \"download\": {\n    \"files\": [{}]\n  }\n}\u003C\u002Fcode>\u003C\u002Fpre>\u003Cp>You will configure upload and download paths in the next steps.\u003C\u002Fp>\u003Ch3 id=\"add-upload-settings\">Add upload settings\u003C\u002Fh3>\u003Cp>Since English is our base language and we're storing language files in \u003Ccode>src\u002Fi18n\u003C\u002Fcode>, we'll point Localazy to \u003Ccode>en.json\u003C\u002Fcode>. Update the upload section like this:\u003C\u002Fp>\u003Cpre>\u003Ccode class=\"language-JSON\">{\n  \"upload\": {\n    \"type\": \"json\",\n    \"files\": [\n      {\n        \"pattern\": \"src\u002Fi18n\u002Fen.json\",\n        \"lang\": \"en\",\n        \"path\": \"src\u002Fi18n\"\n      }\n    ]\n  },\n  \"download\": {\n    \"files\": [{}]\n  }\n}\u003C\u002Fcode>\u003C\u002Fpre>\u003Cp>This means that, when you run \u003Ccode>npx localazy upload\u003C\u002Fcode>, Localazy will push \u003Ccode>en.json\u003C\u002Fcode> as the \u003Cstrong>source translation file\u003C\u002Fstrong>.\u003C\u002Fp>\u003Ch3 id=\"add-download-settings\">Add download settings\u003C\u002Fh3>\u003Cp>Now we need to tell Localazy where to place downloaded translations. Since new locales should appear alongside \u003Ccode>en.json\u003C\u002Fcode>, we'll map each language to a file named after its code (\u003Ccode>\u003Cstrong>fr.json\u003C\u002Fstrong>\u003C\u002Fcode>, \u003Ccode>\u003Cstrong>es.json\u003C\u002Fstrong>\u003C\u002Fcode>).\u003C\u002Fp>\u003Cp>Update the \u003Ccode>download\u003C\u002Fcode> section like this:\u003C\u002Fp>\u003Cpre>\u003Ccode class=\"language-JSON\">{\n  \"upload\": {\n    \"type\": \"json\",\n    \"files\": [\n      {\n        \"pattern\": \"src\u002Fi18n\u002Fen.json\",\n        \"lang\": \"en\",\n        \"path\": \"src\u002Fi18n\"\n      }\n    ]\n  },\n  \"download\": {\n    \"files\": [\n      {\n        \"output\": \"${path}\u002F${lang}.json\"\n      }\n    ]\n  }\n}\n\u003C\u002Fcode>\u003C\u002Fpre>\u003Ch3 id=\"enable-icu-plural-parsing\">Enable ICU plural parsing\u003C\u002Fh3>\u003Cp>If your translation files include ICU-style plural messages like:\u003C\u002Fp>\u003Cpre>\u003Ccode class=\"language-JSON\">\"{count, plural, one {# item} other {# items}}\"\u003C\u002Fcode>\u003C\u002Fpre>\u003Cp>Localazy needs to know this so it can parse the message correctly and present plural fields properly to translators. Add this to your \u003Ccode>localazy.json\u003C\u002Fcode>:\u003C\u002Fp>\u003Cpre>\u003Ccode>{\n  \"upload\": {\n    \"type\": \"json\",\n    \"features\": [\"plural_icu\"], \u002F\u002F Add this\n    \"files\": [\n      {\n        \"pattern\": \"src\u002Fi18n\u002Fen.json\",\n        \"lang\": \"en\",\n        \"path\": \"src\u002Fi18n\"\n      }\n    ]\n  },\n  \"download\": {\n    \"files\": [\n      {\n        \"output\": \"${path}\u002F${lang}.json\"\n      }\n    ]\n  }\n}\u003C\u002Fcode>\u003C\u002Fpre>\u003Cp>Without this, Localazy treats the plural string as plain text and translators see a raw ICU string instead of structured plural forms, which leads to formatting errors down the line. We'll create our first ICU plural example in the next step when we add keys to en.json. \u003C\u002Fp>\u003Cp>Now that the integration part is ready, we will create the actual translation file that the React app and \u003Ccode>i18next\u003C\u002Fcode> will use.\u003C\u002Fp>\u003Ch2 id=\"4%EF%B8%8F%E2%83%A3-step-4-add-base-translation-files\">4️⃣ Step 4: Add base translation files\u003C\u002Fh2>\u003Cp>As we mentioned earlier, English will be our base language and you will later pull additional languages from Localazy rather than creating them manually.\u003C\u002Fp>\u003Ch3 id=\"create-the-english-source-file\">Create the English source file\u003C\u002Fh3>\u003Cp>Create the first translation file:\u003C\u002Fp>\u003Cpre>\u003Ccode>src\u002Fi18n\u002Fen.json\u003C\u002Fcode>\u003C\u002Fpre>\u003Cp>Inside, add a few keys to test basic React i18n behavior:\u003C\u002Fp>\u003Cpre>\u003Ccode class=\"language-JSON\">{\n  \"welcome\": \"Welcome to the React localized app\",\n  \"language\": \"Langue\",\n  \"items\": \"{count, plural, one {# item} other {# items}}\"\n}\u003C\u002Fcode>\u003C\u002Fpre>\u003Cp>\u003Cstrong>This gives us enough content to verify that translations load correctly in React\u003C\u002Fstrong>, that ICU plural formatting works with i18next, and that Localazy parses plural messages correctly after upload.\u003C\u002Fp>\u003Cp>We're not creating any translated files yet. Localazy will generate them automatically once we upload this English file, add translations in the dashboard, and pull them back into the project. When that happens, you'll see new files appear alongside \u003Ccode>en.json\u003C\u002Fcode>, such as \u003Ccode>fr.json\u003C\u002Fcode> for French or \u003Ccode>qps.json\u003C\u002Fcode> for pseudo-localization.\u003C\u002Fp>\u003Ch2 id=\"5%EF%B8%8F%E2%83%A3-step-5-initialize-i18next-in-react\">5️⃣ Step 5: Initialize i18next in React\u003C\u002Fh2>\u003Cp>With the translation files in place, it's time to wire up i18next and connect it to React.\u003C\u002Fp>\u003Ch3 id=\"create-the-i18n-configuration-file\">Create the i18n configuration file\u003C\u002Fh3>\u003Cp>Before React can read translations from \u003Ccode>en.json\u003C\u002Fcode>, we need to configure \u003Ccode>i18next\u003C\u002Fcode> and connect it to React through \u003Ccode>react-i18next\u003C\u002Fcode>. Create a dedicated file inside the i18n folder:\u003C\u002Fp>\u003Cpre>\u003Ccode>src\u002Fi18n\u002Findex.js\u003C\u002Fcode>\u003C\u002Fpre>\u003Cp>Add the initial configuration:\u003C\u002Fp>\u003Cpre>\u003Ccode class=\"language-JavaScript\">import i18n from \"i18next\";\nimport { initReactI18next } from \"react-i18next\";\nimport en from \".\u002Fen.json\";\n\ni18n\n  .use(initReactI18next)\n  .init({\n    resources: {\n      en: { translation: en }\n    },\n    lng: \"en\",\n    fallbackLng: \"en\",\n    interpolation: {\n      escapeValue: false\n    }\n  });\n\nexport default i18n;\u003C\u002Fcode>\u003C\u002Fpre>\u003Cp>This file loads the English translations, registers the React bindings, and sets English as the default and fallback language. We’ll add more languages here once Localazy downloads additional JSON files.\u003C\u002Fp>\u003Ch3 id=\"import-the-i18n-config-in-the-react-entry-file\">Import the i18n config in the React entry file\u003C\u002Fh3>\u003Cp>Now that the i18n configuration exists, we need to make sure it loads before any components render. Open:\u003C\u002Fp>\u003Cpre>\u003Ccode>src\u002Fmain.jsx\u003C\u002Fcode>\u003C\u002Fpre>\u003Cp>Add this in the import section:\u003C\u002Fp>\u003Cpre>\u003Ccode class=\"language-JavaScript\">import \".\u002Fi18n\";\u003C\u002Fcode>\u003C\u002Fpre>\u003Cp>You don’t need to call anything explicitly, since just importing the file initializes \u003Ccode>i18next\u003C\u002Fcode> and attaches the React bindings so that components can use translations.\u003C\u002Fp>\u003Cp>\u003Cstrong>At this point, the app has a working translation system\u003C\u002Fstrong>, even though we’re only loading English. Nothing will change visually yet because we haven't replaced any hard-coded text with translation calls, but the foundation is set.\u003C\u002Fp>\u003Ch3 id=\"use-translations-inside-components\">Use translations inside components\u003C\u002Fh3>\u003Cp>Now that the \u003Ccode>i18n\u003C\u002Fcode> setup is loaded globally, we can start replacing hardcoded strings in components with real localized text. The \u003Ccode>react-i18next\u003C\u002Fcode> library provides \u003Cstrong>a \u003Ccode>useTranslation()\u003C\u002Fcode> hook \u003C\u002Fstrong>that gives access to the \u003Ccode>t()\u003C\u002Fcode> function, which retrieves values from \u003Ccode>en.json\u003C\u002Fcode>.\u003C\u002Fp>\u003Cp>Open \u003Ccode>src\u002FApp.jsx\u003C\u002Fcode> and update it like this:\u003C\u002Fp>\u003Cpre>\u003Ccode class=\"language-JavaScript\">import { useTranslation } from \"react-i18next\";\n\nfunction App() {\n  const { t } = useTranslation();\n\n  return (\n    &lt;div className=\"p-6\"&gt;\n      &lt;h1&gt;{t(\"welcome\")}&lt;\u002Fh1&gt;\n    &lt;\u002Fdiv&gt;\n  );\n}\n\nexport default App;\u003C\u002Fcode>\u003C\u002Fpre>\u003Cp>The text is now coming from the translation file instead of being typed manually. As you continue adding UI, you’ll replace normal strings with calls like \u003Ccode>t(\"language\")\u003C\u002Fcode> or \u003Ccode>t(\"items\", { count })\u003C\u002Fcode> once pluralization comes into play.\u003C\u002Fp>\u003Cp>This verifies that our React localization setup is actually working before we move on to language switching and syncing translations with Localazy.\u003C\u002Fp>\u003Ch3 id=\"add-a-simple-language-switcher\">Add a simple language switcher\u003C\u002Fh3>\u003Cp>To make the app multilingual rather than locked to English, we need a way to switch languages at runtime.\u003Cstrong> i18next exposes a \u003Ccode>changeLanguage()\u003C\u002Fcode> method\u003C\u002Fstrong>, which we can call from any React component.\u003C\u002Fp>\u003Cp>For now, we’ll create a very simple toggle just to verify that switching works once additional language files are available.\u003C\u002Fp>\u003Cp>Add this to \u003Cstrong>\u003Ccode>src\u002FApp.jsx\u003C\u002Fcode>\u003C\u002Fstrong>, below the \u003Ccode>useTranslation()\u003C\u002Fcode> hook:\u003C\u002Fp>\u003Cpre>\u003Ccode class=\"language-JavaScript\">&lt;button\n  onClick={() =&gt; i18n.changeLanguage(\"fr\")}\n  className=\"mt-4 bg-amber-600 p-3 rounded-md\"\n&gt;\n  {t(\"languange\")}\n&lt;\u002Fbutton&gt;\u003C\u002Fcode>\u003C\u002Fpre>\u003Cp>Make sure to import i18n at the top:\u003C\u002Fp>\u003Cpre>\u003Ccode class=\"language-JavaScript\">import i18n from \".\u002Fi18n\";\u003C\u002Fcode>\u003C\u002Fpre>\u003Cp>Right now, switching to \u003Ccode>\"fr\"\u003C\u002Fcode> won’t change anything yet because the French file hasn’t been generated. Localazy will handle that later. But wiring the switcher now \u003Cstrong>helps us immediately verify translations once they download\u003C\u002Fstrong>.\u003C\u002Fp>\u003Cp>As the UI grows, you'll replace this button with a \u003Ccode>select\u003C\u002Fcode>, but this minimal setup is enough to confirm the React localization workflow is working.\u003C\u002Fp>\u003Ch2 id=\"%E2%9E%A1%EF%B8%8F-whats-next\">➡️ What's next?\u003C\u002Fh2>\u003Cp>You've just laid the foundation of your React localization setup: i18next is wired up, English translations are loading, and a language switcher is ready to go. That's the hard part done.\u003C\u002Fp>\u003Cp>In Part 2, we'll bring Localazy fully into the picture. You'll upload your English strings, manage translations in the Localazy dashboard, pull translated JSON files back into the project, add a pseudo-locale for visual QA, and handle ICU plurals for dynamic content. See you there! 👋\u003C\u002Fp>","public","none","2026-02-09T12:23:01.000+01:00",[1977],{"id":1860,"name":1861,"slug":1862,"profile_image":1863,"cover_image":7,"bio":1978,"website":1979,"location":1980,"facebook":7,"twitter":7,"meta_title":7,"meta_description":7,"url":1981},"Curious technical writer who loves turning complex tools into clear, helpful documentation for developers.","https:\u002F\u002Fwww.linkedin.com\u002Fin\u002Fkevine-nzapdi\u002F","Yaoundé, Cameroon","https:\u002F\u002Fghost.localazy.com\u002Fauthor\u002Fkevine-nzapdi\u002F",[1983,1986,1989,1992,1997,2002,2008,2013,2018,2024,2029],{"id":1984,"name":480,"slug":479,"description":480,"feature_image":7,"visibility":1973,"og_image":7,"og_title":7,"og_description":7,"twitter_image":7,"twitter_title":7,"twitter_description":7,"meta_title":7,"meta_description":7,"codeinjection_head":7,"codeinjection_foot":7,"canonical_url":7,"accent_color":7,"url":1985},"60a37fc7cf7b6a0001d1f0fc","https:\u002F\u002Fghost.localazy.com\u002Ftag\u002Freact\u002F",{"id":1987,"name":1872,"slug":1872,"description":7,"feature_image":7,"visibility":1973,"og_image":7,"og_title":7,"og_description":7,"twitter_image":7,"twitter_title":7,"twitter_description":7,"meta_title":7,"meta_description":7,"codeinjection_head":7,"codeinjection_foot":7,"canonical_url":7,"accent_color":7,"url":1988},"60f567ab6f8ebe0001bd80ec","https:\u002F\u002Fghost.localazy.com\u002Ftag\u002Fi18n\u002F",{"id":1990,"name":1875,"slug":1876,"description":7,"feature_image":7,"visibility":1973,"og_image":7,"og_title":7,"og_description":7,"twitter_image":7,"twitter_title":7,"twitter_description":7,"meta_title":7,"meta_description":7,"codeinjection_head":7,"codeinjection_foot":7,"canonical_url":7,"accent_color":7,"url":1991},"6556628a0470910001941ffe","https:\u002F\u002Fghost.localazy.com\u002Ftag\u002Ftutorial\u002F",{"id":1993,"name":1994,"slug":1995,"description":1882,"feature_image":7,"visibility":1973,"og_image":7,"og_title":7,"og_description":7,"twitter_image":7,"twitter_title":7,"twitter_description":7,"meta_title":7,"meta_description":7,"codeinjection_head":7,"codeinjection_foot":7,"canonical_url":7,"accent_color":7,"url":1996},"60a37fc7cf7b6a0001d1f175","[DICT] i18next","term-88","https:\u002F\u002Fghost.localazy.com\u002Ftag\u002Fterm-88\u002F",{"id":1998,"name":1999,"slug":2000,"description":7,"feature_image":7,"visibility":1973,"og_image":7,"og_title":7,"og_description":7,"twitter_image":7,"twitter_title":7,"twitter_description":7,"meta_title":7,"meta_description":7,"codeinjection_head":7,"codeinjection_foot":7,"canonical_url":7,"accent_color":7,"url":2001},"60fffb486f8ebe0001bd8ddd","[COMSHARE]","comshare","https:\u002F\u002Fghost.localazy.com\u002Ftag\u002Fcomshare\u002F",{"id":2003,"name":2004,"slug":2005,"description":2006,"feature_image":7,"visibility":1973,"og_image":7,"og_title":7,"og_description":7,"twitter_image":7,"twitter_title":7,"twitter_description":7,"meta_title":7,"meta_description":7,"codeinjection_head":7,"codeinjection_foot":7,"canonical_url":7,"accent_color":7,"url":2007},"60a37fc7cf7b6a0001d1f113","[CTA] React i18n done right with Localazy","cta-5","Go ahead and make your React app international in a few steps. Rich shared translations memory is waiting to be used in minutes from now.","https:\u002F\u002Fghost.localazy.com\u002Ftag\u002Fcta-5\u002F",{"id":2009,"name":2010,"slug":2011,"description":1903,"feature_image":7,"visibility":1973,"og_image":7,"og_title":7,"og_description":7,"twitter_image":7,"twitter_title":7,"twitter_description":7,"meta_title":7,"meta_description":7,"codeinjection_head":7,"codeinjection_foot":7,"canonical_url":7,"accent_color":7,"url":2012},"60a37fc7cf7b6a0001d1f161","[DICT] React","term-68","https:\u002F\u002Fghost.localazy.com\u002Ftag\u002Fterm-68\u002F",{"id":2014,"name":2015,"slug":2016,"description":1910,"feature_image":7,"visibility":1973,"og_image":7,"og_title":7,"og_description":7,"twitter_image":7,"twitter_title":7,"twitter_description":7,"meta_title":7,"meta_description":7,"codeinjection_head":7,"codeinjection_foot":7,"canonical_url":7,"accent_color":7,"url":2017},"688a618963350c0001d5d641","[DICT] React-Intl","term-339","https:\u002F\u002Fghost.localazy.com\u002Ftag\u002Fterm-339\u002F",{"id":2019,"name":2020,"slug":2021,"description":2022,"feature_image":7,"visibility":1973,"og_image":7,"og_title":7,"og_description":7,"twitter_image":7,"twitter_title":7,"twitter_description":7,"meta_title":7,"meta_description":7,"codeinjection_head":7,"codeinjection_foot":7,"canonical_url":7,"accent_color":7,"url":2023},"6983306c63350c0001d634cf","[AD] Localazy AI","ad-28","https:\u002F\u002Flocalazy.com\u002Ffeatures\u002Flocalazy-ai","https:\u002F\u002Fghost.localazy.com\u002Ftag\u002Fad-28\u002F",{"id":2025,"name":2026,"slug":2027,"description":1929,"feature_image":7,"visibility":1973,"og_image":7,"og_title":7,"og_description":7,"twitter_image":7,"twitter_title":7,"twitter_description":7,"meta_title":7,"meta_description":7,"codeinjection_head":7,"codeinjection_foot":7,"canonical_url":7,"accent_color":7,"url":2028},"67f7fb3563350c0001d58fee","[DICT] ICU Message Format","term-255","https:\u002F\u002Fghost.localazy.com\u002Ftag\u002Fterm-255\u002F",{"id":2030,"name":2031,"slug":2032,"description":1946,"feature_image":7,"visibility":1973,"og_image":7,"og_title":7,"og_description":7,"twitter_image":7,"twitter_title":7,"twitter_description":7,"meta_title":7,"meta_description":7,"codeinjection_head":7,"codeinjection_foot":7,"canonical_url":7,"accent_color":7,"url":2033},"62160600df4bcb00010be354","[DICT] Pseudolocalization","term-117","https:\u002F\u002Fghost.localazy.com\u002Ftag\u002Fterm-117\u002F",{"id":1860,"name":1861,"slug":1862,"profile_image":1863,"cover_image":7,"bio":1978,"website":1979,"location":1980,"facebook":7,"twitter":7,"meta_title":7,"meta_description":7,"url":1981},{"id":1984,"name":480,"slug":479,"description":480,"feature_image":7,"visibility":1973,"og_image":7,"og_title":7,"og_description":7,"twitter_image":7,"twitter_title":7,"twitter_description":7,"meta_title":7,"meta_description":7,"codeinjection_head":7,"codeinjection_foot":7,"canonical_url":7,"accent_color":7,"url":1985},"https:\u002F\u002Fghost.localazy.com\u002Freact-i18next-localazy-tutorial-part-1-i18n-foundations\u002F",[2038,2054,2075],{"id":2039,"owner":2040,"created_by":7,"sort":7,"title":2041,"slug":2042,"modified_on":764,"created_on":2043,"pinned":15,"badge":7,"priority":1824,"main_image":2044,"status":8,"tags":2045,"dictionary":2053,"reading_time":1835,"excerpt":-1,"og_title":764,"og_description":764,"og_image":764},"60a37fc7cf7b6a0001d1f1d1",{"id":1817,"first_name":1818,"last_name":764,"slug":1819,"avatar":1820},"An overview of software localization and i18n tools (2022)","overview-software-localization-i18n-tools-2021","2021-05-02T15:08:51.000+02:00","https:\u002F\u002Fghost.localazy.com\u002Fcontent\u002Fimages\u002F2022\u002F04\u002FSoftware-localization-overview22.png",[2046,2048,2051,2052],{"id":319,"created_on":1828,"status":8,"label":795,"slug":2047,"on_index_page":15},"localazy",{"id":319,"created_on":1828,"status":8,"label":2049,"slug":2050,"on_index_page":15},"Tip","tip",{"id":319,"created_on":1828,"status":8,"label":217,"slug":1833,"on_index_page":17},{"id":319,"created_on":1828,"status":8,"label":1872,"slug":1872,"on_index_page":17},[],{"id":2055,"owner":2056,"created_by":7,"sort":7,"title":2061,"slug":2062,"modified_on":764,"created_on":2063,"pinned":15,"badge":7,"priority":1824,"main_image":2064,"status":8,"tags":2065,"dictionary":2074,"reading_time":1835,"excerpt":-1,"og_title":764,"og_description":764,"og_image":764},"649de936047091000193d3a3",{"id":2057,"first_name":2058,"last_name":764,"slug":2059,"avatar":2060},"619d2332df4bcb00010bc032","Moyinoluwa Adenuga","moyinoluwa-adenuga","https:\u002F\u002Fghost.localazy.com\u002Fcontent\u002Fimages\u002F2023\u002F12\u002Fadenuga.png","How to integrate Localazy into Vercel builds for frontend applications","how-to-integrate-localazy-into-vercel-builds-for-frontend-applications","2023-07-12T11:36:54.000+02:00","https:\u002F\u002Fghost.localazy.com\u002Fcontent\u002Fimages\u002F2023\u002F06\u002FVercel.png",[2066,2069,2072,2073],{"id":269,"created_on":1828,"status":8,"label":2067,"slug":2068,"on_index_page":15},"Vercel","vercel",{"id":319,"created_on":1828,"status":8,"label":2070,"slug":2071,"on_index_page":15},"HowTo","howto",{"id":319,"created_on":1828,"status":8,"label":643,"slug":411,"on_index_page":15},{"id":319,"created_on":1828,"status":8,"label":480,"slug":479,"on_index_page":15},[],{"id":2076,"owner":2077,"created_by":7,"sort":7,"title":2078,"slug":2079,"modified_on":764,"created_on":2080,"pinned":15,"badge":7,"priority":1824,"main_image":2081,"status":8,"tags":2082,"dictionary":2092,"reading_time":1835,"excerpt":-1,"og_title":764,"og_description":764,"og_image":764},"646b7e63047091000193c33b",{"id":2057,"first_name":2058,"last_name":764,"slug":2059,"avatar":2060},"How to localize a NestJS application with nestjs-i18n and Localazy","how-to-localize-a-nestjs-application-with-nestjs-i18n-and-localazy","2023-05-24T14:22:32.000+02:00","https:\u002F\u002Fghost.localazy.com\u002Fcontent\u002Fimages\u002F2023\u002F05\u002Flocalazy-article-nestj-js-1.png",[2083,2087,2088,2089],{"id":2084,"created_on":1828,"status":8,"label":2085,"slug":2086,"on_index_page":15},646,"NestJS","nestjs",{"id":319,"created_on":1828,"status":8,"label":1872,"slug":1872,"on_index_page":17},{"id":319,"created_on":1828,"status":8,"label":2070,"slug":2071,"on_index_page":15},{"id":319,"created_on":1828,"status":8,"label":2090,"slug":2091,"on_index_page":15},"Automated Localization","automated-localization",[],{"id":127,"sort":7,"created_on":2094,"name":2095,"cta_link":2022,"banner_image":2096},"2026-02-04T11:41:32.000Z","Localazy AI",{"id":2097},"315b6431-8996-4c39-84a4-8f1d896fb618"]