[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"main-navigation":3,"footer-homepage":723,"footer-settings":790,"footer-integrations":903,"blog-post-nav-[USE LATEST FEATURED]":1814,"blog-post-nav-nav":1839,"blog-pluralization-in-software-localization-beginners-guide":1851},[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":1837,"reading_time":1838,"excerpt":-1,"og_title":764,"og_description":764,"og_image":764},"69ea1abb7ab1270001ede902",{"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","You can just build things. But should you? The build vs. buy debate in localization","build-vs-buy-in-localization-you-can-build-things-but-should-you","2026-05-25T08:43:00.000+02:00","0.7","https:\u002F\u002Fghost.localazy.com\u002Fcontent\u002Fimages\u002F2026\u002F05\u002Flocalazy-Vibe-coding.png",[1827,1831,1835],{"id":269,"created_on":1828,"status":8,"label":1829,"slug":1830,"on_index_page":17},"2026-05-29 17:56:17","AI","ai",{"id":1832,"created_on":1828,"status":8,"label":1833,"slug":1834,"on_index_page":15},646,"Business Development","business-development",{"id":319,"created_on":1828,"status":8,"label":217,"slug":1836,"on_index_page":17},"localization",[],0,{"id":1840,"owner":1841,"created_by":7,"sort":7,"title":1842,"slug":1843,"modified_on":764,"created_on":1844,"pinned":15,"badge":7,"priority":1824,"main_image":1845,"status":8,"tags":1846,"dictionary":1850,"reading_time":1838,"excerpt":-1,"og_title":764,"og_description":764,"og_image":764},"69d78a237ab1270001eddabf",{"id":1817,"first_name":1818,"last_name":764,"slug":1819,"avatar":1820},"Translation API: Translate your content on the fly with Localazy AI!","translation-api-translate-your-content-on-the-fly-with-localazy-ai","2026-04-24T09:27:26.000+02:00","https:\u002F\u002Fghost.localazy.com\u002Fcontent\u002Fimages\u002F2026\u002F04\u002FLocalazy-AI-translation-api.png",[1847,1848,1849],{"id":319,"created_on":1828,"status":8,"label":655,"slug":659,"on_index_page":15},{"id":269,"created_on":1828,"status":8,"label":1829,"slug":1830,"on_index_page":17},{"id":319,"created_on":1828,"status":8,"label":217,"slug":1836,"on_index_page":17},[],{"post":1852,"relatedPosts":2105,"banner":2162},{"id":1853,"owner":1854,"created_by":7,"sort":7,"title":1859,"slug":1860,"modified_on":1861,"created_on":1862,"pinned":17,"badge":7,"priority":1824,"main_image":1863,"status":8,"tags":1864,"dictionary":1873,"reading_time":137,"excerpt":1998,"og_title":764,"og_description":764,"og_image":764,"content":1999,"meta_title":764,"meta_description":764,"canonical":764,"cta":2000,"fullGhostPost":2008},"67cec8e634f1ce00011a908c",{"id":1855,"first_name":1856,"last_name":764,"slug":1857,"avatar":1858},"60a37d0bcf7b6a0001d1eca7","Localazy Team","localazy-team","https:\u002F\u002Fghost.localazy.com\u002Fcontent\u002Fimages\u002F2022\u002F11\u002FLogo-Gradient.png","A beginner's guide to pluralization in software localization","pluralization-in-software-localization-beginners-guide","2025-07-28T14:22:27.000+02:00","2025-07-21T08:47:00.000+02:00","https:\u002F\u002Fghost.localazy.com\u002Fcontent\u002Fimages\u002F2025\u002F06\u002FPluralization-2.png",[1865,1867,1870],{"id":319,"created_on":1828,"status":8,"label":1866,"slug":275,"on_index_page":15},"Plurals",{"id":319,"created_on":1828,"status":8,"label":1868,"slug":1869,"on_index_page":17},"DevTips","devtips",{"id":319,"created_on":1828,"status":8,"label":1871,"slug":1872,"on_index_page":15},"Guide","guide",[1874,1890,1909,1917,1934,1939,1954,1961,1976,1983],{"id":1875,"status":8,"owner":1876,"created_on":1877,"title":1878,"excerpt":1879,"content":1880,"slug":1881,"meta_title":764,"meta_description":764,"canonical":764,"related_terms":1882},79,"2bac48a8-b362-482f-b574-3bc71dca4c5b","2026-05-12T07:09:23.000Z","Internationalization (i18n)","The process of making your software localizable.","Internationalization (i18n) is the process of preparing software, digital products, and content so they can be easily adapted for various languages, regions, and cultures without requiring extensive reengineering.\n\nThis foundational step ensures that a product can be efficiently localized to meet the needs of different global markets. To internationalize your software, you need to pay attention to technical requirements. The code structure and design has to be prepared to allow for [localization](https:\u002F\u002Flocalazy.com\u002Fdictionary\u002Flocalization).\n\nIt involves considering various linguistic and cultural factors during the initial design and development phases. This process should start, ideally, in the design phase. For example, you may want to have externalised strings so you can bring your strings to the translation management tool.\n\nEvery business looking to expand their reach and provide User Experiences (UX) across diverse markets needs to consider internationalization and then localization.\n\n## 🌐 Key points about internationalization (i18n): \n\n* Internationalization involves creating flexible and adaptable designs that accommodate various languages, scripts, and cultural norms.\n* By preparing content and software for localization, internationalization simplifies the process of translating and adapting products for specific markets.\n* This process includes using Unicode, supporting different character sets, and ensuring compatibility with various regional formats (dates, currencies, etc.).\n* Investing in internationalization upfront reduces the time and cost associated with localizing products for multiple markets.\n\nBy prioritizing internationalization, companies can create products that are more versatile and ready for global distribution, ensuring they meet the needs of international users effectively.","internationalization",[1883,1884,1886,1888],{"id":5,"slug":1836},{"id":22,"slug":1885},"translation",{"id":13,"slug":1887},"globalization",{"id":101,"slug":1889},"gilt",{"id":986,"status":8,"owner":1876,"created_on":1877,"title":1891,"excerpt":1892,"content":1893,"slug":1891,"meta_title":7,"meta_description":7,"canonical":7,"related_terms":1894},"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)**",[1895,1896,1898,1899,1900,1901,1904,1906],{"id":5,"slug":1836},{"id":1897,"slug":514},75,{"id":1875,"slug":1881},{"id":1250,"slug":479},{"id":1253,"slug":486},{"id":1902,"slug":1903},156,"next.js",{"id":1679,"slug":1905},"ruby-on-rails",{"id":1907,"slug":1908},78,"rails-i18n",{"id":1910,"status":8,"owner":1876,"created_on":1911,"title":495,"excerpt":1912,"content":1913,"slug":494,"meta_title":764,"meta_description":7,"canonical":7,"related_terms":1914},69,"2022-03-17T12:22:55.000Z","Angular is a TypeScript-based open-source platform for building mobile and desktop web applications. ","Angular enables you to build applications that range from simple, single-developer projects to enterprise-level applications.\n\nThe Angular platform consists of:\n- a framework for building scalable web applications that consist of several individual components,\n- an extensive collection of integrated libraries that support the development of application features, including routing, forms management, and client-server communication,\n- a set of tools designed to help you write code, build software, test your work, and update your applications.\n\nGoogle designed Angular as a ground-up rewrite of AngularJS. Angular has been developed and maintained by Google developers since 2016 with help from a community of individuals and corporations. \n\nYou can learn more about Angular on the [official website](https:\u002F\u002Fangular.io\u002F).\n\nRelated links:\n[How to localize Angular app with angular-i18n and Localazy](\u002Fblog\u002Flocalize-angular-app-i18n-l10n-localazy)",[1915],{"id":1916,"slug":507},74,{"id":1918,"status":8,"owner":1876,"created_on":1877,"title":1919,"excerpt":1920,"content":1921,"slug":1922,"meta_title":764,"meta_description":764,"canonical":764,"related_terms":1923},90,"ICU","A robust set of C\u002FC++ and Java libraries designed to support Unicode and globalization features in software applications.","ICU is an [open-source](https:\u002F\u002Fwww.unicode.org\u002Fcopyright.html#License \"https:\u002F\u002Fwww.unicode.org\u002Fcopyright.html#License\") set of libraries that enables consistent behavior across platforms and languages, making it essential for internationalization (i18n) and localization (l10n) tasks. \n\nIt ensures that text, dates, numbers, and other culturally sensitive content are processed and displayed according to locale-specific rules.\n\nOriginally developed by IBM and now maintained by the Unicode Consortium, ICU is widely used in enterprise and open-source applications. Its integration with the [Common Locale Data Repository (CLDR)](https:\u002F\u002Fcldr.unicode.org\u002F) allows it to stay up to date with locale-specific conventions, supporting accurate formatting, sorting, and parsing across hundreds of languages and regions.\n\nThe ICU libraries are especially valuable in modern localization platforms and global software development, where linguistic precision and regional accuracy directly impact user experience. They are widely portable and gives applications the same results on all platforms and between C\u002FC++ and Java software.\n\n### 🛠️ What can ICU do?\n\n* Provides robust code page conversion between Unicode and legacy encodings\n* Enables language-sensitive string comparison with locale-specific collation rules\n* Formats numbers, dates, and currency according to regional conventions\n* Implements Unicode-aware regular expressions for global text processing\n* Handles bidirectional text (e.g., combining Arabic with English) accurately\n* Offers full access to Unicode properties and normalization functions\n* Supports multiple calendar systems and time zone calculations\n* Detects text boundaries for words, sentences, and line breaks\n* Integrates with the CLDR for up-to-date localization data\n\n> *📚 You can read more about ICU in their [official docs](https:\u002F\u002Ficu.unicode.org\u002F).*  ","icu",[1924,1927,1928,1931],{"id":1925,"slug":1926},272,"cldr",{"id":1875,"slug":1881},{"id":1929,"slug":1930},255,"icu-message-format",{"id":1932,"slug":1933},270,"unicode",{"id":269,"status":8,"owner":1876,"created_on":1911,"title":1935,"excerpt":1936,"content":1937,"slug":254,"meta_title":7,"meta_description":7,"canonical":7,"related_terms":1938},"Glossary","The Localazy Glossary is an essential tool for ensuring high-quality translations and providing context for translators. ","Glossary is a dataset of \"hardwired\" translations that ensure consistent use of specific terms in various languages. Nothing is worse in translation than an inconsistent translation. A glossary makes you sure that even huge translation projects across many contributors keep the vocabulary consistent, which improves overall quality but also will decrease learning curve difficulty for new contributors, saving your money at the end of the day. Glossary is essential when technical terms and more complicated language concepts occur.\n\nLearn how to use the Glossary by following our [step-by-step tutorial.](\u002Fdocs\u002Fgeneral\u002Fhow-to-define-your-glossary)",[],{"id":436,"status":8,"owner":1876,"created_on":1877,"title":1940,"excerpt":1941,"content":1942,"slug":1943,"meta_title":764,"meta_description":764,"canonical":764,"related_terms":1944},"QA - Quality Assurance","The process of verifying that a localized product accurately delivers its intended functions to the end-user.","Quality assurance is the process of verifying that a product or service is up to standard and discovering whether it meets customer needs. Through the QA process, documentation is provided and tests are performed to detect differences between the original product being translated and its localized version. Information gleaned from these tests becomes a vital part of verifying that the released localized product can accurately deliver its intended function to the end-user.\n\nQuality assurance and testing are performed before any expensive product development actions are taken to avoid getting unpleasant surprises. To maintain high standards, it is good practice to involve quality assurance at all stages of the translation process by writing a quality plan, setting milestones, and testing.\n\n### 🔍 QA in localization\n\nQuality assurance in localization covers both functional checks and linguistic quality reviews. They make sure localized products are not only technically sound but also clear, consistent, and natural for the end user. Key areas of QA in localization include: \n\n* 🛠️ [**Localization QA**](https:\u002F\u002Flocalazy.com\u002Fdictionary\u002Flocalization-quality-assurance \"https:\u002F\u002Flocalazy.com\u002Fdictionary\u002Flocalization-quality-assurance\") - Focuses on whether the product works as expected after translation. This involves checking layouts, placeholders, character encoding, and ensuring that translated text displays correctly without breaking the interface.\n\n\n* 📝 [**Linguistic QA (LQA)**](https:\u002F\u002Flocalazy.com\u002Fdictionary\u002Flinguistic-quality-assurance) - Evaluates the quality of the translation itself. It verifies that terminology matches the approved glossary, that the style aligns with project guidelines, and that the text is culturally appropriate and easy to read in the target language.\n\nThese two stages complement each other: localization QA is concerned with functionality, while LQA ensures readability and cultural accuracy. Together, they confirm that end users get the same experience in the localized product as in the original.\n\n### ➡️ How Localazy handles QA\n\nSome preventative QA measures for translation and localization in Localazy are:\n\n* Defining a [Glossary of terms](\u002Fdocs\u002Fgeneral\u002Fhow-to-define-your-glossary).\n* Uploading [Context Screenshots](\u002Fdocs\u002Fgeneral\u002Fscreenshots).\n* Appointing [trusted translators and reviewers](\u002Fdocs\u002Fgeneral\u002Fdefining-user-roles).\n* Translation & review interface with built-in checks for placeholders, missing tags, etc.\n\nTogether, these measures give teams a structured way to maintain quality while speeding up localization. By combining automation with human review, Localazy helps ensure that localized products are both accurate and reliable.\n\n> *Learn more about QA checks [in our docs](https:\u002F\u002Flocalazy.com\u002Fdocs\u002Fgeneral\u002Fqa-checks\u002F).*","qa-quality-assurance",[1945,1946,1948,1951],{"id":5,"slug":1836},{"id":428,"slug":1947},"continuous-improvement",{"id":1949,"slug":1950},282,"linguistic-quality-assurance",{"id":1952,"slug":1953},306,"localization-quality-assurance",{"id":1902,"status":8,"owner":1955,"created_on":1956,"title":1957,"excerpt":1958,"content":1959,"slug":1903,"meta_title":7,"meta_description":7,"canonical":7,"related_terms":1960},"562275e3-c1f6-48fa-ae16-dc81789ee6e0","2024-01-25T14:00:08.000Z","Next.js","Next.js is a web development framework for React applications created by Vercel. It is written in JavaScript, TypeScript, and Rust.","[This framework](https:\u002F\u002Fnextjs.org) allows you to create full-stack web applications that include the latest React features.\n\nIt offers:\n- Server and client-side rendering.\n- Dynamic HTML streaming.\n- CSS support.\n- Advanced routing and nested layouts for your UI.\n- Serverless and data fetching functions.",[],{"id":1962,"status":8,"owner":1963,"created_on":1964,"title":1965,"excerpt":1966,"content":1967,"slug":1968,"meta_title":764,"meta_description":764,"canonical":764,"related_terms":1969},281,"a5e46ee7-1f50-4f81-ae2d-68a664c76aa2","2025-03-31T16:23:09.000Z","Vue-i18n ","A plugin for the internationalization of Vue.js applications.","[Vue-i18n](https:\u002F\u002Fkazupon.github.io\u002Fvue-i18n\u002F \"https:\u002F\u002Fkazupon.github.io\u002Fvue-i18n\u002F\") is a powerful internationalization plugin (library used as a plugin) designed specifically for Vue.js applications. It allows developers to easily add multiple languages and manage translations within their projects. The library supports features like pluralization, date and number formatting, and message interpolation.\n\nVue-i18n integrates well with Vue's reactive data model, making it simple to update translations dynamically as users interact with the application. Developers can define translation messages in JSON format, JavaScript objects, or use external files, providing flexibility in managing localization resources. The plugin also supports lazy-loading of translation files, which can improve performance by reducing the initial load time of the application.\n\nThis adaptability makes Vue-i18n a popular choice among developers looking to give their Vue.js applications robust internationalization capabilities. \n\n> *You can read more about using Localazy and Vue-i18n to localize your Vue.js app [here](https:\u002F\u002Flocalazy.com\u002Fblog\u002Fhow-to-localize-vuejs-app-with-vue-i18n-and-localazy \"https:\u002F\u002Flocalazy.com\u002Fblog\u002Fhow-to-localize-vuejs-app-with-vue-i18n-and-localazy\").*","vue-i18n",[1970,1971,1972,1974],{"id":1253,"slug":486},{"id":1897,"slug":514},{"id":1611,"slug":1973},"jqueryi18n-dollari18n",{"id":1975,"slug":537},159,{"id":1253,"status":8,"owner":1876,"created_on":1911,"title":487,"excerpt":1977,"content":1978,"slug":486,"meta_title":764,"meta_description":7,"canonical":7,"related_terms":1979},"Vue.js is an open-source, front-end JavaScript framework for creating web user interfaces.","You can think of Vue.js as an alternative to [Angular](\u002Fdictionary\u002Fangular) or [React](\u002Fdictionary\u002Freact). \n\nVue.js is a [JavaScript](\u002Fdictionary\u002Fjavascript) front-end framework created by Evan You. Evan created Vue.js in 2014 and still leads its development today. Along with the other core team members, he is actively developing its library and adding features to it rapidly through the efforts of many contributors.\n\nVue.js focuses on simplicity, flexibility, and performance. It can also be applied to both desktop and mobile app development, thanks to the HTML extensions and JS base working in tandem with an Electron framework.\n\n**Fun fact:** Vue.js is our favorite framework and is one of the key components in the tech stack of Localazy developers.\n\nLocalazy is fully ready to help you localize your Vue.js projects, with the help of [vue-i18n library](https:\u002F\u002Fgithub.com\u002Fkazupon\u002Fvue-i18n), sponsored by Localazy.\n\n## Related links\n[How to localize Vue.js app with vue-i18n and Localazy](\u002Fblog\u002Fhow-to-localize-vuejs-app-with-vue-i18n-and-localazy)",[1980,1981,1982],{"id":1250,"slug":479},{"id":1910,"slug":494},{"id":1897,"slug":514},{"id":1984,"status":8,"owner":1963,"created_on":1985,"title":1986,"excerpt":1987,"content":1988,"slug":1989,"meta_title":764,"meta_description":764,"canonical":764,"related_terms":1990},283,"2026-05-12T07:09:25.000Z","Variable","A text element that represents a value in programming and localization contexts.","In programming and localization, a variable is a named storage location that holds a value or piece of data. Its value can change during the execution of a program or workflow, which makes it possible to generate dynamic content instead of hardcoding fixed text.\n\nVariables are widely used to represent content that changes based on user actions, system settings, or locale. A variable might store a user name, selected language, product quantity, currency value, date, version number, or interface state.\n\nIn localization workflows, variables make it possible to adapt the same string to different users, languages, and regions without changing the underlying code. For example, a variable can store a user’s preferred locale, which the system then uses to display interface text, dates, and currencies in the correct regional format.\n\nVariables are especially important in translation because they preserve **dynamic content that must stay consistent across all language versions**, such as product names, prices, dates, software versions, or user-specific values. Translators may need to reposition these variables in the sentence to match grammar rules, but the variable itself must remain unchanged.\n\nVariables can represent many data types, including strings, integers, decimals, Booleans, arrays, and complex objects, which makes them useful across UI localization, backend workflows, and formatting logic.\n\n### 🔤 Key characteristics of variables\n\n* Proper naming conventions improve readability and maintainability\n* They are essential in languages such as JavaScript, Python, and C++\n* They support dynamic UI and content generation\n* They can store locale, user, and region-specific values\n* Variables have defined scope, such as local or global access\n* Most languages require declaration rules and supported data types\n\n### 📅 Variables in date and currency localization\n\nVariables frequently hold values that require **locale-aware formatting**, especially dates, times, prices, percentages, and currencies.\n\nThis is a major usability and localization concern because incorrect formatting can confuse users or create serious errors in **date interpretation, financial values, reporting, and data entry flows**.\n\nTeams should:\n\n* use locale-aware formatting libraries such as **Intl API, Luxon, or locale-aware date utilities**\n* avoid hardcoded formats like `MM\u002FDD\u002FYYYY`\n* never manually concatenate currency symbols\n* test with real device locale settings\n* validate edge cases such as timezone, decimal separators, and currency position\n\nLocalazy helps teams preserve variables during translation, preventing translators from accidentally changing dynamic values while still allowing the sentence structure to adapt naturally across languages.\n\n> *See how Localazy helps [protect placeholders, variables, and markup during translation](https:\u002F\u002Flocalazy.com\u002Ffeatures\u002Fcode-and-placeholders\u002F).*","variable",[1991,1993,1995],{"id":291,"slug":1992},"locale",{"id":1181,"slug":1994},"placeholder",{"id":1996,"slug":1997},287,"a-b-testing","Does your app display awkward plurals in different languages? This guide covers best practices for handling pluralization across languages.","\u003Cp>\u003Cstrong>\u003Ca href=\"https:\u002F\u002Flocalazy.com\u002Fdictionary\u002Fpluralization\">Pluralization\u003C\u002Fa> looks easy until you start handling it in code\u003C\u002Fstrong>. For example, English adds an “s” for plurals (e.g., 1 apple, 2 apples), and also has irregular plural forms (e.g., 1 child, 2 children). Other languages, like \u003Ca href=\"https:\u002F\u002Flocalazy.com\u002Fblog\u002F6-challenges-of-localizing-your-app-to-arabic-and-how-to-solve-them\">Arabic\u003C\u002Fa>, have six distinct plural forms, while Polish uses one form for 2-4 units and another for 5 or more.\u003C\u002Fp>\u003Cp>If you miss these nuances, your app will say things like “2 item” or “5 apple”, breaking immersion and making your UI feel unnatural. Worse, \u003Cstrong>hardcoding plural rules creates a maintenance nightmare when expanding to new languages\u003C\u002Fstrong>. \u003C\u002Fp>\u003Cp>This guide outlines the best tactics for tackling pluralization that every beginner should be aware of.\u003C\u002Fp>\u003Ch2 id=\"the-complexities-of-pluralization\">🧮 The complexities of pluralization \u003Ca class=\"markdownit-header-anchor\" href=\"#the-complexities-of-pluralization\">🔗\u003C\u002Fa>\u003C\u002Fh2>\u003Cp>Pluralization goes beyond the basic plural form, like \"one\" versus \"many.\" \u003Cstrong>Languages have \u003Ca href=\"https:\u002F\u002Flocalazy.com\u002Fdocs\u002Fgeneral\u002Ftranslating-plurals\">different plural categories\u003C\u002Fa> (or forms) based on numbers\u003C\u002Fstrong>. For instance, English primarily uses \"one\" (singular) and \"other\" (plural, for anything other than one). \u003C\u002Fp>\u003Cp>However, many other languages have more categories, such as \"zero,\" \"few,\" \"many,\" and \"other.\" Russian, for example, distinguishes between \"one,\" \"few,\" \"many,\" and \"other.\" Arabic has even more intricate rules, including dual forms. Consider the following examples:\u003C\u002Fp>\u003Cul>\u003Cli>\u003Cstrong>🇬🇧 English:\u003C\u002Fstrong> 1 apple, 2 apples, 5 apples, 0 apples.\u003C\u002Fli>\u003Cli>\u003Cstrong>🇷🇺 Russian:\u003C\u002Fstrong> 1 яблоко (yabloko - apple), 2 яблока (yabloka), 5 яблок (yablok), 0 яблок (yablok).\u003C\u002Fli>\u003Cli>\u003Cstrong>🇵🇱 Polish:\u003C\u002Fstrong> 1 jabłko, 2 jabłka, 5 jabłek, 0 jabłek.\u003C\u002Fli>\u003C\u002Ful>\u003Cp>As you can see in the example above, the plural forms and the word endings change. These variations are not incidental; they follow specific grammatical rules within each language.\u003C\u002Fp>\u003Ch2 id=\"dos-and-donts-of-pluralization-management\">✅ Do's and don'ts of pluralization management \u003Ca class=\"markdownit-header-anchor\" href=\"#dos-and-donts-of-pluralization-management\">🔗\u003C\u002Fa>\u003C\u002Fh2>\u003Cp> Here are some best practices to follow:\u003C\u002Fp>\u003Ch3 id=\"1-never-hardcode-pluralization-rules\">1. Never hardcode pluralization rules \u003Ca class=\"markdownit-header-anchor\" href=\"#1-never-hardcode-pluralization-rules\">🔗\u003C\u002Fa>\u003C\u002Fh3>\u003Cp>\u003Ccode>if (count === 1) { return \"1 apple\"; } else { return count + \" apples\"; }\u003C\u002Fcode>\u003C\u002Fp>\u003Cp>Hardcoding pluralization rules like in the example above isn’t recommended because it limits flexibility and makes it difficult to change language rules or even add new ones. \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\">A better approach is to \u003Cstrong>use i18n libraries, like \u003Ca href=\"https:\u002F\u002Fwww.i18next.com\u002F\" rel=\"noopener noreferrer nofollow\">i18next\u003C\u002Fa>, that handle pluralization based on pre-defined language rules.\u003C\u002Fstrong> With i18next, you'll be able to update plural rules and add support for new languages easily.\u003C\u002Fdiv>\u003C\u002Fdiv>\u003Ch3 id=\"2-use-a-consistent-approach\">2. Use a consistent approach \u003Ca class=\"markdownit-header-anchor\" href=\"#2-use-a-consistent-approach\">🔗\u003C\u002Fa>\u003C\u002Fh3>\u003Cp>Consistently \u003Cstrong>use a well-maintained library like the aforementioned \u003Ca href=\"https:\u002F\u002Flocalazy.com\u002Fdictionary\u002Fi18next\" rel=\"noopener noreferrer nofollow\">i18next\u003C\u002Fa> (for JavaScript), vue-i18n (for Vue.js), or Angular's built-in i18n features\u003C\u002Fstrong>. These libraries provide support for different pluralization categories and simplify the implementation process. \u003C\u002Fp>\u003Cdiv class=\"kg-card kg-callout-card kg-callout-card-grey\">\u003Cdiv class=\"kg-callout-emoji\">➕\u003C\u002Fdiv>\u003Cdiv class=\"kg-callout-text\">In addition, \u003Cstrong>use placeholders\u003C\u002Fstrong> like \u003Ccode>count\u003C\u002Fcode>, \u003Ccode>amount\u003C\u002Fcode> and \u003Ccode>date\u003C\u002Fcode> within translation strings to handle numbers and do not concatenate number + string!\u003C\u002Fdiv>\u003C\u002Fdiv>\u003Cp>\u003Cstrong>You can also use the \u003Ca href=\"https:\u002F\u002Flocalazy.com\u002Fdictionary\u002Ficu-message-format\u002F\">ICU Message Format\u003C\u002Fa>\u003C\u002Fstrong> to define pluralization rules within your translation files. This format is widely supported and offers flexibility in handling complex pluralization scenarios.\u003C\u002Fp>\u003Ch3 id=\"3-use-automated-validation-tools\">3. Use automated validation tools \u003Ca class=\"markdownit-header-anchor\" href=\"#3-use-automated-validation-tools\">🔗\u003C\u002Fa>\u003C\u002Fh3>\u003Cp>Use validation tools like \u003Ca href=\"https:\u002F\u002Flocalazy.com\u002Fdictionary\u002Flinguistic-quality-assurance\">Linguistic Quality Assurance (LQA)\u003C\u002Fa>, terminology checkers, or other validation features provided by your preferred localization library or platform to \u003Cstrong>catch pluralization errors early in the development process\u003C\u002Fstrong>.\u003C\u002Fp>\u003Cp>Below are some of the errors you can catch using validation tools:\u003C\u002Fp>\u003Cul>\u003Cli>\u003Cstrong>Missing forms\u003C\u002Fstrong>: The tool can check if all required plural forms are present for each language.\u003C\u002Fli>\u003Cli>\u003Cstrong>Inconsistent pluralization\u003C\u002Fstrong>: The tool can identify instances where different plural forms are used for the same string in the same language.\u003C\u002Fli>\u003Cli>\u003Cstrong>ICU syntax errors\u003C\u002Fstrong>: The tool can validate the syntax of the ICU Message Format used for defining pluralization rules.\u003C\u002Fli>\u003C\u002Ful>\u003Cblockquote>📖 Related read: \u003Ca href=\"https:\u002F\u002Flocalazy.com\u002Fblog\u002Fbeyond-interpolation-multiple-plurals-genders-and-building-lists\u002F\">Beyond interpolation: multiple plurals, genders, and building lists\u003C\u002Fa>\u003C\u002Fblockquote>\u003Ch2 id=\"practical-examples-and-implementation\">👇 Practical examples and implementation \u003Ca class=\"markdownit-header-anchor\" href=\"#practical-examples-and-implementation\">🔗\u003C\u002Fa>\u003C\u002Fh2>\u003Cp>Now that we've covered the best practices for managing pluralization, let's move on to a practical example. We'll demonstrate how to handle pluralization in a Next.js application using the i18next library. \u003C\u002Fp>\u003Cblockquote>🔔 This guide focuses on adding pluralization features to your existing Next.js application. If you're new to Next.js, explore their \u003Ca href=\"https:\u002F\u002Fnextjs.org\u002Flearn-pages-router\u002Fbasics\u002Fcreate-nextjs-app\u002Fsetup\" rel=\"noopener noreferrer nofollow\">official documentation\u003C\u002Fa> to get up and running quickly.\u003C\u002Fblockquote>\u003Col>\u003Cli>First, install the necessary dependencies with the following command:\u003Ccode>npm install i18next react-i18next \u003C\u002Fcode> \u003C\u002Fli>\u003Cli>Next, within the \u003Cstrong>src\u003C\u002Fstrong> directory of your Next.js application, create a \u003Cstrong>components\u003C\u002Fstrong> directory, and inside it, create an i18n.js file with the following snippet:\u003C\u002Fli>\u003C\u002Fol>\u003Cpre>\u003Ccode>\u002F\u002Fsrc\u002Fcomponents\u002Fi18n.js\nimport i18n from \"i18next\";\nimport { initReactI18next } from \"react-i18next\";\nconst resources = {\n  en: {\n    translation: {\n      apples_zero: \"No apples\",\n      apples_one: \"{{count}} apple\",\n      apples_other: \"{{count}} apples\",\n    },\n  },\n  ru: {\n    translation: {\n      apples_zero: \"нет яблок\",\n      apples_one: \"{{count}} яблоко\",\n      apples_few: \"{{count}} яблока\",\n      apples_many: \"{{count}} яблок\",\n    },\n  },\n  pl: {\n    translation: {\n      apples_zero: \"Brak jabłek\",\n      apples_one: \"{{count}} jabłko\",\n      apples_few: \"{{count}} jabłka\",\n      apples_many: \"{{count}} jabłek\",\n    },\n  },\n};\ni18n.use(initReactI18next).init({\n  resources,\n  lng: \"en\", \u002F\u002F default language\n  fallbackLng: \"en\",\n  interpolation: {\n    escapeValue: false,\n  },\n  pluralSeparator: \"_\", \u002F\u002F Important for i18next to distinguish plural forms\n});\nexport default i18n;\u003C\u002Fcode>\u003C\u002Fpre>\u003Cp>The snippet above does the following:\u003C\u002Fp>\u003Cul>\u003Cli>Imports the \u003Ccode>i18n\u003C\u002Fcode> library, which is the major internationalization framework, and also imports \u003Ccode>initReactI18next\u003C\u002Fcode> to help integrate \u003Ccode>i18n\u003C\u002Fcode> with React.\u003C\u002Fli>\u003Cli>Defines translations for English ( \u003Ccode>en\u003C\u002Fcode> ), Russian ( \u003Ccode>ru\u003C\u002Fcode> ), and Polish ( \u003Ccode>pl\u003C\u002Fcode> ) in the resource object.\u003C\u002Fli>\u003Cli>The translation object contains a key ( \u003Ccode>apples\u003C\u002Fcode> ) and its corresponding plural forms: \u003Ccode>zero\u003C\u002Fcode>, \u003Ccode>one\u003C\u002Fcode>, \u003Ccode>few\u003C\u002Fcode>, \u003Ccode>many\u003C\u002Fcode>, and \u003Ccode>other\u003C\u002Fcode>. This structure allows for accurate translation based on the number of apples.\u003C\u002Fli>\u003Cli>The \u003Ccode>i18n\u003C\u002Fcode> instance is initialized using the \u003Ccode>i18n.init()\u003C\u002Fcode> method. This step involves configuring key settings such as the default language (\u003Ccode>lng\u003C\u002Fcode>), fallback language (\u003Ccode>fallbackLng\u003C\u002Fcode>), interpolation options, and the separator used to distinguish plural forms (\u003Ccode>pluralSeparator\u003C\u002Fcode>).\u003C\u002Fli>\u003C\u002Ful>\u003Cp>The \u003Ccode>pluralSeparator\u003C\u002Fcode> option is vital for \u003Ccode>i18next\u003C\u002Fcode> to correctly identify the different plural forms. \u003C\u002Fp>\u003Cp>3. Within the same \u003Cstrong>components\u003C\u002Fstrong> directory, create a new file named \u003Ccode>pluralForms.js\u003C\u002Fcode> and add this code:\u003C\u002Fp>\u003Cpre>\u003Ccode>\u002F\u002Fsrc\u002Fcomponents\u002FpluralForms.js\n\"use client\";\nimport React, { useState } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport i18n from \".\u002FTranslation\";\nconst MyComponent = () =&gt; {\n  const { t } = useTranslation();\n  const [count, setCount] = useState(0);\n  const [language, setLanguage] = useState(\"en\");\n  const handleLanguageChange = (lang) =&gt; {\n    i18n.changeLanguage(lang);\n    setLanguage(lang);\n  };\n  const Translanguages = [\n    { code: \"en\", name: \"English\" },\n    { code: \"ru\", name: \"Russian\" },\n    { code: \"pl\", name: \"Polish\" },\n  ];\n  return (\n    &lt;div className=\"container mx-auto p-4\"&gt;\n      {\u002F* Language Buttons *\u002F}\n      &lt;div className=\"flex justify-center space-x-4\"&gt;\n        {Translanguages.map((lang) =&gt; (\n          &lt;button\n            key={lang.code}\n            onClick={() =&gt; handleLanguageChange(lang.code)}\n            className=\"px-4 py-2 bg-blue-500 text-white rounded-md hover:bg-blue-700 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-blue-500\"\n          &gt;\n            {lang.name}\n          &lt;\u002Fbutton&gt;\n        ))}\n      &lt;\u002Fdiv&gt;\n      {\u002F* Items Counter *\u002F}\n      &lt;div className=\"flex justify-center mt-8\"&gt;\n        &lt;p className=\"text-xl font-bold\"&gt;{t(\"apples\", { count: count })}&lt;\u002Fp&gt;\n      &lt;\u002Fdiv&gt;\n      {\u002F* Add\u002FMinus Buttons *\u002F}\n      &lt;div className=\"flex justify-center mt-4 space-x-2\"&gt;\n        &lt;button\n          onClick={() =&gt; setCount(count + 1)}\n          className=\"px-4 py-2 bg-green-500 text-white rounded-md hover:bg-green-700 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-green-500\"\n        &gt;\n          Add Apple\n        &lt;\u002Fbutton&gt;\n        &lt;button\n          onClick={() =&gt; setCount(count - 1)}\n          disabled={count === 0}\n          className=\"px-4 py-2 bg-red-500 text-white rounded-md hover:bg-red-700 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-red-500\"\n        &gt;\n          Minus Apple\n        &lt;\u002Fbutton&gt;\n      &lt;\u002Fdiv&gt;\n    &lt;\u002Fdiv&gt;\n  );\n};\nexport default MyComponent;\u003C\u002Fcode>\u003C\u002Fpre>\u003Cp>The above snippet does the following :\u003C\u002Fp>\u003Cul>\u003Cli>It imports \u003Ccode>useState\u003C\u002Fcode> modules for managing component state, \u003Ccode>useTranslation\u003C\u002Fcode> for handling translations with \u003Ccode>i18next\u003C\u002Fcode>, and imports the initialized \u003Ccode>i18n\u003C\u002Fcode> instance from the \u003Ccode>i18n.js\u003C\u002Fcode> file.\u003C\u002Fli>\u003Cli>The component provides language selection buttons for English, Russian, and Polish. When a language button is clicked, the \u003Ccode>handleLanguageChange\u003C\u002Fcode> function updates the language state and triggers a language change in the \u003Ccode>i18n\u003C\u002Fcode>instance.\u003C\u002Fli>\u003Cli>Then it renders the current count of apples using the \u003Ccode>t\u003C\u002Fcode> function from \u003Ccode>useTranslation\u003C\u002Fcode> and the \u003Ccode>items\u003C\u002Fcode> key, which is dynamically translated based on the current language and the number of apples.\u003C\u002Fli>\u003C\u002Ful>\u003Cp>4. Now import and render the \u003Ccode>pluralForms\u003C\u002Fcode> component inside the \u003Ccode>page.js\u003C\u002Fcode> file with the below snippet:\u003C\u002Fp>\u003Cpre>\u003Ccode>\n\u002F\u002Fsrc\u002Fapp\u002Fpage.js\nimport React from \"react\";\nimport MyComponent from \"..\u002Fcomponents\u002FpluralForms\";\nfunction page() {\n  return (\n    &lt;div&gt;\n      &lt;MyComponent \u002F&gt;\n    &lt;\u002Fdiv&gt;\n  );\n}\nexport default page;\u003C\u002Fcode>\u003C\u002Fpre>\u003Cp>Upon saving and starting the application, you should see the following in your browser:\u003C\u002Fp>\u003Cfigure class=\"kg-card kg-image-card\">\u003Cimg src=\"https:\u002F\u002Fpaper-attachments.dropboxusercontent.com\u002Fs_6E56B48A1F4E7D80BEFD74A8AC9E6C19FBAA8ACDE393A273007267A31319C77E_1738560190963_ScreenRecording2025-02-03at06.17.19-ezgif.com-video-to-gif-converter.gif\" class=\"kg-image\" alt loading=\"lazy\">\u003C\u002Ffigure>\u003Cp>This example demonstrates how to define plural forms in a translation file and use the \u003Ccode>t\u003C\u002Fcode> function from \u003Ccode>react-i18next\u003C\u002Fcode> to display the correct plural form based on the \u003Ccode>count\u003C\u002Fcode> variable. Also, by defining translations with placeholders for different plural forms, \u003Cstrong>various grammatical structures and edge cases (like zero or large numbers) were handled with ease\u003C\u002Fstrong>. \u003C\u002Fp>\u003Ch2 id=\"how-to-simplify-pluralization-with-localazy\">🪁 How to simplify pluralization with Localazy \u003Ca class=\"markdownit-header-anchor\" href=\"#how-to-simplify-pluralization-with-localazy\">🔗\u003C\u002Fa>\u003C\u002Fh2>\u003Cp>Localazy takes the headache out of \u003Ca href=\"https:\u002F\u002Flocalazy.com\u002Ffeatures\u002Fplurals\">plural localization\u003C\u002Fa> by automatically handling all those tricky language rules. Translators see exactly what plural forms they need to fill in to cover all the cases.\u003C\u002Fp>\u003Cp>Just make sure to define the correct plural form that you are using in your \u003Ca href=\"https:\u002F\u002Flocalazy.com\u002Ffeatures\u002Fcli\">CLI configuration\u003C\u002Fa>. Localazy provides built-in tools and features for managing the translations and their plural forms across all languages.\u003C\u002Fp>\u003Cp>Some of the features that can help with proper plural localization also include:\u003C\u002Fp>\u003Cul>\u003Cli>\u003Cstrong>📝 Context sharing:\u003C\u002Fstrong>  Add context information to your translations and help translators understand the meaning and usage of each string.\u003C\u002Fli>\u003Cli>\u003Cstrong>📖 Translation memory:\u003C\u002Fstrong> Reuse translations across projects, reducing the amount of work required.\u003C\u002Fli>\u003Cli>🎲 \u003Cstrong>Custom plurals definition\u003C\u002Fstrong>: If your i18n library expects something other than standard plurals for a given language, you can adjust the way Localazy handles them. \u003C\u002Fli>\u003C\u002Ful>\u003Cfigure class=\"kg-card kg-image-card\">\u003Cimg src=\"https:\u002F\u002Fghost.localazy.com\u002Fcontent\u002Fimages\u002F2025\u002F07\u002FPlurals-tables.png\" class=\"kg-image\" alt loading=\"lazy\" width=\"1188\" height=\"710\" srcset=\"https:\u002F\u002Fghost.localazy.com\u002Fcontent\u002Fimages\u002Fsize\u002Fw600\u002F2025\u002F07\u002FPlurals-tables.png 600w, https:\u002F\u002Fghost.localazy.com\u002Fcontent\u002Fimages\u002Fsize\u002Fw1000\u002F2025\u002F07\u002FPlurals-tables.png 1000w, https:\u002F\u002Fghost.localazy.com\u002Fcontent\u002Fimages\u002F2025\u002F07\u002FPlurals-tables.png 1188w\" sizes=\"(min-width: 720px) 720px\">\u003C\u002Ffigure>\u003Cp>The benefits of using Localazy when it comes to plurals:\u003C\u002Fp>\u003Cul>\u003Cli>\u003Cstrong>Improved consistency\u003C\u002Fstrong>: Localazy helps you maintain consistent pluralization across all your languages.\u003C\u002Fli>\u003Cli>\u003Cstrong>Reduced errors\u003C\u002Fstrong>: Automated checks help you catch mistakes before they reach your users.\u003C\u002Fli>\u003Cli>\u003Cstrong>Streamlined workflows\u003C\u002Fstrong>: Localazy simplifies the translation process, making it easier for translators to work on your projects.\u003C\u002Fli>\u003C\u002Ful>\u003Ch3 id=\"configure-localazy-to-recognize-variables\">Configure Localazy to recognize variables \u003Ca class=\"markdownit-header-anchor\" href=\"#configure-localazy-to-recognize-variables\">🔗\u003C\u002Fa>\u003C\u002Fh3>\u003Cp>There are \u003Ca href=\"https:\u002F\u002Flocalazy.com\u002Fdocs\u002Fcli\u002Fjson-format#defined-by-suffix\" rel=\"noreferrer nofollow noopener\">different plural variants\u003C\u002Fa> that Localazy supports for the given file format. \u003C\u002Fp>\u003Cp>Below is an example configuration for the \"underscore postfix\" variant:\u003C\u002Fp>\u003Cpre>\u003Ccode>\n\u002F\u002Flocalazy.json\n\n{\n  \"writeKey\": \"YOUR WRITE KEY\",\n  \"readKey\": \"YOUR READ KEY\",\n  \"upload\": {\n    \"files\": \"public\u002Flocales\u002Ftranslations\u002Fplurals.json\",\n    \"type\": \"json\",\n    \"features\": [\"plural_postfix_us\"]\n  },\n}\u003C\u002Fcode>\u003C\u002Fpre>\u003Cp>The \u003Ccode>[\"plural_postfix_us\"]\u003C\u002Fcode> tells Localazy that the translation file uses suffixes to define plural variants. The suffix \u003Ccode>_us\u003C\u002Fcode> indicates that the plural forms follow an underscore pattern. Below is an example of how to set up a plural variant in your React application.\u003C\u002Fp>\u003Cp>First, create a JSON file (e.g., \u003Ccode>plurals.json\u003C\u002Fcode>) in the public folder of your React project. If you are handling pluralization for just English, then define the variants like in the below using \u003Ccode>_one\u003C\u002Fcode> and \u003Ccode>_other\u003C\u002Fcode> suffixes:\u003C\u002Fp>\u003Cpre>\u003Ccode>\n{\n  \"apple_one\": \"1 apple\",\n  \"apple_other\": \"{{count}} apples\"\n}\u003C\u002Fcode>\u003C\u002Fpre>\u003Cp>Next, update the \u003Ccode>localazy.json\u003C\u002Fcode> file to include the \u003Ccode>features\u003C\u002Fcode> option:\u003C\u002Fp>\u003Cpre>\u003Ccode>\n\u002F\u002Flocalazy.json\n{\n  \"writeKey\": \"YOUR_WRITE_KEY\",\n  \"readKey\": \"YOUR_READ_KEY\",\n  \"upload\": {\n    \"files\": \"public\u002Flocales\u002Ftranslations\u002Fplurals.json\",\n    \"type\": \"json\",\n    \"features\": [\"plural_postfix_us\"]\n  },\n  \"download\": {\n    \"files\": \"public\u002Flocales\u002Fios-app\u002F${iosLprojFolder}\u002FLocalizable.strings\"\n  }\n}\n\u003C\u002Fcode>\u003C\u002Fpre>\u003Cp>In the snippet above:\u003C\u002Fp>\u003Cul>\u003Cli>\u003Ccode>\u003Cstrong>files\u003C\u002Fstrong>\u003C\u002Fcode>: Specifies the path to the translation file (public\u002Flocales\u002Ftranslations\u002Fplurals.json).\u003C\u002Fli>\u003Cli>\u003Ccode>\u003Cstrong>features\u003C\u002Fstrong>\u003C\u002Fcode>: Includes plural_postfix_us to handle plural variants with an underscore pattern.\u003C\u002Fli>\u003C\u002Ful>\u003Cp>Lastly, upload the translations with the localazy upload command:\u003C\u002Fp>\u003Cp>\u003Ccode>localazy upload\u003C\u002Fcode>\u003C\u002Fp>\u003Cp>The above command uploads the \u003Ccode>plurals.json\u003C\u002Fcode> file and makes sure that the variants ( \u003Ccode>_one\u003C\u002Fcode>,\u003Ccode>_other\u003C\u002Fcode>) are recognized and processed correctly by Localazy.\u003C\u002Fp>\u003Cp>Later, when you download the translated file, e.g., for the Polish language, the plurals would look like this:\u003C\u002Fp>\u003Cpre>\u003Ccode>\n{\n  \"apple_one\": \"1 jabłko\",\n  \"apple_few\": \"{{count}} jabłka\",\n  \"apple_many\": \"{{count}} jabłek\"\n}\u003C\u002Fcode>\u003C\u002Fpre>\u003Ch2 id=\"next-steps\">➡️ Next steps \u003Ca class=\"markdownit-header-anchor\" href=\"#next-steps\">🔗\u003C\u002Fa>\u003C\u002Fh2>\u003Cp>Implementing these best practices will result in a more consistent and user-friendly experience for your app users, regardless of their language.\u003C\u002Fp>\u003Cp>Explore our \u003Ca href=\"https:\u002F\u002Flocalazy.com\u002Fdocs\" rel=\"noopener noreferrer nofollow\">documentation\u003C\u002Fa> to further simplify your localization process and take your multilingual development to the next level. The integrated machine translation will help you reach new markets faster, and Localazy will serve as a source of truth for your translation, making collaboration with your team and translators much easier.\u003C\u002Fp>",{"id":244,"status":8,"created_on":2001,"modified_on":2002,"icon":2003,"header":2004,"description":2005,"button_label":2006,"link":2007},"2022-03-17T12:23:03.000Z","2026-05-25T10:38:47.000Z","member","Why developers love Localazy 💖","From mobile apps to SaaS platforms. See how product teams handle translations without slowing down development.\n","See case studies","case-study",{"slug":1860,"id":1853,"uuid":2009,"title":1859,"html":2010,"comment_id":1853,"feature_image":1863,"featured":17,"visibility":2011,"email_recipient_filter":2012,"created_at":2013,"updated_at":1861,"published_at":1862,"custom_excerpt":1998,"codeinjection_head":7,"codeinjection_foot":7,"custom_template":7,"canonical_url":7,"authors":2014,"tags":2020,"primary_author":2102,"primary_tag":2103,"url":2104,"excerpt":1998,"reading_time":147,"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":7,"meta_description":7,"email_subject":7,"frontmatter":7,"dictionary":1873,"cta":2000,"plainTags":1864},"ba91944f-2491-4cbc-a900-6477e3a299d3","\u003Cp>\u003Cstrong>\u003Ca href=\"https:\u002F\u002Flocalazy.com\u002Fdictionary\u002Fpluralization\">Pluralization\u003C\u002Fa> looks easy until you start handling it in code\u003C\u002Fstrong>. For example, English adds an “s” for plurals (e.g., 1 apple, 2 apples), and also has irregular plural forms (e.g., 1 child, 2 children). Other languages, like \u003Ca href=\"https:\u002F\u002Flocalazy.com\u002Fblog\u002F6-challenges-of-localizing-your-app-to-arabic-and-how-to-solve-them\">Arabic\u003C\u002Fa>, have six distinct plural forms, while Polish uses one form for 2-4 units and another for 5 or more.\u003C\u002Fp>\u003Cp>If you miss these nuances, your app will say things like “2 item” or “5 apple”, breaking immersion and making your UI feel unnatural. Worse, \u003Cstrong>hardcoding plural rules creates a maintenance nightmare when expanding to new languages\u003C\u002Fstrong>. \u003C\u002Fp>\u003Cp>This guide outlines the best tactics for tackling pluralization that every beginner should be aware of.\u003C\u002Fp>\u003Ch2 id=\"%F0%9F%A7%AE-the-complexities-of-pluralization\">🧮 The complexities of pluralization\u003C\u002Fh2>\u003Cp>Pluralization goes beyond the basic plural form, like \"one\" versus \"many.\" \u003Cstrong>Languages have \u003Ca href=\"https:\u002F\u002Flocalazy.com\u002Fdocs\u002Fgeneral\u002Ftranslating-plurals\">different plural categories\u003C\u002Fa> (or forms) based on numbers\u003C\u002Fstrong>. For instance, English primarily uses \"one\" (singular) and \"other\" (plural, for anything other than one). \u003C\u002Fp>\u003Cp>However, many other languages have more categories, such as \"zero,\" \"few,\" \"many,\" and \"other.\" Russian, for example, distinguishes between \"one,\" \"few,\" \"many,\" and \"other.\" Arabic has even more intricate rules, including dual forms. Consider the following examples:\u003C\u002Fp>\u003Cul>\u003Cli>\u003Cstrong>🇬🇧 English:\u003C\u002Fstrong> 1 apple, 2 apples, 5 apples, 0 apples.\u003C\u002Fli>\u003Cli>\u003Cstrong>🇷🇺 Russian:\u003C\u002Fstrong> 1 яблоко (yabloko - apple), 2 яблока (yabloka), 5 яблок (yablok), 0 яблок (yablok).\u003C\u002Fli>\u003Cli>\u003Cstrong>🇵🇱 Polish:\u003C\u002Fstrong> 1 jabłko, 2 jabłka, 5 jabłek, 0 jabłek.\u003C\u002Fli>\u003C\u002Ful>\u003Cp>As you can see in the example above, the plural forms and the word endings change. These variations are not incidental; they follow specific grammatical rules within each language.\u003C\u002Fp>\u003Ch2 id=\"%E2%9C%85-dos-and-donts-of-pluralization-management\">✅ Do's and don'ts of pluralization management\u003C\u002Fh2>\u003Cp> Here are some best practices to follow:\u003C\u002Fp>\u003Ch3 id=\"1-never-hardcode-pluralization-rules\">1. Never hardcode pluralization rules\u003C\u002Fh3>\u003Cp>\u003Ccode>if (count === 1) { return \"1 apple\"; } else { return count + \" apples\"; }\u003C\u002Fcode>\u003C\u002Fp>\u003Cp>Hardcoding pluralization rules like in the example above isn’t recommended because it limits flexibility and makes it difficult to change language rules or even add new ones. \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\">A better approach is to \u003Cstrong>use i18n libraries, like \u003Ca href=\"https:\u002F\u002Fwww.i18next.com\u002F\" rel=\"noopener noreferrer nofollow\">i18next\u003C\u002Fa>, that handle pluralization based on pre-defined language rules.\u003C\u002Fstrong> With i18next, you'll be able to update plural rules and add support for new languages easily.\u003C\u002Fdiv>\u003C\u002Fdiv>\u003Ch3 id=\"2-use-a-consistent-approach\">2. Use a consistent approach\u003C\u002Fh3>\u003Cp>Consistently \u003Cstrong>use a well-maintained library like the aforementioned \u003Ca href=\"https:\u002F\u002Flocalazy.com\u002Fdictionary\u002Fi18next\" rel=\"noopener noreferrer nofollow\">i18next\u003C\u002Fa> (for JavaScript), vue-i18n (for Vue.js), or Angular's built-in i18n features\u003C\u002Fstrong>. These libraries provide support for different pluralization categories and simplify the implementation process. \u003C\u002Fp>\u003Cdiv class=\"kg-card kg-callout-card kg-callout-card-grey\">\u003Cdiv class=\"kg-callout-emoji\">➕\u003C\u002Fdiv>\u003Cdiv class=\"kg-callout-text\">In addition, \u003Cstrong>use placeholders\u003C\u002Fstrong> like \u003Ccode>count\u003C\u002Fcode>, \u003Ccode>amount\u003C\u002Fcode> and \u003Ccode>date\u003C\u002Fcode> within translation strings to handle numbers and do not concatenate number + string!\u003C\u002Fdiv>\u003C\u002Fdiv>\u003Cp>\u003Cstrong>You can also use the \u003Ca href=\"https:\u002F\u002Flocalazy.com\u002Fdictionary\u002Ficu-message-format\u002F\">ICU Message Format\u003C\u002Fa>\u003C\u002Fstrong> to define pluralization rules within your translation files. This format is widely supported and offers flexibility in handling complex pluralization scenarios.\u003C\u002Fp>\u003Ch3 id=\"3-use-automated-validation-tools\">3. Use automated validation tools\u003C\u002Fh3>\u003Cp>Use validation tools like \u003Ca href=\"https:\u002F\u002Flocalazy.com\u002Fdictionary\u002Flinguistic-quality-assurance\">Linguistic Quality Assurance (LQA)\u003C\u002Fa>, terminology checkers, or other validation features provided by your preferred localization library or platform to \u003Cstrong>catch pluralization errors early in the development process\u003C\u002Fstrong>.\u003C\u002Fp>\u003Cp>Below are some of the errors you can catch using validation tools:\u003C\u002Fp>\u003Cul>\u003Cli>\u003Cstrong>Missing forms\u003C\u002Fstrong>: The tool can check if all required plural forms are present for each language.\u003C\u002Fli>\u003Cli>\u003Cstrong>Inconsistent pluralization\u003C\u002Fstrong>: The tool can identify instances where different plural forms are used for the same string in the same language.\u003C\u002Fli>\u003Cli>\u003Cstrong>ICU syntax errors\u003C\u002Fstrong>: The tool can validate the syntax of the ICU Message Format used for defining pluralization rules.\u003C\u002Fli>\u003C\u002Ful>\u003Cblockquote>📖 Related read: \u003Ca href=\"https:\u002F\u002Flocalazy.com\u002Fblog\u002Fbeyond-interpolation-multiple-plurals-genders-and-building-lists\u002F\">Beyond interpolation: multiple plurals, genders, and building lists\u003C\u002Fa>\u003C\u002Fblockquote>\u003Ch2 id=\"%F0%9F%91%87-practical-examples-and-implementation\">👇 Practical examples and implementation\u003C\u002Fh2>\u003Cp>Now that we've covered the best practices for managing pluralization, let's move on to a practical example. We'll demonstrate how to handle pluralization in a Next.js application using the i18next library. \u003C\u002Fp>\u003Cblockquote>🔔 This guide focuses on adding pluralization features to your existing Next.js application. If you're new to Next.js, explore their \u003Ca href=\"https:\u002F\u002Fnextjs.org\u002Flearn-pages-router\u002Fbasics\u002Fcreate-nextjs-app\u002Fsetup\" rel=\"noopener noreferrer nofollow\">official documentation\u003C\u002Fa> to get up and running quickly.\u003C\u002Fblockquote>\u003Col>\u003Cli>First, install the necessary dependencies with the following command:\u003Ccode>npm install i18next react-i18next \u003C\u002Fcode> \u003C\u002Fli>\u003Cli>Next, within the \u003Cstrong>src\u003C\u002Fstrong> directory of your Next.js application, create a \u003Cstrong>components\u003C\u002Fstrong> directory, and inside it, create an i18n.js file with the following snippet:\u003C\u002Fli>\u003C\u002Fol>\u003Cpre>\u003Ccode>\u002F\u002Fsrc\u002Fcomponents\u002Fi18n.js\nimport i18n from \"i18next\";\nimport { initReactI18next } from \"react-i18next\";\nconst resources = {\n  en: {\n    translation: {\n      apples_zero: \"No apples\",\n      apples_one: \"{{count}} apple\",\n      apples_other: \"{{count}} apples\",\n    },\n  },\n  ru: {\n    translation: {\n      apples_zero: \"нет яблок\",\n      apples_one: \"{{count}} яблоко\",\n      apples_few: \"{{count}} яблока\",\n      apples_many: \"{{count}} яблок\",\n    },\n  },\n  pl: {\n    translation: {\n      apples_zero: \"Brak jabłek\",\n      apples_one: \"{{count}} jabłko\",\n      apples_few: \"{{count}} jabłka\",\n      apples_many: \"{{count}} jabłek\",\n    },\n  },\n};\ni18n.use(initReactI18next).init({\n  resources,\n  lng: \"en\", \u002F\u002F default language\n  fallbackLng: \"en\",\n  interpolation: {\n    escapeValue: false,\n  },\n  pluralSeparator: \"_\", \u002F\u002F Important for i18next to distinguish plural forms\n});\nexport default i18n;\u003C\u002Fcode>\u003C\u002Fpre>\u003Cp>The snippet above does the following:\u003C\u002Fp>\u003Cul>\u003Cli>Imports the \u003Ccode>i18n\u003C\u002Fcode> library, which is the major internationalization framework, and also imports \u003Ccode>initReactI18next\u003C\u002Fcode> to help integrate \u003Ccode>i18n\u003C\u002Fcode> with React.\u003C\u002Fli>\u003Cli>Defines translations for English ( \u003Ccode>en\u003C\u002Fcode> ), Russian ( \u003Ccode>ru\u003C\u002Fcode> ), and Polish ( \u003Ccode>pl\u003C\u002Fcode> ) in the resource object.\u003C\u002Fli>\u003Cli>The translation object contains a key ( \u003Ccode>apples\u003C\u002Fcode> ) and its corresponding plural forms: \u003Ccode>zero\u003C\u002Fcode>, \u003Ccode>one\u003C\u002Fcode>, \u003Ccode>few\u003C\u002Fcode>, \u003Ccode>many\u003C\u002Fcode>, and \u003Ccode>other\u003C\u002Fcode>. This structure allows for accurate translation based on the number of apples.\u003C\u002Fli>\u003Cli>The \u003Ccode>i18n\u003C\u002Fcode> instance is initialized using the \u003Ccode>i18n.init()\u003C\u002Fcode> method. This step involves configuring key settings such as the default language (\u003Ccode>lng\u003C\u002Fcode>), fallback language (\u003Ccode>fallbackLng\u003C\u002Fcode>), interpolation options, and the separator used to distinguish plural forms (\u003Ccode>pluralSeparator\u003C\u002Fcode>).\u003C\u002Fli>\u003C\u002Ful>\u003Cp>The \u003Ccode>pluralSeparator\u003C\u002Fcode> option is vital for \u003Ccode>i18next\u003C\u002Fcode> to correctly identify the different plural forms. \u003C\u002Fp>\u003Cp>3. Within the same \u003Cstrong>components\u003C\u002Fstrong> directory, create a new file named \u003Ccode>pluralForms.js\u003C\u002Fcode> and add this code:\u003C\u002Fp>\u003Cpre>\u003Ccode>\u002F\u002Fsrc\u002Fcomponents\u002FpluralForms.js\n\"use client\";\nimport React, { useState } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport i18n from \".\u002FTranslation\";\nconst MyComponent = () =&gt; {\n  const { t } = useTranslation();\n  const [count, setCount] = useState(0);\n  const [language, setLanguage] = useState(\"en\");\n  const handleLanguageChange = (lang) =&gt; {\n    i18n.changeLanguage(lang);\n    setLanguage(lang);\n  };\n  const Translanguages = [\n    { code: \"en\", name: \"English\" },\n    { code: \"ru\", name: \"Russian\" },\n    { code: \"pl\", name: \"Polish\" },\n  ];\n  return (\n    &lt;div className=\"container mx-auto p-4\"&gt;\n      {\u002F* Language Buttons *\u002F}\n      &lt;div className=\"flex justify-center space-x-4\"&gt;\n        {Translanguages.map((lang) =&gt; (\n          &lt;button\n            key={lang.code}\n            onClick={() =&gt; handleLanguageChange(lang.code)}\n            className=\"px-4 py-2 bg-blue-500 text-white rounded-md hover:bg-blue-700 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-blue-500\"\n          &gt;\n            {lang.name}\n          &lt;\u002Fbutton&gt;\n        ))}\n      &lt;\u002Fdiv&gt;\n      {\u002F* Items Counter *\u002F}\n      &lt;div className=\"flex justify-center mt-8\"&gt;\n        &lt;p className=\"text-xl font-bold\"&gt;{t(\"apples\", { count: count })}&lt;\u002Fp&gt;\n      &lt;\u002Fdiv&gt;\n      {\u002F* Add\u002FMinus Buttons *\u002F}\n      &lt;div className=\"flex justify-center mt-4 space-x-2\"&gt;\n        &lt;button\n          onClick={() =&gt; setCount(count + 1)}\n          className=\"px-4 py-2 bg-green-500 text-white rounded-md hover:bg-green-700 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-green-500\"\n        &gt;\n          Add Apple\n        &lt;\u002Fbutton&gt;\n        &lt;button\n          onClick={() =&gt; setCount(count - 1)}\n          disabled={count === 0}\n          className=\"px-4 py-2 bg-red-500 text-white rounded-md hover:bg-red-700 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-red-500\"\n        &gt;\n          Minus Apple\n        &lt;\u002Fbutton&gt;\n      &lt;\u002Fdiv&gt;\n    &lt;\u002Fdiv&gt;\n  );\n};\nexport default MyComponent;\u003C\u002Fcode>\u003C\u002Fpre>\u003Cp>The above snippet does the following :\u003C\u002Fp>\u003Cul>\u003Cli>It imports \u003Ccode>useState\u003C\u002Fcode> modules for managing component state, \u003Ccode>useTranslation\u003C\u002Fcode> for handling translations with \u003Ccode>i18next\u003C\u002Fcode>, and imports the initialized \u003Ccode>i18n\u003C\u002Fcode> instance from the \u003Ccode>i18n.js\u003C\u002Fcode> file.\u003C\u002Fli>\u003Cli>The component provides language selection buttons for English, Russian, and Polish. When a language button is clicked, the \u003Ccode>handleLanguageChange\u003C\u002Fcode> function updates the language state and triggers a language change in the \u003Ccode>i18n\u003C\u002Fcode>instance.\u003C\u002Fli>\u003Cli>Then it renders the current count of apples using the \u003Ccode>t\u003C\u002Fcode> function from \u003Ccode>useTranslation\u003C\u002Fcode> and the \u003Ccode>items\u003C\u002Fcode> key, which is dynamically translated based on the current language and the number of apples.\u003C\u002Fli>\u003C\u002Ful>\u003Cp>4. Now import and render the \u003Ccode>pluralForms\u003C\u002Fcode> component inside the \u003Ccode>page.js\u003C\u002Fcode> file with the below snippet:\u003C\u002Fp>\u003Cpre>\u003Ccode>\n\u002F\u002Fsrc\u002Fapp\u002Fpage.js\nimport React from \"react\";\nimport MyComponent from \"..\u002Fcomponents\u002FpluralForms\";\nfunction page() {\n  return (\n    &lt;div&gt;\n      &lt;MyComponent \u002F&gt;\n    &lt;\u002Fdiv&gt;\n  );\n}\nexport default page;\u003C\u002Fcode>\u003C\u002Fpre>\u003Cp>Upon saving and starting the application, you should see the following in your browser:\u003C\u002Fp>\u003Cfigure class=\"kg-card kg-image-card\">\u003Cimg src=\"https:\u002F\u002Fpaper-attachments.dropboxusercontent.com\u002Fs_6E56B48A1F4E7D80BEFD74A8AC9E6C19FBAA8ACDE393A273007267A31319C77E_1738560190963_ScreenRecording2025-02-03at06.17.19-ezgif.com-video-to-gif-converter.gif\" class=\"kg-image\" alt loading=\"lazy\">\u003C\u002Ffigure>\u003Cp>This example demonstrates how to define plural forms in a translation file and use the \u003Ccode>t\u003C\u002Fcode> function from \u003Ccode>react-i18next\u003C\u002Fcode> to display the correct plural form based on the \u003Ccode>count\u003C\u002Fcode> variable. Also, by defining translations with placeholders for different plural forms, \u003Cstrong>various grammatical structures and edge cases (like zero or large numbers) were handled with ease\u003C\u002Fstrong>. \u003C\u002Fp>\u003Ch2 id=\"%F0%9F%AA%81-how-to-simplify-pluralization-with-localazy\">🪁 How to simplify pluralization with Localazy\u003C\u002Fh2>\u003Cp>Localazy takes the headache out of \u003Ca href=\"https:\u002F\u002Flocalazy.com\u002Ffeatures\u002Fplurals\">plural localization\u003C\u002Fa> by automatically handling all those tricky language rules. Translators see exactly what plural forms they need to fill in to cover all the cases.\u003C\u002Fp>\u003Cp>Just make sure to define the correct plural form that you are using in your \u003Ca href=\"https:\u002F\u002Flocalazy.com\u002Ffeatures\u002Fcli\">CLI configuration\u003C\u002Fa>. Localazy provides built-in tools and features for managing the translations and their plural forms across all languages.\u003C\u002Fp>\u003Cp>Some of the features that can help with proper plural localization also include:\u003C\u002Fp>\u003Cul>\u003Cli>\u003Cstrong>📝 Context sharing:\u003C\u002Fstrong>  Add context information to your translations and help translators understand the meaning and usage of each string.\u003C\u002Fli>\u003Cli>\u003Cstrong>📖 Translation memory:\u003C\u002Fstrong> Reuse translations across projects, reducing the amount of work required.\u003C\u002Fli>\u003Cli>🎲 \u003Cstrong>Custom plurals definition\u003C\u002Fstrong>: If your i18n library expects something other than standard plurals for a given language, you can adjust the way Localazy handles them. \u003C\u002Fli>\u003C\u002Ful>\u003Cfigure class=\"kg-card kg-image-card\">\u003Cimg src=\"https:\u002F\u002Fghost.localazy.com\u002Fcontent\u002Fimages\u002F2025\u002F07\u002FPlurals-tables.png\" class=\"kg-image\" alt loading=\"lazy\" width=\"1188\" height=\"710\" srcset=\"https:\u002F\u002Fghost.localazy.com\u002Fcontent\u002Fimages\u002Fsize\u002Fw600\u002F2025\u002F07\u002FPlurals-tables.png 600w, https:\u002F\u002Fghost.localazy.com\u002Fcontent\u002Fimages\u002Fsize\u002Fw1000\u002F2025\u002F07\u002FPlurals-tables.png 1000w, https:\u002F\u002Fghost.localazy.com\u002Fcontent\u002Fimages\u002F2025\u002F07\u002FPlurals-tables.png 1188w\" sizes=\"(min-width: 720px) 720px\">\u003C\u002Ffigure>\u003Cp>The benefits of using Localazy when it comes to plurals:\u003C\u002Fp>\u003Cul>\u003Cli>\u003Cstrong>Improved consistency\u003C\u002Fstrong>: Localazy helps you maintain consistent pluralization across all your languages.\u003C\u002Fli>\u003Cli>\u003Cstrong>Reduced errors\u003C\u002Fstrong>: Automated checks help you catch mistakes before they reach your users.\u003C\u002Fli>\u003Cli>\u003Cstrong>Streamlined workflows\u003C\u002Fstrong>: Localazy simplifies the translation process, making it easier for translators to work on your projects.\u003C\u002Fli>\u003C\u002Ful>\u003Ch3 id=\"configure-localazy-to-recognize-variables\">Configure Localazy to recognize variables\u003C\u002Fh3>\u003Cp>There are \u003Ca href=\"https:\u002F\u002Flocalazy.com\u002Fdocs\u002Fcli\u002Fjson-format#defined-by-suffix\" rel=\"noreferrer nofollow noopener\">different plural variants\u003C\u002Fa> that Localazy supports for the given file format. \u003C\u002Fp>\u003Cp>Below is an example configuration for the \"underscore postfix\" variant:\u003C\u002Fp>\u003Cpre>\u003Ccode>\n\u002F\u002Flocalazy.json\n\n{\n  \"writeKey\": \"YOUR WRITE KEY\",\n  \"readKey\": \"YOUR READ KEY\",\n  \"upload\": {\n    \"files\": \"public\u002Flocales\u002Ftranslations\u002Fplurals.json\",\n    \"type\": \"json\",\n    \"features\": [\"plural_postfix_us\"]\n  },\n}\u003C\u002Fcode>\u003C\u002Fpre>\u003Cp>The \u003Ccode>[\"plural_postfix_us\"]\u003C\u002Fcode> tells Localazy that the translation file uses suffixes to define plural variants. The suffix \u003Ccode>_us\u003C\u002Fcode> indicates that the plural forms follow an underscore pattern. Below is an example of how to set up a plural variant in your React application.\u003C\u002Fp>\u003Cp>First, create a JSON file (e.g., \u003Ccode>plurals.json\u003C\u002Fcode>) in the public folder of your React project. If you are handling pluralization for just English, then define the variants like in the below using \u003Ccode>_one\u003C\u002Fcode> and \u003Ccode>_other\u003C\u002Fcode> suffixes:\u003C\u002Fp>\u003Cpre>\u003Ccode>\n{\n  \"apple_one\": \"1 apple\",\n  \"apple_other\": \"{{count}} apples\"\n}\u003C\u002Fcode>\u003C\u002Fpre>\u003Cp>Next, update the \u003Ccode>localazy.json\u003C\u002Fcode> file to include the \u003Ccode>features\u003C\u002Fcode> option:\u003C\u002Fp>\u003Cpre>\u003Ccode>\n\u002F\u002Flocalazy.json\n{\n  \"writeKey\": \"YOUR_WRITE_KEY\",\n  \"readKey\": \"YOUR_READ_KEY\",\n  \"upload\": {\n    \"files\": \"public\u002Flocales\u002Ftranslations\u002Fplurals.json\",\n    \"type\": \"json\",\n    \"features\": [\"plural_postfix_us\"]\n  },\n  \"download\": {\n    \"files\": \"public\u002Flocales\u002Fios-app\u002F${iosLprojFolder}\u002FLocalizable.strings\"\n  }\n}\n\u003C\u002Fcode>\u003C\u002Fpre>\u003Cp>In the snippet above:\u003C\u002Fp>\u003Cul>\u003Cli>\u003Ccode>\u003Cstrong>files\u003C\u002Fstrong>\u003C\u002Fcode>: Specifies the path to the translation file (public\u002Flocales\u002Ftranslations\u002Fplurals.json).\u003C\u002Fli>\u003Cli>\u003Ccode>\u003Cstrong>features\u003C\u002Fstrong>\u003C\u002Fcode>: Includes plural_postfix_us to handle plural variants with an underscore pattern.\u003C\u002Fli>\u003C\u002Ful>\u003Cp>Lastly, upload the translations with the localazy upload command:\u003C\u002Fp>\u003Cp>\u003Ccode>localazy upload\u003C\u002Fcode>\u003C\u002Fp>\u003Cp>The above command uploads the \u003Ccode>plurals.json\u003C\u002Fcode> file and makes sure that the variants ( \u003Ccode>_one\u003C\u002Fcode>,\u003Ccode>_other\u003C\u002Fcode>) are recognized and processed correctly by Localazy.\u003C\u002Fp>\u003Cp>Later, when you download the translated file, e.g., for the Polish language, the plurals would look like this:\u003C\u002Fp>\u003Cpre>\u003Ccode>\n{\n  \"apple_one\": \"1 jabłko\",\n  \"apple_few\": \"{{count}} jabłka\",\n  \"apple_many\": \"{{count}} jabłek\"\n}\u003C\u002Fcode>\u003C\u002Fpre>\u003Ch2 id=\"%E2%9E%A1%EF%B8%8F-next-steps\">➡️ Next steps\u003C\u002Fh2>\u003Cp>Implementing these best practices will result in a more consistent and user-friendly experience for your app users, regardless of their language.\u003C\u002Fp>\u003Cp>Explore our \u003Ca href=\"https:\u002F\u002Flocalazy.com\u002Fdocs\" rel=\"noopener noreferrer nofollow\">documentation\u003C\u002Fa> to further simplify your localization process and take your multilingual development to the next level. The integrated machine translation will help you reach new markets faster, and Localazy will serve as a source of truth for your translation, making collaboration with your team and translators much easier.\u003C\u002Fp>","public","none","2025-03-10T12:11:34.000+01:00",[2015],{"id":1855,"name":1856,"slug":1857,"profile_image":1858,"cover_image":7,"bio":2016,"website":2017,"location":7,"facebook":7,"twitter":2018,"meta_title":7,"meta_description":7,"url":2019},"There are over 4B people online behind language barriers. \nTranslate software, website or any other kind of digital product.","https:\u002F\u002Fwww.linkedin.com\u002Fcompany\u002Flocalazy\u002F","@localazy","https:\u002F\u002Fghost.localazy.com\u002Fauthor\u002Flocalazy-team\u002F",[2021,2024,2027,2030,2036,2041,2046,2051,2056,2061,2067,2072,2077,2082,2087,2092,2097],{"id":2022,"name":1866,"slug":275,"description":1866,"feature_image":7,"visibility":2011,"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},"60a37fc7cf7b6a0001d1f0ec","https:\u002F\u002Fghost.localazy.com\u002Ftag\u002Fplurals\u002F",{"id":2025,"name":1868,"slug":1869,"description":1868,"feature_image":7,"visibility":2011,"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":2026},"60a37fc7cf7b6a0001d1f0ea","https:\u002F\u002Fghost.localazy.com\u002Ftag\u002Fdevtips\u002F",{"id":2028,"name":1871,"slug":1872,"description":1871,"feature_image":7,"visibility":2011,"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":2029},"60a37fc7cf7b6a0001d1f0e9","https:\u002F\u002Fghost.localazy.com\u002Ftag\u002Fguide\u002F",{"id":2031,"name":2032,"slug":2033,"description":2034,"feature_image":7,"visibility":2011,"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":2035},"67e6bcb263350c0001d58926","[AD] Ambassador","ad-25","https:\u002F\u002Flocalazy.com\u002Fblog\u002Flocalazy-ambassador-program-free-localization-features","https:\u002F\u002Fghost.localazy.com\u002Ftag\u002Fad-25\u002F",{"id":2037,"name":2038,"slug":2039,"description":7,"feature_image":7,"visibility":2011,"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":2040},"60fffb486f8ebe0001bd8ddd","[COMSHARE]","comshare","https:\u002F\u002Fghost.localazy.com\u002Ftag\u002Fcomshare\u002F",{"id":2042,"name":2043,"slug":2044,"description":2005,"feature_image":7,"visibility":2011,"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":2045},"60a37fc7cf7b6a0001d1f11b","[CTA] Why developers love Localazy 💖","cta-13","https:\u002F\u002Fghost.localazy.com\u002Ftag\u002Fcta-13\u002F",{"id":2047,"name":2048,"slug":2049,"description":1879,"feature_image":7,"visibility":2011,"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":2050},"60a37fc7cf7b6a0001d1f16c","[DICT] Internationalization (i18n)","term-79","https:\u002F\u002Fghost.localazy.com\u002Ftag\u002Fterm-79\u002F",{"id":2052,"name":2053,"slug":2054,"description":1892,"feature_image":7,"visibility":2011,"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":2055},"60a37fc7cf7b6a0001d1f175","[DICT] i18next","term-88","https:\u002F\u002Fghost.localazy.com\u002Ftag\u002Fterm-88\u002F",{"id":2057,"name":2058,"slug":2059,"description":1912,"feature_image":7,"visibility":2011,"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":2060},"60a37fc7cf7b6a0001d1f162","[DICT] Angular","term-69","https:\u002F\u002Fghost.localazy.com\u002Ftag\u002Fterm-69\u002F",{"id":2062,"name":2063,"slug":2064,"description":2065,"feature_image":7,"visibility":2011,"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":2066},"60ba4141cf7b6a0001d1f946","[DICT] ICU","term-90","ICU stands for International Components for Unicode","https:\u002F\u002Fghost.localazy.com\u002Ftag\u002Fterm-90\u002F",{"id":2068,"name":2069,"slug":2070,"description":1936,"feature_image":7,"visibility":2011,"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":2071},"60a37fc7cf7b6a0001d1f15d","[DICT] Glossary","term-64","https:\u002F\u002Fghost.localazy.com\u002Ftag\u002Fterm-64\u002F",{"id":2073,"name":2074,"slug":2075,"description":1941,"feature_image":7,"visibility":2011,"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":2076},"60a37fc7cf7b6a0001d1f158","[DICT] QA - Quality Assurance","term-59","https:\u002F\u002Fghost.localazy.com\u002Ftag\u002Fterm-59\u002F",{"id":2078,"name":2079,"slug":2080,"description":1958,"feature_image":7,"visibility":2011,"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":2081},"65b269670470910001944a5a","[DICT] Next.js","term-156","https:\u002F\u002Fghost.localazy.com\u002Ftag\u002Fterm-156\u002F",{"id":2083,"name":2084,"slug":2085,"description":1966,"feature_image":7,"visibility":2011,"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":2086},"6806237263350c0001d5953e","[DICT] Vue-i18n ","term-281","https:\u002F\u002Fghost.localazy.com\u002Ftag\u002Fterm-281\u002F",{"id":2088,"name":2089,"slug":2090,"description":1977,"feature_image":7,"visibility":2011,"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":2091},"60a37fc7cf7b6a0001d1f163","[DICT] Vue.js","term-70","https:\u002F\u002Fghost.localazy.com\u002Ftag\u002Fterm-70\u002F",{"id":2093,"name":2094,"slug":2095,"description":7,"feature_image":7,"visibility":2011,"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":2096},"63f8915e047091000193a863","[AD] CDN","ad-cdn","https:\u002F\u002Fghost.localazy.com\u002Ftag\u002Fad-cdn\u002F",{"id":2098,"name":2099,"slug":2100,"description":1987,"feature_image":7,"visibility":2011,"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":2101},"680238e063350c0001d5953a","[DICT] Variable","term-283","https:\u002F\u002Fghost.localazy.com\u002Ftag\u002Fterm-283\u002F",{"id":1855,"name":1856,"slug":1857,"profile_image":1858,"cover_image":7,"bio":2016,"website":2017,"location":7,"facebook":7,"twitter":2018,"meta_title":7,"meta_description":7,"url":2019},{"id":2022,"name":1866,"slug":275,"description":1866,"feature_image":7,"visibility":2011,"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},"https:\u002F\u002Fghost.localazy.com\u002Fpluralization-in-software-localization-beginners-guide\u002F",[2106,2122,2140],{"id":2107,"owner":2108,"created_by":7,"sort":7,"title":2113,"slug":2114,"modified_on":764,"created_on":2115,"pinned":15,"badge":7,"priority":1824,"main_image":2116,"status":8,"tags":2117,"dictionary":2121,"reading_time":1838,"excerpt":-1,"og_title":764,"og_description":764,"og_image":764},"665d9cb634f1ce00011a0d19",{"id":2109,"first_name":2110,"last_name":764,"slug":2111,"avatar":2112},"65647a510470910001942873","Simona Rahmanova","simona-rahmanova","https:\u002F\u002Fghost.localazy.com\u002Fcontent\u002Fimages\u002F2024\u002F03\u002Fsimona.png","Localization 101 | Basic concepts for newcomers","localization-101-basic-concepts-a-beginner-needs-to-know","2024-07-29T15:24:00.000+02:00","https:\u002F\u002Fghost.localazy.com\u002Fcontent\u002Fimages\u002F2024\u002F06\u002Flocalization-101.png",[2118,2120],{"id":319,"created_on":2119,"status":8,"label":217,"slug":1836,"on_index_page":17},"2026-05-29 17:56:18",{"id":319,"created_on":2119,"status":8,"label":1871,"slug":1872,"on_index_page":15},[],{"id":2123,"owner":2124,"created_by":7,"sort":7,"title":2125,"slug":2126,"modified_on":764,"created_on":2127,"pinned":15,"badge":7,"priority":1824,"main_image":2128,"status":8,"tags":2129,"dictionary":2139,"reading_time":1838,"excerpt":-1,"og_title":764,"og_description":764,"og_image":764},"633ad643fe956a000108a63d",{"id":1817,"first_name":1818,"last_name":764,"slug":1819,"avatar":1820},"The ultimate guide to Localazy translation services","guide-localazy-translation-services","2022-10-14T10:21:57.000+02:00","https:\u002F\u002Fghost.localazy.com\u002Fcontent\u002Fimages\u002F2022\u002F10\u002FCLT-services.png",[2130,2133,2136,2138],{"id":319,"created_on":2119,"status":8,"label":2131,"slug":2132,"on_index_page":15},"Translations","translations",{"id":319,"created_on":2119,"status":8,"label":2134,"slug":2135,"on_index_page":15},"Continuous Localization","continuous-localization",{"id":319,"created_on":2119,"status":8,"label":795,"slug":2137,"on_index_page":15},"localazy",{"id":319,"created_on":2119,"status":8,"label":1871,"slug":1872,"on_index_page":15},[],{"id":2141,"owner":2142,"created_by":7,"sort":7,"title":2147,"slug":2148,"modified_on":764,"created_on":2149,"pinned":15,"badge":7,"priority":1824,"main_image":2150,"status":8,"tags":2151,"dictionary":2161,"reading_time":1838,"excerpt":-1,"og_title":764,"og_description":764,"og_image":764},"6372308e04709100019374c9",{"id":2143,"first_name":2144,"last_name":764,"slug":2145,"avatar":2146},"6061ffdd2a37af00016d413d","Daniel Charvát","daniel-charvat","https:\u002F\u002Fghost.localazy.com\u002Fcontent\u002Fimages\u002F2023\u002F12\u002Fdan-1.png","Figma in Localization: Figma as a Source of Truth","figma-series-figma-as-source-of-truth","2023-02-08T20:43:55.000+01:00","https:\u002F\u002Fghost.localazy.com\u002Fcontent\u002Fimages\u002F2023\u002F01\u002FFigma-Series-3.png",[2152,2154,2157,2158],{"id":2153,"created_on":2119,"status":8,"label":545,"slug":544,"on_index_page":17},6183,{"id":319,"created_on":2119,"status":8,"label":2155,"slug":2156,"on_index_page":15},"HowTo","howto",{"id":319,"created_on":2119,"status":8,"label":1868,"slug":1869,"on_index_page":17},{"id":278,"created_on":2119,"status":8,"label":2159,"slug":2160,"on_index_page":15},"Design","design",[],{"id":118,"sort":7,"created_on":2163,"name":2164,"cta_link":2034,"banner_image":2165},"2025-03-28T15:13:54.000Z","Ambassador",{"id":2166},"02b7af9a-80c3-40cc-8fc2-715d68c9f223"]