[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"footer-settings":3,"main-navigation":153,"footer-homepage":836,"footer-integrations":903,"blog-post-nav-nav":1814,"blog-post-nav-[USE LATEST FEATURED]":1836,"blog-what-i-would-do-differently-in-my-next-localization-project":1857},{"id":4,"status":5,"security_section_title":6,"loved_section_title":7,"columns":8,"social_links":113,"policy_links":143},1,"published","Secured & trusted","Loved by users",[9,28,48,74,78],{"id":4,"status":5,"sort":10,"title":11,"column_key":12,"links":13},null,"Localazy","connect",[14,18,23],{"id":15,"status":5,"sort":4,"title":16,"url":17},11,"Book a demo","___LOCALAZY_MEETING_URL___",{"id":19,"status":5,"sort":20,"title":21,"url":22},12,2,"Contact","\u002Fcontact",{"id":24,"status":5,"sort":25,"title":26,"url":27},21,3,"About us","\u002Fabout-us",{"id":20,"status":5,"sort":10,"title":29,"column_key":30,"links":31},"Programs","programs",[32,36,40,44],{"id":4,"status":5,"sort":33,"title":34,"url":35},4,"Partner Program","\u002Fpartnership",{"id":20,"status":5,"sort":37,"title":38,"url":39},5,"Ambassador Program","\u002Fambassador",{"id":25,"status":5,"sort":41,"title":42,"url":43},6,"Startup Program","\u002Ffor\u002Fstartups",{"id":33,"status":5,"sort":45,"title":46,"url":47},7,"Nonprofits","\u002Ffor\u002Fnonprofit",{"id":25,"status":5,"sort":10,"title":49,"column_key":50,"links":51},"Use Cases","use_cases",[52,56,60,64,67,70],{"id":37,"status":5,"sort":53,"title":54,"url":55},8,"Software Localization","\u002Fterm\u002Fsoftware-localization",{"id":41,"status":5,"sort":57,"title":58,"url":59},9,"Machine Translation Services","\u002Ffeatures\u002Fmachine-translation",{"id":45,"status":5,"sort":61,"title":62,"url":63},10,"Translation API","\u002Ffeatures\u002Ftranslation-api",{"id":53,"status":5,"sort":15,"title":65,"url":66},"Crowdsourced Translations","\u002Ffeatures\u002Fshare-tm",{"id":57,"status":5,"sort":19,"title":68,"url":69},"Figma i18n & localization","\u002Ffeatures\u002Ffigma-localization-plugin",{"id":61,"status":5,"sort":71,"title":72,"url":73},13,"Translation as a Service","\u002Fterm\u002Ftranslation-service",{"id":33,"status":5,"sort":10,"title":75,"column_key":76,"links":77},"Integrations","integrations",[],{"id":37,"status":5,"sort":10,"title":79,"column_key":80,"links":81},"Resources","resources",[82,86,90,94,98,102,106,110],{"id":71,"status":5,"sort":83,"title":84,"url":85},14,"Documentation","\u002Fdocs",{"id":83,"status":5,"sort":87,"title":88,"url":89},15,"Dictionary","\u002Fdictionary",{"id":87,"status":5,"sort":91,"title":92,"url":93},16,"Case Studies","\u002Fcase-study",{"id":91,"status":5,"sort":95,"title":96,"url":97},17,"Discussion forum","___DISCUSS_URL___",{"id":95,"status":5,"sort":99,"title":100,"url":101},18,"Localization Blog","\u002Fblog",{"id":99,"status":5,"sort":103,"title":104,"url":105},19,"FAQ","\u002Ffaq",{"id":103,"status":5,"sort":107,"title":108,"url":109},20,"Pricing","\u002Fpricing",{"id":107,"status":5,"sort":24,"title":111,"url":112},"Brand assets","https:\u002F\u002Fdrive.google.com\u002Fdrive\u002Fu\u002F1\u002Ffolders\u002F1tZqsZHBlGelz7A2FwTsiwrs4j3sd9HTk",[114,119,124,129,134,139],{"id":4,"status":5,"sort":10,"platform":115,"icon":116,"url":117,"label":118},"feed","rss","\u002Ffeed.xml","Localazy RSS Feed",{"id":20,"status":5,"sort":10,"platform":120,"icon":121,"url":122,"label":123},"facebook","fb-logo","https:\u002F\u002Fwww.facebook.com\u002Flocalazy\u002F","Localazy facebook",{"id":25,"status":5,"sort":10,"platform":125,"icon":126,"url":127,"label":128},"github","github-logo","https:\u002F\u002Fgithub.com\u002Flocalazy","Localazy GitHub",{"id":33,"status":5,"sort":10,"platform":130,"icon":131,"url":132,"label":133},"x","x-twitter","https:\u002F\u002Fx.com\u002Flocalazy","Localazy X",{"id":37,"status":5,"sort":10,"platform":135,"icon":136,"url":137,"label":138},"linkedin","linkedin-logo","https:\u002F\u002Fwww.linkedin.com\u002Fcompany\u002F37836599\u002F","Localazy LinkedIn",{"id":41,"status":5,"sort":10,"platform":140,"icon":141,"url":97,"label":142},"discourse","discourse-logo","Localazy Discourse",[144,147,150],{"id":4,"status":5,"sort":10,"title":145,"url":146,"action":10},"Privacy policy","\u002Fprivacy-policy",{"id":20,"status":5,"sort":10,"title":148,"url":149,"action":10},"Terms & Conditions","\u002Fterms-and-conditions",{"id":25,"status":5,"sort":10,"title":151,"url":10,"action":152},"Cookies","cookie-consent",[154,347,580,708,831,833],{"id":20,"name":155,"url":10,"url_text":10,"status":5,"groups":156},"Solutions",[157,168,239,274],{"navigation_items_group_id":158},{"id":25,"sort":37,"status":5,"name":159,"render_show_all_url":160,"show_all_url_position":161,"show_favorite_icon":162,"show_all_url":10,"represent_as_tile":160,"items":163},"Featured Article",false,"top",true,[164],{"collection":165,"item":166},"blog_post_navigation_item_type",{"id":33,"status":5,"sort":10,"show_author_img":162,"blog_post_tag":167,"description":10},"nav",{"navigation_items_group_id":169},{"id":37,"sort":4,"status":5,"name":170,"render_show_all_url":160,"show_all_url_position":161,"show_favorite_icon":160,"show_all_url":171,"represent_as_tile":162,"items":172},"Your Role","\u002Froles",[173,185,195,205,216,228],{"collection":174,"item":175},"relation_navigation_item_type",{"id":4,"status":5,"sort":10,"name":176,"item":177},"CMO",[178],{"collection":179,"item":180},"personas",{"id":4,"status":5,"sort":10,"slug":181,"icon":182},"chief-marketing-officers",{"id":183,"title":184},"526097d8-176f-48e5-83d3-2fc4d77061f9","La Mail Bulk",{"collection":174,"item":186},{"id":25,"status":5,"sort":10,"name":187,"item":188},"CTO",[189],{"collection":179,"item":190},{"id":33,"status":5,"sort":10,"slug":191,"icon":192},"chief-technical-officers",{"id":193,"title":194},"f808fdf0-c78b-4294-ba59-fe25f46fe825","La Mechanic",{"collection":174,"item":196},{"id":107,"status":5,"sort":10,"name":197,"item":198},"Product Manager",[199],{"collection":179,"item":200},{"id":99,"status":5,"sort":10,"slug":201,"icon":202},"product-managers",{"id":203,"title":204},"ea39586a-21fc-4b34-ba87-496028e5198f","La Worker",{"collection":174,"item":206},{"id":207,"status":5,"sort":10,"name":208,"item":209},37,"Translator",[210],{"collection":179,"item":211},{"id":107,"status":5,"sort":10,"slug":212,"icon":213},"professional-translators",{"id":214,"title":215},"07945171-d51d-4ca8-96c0-21cde9db258f","La Chat",{"collection":174,"item":217},{"id":218,"status":5,"sort":10,"name":219,"item":220},38,"Developer",[221],{"collection":179,"item":222},{"id":223,"status":5,"sort":10,"slug":224,"icon":225},30,"software-developers",{"id":226,"title":227},"1806e46d-c551-4845-bf42-4407344d229e","La Terminal",{"collection":174,"item":229},{"id":230,"status":5,"sort":10,"name":231,"item":232},27,"Localization Manager",[233],{"collection":179,"item":234},{"id":41,"status":5,"sort":10,"slug":235,"icon":236},"localization-managers",{"id":237,"title":238},"dac69bd1-bf5d-41d0-87d4-dd13e314698a","La Language",{"navigation_items_group_id":240},{"id":57,"sort":25,"status":5,"name":241,"render_show_all_url":160,"show_all_url_position":242,"show_favorite_icon":160,"show_all_url":10,"represent_as_tile":160,"items":243},"Use cases","bottom",[244,250,255,260,264,269],{"collection":245,"item":246},"simple_link_navigation_item_type",{"id":247,"status":5,"sort":10,"url":248,"url_text":249,"show_favorite_icon":160},24,"https:\u002F\u002Flocalazy.com\u002Fuse-cases\u002Fsoftware-localization","Software localization",{"collection":245,"item":251},{"id":252,"status":5,"sort":10,"url":253,"url_text":254,"show_favorite_icon":160},26,"https:\u002F\u002Flocalazy.com\u002Fuse-cases\u002Fmobile-app-localization","Mobile app localization",{"collection":245,"item":256},{"id":257,"status":5,"sort":10,"url":258,"url_text":259,"show_favorite_icon":160},25,"https:\u002F\u002Flocalazy.com\u002Fuse-cases\u002Fwebsite-localization","Website localization",{"collection":245,"item":261},{"id":230,"status":5,"sort":10,"url":262,"url_text":263,"show_favorite_icon":160},"https:\u002F\u002Flocalazy.com\u002Fuse-cases\u002Fdesign-localization","Design localization",{"collection":245,"item":265},{"id":266,"status":5,"sort":10,"url":267,"url_text":268,"show_favorite_icon":160},28,"https:\u002F\u002Flocalazy.com\u002Fuse-cases\u002Fgame-localization","Game localization",{"collection":245,"item":270},{"id":271,"status":5,"sort":10,"url":272,"url_text":273,"show_favorite_icon":160},29,"https:\u002F\u002Flocalazy.com\u002Fuse-cases\u002Fhelp-and-docs-localization","Help & docs localization",{"navigation_items_group_id":275},{"id":53,"sort":20,"status":5,"name":276,"render_show_all_url":160,"show_all_url_position":242,"show_favorite_icon":160,"show_all_url":10,"represent_as_tile":160,"items":277},"Industry",[278,289,300,310,320,329,340],{"collection":174,"item":279},{"id":280,"status":5,"sort":10,"name":281,"item":282},23,"Digital Agencies",[283],{"collection":179,"item":284},{"id":45,"status":5,"sort":10,"slug":285,"icon":286},"digital-agencies",{"id":287,"title":288},"547f5619-b21d-4b29-86f1-8b2200313cde","La Digi Agency",{"collection":174,"item":290},{"id":291,"status":5,"sort":10,"name":292,"item":293},39,"Startups & SaaS",[294],{"collection":179,"item":295},{"id":20,"status":5,"sort":10,"slug":296,"icon":297},"startups",{"id":298,"title":299},"da1516e2-4afc-40a2-bcbf-a8161e2d610d","La Saa S",{"collection":174,"item":301},{"id":20,"status":5,"sort":10,"name":302,"item":303},"E-commerce",[304],{"collection":179,"item":305},{"id":37,"status":5,"sort":10,"slug":306,"icon":307},"e-commerce",{"id":308,"title":309},"a3d09cd2-054f-4bb5-a0a2-d3d207db65df","La Ecommerce",{"collection":174,"item":311},{"id":103,"status":5,"sort":10,"name":312,"item":313},"FinTech Platforms",[314],{"collection":179,"item":315},{"id":230,"status":5,"sort":10,"slug":316,"icon":317},"fintech",{"id":318,"title":319},"147339ba-07d1-4e5e-baad-23d27e60c919","La Money",{"collection":174,"item":321},{"id":247,"status":5,"sort":10,"name":322,"item":323},"Translation Agencies",[324],{"collection":179,"item":325},{"id":247,"status":5,"sort":10,"slug":326,"icon":327},"translation-agencies",{"id":328,"title":238},"15d6fe33-2af8-4d6e-933d-5caa64394511",{"collection":174,"item":330},{"id":331,"status":5,"sort":10,"name":332,"item":333},22,"Travel & Tourism",[334],{"collection":179,"item":335},{"id":25,"status":5,"sort":10,"slug":336,"icon":337},"tourism",{"id":338,"title":339},"23a785e8-0ae5-4c4b-8452-aab1b58182a6","La Travel",{"collection":174,"item":341},{"id":257,"status":5,"sort":10,"name":342,"item":343},"Nonprofit Causes",[344],{"collection":179,"item":345},{"id":266,"status":5,"sort":10,"slug":346,"icon":10},"nonprofit",{"id":37,"name":348,"url":10,"url_text":10,"status":5,"groups":349},"Features",[350,417,474,523],{"navigation_items_group_id":351},{"id":15,"sort":41,"status":5,"name":352,"render_show_all_url":160,"show_all_url_position":161,"show_favorite_icon":160,"show_all_url":10,"represent_as_tile":160,"items":353},"Localization",[354,363,372,380,388,392,400,409],{"collection":174,"item":355},{"id":356,"status":5,"sort":10,"name":357,"item":358},44,"Localization services",[359],{"collection":360,"item":361},"products",{"id":57,"status":5,"slug":362},"continuous-localization-team",{"collection":174,"item":364},{"id":365,"status":5,"sort":10,"name":366,"item":367},45,"Translation management",[368],{"collection":369,"item":370},"term_landing_page",{"id":271,"status":5,"slug":371},"translation-management-system",{"collection":174,"item":373},{"id":374,"status":5,"sort":10,"name":375,"item":376},46,"Context Screenshots",[377],{"collection":360,"item":378},{"id":71,"status":5,"slug":379},"context-screenshots-ocr",{"collection":174,"item":381},{"id":382,"status":5,"sort":10,"name":383,"item":384},47,"Translation Glossary",[385],{"collection":360,"item":386},{"id":95,"status":5,"slug":387},"glossary",{"collection":245,"item":389},{"id":33,"status":5,"sort":10,"url":390,"url_text":391,"show_favorite_icon":160},"\u002Fdocs\u002Fgeneral\u002Freviewing-translations","Quality control",{"collection":174,"item":393},{"id":394,"status":5,"sort":10,"name":395,"item":396},34,"Connected Projects",[397],{"collection":360,"item":398},{"id":4,"status":5,"slug":399},"connected-projects",{"collection":174,"item":401},{"id":402,"status":5,"sort":10,"name":403,"item":404},64,"Plural handling",[405],{"collection":360,"item":406},{"id":407,"status":5,"slug":408},32,"plurals",{"collection":174,"item":410},{"id":411,"status":5,"sort":10,"name":412,"item":413},65,"Style guides",[414],{"collection":360,"item":415},{"id":218,"status":5,"slug":416},"style-guide",{"navigation_items_group_id":418},{"id":19,"sort":45,"status":5,"name":419,"render_show_all_url":160,"show_all_url_position":161,"show_favorite_icon":160,"show_all_url":10,"represent_as_tile":160,"items":420},"Translation",[421,429,437,441,449,457,466],{"collection":174,"item":422},{"id":423,"status":5,"sort":10,"name":424,"item":425},36,"Professional translations",[426],{"collection":369,"item":427},{"id":223,"status":5,"slug":428},"professional-translation-services",{"collection":174,"item":430},{"id":431,"status":5,"sort":10,"name":432,"item":433},48,"Crowdsourced translations",[434],{"collection":360,"item":435},{"id":53,"status":5,"slug":436},"share-tm",{"collection":245,"item":438},{"id":37,"status":5,"sort":10,"url":439,"url_text":440,"show_favorite_icon":160},"\u002Fdocs\u002Fgeneral\u002Ftranslating-strings","Translation interface",{"collection":174,"item":442},{"id":443,"status":5,"sort":10,"name":444,"item":445},55,"Machine translations",[446],{"collection":360,"item":447},{"id":37,"status":5,"slug":448},"machine-translation",{"collection":174,"item":450},{"id":451,"status":5,"sort":10,"name":452,"item":453},60,"Localazy AI translation",[454],{"collection":360,"item":455},{"id":271,"status":5,"slug":456},"localazy-ai",{"collection":174,"item":458},{"id":459,"status":5,"sort":10,"name":460,"item":461},61,"Translation Memory",[462],{"collection":360,"item":463},{"id":464,"status":5,"slug":465},35,"translation-memory",{"collection":174,"item":467},{"id":468,"status":5,"sort":10,"name":469,"item":470},63,"Code & placeholders",[471],{"collection":360,"item":472},{"id":223,"status":5,"slug":473},"code-and-placeholders",{"navigation_items_group_id":475},{"id":71,"sort":53,"status":5,"name":476,"render_show_all_url":160,"show_all_url_position":161,"show_favorite_icon":160,"show_all_url":10,"represent_as_tile":160,"items":477},"Management",[478,482,490,498,507,515,519],{"collection":245,"item":479},{"id":53,"status":5,"sort":10,"url":480,"url_text":481,"show_favorite_icon":160},"\u002Fdocs\u002Fgeneral\u002Fdefining-user-roles","User roles",{"collection":174,"item":483},{"id":484,"status":5,"sort":10,"name":485,"item":486},51,"Duplicity Linking",[487],{"collection":360,"item":488},{"id":103,"status":5,"slug":489},"duplicity-linking",{"collection":174,"item":491},{"id":492,"status":5,"sort":10,"name":493,"item":494},52,"Language Permissions",[495],{"collection":360,"item":496},{"id":24,"status":5,"slug":497},"language-permissions",{"collection":174,"item":499},{"id":500,"status":501,"sort":10,"name":502,"item":503},53,"draft","Automations",[504],{"collection":360,"item":505},{"id":107,"status":5,"slug":506},"automations",{"collection":174,"item":508},{"id":509,"status":5,"sort":10,"name":510,"item":511},58,"Branching",[512],{"collection":360,"item":513},{"id":230,"status":5,"slug":514},"branching",{"collection":245,"item":516},{"id":24,"status":501,"sort":10,"url":517,"url_text":518,"show_favorite_icon":160},"https:\u002F\u002Flocalazy.com\u002Fdocs\u002Fgeneral\u002Fsso-configuration","SSO",{"collection":245,"item":520},{"id":331,"status":501,"sort":10,"url":521,"url_text":522,"show_favorite_icon":160},"https:\u002F\u002Flocalazy.com\u002Fdocs\u002Fgeneral\u002Flanguage-statistics","Reporting",{"navigation_items_group_id":524},{"id":83,"sort":57,"status":5,"name":525,"render_show_all_url":160,"show_all_url_position":161,"show_favorite_icon":160,"show_all_url":10,"represent_as_tile":160,"items":526},"Development",[527,533,541,548,555,563,572],{"collection":174,"item":528},{"id":271,"status":5,"sort":10,"name":62,"item":529},[530],{"collection":360,"item":531},{"id":15,"status":5,"slug":532},"translation-api",{"collection":174,"item":534},{"id":535,"status":5,"sort":10,"name":536,"item":537},33,"Localazy CLI",[538],{"collection":360,"item":539},{"id":45,"status":5,"slug":540},"cli",{"collection":174,"item":542},{"id":407,"status":5,"sort":10,"name":543,"item":544},"Language CDN",[545],{"collection":360,"item":546},{"id":33,"status":5,"slug":547},"language-cdn",{"collection":174,"item":549},{"id":266,"status":5,"sort":10,"name":550,"item":551},"Releases",[552],{"collection":360,"item":553},{"id":41,"status":5,"slug":554},"releases",{"collection":174,"item":556},{"id":557,"status":501,"sort":10,"name":558,"item":559},57,"Format Conversions",[560],{"collection":360,"item":561},{"id":20,"status":5,"slug":562},"format-conversions",{"collection":174,"item":564},{"id":565,"status":5,"sort":10,"name":566,"item":567},59,"Webhooks",[568],{"collection":360,"item":569},{"id":570,"status":5,"slug":571},31,"webhooks",{"collection":174,"item":573},{"id":574,"status":5,"sort":10,"name":575,"item":576},62,"Export Aliases",[577],{"collection":360,"item":578},{"id":535,"status":5,"slug":579},"export-aliases",{"id":33,"name":75,"url":10,"url_text":10,"status":5,"groups":581},[582,698],{"navigation_items_group_id":583},{"id":45,"sort":61,"status":5,"name":584,"render_show_all_url":160,"show_all_url_position":161,"show_favorite_icon":160,"show_all_url":10,"represent_as_tile":160,"items":585},"Most popular",[586],{"collection":174,"item":587},{"id":19,"status":5,"sort":10,"name":75,"item":588},[589,597,604,611,618,624,631,638,645,652,659,668,675,682,690],{"collection":590,"item":591},"platforms",{"id":41,"status":5,"sort":4,"slug":592,"name":593,"icon":594},"android","Android",{"id":595,"title":596},"ff965add-53b0-44ad-b27c-ea4ef641d384","Ic Outline Android",{"collection":590,"item":598},{"id":45,"status":5,"sort":20,"slug":599,"name":600,"icon":601},"ios","iOS",{"id":602,"title":603},"886285d7-816a-4430-b5a5-edfe307b238e","Ios",{"collection":590,"item":605},{"id":535,"status":5,"sort":25,"slug":606,"name":607,"icon":608},"react","React",{"id":609,"title":610},"26757a90-88a3-4a94-b587-9f38614ed3bd","Logos React",{"collection":590,"item":612},{"id":103,"status":5,"sort":33,"slug":613,"name":614,"icon":615},"vuejs","Vue.js",{"id":616,"title":617},"6180b41f-3249-47d3-adcd-50fe1cf11bf1","Vue",{"collection":590,"item":619},{"id":91,"status":5,"sort":37,"slug":620,"name":621,"icon":622},"angular","Angular",{"id":623,"title":621},"2a31a97a-48c5-4531-aa36-41c9dd0bdbef",{"collection":590,"item":625},{"id":4,"status":5,"sort":41,"slug":626,"name":627,"icon":628},"flutter","Flutter",{"id":629,"title":630},"b9f13a11-9328-4a03-86cf-b20de0685606","Logos Flutter",{"collection":590,"item":632},{"id":25,"status":5,"sort":15,"slug":633,"name":634,"icon":635},"typescript","TypeScript",{"id":636,"title":637},"8d1319b5-8a96-4199-8407-00add3418b1f","Logos Typescript Icon",{"collection":590,"item":639},{"id":570,"status":5,"sort":19,"slug":640,"name":641,"icon":642},"javascript","JavaScript",{"id":643,"title":644},"4218d0c9-7e6b-494d-9663-37ceaf93ee8c","Logos Javascript",{"collection":590,"item":646},{"id":19,"status":5,"sort":107,"slug":647,"name":648,"icon":649},"json","JSON",{"id":650,"title":651},"99ac3b7c-dba5-4693-a4f4-1f27a6d7782d","Logos Json",{"collection":590,"item":653},{"id":24,"status":5,"sort":24,"slug":654,"name":655,"icon":656},"xliff","XLIFF",{"id":657,"title":658},"ca424cc8-e8a7-4aef-8dca-ef4a4d1334fc","Format",{"collection":590,"item":660},{"id":661,"status":5,"sort":662,"slug":663,"name":664,"icon":665},72,54,"strapi","Strapi",{"id":666,"title":667},"cde7f1d0-f2e0-4243-929e-a3f8f9146e69","Strapi Logo Purple",{"collection":590,"item":669},{"id":451,"status":5,"sort":443,"slug":670,"name":671,"icon":672},"figma","Figma",{"id":673,"title":674},"813745a4-a77d-4735-93b7-e0dd731b2304","Figma Icon",{"collection":590,"item":676},{"id":484,"status":5,"sort":382,"slug":677,"name":678,"icon":679},"microsoft-excel","Microsoft Excel",{"id":680,"title":681},"7a175955-7b96-4561-939f-a0e1924faa40","Excel",{"collection":590,"item":683},{"id":684,"status":5,"sort":459,"slug":685,"name":686,"icon":687},66,"github-actions","GitHub Actions",{"id":688,"title":689},"da17554f-ac6d-443d-9bac-1f29645ec1c6","Github Icon",{"collection":590,"item":691},{"id":692,"status":5,"sort":693,"slug":694,"name":695,"icon":696},97,999,"webflow","Webflow",{"id":697,"title":695},"ff43a386-52f8-499f-b77c-ab9a30f4a77e",{"navigation_items_group_id":699},{"id":33,"sort":15,"status":5,"name":700,"render_show_all_url":160,"show_all_url_position":161,"show_favorite_icon":160,"show_all_url":10,"represent_as_tile":160,"items":701},"Explore more",[702],{"collection":703,"item":704},"text_link_navigation_item_type",{"id":4,"status":5,"sort":10,"text":705,"url":706,"url_text":707},"Localazy is a technology-agnostic platform supporting 50+ frameworks, file formats & popular tools.","\u002Fintegrations","See all integrations",{"id":4,"name":79,"url":10,"url_text":10,"status":5,"groups":709},[710,734,740],{"navigation_items_group_id":711},{"id":4,"sort":19,"status":5,"name":712,"render_show_all_url":160,"show_all_url_position":161,"show_favorite_icon":160,"show_all_url":10,"represent_as_tile":160,"items":713},"Helpful Links",[714,717,719,723,725,728,730],{"collection":245,"item":715},{"id":71,"status":5,"sort":10,"url":101,"url_text":716,"show_favorite_icon":162},"Localazy Blog",{"collection":245,"item":718},{"id":83,"status":5,"sort":10,"url":85,"url_text":84,"show_favorite_icon":162},{"collection":245,"item":720},{"id":4,"status":5,"sort":10,"url":721,"url_text":722,"show_favorite_icon":160},"https:\u002F\u002Fdiscuss.localazy.com\u002F","Discussion Forum",{"collection":245,"item":724},{"id":19,"status":5,"sort":10,"url":93,"url_text":92,"show_favorite_icon":160},{"collection":245,"item":726},{"id":25,"status":5,"sort":10,"url":35,"url_text":727,"show_favorite_icon":160},"Become a Partner",{"collection":245,"item":729},{"id":87,"status":5,"sort":10,"url":105,"url_text":104,"show_favorite_icon":160},{"collection":245,"item":731},{"id":95,"status":5,"sort":10,"url":732,"url_text":733,"show_favorite_icon":160},"\u002Ftags\u002Frelease-update","Release Updates",{"navigation_items_group_id":735},{"id":20,"sort":83,"status":5,"name":716,"render_show_all_url":162,"show_all_url_position":161,"show_favorite_icon":160,"show_all_url":101,"represent_as_tile":160,"items":736},[737],{"collection":165,"item":738},{"id":25,"status":5,"sort":10,"show_author_img":160,"blog_post_tag":739,"description":10},"[USE LATEST FEATURED]",{"navigation_items_group_id":741},{"id":41,"sort":71,"status":5,"name":84,"render_show_all_url":162,"show_all_url_position":161,"show_favorite_icon":160,"show_all_url":85,"represent_as_tile":160,"items":742},[743,757,769,780,792,802,813,821],{"collection":174,"item":744},{"id":33,"status":5,"sort":10,"name":745,"item":746},"General",[747],{"collection":748,"item":749},"docs_section",{"id":20,"status":5,"sort":4,"slug":750,"name":745,"icon":751,"featured_icon":754},"general",{"id":752,"title":753},"423101f1-308c-42f1-8dfe-53272019e7cb","Global",{"id":755,"title":756},"0f7ca4cb-dc3b-4f62-b476-132ed5c4931f","General Doc",{"collection":174,"item":758},{"id":37,"status":5,"sort":10,"name":759,"item":760},"CLI",[761],{"collection":748,"item":762},{"id":25,"status":5,"sort":20,"slug":540,"name":759,"icon":763,"featured_icon":766},{"id":764,"title":765},"2f7a4573-8265-4d76-8d55-ce0cc79b8983","Cli",{"id":767,"title":768},"3f76ff7b-0e74-4046-bb03-4ca99c3b66d5","Doc Cat Cli",{"collection":174,"item":770},{"id":53,"status":5,"sort":10,"name":771,"item":772},"API",[773],{"collection":748,"item":774},{"id":107,"status":5,"sort":25,"slug":775,"name":771,"icon":776,"featured_icon":777},"api",{"id":764,"title":765},{"id":778,"title":779},"20866781-e69b-4e01-9456-05437487b75c","API Doc",{"collection":174,"item":781},{"id":782,"status":5,"sort":10,"name":783,"item":784},50,"CDN",[785],{"collection":748,"item":786},{"id":252,"status":5,"sort":33,"slug":787,"name":783,"icon":788,"featured_icon":789},"cdn",{"id":752,"title":753},{"id":790,"title":791},"a8ee9cb7-4e02-41f0-b595-eb518c3085b6","Doc Cat Cdn",{"collection":174,"item":793},{"id":41,"status":5,"sort":10,"name":593,"item":794},[795],{"collection":748,"item":796},{"id":4,"status":5,"sort":37,"slug":592,"name":593,"icon":797,"featured_icon":799},{"id":798,"title":593},"fb8329ae-0c0c-4fbc-bcdc-83f2eeda1039",{"id":800,"title":801},"f7c0dec8-5b42-4943-ab3a-e3665723ad6f","Doc Cat Android",{"collection":174,"item":803},{"id":45,"status":5,"sort":10,"name":600,"item":804},[805],{"collection":748,"item":806},{"id":33,"status":5,"sort":41,"slug":599,"name":600,"icon":807,"featured_icon":810},{"id":808,"title":809},"289e136c-55df-4d51-847b-1782a2308ee4","Ios Blue",{"id":811,"title":812},"2968d3f0-14b5-4427-82e7-f1ea2de17846","Doc Cat Ios",{"collection":174,"item":814},{"id":57,"status":5,"sort":10,"name":671,"item":815},[816],{"collection":748,"item":817},{"id":24,"status":5,"sort":45,"slug":670,"name":671,"icon":818,"featured_icon":819},{"id":764,"title":765},{"id":820,"title":671},"f5e66b5b-a439-47f6-af4a-6ad261de2e87",{"collection":174,"item":822},{"id":61,"status":5,"sort":10,"name":664,"item":823},[824],{"collection":748,"item":825},{"id":280,"status":5,"sort":53,"slug":663,"name":664,"icon":826,"featured_icon":828},{"id":827,"title":664},"3b4b03c7-e131-49e6-a014-c8c2c8a2751e",{"id":829,"title":830},"1dd05c76-e517-4aea-a3d8-49cfddb40056","Strapi Doc",{"id":25,"name":108,"url":109,"url_text":108,"status":5,"groups":832},[],{"id":41,"name":16,"url":834,"url_text":16,"status":5,"groups":835},"\u002Fbook-demo",[],{"status":5,"header_badges":837,"footer_badges":855,"footer_secured_badges":861,"slider_badges":873},[838,845,850],{"id":4,"status":5,"sort":10,"link":839,"title":840,"badgeType":841,"badgeName":842,"metadata":10,"image":843},"https:\u002F\u002Fwww.g2.com\u002Fproducts\u002Flocalazy\u002Freviews","Best meets requirements","Other","G2-winter-24-best-meets-requirments",{"id":844},"8d5dd6fd-6995-4c92-8219-a6ed5ba6acdc",{"id":20,"status":5,"sort":10,"link":839,"title":846,"badgeType":841,"badgeName":847,"metadata":10,"image":848},"Best support","G2-winter-24-best-support",{"id":849},"e59dd465-84d9-45c7-987d-dd4048fd6992",{"id":25,"status":5,"sort":10,"link":839,"title":851,"badgeType":841,"badgeName":852,"metadata":10,"image":853},"Easiest admin","G2-winter-24-easiest-admin",{"id":854},"5f12c4c8-bec0-47cf-87b4-a4502e9f1bd2",[856],{"id":19,"status":5,"sort":10,"link":839,"title":857,"badgeType":841,"badgeName":858,"metadata":10,"image":859},"Users love us","Users love us 25",{"id":860},"232416a5-86ba-4be6-85a5-b88802003d53",[862,868],{"id":15,"status":5,"sort":10,"link":863,"title":864,"badgeType":841,"badgeName":865,"metadata":10,"image":866},"https:\u002F\u002Fsprinto.com\u002Fget-iso-27001\u002F","Sprinto ISO 27001","Sprinto ISO 27001 certificate",{"id":867},"c1c6c06c-6caf-4b78-8a7e-9606c395eb61",{"id":71,"status":5,"sort":10,"link":869,"title":870,"badgeType":841,"badgeName":870,"metadata":10,"image":871},"https:\u002F\u002Fwww.aicpa.org\u002Fsoc4so","SOC certificate",{"id":872},"4f4bc0a6-09a0-41df-8295-8f990d96d941",[874,880,884,888,892,896,901],{"id":37,"status":5,"sort":10,"link":839,"title":875,"badgeType":841,"badgeName":876,"metadata":877,"image":878},"Most likely to recommend","a","",{"id":879},"da055731-3f11-4fc7-96f2-c11c0b84c831",{"id":41,"status":5,"sort":10,"link":839,"title":881,"badgeType":841,"badgeName":10,"metadata":10,"image":882},"EMEA High Performer",{"id":883},"586fb488-81f2-41db-a4e8-ef309e50c0e6",{"id":45,"status":5,"sort":10,"link":839,"title":885,"badgeType":841,"badgeName":10,"metadata":10,"image":886},"Ease of Doing Business With",{"id":887},"bfa26865-430e-463d-9886-cb56a8a8ecf6",{"id":53,"status":5,"sort":10,"link":839,"title":889,"badgeType":841,"badgeName":10,"metadata":10,"image":890},"High Performer",{"id":891},"2cc1ba0f-c23a-4c97-ad4a-a655c97466fe",{"id":57,"status":5,"sort":10,"link":839,"title":893,"badgeType":841,"badgeName":10,"metadata":10,"image":894},"Fastest Implementation",{"id":895},"6f297758-1c95-45f4-a6e9-528319897132",{"id":61,"status":5,"sort":10,"link":897,"title":898,"badgeType":841,"badgeName":10,"metadata":10,"image":899},"https:\u002F\u002Fwww.intercert.com\u002Fservices\u002Fgovernance-risk-compliance\u002Fiso-iec-27001","Intercert ISO 27001",{"id":900},"0521a5f1-e1f2-4da6-a2bc-dc92773f2a7b",{"id":15,"status":5,"sort":10,"link":863,"title":864,"badgeType":841,"badgeName":865,"metadata":10,"image":902},{"id":867},[904,1044,1122,1228,1314,1393,1482,1573,1660,1759],{"id":535,"status":5,"created_on":905,"modified_on":906,"name":607,"slug":606,"description":907,"docs_link":908,"priority":10,"has_sdk":160,"sort":25,"highlighted":160,"in_menu":162,"changefreq":10,"support_type":909,"show_in_spa":162,"is_file_format":160,"meta_title":10,"meta_description":10,"featured_on_web":162,"marketing_subtitle":910,"tile_subtitle":911,"tile_description":912,"is_enterprise":160,"is_popular":160,"primary_use_case":10,"hierarchy_handling":10,"best_for":10,"file_extension":10,"format_code_example":10,"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":535},"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":647},[],{"id":609},{"id":917},"a97492ec-ee8d-429c-bf66-d0fe59b6e5c9",{"id":37,"status":5,"sort":20,"created_on":919,"label":920,"hidden":160,"icon":921,"translations":923},"2022-03-17T12:23:44.000Z","Web apps",{"id":922},"c9e70e4f-8136-432a-8d82-53c3501a9eb4",[924,926,929,932],{"id":37,"languages_code":925,"label":920},"xxa",{"id":365,"languages_code":927,"label":928},"es","Aplicaciones web",{"id":782,"languages_code":930,"label":931},"cs","Webové aplikace",{"id":565,"languages_code":933,"label":920},"en",[935,942],{"id":37,"status":5,"sort":20,"label":920,"hidden":160,"created_on":919,"icon":936,"translations":937},{"id":922},[938,939,940,941],{"id":37,"languages_code":925,"label":920},{"id":365,"languages_code":927,"label":928},{"id":782,"languages_code":930,"label":931},{"id":565,"languages_code":933,"label":920},{"id":53,"status":5,"sort":57,"label":943,"hidden":160,"created_on":944,"icon":10,"translations":945},"Framework","2022-03-17T12:23:45.000Z",[946,947,949,950],{"id":53,"languages_code":925,"label":943},{"id":500,"languages_code":927,"label":948},"Marco",{"id":451,"languages_code":930,"label":943},{"id":951,"languages_code":933,"label":943},67,[953,965,990,1011],{"id":33,"status":5,"sort":41,"label":771,"alternative_label":10,"slug":775,"description":954,"documentation_link":955,"loc_icon":775,"is_official_plugin":160,"is_universal_plugin":160,"universal_plugin_vendor":10,"translations":956},"Translate strings directly or upload them into your Localazy project.","\u002Fdocs\u002Fapi\u002Fintroduction",[957,958,961,963],{"id":33,"languages_code":925,"label":771,"description":954,"slug":775},{"id":959,"languages_code":927,"label":771,"description":960,"slug":775},40,"Utilice la API para exportar traducciones e importar contenido de\u002Fa Localazy mediante programación.",{"id":782,"languages_code":933,"label":771,"description":962,"slug":775},"Choose between translating strings directly or uploading them into Localazy.",{"id":565,"languages_code":930,"label":771,"description":964,"slug":775},"Pomocí rozhraní API můžete programovaně exportovat překlady a importovat obsah z\u002Fdo Localazy.",{"id":25,"status":5,"sort":37,"label":966,"alternative_label":10,"slug":967,"description":968,"documentation_link":969,"loc_icon":970,"is_official_plugin":160,"is_universal_plugin":160,"universal_plugin_vendor":10,"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":25,"languages_code":925,"label":966,"description":968,"slug":967},{"id":291,"languages_code":927,"label":974,"description":975,"slug":10},"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":484,"languages_code":933,"label":966,"description":968,"slug":967},{"id":451,"languages_code":930,"label":978,"description":979,"slug":10},"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":402,"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":411,"languages_code":933,"label":966,"description":968,"slug":967},{"id":684,"languages_code":930,"label":978,"description":979,"slug":967},{"id":986,"languages_code":987,"label":988,"description":989,"slug":10},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":20,"status":5,"sort":33,"label":991,"alternative_label":992,"slug":993,"description":994,"documentation_link":995,"loc_icon":996,"is_official_plugin":160,"is_universal_plugin":160,"universal_plugin_vendor":10,"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":20,"languages_code":925,"label":991,"description":994,"slug":993},{"id":218,"languages_code":927,"label":1000,"description":1001,"slug":10},"Carga directa de archivos","Cargue sus textos y traducciones existentes en cualquier formato directamente para empezar rápidamente.",{"id":382,"languages_code":933,"label":991,"description":994,"slug":993},{"id":1004,"languages_code":930,"label":1005,"description":1006,"slug":10},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":10},85,"Direkter Datei-Upload","Laden Sie Ihre Texte und vorhandenen Übersetzungen in einem beliebigen Format direkt hoch, um schnell loszulegen.",{"id":4,"status":5,"sort":25,"label":1012,"alternative_label":759,"slug":540,"description":1013,"documentation_link":1014,"loc_icon":540,"is_official_plugin":160,"is_universal_plugin":160,"universal_plugin_vendor":10,"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":4,"languages_code":925,"label":1012,"description":1013,"slug":540},{"id":207,"languages_code":927,"label":1018,"description":1019,"slug":540},"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":374,"languages_code":933,"label":1012,"description":1013,"slug":540},{"id":443,"languages_code":930,"label":1022,"description":1023,"slug":540},"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":10},87,"Befehlszeilenschnittstelle","Die beste Option für Entwickler, die die Lokalisierung zu einem automatisierten Teil ihres Arbeitsablaufs machen möchten.",[],{"id":4,"status":5,"sort":25,"label":1012,"alternative_label":759,"slug":540,"description":1013,"documentation_link":1014,"loc_icon":540,"is_official_plugin":160,"is_universal_plugin":160,"universal_plugin_vendor":10,"translations":1030},[1031,1032,1033,1034,1035],{"id":4,"languages_code":925,"label":1012,"description":1013,"slug":540},{"id":207,"languages_code":927,"label":1018,"description":1019,"slug":540},{"id":374,"languages_code":933,"label":1012,"description":1013,"slug":540},{"id":443,"languages_code":930,"label":1022,"description":1023,"slug":540},{"id":1025,"languages_code":987,"label":1026,"description":1027,"slug":10},[1037],{"id":1038,"status":5,"created_on":1039,"sort":10,"slug":1040,"label":1041,"on_faq_index":10},76,"2025-02-26T12:44:29.000Z","front-end-common","Front-end Common",[1043],{"languages_code":925,"name":607,"slug":606,"description":907,"support_type":909,"meta_title":10,"meta_description":10,"marketing_subtitle":910,"tile_subtitle":911,"tile_description":912,"id":535,"platforms_id":535,"docs_link":908},{"id":103,"status":5,"created_on":905,"modified_on":1045,"name":614,"slug":613,"description":1046,"docs_link":908,"priority":10,"has_sdk":160,"sort":33,"highlighted":160,"in_menu":162,"changefreq":10,"support_type":909,"show_in_spa":162,"is_file_format":160,"meta_title":10,"meta_description":10,"featured_on_web":162,"marketing_subtitle":910,"tile_subtitle":1047,"tile_description":1048,"is_enterprise":160,"is_popular":160,"primary_use_case":10,"hierarchy_handling":10,"best_for":10,"file_extension":10,"format_code_example":10,"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":103},"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":647},[],{"id":616},{"id":1053},"8171b836-d6b8-4354-8db3-34ccd384970d",{"id":37,"status":5,"sort":20,"created_on":919,"label":920,"hidden":160,"icon":1055,"translations":1056},{"id":922},[1057,1058,1059,1060],{"id":37,"languages_code":925,"label":920},{"id":365,"languages_code":927,"label":928},{"id":782,"languages_code":930,"label":931},{"id":565,"languages_code":933,"label":920},[1062,1069],{"id":37,"status":5,"sort":20,"label":920,"hidden":160,"created_on":919,"icon":1063,"translations":1064},{"id":922},[1065,1066,1067,1068],{"id":37,"languages_code":925,"label":920},{"id":365,"languages_code":927,"label":928},{"id":782,"languages_code":930,"label":931},{"id":565,"languages_code":933,"label":920},{"id":53,"status":5,"sort":57,"label":943,"hidden":160,"created_on":944,"icon":10,"translations":1070},[1071,1072,1073,1074],{"id":53,"languages_code":925,"label":943},{"id":500,"languages_code":927,"label":948},{"id":451,"languages_code":930,"label":943},{"id":951,"languages_code":933,"label":943},[1076,1082,1092,1099],{"id":33,"status":5,"sort":41,"label":771,"alternative_label":10,"slug":775,"description":954,"documentation_link":955,"loc_icon":775,"is_official_plugin":160,"is_universal_plugin":160,"universal_plugin_vendor":10,"translations":1077},[1078,1079,1080,1081],{"id":33,"languages_code":925,"label":771,"description":954,"slug":775},{"id":959,"languages_code":927,"label":771,"description":960,"slug":775},{"id":782,"languages_code":933,"label":771,"description":962,"slug":775},{"id":565,"languages_code":930,"label":771,"description":964,"slug":775},{"id":25,"status":5,"sort":37,"label":966,"alternative_label":10,"slug":967,"description":968,"documentation_link":969,"loc_icon":970,"is_official_plugin":160,"is_universal_plugin":160,"universal_plugin_vendor":10,"translations":1083},[1084,1085,1086,1087,1088,1089,1090,1091],{"id":25,"languages_code":925,"label":966,"description":968,"slug":967},{"id":291,"languages_code":927,"label":974,"description":975,"slug":10},{"id":484,"languages_code":933,"label":966,"description":968,"slug":967},{"id":451,"languages_code":930,"label":978,"description":979,"slug":10},{"id":402,"languages_code":927,"label":981,"description":982,"slug":967},{"id":411,"languages_code":933,"label":966,"description":968,"slug":967},{"id":684,"languages_code":930,"label":978,"description":979,"slug":967},{"id":986,"languages_code":987,"label":988,"description":989,"slug":10},{"id":20,"status":5,"sort":33,"label":991,"alternative_label":992,"slug":993,"description":994,"documentation_link":995,"loc_icon":996,"is_official_plugin":160,"is_universal_plugin":160,"universal_plugin_vendor":10,"translations":1093},[1094,1095,1096,1097,1098],{"id":20,"languages_code":925,"label":991,"description":994,"slug":993},{"id":218,"languages_code":927,"label":1000,"description":1001,"slug":10},{"id":382,"languages_code":933,"label":991,"description":994,"slug":993},{"id":1004,"languages_code":930,"label":1005,"description":1006,"slug":10},{"id":1008,"languages_code":987,"label":1009,"description":1010,"slug":10},{"id":4,"status":5,"sort":25,"label":1012,"alternative_label":759,"slug":540,"description":1013,"documentation_link":1014,"loc_icon":540,"is_official_plugin":160,"is_universal_plugin":160,"universal_plugin_vendor":10,"translations":1100},[1101,1102,1103,1104,1105],{"id":4,"languages_code":925,"label":1012,"description":1013,"slug":540},{"id":207,"languages_code":927,"label":1018,"description":1019,"slug":540},{"id":374,"languages_code":933,"label":1012,"description":1013,"slug":540},{"id":443,"languages_code":930,"label":1022,"description":1023,"slug":540},{"id":1025,"languages_code":987,"label":1026,"description":1027,"slug":10},[],{"id":4,"status":5,"sort":25,"label":1012,"alternative_label":759,"slug":540,"description":1013,"documentation_link":1014,"loc_icon":540,"is_official_plugin":160,"is_universal_plugin":160,"universal_plugin_vendor":10,"translations":1108},[1109,1110,1111,1112,1113],{"id":4,"languages_code":925,"label":1012,"description":1013,"slug":540},{"id":207,"languages_code":927,"label":1018,"description":1019,"slug":540},{"id":374,"languages_code":933,"label":1012,"description":1013,"slug":540},{"id":443,"languages_code":930,"label":1022,"description":1023,"slug":540},{"id":1025,"languages_code":987,"label":1026,"description":1027,"slug":10},[1115,1119],{"id":1004,"status":5,"created_on":1116,"sort":10,"slug":1117,"label":1118,"on_faq_index":10},"2023-03-01T11:21:41.000Z","vue-localization","Vue.js Localization",{"id":1038,"status":5,"created_on":1039,"sort":10,"slug":1040,"label":1041,"on_faq_index":10},[1121],{"languages_code":925,"name":614,"slug":613,"description":1046,"support_type":909,"meta_title":10,"meta_description":10,"marketing_subtitle":910,"tile_subtitle":1047,"tile_description":1048,"id":103,"platforms_id":103,"docs_link":908},{"id":4,"status":5,"created_on":905,"modified_on":1123,"name":627,"slug":626,"description":1124,"docs_link":1125,"priority":10,"has_sdk":160,"sort":41,"highlighted":160,"in_menu":162,"changefreq":10,"support_type":1126,"show_in_spa":162,"is_file_format":160,"meta_title":10,"meta_description":10,"featured_on_web":160,"marketing_subtitle":910,"tile_subtitle":1126,"tile_description":1127,"is_enterprise":160,"is_popular":160,"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":4},"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":629},{"id":1138},"c2674666-4371-4aa4-9a65-438c7363fafe",{"id":41,"status":5,"sort":53,"created_on":944,"label":1140,"hidden":160,"icon":1141,"translations":1143},"Mobile apps",{"id":1142},"c9c7e1f5-8b59-4016-ae0c-6fba9469cd55",[1144,1145,1147,1149],{"id":41,"languages_code":925,"label":1140},{"id":374,"languages_code":927,"label":1146},"Aplicaciones móviles",{"id":443,"languages_code":930,"label":1148},"Mobilní aplikace",{"id":411,"languages_code":933,"label":1140},[1151,1162,1169,1176],{"id":45,"status":5,"sort":103,"label":1152,"hidden":160,"created_on":944,"icon":1153,"translations":1155},"Desktop & Games",{"id":1154},"65b04533-5b4c-430c-b8a4-ecce84754200",[1156,1157,1159,1161],{"id":45,"languages_code":925,"label":1152},{"id":382,"languages_code":927,"label":1158},"Escritorio y Juegos",{"id":1004,"languages_code":930,"label":1160},"Stolní počítače & Hry",{"id":684,"languages_code":933,"label":1152},{"id":37,"status":5,"sort":20,"label":920,"hidden":160,"created_on":919,"icon":1163,"translations":1164},{"id":922},[1165,1166,1167,1168],{"id":37,"languages_code":925,"label":920},{"id":365,"languages_code":927,"label":928},{"id":782,"languages_code":930,"label":931},{"id":565,"languages_code":933,"label":920},{"id":41,"status":5,"sort":53,"label":1140,"hidden":160,"created_on":944,"icon":1170,"translations":1171},{"id":1142},[1172,1173,1174,1175],{"id":41,"languages_code":925,"label":1140},{"id":374,"languages_code":927,"label":1146},{"id":443,"languages_code":930,"label":1148},{"id":411,"languages_code":933,"label":1140},{"id":223,"status":5,"sort":407,"label":1177,"hidden":162,"created_on":944,"icon":10,"translations":1178},"ARB",[1179,1180,1182,1184],{"id":223,"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":33,"status":5,"sort":41,"label":771,"alternative_label":10,"slug":775,"description":954,"documentation_link":955,"loc_icon":775,"is_official_plugin":160,"is_universal_plugin":160,"universal_plugin_vendor":10,"translations":1188},[1189,1190,1191,1192],{"id":33,"languages_code":925,"label":771,"description":954,"slug":775},{"id":959,"languages_code":927,"label":771,"description":960,"slug":775},{"id":782,"languages_code":933,"label":771,"description":962,"slug":775},{"id":565,"languages_code":930,"label":771,"description":964,"slug":775},{"id":25,"status":5,"sort":37,"label":966,"alternative_label":10,"slug":967,"description":968,"documentation_link":969,"loc_icon":970,"is_official_plugin":160,"is_universal_plugin":160,"universal_plugin_vendor":10,"translations":1194},[1195,1196,1197,1198,1199,1200,1201,1202],{"id":25,"languages_code":925,"label":966,"description":968,"slug":967},{"id":291,"languages_code":927,"label":974,"description":975,"slug":10},{"id":484,"languages_code":933,"label":966,"description":968,"slug":967},{"id":451,"languages_code":930,"label":978,"description":979,"slug":10},{"id":402,"languages_code":927,"label":981,"description":982,"slug":967},{"id":411,"languages_code":933,"label":966,"description":968,"slug":967},{"id":684,"languages_code":930,"label":978,"description":979,"slug":967},{"id":986,"languages_code":987,"label":988,"description":989,"slug":10},{"id":20,"status":5,"sort":33,"label":991,"alternative_label":992,"slug":993,"description":994,"documentation_link":995,"loc_icon":996,"is_official_plugin":160,"is_universal_plugin":160,"universal_plugin_vendor":10,"translations":1204},[1205,1206,1207,1208,1209],{"id":20,"languages_code":925,"label":991,"description":994,"slug":993},{"id":218,"languages_code":927,"label":1000,"description":1001,"slug":10},{"id":382,"languages_code":933,"label":991,"description":994,"slug":993},{"id":1004,"languages_code":930,"label":1005,"description":1006,"slug":10},{"id":1008,"languages_code":987,"label":1009,"description":1010,"slug":10},{"id":4,"status":5,"sort":25,"label":1012,"alternative_label":759,"slug":540,"description":1013,"documentation_link":1014,"loc_icon":540,"is_official_plugin":160,"is_universal_plugin":160,"universal_plugin_vendor":10,"translations":1211},[1212,1213,1214,1215,1216],{"id":4,"languages_code":925,"label":1012,"description":1013,"slug":540},{"id":207,"languages_code":927,"label":1018,"description":1019,"slug":540},{"id":374,"languages_code":933,"label":1012,"description":1013,"slug":540},{"id":443,"languages_code":930,"label":1022,"description":1023,"slug":540},{"id":1025,"languages_code":987,"label":1026,"description":1027,"slug":10},[],{"id":4,"status":5,"sort":25,"label":1012,"alternative_label":759,"slug":540,"description":1013,"documentation_link":1014,"loc_icon":540,"is_official_plugin":160,"is_universal_plugin":160,"universal_plugin_vendor":10,"translations":1219},[1220,1221,1222,1223,1224],{"id":4,"languages_code":925,"label":1012,"description":1013,"slug":540},{"id":207,"languages_code":927,"label":1018,"description":1019,"slug":540},{"id":374,"languages_code":933,"label":1012,"description":1013,"slug":540},{"id":443,"languages_code":930,"label":1022,"description":1023,"slug":540},{"id":1025,"languages_code":987,"label":1026,"description":1027,"slug":10},[],[1227],{"languages_code":925,"name":627,"slug":626,"description":1124,"support_type":1126,"meta_title":10,"meta_description":10,"marketing_subtitle":910,"tile_subtitle":1126,"tile_description":1127,"id":4,"platforms_id":4,"docs_link":1125},{"id":570,"status":5,"created_on":1229,"modified_on":1230,"name":641,"slug":640,"description":1231,"docs_link":1232,"priority":10,"has_sdk":160,"sort":19,"highlighted":160,"in_menu":162,"changefreq":10,"support_type":1233,"show_in_spa":162,"is_file_format":160,"meta_title":10,"meta_description":10,"featured_on_web":162,"marketing_subtitle":910,"tile_subtitle":1233,"tile_description":1234,"is_enterprise":160,"is_popular":160,"primary_use_case":10,"hierarchy_handling":10,"best_for":10,"file_extension":10,"format_code_example":10,"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":570},"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":643},{"id":1240},"2c6699eb-1d80-4772-8268-5597dbcead8c",{"id":61,"status":5,"sort":61,"created_on":944,"label":1242,"hidden":160,"icon":1243,"translations":1245},"Programming Languages",{"id":1244},"8c5836bb-1fbe-49c5-9330-8f931838c457",[1246,1247,1249,1252],{"id":61,"languages_code":925,"label":1242},{"id":468,"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":37,"status":5,"sort":20,"label":920,"hidden":160,"created_on":919,"icon":1256,"translations":1257},{"id":922},[1258,1259,1260,1261],{"id":37,"languages_code":925,"label":920},{"id":365,"languages_code":927,"label":928},{"id":782,"languages_code":930,"label":931},{"id":565,"languages_code":933,"label":920},{"id":61,"status":5,"sort":61,"label":1242,"hidden":160,"created_on":944,"icon":1263,"translations":1264},{"id":1244},[1265,1266,1267,1268],{"id":61,"languages_code":925,"label":1242},{"id":468,"languages_code":927,"label":1248},{"id":1250,"languages_code":930,"label":1251},{"id":1253,"languages_code":933,"label":1242},[1270,1276,1286,1293],{"id":33,"status":5,"sort":41,"label":771,"alternative_label":10,"slug":775,"description":954,"documentation_link":955,"loc_icon":775,"is_official_plugin":160,"is_universal_plugin":160,"universal_plugin_vendor":10,"translations":1271},[1272,1273,1274,1275],{"id":33,"languages_code":925,"label":771,"description":954,"slug":775},{"id":959,"languages_code":927,"label":771,"description":960,"slug":775},{"id":782,"languages_code":933,"label":771,"description":962,"slug":775},{"id":565,"languages_code":930,"label":771,"description":964,"slug":775},{"id":25,"status":5,"sort":37,"label":966,"alternative_label":10,"slug":967,"description":968,"documentation_link":969,"loc_icon":970,"is_official_plugin":160,"is_universal_plugin":160,"universal_plugin_vendor":10,"translations":1277},[1278,1279,1280,1281,1282,1283,1284,1285],{"id":25,"languages_code":925,"label":966,"description":968,"slug":967},{"id":291,"languages_code":927,"label":974,"description":975,"slug":10},{"id":484,"languages_code":933,"label":966,"description":968,"slug":967},{"id":451,"languages_code":930,"label":978,"description":979,"slug":10},{"id":402,"languages_code":927,"label":981,"description":982,"slug":967},{"id":411,"languages_code":933,"label":966,"description":968,"slug":967},{"id":684,"languages_code":930,"label":978,"description":979,"slug":967},{"id":986,"languages_code":987,"label":988,"description":989,"slug":10},{"id":20,"status":5,"sort":33,"label":991,"alternative_label":992,"slug":993,"description":994,"documentation_link":995,"loc_icon":996,"is_official_plugin":160,"is_universal_plugin":160,"universal_plugin_vendor":10,"translations":1287},[1288,1289,1290,1291,1292],{"id":20,"languages_code":925,"label":991,"description":994,"slug":993},{"id":218,"languages_code":927,"label":1000,"description":1001,"slug":10},{"id":382,"languages_code":933,"label":991,"description":994,"slug":993},{"id":1004,"languages_code":930,"label":1005,"description":1006,"slug":10},{"id":1008,"languages_code":987,"label":1009,"description":1010,"slug":10},{"id":4,"status":5,"sort":25,"label":1012,"alternative_label":759,"slug":540,"description":1013,"documentation_link":1014,"loc_icon":540,"is_official_plugin":160,"is_universal_plugin":160,"universal_plugin_vendor":10,"translations":1294},[1295,1296,1297,1298,1299],{"id":4,"languages_code":925,"label":1012,"description":1013,"slug":540},{"id":207,"languages_code":927,"label":1018,"description":1019,"slug":540},{"id":374,"languages_code":933,"label":1012,"description":1013,"slug":540},{"id":443,"languages_code":930,"label":1022,"description":1023,"slug":540},{"id":1025,"languages_code":987,"label":1026,"description":1027,"slug":10},[],{"id":4,"status":5,"sort":25,"label":1012,"alternative_label":759,"slug":540,"description":1013,"documentation_link":1014,"loc_icon":540,"is_official_plugin":160,"is_universal_plugin":160,"universal_plugin_vendor":10,"translations":1302},[1303,1304,1305,1306,1307],{"id":4,"languages_code":925,"label":1012,"description":1013,"slug":540},{"id":207,"languages_code":927,"label":1018,"description":1019,"slug":540},{"id":374,"languages_code":933,"label":1012,"description":1013,"slug":540},{"id":443,"languages_code":930,"label":1022,"description":1023,"slug":540},{"id":1025,"languages_code":987,"label":1026,"description":1027,"slug":10},[1309],{"id":464,"status":5,"created_on":1310,"sort":10,"slug":1311,"label":641,"on_faq_index":160},"2022-06-10T09:49:33.000Z","javascript-i18n-localization",[1313],{"languages_code":925,"name":641,"slug":640,"description":1231,"support_type":1233,"meta_title":10,"meta_description":10,"marketing_subtitle":910,"tile_subtitle":1233,"tile_description":1234,"id":570,"platforms_id":570,"docs_link":1232},{"id":19,"status":5,"created_on":1229,"modified_on":1315,"name":648,"slug":647,"description":1316,"docs_link":908,"priority":10,"has_sdk":160,"sort":107,"highlighted":160,"in_menu":162,"changefreq":10,"support_type":1317,"show_in_spa":162,"is_file_format":162,"meta_title":10,"meta_description":10,"featured_on_web":162,"marketing_subtitle":910,"tile_subtitle":1318,"tile_description":1319,"is_enterprise":160,"is_popular":162,"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":19},"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":647},[],{"id":650},{"id":1329},"8d614c20-667e-4bee-a64d-7d7ce9c0ee0a",{"id":33,"status":5,"sort":37,"created_on":944,"label":1331,"hidden":160,"icon":1332,"translations":1334},"File formats",{"id":1333},"ab7c8f89-dcce-45ab-9e21-8605aef289c3",[1335,1336,1338,1340],{"id":33,"languages_code":925,"label":1331},{"id":356,"languages_code":927,"label":1337},"Formatos de archivo",{"id":484,"languages_code":930,"label":1339},"Formáty souborů",{"id":574,"languages_code":933,"label":1331},[1342],{"id":33,"status":5,"sort":37,"label":1331,"hidden":160,"created_on":944,"icon":1343,"translations":1344},{"id":1333},[1345,1346,1347,1348],{"id":33,"languages_code":925,"label":1331},{"id":356,"languages_code":927,"label":1337},{"id":484,"languages_code":930,"label":1339},{"id":574,"languages_code":933,"label":1331},[1350,1356,1366,1373],{"id":33,"status":5,"sort":41,"label":771,"alternative_label":10,"slug":775,"description":954,"documentation_link":955,"loc_icon":775,"is_official_plugin":160,"is_universal_plugin":160,"universal_plugin_vendor":10,"translations":1351},[1352,1353,1354,1355],{"id":33,"languages_code":925,"label":771,"description":954,"slug":775},{"id":959,"languages_code":927,"label":771,"description":960,"slug":775},{"id":782,"languages_code":933,"label":771,"description":962,"slug":775},{"id":565,"languages_code":930,"label":771,"description":964,"slug":775},{"id":25,"status":5,"sort":37,"label":966,"alternative_label":10,"slug":967,"description":968,"documentation_link":969,"loc_icon":970,"is_official_plugin":160,"is_universal_plugin":160,"universal_plugin_vendor":10,"translations":1357},[1358,1359,1360,1361,1362,1363,1364,1365],{"id":25,"languages_code":925,"label":966,"description":968,"slug":967},{"id":291,"languages_code":927,"label":974,"description":975,"slug":10},{"id":484,"languages_code":933,"label":966,"description":968,"slug":967},{"id":451,"languages_code":930,"label":978,"description":979,"slug":10},{"id":402,"languages_code":927,"label":981,"description":982,"slug":967},{"id":411,"languages_code":933,"label":966,"description":968,"slug":967},{"id":684,"languages_code":930,"label":978,"description":979,"slug":967},{"id":986,"languages_code":987,"label":988,"description":989,"slug":10},{"id":20,"status":5,"sort":33,"label":991,"alternative_label":992,"slug":993,"description":994,"documentation_link":995,"loc_icon":996,"is_official_plugin":160,"is_universal_plugin":160,"universal_plugin_vendor":10,"translations":1367},[1368,1369,1370,1371,1372],{"id":20,"languages_code":925,"label":991,"description":994,"slug":993},{"id":218,"languages_code":927,"label":1000,"description":1001,"slug":10},{"id":382,"languages_code":933,"label":991,"description":994,"slug":993},{"id":1004,"languages_code":930,"label":1005,"description":1006,"slug":10},{"id":1008,"languages_code":987,"label":1009,"description":1010,"slug":10},{"id":4,"status":5,"sort":25,"label":1012,"alternative_label":759,"slug":540,"description":1013,"documentation_link":1014,"loc_icon":540,"is_official_plugin":160,"is_universal_plugin":160,"universal_plugin_vendor":10,"translations":1374},[1375,1376,1377,1378,1379],{"id":4,"languages_code":925,"label":1012,"description":1013,"slug":540},{"id":207,"languages_code":927,"label":1018,"description":1019,"slug":540},{"id":374,"languages_code":933,"label":1012,"description":1013,"slug":540},{"id":443,"languages_code":930,"label":1022,"description":1023,"slug":540},{"id":1025,"languages_code":987,"label":1026,"description":1027,"slug":10},[],{"id":4,"status":5,"sort":25,"label":1012,"alternative_label":759,"slug":540,"description":1013,"documentation_link":1014,"loc_icon":540,"is_official_plugin":160,"is_universal_plugin":160,"universal_plugin_vendor":10,"translations":1382},[1383,1384,1385,1386,1387],{"id":4,"languages_code":925,"label":1012,"description":1013,"slug":540},{"id":207,"languages_code":927,"label":1018,"description":1019,"slug":540},{"id":374,"languages_code":933,"label":1012,"description":1013,"slug":540},{"id":443,"languages_code":930,"label":1022,"description":1023,"slug":540},{"id":1025,"languages_code":987,"label":1026,"description":1027,"slug":10},[1389],{"id":423,"status":5,"created_on":1390,"sort":10,"slug":647,"label":648,"on_faq_index":160},"2022-06-10T10:49:07.000Z",[1392],{"languages_code":925,"name":648,"slug":647,"description":1316,"support_type":1317,"meta_title":10,"meta_description":10,"marketing_subtitle":910,"tile_subtitle":1318,"tile_description":1319,"id":19,"platforms_id":19,"docs_link":908},{"id":24,"status":5,"created_on":1229,"modified_on":1394,"name":655,"slug":654,"description":1395,"docs_link":1396,"priority":10,"has_sdk":160,"sort":24,"highlighted":160,"in_menu":162,"changefreq":10,"support_type":1397,"show_in_spa":160,"is_file_format":162,"meta_title":10,"meta_description":10,"featured_on_web":162,"marketing_subtitle":910,"tile_subtitle":1398,"tile_description":1399,"is_enterprise":160,"is_popular":162,"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":24},"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":657},{"id":1410},"889970a6-cce8-4055-b96a-9c3f292aa67f",{"id":33,"status":5,"sort":37,"created_on":944,"label":1331,"hidden":160,"icon":1412,"translations":1413},{"id":1333},[1414,1415,1416,1417],{"id":33,"languages_code":925,"label":1331},{"id":356,"languages_code":927,"label":1337},{"id":484,"languages_code":930,"label":1339},{"id":574,"languages_code":933,"label":1331},[1419,1426,1433],{"id":33,"status":5,"sort":37,"label":1331,"hidden":160,"created_on":944,"icon":1420,"translations":1421},{"id":1333},[1422,1423,1424,1425],{"id":33,"languages_code":925,"label":1331},{"id":356,"languages_code":927,"label":1337},{"id":484,"languages_code":930,"label":1339},{"id":574,"languages_code":933,"label":1331},{"id":33,"status":5,"sort":37,"label":1331,"hidden":160,"created_on":944,"icon":1427,"translations":1428},{"id":1333},[1429,1430,1431,1432],{"id":33,"languages_code":925,"label":1331},{"id":356,"languages_code":927,"label":1337},{"id":484,"languages_code":930,"label":1339},{"id":574,"languages_code":933,"label":1331},{"id":33,"status":5,"sort":37,"label":1331,"hidden":160,"created_on":944,"icon":1434,"translations":1435},{"id":1333},[1436,1437,1438,1439],{"id":33,"languages_code":925,"label":1331},{"id":356,"languages_code":927,"label":1337},{"id":484,"languages_code":930,"label":1339},{"id":574,"languages_code":933,"label":1331},[1441,1447,1457,1464],{"id":33,"status":5,"sort":41,"label":771,"alternative_label":10,"slug":775,"description":954,"documentation_link":955,"loc_icon":775,"is_official_plugin":160,"is_universal_plugin":160,"universal_plugin_vendor":10,"translations":1442},[1443,1444,1445,1446],{"id":33,"languages_code":925,"label":771,"description":954,"slug":775},{"id":959,"languages_code":927,"label":771,"description":960,"slug":775},{"id":782,"languages_code":933,"label":771,"description":962,"slug":775},{"id":565,"languages_code":930,"label":771,"description":964,"slug":775},{"id":25,"status":5,"sort":37,"label":966,"alternative_label":10,"slug":967,"description":968,"documentation_link":969,"loc_icon":970,"is_official_plugin":160,"is_universal_plugin":160,"universal_plugin_vendor":10,"translations":1448},[1449,1450,1451,1452,1453,1454,1455,1456],{"id":25,"languages_code":925,"label":966,"description":968,"slug":967},{"id":291,"languages_code":927,"label":974,"description":975,"slug":10},{"id":484,"languages_code":933,"label":966,"description":968,"slug":967},{"id":451,"languages_code":930,"label":978,"description":979,"slug":10},{"id":402,"languages_code":927,"label":981,"description":982,"slug":967},{"id":411,"languages_code":933,"label":966,"description":968,"slug":967},{"id":684,"languages_code":930,"label":978,"description":979,"slug":967},{"id":986,"languages_code":987,"label":988,"description":989,"slug":10},{"id":20,"status":5,"sort":33,"label":991,"alternative_label":992,"slug":993,"description":994,"documentation_link":995,"loc_icon":996,"is_official_plugin":160,"is_universal_plugin":160,"universal_plugin_vendor":10,"translations":1458},[1459,1460,1461,1462,1463],{"id":20,"languages_code":925,"label":991,"description":994,"slug":993},{"id":218,"languages_code":927,"label":1000,"description":1001,"slug":10},{"id":382,"languages_code":933,"label":991,"description":994,"slug":993},{"id":1004,"languages_code":930,"label":1005,"description":1006,"slug":10},{"id":1008,"languages_code":987,"label":1009,"description":1010,"slug":10},{"id":4,"status":5,"sort":25,"label":1012,"alternative_label":759,"slug":540,"description":1013,"documentation_link":1014,"loc_icon":540,"is_official_plugin":160,"is_universal_plugin":160,"universal_plugin_vendor":10,"translations":1465},[1466,1467,1468,1469,1470],{"id":4,"languages_code":925,"label":1012,"description":1013,"slug":540},{"id":207,"languages_code":927,"label":1018,"description":1019,"slug":540},{"id":374,"languages_code":933,"label":1012,"description":1013,"slug":540},{"id":443,"languages_code":930,"label":1022,"description":1023,"slug":540},{"id":1025,"languages_code":987,"label":1026,"description":1027,"slug":10},[],{"id":4,"status":5,"sort":25,"label":1012,"alternative_label":759,"slug":540,"description":1013,"documentation_link":1014,"loc_icon":540,"is_official_plugin":160,"is_universal_plugin":160,"universal_plugin_vendor":10,"translations":1473},[1474,1475,1476,1477,1478],{"id":4,"languages_code":925,"label":1012,"description":1013,"slug":540},{"id":207,"languages_code":927,"label":1018,"description":1019,"slug":540},{"id":374,"languages_code":933,"label":1012,"description":1013,"slug":540},{"id":443,"languages_code":930,"label":1022,"description":1023,"slug":540},{"id":1025,"languages_code":987,"label":1026,"description":1027,"slug":10},[],[1481],{"languages_code":925,"name":655,"slug":654,"description":1395,"support_type":1397,"meta_title":10,"meta_description":10,"marketing_subtitle":910,"tile_subtitle":1398,"tile_description":1399,"id":24,"platforms_id":24,"docs_link":1396},{"id":107,"status":5,"created_on":1483,"modified_on":1483,"name":1484,"slug":1485,"description":1486,"docs_link":1487,"priority":10,"has_sdk":160,"sort":247,"highlighted":160,"in_menu":162,"changefreq":10,"support_type":1397,"show_in_spa":162,"is_file_format":162,"meta_title":10,"meta_description":10,"featured_on_web":160,"marketing_subtitle":910,"tile_subtitle":1488,"tile_description":1489,"is_enterprise":160,"is_popular":162,"primary_use_case":10,"hierarchy_handling":10,"best_for":10,"file_extension":10,"format_code_example":10,"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":107},"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":33,"status":5,"sort":37,"created_on":944,"label":1331,"hidden":160,"icon":1497,"translations":1498},{"id":1333},[1499,1500,1501,1502],{"id":33,"languages_code":925,"label":1331},{"id":356,"languages_code":927,"label":1337},{"id":484,"languages_code":930,"label":1339},{"id":574,"languages_code":933,"label":1331},[1504,1511,1521],{"id":33,"status":5,"sort":37,"label":1331,"hidden":160,"created_on":944,"icon":1505,"translations":1506},{"id":1333},[1507,1508,1509,1510],{"id":33,"languages_code":925,"label":1331},{"id":356,"languages_code":927,"label":1337},{"id":484,"languages_code":930,"label":1339},{"id":574,"languages_code":933,"label":1331},{"id":394,"status":5,"sort":394,"label":1512,"hidden":162,"created_on":944,"icon":10,"translations":1513},"C++",[1514,1515,1517,1519],{"id":394,"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":24,"status":5,"sort":247,"label":1522,"hidden":162,"created_on":944,"icon":10,"translations":1523},"Gettext",[1524,1525,1527,1529],{"id":24,"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":33,"status":5,"sort":41,"label":771,"alternative_label":10,"slug":775,"description":954,"documentation_link":955,"loc_icon":775,"is_official_plugin":160,"is_universal_plugin":160,"universal_plugin_vendor":10,"translations":1533},[1534,1535,1536,1537],{"id":33,"languages_code":925,"label":771,"description":954,"slug":775},{"id":959,"languages_code":927,"label":771,"description":960,"slug":775},{"id":782,"languages_code":933,"label":771,"description":962,"slug":775},{"id":565,"languages_code":930,"label":771,"description":964,"slug":775},{"id":25,"status":5,"sort":37,"label":966,"alternative_label":10,"slug":967,"description":968,"documentation_link":969,"loc_icon":970,"is_official_plugin":160,"is_universal_plugin":160,"universal_plugin_vendor":10,"translations":1539},[1540,1541,1542,1543,1544,1545,1546,1547],{"id":25,"languages_code":925,"label":966,"description":968,"slug":967},{"id":291,"languages_code":927,"label":974,"description":975,"slug":10},{"id":484,"languages_code":933,"label":966,"description":968,"slug":967},{"id":451,"languages_code":930,"label":978,"description":979,"slug":10},{"id":402,"languages_code":927,"label":981,"description":982,"slug":967},{"id":411,"languages_code":933,"label":966,"description":968,"slug":967},{"id":684,"languages_code":930,"label":978,"description":979,"slug":967},{"id":986,"languages_code":987,"label":988,"description":989,"slug":10},{"id":20,"status":5,"sort":33,"label":991,"alternative_label":992,"slug":993,"description":994,"documentation_link":995,"loc_icon":996,"is_official_plugin":160,"is_universal_plugin":160,"universal_plugin_vendor":10,"translations":1549},[1550,1551,1552,1553,1554],{"id":20,"languages_code":925,"label":991,"description":994,"slug":993},{"id":218,"languages_code":927,"label":1000,"description":1001,"slug":10},{"id":382,"languages_code":933,"label":991,"description":994,"slug":993},{"id":1004,"languages_code":930,"label":1005,"description":1006,"slug":10},{"id":1008,"languages_code":987,"label":1009,"description":1010,"slug":10},{"id":4,"status":5,"sort":25,"label":1012,"alternative_label":759,"slug":540,"description":1013,"documentation_link":1014,"loc_icon":540,"is_official_plugin":160,"is_universal_plugin":160,"universal_plugin_vendor":10,"translations":1556},[1557,1558,1559,1560,1561],{"id":4,"languages_code":925,"label":1012,"description":1013,"slug":540},{"id":207,"languages_code":927,"label":1018,"description":1019,"slug":540},{"id":374,"languages_code":933,"label":1012,"description":1013,"slug":540},{"id":443,"languages_code":930,"label":1022,"description":1023,"slug":540},{"id":1025,"languages_code":987,"label":1026,"description":1027,"slug":10},[],{"id":4,"status":5,"sort":25,"label":1012,"alternative_label":759,"slug":540,"description":1013,"documentation_link":1014,"loc_icon":540,"is_official_plugin":160,"is_universal_plugin":160,"universal_plugin_vendor":10,"translations":1564},[1565,1566,1567,1568,1569],{"id":4,"languages_code":925,"label":1012,"description":1013,"slug":540},{"id":207,"languages_code":927,"label":1018,"description":1019,"slug":540},{"id":374,"languages_code":933,"label":1012,"description":1013,"slug":540},{"id":443,"languages_code":930,"label":1022,"description":1023,"slug":540},{"id":1025,"languages_code":987,"label":1026,"description":1027,"slug":10},[],[1572],{"languages_code":925,"name":1484,"slug":1485,"description":1486,"support_type":1397,"meta_title":10,"meta_description":10,"marketing_subtitle":910,"tile_subtitle":1488,"tile_description":1489,"id":107,"platforms_id":107,"docs_link":1487},{"id":252,"status":5,"created_on":1229,"modified_on":1574,"name":1575,"slug":1576,"description":1577,"docs_link":1578,"priority":10,"has_sdk":160,"sort":230,"highlighted":160,"in_menu":162,"changefreq":10,"support_type":1397,"show_in_spa":162,"is_file_format":162,"meta_title":10,"meta_description":10,"featured_on_web":160,"marketing_subtitle":910,"tile_subtitle":1579,"tile_description":1580,"is_enterprise":160,"is_popular":160,"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":252},"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":33,"status":5,"sort":37,"created_on":944,"label":1331,"hidden":160,"icon":1592,"translations":1593},{"id":1333},[1594,1595,1596,1597],{"id":33,"languages_code":925,"label":1331},{"id":356,"languages_code":927,"label":1337},{"id":484,"languages_code":930,"label":1339},{"id":574,"languages_code":933,"label":1331},[1599,1606],{"id":33,"status":5,"sort":37,"label":1331,"hidden":160,"created_on":944,"icon":1600,"translations":1601},{"id":1333},[1602,1603,1604,1605],{"id":33,"languages_code":925,"label":1331},{"id":356,"languages_code":927,"label":1337},{"id":484,"languages_code":930,"label":1339},{"id":574,"languages_code":933,"label":1331},{"id":247,"status":5,"sort":252,"label":1607,"hidden":162,"created_on":944,"icon":10,"translations":1608},"C#",[1609,1610,1612,1614],{"id":247,"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":33,"status":5,"sort":41,"label":771,"alternative_label":10,"slug":775,"description":954,"documentation_link":955,"loc_icon":775,"is_official_plugin":160,"is_universal_plugin":160,"universal_plugin_vendor":10,"translations":1618},[1619,1620,1621,1622],{"id":33,"languages_code":925,"label":771,"description":954,"slug":775},{"id":959,"languages_code":927,"label":771,"description":960,"slug":775},{"id":782,"languages_code":933,"label":771,"description":962,"slug":775},{"id":565,"languages_code":930,"label":771,"description":964,"slug":775},{"id":25,"status":5,"sort":37,"label":966,"alternative_label":10,"slug":967,"description":968,"documentation_link":969,"loc_icon":970,"is_official_plugin":160,"is_universal_plugin":160,"universal_plugin_vendor":10,"translations":1624},[1625,1626,1627,1628,1629,1630,1631,1632],{"id":25,"languages_code":925,"label":966,"description":968,"slug":967},{"id":291,"languages_code":927,"label":974,"description":975,"slug":10},{"id":484,"languages_code":933,"label":966,"description":968,"slug":967},{"id":451,"languages_code":930,"label":978,"description":979,"slug":10},{"id":402,"languages_code":927,"label":981,"description":982,"slug":967},{"id":411,"languages_code":933,"label":966,"description":968,"slug":967},{"id":684,"languages_code":930,"label":978,"description":979,"slug":967},{"id":986,"languages_code":987,"label":988,"description":989,"slug":10},{"id":20,"status":5,"sort":33,"label":991,"alternative_label":992,"slug":993,"description":994,"documentation_link":995,"loc_icon":996,"is_official_plugin":160,"is_universal_plugin":160,"universal_plugin_vendor":10,"translations":1634},[1635,1636,1637,1638,1639],{"id":20,"languages_code":925,"label":991,"description":994,"slug":993},{"id":218,"languages_code":927,"label":1000,"description":1001,"slug":10},{"id":382,"languages_code":933,"label":991,"description":994,"slug":993},{"id":1004,"languages_code":930,"label":1005,"description":1006,"slug":10},{"id":1008,"languages_code":987,"label":1009,"description":1010,"slug":10},{"id":4,"status":5,"sort":25,"label":1012,"alternative_label":759,"slug":540,"description":1013,"documentation_link":1014,"loc_icon":540,"is_official_plugin":160,"is_universal_plugin":160,"universal_plugin_vendor":10,"translations":1641},[1642,1643,1644,1645,1646],{"id":4,"languages_code":925,"label":1012,"description":1013,"slug":540},{"id":207,"languages_code":927,"label":1018,"description":1019,"slug":540},{"id":374,"languages_code":933,"label":1012,"description":1013,"slug":540},{"id":443,"languages_code":930,"label":1022,"description":1023,"slug":540},{"id":1025,"languages_code":987,"label":1026,"description":1027,"slug":10},[],{"id":4,"status":5,"sort":25,"label":1012,"alternative_label":759,"slug":540,"description":1013,"documentation_link":1014,"loc_icon":540,"is_official_plugin":160,"is_universal_plugin":160,"universal_plugin_vendor":10,"translations":1649},[1650,1651,1652,1653,1654],{"id":4,"languages_code":925,"label":1012,"description":1013,"slug":540},{"id":207,"languages_code":927,"label":1018,"description":1019,"slug":540},{"id":374,"languages_code":933,"label":1012,"description":1013,"slug":540},{"id":443,"languages_code":930,"label":1022,"description":1023,"slug":540},{"id":1025,"languages_code":987,"label":1026,"description":1027,"slug":10},[1656],{"id":356,"status":5,"created_on":1657,"sort":10,"slug":1576,"label":1575,"on_faq_index":10},"2022-08-01T16:44:06.000Z",[1659],{"languages_code":925,"name":1575,"slug":1576,"description":1577,"support_type":1397,"meta_title":10,"meta_description":10,"marketing_subtitle":910,"tile_subtitle":1579,"tile_description":1580,"id":252,"platforms_id":252,"docs_link":1578},{"id":661,"status":5,"created_on":1661,"modified_on":1662,"name":664,"slug":663,"description":1663,"docs_link":1664,"priority":10,"has_sdk":10,"sort":662,"highlighted":160,"in_menu":162,"changefreq":10,"support_type":1665,"show_in_spa":162,"is_file_format":10,"meta_title":10,"meta_description":10,"featured_on_web":162,"marketing_subtitle":1665,"tile_subtitle":1665,"tile_description":1666,"is_enterprise":160,"is_popular":162,"primary_use_case":10,"hierarchy_handling":10,"best_for":10,"file_extension":10,"format_code_example":10,"format_to_extension":10,"upload_features":10,"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":661},"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":666},{"id":1669},"5995b721-a2ea-487e-ad4b-298a489bbd24",{"id":19,"status":5,"sort":15,"created_on":944,"label":1671,"hidden":160,"icon":1672,"translations":1674},"CMS",{"id":1673},"1172a655-928c-4594-9263-d8afdfd9cd79",[1675,1676,1678,1680],{"id":19,"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":99,"status":5,"sort":95,"label":1684,"hidden":160,"created_on":944,"icon":10,"translations":1685},"Multilingual SEO",[1686,1687,1690,1693],{"id":99,"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":535,"status":5,"sort":535,"label":302,"hidden":160,"created_on":944,"icon":1696,"translations":1698},{"id":1697},"e782ed3f-d954-45ca-8b17-5bf5fe95f30a",[1699,1700,1703,1705],{"id":535,"languages_code":925,"label":302},{"id":1701,"languages_code":927,"label":1702},132,"Comercio electrónico",{"id":1704,"languages_code":930,"label":302},137,{"id":1706,"languages_code":933,"label":302},142,{"id":19,"status":5,"sort":15,"label":1671,"hidden":160,"created_on":944,"icon":1708,"translations":1709},{"id":1673},[1710,1711,1712,1713],{"id":19,"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":20,"status":5,"sort":41,"label":1715,"hidden":160,"created_on":944,"icon":1716,"translations":1718},"Marketing tools",{"id":1717},"098fe6a4-dd2e-42d8-937e-2d8121e6e266",[1719,1720,1723,1725],{"id":20,"languages_code":925,"label":1715},{"id":1721,"languages_code":927,"label":1722},43,"Herramientas de marketing",{"id":431,"languages_code":930,"label":1724},"Marketingové nástroje",{"id":509,"languages_code":933,"label":1715},[1727],{"id":53,"status":5,"sort":10,"label":1728,"alternative_label":1729,"slug":1730,"description":1731,"documentation_link":1732,"loc_icon":1733,"is_official_plugin":162,"is_universal_plugin":160,"universal_plugin_vendor":10,"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":53,"languages_code":925,"label":1728,"description":1731,"slug":1730},{"id":1721,"languages_code":927,"label":1737,"description":1738,"slug":10},"Complemento Oficial de Strapi","Nuestros desarrolladores mantienen un complemento oficial de localización de Strapi. ¡Empiece en unos pocos clics!",{"id":500,"languages_code":933,"label":1728,"description":1731,"slug":1730},{"id":574,"languages_code":930,"label":1741,"description":1742,"slug":10},"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":10},"Offizielles Strapi-Plugin","Unsere Entwickler pflegen ein offizielles Strapi-Lokalisierungs-Plugin. Starten Sie mit ein paar Klicks!",[],{"id":53,"status":5,"sort":10,"label":1728,"alternative_label":1729,"slug":1730,"description":1731,"documentation_link":1732,"loc_icon":1733,"is_official_plugin":162,"is_universal_plugin":160,"universal_plugin_vendor":10,"translations":1748},[1749,1750,1751,1752,1753],{"id":53,"languages_code":925,"label":1728,"description":1731,"slug":1730},{"id":1721,"languages_code":927,"label":1737,"description":1738,"slug":10},{"id":500,"languages_code":933,"label":1728,"description":1731,"slug":1730},{"id":574,"languages_code":930,"label":1741,"description":1742,"slug":10},{"id":1688,"languages_code":987,"label":1744,"description":1745,"slug":10},[1755],{"id":207,"status":5,"created_on":1756,"sort":10,"slug":663,"label":664,"on_faq_index":10},"2022-06-16T09:24:13.000Z",[1758],{"languages_code":925,"name":664,"slug":663,"description":1663,"support_type":1665,"meta_title":10,"meta_description":10,"marketing_subtitle":1665,"tile_subtitle":1665,"tile_description":1666,"id":661,"platforms_id":661,"docs_link":1664},{"id":451,"status":5,"created_on":1229,"modified_on":1760,"name":671,"slug":670,"description":10,"docs_link":1761,"priority":10,"has_sdk":160,"sort":443,"highlighted":160,"in_menu":162,"changefreq":10,"support_type":1762,"show_in_spa":162,"is_file_format":160,"meta_title":10,"meta_description":10,"featured_on_web":162,"marketing_subtitle":1763,"tile_subtitle":1764,"tile_description":1765,"is_enterprise":160,"is_popular":162,"primary_use_case":10,"hierarchy_handling":10,"best_for":10,"file_extension":10,"format_code_example":10,"format_to_extension":10,"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":451},"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":673},{"id":1769},"7573fed6-8817-4cb4-84d2-be327e6c4891",{"id":25,"status":5,"sort":45,"created_on":944,"label":1771,"hidden":160,"icon":1772,"translations":1774},"Design tools",{"id":1773},"1053d863-b690-4fbd-aadf-dbf2ba282768",[1775,1776,1779,1782],{"id":25,"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":557,"languages_code":933,"label":1771},[1784],{"id":25,"status":5,"sort":45,"label":1771,"hidden":160,"created_on":944,"icon":1785,"translations":1786},{"id":1773},[1787,1788,1789,1790],{"id":25,"languages_code":925,"label":1771},{"id":1777,"languages_code":927,"label":1778},{"id":1780,"languages_code":930,"label":1781},{"id":557,"languages_code":933,"label":1771},[1792],{"id":45,"status":5,"sort":10,"label":1729,"alternative_label":1729,"slug":1793,"description":1794,"documentation_link":85,"loc_icon":1733,"is_official_plugin":162,"is_universal_plugin":160,"universal_plugin_vendor":10,"translations":1795},"official-plugin","Our developers maintain an official plugin for this integration. Start in a few clicks!",[1796,1797,1800,1801],{"id":45,"languages_code":925,"label":1729,"description":1794,"slug":1793},{"id":280,"languages_code":927,"label":1798,"description":1799,"slug":10},"Plugin Oficial","Nuestros desarrolladores mantienen un plugin oficial para esta integración. ¡Empiece con unos pocos clics!",{"id":271,"languages_code":933,"label":1729,"description":1794,"slug":1793},{"id":464,"languages_code":930,"label":1802,"description":1803,"slug":10},"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":45,"status":5,"sort":10,"label":1729,"alternative_label":1729,"slug":1793,"description":1794,"documentation_link":85,"loc_icon":1733,"is_official_plugin":162,"is_universal_plugin":160,"universal_plugin_vendor":10,"translations":1806},[1807,1808,1809,1810],{"id":45,"languages_code":925,"label":1729,"description":1794,"slug":1793},{"id":280,"languages_code":927,"label":1798,"description":1799,"slug":10},{"id":271,"languages_code":933,"label":1729,"description":1794,"slug":1793},{"id":464,"languages_code":930,"label":1802,"description":1803,"slug":10},[],[1813],{"languages_code":925,"name":671,"slug":670,"description":10,"support_type":1762,"meta_title":10,"meta_description":10,"marketing_subtitle":1763,"tile_subtitle":1764,"tile_description":1765,"id":451,"platforms_id":451,"docs_link":1761},{"id":1815,"owner":1816,"created_by":10,"sort":10,"title":1821,"slug":1822,"modified_on":877,"created_on":1823,"pinned":160,"badge":10,"priority":1824,"main_image":1825,"status":5,"tags":1826,"dictionary":1834,"reading_time":1835,"excerpt":-1,"og_title":877,"og_description":877,"og_image":877},"69d78a237ab1270001eddabf",{"id":1817,"first_name":1818,"last_name":877,"slug":1819,"avatar":1820},"606c233dcf7b6a0001d1da93","Petr Hodný","petr-hodny","https:\u002F\u002Fghost.localazy.com\u002Fcontent\u002Fimages\u002F2023\u002F12\u002Fpetr.png","Translation API: Translate your content on the fly with Localazy AI!","translation-api-translate-your-content-on-the-fly-with-localazy-ai","2026-04-24T09:27:26.000+02:00","0.7","https:\u002F\u002Fghost.localazy.com\u002Fcontent\u002Fimages\u002F2026\u002F04\u002FLocalazy-AI-translation-api.png",[1827,1829,1832],{"id":451,"created_on":1828,"status":5,"label":771,"slug":775,"on_index_page":160},"2026-06-13 10:03:01",{"id":402,"created_on":1828,"status":5,"label":1830,"slug":1831,"on_index_page":162},"AI","ai",{"id":451,"created_on":1828,"status":5,"label":352,"slug":1833,"on_index_page":162},"localization",[],0,{"id":1837,"owner":1838,"created_by":10,"sort":10,"title":1843,"slug":1844,"modified_on":877,"created_on":1845,"pinned":160,"badge":10,"priority":1824,"main_image":1846,"status":5,"tags":1847,"dictionary":1856,"reading_time":1835,"excerpt":-1,"og_title":877,"og_description":877,"og_image":877},"69e62c567ab1270001ede506",{"id":1839,"first_name":1840,"last_name":877,"slug":1841,"avatar":1842},"6824a22d63350c0001d5a5d4","Stephanie Casale","stephanie-casale","https:\u002F\u002Fghost.localazy.com\u002Fcontent\u002Fimages\u002F2026\u002F03\u002FStephanie.png","4 Arabic localization assumptions that fail in the real world, told by a Marine Corps linguist","4-arabic-localization-assumptions-that-fail-told-by-a-marine-corps-linguist","2026-06-09T17:41:36.000+02:00","https:\u002F\u002Fghost.localazy.com\u002Fcontent\u002Fimages\u002F2026\u002F06\u002FArabicLocal---Marine-Corps-5.png",[1848,1849,1853],{"id":451,"created_on":1828,"status":5,"label":352,"slug":1833,"on_index_page":162},{"id":1850,"created_on":1828,"status":5,"label":1851,"slug":1852,"on_index_page":160},646,"Business Development","business-development",{"id":451,"created_on":1828,"status":5,"label":1854,"slug":1855,"on_index_page":160},"Locales","locales",[],{"post":1858,"relatedPosts":2044,"banner":2101},{"id":1859,"owner":1860,"created_by":10,"sort":10,"title":1865,"slug":1866,"modified_on":1867,"created_on":1868,"pinned":162,"badge":10,"priority":1824,"main_image":1869,"status":5,"tags":1870,"dictionary":1878,"reading_time":45,"excerpt":1963,"og_title":877,"og_description":877,"og_image":877,"content":1964,"meta_title":877,"meta_description":877,"canonical":877,"cta":1965,"fullGhostPost":1973},"687e657063350c0001d5d1c9",{"id":1861,"first_name":1862,"last_name":877,"slug":1863,"avatar":1864},"6824a22d63350c0001d5a5d0","Temitope Oyedele","temitope-oyedele","https:\u002F\u002Fghost.localazy.com\u002Fcontent\u002Fimages\u002F2025\u002F07\u002FTemitope.png","What I would do differently in my next localization project","what-i-would-do-differently-in-my-next-localization-project","2025-10-01T23:16:03.000+02:00","2025-08-07T11:07:25.000+02:00","https:\u002F\u002Fghost.localazy.com\u002Fcontent\u002Fimages\u002F2025\u002F10\u002Fimage--30-.png",[1871,1874,1876],{"id":451,"created_on":1828,"status":5,"label":1872,"slug":1873,"on_index_page":162},"DevTips","devtips",{"id":451,"created_on":1828,"status":5,"label":1875,"slug":408,"on_index_page":160},"Plurals",{"id":451,"created_on":1828,"status":5,"label":1877,"slug":1877,"on_index_page":162},"i18n",[1879,1891,1911,1919,1939,1948],{"id":291,"status":5,"owner":1880,"created_on":1881,"title":1882,"excerpt":1883,"content":1884,"slug":1885,"meta_title":877,"meta_description":877,"canonical":877,"related_terms":1886},"2bac48a8-b362-482f-b574-3bc71dca4c5b","2022-03-17T12:22:55.000Z","Translation Management System (TMS)","A software for translation process automation.","TMS help increase production efficiency by eliminating, automating, and delegating both one-time and repetitive tasks during the translation process. Translation management systems help teams manage multilingual content, assign tasks, track progress, and maintain translation quality. TMS platforms are widely used in localization projects to handle large amounts of text efficiently. \n\nThey support features like translation memories, glossaries, and automated workflows. This makes the translation process faster and more consistent, especially for businesses that need content in multiple languages. [CAT tools](https:\u002F\u002Flocalazy.com\u002Fdictionary\u002Fcat-tool) are a subtype of TMSs.\n\nTranslation management systems [like Localazy](https:\u002F\u002Flocalazy.com\u002Fterm\u002Ftranslation-management-system) usually consist of two parts. One takes care of workflow management and the second one aids with the translation process using different technologies and methods, such as:\n\n* [Machine translation](https:\u002F\u002Flocalazy.com\u002Fdictionary\u002Fmachine-translation)\n* [Translation Memory](https:\u002F\u002Flocalazy.com\u002Fdictionary\u002Ftranslation-memory)\n\nThese systems are ideal for large-scale translation projects, as they provide a vast range of features. \n\n## ☝️ Top features of a TMS:\n\n* Centralizes translation tasks in one platform.\n* Assigns jobs to translators and tracks progress.\n* Uses a translation memory to avoid repeated translations.\n* Ensures consistency with built-in term bases.\n* Helps companies scale content across languages.\n\nWith a TMS, teams can work together smoothly to manage translations. It provides the tools needed to keep projects on track and ensures high-quality results every time. However, they can be pricey for single users or small teams who may benefit from them as well, especially for [quality assurance](https:\u002F\u002Flocalazy.com\u002Fdictionary\u002Fqa-quality-assurance) processes.","translation-management-system-tms",[1887,1888,1890],{"id":45,"slug":465},{"id":15,"slug":1889},"cat-tool",{"id":71,"slug":448},{"id":1892,"status":5,"owner":1893,"created_on":1894,"title":1895,"excerpt":1896,"content":1897,"slug":1898,"meta_title":877,"meta_description":877,"canonical":877,"related_terms":1899},239,"a5e46ee7-1f50-4f81-ae2d-68a664c76aa2","2026-05-12T07:09:24.000Z","Source key","A source key is a unique identifier used in localization to reference a specific text string in the source language.","A source key is a segment of text stored in Localazy that represents content in your source language. It’s a single string of text, such as a button label, a short paragraph in a dialog window, or even a blog article written in Markdown. You can think of a source key as a single row in a spreadsheet you might have used for translations.\n\nSource keys act as unique codes that link the original text to its translations. They help translators and localization tools produce accurate translations as the product versions, number of languages, and amount of text to translate increases. Even if a source key is translated into multiple languages, it still counts as one source key.\n\nSource keys make localization faster and easier by allowing translators to quickly find the text that needs translation. These keys are often used with translation management systems like Localazy to ensure the correct translations match the right text. They can come in different formats, like simple numbers or descriptive strings that provide context for the text.  \n\n### **🤔 Types of source keys:**\n\nSource keys can be categorized into different types based on their state. Here are some examples: \n\n* **Active keys.** Used in your code and available for translation. These are fully functional and visible to translators.\n* **Hidden keys.** Not visible to translators but still processed and exported. When the source text is empty, they're often applied automatically.\n* **Duplicate keys.** Linked to a master key using Duplicity Linking. These act like hidden keys and inherit translations from the original.\n* **Deprecated keys.** Considered outdated. They are ignored during export and hidden from translators. If re-uploaded, they’re restored as Active with all previous data.\n* **Deleted keys.** Fully removed from the project, including all translations. These no longer count toward your key limit.\n\n### 🔎 **Examples of source keys:**\n\n1. A button labeled \"Submit\".\n2. A sentence like \"Your order has been placed successfully.\"\n3. A short blog post written in Markdown, such as:\n\n   ```\n   ## 5 Tips to Stay Productive\n   \n   Staying productive can be tough, but here are five quick tips:\n   \n   1. Start your day with a to-do list.\n   2. Take short breaks to recharge.\n   3. Minimize distractions by turning off notifications.\n   4. Focus on one task at a time.\n   5. Celebrate small wins to stay motivated.\n   \n   Try these tips and see how they boost your productivity!\n   ```\n\nEven if these examples are translated into 10 different languages, each one still counts as a single source key. See examples in action [here](https:\u002F\u002Flocalazy.com\u002Ffaq\u002Flocalazy-accounts\u002Fwhat-are-source-keys\u002F \"https:\u002F\u002Flocalazy.com\u002Ffaq\u002Flocalazy-accounts\u002Fwhat-are-source-keys\u002F\").\n\n### 📝 **Benefits of source keys:**\n\n* Ensure consistent translations across multiple languages.\n* Make updating and maintenance of localized content easier.\n* Improve how translators and developers work together.\n* Make it easier to track changes in the source text and handle version control.\n\n> *Source keys make the translation of your product easier. Learn more about the [costs of source strings](https:\u002F\u002Flocalazy.com\u002Fcompare-plans \"https:\u002F\u002Flocalazy.com\u002Fcompare-plans\") on our pricing page.*","source-key",[1900,1901,1902,1903,1904,1905,1908],{"id":20,"slug":1833},{"id":45,"slug":465},{"id":15,"slug":1889},{"id":291,"slug":1885},{"id":402,"slug":387},{"id":1906,"slug":1907},79,"internationalization",{"id":1909,"slug":1910},171,"strings",{"id":1912,"status":5,"owner":1913,"created_on":1914,"title":485,"excerpt":1915,"content":1916,"slug":489,"meta_title":10,"meta_description":10,"canonical":10,"related_terms":1917},153,"d8c4ae49-7239-4b85-abb6-d1fa80ba09ad","2024-01-09T14:03:56.000Z","A feature in localization platforms that links multiple keys with the same content","**Duplicity Linking** is designed to handle duplicate content that often appears in localization projects. This is particularly useful in projects where the same phrases or sentences may appear under different keys.\n\nThe process involves the following:\n\n- *Identifying Duplicates*: Duplicity Linking begins by identifying keys that have identical content. These could be phrases, sentences, or paragraphs that appear in multiple places within the project.\n\n- *Linking Keys*: Once duplicates are identified, they are linked together under a single source key. This source key serves as the reference point for all linked keys.\n\n- *Translating Once*: With Duplicity Linking, you only need to translate the source key. The translations are then automatically applied to all linked keys. This eliminates the need to translate the same content multiple times.\n\nThe benefits of *Duplicity Linking* include:\n\n- **Efficiency**: It eliminates the need to translate the same content multiple times, saving valuable time and resources.\n\n- **Consistency**: It ensures that the same phrase or sentence is translated consistently across different parts of the application.\n\n- **Cost-saving**: By reducing the amount of text that needs to be translated, it can also help to lower localization costs.\n\nLocalazy users can take advantage of Duplicity Linking to streamline their localization process and ensure consistency across all translations.\n\n>**Learn more about [Localazy Duplicity Linking](\u002Fdocs\u002Fgeneral\u002Fduplicity-linking)**",[1918],{"id":1912,"slug":489},{"id":986,"status":5,"owner":1880,"created_on":1920,"title":1921,"excerpt":1922,"content":1923,"slug":1921,"meta_title":10,"meta_description":10,"canonical":10,"related_terms":1924},"2026-05-12T07:09:23.000Z","i18next","i18next is one of the top open-source internationalization frameworks written in and for JavaScript.","i18next is a powerful open-source internationalization (i18n) framework built for JavaScript. It provides a flexible, JSON-based approach to localization, and it works well with modern tech stacks, including popular frameworks like React, Angular, and Node, as well as platforms such as iOS and Ruby on Rails.\n\n[i18next](https:\u002F\u002Fwww.i18next.com\u002F) supports all key i18n features like plurals, context, and interpolation. It offers a flexible and scalable solution for localizing products across web, mobile, and desktop applications.\n\n### Key points about i18next: 🔧\n\n- **It’s versatile.**  i18next supports a wide range of modern tech stacks, making it adaptable for different environments and platforms.\n- **It’s a comprehensive localization solution.** In addition to standard i18n features, i18next offers advanced capabilities for managing translations and content variations.\n- **It’s flexible and extensible.** Its plugin-based system lets you extend functionality to match your needs, whether it’s through adding middleware, loading external translations, or detecting languages.\n- **It works across platforms.** i18next can be used for web, mobile, and desktop applications, providing consistent localization across different platforms.\n- **Supports multiple environments.** It works well with both server-side (Node.js, Express) and client-side (React, Angular) applications, giving you a consistent translation framework for all environments.\n- **It integrates with Localazy.** i18next integrates smoothly with localization platforms like Localazy, enhancing efficiency in managing multilingual software projects.\n\ni18next simplifies the internationalization process, making it easy to build localized experiences that scale across different platforms and audiences. It can be a great addition to your tech stack if you’re looking to localize your products. \n\n**[See the list of available integrations](\u002Fintegrations)**",[1925,1926,1928,1929,1930,1931,1934,1936],{"id":20,"slug":1833},{"id":1927,"slug":640},75,{"id":1906,"slug":1907},{"id":1250,"slug":606},{"id":1253,"slug":613},{"id":1932,"slug":1933},156,"next.js",{"id":1679,"slug":1935},"ruby-on-rails",{"id":1937,"slug":1938},78,"rails-i18n",{"id":1940,"status":5,"owner":1941,"created_on":1942,"title":1943,"excerpt":1944,"content":1945,"slug":1946,"meta_title":10,"meta_description":10,"canonical":10,"related_terms":1947},161,"562275e3-c1f6-48fa-ae16-dc81789ee6e0","2024-05-20T09:52:19.000Z","RTL","Right-to-left scripts, commonly abbreviated as RTL, are writing systems where the writing starts from the right of the page and continues to the left. ","In the software world, RTL is a [locale](https:\u002F\u002Flocalazy.com\u002Fdictionary\u002Flocale) property that needs to be considered during l10n processes.\n\nPopular languages with RTL [text directionality](https:\u002F\u002Flocalazy.com\u002Fdictionary\u002Ftext-directionality) are:\n- Arabic\n- Hebrew\n- Persian (Farsi)\n- Urdu\n- Kurdish\n- Pashto\n- Aramaic\n- Syriac\n\nOriginally, the Chinese, Japanese and Hangul scripts were written right-to-left. Other ancient languages like Old Norse, Old Hungarian, Phoenician and Egyptian hieroglyphs also used RTL directionality.\n\nMost global languages today, like English or Spanish, are LTR – that's why localizing RTL scripts requires extra care and attention. A solid translation management system that includes [the appropiate design tools](https:\u002F\u002Flocalazy.com\u002Fdocs\u002Ffigma\u002Fplugin-introduction#common-i18n-issues-with-designs) to accomodate the differences in directionality and formatting is needed for RTL scripts. This includes post-translation through desktop publishing tools (DTP).","rtl",[],{"id":1949,"status":5,"owner":1941,"created_on":1950,"title":1951,"excerpt":1952,"content":1953,"slug":1954,"meta_title":10,"meta_description":10,"canonical":10,"related_terms":1955},158,"2024-03-18T09:06:04.000Z","Text directionality","Text directionality refers to the direction in which a script, such as Latin, Cyrillic, or Arabic, is regularly written and read.","Scripts that are written **horizontally** usually have one type of directionality:\n\n- **Left-to-right (LTR)**, which is prevalent in Western countries and many modern languages. Global languages like English, Spanish, French, Hindi or Russian are written left-to-right. \n- **Right-to-left (RTL)**, which is the standard in languages like Arabic, Hebrew, Urdu or Persian. In the past, tongues like Japanese, Chinese, Old Norse, Greek, or Egyptian hieroglyphs were also written right-to-left or incorporated some RTL elements.\n\n**Bidirectional scripts** can be read in both directions and are usually common in languages where several alphabets are used, like Arabic or Hebrew, which combine the use of RTL scripts with other elements typical of LTR scripts, like Latin characters and numbers. The antique writing style known as **Boustrophedon**, where alternate lines of writing are reversed like a mirror, is bidirectional as well. \n\nSome traditional scripts, like Korean, Vietnamese,or Japanese, can also be written **vertically**, either from top-to-bottom and from bottom-to-top. \n\nIn localization, text directionality is a **locale property** that needs to be considered. Challenges can arise when multilingual translation tools are not set to adapt to the different conventions. TMS like Localazy ensure that LTR, RTL and bidirectional scripts can be read and adapted appropriately during the process.","text-directionality",[1956,1957,1960],{"id":1940,"slug":1946},{"id":1958,"slug":1959},162,"ltr",{"id":1961,"slug":1962},182,"bidirectional-languages","Localization mistakes can derail your product’s launch. Learn five key lessons I wished I knew earlier to avoid delays, fixing scrambles, and extra costs.","\u003Cp>If you ignore localization early, you'll pay for it later. As a developer, experience has taught me that \u003Ca href=\"https:\u002F\u002Flocalazy.com\u002Fdictionary\u002Fl10n\">l10n\u003C\u002Fa> is much more than translation:\u003Cstrong> it shapes how your product handles languages, layouts, and regional formats\u003C\u002Fstrong>. \u003C\u002Fp>\u003Cp>Some past projects I’ve worked on, from e-commerce platforms to internal dashboards and customer support portals, faced localization issues that created last-minute problems.\u003C\u002Fp>\u003Cp>One instance was when I built an internal dashboard for a customer support team. Everything looked perfect until someone realized the product descriptions weren’t translated. 😅 The team scrambled to send the content to translators. When the translations returned, QA flagged several issues, such as some translations being too long, others not matching the original meaning, and formatting errors breaking the UI. We had no structured workflow for translation updates. Worse, the content was hardcoded in multiple places. \u003Cstrong>Fixing everything delayed the release by a week\u003C\u002Fstrong>.\u003C\u002Fp>\u003Cp>I learned this the hard way, but \u003Cstrong>you don’t have to\u003C\u002Fstrong>. In this article, I'll share the mistakes I made and show you what to do differently so you can avoid the same pitfalls.\u003C\u002Fp>\u003Ch2 id=\"1-build-for-localization-from-day-one\">🧱 1. Build for localization from day one \u003Ca class=\"markdownit-header-anchor\" href=\"#1-build-for-localization-from-day-one\">🔗\u003C\u002Fa>\u003C\u002Fh2>\u003Cp>When I built this support portal, localization never crossed my mind. All text was hardcoded in components, and date formatting was done manually. It worked fine before our PM requested multilingual support.\u003C\u002Fp>\u003Cp>Don’t make that mistake. \u003Cstrong>Avoid hardcoding text directly into your components\u003C\u002Fstrong>:\u003C\u002Fp>\u003Cpre>\u003Ccode>\n&lt;button&gt;Save Changes&lt;\u002Fbutton&gt;\n&lt;h1&gt;Welcome to our platform&lt;\u002Fh1&gt;\n&lt;p&gt;Your profile has been updated successfully.&lt;\u002Fp&gt;\u003C\u002Fcode>\u003C\u002Fpre>\u003Cp>Instead, set up a localization framework from the start. Use a tool like \u003Ca href=\"https:\u002F\u002Fwww.i18next.com\u002F\" rel=\"noopener noreferrer nofollow\">i18next\u003C\u002Fa> to manage text with keys in a localization file:\u003C\u002Fp>\u003Cpre>\u003Ccode>\nimport { useTranslation } from 'react-i18next';\nconst { t } = useTranslation();\n\n&lt;button&gt;{t('save_changes')}&lt;\u002Fbutton&gt;\n&lt;h1&gt;{t('welcome_message')}&lt;\u002Fh1&gt;\n&lt;p&gt;{t('profile_updated')}&lt;\u002Fp&gt;\u003C\u002Fcode>\u003C\u002Fpre>\u003Cp>And in your en.json file, store the actual text for these keys, allowing i18next to pull the correct translations dynamically:\u003C\u002Fp>\u003Cpre>\u003Ccode class=\"language-json\">\n{\n  \"save_changes\": \"Save Changes\",\n  \"welcome_message\": \"Welcome to our platform\",\n  \"profile_updated\": \"Your profile has been updated successfully.\"\n}\u003C\u002Fcode>\u003C\u002Fpre>\u003Cp>This setup saves you from refactoring your entire project when localization becomes necessary.\u003C\u002Fp>\u003Cp>Also, \u003Cstrong>avoid designing your UI \u003Ca href=\"https:\u002F\u002Flocalazy.com\u002Fblog\u002Fmythbusters-lets-localize-the-text-and-well-be-good-to-go#3-create-adaptable-layouts\">for English text lengths\u003C\u002Fa>\u003C\u002Fstrong>. For example, the word \"Save\" in German becomes \"\u003Cem>Änderungen speichern\u003C\u002Fem>,\" which can easily break your layout if your buttons have fixed widths.\u003C\u002Fp>\u003Cp>Instead of this:\u003C\u002Fp>\u003Cpre>\u003Ccode>\nbutton {\n  width: 100px;\n}\u003C\u002Fcode>\u003C\u002Fpre>\u003Cp>Use flexible sizing:\u003C\u002Fp>\u003Cpre>\u003Ccode>\nbutton {\n  min-width: 100px;\n  max-width: fit-content;\n  padding: 10px 20px;\n}\u003C\u002Fcode>\u003C\u002Fpre>\u003Cp>This flexibility allows your UI to adapt to longer text without breaking. \u003C\u002Fp>\u003Ch2 id=\"2-handle-pluralization-and-date-formatting-properly\">📅 2. Handle pluralization and date formatting properly \u003Ca class=\"markdownit-header-anchor\" href=\"#2-handle-pluralization-and-date-formatting-properly\">🔗\u003C\u002Fa>\u003C\u002Fh2>\u003Cp>Localization also affects how numbers, dates, and plural forms behave across different languages. If these aren’t handled properly, they can confuse users and add extra development work later.\u003C\u002Fp>\u003Cp>I once hardcoded pluralization like this:\u003C\u002Fp>\u003Cpre>\u003Ccode>&lt;p&gt;You have {messages.length} new messages.&lt;\u002Fp&gt;\n\u003C\u002Fcode>\u003C\u002Fpre>\u003Cp>This worked in English, where adding an \"s\" for plurals was enough. But when we expanded to other languages, this approach wasn’t sustainable.\u003C\u002Fp>\u003Cp>For example, in Russian:\u003C\u002Fp>\u003Cul>\u003Cli>1 message → \"1 сообщение\"\u003C\u002Fli>\u003Cli>2-4 messages → \"2 сообщения\"\u003C\u002Fli>\u003Cli>5+ messages → \"5 сообщений\"\u003C\u002Fli>\u003C\u002Ful>\u003Cp>Instead of relying on conditions for every language, use \u003Ca href=\"https:\u002F\u002Flocalazy.com\u002Fdictionary\u002Ficu-message-format\">ICU MessageFormat\u003C\u002Fa> to handle plurals correctly:\u003C\u002Fp>\u003Cpre>\u003Ccode>&lt;p&gt;{t('new_messages', { count: messages.length })}&lt;\u002Fp&gt;\n\u003C\u002Fcode>\u003C\u002Fpre>\u003Cp>In your \u003Cstrong>en.json\u003C\u002Fstrong> translation file:\u003C\u002Fp>\u003Cpre>\u003Ccode>{\n  \"new_messages\": \"{count, plural, one {# new message} other {# new messages}}\"\n}\u003C\u002Fcode>\u003C\u002Fpre>\u003Cp>For languages like Russian, \u003Cstrong>additional plural categories may be required\u003C\u002Fstrong>. This approach scales better, \u003Ca href=\"https:\u002F\u002Flocalazy.com\u002Fblog\u002Fpluralization-in-software-localization-beginners-guide\">ensuring pluralization works correctly\u003C\u002Fa> as your app adds more languages.\u003C\u002Fp>\u003Cfigure class=\"kg-card kg-image-card kg-card-hascaption\">\u003Cimg src=\"https:\u002F\u002Fghost.localazy.com\u002Fcontent\u002Fimages\u002F2025\u002F08\u002FPlurals-tables.svg\" class=\"kg-image\" alt loading=\"lazy\" width=\"594\" height=\"355\">\u003Cfigcaption>Localazy helps you handle plurals conveniently.\u003C\u002Ffigcaption>\u003C\u002Ffigure>\u003Cblockquote>➡️ Read more on \u003Ca href=\"https:\u002F\u002Flocalazy.com\u002Fdocs\u002Fgeneral\u002Ftranslating-plurals?srsltid=AfmBOorJcT90lVfkFGCJ9nzBTbGa1wd3JQSjdfHpRJIDX0HQcL6e8-Sv\" rel=\"noopener noreferrer nofollow\">translating plurals\u003C\u002Fa>\u003C\u002Fblockquote>\u003Cp>Date formatting can also create problems. Different regions use different formats:\u003C\u002Fp>\u003Cul>\u003Cli>\u003Cstrong>🇺🇸 US:\u003C\u002Fstrong> MM\u002FDD\u002FYYYY → 04\u002F15\u002F2024\u003C\u002Fli>\u003Cli>\u003Cstrong>🇪🇺 Europe:\u003C\u002Fstrong> DD\u002FMM\u002FYYYY → 15\u002F04\u002F2024\u003C\u002Fli>\u003Cli>\u003Cstrong>🇯🇵 Japan:\u003C\u002Fstrong> YYYY\u002FMM\u002FDD → 2024\u002F04\u002F15\u003C\u002Fli>\u003C\u002Ful>\u003Cp>To prevent confusion, \u003Cstrong>avoid writing custom logic for date formats\u003C\u002Fstrong>. Instead, use  \u003Ca href=\"https:\u002F\u002Fdeveloper.mozilla.org\u002Fen-US\u002Fdocs\u002FWeb\u002FJavaScript\u002FReference\u002FGlobal_Objects\u002FIntl\u002FDateTimeFormat\">Intl.DateTimeFormat\u003C\u002Fa>, which adapts automatically based on the user's locale:\u003C\u002Fp>\u003Cpre>\u003Ccode>const formattedDate = new Intl.DateTimeFormat(navigator.language).format(new Date());\n\u003C\u002Fcode>\u003C\u002Fpre>\u003Cp>For custom formats, you can pass options:\u003C\u002Fp>\u003Cpre>\u003Ccode>const formattedDate = new Intl.DateTimeFormat('fr-FR', { dateStyle: 'long' }).format(new Date());\n\u003C\u002Fcode>\u003C\u002Fpre>\u003Cp>This method keeps your dates consistent, localized, and intuitive without extra logic.\u003C\u002Fp>\u003Ch2 id=\"3-plan-for-right-to-left-rtl-support-from-the-start\">↔️ 3. Plan for right-to-left (RTL) support from the start \u003Ca class=\"markdownit-header-anchor\" href=\"#3-plan-for-right-to-left-rtl-support-from-the-start\">🔗\u003C\u002Fa>\u003C\u002Fh2>\u003Cp>I expected a smooth process when I added Arabic and Hebrew support to the project, but the entire layout fell apart, and I ran into a \u003Ca href=\"https:\u002F\u002Flocalazy.com\u002Fblog\u002F6-challenges-of-localizing-your-app-to-arabic-and-how-to-solve-them\">few considerable localization challenges\u003C\u002Fa>. Arrows intended to point forward suddenly faced backward, text meant to be left-aligned hugged the right edge, and the navigation menu (initially aligned neatly on the left) awkwardly shifted to the wrong side.\u003C\u002Fp>\u003Cp>To avoid this, \u003Cstrong>use a CSS framework that supports RTL out of the box\u003C\u002Fstrong>. \u003Ca href=\"https:\u002F\u002Ftailwindcss.com\">Tailwind CSS\u003C\u002Fa> is the most popular option right now and comes with built-in RTL and LTR modifiers that work directly with its utility classes. For example, \u003Ccode>rtl:mr-4\u003C\u002Fcode>applies margin-right only in RTL layouts. You can also use logical spacing utilities like \u003Ccode>ms-*\u003C\u002Fcode> (margin-start) and \u003Ccode>me-*\u003C\u002Fcode>(margin-end), which automatically adapt based on direction.\u003C\u002Fp>\u003Cp>These adjustments prevent your UI from breaking and eliminate the need for duplicated assets or manual layout fixes. \u003Cstrong>\u003Ca href=\"https:\u002F\u002Flocalazy.com\u002Fblog\u002Fbridging-the-gap-podcast-s02-ep05-building-for-rtl-languages\u002F\">Plan for RTL support early\u003C\u002Fa>\u003C\u002Fstrong>, and your design will stay consistent when you expand to languages like Arabic or Hebrew. \u003C\u002Fp>\u003Ch2 id=\"4-automate-translations-with-a-tms\">🤖 4. Automate translations with a TMS \u003Ca class=\"markdownit-header-anchor\" href=\"#4-automate-translations-with-a-tms\">🔗\u003C\u002Fa>\u003C\u002Fh2>\u003Cp>I started by managing translations in JSON files, \u003Ca href=\"https:\u002F\u002Flocalazy.com\u002Fblog\u002F12-reasons-why-localazy-is-better-than-spreadsheets-for-localization-projects\u002F\">manually exporting spreadsheets\u003C\u002Fa> for translators, and pasting everything back into the codebase. This worked initially, but \u003Cstrong>it became unsustainable as we added more languages\u003C\u002Fstrong>.\u003C\u002Fp>\u003Cp>Integrate a translation management system (TMS) if you can (I adopted Localazy). With its command-line interface, you can \u003Cstrong>\u003Ca href=\"https:\u002F\u002Flocalazy.com\u002Fblog\u002Ftips-for-localizing-multiplatform-apps-localazy-cli\">automate translation uploads and downloads\u003C\u002Fa>\u003C\u002Fstrong>:\u003C\u002Fp>\u003Cpre>\u003Ccode>localazy upload\nlocalazy download\n\u003C\u002Fcode>\u003C\u002Fpre>\u003Cp>This removes the need for manual updates, prevents errors, and allows translators to work directly in the TMS interface with full UI context.\u003C\u002Fp>\u003Cp>I found \u003Ca href=\"https:\u002F\u002Flocalazy.com\u002Fblog\u002Fhow-to-use-localazy-cli-to-streamline-your-localization-workflow\">this CLI starter article\u003C\u002Fa> useful to understand translation management on Localazy. The \u003Ca href=\"https:\u002F\u002Flocalazy.com\u002Fdocs\">documentation\u003C\u002Fa> also offers a clear guide on setting up the tool, configuring translation paths, and automating the process.\u003C\u002Fp>\u003Cblockquote>📕\u003Cstrong>Related read\u003C\u002Fstrong>:\u003Cstrong> \u003C\u002Fstrong>\u003Ca href=\"https:\u002F\u002Flocalazy.com\u002Fblog\u002Fhow-to-automate-the-entire-software-localization-process-from-development-to-translation-with-localazy\">How to automate the entire software localization process from development to translation with Localazy\u003C\u002Fa> \u003C\u002Fblockquote>\u003Ch2 id=\"5-enforce-key-reuse-and-prevent-translation-duplication\">🗝️ 5. Enforce key reuse and prevent translation duplication \u003Ca class=\"markdownit-header-anchor\" href=\"#5-enforce-key-reuse-and-prevent-translation-duplication\">🔗\u003C\u002Fa>\u003C\u002Fh2>\u003Cp>I had a habit of adding new keys without checking if similar ones already existed. Over time, duplicate translation keys started piling up. Translators had to translate the same phrase multiple times, creating unnecessary work.\u003C\u002Fp>\u003Cp>The UI also became inconsistent, with different variations of the same text appearing throughout the app. Translation files became cluttered and harder to maintain.\u003C\u002Fp>\u003Cp>At first, I tried to fix this by writing a JavaScript function to scan for duplicate translation values before adding new keys. Since I was already using i18next, I wrote this script to compare keys dynamically:\u003C\u002Fp>\u003Cpre>\u003Ccode class=\"language-Java\">import i18next from 'i18next';\n\nfunction checkForDuplicateKeys() {\n  const translations = i18next.store.data.en.translation; \n  const seenKeys = new Map();\n  const duplicates = [];\n\n  Object.entries(translations).forEach(([key, value]) =&gt; {\n    if (seenKeys.has(value)) {\n      duplicates.push(`${key} (same as ${seenKeys.get(value)})`);\n    } else {\n      seenKeys.set(value, key);\n    }\n  });\n\n  return duplicates.length &gt; 0 \n    ? `Duplicate keys found:\\n${duplicates.join('\\n')}` \n    : \"No duplicates found\";\n}\n\nconsole.log(checkForDuplicateKeys());\u003C\u002Fcode>\u003C\u002Fpre>\u003Cp>This helped me identify duplicate translations, but \u003Cstrong>it was just a shallow fix\u003C\u002Fstrong>. It only checked translations on the client side, not across the entire project. And more importantly, \u003Cstrong>not all duplicates are wrong\u003C\u002Fstrong>. English is a simple language, and short phrases like \"Open\", \"Save,\" or \"Done\" might show up in multiple places. In some languages, those same words translate differently depending on the context. So, trying to force everything into a single key can actually hurt clarity instead of helping.\u003C\u002Fp>\u003Cp>Instead of relying on manual scripts, use a TMS that tracks duplicates across your projects. It'll help you reuse keys where it makes sense and spot the ones that need to be removed. Even better, \u003Cstrong>it will do this while preserving context\u003C\u002Fstrong>, so you don’t merge phrases that shouldn’t be shared by mistake. \u003C\u002Fp>\u003Cp>Without proper key reuse, you'll face issues like:\u003C\u002Fp>\u003Cul>\u003Cli>Inconsistent UI phrasing.\u003C\u002Fli>\u003Cli>Extra translation costs.\u003C\u002Fli>\u003Cli>Bloated translation files that are harder to maintain.\u003C\u002Fli>\u003C\u002Ful>\u003Cfigure class=\"kg-card kg-image-card kg-card-hascaption\">\u003Cimg src=\"https:\u002F\u002Fghost.localazy.com\u002Fcontent\u002Fimages\u002F2025\u002F08\u002FDuplicitySimple.png\" class=\"kg-image\" alt loading=\"lazy\" width=\"1122\" height=\"720\" srcset=\"https:\u002F\u002Fghost.localazy.com\u002Fcontent\u002Fimages\u002Fsize\u002Fw600\u002F2025\u002F08\u002FDuplicitySimple.png 600w, https:\u002F\u002Fghost.localazy.com\u002Fcontent\u002Fimages\u002Fsize\u002Fw1000\u002F2025\u002F08\u002FDuplicitySimple.png 1000w, https:\u002F\u002Fghost.localazy.com\u002Fcontent\u002Fimages\u002F2025\u002F08\u002FDuplicitySimple.png 1122w\" sizes=\"(min-width: 720px) 720px\">\u003Cfigcaption>The Localazy Duplicity Linking feature in action.\u003C\u002Ffigcaption>\u003C\u002Ffigure>\u003Ch2 id=\"dont-build-a-product-that-fights-you-back\">🥊 Don’t build a product that fights you back \u003Ca class=\"markdownit-header-anchor\" href=\"#dont-build-a-product-that-fights-you-back\">🔗\u003C\u002Fa>\u003C\u002Fh2>\u003Cp>\u003Cstrong>Leave localization for later, and you’ll feel it everywhere\u003C\u002Fstrong>: scattered strings, last-minute translation scrambles, layouts that fall apart in other languages. You'll end up translating the same phrase five times, going back and forth with translators and proofreaders, and trying to figure out how to fix base issues that demand a lot of developer time.\u003C\u002Fp>\u003Cp>Localazy keeps all of that in check. It takes care of updates behind the scenes, keeps your keys tidy, and plugs right into your workflow without slowing you down. With features like Duplicity Linking, \u003Ca href=\"https:\u002F\u002Flocalazy.com\u002Ffeatures\u002Ftranslation-memory\">Translation Memory\u003C\u002Fa>, and \u003Ca href=\"https:\u002F\u002Flocalazy.com\u002Ffeatures\u002Fplurals\">built-in plural support\u003C\u002Fa>, it makes sure all's consistent across your app. And since it connects directly to your codebase, \u003Cstrong>you can push and pull translations without leaving your dev environment\u003C\u002Fstrong>.\u003C\u002Fp>\u003Cp>\u003Ca href=\"https:\u002F\u002Flocalazy.com\u002Fpricing\">Set it up early\u003C\u002Fa> and you won’t need to rebuild later. Your product will stay clean, your team will work faster, and your users will get the experience they expect, wherever they are.\u003C\u002Fp>",{"id":71,"status":5,"created_on":1966,"modified_on":1967,"icon":1968,"header":1969,"description":1970,"button_label":1971,"link":1972},"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":1866,"id":1859,"uuid":1974,"title":1865,"html":1975,"comment_id":1859,"feature_image":1869,"featured":162,"visibility":1976,"email_recipient_filter":1977,"created_at":1978,"updated_at":1867,"published_at":1868,"custom_excerpt":1963,"codeinjection_head":10,"codeinjection_foot":10,"custom_template":10,"canonical_url":10,"authors":1979,"tags":1985,"primary_author":2041,"primary_tag":2042,"url":2043,"excerpt":1963,"reading_time":41,"access":162,"send_email_when_published":160,"og_image":10,"og_title":10,"og_description":10,"twitter_image":10,"twitter_title":10,"twitter_description":10,"meta_title":10,"meta_description":10,"email_subject":10,"frontmatter":10,"dictionary":1878,"cta":1965,"plainTags":1870},"b2f27743-096c-4a2b-8190-29ba53af985a","\u003Cp>If you ignore localization early, you'll pay for it later. As a developer, experience has taught me that \u003Ca href=\"https:\u002F\u002Flocalazy.com\u002Fdictionary\u002Fl10n\">l10n\u003C\u002Fa> is much more than translation:\u003Cstrong> it shapes how your product handles languages, layouts, and regional formats\u003C\u002Fstrong>. \u003C\u002Fp>\u003Cp>Some past projects I’ve worked on, from e-commerce platforms to internal dashboards and customer support portals, faced localization issues that created last-minute problems.\u003C\u002Fp>\u003Cp>One instance was when I built an internal dashboard for a customer support team. Everything looked perfect until someone realized the product descriptions weren’t translated. 😅 The team scrambled to send the content to translators. When the translations returned, QA flagged several issues, such as some translations being too long, others not matching the original meaning, and formatting errors breaking the UI. We had no structured workflow for translation updates. Worse, the content was hardcoded in multiple places. \u003Cstrong>Fixing everything delayed the release by a week\u003C\u002Fstrong>.\u003C\u002Fp>\u003Cp>I learned this the hard way, but \u003Cstrong>you don’t have to\u003C\u002Fstrong>. In this article, I'll share the mistakes I made and show you what to do differently so you can avoid the same pitfalls.\u003C\u002Fp>\u003Ch2 id=\"%F0%9F%A7%B1-1-build-for-localization-from-day-one\">🧱 1. Build for localization from day one\u003C\u002Fh2>\u003Cp>When I built this support portal, localization never crossed my mind. All text was hardcoded in components, and date formatting was done manually. It worked fine before our PM requested multilingual support.\u003C\u002Fp>\u003Cp>Don’t make that mistake. \u003Cstrong>Avoid hardcoding text directly into your components\u003C\u002Fstrong>:\u003C\u002Fp>\u003Cpre>\u003Ccode>\n&lt;button&gt;Save Changes&lt;\u002Fbutton&gt;\n&lt;h1&gt;Welcome to our platform&lt;\u002Fh1&gt;\n&lt;p&gt;Your profile has been updated successfully.&lt;\u002Fp&gt;\u003C\u002Fcode>\u003C\u002Fpre>\u003Cp>Instead, set up a localization framework from the start. Use a tool like \u003Ca href=\"https:\u002F\u002Fwww.i18next.com\u002F\" rel=\"noopener noreferrer nofollow\">i18next\u003C\u002Fa> to manage text with keys in a localization file:\u003C\u002Fp>\u003Cpre>\u003Ccode>\nimport { useTranslation } from 'react-i18next';\nconst { t } = useTranslation();\n\n&lt;button&gt;{t('save_changes')}&lt;\u002Fbutton&gt;\n&lt;h1&gt;{t('welcome_message')}&lt;\u002Fh1&gt;\n&lt;p&gt;{t('profile_updated')}&lt;\u002Fp&gt;\u003C\u002Fcode>\u003C\u002Fpre>\u003Cp>And in your en.json file, store the actual text for these keys, allowing i18next to pull the correct translations dynamically:\u003C\u002Fp>\u003Cpre>\u003Ccode class=\"language-json\">\n{\n  \"save_changes\": \"Save Changes\",\n  \"welcome_message\": \"Welcome to our platform\",\n  \"profile_updated\": \"Your profile has been updated successfully.\"\n}\u003C\u002Fcode>\u003C\u002Fpre>\u003Cp>This setup saves you from refactoring your entire project when localization becomes necessary.\u003C\u002Fp>\u003Cp>Also, \u003Cstrong>avoid designing your UI \u003Ca href=\"https:\u002F\u002Flocalazy.com\u002Fblog\u002Fmythbusters-lets-localize-the-text-and-well-be-good-to-go#3-create-adaptable-layouts\">for English text lengths\u003C\u002Fa>\u003C\u002Fstrong>. For example, the word \"Save\" in German becomes \"\u003Cem>Änderungen speichern\u003C\u002Fem>,\" which can easily break your layout if your buttons have fixed widths.\u003C\u002Fp>\u003Cp>Instead of this:\u003C\u002Fp>\u003Cpre>\u003Ccode>\nbutton {\n  width: 100px;\n}\u003C\u002Fcode>\u003C\u002Fpre>\u003Cp>Use flexible sizing:\u003C\u002Fp>\u003Cpre>\u003Ccode>\nbutton {\n  min-width: 100px;\n  max-width: fit-content;\n  padding: 10px 20px;\n}\u003C\u002Fcode>\u003C\u002Fpre>\u003Cp>This flexibility allows your UI to adapt to longer text without breaking. \u003C\u002Fp>\u003Ch2 id=\"%F0%9F%93%85-2-handle-pluralization-and-date-formatting-properly\">📅 2. Handle pluralization and date formatting properly\u003C\u002Fh2>\u003Cp>Localization also affects how numbers, dates, and plural forms behave across different languages. If these aren’t handled properly, they can confuse users and add extra development work later.\u003C\u002Fp>\u003Cp>I once hardcoded pluralization like this:\u003C\u002Fp>\u003Cpre>\u003Ccode>&lt;p&gt;You have {messages.length} new messages.&lt;\u002Fp&gt;\n\u003C\u002Fcode>\u003C\u002Fpre>\u003Cp>This worked in English, where adding an \"s\" for plurals was enough. But when we expanded to other languages, this approach wasn’t sustainable.\u003C\u002Fp>\u003Cp>For example, in Russian:\u003C\u002Fp>\u003Cul>\u003Cli>1 message → \"1 сообщение\"\u003C\u002Fli>\u003Cli>2-4 messages → \"2 сообщения\"\u003C\u002Fli>\u003Cli>5+ messages → \"5 сообщений\"\u003C\u002Fli>\u003C\u002Ful>\u003Cp>Instead of relying on conditions for every language, use \u003Ca href=\"https:\u002F\u002Flocalazy.com\u002Fdictionary\u002Ficu-message-format\">ICU MessageFormat\u003C\u002Fa> to handle plurals correctly:\u003C\u002Fp>\u003Cpre>\u003Ccode>&lt;p&gt;{t('new_messages', { count: messages.length })}&lt;\u002Fp&gt;\n\u003C\u002Fcode>\u003C\u002Fpre>\u003Cp>In your \u003Cstrong>en.json\u003C\u002Fstrong> translation file:\u003C\u002Fp>\u003Cpre>\u003Ccode>{\n  \"new_messages\": \"{count, plural, one {# new message} other {# new messages}}\"\n}\u003C\u002Fcode>\u003C\u002Fpre>\u003Cp>For languages like Russian, \u003Cstrong>additional plural categories may be required\u003C\u002Fstrong>. This approach scales better, \u003Ca href=\"https:\u002F\u002Flocalazy.com\u002Fblog\u002Fpluralization-in-software-localization-beginners-guide\">ensuring pluralization works correctly\u003C\u002Fa> as your app adds more languages.\u003C\u002Fp>\u003Cfigure class=\"kg-card kg-image-card kg-card-hascaption\">\u003Cimg src=\"https:\u002F\u002Fghost.localazy.com\u002Fcontent\u002Fimages\u002F2025\u002F08\u002FPlurals-tables.svg\" class=\"kg-image\" alt loading=\"lazy\" width=\"594\" height=\"355\">\u003Cfigcaption>Localazy helps you handle plurals conveniently.\u003C\u002Ffigcaption>\u003C\u002Ffigure>\u003Cblockquote>➡️ Read more on \u003Ca href=\"https:\u002F\u002Flocalazy.com\u002Fdocs\u002Fgeneral\u002Ftranslating-plurals?srsltid=AfmBOorJcT90lVfkFGCJ9nzBTbGa1wd3JQSjdfHpRJIDX0HQcL6e8-Sv\" rel=\"noopener noreferrer nofollow\">translating plurals\u003C\u002Fa>\u003C\u002Fblockquote>\u003Cp>Date formatting can also create problems. Different regions use different formats:\u003C\u002Fp>\u003Cul>\u003Cli>\u003Cstrong>🇺🇸 US:\u003C\u002Fstrong> MM\u002FDD\u002FYYYY → 04\u002F15\u002F2024\u003C\u002Fli>\u003Cli>\u003Cstrong>🇪🇺 Europe:\u003C\u002Fstrong> DD\u002FMM\u002FYYYY → 15\u002F04\u002F2024\u003C\u002Fli>\u003Cli>\u003Cstrong>🇯🇵 Japan:\u003C\u002Fstrong> YYYY\u002FMM\u002FDD → 2024\u002F04\u002F15\u003C\u002Fli>\u003C\u002Ful>\u003Cp>To prevent confusion, \u003Cstrong>avoid writing custom logic for date formats\u003C\u002Fstrong>. Instead, use  \u003Ca href=\"https:\u002F\u002Fdeveloper.mozilla.org\u002Fen-US\u002Fdocs\u002FWeb\u002FJavaScript\u002FReference\u002FGlobal_Objects\u002FIntl\u002FDateTimeFormat\">Intl.DateTimeFormat\u003C\u002Fa>, which adapts automatically based on the user's locale:\u003C\u002Fp>\u003Cpre>\u003Ccode>const formattedDate = new Intl.DateTimeFormat(navigator.language).format(new Date());\n\u003C\u002Fcode>\u003C\u002Fpre>\u003Cp>For custom formats, you can pass options:\u003C\u002Fp>\u003Cpre>\u003Ccode>const formattedDate = new Intl.DateTimeFormat('fr-FR', { dateStyle: 'long' }).format(new Date());\n\u003C\u002Fcode>\u003C\u002Fpre>\u003Cp>This method keeps your dates consistent, localized, and intuitive without extra logic.\u003C\u002Fp>\u003Ch2 id=\"%E2%86%94%EF%B8%8F-3-plan-for-right-to-left-rtl-support-from-the-start\">↔️ 3. Plan for right-to-left (RTL) support from the start\u003C\u002Fh2>\u003Cp>I expected a smooth process when I added Arabic and Hebrew support to the project, but the entire layout fell apart, and I ran into a \u003Ca href=\"https:\u002F\u002Flocalazy.com\u002Fblog\u002F6-challenges-of-localizing-your-app-to-arabic-and-how-to-solve-them\">few considerable localization challenges\u003C\u002Fa>. Arrows intended to point forward suddenly faced backward, text meant to be left-aligned hugged the right edge, and the navigation menu (initially aligned neatly on the left) awkwardly shifted to the wrong side.\u003C\u002Fp>\u003Cp>To avoid this, \u003Cstrong>use a CSS framework that supports RTL out of the box\u003C\u002Fstrong>. \u003Ca href=\"https:\u002F\u002Ftailwindcss.com\">Tailwind CSS\u003C\u002Fa> is the most popular option right now and comes with built-in RTL and LTR modifiers that work directly with its utility classes. For example, \u003Ccode>rtl:mr-4\u003C\u002Fcode>applies margin-right only in RTL layouts. You can also use logical spacing utilities like \u003Ccode>ms-*\u003C\u002Fcode> (margin-start) and \u003Ccode>me-*\u003C\u002Fcode>(margin-end), which automatically adapt based on direction.\u003C\u002Fp>\u003Cp>These adjustments prevent your UI from breaking and eliminate the need for duplicated assets or manual layout fixes. \u003Cstrong>\u003Ca href=\"https:\u002F\u002Flocalazy.com\u002Fblog\u002Fbridging-the-gap-podcast-s02-ep05-building-for-rtl-languages\u002F\">Plan for RTL support early\u003C\u002Fa>\u003C\u002Fstrong>, and your design will stay consistent when you expand to languages like Arabic or Hebrew. \u003C\u002Fp>\u003Ch2 id=\"%F0%9F%A4%96-4-automate-translations-with-a-tms\">🤖 4. Automate translations with a TMS\u003C\u002Fh2>\u003Cp>I started by managing translations in JSON files, \u003Ca href=\"https:\u002F\u002Flocalazy.com\u002Fblog\u002F12-reasons-why-localazy-is-better-than-spreadsheets-for-localization-projects\u002F\">manually exporting spreadsheets\u003C\u002Fa> for translators, and pasting everything back into the codebase. This worked initially, but \u003Cstrong>it became unsustainable as we added more languages\u003C\u002Fstrong>.\u003C\u002Fp>\u003Cp>Integrate a translation management system (TMS) if you can (I adopted Localazy). With its command-line interface, you can \u003Cstrong>\u003Ca href=\"https:\u002F\u002Flocalazy.com\u002Fblog\u002Ftips-for-localizing-multiplatform-apps-localazy-cli\">automate translation uploads and downloads\u003C\u002Fa>\u003C\u002Fstrong>:\u003C\u002Fp>\u003Cpre>\u003Ccode>localazy upload\nlocalazy download\n\u003C\u002Fcode>\u003C\u002Fpre>\u003Cp>This removes the need for manual updates, prevents errors, and allows translators to work directly in the TMS interface with full UI context.\u003C\u002Fp>\u003Cp>I found \u003Ca href=\"https:\u002F\u002Flocalazy.com\u002Fblog\u002Fhow-to-use-localazy-cli-to-streamline-your-localization-workflow\">this CLI starter article\u003C\u002Fa> useful to understand translation management on Localazy. The \u003Ca href=\"https:\u002F\u002Flocalazy.com\u002Fdocs\">documentation\u003C\u002Fa> also offers a clear guide on setting up the tool, configuring translation paths, and automating the process.\u003C\u002Fp>\u003Cblockquote>📕\u003Cstrong>Related read\u003C\u002Fstrong>:\u003Cstrong> \u003C\u002Fstrong>\u003Ca href=\"https:\u002F\u002Flocalazy.com\u002Fblog\u002Fhow-to-automate-the-entire-software-localization-process-from-development-to-translation-with-localazy\">How to automate the entire software localization process from development to translation with Localazy\u003C\u002Fa> \u003C\u002Fblockquote>\u003Ch2 id=\"%F0%9F%97%9D%EF%B8%8F-5-enforce-key-reuse-and-prevent-translation-duplication\">🗝️ 5. Enforce key reuse and prevent translation duplication\u003C\u002Fh2>\u003Cp>I had a habit of adding new keys without checking if similar ones already existed. Over time, duplicate translation keys started piling up. Translators had to translate the same phrase multiple times, creating unnecessary work.\u003C\u002Fp>\u003Cp>The UI also became inconsistent, with different variations of the same text appearing throughout the app. Translation files became cluttered and harder to maintain.\u003C\u002Fp>\u003Cp>At first, I tried to fix this by writing a JavaScript function to scan for duplicate translation values before adding new keys. Since I was already using i18next, I wrote this script to compare keys dynamically:\u003C\u002Fp>\u003Cpre>\u003Ccode class=\"language-Java\">import i18next from 'i18next';\n\nfunction checkForDuplicateKeys() {\n  const translations = i18next.store.data.en.translation; \n  const seenKeys = new Map();\n  const duplicates = [];\n\n  Object.entries(translations).forEach(([key, value]) =&gt; {\n    if (seenKeys.has(value)) {\n      duplicates.push(`${key} (same as ${seenKeys.get(value)})`);\n    } else {\n      seenKeys.set(value, key);\n    }\n  });\n\n  return duplicates.length &gt; 0 \n    ? `Duplicate keys found:\\n${duplicates.join('\\n')}` \n    : \"No duplicates found\";\n}\n\nconsole.log(checkForDuplicateKeys());\u003C\u002Fcode>\u003C\u002Fpre>\u003Cp>This helped me identify duplicate translations, but \u003Cstrong>it was just a shallow fix\u003C\u002Fstrong>. It only checked translations on the client side, not across the entire project. And more importantly, \u003Cstrong>not all duplicates are wrong\u003C\u002Fstrong>. English is a simple language, and short phrases like \"Open\", \"Save,\" or \"Done\" might show up in multiple places. In some languages, those same words translate differently depending on the context. So, trying to force everything into a single key can actually hurt clarity instead of helping.\u003C\u002Fp>\u003Cp>Instead of relying on manual scripts, use a TMS that tracks duplicates across your projects. It'll help you reuse keys where it makes sense and spot the ones that need to be removed. Even better, \u003Cstrong>it will do this while preserving context\u003C\u002Fstrong>, so you don’t merge phrases that shouldn’t be shared by mistake. \u003C\u002Fp>\u003Cp>Without proper key reuse, you'll face issues like:\u003C\u002Fp>\u003Cul>\u003Cli>Inconsistent UI phrasing.\u003C\u002Fli>\u003Cli>Extra translation costs.\u003C\u002Fli>\u003Cli>Bloated translation files that are harder to maintain.\u003C\u002Fli>\u003C\u002Ful>\u003Cfigure class=\"kg-card kg-image-card kg-card-hascaption\">\u003Cimg src=\"https:\u002F\u002Fghost.localazy.com\u002Fcontent\u002Fimages\u002F2025\u002F08\u002FDuplicitySimple.png\" class=\"kg-image\" alt loading=\"lazy\" width=\"1122\" height=\"720\" srcset=\"https:\u002F\u002Fghost.localazy.com\u002Fcontent\u002Fimages\u002Fsize\u002Fw600\u002F2025\u002F08\u002FDuplicitySimple.png 600w, https:\u002F\u002Fghost.localazy.com\u002Fcontent\u002Fimages\u002Fsize\u002Fw1000\u002F2025\u002F08\u002FDuplicitySimple.png 1000w, https:\u002F\u002Fghost.localazy.com\u002Fcontent\u002Fimages\u002F2025\u002F08\u002FDuplicitySimple.png 1122w\" sizes=\"(min-width: 720px) 720px\">\u003Cfigcaption>The Localazy Duplicity Linking feature in action.\u003C\u002Ffigcaption>\u003C\u002Ffigure>\u003Ch2 id=\"%F0%9F%A5%8A-don%E2%80%99t-build-a-product-that-fights-you-back\">🥊 Don’t build a product that fights you back\u003C\u002Fh2>\u003Cp>\u003Cstrong>Leave localization for later, and you’ll feel it everywhere\u003C\u002Fstrong>: scattered strings, last-minute translation scrambles, layouts that fall apart in other languages. You'll end up translating the same phrase five times, going back and forth with translators and proofreaders, and trying to figure out how to fix base issues that demand a lot of developer time.\u003C\u002Fp>\u003Cp>Localazy keeps all of that in check. It takes care of updates behind the scenes, keeps your keys tidy, and plugs right into your workflow without slowing you down. With features like Duplicity Linking, \u003Ca href=\"https:\u002F\u002Flocalazy.com\u002Ffeatures\u002Ftranslation-memory\">Translation Memory\u003C\u002Fa>, and \u003Ca href=\"https:\u002F\u002Flocalazy.com\u002Ffeatures\u002Fplurals\">built-in plural support\u003C\u002Fa>, it makes sure all's consistent across your app. And since it connects directly to your codebase, \u003Cstrong>you can push and pull translations without leaving your dev environment\u003C\u002Fstrong>.\u003C\u002Fp>\u003Cp>\u003Ca href=\"https:\u002F\u002Flocalazy.com\u002Fpricing\">Set it up early\u003C\u002Fa> and you won’t need to rebuild later. Your product will stay clean, your team will work faster, and your users will get the experience they expect, wherever they are.\u003C\u002Fp>","public","none","2025-07-21T18:06:08.000+02:00",[1980],{"id":1861,"name":1862,"slug":1863,"profile_image":1864,"cover_image":10,"bio":1981,"website":1982,"location":1983,"facebook":10,"twitter":10,"meta_title":10,"meta_description":10,"url":1984},"Temitope Oyedele is a software developer and technical writer. He likes to write about things he's learned and experienced while playing with software.","https:\u002F\u002Fwww.linkedin.com\u002Fin\u002Ftemitope-oyedele-57b772163\u002F","Lagos, Nigeria","https:\u002F\u002Fghost.localazy.com\u002Fauthor\u002Ftemitope-oyedele\u002F",[1986,1989,1992,1997,2002,2005,2010,2015,2021,2026,2031,2036],{"id":1987,"name":1872,"slug":1873,"description":1872,"feature_image":10,"visibility":1976,"og_image":10,"og_title":10,"og_description":10,"twitter_image":10,"twitter_title":10,"twitter_description":10,"meta_title":10,"meta_description":10,"codeinjection_head":10,"codeinjection_foot":10,"canonical_url":10,"accent_color":10,"url":1988},"60a37fc7cf7b6a0001d1f0ea","https:\u002F\u002Fghost.localazy.com\u002Ftag\u002Fdevtips\u002F",{"id":1990,"name":1875,"slug":408,"description":1875,"feature_image":10,"visibility":1976,"og_image":10,"og_title":10,"og_description":10,"twitter_image":10,"twitter_title":10,"twitter_description":10,"meta_title":10,"meta_description":10,"codeinjection_head":10,"codeinjection_foot":10,"canonical_url":10,"accent_color":10,"url":1991},"60a37fc7cf7b6a0001d1f0ec","https:\u002F\u002Fghost.localazy.com\u002Ftag\u002Fplurals\u002F",{"id":1993,"name":1994,"slug":1995,"description":1883,"feature_image":10,"visibility":1976,"og_image":10,"og_title":10,"og_description":10,"twitter_image":10,"twitter_title":10,"twitter_description":10,"meta_title":10,"meta_description":10,"codeinjection_head":10,"codeinjection_foot":10,"canonical_url":10,"accent_color":10,"url":1996},"60a37fc7cf7b6a0001d1f144","[DICT] Translation Management System (TMS)","term-39","https:\u002F\u002Fghost.localazy.com\u002Ftag\u002Fterm-39\u002F",{"id":1998,"name":1999,"slug":2000,"description":1896,"feature_image":10,"visibility":1976,"og_image":10,"og_title":10,"og_description":10,"twitter_image":10,"twitter_title":10,"twitter_description":10,"meta_title":10,"meta_description":10,"codeinjection_head":10,"codeinjection_foot":10,"canonical_url":10,"accent_color":10,"url":2001},"67ffba4863350c0001d594f2","[DICT] Source key","term-239","https:\u002F\u002Fghost.localazy.com\u002Ftag\u002Fterm-239\u002F",{"id":2003,"name":1877,"slug":1877,"description":10,"feature_image":10,"visibility":1976,"og_image":10,"og_title":10,"og_description":10,"twitter_image":10,"twitter_title":10,"twitter_description":10,"meta_title":10,"meta_description":10,"codeinjection_head":10,"codeinjection_foot":10,"canonical_url":10,"accent_color":10,"url":2004},"60f567ab6f8ebe0001bd80ec","https:\u002F\u002Fghost.localazy.com\u002Ftag\u002Fi18n\u002F",{"id":2006,"name":2007,"slug":2008,"description":1915,"feature_image":10,"visibility":1976,"og_image":10,"og_title":10,"og_description":10,"twitter_image":10,"twitter_title":10,"twitter_description":10,"meta_title":10,"meta_description":10,"codeinjection_head":10,"codeinjection_foot":10,"canonical_url":10,"accent_color":10,"url":2009},"659d524c04709100019441ea","[DICT] Duplicity Linking","term-153","https:\u002F\u002Fghost.localazy.com\u002Ftag\u002Fterm-153\u002F",{"id":2011,"name":2012,"slug":2013,"description":10,"feature_image":10,"visibility":1976,"og_image":10,"og_title":10,"og_description":10,"twitter_image":10,"twitter_title":10,"twitter_description":10,"meta_title":10,"meta_description":10,"codeinjection_head":10,"codeinjection_foot":10,"canonical_url":10,"accent_color":10,"url":2014},"60fffb486f8ebe0001bd8ddd","[COMSHARE]","comshare","https:\u002F\u002Fghost.localazy.com\u002Ftag\u002Fcomshare\u002F",{"id":2016,"name":2017,"slug":2018,"description":2019,"feature_image":10,"visibility":1976,"og_image":10,"og_title":10,"og_description":10,"twitter_image":10,"twitter_title":10,"twitter_description":10,"meta_title":10,"meta_description":10,"codeinjection_head":10,"codeinjection_foot":10,"canonical_url":10,"accent_color":10,"url":2020},"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":2022,"name":2023,"slug":2024,"description":1970,"feature_image":10,"visibility":1976,"og_image":10,"og_title":10,"og_description":10,"twitter_image":10,"twitter_title":10,"twitter_description":10,"meta_title":10,"meta_description":10,"codeinjection_head":10,"codeinjection_foot":10,"canonical_url":10,"accent_color":10,"url":2025},"60a37fc7cf7b6a0001d1f11b","[CTA] Why developers love Localazy 💖","cta-13","https:\u002F\u002Fghost.localazy.com\u002Ftag\u002Fcta-13\u002F",{"id":2027,"name":2028,"slug":2029,"description":1922,"feature_image":10,"visibility":1976,"og_image":10,"og_title":10,"og_description":10,"twitter_image":10,"twitter_title":10,"twitter_description":10,"meta_title":10,"meta_description":10,"codeinjection_head":10,"codeinjection_foot":10,"canonical_url":10,"accent_color":10,"url":2030},"60a37fc7cf7b6a0001d1f175","[DICT] i18next","term-88","https:\u002F\u002Fghost.localazy.com\u002Ftag\u002Fterm-88\u002F",{"id":2032,"name":2033,"slug":2034,"description":1944,"feature_image":10,"visibility":1976,"og_image":10,"og_title":10,"og_description":10,"twitter_image":10,"twitter_title":10,"twitter_description":10,"meta_title":10,"meta_description":10,"codeinjection_head":10,"codeinjection_foot":10,"canonical_url":10,"accent_color":10,"url":2035},"664b1d5334f1ce00011a04ac","[DICT] RTL","term-161","https:\u002F\u002Fghost.localazy.com\u002Ftag\u002Fterm-161\u002F",{"id":2037,"name":2038,"slug":2039,"description":1952,"feature_image":10,"visibility":1976,"og_image":10,"og_title":10,"og_description":10,"twitter_image":10,"twitter_title":10,"twitter_description":10,"meta_title":10,"meta_description":10,"codeinjection_head":10,"codeinjection_foot":10,"canonical_url":10,"accent_color":10,"url":2040},"65f803fc34f1ce000119e41a","[DICT] Text directionality","term-158","https:\u002F\u002Fghost.localazy.com\u002Ftag\u002Fterm-158\u002F",{"id":1861,"name":1862,"slug":1863,"profile_image":1864,"cover_image":10,"bio":1981,"website":1982,"location":1983,"facebook":10,"twitter":10,"meta_title":10,"meta_description":10,"url":1984},{"id":1987,"name":1872,"slug":1873,"description":1872,"feature_image":10,"visibility":1976,"og_image":10,"og_title":10,"og_description":10,"twitter_image":10,"twitter_title":10,"twitter_description":10,"meta_title":10,"meta_description":10,"codeinjection_head":10,"codeinjection_foot":10,"canonical_url":10,"accent_color":10,"url":1988},"https:\u002F\u002Fghost.localazy.com\u002Fwhat-i-would-do-differently-in-my-next-localization-project\u002F",[2045,2067,2085],{"id":2046,"owner":2047,"created_by":10,"sort":10,"title":2052,"slug":2053,"modified_on":877,"created_on":2054,"pinned":160,"badge":10,"priority":1824,"main_image":2055,"status":5,"tags":2056,"dictionary":2066,"reading_time":1835,"excerpt":-1,"og_title":877,"og_description":877,"og_image":877},"6372308e04709100019374c9",{"id":2048,"first_name":2049,"last_name":877,"slug":2050,"avatar":2051},"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",[2057,2059,2062,2063],{"id":2058,"created_on":1828,"status":5,"label":671,"slug":670,"on_index_page":162},6183,{"id":451,"created_on":1828,"status":5,"label":2060,"slug":2061,"on_index_page":160},"HowTo","howto",{"id":451,"created_on":1828,"status":5,"label":1872,"slug":1873,"on_index_page":162},{"id":411,"created_on":1828,"status":5,"label":2064,"slug":2065,"on_index_page":160},"Design","design",[],{"id":2068,"owner":2069,"created_by":10,"sort":10,"title":2074,"slug":2075,"modified_on":877,"created_on":2076,"pinned":160,"badge":10,"priority":1824,"main_image":2077,"status":5,"tags":2078,"dictionary":2084,"reading_time":1835,"excerpt":-1,"og_title":877,"og_description":877,"og_image":877},"67cec8e634f1ce00011a908c",{"id":2070,"first_name":2071,"last_name":877,"slug":2072,"avatar":2073},"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-21T08:47:00.000+02:00","https:\u002F\u002Fghost.localazy.com\u002Fcontent\u002Fimages\u002F2025\u002F06\u002FPluralization-2.png",[2079,2080,2081],{"id":451,"created_on":1828,"status":5,"label":1875,"slug":408,"on_index_page":160},{"id":451,"created_on":1828,"status":5,"label":1872,"slug":1873,"on_index_page":162},{"id":451,"created_on":1828,"status":5,"label":2082,"slug":2083,"on_index_page":160},"Guide","guide",[],{"id":2086,"owner":2087,"created_by":10,"sort":10,"title":2088,"slug":2089,"modified_on":877,"created_on":2090,"pinned":160,"badge":10,"priority":1824,"main_image":2091,"status":5,"tags":2092,"dictionary":2100,"reading_time":1835,"excerpt":-1,"og_title":877,"og_description":877,"og_image":877},"60a37fc7cf7b6a0001d1f1d1",{"id":1817,"first_name":1818,"last_name":877,"slug":1819,"avatar":1820},"An overview of software localization and i18n tools (2022)","overview-software-localization-i18n-tools-2021","2021-05-02T15:08:51.000+02:00","https:\u002F\u002Fghost.localazy.com\u002Fcontent\u002Fimages\u002F2022\u002F04\u002FSoftware-localization-overview22.png",[2093,2095,2098,2099],{"id":451,"created_on":1828,"status":5,"label":11,"slug":2094,"on_index_page":160},"localazy",{"id":451,"created_on":1828,"status":5,"label":2096,"slug":2097,"on_index_page":160},"Tip","tip",{"id":451,"created_on":1828,"status":5,"label":352,"slug":1833,"on_index_page":162},{"id":451,"created_on":1828,"status":5,"label":1877,"slug":1877,"on_index_page":162},[],{"id":257,"sort":10,"created_on":2102,"name":2103,"cta_link":2019,"banner_image":2104},"2025-03-28T15:13:54.000Z","Ambassador",{"id":2105},"02b7af9a-80c3-40cc-8fc2-715d68c9f223"]