[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"footer-settings":3,"footer-homepage":153,"main-navigation":220,"footer-integrations":903,"blog-post-nav-nav":1814,"blog-post-nav-[USE LATEST FEATURED]":1836,"blog-how-to-handle-translation-express-project-using-localazy":1851},{"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",{"status":5,"header_badges":154,"footer_badges":172,"footer_secured_badges":178,"slider_badges":190},[155,162,167],{"id":4,"status":5,"sort":10,"link":156,"title":157,"badgeType":158,"badgeName":159,"metadata":10,"image":160},"https:\u002F\u002Fwww.g2.com\u002Fproducts\u002Flocalazy\u002Freviews","Best meets requirements","Other","G2-winter-24-best-meets-requirments",{"id":161},"8d5dd6fd-6995-4c92-8219-a6ed5ba6acdc",{"id":20,"status":5,"sort":10,"link":156,"title":163,"badgeType":158,"badgeName":164,"metadata":10,"image":165},"Best support","G2-winter-24-best-support",{"id":166},"e59dd465-84d9-45c7-987d-dd4048fd6992",{"id":25,"status":5,"sort":10,"link":156,"title":168,"badgeType":158,"badgeName":169,"metadata":10,"image":170},"Easiest admin","G2-winter-24-easiest-admin",{"id":171},"5f12c4c8-bec0-47cf-87b4-a4502e9f1bd2",[173],{"id":19,"status":5,"sort":10,"link":156,"title":174,"badgeType":158,"badgeName":175,"metadata":10,"image":176},"Users love us","Users love us 25",{"id":177},"232416a5-86ba-4be6-85a5-b88802003d53",[179,185],{"id":15,"status":5,"sort":10,"link":180,"title":181,"badgeType":158,"badgeName":182,"metadata":10,"image":183},"https:\u002F\u002Fsprinto.com\u002Fget-iso-27001\u002F","Sprinto ISO 27001","Sprinto ISO 27001 certificate",{"id":184},"c1c6c06c-6caf-4b78-8a7e-9606c395eb61",{"id":71,"status":5,"sort":10,"link":186,"title":187,"badgeType":158,"badgeName":187,"metadata":10,"image":188},"https:\u002F\u002Fwww.aicpa.org\u002Fsoc4so","SOC certificate",{"id":189},"4f4bc0a6-09a0-41df-8295-8f990d96d941",[191,197,201,205,209,213,218],{"id":37,"status":5,"sort":10,"link":156,"title":192,"badgeType":158,"badgeName":193,"metadata":194,"image":195},"Most likely to recommend","a","",{"id":196},"da055731-3f11-4fc7-96f2-c11c0b84c831",{"id":41,"status":5,"sort":10,"link":156,"title":198,"badgeType":158,"badgeName":10,"metadata":10,"image":199},"EMEA High Performer",{"id":200},"586fb488-81f2-41db-a4e8-ef309e50c0e6",{"id":45,"status":5,"sort":10,"link":156,"title":202,"badgeType":158,"badgeName":10,"metadata":10,"image":203},"Ease of Doing Business With",{"id":204},"bfa26865-430e-463d-9886-cb56a8a8ecf6",{"id":53,"status":5,"sort":10,"link":156,"title":206,"badgeType":158,"badgeName":10,"metadata":10,"image":207},"High Performer",{"id":208},"2cc1ba0f-c23a-4c97-ad4a-a655c97466fe",{"id":57,"status":5,"sort":10,"link":156,"title":210,"badgeType":158,"badgeName":10,"metadata":10,"image":211},"Fastest Implementation",{"id":212},"6f297758-1c95-45f4-a6e9-528319897132",{"id":61,"status":5,"sort":10,"link":214,"title":215,"badgeType":158,"badgeName":10,"metadata":10,"image":216},"https:\u002F\u002Fwww.intercert.com\u002Fservices\u002Fgovernance-risk-compliance\u002Fiso-iec-27001","Intercert ISO 27001",{"id":217},"0521a5f1-e1f2-4da6-a2bc-dc92773f2a7b",{"id":15,"status":5,"sort":10,"link":180,"title":181,"badgeType":158,"badgeName":182,"metadata":10,"image":219},{"id":184},[221,414,647,775,898,900],{"id":20,"name":222,"url":10,"url_text":10,"status":5,"groups":223},"Solutions",[224,235,306,341],{"navigation_items_group_id":225},{"id":25,"sort":37,"status":5,"name":226,"render_show_all_url":227,"show_all_url_position":228,"show_favorite_icon":229,"show_all_url":10,"represent_as_tile":227,"items":230},"Featured Article",false,"top",true,[231],{"collection":232,"item":233},"blog_post_navigation_item_type",{"id":33,"status":5,"sort":10,"show_author_img":229,"blog_post_tag":234,"description":10},"nav",{"navigation_items_group_id":236},{"id":37,"sort":4,"status":5,"name":237,"render_show_all_url":227,"show_all_url_position":228,"show_favorite_icon":227,"show_all_url":238,"represent_as_tile":229,"items":239},"Your Role","\u002Froles",[240,252,262,272,283,295],{"collection":241,"item":242},"relation_navigation_item_type",{"id":4,"status":5,"sort":10,"name":243,"item":244},"CMO",[245],{"collection":246,"item":247},"personas",{"id":4,"status":5,"sort":10,"slug":248,"icon":249},"chief-marketing-officers",{"id":250,"title":251},"526097d8-176f-48e5-83d3-2fc4d77061f9","La Mail Bulk",{"collection":241,"item":253},{"id":25,"status":5,"sort":10,"name":254,"item":255},"CTO",[256],{"collection":246,"item":257},{"id":33,"status":5,"sort":10,"slug":258,"icon":259},"chief-technical-officers",{"id":260,"title":261},"f808fdf0-c78b-4294-ba59-fe25f46fe825","La Mechanic",{"collection":241,"item":263},{"id":107,"status":5,"sort":10,"name":264,"item":265},"Product Manager",[266],{"collection":246,"item":267},{"id":99,"status":5,"sort":10,"slug":268,"icon":269},"product-managers",{"id":270,"title":271},"ea39586a-21fc-4b34-ba87-496028e5198f","La Worker",{"collection":241,"item":273},{"id":274,"status":5,"sort":10,"name":275,"item":276},37,"Translator",[277],{"collection":246,"item":278},{"id":107,"status":5,"sort":10,"slug":279,"icon":280},"professional-translators",{"id":281,"title":282},"07945171-d51d-4ca8-96c0-21cde9db258f","La Chat",{"collection":241,"item":284},{"id":285,"status":5,"sort":10,"name":286,"item":287},38,"Developer",[288],{"collection":246,"item":289},{"id":290,"status":5,"sort":10,"slug":291,"icon":292},30,"software-developers",{"id":293,"title":294},"1806e46d-c551-4845-bf42-4407344d229e","La Terminal",{"collection":241,"item":296},{"id":297,"status":5,"sort":10,"name":298,"item":299},27,"Localization Manager",[300],{"collection":246,"item":301},{"id":41,"status":5,"sort":10,"slug":302,"icon":303},"localization-managers",{"id":304,"title":305},"dac69bd1-bf5d-41d0-87d4-dd13e314698a","La Language",{"navigation_items_group_id":307},{"id":57,"sort":25,"status":5,"name":308,"render_show_all_url":227,"show_all_url_position":309,"show_favorite_icon":227,"show_all_url":10,"represent_as_tile":227,"items":310},"Use cases","bottom",[311,317,322,327,331,336],{"collection":312,"item":313},"simple_link_navigation_item_type",{"id":314,"status":5,"sort":10,"url":315,"url_text":316,"show_favorite_icon":227},24,"https:\u002F\u002Flocalazy.com\u002Fuse-cases\u002Fsoftware-localization","Software localization",{"collection":312,"item":318},{"id":319,"status":5,"sort":10,"url":320,"url_text":321,"show_favorite_icon":227},26,"https:\u002F\u002Flocalazy.com\u002Fuse-cases\u002Fmobile-app-localization","Mobile app localization",{"collection":312,"item":323},{"id":324,"status":5,"sort":10,"url":325,"url_text":326,"show_favorite_icon":227},25,"https:\u002F\u002Flocalazy.com\u002Fuse-cases\u002Fwebsite-localization","Website localization",{"collection":312,"item":328},{"id":297,"status":5,"sort":10,"url":329,"url_text":330,"show_favorite_icon":227},"https:\u002F\u002Flocalazy.com\u002Fuse-cases\u002Fdesign-localization","Design localization",{"collection":312,"item":332},{"id":333,"status":5,"sort":10,"url":334,"url_text":335,"show_favorite_icon":227},28,"https:\u002F\u002Flocalazy.com\u002Fuse-cases\u002Fgame-localization","Game localization",{"collection":312,"item":337},{"id":338,"status":5,"sort":10,"url":339,"url_text":340,"show_favorite_icon":227},29,"https:\u002F\u002Flocalazy.com\u002Fuse-cases\u002Fhelp-and-docs-localization","Help & docs localization",{"navigation_items_group_id":342},{"id":53,"sort":20,"status":5,"name":343,"render_show_all_url":227,"show_all_url_position":309,"show_favorite_icon":227,"show_all_url":10,"represent_as_tile":227,"items":344},"Industry",[345,356,367,377,387,396,407],{"collection":241,"item":346},{"id":347,"status":5,"sort":10,"name":348,"item":349},23,"Digital Agencies",[350],{"collection":246,"item":351},{"id":45,"status":5,"sort":10,"slug":352,"icon":353},"digital-agencies",{"id":354,"title":355},"547f5619-b21d-4b29-86f1-8b2200313cde","La Digi Agency",{"collection":241,"item":357},{"id":358,"status":5,"sort":10,"name":359,"item":360},39,"Startups & SaaS",[361],{"collection":246,"item":362},{"id":20,"status":5,"sort":10,"slug":363,"icon":364},"startups",{"id":365,"title":366},"da1516e2-4afc-40a2-bcbf-a8161e2d610d","La Saa S",{"collection":241,"item":368},{"id":20,"status":5,"sort":10,"name":369,"item":370},"E-commerce",[371],{"collection":246,"item":372},{"id":37,"status":5,"sort":10,"slug":373,"icon":374},"e-commerce",{"id":375,"title":376},"a3d09cd2-054f-4bb5-a0a2-d3d207db65df","La Ecommerce",{"collection":241,"item":378},{"id":103,"status":5,"sort":10,"name":379,"item":380},"FinTech Platforms",[381],{"collection":246,"item":382},{"id":297,"status":5,"sort":10,"slug":383,"icon":384},"fintech",{"id":385,"title":386},"147339ba-07d1-4e5e-baad-23d27e60c919","La Money",{"collection":241,"item":388},{"id":314,"status":5,"sort":10,"name":389,"item":390},"Translation Agencies",[391],{"collection":246,"item":392},{"id":314,"status":5,"sort":10,"slug":393,"icon":394},"translation-agencies",{"id":395,"title":305},"15d6fe33-2af8-4d6e-933d-5caa64394511",{"collection":241,"item":397},{"id":398,"status":5,"sort":10,"name":399,"item":400},22,"Travel & Tourism",[401],{"collection":246,"item":402},{"id":25,"status":5,"sort":10,"slug":403,"icon":404},"tourism",{"id":405,"title":406},"23a785e8-0ae5-4c4b-8452-aab1b58182a6","La Travel",{"collection":241,"item":408},{"id":324,"status":5,"sort":10,"name":409,"item":410},"Nonprofit Causes",[411],{"collection":246,"item":412},{"id":333,"status":5,"sort":10,"slug":413,"icon":10},"nonprofit",{"id":37,"name":415,"url":10,"url_text":10,"status":5,"groups":416},"Features",[417,484,541,590],{"navigation_items_group_id":418},{"id":15,"sort":41,"status":5,"name":419,"render_show_all_url":227,"show_all_url_position":228,"show_favorite_icon":227,"show_all_url":10,"represent_as_tile":227,"items":420},"Localization",[421,430,439,447,455,459,467,476],{"collection":241,"item":422},{"id":423,"status":5,"sort":10,"name":424,"item":425},44,"Localization services",[426],{"collection":427,"item":428},"products",{"id":57,"status":5,"slug":429},"continuous-localization-team",{"collection":241,"item":431},{"id":432,"status":5,"sort":10,"name":433,"item":434},45,"Translation management",[435],{"collection":436,"item":437},"term_landing_page",{"id":338,"status":5,"slug":438},"translation-management-system",{"collection":241,"item":440},{"id":441,"status":5,"sort":10,"name":442,"item":443},46,"Context Screenshots",[444],{"collection":427,"item":445},{"id":71,"status":5,"slug":446},"context-screenshots-ocr",{"collection":241,"item":448},{"id":449,"status":5,"sort":10,"name":450,"item":451},47,"Translation Glossary",[452],{"collection":427,"item":453},{"id":95,"status":5,"slug":454},"glossary",{"collection":312,"item":456},{"id":33,"status":5,"sort":10,"url":457,"url_text":458,"show_favorite_icon":227},"\u002Fdocs\u002Fgeneral\u002Freviewing-translations","Quality control",{"collection":241,"item":460},{"id":461,"status":5,"sort":10,"name":462,"item":463},34,"Connected Projects",[464],{"collection":427,"item":465},{"id":4,"status":5,"slug":466},"connected-projects",{"collection":241,"item":468},{"id":469,"status":5,"sort":10,"name":470,"item":471},64,"Plural handling",[472],{"collection":427,"item":473},{"id":474,"status":5,"slug":475},32,"plurals",{"collection":241,"item":477},{"id":478,"status":5,"sort":10,"name":479,"item":480},65,"Style guides",[481],{"collection":427,"item":482},{"id":285,"status":5,"slug":483},"style-guide",{"navigation_items_group_id":485},{"id":19,"sort":45,"status":5,"name":486,"render_show_all_url":227,"show_all_url_position":228,"show_favorite_icon":227,"show_all_url":10,"represent_as_tile":227,"items":487},"Translation",[488,496,504,508,516,524,533],{"collection":241,"item":489},{"id":490,"status":5,"sort":10,"name":491,"item":492},36,"Professional translations",[493],{"collection":436,"item":494},{"id":290,"status":5,"slug":495},"professional-translation-services",{"collection":241,"item":497},{"id":498,"status":5,"sort":10,"name":499,"item":500},48,"Crowdsourced translations",[501],{"collection":427,"item":502},{"id":53,"status":5,"slug":503},"share-tm",{"collection":312,"item":505},{"id":37,"status":5,"sort":10,"url":506,"url_text":507,"show_favorite_icon":227},"\u002Fdocs\u002Fgeneral\u002Ftranslating-strings","Translation interface",{"collection":241,"item":509},{"id":510,"status":5,"sort":10,"name":511,"item":512},55,"Machine translations",[513],{"collection":427,"item":514},{"id":37,"status":5,"slug":515},"machine-translation",{"collection":241,"item":517},{"id":518,"status":5,"sort":10,"name":519,"item":520},60,"Localazy AI translation",[521],{"collection":427,"item":522},{"id":338,"status":5,"slug":523},"localazy-ai",{"collection":241,"item":525},{"id":526,"status":5,"sort":10,"name":527,"item":528},61,"Translation Memory",[529],{"collection":427,"item":530},{"id":531,"status":5,"slug":532},35,"translation-memory",{"collection":241,"item":534},{"id":535,"status":5,"sort":10,"name":536,"item":537},63,"Code & placeholders",[538],{"collection":427,"item":539},{"id":290,"status":5,"slug":540},"code-and-placeholders",{"navigation_items_group_id":542},{"id":71,"sort":53,"status":5,"name":543,"render_show_all_url":227,"show_all_url_position":228,"show_favorite_icon":227,"show_all_url":10,"represent_as_tile":227,"items":544},"Management",[545,549,557,565,574,582,586],{"collection":312,"item":546},{"id":53,"status":5,"sort":10,"url":547,"url_text":548,"show_favorite_icon":227},"\u002Fdocs\u002Fgeneral\u002Fdefining-user-roles","User roles",{"collection":241,"item":550},{"id":551,"status":5,"sort":10,"name":552,"item":553},51,"Duplicity Linking",[554],{"collection":427,"item":555},{"id":103,"status":5,"slug":556},"duplicity-linking",{"collection":241,"item":558},{"id":559,"status":5,"sort":10,"name":560,"item":561},52,"Language Permissions",[562],{"collection":427,"item":563},{"id":24,"status":5,"slug":564},"language-permissions",{"collection":241,"item":566},{"id":567,"status":568,"sort":10,"name":569,"item":570},53,"draft","Automations",[571],{"collection":427,"item":572},{"id":107,"status":5,"slug":573},"automations",{"collection":241,"item":575},{"id":576,"status":5,"sort":10,"name":577,"item":578},58,"Branching",[579],{"collection":427,"item":580},{"id":297,"status":5,"slug":581},"branching",{"collection":312,"item":583},{"id":24,"status":568,"sort":10,"url":584,"url_text":585,"show_favorite_icon":227},"https:\u002F\u002Flocalazy.com\u002Fdocs\u002Fgeneral\u002Fsso-configuration","SSO",{"collection":312,"item":587},{"id":398,"status":568,"sort":10,"url":588,"url_text":589,"show_favorite_icon":227},"https:\u002F\u002Flocalazy.com\u002Fdocs\u002Fgeneral\u002Flanguage-statistics","Reporting",{"navigation_items_group_id":591},{"id":83,"sort":57,"status":5,"name":592,"render_show_all_url":227,"show_all_url_position":228,"show_favorite_icon":227,"show_all_url":10,"represent_as_tile":227,"items":593},"Development",[594,600,608,615,622,630,639],{"collection":241,"item":595},{"id":338,"status":5,"sort":10,"name":62,"item":596},[597],{"collection":427,"item":598},{"id":15,"status":5,"slug":599},"translation-api",{"collection":241,"item":601},{"id":602,"status":5,"sort":10,"name":603,"item":604},33,"Localazy CLI",[605],{"collection":427,"item":606},{"id":45,"status":5,"slug":607},"cli",{"collection":241,"item":609},{"id":474,"status":5,"sort":10,"name":610,"item":611},"Language CDN",[612],{"collection":427,"item":613},{"id":33,"status":5,"slug":614},"language-cdn",{"collection":241,"item":616},{"id":333,"status":5,"sort":10,"name":617,"item":618},"Releases",[619],{"collection":427,"item":620},{"id":41,"status":5,"slug":621},"releases",{"collection":241,"item":623},{"id":624,"status":568,"sort":10,"name":625,"item":626},57,"Format Conversions",[627],{"collection":427,"item":628},{"id":20,"status":5,"slug":629},"format-conversions",{"collection":241,"item":631},{"id":632,"status":5,"sort":10,"name":633,"item":634},59,"Webhooks",[635],{"collection":427,"item":636},{"id":637,"status":5,"slug":638},31,"webhooks",{"collection":241,"item":640},{"id":641,"status":5,"sort":10,"name":642,"item":643},62,"Export Aliases",[644],{"collection":427,"item":645},{"id":602,"status":5,"slug":646},"export-aliases",{"id":33,"name":75,"url":10,"url_text":10,"status":5,"groups":648},[649,765],{"navigation_items_group_id":650},{"id":45,"sort":61,"status":5,"name":651,"render_show_all_url":227,"show_all_url_position":228,"show_favorite_icon":227,"show_all_url":10,"represent_as_tile":227,"items":652},"Most popular",[653],{"collection":241,"item":654},{"id":19,"status":5,"sort":10,"name":75,"item":655},[656,664,671,678,685,691,698,705,712,719,726,735,742,749,757],{"collection":657,"item":658},"platforms",{"id":41,"status":5,"sort":4,"slug":659,"name":660,"icon":661},"android","Android",{"id":662,"title":663},"ff965add-53b0-44ad-b27c-ea4ef641d384","Ic Outline Android",{"collection":657,"item":665},{"id":45,"status":5,"sort":20,"slug":666,"name":667,"icon":668},"ios","iOS",{"id":669,"title":670},"886285d7-816a-4430-b5a5-edfe307b238e","Ios",{"collection":657,"item":672},{"id":602,"status":5,"sort":25,"slug":673,"name":674,"icon":675},"react","React",{"id":676,"title":677},"26757a90-88a3-4a94-b587-9f38614ed3bd","Logos React",{"collection":657,"item":679},{"id":103,"status":5,"sort":33,"slug":680,"name":681,"icon":682},"vuejs","Vue.js",{"id":683,"title":684},"6180b41f-3249-47d3-adcd-50fe1cf11bf1","Vue",{"collection":657,"item":686},{"id":91,"status":5,"sort":37,"slug":687,"name":688,"icon":689},"angular","Angular",{"id":690,"title":688},"2a31a97a-48c5-4531-aa36-41c9dd0bdbef",{"collection":657,"item":692},{"id":4,"status":5,"sort":41,"slug":693,"name":694,"icon":695},"flutter","Flutter",{"id":696,"title":697},"b9f13a11-9328-4a03-86cf-b20de0685606","Logos Flutter",{"collection":657,"item":699},{"id":25,"status":5,"sort":15,"slug":700,"name":701,"icon":702},"typescript","TypeScript",{"id":703,"title":704},"8d1319b5-8a96-4199-8407-00add3418b1f","Logos Typescript Icon",{"collection":657,"item":706},{"id":637,"status":5,"sort":19,"slug":707,"name":708,"icon":709},"javascript","JavaScript",{"id":710,"title":711},"4218d0c9-7e6b-494d-9663-37ceaf93ee8c","Logos Javascript",{"collection":657,"item":713},{"id":19,"status":5,"sort":107,"slug":714,"name":715,"icon":716},"json","JSON",{"id":717,"title":718},"99ac3b7c-dba5-4693-a4f4-1f27a6d7782d","Logos Json",{"collection":657,"item":720},{"id":24,"status":5,"sort":24,"slug":721,"name":722,"icon":723},"xliff","XLIFF",{"id":724,"title":725},"ca424cc8-e8a7-4aef-8dca-ef4a4d1334fc","Format",{"collection":657,"item":727},{"id":728,"status":5,"sort":729,"slug":730,"name":731,"icon":732},72,54,"strapi","Strapi",{"id":733,"title":734},"cde7f1d0-f2e0-4243-929e-a3f8f9146e69","Strapi Logo Purple",{"collection":657,"item":736},{"id":518,"status":5,"sort":510,"slug":737,"name":738,"icon":739},"figma","Figma",{"id":740,"title":741},"813745a4-a77d-4735-93b7-e0dd731b2304","Figma Icon",{"collection":657,"item":743},{"id":551,"status":5,"sort":449,"slug":744,"name":745,"icon":746},"microsoft-excel","Microsoft Excel",{"id":747,"title":748},"7a175955-7b96-4561-939f-a0e1924faa40","Excel",{"collection":657,"item":750},{"id":751,"status":5,"sort":526,"slug":752,"name":753,"icon":754},66,"github-actions","GitHub Actions",{"id":755,"title":756},"da17554f-ac6d-443d-9bac-1f29645ec1c6","Github Icon",{"collection":657,"item":758},{"id":759,"status":5,"sort":760,"slug":761,"name":762,"icon":763},97,999,"webflow","Webflow",{"id":764,"title":762},"ff43a386-52f8-499f-b77c-ab9a30f4a77e",{"navigation_items_group_id":766},{"id":33,"sort":15,"status":5,"name":767,"render_show_all_url":227,"show_all_url_position":228,"show_favorite_icon":227,"show_all_url":10,"represent_as_tile":227,"items":768},"Explore more",[769],{"collection":770,"item":771},"text_link_navigation_item_type",{"id":4,"status":5,"sort":10,"text":772,"url":773,"url_text":774},"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":776},[777,801,807],{"navigation_items_group_id":778},{"id":4,"sort":19,"status":5,"name":779,"render_show_all_url":227,"show_all_url_position":228,"show_favorite_icon":227,"show_all_url":10,"represent_as_tile":227,"items":780},"Helpful Links",[781,784,786,790,792,795,797],{"collection":312,"item":782},{"id":71,"status":5,"sort":10,"url":101,"url_text":783,"show_favorite_icon":229},"Localazy Blog",{"collection":312,"item":785},{"id":83,"status":5,"sort":10,"url":85,"url_text":84,"show_favorite_icon":229},{"collection":312,"item":787},{"id":4,"status":5,"sort":10,"url":788,"url_text":789,"show_favorite_icon":227},"https:\u002F\u002Fdiscuss.localazy.com\u002F","Discussion Forum",{"collection":312,"item":791},{"id":19,"status":5,"sort":10,"url":93,"url_text":92,"show_favorite_icon":227},{"collection":312,"item":793},{"id":25,"status":5,"sort":10,"url":35,"url_text":794,"show_favorite_icon":227},"Become a Partner",{"collection":312,"item":796},{"id":87,"status":5,"sort":10,"url":105,"url_text":104,"show_favorite_icon":227},{"collection":312,"item":798},{"id":95,"status":5,"sort":10,"url":799,"url_text":800,"show_favorite_icon":227},"\u002Ftags\u002Frelease-update","Release Updates",{"navigation_items_group_id":802},{"id":20,"sort":83,"status":5,"name":783,"render_show_all_url":229,"show_all_url_position":228,"show_favorite_icon":227,"show_all_url":101,"represent_as_tile":227,"items":803},[804],{"collection":232,"item":805},{"id":25,"status":5,"sort":10,"show_author_img":227,"blog_post_tag":806,"description":10},"[USE LATEST FEATURED]",{"navigation_items_group_id":808},{"id":41,"sort":71,"status":5,"name":84,"render_show_all_url":229,"show_all_url_position":228,"show_favorite_icon":227,"show_all_url":85,"represent_as_tile":227,"items":809},[810,824,836,847,859,869,880,888],{"collection":241,"item":811},{"id":33,"status":5,"sort":10,"name":812,"item":813},"General",[814],{"collection":815,"item":816},"docs_section",{"id":20,"status":5,"sort":4,"slug":817,"name":812,"icon":818,"featured_icon":821},"general",{"id":819,"title":820},"423101f1-308c-42f1-8dfe-53272019e7cb","Global",{"id":822,"title":823},"0f7ca4cb-dc3b-4f62-b476-132ed5c4931f","General Doc",{"collection":241,"item":825},{"id":37,"status":5,"sort":10,"name":826,"item":827},"CLI",[828],{"collection":815,"item":829},{"id":25,"status":5,"sort":20,"slug":607,"name":826,"icon":830,"featured_icon":833},{"id":831,"title":832},"2f7a4573-8265-4d76-8d55-ce0cc79b8983","Cli",{"id":834,"title":835},"3f76ff7b-0e74-4046-bb03-4ca99c3b66d5","Doc Cat Cli",{"collection":241,"item":837},{"id":53,"status":5,"sort":10,"name":838,"item":839},"API",[840],{"collection":815,"item":841},{"id":107,"status":5,"sort":25,"slug":842,"name":838,"icon":843,"featured_icon":844},"api",{"id":831,"title":832},{"id":845,"title":846},"20866781-e69b-4e01-9456-05437487b75c","API Doc",{"collection":241,"item":848},{"id":849,"status":5,"sort":10,"name":850,"item":851},50,"CDN",[852],{"collection":815,"item":853},{"id":319,"status":5,"sort":33,"slug":854,"name":850,"icon":855,"featured_icon":856},"cdn",{"id":819,"title":820},{"id":857,"title":858},"a8ee9cb7-4e02-41f0-b595-eb518c3085b6","Doc Cat Cdn",{"collection":241,"item":860},{"id":41,"status":5,"sort":10,"name":660,"item":861},[862],{"collection":815,"item":863},{"id":4,"status":5,"sort":37,"slug":659,"name":660,"icon":864,"featured_icon":866},{"id":865,"title":660},"fb8329ae-0c0c-4fbc-bcdc-83f2eeda1039",{"id":867,"title":868},"f7c0dec8-5b42-4943-ab3a-e3665723ad6f","Doc Cat Android",{"collection":241,"item":870},{"id":45,"status":5,"sort":10,"name":667,"item":871},[872],{"collection":815,"item":873},{"id":33,"status":5,"sort":41,"slug":666,"name":667,"icon":874,"featured_icon":877},{"id":875,"title":876},"289e136c-55df-4d51-847b-1782a2308ee4","Ios Blue",{"id":878,"title":879},"2968d3f0-14b5-4427-82e7-f1ea2de17846","Doc Cat Ios",{"collection":241,"item":881},{"id":57,"status":5,"sort":10,"name":738,"item":882},[883],{"collection":815,"item":884},{"id":24,"status":5,"sort":45,"slug":737,"name":738,"icon":885,"featured_icon":886},{"id":831,"title":832},{"id":887,"title":738},"f5e66b5b-a439-47f6-af4a-6ad261de2e87",{"collection":241,"item":889},{"id":61,"status":5,"sort":10,"name":731,"item":890},[891],{"collection":815,"item":892},{"id":347,"status":5,"sort":53,"slug":730,"name":731,"icon":893,"featured_icon":895},{"id":894,"title":731},"3b4b03c7-e131-49e6-a014-c8c2c8a2751e",{"id":896,"title":897},"1dd05c76-e517-4aea-a3d8-49cfddb40056","Strapi Doc",{"id":25,"name":108,"url":109,"url_text":108,"status":5,"groups":899},[],{"id":41,"name":16,"url":901,"url_text":16,"status":5,"groups":902},"\u002Fbook-demo",[],[904,1044,1122,1228,1314,1393,1482,1573,1660,1759],{"id":602,"status":5,"created_on":905,"modified_on":906,"name":674,"slug":673,"description":907,"docs_link":908,"priority":10,"has_sdk":227,"sort":25,"highlighted":227,"in_menu":229,"changefreq":10,"support_type":909,"show_in_spa":229,"is_file_format":227,"meta_title":10,"meta_description":10,"featured_on_web":229,"marketing_subtitle":910,"tile_subtitle":911,"tile_description":912,"is_enterprise":227,"is_popular":227,"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":602},"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":714},[],{"id":676},{"id":917},"a97492ec-ee8d-429c-bf66-d0fe59b6e5c9",{"id":37,"status":5,"sort":20,"created_on":919,"label":920,"hidden":227,"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":432,"languages_code":927,"label":928},"es","Aplicaciones web",{"id":849,"languages_code":930,"label":931},"cs","Webové aplikace",{"id":632,"languages_code":933,"label":920},"en",[935,942],{"id":37,"status":5,"sort":20,"label":920,"hidden":227,"created_on":919,"icon":936,"translations":937},{"id":922},[938,939,940,941],{"id":37,"languages_code":925,"label":920},{"id":432,"languages_code":927,"label":928},{"id":849,"languages_code":930,"label":931},{"id":632,"languages_code":933,"label":920},{"id":53,"status":5,"sort":57,"label":943,"hidden":227,"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":567,"languages_code":927,"label":948},"Marco",{"id":518,"languages_code":930,"label":943},{"id":951,"languages_code":933,"label":943},67,[953,965,990,1011],{"id":33,"status":5,"sort":41,"label":838,"alternative_label":10,"slug":842,"description":954,"documentation_link":955,"loc_icon":842,"is_official_plugin":227,"is_universal_plugin":227,"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":838,"description":954,"slug":842},{"id":959,"languages_code":927,"label":838,"description":960,"slug":842},40,"Utilice la API para exportar traducciones e importar contenido de\u002Fa Localazy mediante programación.",{"id":849,"languages_code":933,"label":838,"description":962,"slug":842},"Choose between translating strings directly or uploading them into Localazy.",{"id":632,"languages_code":930,"label":838,"description":964,"slug":842},"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":227,"is_universal_plugin":227,"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":358,"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":551,"languages_code":933,"label":966,"description":968,"slug":967},{"id":518,"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":469,"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":478,"languages_code":933,"label":966,"description":968,"slug":967},{"id":751,"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":227,"is_universal_plugin":227,"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":285,"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":449,"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":826,"slug":607,"description":1013,"documentation_link":1014,"loc_icon":607,"is_official_plugin":227,"is_universal_plugin":227,"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":607},{"id":274,"languages_code":927,"label":1018,"description":1019,"slug":607},"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":441,"languages_code":933,"label":1012,"description":1013,"slug":607},{"id":510,"languages_code":930,"label":1022,"description":1023,"slug":607},"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":826,"slug":607,"description":1013,"documentation_link":1014,"loc_icon":607,"is_official_plugin":227,"is_universal_plugin":227,"universal_plugin_vendor":10,"translations":1030},[1031,1032,1033,1034,1035],{"id":4,"languages_code":925,"label":1012,"description":1013,"slug":607},{"id":274,"languages_code":927,"label":1018,"description":1019,"slug":607},{"id":441,"languages_code":933,"label":1012,"description":1013,"slug":607},{"id":510,"languages_code":930,"label":1022,"description":1023,"slug":607},{"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":674,"slug":673,"description":907,"support_type":909,"meta_title":10,"meta_description":10,"marketing_subtitle":910,"tile_subtitle":911,"tile_description":912,"id":602,"platforms_id":602,"docs_link":908},{"id":103,"status":5,"created_on":905,"modified_on":1045,"name":681,"slug":680,"description":1046,"docs_link":908,"priority":10,"has_sdk":227,"sort":33,"highlighted":227,"in_menu":229,"changefreq":10,"support_type":909,"show_in_spa":229,"is_file_format":227,"meta_title":10,"meta_description":10,"featured_on_web":229,"marketing_subtitle":910,"tile_subtitle":1047,"tile_description":1048,"is_enterprise":227,"is_popular":227,"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":714},[],{"id":683},{"id":1053},"8171b836-d6b8-4354-8db3-34ccd384970d",{"id":37,"status":5,"sort":20,"created_on":919,"label":920,"hidden":227,"icon":1055,"translations":1056},{"id":922},[1057,1058,1059,1060],{"id":37,"languages_code":925,"label":920},{"id":432,"languages_code":927,"label":928},{"id":849,"languages_code":930,"label":931},{"id":632,"languages_code":933,"label":920},[1062,1069],{"id":37,"status":5,"sort":20,"label":920,"hidden":227,"created_on":919,"icon":1063,"translations":1064},{"id":922},[1065,1066,1067,1068],{"id":37,"languages_code":925,"label":920},{"id":432,"languages_code":927,"label":928},{"id":849,"languages_code":930,"label":931},{"id":632,"languages_code":933,"label":920},{"id":53,"status":5,"sort":57,"label":943,"hidden":227,"created_on":944,"icon":10,"translations":1070},[1071,1072,1073,1074],{"id":53,"languages_code":925,"label":943},{"id":567,"languages_code":927,"label":948},{"id":518,"languages_code":930,"label":943},{"id":951,"languages_code":933,"label":943},[1076,1082,1092,1099],{"id":33,"status":5,"sort":41,"label":838,"alternative_label":10,"slug":842,"description":954,"documentation_link":955,"loc_icon":842,"is_official_plugin":227,"is_universal_plugin":227,"universal_plugin_vendor":10,"translations":1077},[1078,1079,1080,1081],{"id":33,"languages_code":925,"label":838,"description":954,"slug":842},{"id":959,"languages_code":927,"label":838,"description":960,"slug":842},{"id":849,"languages_code":933,"label":838,"description":962,"slug":842},{"id":632,"languages_code":930,"label":838,"description":964,"slug":842},{"id":25,"status":5,"sort":37,"label":966,"alternative_label":10,"slug":967,"description":968,"documentation_link":969,"loc_icon":970,"is_official_plugin":227,"is_universal_plugin":227,"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":358,"languages_code":927,"label":974,"description":975,"slug":10},{"id":551,"languages_code":933,"label":966,"description":968,"slug":967},{"id":518,"languages_code":930,"label":978,"description":979,"slug":10},{"id":469,"languages_code":927,"label":981,"description":982,"slug":967},{"id":478,"languages_code":933,"label":966,"description":968,"slug":967},{"id":751,"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":227,"is_universal_plugin":227,"universal_plugin_vendor":10,"translations":1093},[1094,1095,1096,1097,1098],{"id":20,"languages_code":925,"label":991,"description":994,"slug":993},{"id":285,"languages_code":927,"label":1000,"description":1001,"slug":10},{"id":449,"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":826,"slug":607,"description":1013,"documentation_link":1014,"loc_icon":607,"is_official_plugin":227,"is_universal_plugin":227,"universal_plugin_vendor":10,"translations":1100},[1101,1102,1103,1104,1105],{"id":4,"languages_code":925,"label":1012,"description":1013,"slug":607},{"id":274,"languages_code":927,"label":1018,"description":1019,"slug":607},{"id":441,"languages_code":933,"label":1012,"description":1013,"slug":607},{"id":510,"languages_code":930,"label":1022,"description":1023,"slug":607},{"id":1025,"languages_code":987,"label":1026,"description":1027,"slug":10},[],{"id":4,"status":5,"sort":25,"label":1012,"alternative_label":826,"slug":607,"description":1013,"documentation_link":1014,"loc_icon":607,"is_official_plugin":227,"is_universal_plugin":227,"universal_plugin_vendor":10,"translations":1108},[1109,1110,1111,1112,1113],{"id":4,"languages_code":925,"label":1012,"description":1013,"slug":607},{"id":274,"languages_code":927,"label":1018,"description":1019,"slug":607},{"id":441,"languages_code":933,"label":1012,"description":1013,"slug":607},{"id":510,"languages_code":930,"label":1022,"description":1023,"slug":607},{"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":681,"slug":680,"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":694,"slug":693,"description":1124,"docs_link":1125,"priority":10,"has_sdk":227,"sort":41,"highlighted":227,"in_menu":229,"changefreq":10,"support_type":1126,"show_in_spa":229,"is_file_format":227,"meta_title":10,"meta_description":10,"featured_on_web":227,"marketing_subtitle":910,"tile_subtitle":1126,"tile_description":1127,"is_enterprise":227,"is_popular":227,"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":696},{"id":1138},"c2674666-4371-4aa4-9a65-438c7363fafe",{"id":41,"status":5,"sort":53,"created_on":944,"label":1140,"hidden":227,"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":441,"languages_code":927,"label":1146},"Aplicaciones móviles",{"id":510,"languages_code":930,"label":1148},"Mobilní aplikace",{"id":478,"languages_code":933,"label":1140},[1151,1162,1169,1176],{"id":45,"status":5,"sort":103,"label":1152,"hidden":227,"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":449,"languages_code":927,"label":1158},"Escritorio y Juegos",{"id":1004,"languages_code":930,"label":1160},"Stolní počítače & Hry",{"id":751,"languages_code":933,"label":1152},{"id":37,"status":5,"sort":20,"label":920,"hidden":227,"created_on":919,"icon":1163,"translations":1164},{"id":922},[1165,1166,1167,1168],{"id":37,"languages_code":925,"label":920},{"id":432,"languages_code":927,"label":928},{"id":849,"languages_code":930,"label":931},{"id":632,"languages_code":933,"label":920},{"id":41,"status":5,"sort":53,"label":1140,"hidden":227,"created_on":944,"icon":1170,"translations":1171},{"id":1142},[1172,1173,1174,1175],{"id":41,"languages_code":925,"label":1140},{"id":441,"languages_code":927,"label":1146},{"id":510,"languages_code":930,"label":1148},{"id":478,"languages_code":933,"label":1140},{"id":290,"status":5,"sort":474,"label":1177,"hidden":229,"created_on":944,"icon":10,"translations":1178},"ARB",[1179,1180,1182,1184],{"id":290,"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":838,"alternative_label":10,"slug":842,"description":954,"documentation_link":955,"loc_icon":842,"is_official_plugin":227,"is_universal_plugin":227,"universal_plugin_vendor":10,"translations":1188},[1189,1190,1191,1192],{"id":33,"languages_code":925,"label":838,"description":954,"slug":842},{"id":959,"languages_code":927,"label":838,"description":960,"slug":842},{"id":849,"languages_code":933,"label":838,"description":962,"slug":842},{"id":632,"languages_code":930,"label":838,"description":964,"slug":842},{"id":25,"status":5,"sort":37,"label":966,"alternative_label":10,"slug":967,"description":968,"documentation_link":969,"loc_icon":970,"is_official_plugin":227,"is_universal_plugin":227,"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":358,"languages_code":927,"label":974,"description":975,"slug":10},{"id":551,"languages_code":933,"label":966,"description":968,"slug":967},{"id":518,"languages_code":930,"label":978,"description":979,"slug":10},{"id":469,"languages_code":927,"label":981,"description":982,"slug":967},{"id":478,"languages_code":933,"label":966,"description":968,"slug":967},{"id":751,"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":227,"is_universal_plugin":227,"universal_plugin_vendor":10,"translations":1204},[1205,1206,1207,1208,1209],{"id":20,"languages_code":925,"label":991,"description":994,"slug":993},{"id":285,"languages_code":927,"label":1000,"description":1001,"slug":10},{"id":449,"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":826,"slug":607,"description":1013,"documentation_link":1014,"loc_icon":607,"is_official_plugin":227,"is_universal_plugin":227,"universal_plugin_vendor":10,"translations":1211},[1212,1213,1214,1215,1216],{"id":4,"languages_code":925,"label":1012,"description":1013,"slug":607},{"id":274,"languages_code":927,"label":1018,"description":1019,"slug":607},{"id":441,"languages_code":933,"label":1012,"description":1013,"slug":607},{"id":510,"languages_code":930,"label":1022,"description":1023,"slug":607},{"id":1025,"languages_code":987,"label":1026,"description":1027,"slug":10},[],{"id":4,"status":5,"sort":25,"label":1012,"alternative_label":826,"slug":607,"description":1013,"documentation_link":1014,"loc_icon":607,"is_official_plugin":227,"is_universal_plugin":227,"universal_plugin_vendor":10,"translations":1219},[1220,1221,1222,1223,1224],{"id":4,"languages_code":925,"label":1012,"description":1013,"slug":607},{"id":274,"languages_code":927,"label":1018,"description":1019,"slug":607},{"id":441,"languages_code":933,"label":1012,"description":1013,"slug":607},{"id":510,"languages_code":930,"label":1022,"description":1023,"slug":607},{"id":1025,"languages_code":987,"label":1026,"description":1027,"slug":10},[],[1227],{"languages_code":925,"name":694,"slug":693,"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":637,"status":5,"created_on":1229,"modified_on":1230,"name":708,"slug":707,"description":1231,"docs_link":1232,"priority":10,"has_sdk":227,"sort":19,"highlighted":227,"in_menu":229,"changefreq":10,"support_type":1233,"show_in_spa":229,"is_file_format":227,"meta_title":10,"meta_description":10,"featured_on_web":229,"marketing_subtitle":910,"tile_subtitle":1233,"tile_description":1234,"is_enterprise":227,"is_popular":227,"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":637},"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":710},{"id":1240},"2c6699eb-1d80-4772-8268-5597dbcead8c",{"id":61,"status":5,"sort":61,"created_on":944,"label":1242,"hidden":227,"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":535,"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":227,"created_on":919,"icon":1256,"translations":1257},{"id":922},[1258,1259,1260,1261],{"id":37,"languages_code":925,"label":920},{"id":432,"languages_code":927,"label":928},{"id":849,"languages_code":930,"label":931},{"id":632,"languages_code":933,"label":920},{"id":61,"status":5,"sort":61,"label":1242,"hidden":227,"created_on":944,"icon":1263,"translations":1264},{"id":1244},[1265,1266,1267,1268],{"id":61,"languages_code":925,"label":1242},{"id":535,"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":838,"alternative_label":10,"slug":842,"description":954,"documentation_link":955,"loc_icon":842,"is_official_plugin":227,"is_universal_plugin":227,"universal_plugin_vendor":10,"translations":1271},[1272,1273,1274,1275],{"id":33,"languages_code":925,"label":838,"description":954,"slug":842},{"id":959,"languages_code":927,"label":838,"description":960,"slug":842},{"id":849,"languages_code":933,"label":838,"description":962,"slug":842},{"id":632,"languages_code":930,"label":838,"description":964,"slug":842},{"id":25,"status":5,"sort":37,"label":966,"alternative_label":10,"slug":967,"description":968,"documentation_link":969,"loc_icon":970,"is_official_plugin":227,"is_universal_plugin":227,"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":358,"languages_code":927,"label":974,"description":975,"slug":10},{"id":551,"languages_code":933,"label":966,"description":968,"slug":967},{"id":518,"languages_code":930,"label":978,"description":979,"slug":10},{"id":469,"languages_code":927,"label":981,"description":982,"slug":967},{"id":478,"languages_code":933,"label":966,"description":968,"slug":967},{"id":751,"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":227,"is_universal_plugin":227,"universal_plugin_vendor":10,"translations":1287},[1288,1289,1290,1291,1292],{"id":20,"languages_code":925,"label":991,"description":994,"slug":993},{"id":285,"languages_code":927,"label":1000,"description":1001,"slug":10},{"id":449,"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":826,"slug":607,"description":1013,"documentation_link":1014,"loc_icon":607,"is_official_plugin":227,"is_universal_plugin":227,"universal_plugin_vendor":10,"translations":1294},[1295,1296,1297,1298,1299],{"id":4,"languages_code":925,"label":1012,"description":1013,"slug":607},{"id":274,"languages_code":927,"label":1018,"description":1019,"slug":607},{"id":441,"languages_code":933,"label":1012,"description":1013,"slug":607},{"id":510,"languages_code":930,"label":1022,"description":1023,"slug":607},{"id":1025,"languages_code":987,"label":1026,"description":1027,"slug":10},[],{"id":4,"status":5,"sort":25,"label":1012,"alternative_label":826,"slug":607,"description":1013,"documentation_link":1014,"loc_icon":607,"is_official_plugin":227,"is_universal_plugin":227,"universal_plugin_vendor":10,"translations":1302},[1303,1304,1305,1306,1307],{"id":4,"languages_code":925,"label":1012,"description":1013,"slug":607},{"id":274,"languages_code":927,"label":1018,"description":1019,"slug":607},{"id":441,"languages_code":933,"label":1012,"description":1013,"slug":607},{"id":510,"languages_code":930,"label":1022,"description":1023,"slug":607},{"id":1025,"languages_code":987,"label":1026,"description":1027,"slug":10},[1309],{"id":531,"status":5,"created_on":1310,"sort":10,"slug":1311,"label":708,"on_faq_index":227},"2022-06-10T09:49:33.000Z","javascript-i18n-localization",[1313],{"languages_code":925,"name":708,"slug":707,"description":1231,"support_type":1233,"meta_title":10,"meta_description":10,"marketing_subtitle":910,"tile_subtitle":1233,"tile_description":1234,"id":637,"platforms_id":637,"docs_link":1232},{"id":19,"status":5,"created_on":1229,"modified_on":1315,"name":715,"slug":714,"description":1316,"docs_link":908,"priority":10,"has_sdk":227,"sort":107,"highlighted":227,"in_menu":229,"changefreq":10,"support_type":1317,"show_in_spa":229,"is_file_format":229,"meta_title":10,"meta_description":10,"featured_on_web":229,"marketing_subtitle":910,"tile_subtitle":1318,"tile_description":1319,"is_enterprise":227,"is_popular":229,"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":714},[],{"id":717},{"id":1329},"8d614c20-667e-4bee-a64d-7d7ce9c0ee0a",{"id":33,"status":5,"sort":37,"created_on":944,"label":1331,"hidden":227,"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":423,"languages_code":927,"label":1337},"Formatos de archivo",{"id":551,"languages_code":930,"label":1339},"Formáty souborů",{"id":641,"languages_code":933,"label":1331},[1342],{"id":33,"status":5,"sort":37,"label":1331,"hidden":227,"created_on":944,"icon":1343,"translations":1344},{"id":1333},[1345,1346,1347,1348],{"id":33,"languages_code":925,"label":1331},{"id":423,"languages_code":927,"label":1337},{"id":551,"languages_code":930,"label":1339},{"id":641,"languages_code":933,"label":1331},[1350,1356,1366,1373],{"id":33,"status":5,"sort":41,"label":838,"alternative_label":10,"slug":842,"description":954,"documentation_link":955,"loc_icon":842,"is_official_plugin":227,"is_universal_plugin":227,"universal_plugin_vendor":10,"translations":1351},[1352,1353,1354,1355],{"id":33,"languages_code":925,"label":838,"description":954,"slug":842},{"id":959,"languages_code":927,"label":838,"description":960,"slug":842},{"id":849,"languages_code":933,"label":838,"description":962,"slug":842},{"id":632,"languages_code":930,"label":838,"description":964,"slug":842},{"id":25,"status":5,"sort":37,"label":966,"alternative_label":10,"slug":967,"description":968,"documentation_link":969,"loc_icon":970,"is_official_plugin":227,"is_universal_plugin":227,"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":358,"languages_code":927,"label":974,"description":975,"slug":10},{"id":551,"languages_code":933,"label":966,"description":968,"slug":967},{"id":518,"languages_code":930,"label":978,"description":979,"slug":10},{"id":469,"languages_code":927,"label":981,"description":982,"slug":967},{"id":478,"languages_code":933,"label":966,"description":968,"slug":967},{"id":751,"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":227,"is_universal_plugin":227,"universal_plugin_vendor":10,"translations":1367},[1368,1369,1370,1371,1372],{"id":20,"languages_code":925,"label":991,"description":994,"slug":993},{"id":285,"languages_code":927,"label":1000,"description":1001,"slug":10},{"id":449,"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":826,"slug":607,"description":1013,"documentation_link":1014,"loc_icon":607,"is_official_plugin":227,"is_universal_plugin":227,"universal_plugin_vendor":10,"translations":1374},[1375,1376,1377,1378,1379],{"id":4,"languages_code":925,"label":1012,"description":1013,"slug":607},{"id":274,"languages_code":927,"label":1018,"description":1019,"slug":607},{"id":441,"languages_code":933,"label":1012,"description":1013,"slug":607},{"id":510,"languages_code":930,"label":1022,"description":1023,"slug":607},{"id":1025,"languages_code":987,"label":1026,"description":1027,"slug":10},[],{"id":4,"status":5,"sort":25,"label":1012,"alternative_label":826,"slug":607,"description":1013,"documentation_link":1014,"loc_icon":607,"is_official_plugin":227,"is_universal_plugin":227,"universal_plugin_vendor":10,"translations":1382},[1383,1384,1385,1386,1387],{"id":4,"languages_code":925,"label":1012,"description":1013,"slug":607},{"id":274,"languages_code":927,"label":1018,"description":1019,"slug":607},{"id":441,"languages_code":933,"label":1012,"description":1013,"slug":607},{"id":510,"languages_code":930,"label":1022,"description":1023,"slug":607},{"id":1025,"languages_code":987,"label":1026,"description":1027,"slug":10},[1389],{"id":490,"status":5,"created_on":1390,"sort":10,"slug":714,"label":715,"on_faq_index":227},"2022-06-10T10:49:07.000Z",[1392],{"languages_code":925,"name":715,"slug":714,"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":722,"slug":721,"description":1395,"docs_link":1396,"priority":10,"has_sdk":227,"sort":24,"highlighted":227,"in_menu":229,"changefreq":10,"support_type":1397,"show_in_spa":227,"is_file_format":229,"meta_title":10,"meta_description":10,"featured_on_web":229,"marketing_subtitle":910,"tile_subtitle":1398,"tile_description":1399,"is_enterprise":227,"is_popular":229,"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":724},{"id":1410},"889970a6-cce8-4055-b96a-9c3f292aa67f",{"id":33,"status":5,"sort":37,"created_on":944,"label":1331,"hidden":227,"icon":1412,"translations":1413},{"id":1333},[1414,1415,1416,1417],{"id":33,"languages_code":925,"label":1331},{"id":423,"languages_code":927,"label":1337},{"id":551,"languages_code":930,"label":1339},{"id":641,"languages_code":933,"label":1331},[1419,1426,1433],{"id":33,"status":5,"sort":37,"label":1331,"hidden":227,"created_on":944,"icon":1420,"translations":1421},{"id":1333},[1422,1423,1424,1425],{"id":33,"languages_code":925,"label":1331},{"id":423,"languages_code":927,"label":1337},{"id":551,"languages_code":930,"label":1339},{"id":641,"languages_code":933,"label":1331},{"id":33,"status":5,"sort":37,"label":1331,"hidden":227,"created_on":944,"icon":1427,"translations":1428},{"id":1333},[1429,1430,1431,1432],{"id":33,"languages_code":925,"label":1331},{"id":423,"languages_code":927,"label":1337},{"id":551,"languages_code":930,"label":1339},{"id":641,"languages_code":933,"label":1331},{"id":33,"status":5,"sort":37,"label":1331,"hidden":227,"created_on":944,"icon":1434,"translations":1435},{"id":1333},[1436,1437,1438,1439],{"id":33,"languages_code":925,"label":1331},{"id":423,"languages_code":927,"label":1337},{"id":551,"languages_code":930,"label":1339},{"id":641,"languages_code":933,"label":1331},[1441,1447,1457,1464],{"id":33,"status":5,"sort":41,"label":838,"alternative_label":10,"slug":842,"description":954,"documentation_link":955,"loc_icon":842,"is_official_plugin":227,"is_universal_plugin":227,"universal_plugin_vendor":10,"translations":1442},[1443,1444,1445,1446],{"id":33,"languages_code":925,"label":838,"description":954,"slug":842},{"id":959,"languages_code":927,"label":838,"description":960,"slug":842},{"id":849,"languages_code":933,"label":838,"description":962,"slug":842},{"id":632,"languages_code":930,"label":838,"description":964,"slug":842},{"id":25,"status":5,"sort":37,"label":966,"alternative_label":10,"slug":967,"description":968,"documentation_link":969,"loc_icon":970,"is_official_plugin":227,"is_universal_plugin":227,"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":358,"languages_code":927,"label":974,"description":975,"slug":10},{"id":551,"languages_code":933,"label":966,"description":968,"slug":967},{"id":518,"languages_code":930,"label":978,"description":979,"slug":10},{"id":469,"languages_code":927,"label":981,"description":982,"slug":967},{"id":478,"languages_code":933,"label":966,"description":968,"slug":967},{"id":751,"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":227,"is_universal_plugin":227,"universal_plugin_vendor":10,"translations":1458},[1459,1460,1461,1462,1463],{"id":20,"languages_code":925,"label":991,"description":994,"slug":993},{"id":285,"languages_code":927,"label":1000,"description":1001,"slug":10},{"id":449,"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":826,"slug":607,"description":1013,"documentation_link":1014,"loc_icon":607,"is_official_plugin":227,"is_universal_plugin":227,"universal_plugin_vendor":10,"translations":1465},[1466,1467,1468,1469,1470],{"id":4,"languages_code":925,"label":1012,"description":1013,"slug":607},{"id":274,"languages_code":927,"label":1018,"description":1019,"slug":607},{"id":441,"languages_code":933,"label":1012,"description":1013,"slug":607},{"id":510,"languages_code":930,"label":1022,"description":1023,"slug":607},{"id":1025,"languages_code":987,"label":1026,"description":1027,"slug":10},[],{"id":4,"status":5,"sort":25,"label":1012,"alternative_label":826,"slug":607,"description":1013,"documentation_link":1014,"loc_icon":607,"is_official_plugin":227,"is_universal_plugin":227,"universal_plugin_vendor":10,"translations":1473},[1474,1475,1476,1477,1478],{"id":4,"languages_code":925,"label":1012,"description":1013,"slug":607},{"id":274,"languages_code":927,"label":1018,"description":1019,"slug":607},{"id":441,"languages_code":933,"label":1012,"description":1013,"slug":607},{"id":510,"languages_code":930,"label":1022,"description":1023,"slug":607},{"id":1025,"languages_code":987,"label":1026,"description":1027,"slug":10},[],[1481],{"languages_code":925,"name":722,"slug":721,"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":227,"sort":314,"highlighted":227,"in_menu":229,"changefreq":10,"support_type":1397,"show_in_spa":229,"is_file_format":229,"meta_title":10,"meta_description":10,"featured_on_web":227,"marketing_subtitle":910,"tile_subtitle":1488,"tile_description":1489,"is_enterprise":227,"is_popular":229,"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":227,"icon":1497,"translations":1498},{"id":1333},[1499,1500,1501,1502],{"id":33,"languages_code":925,"label":1331},{"id":423,"languages_code":927,"label":1337},{"id":551,"languages_code":930,"label":1339},{"id":641,"languages_code":933,"label":1331},[1504,1511,1521],{"id":33,"status":5,"sort":37,"label":1331,"hidden":227,"created_on":944,"icon":1505,"translations":1506},{"id":1333},[1507,1508,1509,1510],{"id":33,"languages_code":925,"label":1331},{"id":423,"languages_code":927,"label":1337},{"id":551,"languages_code":930,"label":1339},{"id":641,"languages_code":933,"label":1331},{"id":461,"status":5,"sort":461,"label":1512,"hidden":229,"created_on":944,"icon":10,"translations":1513},"C++",[1514,1515,1517,1519],{"id":461,"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":314,"label":1522,"hidden":229,"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":838,"alternative_label":10,"slug":842,"description":954,"documentation_link":955,"loc_icon":842,"is_official_plugin":227,"is_universal_plugin":227,"universal_plugin_vendor":10,"translations":1533},[1534,1535,1536,1537],{"id":33,"languages_code":925,"label":838,"description":954,"slug":842},{"id":959,"languages_code":927,"label":838,"description":960,"slug":842},{"id":849,"languages_code":933,"label":838,"description":962,"slug":842},{"id":632,"languages_code":930,"label":838,"description":964,"slug":842},{"id":25,"status":5,"sort":37,"label":966,"alternative_label":10,"slug":967,"description":968,"documentation_link":969,"loc_icon":970,"is_official_plugin":227,"is_universal_plugin":227,"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":358,"languages_code":927,"label":974,"description":975,"slug":10},{"id":551,"languages_code":933,"label":966,"description":968,"slug":967},{"id":518,"languages_code":930,"label":978,"description":979,"slug":10},{"id":469,"languages_code":927,"label":981,"description":982,"slug":967},{"id":478,"languages_code":933,"label":966,"description":968,"slug":967},{"id":751,"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":227,"is_universal_plugin":227,"universal_plugin_vendor":10,"translations":1549},[1550,1551,1552,1553,1554],{"id":20,"languages_code":925,"label":991,"description":994,"slug":993},{"id":285,"languages_code":927,"label":1000,"description":1001,"slug":10},{"id":449,"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":826,"slug":607,"description":1013,"documentation_link":1014,"loc_icon":607,"is_official_plugin":227,"is_universal_plugin":227,"universal_plugin_vendor":10,"translations":1556},[1557,1558,1559,1560,1561],{"id":4,"languages_code":925,"label":1012,"description":1013,"slug":607},{"id":274,"languages_code":927,"label":1018,"description":1019,"slug":607},{"id":441,"languages_code":933,"label":1012,"description":1013,"slug":607},{"id":510,"languages_code":930,"label":1022,"description":1023,"slug":607},{"id":1025,"languages_code":987,"label":1026,"description":1027,"slug":10},[],{"id":4,"status":5,"sort":25,"label":1012,"alternative_label":826,"slug":607,"description":1013,"documentation_link":1014,"loc_icon":607,"is_official_plugin":227,"is_universal_plugin":227,"universal_plugin_vendor":10,"translations":1564},[1565,1566,1567,1568,1569],{"id":4,"languages_code":925,"label":1012,"description":1013,"slug":607},{"id":274,"languages_code":927,"label":1018,"description":1019,"slug":607},{"id":441,"languages_code":933,"label":1012,"description":1013,"slug":607},{"id":510,"languages_code":930,"label":1022,"description":1023,"slug":607},{"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":319,"status":5,"created_on":1229,"modified_on":1574,"name":1575,"slug":1576,"description":1577,"docs_link":1578,"priority":10,"has_sdk":227,"sort":297,"highlighted":227,"in_menu":229,"changefreq":10,"support_type":1397,"show_in_spa":229,"is_file_format":229,"meta_title":10,"meta_description":10,"featured_on_web":227,"marketing_subtitle":910,"tile_subtitle":1579,"tile_description":1580,"is_enterprise":227,"is_popular":227,"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":319},"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":227,"icon":1592,"translations":1593},{"id":1333},[1594,1595,1596,1597],{"id":33,"languages_code":925,"label":1331},{"id":423,"languages_code":927,"label":1337},{"id":551,"languages_code":930,"label":1339},{"id":641,"languages_code":933,"label":1331},[1599,1606],{"id":33,"status":5,"sort":37,"label":1331,"hidden":227,"created_on":944,"icon":1600,"translations":1601},{"id":1333},[1602,1603,1604,1605],{"id":33,"languages_code":925,"label":1331},{"id":423,"languages_code":927,"label":1337},{"id":551,"languages_code":930,"label":1339},{"id":641,"languages_code":933,"label":1331},{"id":314,"status":5,"sort":319,"label":1607,"hidden":229,"created_on":944,"icon":10,"translations":1608},"C#",[1609,1610,1612,1614],{"id":314,"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":838,"alternative_label":10,"slug":842,"description":954,"documentation_link":955,"loc_icon":842,"is_official_plugin":227,"is_universal_plugin":227,"universal_plugin_vendor":10,"translations":1618},[1619,1620,1621,1622],{"id":33,"languages_code":925,"label":838,"description":954,"slug":842},{"id":959,"languages_code":927,"label":838,"description":960,"slug":842},{"id":849,"languages_code":933,"label":838,"description":962,"slug":842},{"id":632,"languages_code":930,"label":838,"description":964,"slug":842},{"id":25,"status":5,"sort":37,"label":966,"alternative_label":10,"slug":967,"description":968,"documentation_link":969,"loc_icon":970,"is_official_plugin":227,"is_universal_plugin":227,"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":358,"languages_code":927,"label":974,"description":975,"slug":10},{"id":551,"languages_code":933,"label":966,"description":968,"slug":967},{"id":518,"languages_code":930,"label":978,"description":979,"slug":10},{"id":469,"languages_code":927,"label":981,"description":982,"slug":967},{"id":478,"languages_code":933,"label":966,"description":968,"slug":967},{"id":751,"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":227,"is_universal_plugin":227,"universal_plugin_vendor":10,"translations":1634},[1635,1636,1637,1638,1639],{"id":20,"languages_code":925,"label":991,"description":994,"slug":993},{"id":285,"languages_code":927,"label":1000,"description":1001,"slug":10},{"id":449,"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":826,"slug":607,"description":1013,"documentation_link":1014,"loc_icon":607,"is_official_plugin":227,"is_universal_plugin":227,"universal_plugin_vendor":10,"translations":1641},[1642,1643,1644,1645,1646],{"id":4,"languages_code":925,"label":1012,"description":1013,"slug":607},{"id":274,"languages_code":927,"label":1018,"description":1019,"slug":607},{"id":441,"languages_code":933,"label":1012,"description":1013,"slug":607},{"id":510,"languages_code":930,"label":1022,"description":1023,"slug":607},{"id":1025,"languages_code":987,"label":1026,"description":1027,"slug":10},[],{"id":4,"status":5,"sort":25,"label":1012,"alternative_label":826,"slug":607,"description":1013,"documentation_link":1014,"loc_icon":607,"is_official_plugin":227,"is_universal_plugin":227,"universal_plugin_vendor":10,"translations":1649},[1650,1651,1652,1653,1654],{"id":4,"languages_code":925,"label":1012,"description":1013,"slug":607},{"id":274,"languages_code":927,"label":1018,"description":1019,"slug":607},{"id":441,"languages_code":933,"label":1012,"description":1013,"slug":607},{"id":510,"languages_code":930,"label":1022,"description":1023,"slug":607},{"id":1025,"languages_code":987,"label":1026,"description":1027,"slug":10},[1656],{"id":423,"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":319,"platforms_id":319,"docs_link":1578},{"id":728,"status":5,"created_on":1661,"modified_on":1662,"name":731,"slug":730,"description":1663,"docs_link":1664,"priority":10,"has_sdk":10,"sort":729,"highlighted":227,"in_menu":229,"changefreq":10,"support_type":1665,"show_in_spa":229,"is_file_format":10,"meta_title":10,"meta_description":10,"featured_on_web":229,"marketing_subtitle":1665,"tile_subtitle":1665,"tile_description":1666,"is_enterprise":227,"is_popular":229,"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":728},"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":733},{"id":1669},"5995b721-a2ea-487e-ad4b-298a489bbd24",{"id":19,"status":5,"sort":15,"created_on":944,"label":1671,"hidden":227,"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":227,"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":602,"status":5,"sort":602,"label":369,"hidden":227,"created_on":944,"icon":1696,"translations":1698},{"id":1697},"e782ed3f-d954-45ca-8b17-5bf5fe95f30a",[1699,1700,1703,1705],{"id":602,"languages_code":925,"label":369},{"id":1701,"languages_code":927,"label":1702},132,"Comercio electrónico",{"id":1704,"languages_code":930,"label":369},137,{"id":1706,"languages_code":933,"label":369},142,{"id":19,"status":5,"sort":15,"label":1671,"hidden":227,"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":227,"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":498,"languages_code":930,"label":1724},"Marketingové nástroje",{"id":576,"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":229,"is_universal_plugin":227,"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":567,"languages_code":933,"label":1728,"description":1731,"slug":1730},{"id":641,"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":229,"is_universal_plugin":227,"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":567,"languages_code":933,"label":1728,"description":1731,"slug":1730},{"id":641,"languages_code":930,"label":1741,"description":1742,"slug":10},{"id":1688,"languages_code":987,"label":1744,"description":1745,"slug":10},[1755],{"id":274,"status":5,"created_on":1756,"sort":10,"slug":730,"label":731,"on_faq_index":10},"2022-06-16T09:24:13.000Z",[1758],{"languages_code":925,"name":731,"slug":730,"description":1663,"support_type":1665,"meta_title":10,"meta_description":10,"marketing_subtitle":1665,"tile_subtitle":1665,"tile_description":1666,"id":728,"platforms_id":728,"docs_link":1664},{"id":518,"status":5,"created_on":1229,"modified_on":1760,"name":738,"slug":737,"description":10,"docs_link":1761,"priority":10,"has_sdk":227,"sort":510,"highlighted":227,"in_menu":229,"changefreq":10,"support_type":1762,"show_in_spa":229,"is_file_format":227,"meta_title":10,"meta_description":10,"featured_on_web":229,"marketing_subtitle":1763,"tile_subtitle":1764,"tile_description":1765,"is_enterprise":227,"is_popular":229,"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":518},"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":740},{"id":1769},"7573fed6-8817-4cb4-84d2-be327e6c4891",{"id":25,"status":5,"sort":45,"created_on":944,"label":1771,"hidden":227,"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":624,"languages_code":933,"label":1771},[1784],{"id":25,"status":5,"sort":45,"label":1771,"hidden":227,"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":624,"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":229,"is_universal_plugin":227,"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":347,"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":338,"languages_code":933,"label":1729,"description":1794,"slug":1793},{"id":531,"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":229,"is_universal_plugin":227,"universal_plugin_vendor":10,"translations":1806},[1807,1808,1809,1810],{"id":45,"languages_code":925,"label":1729,"description":1794,"slug":1793},{"id":347,"languages_code":927,"label":1798,"description":1799,"slug":10},{"id":338,"languages_code":933,"label":1729,"description":1794,"slug":1793},{"id":531,"languages_code":930,"label":1802,"description":1803,"slug":10},[],[1813],{"languages_code":925,"name":738,"slug":737,"description":10,"support_type":1762,"meta_title":10,"meta_description":10,"marketing_subtitle":1763,"tile_subtitle":1764,"tile_description":1765,"id":518,"platforms_id":518,"docs_link":1761},{"id":1815,"owner":1816,"created_by":10,"sort":10,"title":1821,"slug":1822,"modified_on":194,"created_on":1823,"pinned":227,"badge":10,"priority":1824,"main_image":1825,"status":5,"tags":1826,"dictionary":1834,"reading_time":1835,"excerpt":-1,"og_title":194,"og_description":194,"og_image":194},"69d78a237ab1270001eddabf",{"id":1817,"first_name":1818,"last_name":194,"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":518,"created_on":1828,"status":5,"label":838,"slug":842,"on_index_page":227},"2026-05-28 17:45:05",{"id":469,"created_on":1828,"status":5,"label":1830,"slug":1831,"on_index_page":229},"AI","ai",{"id":518,"created_on":1828,"status":5,"label":419,"slug":1833,"on_index_page":229},"localization",[],0,{"id":1837,"owner":1838,"created_by":10,"sort":10,"title":1839,"slug":1840,"modified_on":194,"created_on":1841,"pinned":227,"badge":10,"priority":1824,"main_image":1842,"status":5,"tags":1843,"dictionary":1850,"reading_time":1835,"excerpt":-1,"og_title":194,"og_description":194,"og_image":194},"69ea1abb7ab1270001ede902",{"id":1817,"first_name":1818,"last_name":194,"slug":1819,"avatar":1820},"You can just build things. But should you? The build vs. buy debate in localization","build-vs-buy-in-localization-you-can-build-things-but-should-you","2026-05-25T08:43:00.000+02:00","https:\u002F\u002Fghost.localazy.com\u002Fcontent\u002Fimages\u002F2026\u002F05\u002Flocalazy-Vibe-coding.png",[1844,1845,1849],{"id":469,"created_on":1828,"status":5,"label":1830,"slug":1831,"on_index_page":229},{"id":1846,"created_on":1828,"status":5,"label":1847,"slug":1848,"on_index_page":227},646,"Business Development","business-development",{"id":518,"created_on":1828,"status":5,"label":419,"slug":1833,"on_index_page":229},[],{"post":1852,"relatedPosts":2001,"banner":2058},{"id":1853,"owner":1854,"created_by":10,"sort":10,"title":1859,"slug":1860,"modified_on":1861,"created_on":1862,"pinned":229,"badge":10,"priority":1824,"main_image":1863,"status":5,"tags":1864,"dictionary":1876,"reading_time":53,"excerpt":1934,"og_title":194,"og_description":194,"og_image":194,"content":1935,"meta_title":194,"meta_description":1936,"canonical":194,"cta":1937,"fullGhostPost":1944},"6887427363350c0001d5d435",{"id":1855,"first_name":1856,"last_name":194,"slug":1857,"avatar":1858},"61dc4e87df4bcb00010bd508","Mary Okosun","mary-okosun","https:\u002F\u002Fghost.localazy.com\u002Fcontent\u002Fimages\u002F2023\u002F12\u002Fokosun.png","How to localize an Express.js app with Localazy: i18n tutorial","how-to-handle-translation-express-project-using-localazy","2025-08-22T11:52:29.000+02:00","2025-08-13T12:45:08.000+02:00","https:\u002F\u002Fghost.localazy.com\u002Fcontent\u002Fimages\u002F2025\u002F08\u002FGroup-77.png",[1865,1869,1872],{"id":1866,"created_on":1828,"status":5,"label":1867,"slug":1868,"on_index_page":227},6895,"ExpressJS","expressjs",{"id":518,"created_on":1828,"status":5,"label":1870,"slug":1871,"on_index_page":227},"HowTo","howto",{"id":1873,"created_on":1828,"status":5,"label":1874,"slug":1875,"on_index_page":227},6556628,"Tutorial","tutorial",[1877,1888,1894,1907],{"id":1878,"status":5,"owner":1879,"created_on":1880,"title":1881,"excerpt":1882,"content":1883,"slug":1884,"meta_title":10,"meta_description":10,"canonical":194,"related_terms":1885},80,"2bac48a8-b362-482f-b574-3bc71dca4c5b","2022-03-17T12:22:55.000Z","NodeJS","NodeJS is a run-time JavaScript enviroment for server-side use.","NodeJS is a run-time JavaScript envinroment for server-side use. It comes packaged with everything needed to run JavaScript on a server. It uses NPM as a package manager to add additional features. NodeJS is mainly used for creating web applications and serving websites to end-users. It is also a popular first language to learn due to it's small learning curve and its high use.\n\nYou can localize NodeJS apps using Localazy.","nodejs",[1886],{"id":1887,"slug":707},75,{"id":1889,"status":5,"owner":1879,"created_on":1890,"title":838,"excerpt":1891,"content":1892,"slug":842,"meta_title":194,"meta_description":194,"canonical":194,"related_terms":1893},109,"2022-03-17T12:22:56.000Z","An interface that enables applications to exchange data with each other.","API (Application Programming Interface) allows programmers to build software that can receive or send data to other applications, databases, etc.\n\nHaving an API means that users of the software can work with their data and the applications' functionality programmatically. This allows for greater automation and time and costs savings.\n\nAPI always has a pre-defined set of commands that programmers can use to send requests to trigger functions, pull data, etc. Common examples of API use are payment gateways, social media management software that utilizes API to post on your behalf once you connect your accounts, etc.\n\nThe most common API protocols are:\n\n* SOAP\n* XML-RPC\n* JSON-RPC\n* REST\n\n## Localazy API\n\nYou can connect your project with Localazy using our translation API. This way, you can program your software to import source strings and download translations automatically.\n\n> ***Learn more in the [Localazy API documentation](\u002Fdocs\u002Fapi\u002Fintroduction)***",[],{"id":45,"status":5,"owner":1879,"created_on":1895,"title":1896,"excerpt":1897,"content":1898,"slug":532,"meta_title":194,"meta_description":194,"canonical":194,"related_terms":1899},"2026-05-12T07:09:22.000Z","Translation Memory (TM)","A database of previously translated terms that reduces translation costs and enhances productivity by reusing translations.","[**Translation Memory (TM)**](https:\u002F\u002Flocalazy.com\u002Ffeatures\u002Ftranslation-memory\u002F \"https:\u002F\u002Flocalazy.com\u002Ffeatures\u002Ftranslation-memory\u002F\") is an essential feature that helps store and reuse translated terms. By avoiding the duplication of identical or similar texts, a translation memory makes the whole translation process of your project faster and cheaper.\n\nAt Localazy, you can use ShareTM to assist you in providing suggestions based on previously approved translations. [**ShareTM**](https:\u002F\u002Flocalazy.com\u002Ffeatures\u002Fshare-tm\u002F \"https:\u002F\u002Flocalazy.com\u002Ffeatures\u002Fshare-tm\u002F\") allows you to share your translations with the Localazy community and, in return, use translations from other projects. [When you opt into ShareTM](https:\u002F\u002Flocalazy.com\u002Fdocs\u002Fgeneral\u002Fwhat-is-localazy-sharetm?srsltid=AfmBOooCoA89mWglcxDKkVCWdJzTKliFNo696PoS5VxJJFAD6QY_r2yv \"https:\u002F\u002Flocalazy.com\u002Fdocs\u002Fgeneral\u002Fwhat-is-localazy-sharetm?srsltid=AfmBOooCoA89mWglcxDKkVCWdJzTKliFNo696PoS5VxJJFAD6QY_r2yv\"), your translations contribute to a shared memory pool, and in return, you receive suggestions from this broader database. This collaborative approach can speed up the translation process by leveraging the work already done by others.\n\n### 💪 Main benefits of a TM:\n\n* **Cost reduction**: By reusing existing translations, you save on translation costs and resources.\n* **Consistency**: Ensures consistent terminology and phrasing across all your translations.\n* **Efficiency**: Speeds up the translation process by providing instant suggestions.\n* **Collaboration**: In the case of ShareTM, it promotes a collaborative environment where translations are shared and improved collectively, benefiting all users.",[1900,1903,1905],{"id":1901,"slug":1902},266,"crowdsourcing",{"id":19,"slug":1904},"intm",{"id":4,"slug":1906},"sharetm",{"id":576,"status":5,"owner":1879,"created_on":1880,"title":1908,"excerpt":1909,"content":1910,"slug":1911,"meta_title":1908,"meta_description":194,"canonical":194,"related_terms":1912},"Continuous Integration (CI)","Continuous integration (CI) is a way for developers to work together by combining their changes often to avoid problems later.","Continuous integration (CI) is a practice in software development where developers frequently combine, or \"merge,\" their work into a shared codebase, usually several times a day. This helps catch mistakes early and keeps the code working smoothly. When developers don't merge their work often, it can lead to \"integration hell,\" where fixing code conflicts takes more time and effort than writing the code itself. CI makes teamwork easier for developers and keeps projects manageable and on track.","continuous-integration",[1913,1915,1917,1919,1922,1925,1928,1931],{"id":518,"slug":1914},"externalized-string",{"id":641,"slug":1916},"intellij-idea",{"id":535,"slug":1918},"integrated-development-kit-ide",{"id":1920,"slug":1921},203,"no-code",{"id":1923,"slug":1924},219,"platform-engineering",{"id":1926,"slug":1927},220,"internal-developer-portal",{"id":1929,"slug":1930},221,"developer-onboarding-experience",{"id":1932,"slug":1933},222,"gitops","We show you how to create an Express.js project that can connect to a local server and use the Localazy API to export source content to Localazy, handle translation, and import the translated content back into the project.","\u003Cp>\u003Ca href=\"https:\u002F\u002Fexpressjs.com\u002F\">Express.js\u003C\u002Fa> is a flexible framework built on Node.js for fast and scalable server-side development. It is a lightweight option you can use to create APIs for building web and mobile applications.\u003C\u002Fp>\u003Cp>It simplifies the development of server-side applications by offering support for building REST APIs, real-time applications, and single-page applications.\u003C\u002Fp>\u003Cp>The purpose of this guide is to create a functional Express.js project that can connect to a local server and utilize the \u003Ca href=\"https:\u002F\u002Flocalazy.com\u002Fdocs\u002Fapi\u002Fintroduction\">Localazy API\u003C\u002Fa> to export source content to Localazy, handle translation within the dashboard, and import the translated content into our Express project.\u003C\u002Fp>\u003Ch2 id=\"prerequisites\">📋 Prerequisites \u003Ca class=\"markdownit-header-anchor\" href=\"#prerequisites\">🔗\u003C\u002Fa>\u003C\u002Fh2>\u003Cul>\u003Cli>Install\u003Ca href=\"https:\u002F\u002Fnodejs.org\u002Fen\u002F\"> Node.js\u003C\u002Fa> if you do not already have it installed. For this, you'll need to use version 18 or a later one. If you are using a version lower than 18, install \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fnvm-sh\u002Fnvm\">nvm\u003C\u002Fa> and upgrade your Node version to 18 or higher.\u003C\u002Fli>\u003Cli>You'll need to have the \u003Ca href=\"https:\u002F\u002Fwww.postman.com\u002Fdownloads\u002F\">Postman\u003C\u002Fa> app, which is required to run API requests.\u003C\u002Fli>\u003Cli>This tutorial will require you to use your text editor and the terminal application on your device.\u003C\u002Fli>\u003Cli>To follow this guide, you'll also need a \u003Ca href=\"https:\u002F\u002Flocalazy.com\u002Fmy\u002Fdashboard\">Localazy account\u003C\u002Fa> and a basic understanding of how the REST API works and how to use \u003Ca href=\"https:\u002F\u002Fwww.postman.com\u002Fdownloads\u002F\">Postman\u003C\u002Fa> for API testing.\u003C\u002Fli>\u003C\u002Ful>\u003Ch2 id=\"basic-express-app-configuration\">👩🏾‍💻 Basic Express app configuration \u003Ca class=\"markdownit-header-anchor\" href=\"#basic-express-app-configuration\">🔗\u003C\u002Fa>\u003C\u002Fh2>\u003Cp>After installing Node, let's build our Express application. Create a new directory\u002Ffolder called \u003Cstrong>expressApp\u003C\u002Fstrong> using the command below:\u003C\u002Fp>\u003Cpre>\u003Ccode>mkdir expressApp\u003C\u002Fcode>\u003C\u002Fpre>\u003Cpre>\u003Ccode>cd expressApp \u003C\u002Fcode>\u003C\u002Fpre>\u003Cp>Within the new directory, use the \u003Ccode>npm init -y\u003C\u002Fcode> command to create a \u003Cem>package.json\u003C\u002Fem> file for your application. This command will quickly create a default \u003Cem>package.json\u003C\u002Fem> file in your current directory without prompting you to answer questions. \u003C\u002Fp>\u003Cblockquote>The \u003Cem>package.json\u003C\u002Fem> file is the manifest file for a Node.js project. It defines important metadata about your project, such as the name, version, and dependencies (packages) needed by the project, etc.\u003C\u002Fblockquote>\u003Cfigure class=\"kg-card kg-image-card\">\u003Cimg src=\"https:\u002F\u002Flh7-rt.googleusercontent.com\u002Fdocsz\u002FAD_4nXcMTuWPJ2jZOh5HEFFTPp5vxFa37tnKx9fOvVLhri_HpDMCsX34Omr1TC1Ffl0MQqmhQHIVdybPObyagxoHBwqjhmWWcFDGJcDTtoFIrB1-6CgCCHQWVsp9P3qAXAK4L1G10gXXRg?key=0OmewBS_aPd5vowPj6iT7g\" class=\"kg-image\" alt loading=\"lazy\">\u003C\u002Ffigure>\u003Cp>Now, install the Express package in the \u003Cstrong>expressApp\u003C\u002Fstrong> directory using the command below:\u003C\u002Fp>\u003Cpre>\u003Ccode>npm install express\u003C\u002Fcode>\u003C\u002Fpre>\u003Cfigure class=\"kg-card kg-image-card\">\u003Cimg src=\"https:\u002F\u002Flh7-rt.googleusercontent.com\u002Fdocsz\u002FAD_4nXdRF3xOobHrGyy5qom5lyaXzS85B9d_1TAzPLkiIzrjcKsHBfgYKnl9UA5GFtogLisjGOU6kaYBOEAYfINg05DgZpIF-F7YLCsos41Au_0TjdpFgGYrAFxSZBbD5TwRp4GGqQ_X_Q?key=0OmewBS_aPd5vowPj6iT7g\" class=\"kg-image\" alt loading=\"lazy\">\u003C\u002Ffigure>\u003Cp>These are all the commands you need to set up your Express application. We set up our server and open up a port for listening to connections. In the project directory, create a file called \u003Cem>index.js\u003C\u002Fem> because in the \u003Cem>package.json\u003C\u002Fem> file, the \"main\" field is set to \u003Cem>index.js\u003C\u002Fem> by default. \u003C\u002Fp>\u003Cp>If you choose a different file name, such as \u003Cem>app.js\u003C\u002Fem>, it's important to update the \"main\" field in package.json to reflect that change. Copy the code from the snippets below.\u003C\u002Fp>\u003Cpre>\u003Ccode class=\"language-javascript\">const express = require('express')\nconst app = express()\nconst port = 3000\n\napp.get('\u002F', (req, res) =&gt; {\n\tres.send('Hello World!')\n})\n\napp.listen(port, () =&gt; {\n\tconsole.log(`Express application listening on port ${port}`)\n})`\n\u003C\u002Fcode>\u003C\u002Fpre>\u003Cul>\u003Cli>The code lines 1 and 2 import the Express module and then create an instance of an Express application. This is important for defining routes along the way. \u003C\u002Fli>\u003Cli>The code on line 3 sets the port number that your server will be listening on.\u003C\u002Fli>\u003Cli>The code lines 5 and 6 define the route to create a \u003Cstrong>GET endpoint\u003C\u002Fstrong> at the root URL. This means that when a user visits \u003Ca href=\"http:\u002F\u002Flocalhost:3000\u002F\">http:\u002F\u002Flocalhost:3000\u002F\u003C\u002Fa>, it responds with '\u003Cstrong>Hello World!\u003C\u002Fstrong>'.\u003C\u002Fli>\u003Cli>Lines 9 and 10 start the Express\u003Cstrong> \u003C\u002Fstrong>server and listen on port 3000, which is the predefined port number.\u003C\u002Fli>\u003C\u002Ful>\u003Cp>When the server is running, it logs to the terminal: \u003Ccode>Express application listening on port 3000.\u003C\u002Fcode>\u003C\u002Fp>\u003Ch2 id=\"localization-within-an-express-project\">💡 Localization within an Express project \u003Ca class=\"markdownit-header-anchor\" href=\"#localization-within-an-express-project\">🔗\u003C\u002Fa>\u003C\u002Fh2>\u003Cp>Now that we have built a starter Express project, we will create endpoint requests that can get the details of a Localazy project, upload content in a source language to the Localazy dashboard, and finally download translated content from the dashboard.\u003C\u002Fp>\u003Cp>The Localazy API utilizes standard HTTP response codes, authentication methods, verbs, and resource-based URLs. All endpoints are relative to the base URL: ⁣⁣\u003Ccode>https:\u002F\u002Fapi.localazy.com\u003C\u002Fcode> \u003C\u002Fp>\u003Cp>The documentation for all endpoints is available \u003Ca href=\"https:\u002F\u002Fdocumenter.getpostman.com\u002Fview\u002F25109945\u002F2s8Z6yVY2U#7f1d0707-776a-4255-99f1-dfb128cb8610\">here\u003C\u002Fa>.\u003C\u002Fp>\u003Cblockquote>\u003Cem>You must authenticate your request to access all endpoints because they are protected by access tokens\u003C\u002Fem>\u003C\u002Fblockquote>\u003Ch3 id=\"step-1-create-a-new-localazy-project\">Step 1: Create a new Localazy project \u003Ca class=\"markdownit-header-anchor\" href=\"#step-1-create-a-new-localazy-project\">🔗\u003C\u002Fa>\u003C\u002Fh3>\u003Cp>Log in and create a new project in Localazy in the \u003Ca href=\"https:\u002F\u002Flocalazy.com\u002Fmy\u002Fdashboard\">Localazy dashboard\u003C\u002Fa>:\u003C\u002Fp>\u003Cfigure class=\"kg-card kg-image-card\">\u003Cimg src=\"https:\u002F\u002Fghost.localazy.com\u002Fcontent\u002Fimages\u002F2025\u002F08\u002FScreenshot-2025-08-04-at-2.57.05-PM.png\" class=\"kg-image\" alt loading=\"lazy\" width=\"2000\" height=\"682\" srcset=\"https:\u002F\u002Fghost.localazy.com\u002Fcontent\u002Fimages\u002Fsize\u002Fw600\u002F2025\u002F08\u002FScreenshot-2025-08-04-at-2.57.05-PM.png 600w, https:\u002F\u002Fghost.localazy.com\u002Fcontent\u002Fimages\u002Fsize\u002Fw1000\u002F2025\u002F08\u002FScreenshot-2025-08-04-at-2.57.05-PM.png 1000w, https:\u002F\u002Fghost.localazy.com\u002Fcontent\u002Fimages\u002Fsize\u002Fw1600\u002F2025\u002F08\u002FScreenshot-2025-08-04-at-2.57.05-PM.png 1600w, https:\u002F\u002Fghost.localazy.com\u002Fcontent\u002Fimages\u002Fsize\u002Fw2400\u002F2025\u002F08\u002FScreenshot-2025-08-04-at-2.57.05-PM.png 2400w\" sizes=\"(min-width: 720px) 720px\">\u003C\u002Ffigure>\u003Cp>Our new project, \u003Cstrong>Express-api-integration\u003C\u002Fstrong>, has been created. The next step is to get the access token for it.\u003C\u002Fp>\u003Cp>The access token can be obtained from the \u003Ca href=\"https:\u002F\u002Flocalazy.com\u002Fconsole\u002Ftokens\">Developer Console\u003C\u002Fa> before we can begin using the Localazy API. This must be included in the authorization header for all API requests:\u003C\u002Fp>\u003Cpre>\u003Ccode>Authorization: Bearer {{token}}\u003C\u002Fcode>\u003C\u002Fpre>\u003Cfigure class=\"kg-card kg-image-card\">\u003Cimg src=\"https:\u002F\u002Fghost.localazy.com\u002Fcontent\u002Fimages\u002F2025\u002F08\u002FScreenshot-2025-08-05-at-2.55.50-PM.png\" class=\"kg-image\" alt loading=\"lazy\" width=\"2000\" height=\"137\" srcset=\"https:\u002F\u002Fghost.localazy.com\u002Fcontent\u002Fimages\u002Fsize\u002Fw600\u002F2025\u002F08\u002FScreenshot-2025-08-05-at-2.55.50-PM.png 600w, https:\u002F\u002Fghost.localazy.com\u002Fcontent\u002Fimages\u002Fsize\u002Fw1000\u002F2025\u002F08\u002FScreenshot-2025-08-05-at-2.55.50-PM.png 1000w, https:\u002F\u002Fghost.localazy.com\u002Fcontent\u002Fimages\u002Fsize\u002Fw1600\u002F2025\u002F08\u002FScreenshot-2025-08-05-at-2.55.50-PM.png 1600w, https:\u002F\u002Fghost.localazy.com\u002Fcontent\u002Fimages\u002F2025\u002F08\u002FScreenshot-2025-08-05-at-2.55.50-PM.png 2372w\" sizes=\"(min-width: 720px) 720px\">\u003C\u002Ffigure>\u003Cp>This token grants you access to a single project in Localazy, providing both read and write access.\u003C\u002Fp>\u003Ch3 id=\"step-2-create-an-endpoint-to-get-the-details-of-the-project\">Step 2: Create an endpoint to get the details of the project \u003Ca class=\"markdownit-header-anchor\" href=\"#step-2-create-an-endpoint-to-get-the-details-of-the-project\">🔗\u003C\u002Fa>\u003C\u002Fh3>\u003Cp>We will create a GET request endpoint that uses Axios to retrieve the details of the Localazy project we just created. Specifically, we'll need an .env file to store all environment variables and secrets such as tokens. \u003C\u002Fp>\u003Cblockquote>It is a good practice to store sensitive information like API keys, secret tokens, and credentials in a separate .env file and not within the codebase\u003C\u002Fblockquote>\u003Cp>A sample of the .env file can be seen as:\u003C\u002Fp>\u003Cpre>\u003Ccode>TOKEN=localazy_token\nPROJECT_ID=project_id\nPORT=3000\u003C\u002Fcode>\u003C\u002Fpre>\u003Cfigure class=\"kg-card kg-image-card\">\u003Cimg src=\"https:\u002F\u002Fghost.localazy.com\u002Fcontent\u002Fimages\u002F2025\u002F08\u002FScreenshot-2025-08-07-at-4.17.40-PM.png\" class=\"kg-image\" alt loading=\"lazy\" width=\"1322\" height=\"182\" srcset=\"https:\u002F\u002Fghost.localazy.com\u002Fcontent\u002Fimages\u002Fsize\u002Fw600\u002F2025\u002F08\u002FScreenshot-2025-08-07-at-4.17.40-PM.png 600w, https:\u002F\u002Fghost.localazy.com\u002Fcontent\u002Fimages\u002Fsize\u002Fw1000\u002F2025\u002F08\u002FScreenshot-2025-08-07-at-4.17.40-PM.png 1000w, https:\u002F\u002Fghost.localazy.com\u002Fcontent\u002Fimages\u002F2025\u002F08\u002FScreenshot-2025-08-07-at-4.17.40-PM.png 1322w\" sizes=\"(min-width: 720px) 720px\">\u003C\u002Ffigure>\u003Cp>In your terminal, we'll also need to install packages such as \u003Cstrong>axios\u003C\u002Fstrong> and \u003Cstrong>dotenv\u003C\u002Fstrong>. The axios package is a popular JavaScript HTTP client that you can use to make requests (GET, POST, PUT, DELETE, etc.) from either the browser or the server side. The dotenv package is used in Node.js applications to load environment variables from a \u003Ccode>.env\u003C\u002Fcode> file into \u003Ccode>process.env\u003C\u002Fcode>.\u003C\u002Fp>\u003Cpre>\u003Ccode>npm install axios\n\nnpm install dotenv\n\u003C\u002Fcode>\u003C\u002Fpre>\u003Cp>Within the \u003Cem>index.js\u003C\u002Fem> file, add the following code snippet:\u003C\u002Fp>\u003Cpre>\u003Ccode class=\"language-javascript\">const express = require(\"express\");\nconst axios = require(\"axios\");\nconst app = express();\n\nrequire(\"dotenv\").config();\n\nconst port = process.env.PORT;\nconst token = process.env.TOKEN;\nconst projectId = process.env.PROJECT_ID;\n\n\u002F\u002F Get Project Details\napp.get(\"\u002Fproject\", async (req, res) =&gt; {\n  try {\n    const url = \"https:\u002F\u002Fapi.localazy.com\u002Fprojects\";\n    const result = await axios.get(url, {\n      headers: {\n        Authorization: `Bearer ${token}`,\n      },\n    });\n\n    res.send(result.data);\n  } catch (error) {\n    console.error(\"error:\", error.response?.data || error.message);\n    res.status(500).send({ error: error.response?.data || error.message });\n  }\n});\u003C\u002Fcode>\u003C\u002Fpre>\u003Cp>This code creates an async \u003Cstrong>GET\u003C\u002Fstrong> route \u003Ccode>\u002Fproject\u003C\u002Fcode> using the URL \u003Ccode>https:\u002F\u002Fapi.localazy.com\u002Fprojects\u003C\u002Fcode> of Localazy's API, from which we want to fetch data. \u003C\u002Fp>\u003Cp>A bearer token is used within the authorization header to authenticate the request.\u003C\u002Fp>\u003Cp>Navigate to Postman and make a GET request to the URL \u003Ccode>http:\u002F\u002Flocalhost:3000\u002Fproject\u003C\u002Fcode> .\u003C\u002Fp>\u003Cfigure class=\"kg-card kg-image-card\">\u003Cimg src=\"https:\u002F\u002Fghost.localazy.com\u002Fcontent\u002Fimages\u002F2025\u002F08\u002FScreenshot-2025-08-05-at-2.59.49-PM-1.png\" class=\"kg-image\" alt loading=\"lazy\" width=\"2000\" height=\"827\" srcset=\"https:\u002F\u002Fghost.localazy.com\u002Fcontent\u002Fimages\u002Fsize\u002Fw600\u002F2025\u002F08\u002FScreenshot-2025-08-05-at-2.59.49-PM-1.png 600w, https:\u002F\u002Fghost.localazy.com\u002Fcontent\u002Fimages\u002Fsize\u002Fw1000\u002F2025\u002F08\u002FScreenshot-2025-08-05-at-2.59.49-PM-1.png 1000w, https:\u002F\u002Fghost.localazy.com\u002Fcontent\u002Fimages\u002Fsize\u002Fw1600\u002F2025\u002F08\u002FScreenshot-2025-08-05-at-2.59.49-PM-1.png 1600w, https:\u002F\u002Fghost.localazy.com\u002Fcontent\u002Fimages\u002F2025\u002F08\u002FScreenshot-2025-08-05-at-2.59.49-PM-1.png 2148w\" sizes=\"(min-width: 720px) 720px\">\u003C\u002Ffigure>\u003Cp>This returns details about the project like its unique identifier, name, URL, organization identifier, and more.\u003C\u002Fp>\u003Ch3 id=\"step-3-create-an-endpoint-to-upload-content-to-the-project-dashboard\">Step 3: Create an endpoint to upload content to the project dashboard \u003Ca class=\"markdownit-header-anchor\" href=\"#step-3-create-an-endpoint-to-upload-content-to-the-project-dashboard\">🔗\u003C\u002Fa>\u003C\u002Fh3>\u003Cp>We will create a POST request endpoint that uploads content in both the source and translated languages. It connects internally with the Localazy API to import content using the projectId as the project's unique identifier returned within the GET endpoint that returns project details. \u003C\u002Fp>\u003Cp>Within the \u003Cem>index.js\u003C\u002Fem> file, include the following code snippet:\u003C\u002Fp>\u003Cpre>\u003Ccode>\u002F\u002F Upload content\napp.post(\"\u002Fproject\", async (req, res) =&gt; {\n  try {\n    const url = `https:\u002F\u002Fapi.localazy.com\u002Fprojects\u002F${projectId}\u002Fimport`;\n    let result = await axios.post(\n      url,\n      {\n        files: [\n          {\n            name: \"express_file\",\n            content: {\n              type: \"json\",\n              en: {\n                heading: \"This is an Express application\",\n                paragraph:\n                  \"This application utilizes the Node.js framework and Localazy API to connect externally with the server\",\n              },\n            },\n          },\n        ],\n      },\n      { headers: { Authorization: `Bearer ${token}` } }\n    );\n    res.send(result.data);\n  } catch (error) {\n    console.error(\"error:\", error.response?.data || error.message);\n    res.status(500).send({ error: error.response?.data || error.message });\n  }\n});\u003C\u002Fcode>\u003C\u002Fpre>\u003Cp>Navigate to Postman and make a POST request to the URL \u003Ccode>http:\u002F\u002Flocalhost:3000\u002Fproject\u003C\u002Fcode>. \u003C\u002Fp>\u003Cfigure class=\"kg-card kg-image-card\">\u003Cimg src=\"https:\u002F\u002Fghost.localazy.com\u002Fcontent\u002Fimages\u002F2025\u002F08\u002FScreenshot-2025-08-05-at-3.24.04-PM.png\" class=\"kg-image\" alt loading=\"lazy\" width=\"2000\" height=\"461\" srcset=\"https:\u002F\u002Fghost.localazy.com\u002Fcontent\u002Fimages\u002Fsize\u002Fw600\u002F2025\u002F08\u002FScreenshot-2025-08-05-at-3.24.04-PM.png 600w, https:\u002F\u002Fghost.localazy.com\u002Fcontent\u002Fimages\u002Fsize\u002Fw1000\u002F2025\u002F08\u002FScreenshot-2025-08-05-at-3.24.04-PM.png 1000w, https:\u002F\u002Fghost.localazy.com\u002Fcontent\u002Fimages\u002Fsize\u002Fw1600\u002F2025\u002F08\u002FScreenshot-2025-08-05-at-3.24.04-PM.png 1600w, https:\u002F\u002Fghost.localazy.com\u002Fcontent\u002Fimages\u002F2025\u002F08\u002FScreenshot-2025-08-05-at-3.24.04-PM.png 2152w\" sizes=\"(min-width: 720px) 720px\">\u003C\u002Ffigure>\u003Cp>When we refresh our dashboard, we should see the English content and the two source keys that were added (heading and paragraph). At this step, you can go ahead and add other languages. Then you can translate within the project dashboard. \u003C\u002Fp>\u003Cfigure class=\"kg-card kg-image-card\">\u003Cimg src=\"https:\u002F\u002Fghost.localazy.com\u002Fcontent\u002Fimages\u002F2025\u002F08\u002FScreenshot-2025-08-05-at-3.23.16-PM.png\" class=\"kg-image\" alt loading=\"lazy\" width=\"2000\" height=\"628\" srcset=\"https:\u002F\u002Fghost.localazy.com\u002Fcontent\u002Fimages\u002Fsize\u002Fw600\u002F2025\u002F08\u002FScreenshot-2025-08-05-at-3.23.16-PM.png 600w, https:\u002F\u002Fghost.localazy.com\u002Fcontent\u002Fimages\u002Fsize\u002Fw1000\u002F2025\u002F08\u002FScreenshot-2025-08-05-at-3.23.16-PM.png 1000w, https:\u002F\u002Fghost.localazy.com\u002Fcontent\u002Fimages\u002Fsize\u002Fw1600\u002F2025\u002F08\u002FScreenshot-2025-08-05-at-3.23.16-PM.png 1600w, https:\u002F\u002Fghost.localazy.com\u002Fcontent\u002Fimages\u002Fsize\u002Fw2400\u002F2025\u002F08\u002FScreenshot-2025-08-05-at-3.23.16-PM.png 2400w\" sizes=\"(min-width: 720px) 720px\">\u003C\u002Ffigure>\u003Cp>You can use the Localazy \u003Ca href=\"https:\u002F\u002Flocalazy.com\u002Ffeatures\u002Fmachine-translation\">machine translation feature\u003C\u002Fa> to translate all keys in your imported content. You can also invite translators to help you or \u003Ca href=\"\u002Fterm\u002Fprofessional-translation-services\">order professional translation services\u003C\u002Fa> directly inside the platform.\u003C\u002Fp>\u003Cp>For our application, we are handling translations to three other languages: French (fr), Czech (cs), and Spanish (es).\u003C\u002Fp>\u003Cfigure class=\"kg-card kg-image-card\">\u003Cimg src=\"https:\u002F\u002Fghost.localazy.com\u002Fcontent\u002Fimages\u002F2025\u002F08\u002FScreenshot-2025-08-05-at-3.31.32-PM.png\" class=\"kg-image\" alt loading=\"lazy\" width=\"2000\" height=\"604\" srcset=\"https:\u002F\u002Fghost.localazy.com\u002Fcontent\u002Fimages\u002Fsize\u002Fw600\u002F2025\u002F08\u002FScreenshot-2025-08-05-at-3.31.32-PM.png 600w, https:\u002F\u002Fghost.localazy.com\u002Fcontent\u002Fimages\u002Fsize\u002Fw1000\u002F2025\u002F08\u002FScreenshot-2025-08-05-at-3.31.32-PM.png 1000w, https:\u002F\u002Fghost.localazy.com\u002Fcontent\u002Fimages\u002Fsize\u002Fw1600\u002F2025\u002F08\u002FScreenshot-2025-08-05-at-3.31.32-PM.png 1600w, https:\u002F\u002Fghost.localazy.com\u002Fcontent\u002Fimages\u002Fsize\u002Fw2400\u002F2025\u002F08\u002FScreenshot-2025-08-05-at-3.31.32-PM.png 2400w\" sizes=\"(min-width: 720px) 720px\">\u003C\u002Ffigure>\u003Ch3 id=\"step-4-create-an-endpoint-to-import-content-into-the-express-application\">Step 4: Create an endpoint to import content into the Express application \u003Ca class=\"markdownit-header-anchor\" href=\"#step-4-create-an-endpoint-to-import-content-into-the-express-application\">🔗\u003C\u002Fa>\u003C\u002Fh3>\u003Cp>Next, we'll be creating a GET request endpoint that downloads the raw file contents of a translated file. It connects internally with the Localazy API to import content using the \u003Cstrong>projectId\u003C\u002Fstrong> and the \u003Cstrong>fileId\u003C\u002Fstrong>.\u003C\u002Fp>\u003Cp>Within the \u003Cem>index.js\u003C\u002Fem> file, include the following code snippet:\u003C\u002Fp>\u003Cpre>\u003Ccode class=\"language-javascript\">\u002F\u002F Download translated content\napp.get(\"\u002Fproject\u002Fdownload\u002F:lang\", async (req, res) =&gt; {\n  try {\n    let file = await axios.get(\n      `https:\u002F\u002Fapi.localazy.com\u002Fprojects\u002F${projectId}\u002Ffiles`,\n      {\n        headers: {\n          Authorization: `Bearer ${token}`,\n        },\n      }\n    );\n\n    const { lang } = req.params;\n    const fileId = file.data[0].id;\n\n    const url = `https:\u002F\u002Fapi.localazy.com\u002Fprojects\u002F${projectId}\u002Ffiles\u002F${fileId}\u002Fdownload\u002F${lang}`;\n    let result = await axios.get(url, {\n      headers: {\n        Authorization: `Bearer ${token}`,\n      },\n    });\n    res.send(result.data);\n  } catch (error) {\n    console.error(\"error:\", error.response?.data || error.message);\n    res.status(500).send({ error: error.response?.data || error.message });\n  }\n});\u003C\u002Fcode>\u003C\u002Fpre>\u003Cp>From the code, the first Axios request connects to the Localazy API endpoint to retrieve all files in your project via a GET request. The response includes the \u003Cstrong>fileId\u003C\u002Fstrong>, which is subsequently used alongside the \u003Cstrong>projectId\u003C\u002Fstrong> to retrieve the downloaded translated content. The \u003Cstrong>lang\u003C\u002Fstrong> parameter indicates which language is to be returned.\u003C\u002Fp>\u003Cfigure class=\"kg-card kg-image-card kg-card-hascaption\">\u003Cimg src=\"https:\u002F\u002Fghost.localazy.com\u002Fcontent\u002Fimages\u002F2025\u002F08\u002FScreenshot-2025-08-07-at-3.43.19-PM.png\" class=\"kg-image\" alt loading=\"lazy\" width=\"2000\" height=\"478\" srcset=\"https:\u002F\u002Fghost.localazy.com\u002Fcontent\u002Fimages\u002Fsize\u002Fw600\u002F2025\u002F08\u002FScreenshot-2025-08-07-at-3.43.19-PM.png 600w, https:\u002F\u002Fghost.localazy.com\u002Fcontent\u002Fimages\u002Fsize\u002Fw1000\u002F2025\u002F08\u002FScreenshot-2025-08-07-at-3.43.19-PM.png 1000w, https:\u002F\u002Fghost.localazy.com\u002Fcontent\u002Fimages\u002Fsize\u002Fw1600\u002F2025\u002F08\u002FScreenshot-2025-08-07-at-3.43.19-PM.png 1600w, https:\u002F\u002Fghost.localazy.com\u002Fcontent\u002Fimages\u002F2025\u002F08\u002FScreenshot-2025-08-07-at-3.43.19-PM.png 2126w\" sizes=\"(min-width: 720px) 720px\">\u003Cfigcaption>French (fr) downloaded file.\u003C\u002Ffigcaption>\u003C\u002Ffigure>\u003Cfigure class=\"kg-card kg-image-card kg-card-hascaption\">\u003Cimg src=\"https:\u002F\u002Fghost.localazy.com\u002Fcontent\u002Fimages\u002F2025\u002F08\u002FScreenshot-2025-08-07-at-3.46.09-PM.png\" class=\"kg-image\" alt loading=\"lazy\" width=\"2000\" height=\"459\" srcset=\"https:\u002F\u002Fghost.localazy.com\u002Fcontent\u002Fimages\u002Fsize\u002Fw600\u002F2025\u002F08\u002FScreenshot-2025-08-07-at-3.46.09-PM.png 600w, https:\u002F\u002Fghost.localazy.com\u002Fcontent\u002Fimages\u002Fsize\u002Fw1000\u002F2025\u002F08\u002FScreenshot-2025-08-07-at-3.46.09-PM.png 1000w, https:\u002F\u002Fghost.localazy.com\u002Fcontent\u002Fimages\u002Fsize\u002Fw1600\u002F2025\u002F08\u002FScreenshot-2025-08-07-at-3.46.09-PM.png 1600w, https:\u002F\u002Fghost.localazy.com\u002Fcontent\u002Fimages\u002F2025\u002F08\u002FScreenshot-2025-08-07-at-3.46.09-PM.png 2152w\" sizes=\"(min-width: 720px) 720px\">\u003Cfigcaption>Czech (cs) downloaded file.\u003C\u002Ffigcaption>\u003C\u002Ffigure>\u003Cfigure class=\"kg-card kg-image-card kg-card-hascaption\">\u003Cimg src=\"https:\u002F\u002Fghost.localazy.com\u002Fcontent\u002Fimages\u002F2025\u002F08\u002FScreenshot-2025-08-07-at-3.46.28-PM.png\" class=\"kg-image\" alt loading=\"lazy\" width=\"2000\" height=\"461\" srcset=\"https:\u002F\u002Fghost.localazy.com\u002Fcontent\u002Fimages\u002Fsize\u002Fw600\u002F2025\u002F08\u002FScreenshot-2025-08-07-at-3.46.28-PM.png 600w, https:\u002F\u002Fghost.localazy.com\u002Fcontent\u002Fimages\u002Fsize\u002Fw1000\u002F2025\u002F08\u002FScreenshot-2025-08-07-at-3.46.28-PM.png 1000w, https:\u002F\u002Fghost.localazy.com\u002Fcontent\u002Fimages\u002Fsize\u002Fw1600\u002F2025\u002F08\u002FScreenshot-2025-08-07-at-3.46.28-PM.png 1600w, https:\u002F\u002Fghost.localazy.com\u002Fcontent\u002Fimages\u002F2025\u002F08\u002FScreenshot-2025-08-07-at-3.46.28-PM.png 2150w\" sizes=\"(min-width: 720px) 720px\">\u003Cfigcaption>Spanish (es) downloaded file.\u003C\u002Ffigcaption>\u003C\u002Ffigure>\u003Cp>Done! We have successfully translated our Express project from English to other languages. It's important to note that the Localazy API has other use cases, such as updating and deleting source keys, managing screenshots within a project, and more, all of which can be found in the \u003Ca href=\"https:\u002F\u002Fdocumenter.getpostman.com\u002Fview\u002F25109945\u002F2s8Z6yVY2U#intro\">Localazy Postman Documentation\u003C\u002Fa>.\u003C\u002Fp>\u003Cdiv class=\"kg-card kg-callout-card kg-callout-card-blue\">\u003Cdiv class=\"kg-callout-emoji\">📚\u003C\u002Fdiv>\u003Cdiv class=\"kg-callout-text\">Read \u003Ca href=\"https:\u002F\u002Flocalazy.com\u002Fblog\u002Fthe-ultimate-guide-to-localazy-api\">The ultimate guide to Localazy API\u003C\u002Fa> next!\u003C\u002Fdiv>\u003C\u002Fdiv>\u003Ch2 id=\"next-steps\">🚀 Next steps \u003Ca class=\"markdownit-header-anchor\" href=\"#next-steps\">🔗\u003C\u002Fa>\u003C\u002Fh2>\u003Cp>Now that you have a working Express.js integration with Localazy, here's how to take your localization setup to the next level and make it production-ready.\u003C\u002Fp>\u003Ch3 id=\"structure-your-translation-keys-properly\">Structure your translation keys properly \u003Ca class=\"markdownit-header-anchor\" href=\"#structure-your-translation-keys-properly\">🔗\u003C\u002Fa>\u003C\u002Fh3>\u003Cp>Organize your keys logically to make maintenance easier for both developers and translators:\u003C\u002Fp>\u003Cul>\u003Cli>\u003Ccode>pages.checkout.title\u003C\u002Fcode> instead of \u003Ccode>checkout_page_title\u003C\u002Fcode>\u003C\u002Fli>\u003Cli>Group related content together\u003C\u002Fli>\u003Cli>Use consistent naming patterns across your app\u003C\u002Fli>\u003C\u002Ful>\u003Ch3 id=\"integrate-with-your-cicd-pipeline\">Integrate with your CI\u002FCD Pipeline \u003Ca class=\"markdownit-header-anchor\" href=\"#integrate-with-your-cicd-pipeline\">🔗\u003C\u002Fa>\u003C\u002Fh3>\u003Cp>Add translation updates to your deployment process. Use Localazy's CLI or API calls in your build scripts to ensure your app always ships with the latest translations. \u003C\u002Fp>\u003Cp>Check out these integration guides for the most popular CI\u002FCD platforms:\u003C\u002Fp>\u003Col>\u003Cli>🐱\u003Cstrong> \u003Ca href=\"https:\u002F\u002Flocalazy.com\u002Fblog\u002Fautomated-localization-github-actions-localazy\">GitHub Actions\u003C\u002Fa>\u003C\u002Fstrong>\u003C\u002Fli>\u003Cli>🦊 \u003Cstrong>\u003Ca href=\"https:\u002F\u002Flocalazy.com\u002Fblog\u002Fautomated-localization-gitlab-cicd-localazy\">GitLab CI\u003C\u002Fa>\u003C\u002Fstrong>\u003C\u002Fli>\u003Cli>🪣 \u003Cstrong>\u003Ca href=\"https:\u002F\u002Flocalazy.com\u002Fblog\u002Fautomated-localization-bitbucket-pipelines-localazy\">Bitbucket Pipelines\u003C\u002Fa>\u003C\u002Fstrong>\u003C\u002Fli>\u003C\u002Fol>\u003Cp>This integration eliminates the coordination overhead between dev releases and translation updates.\u003C\u002Fp>\u003Cdiv class=\"kg-card kg-callout-card kg-callout-card-yellow\">\u003Cdiv class=\"kg-callout-emoji\">🌐\u003C\u002Fdiv>\u003Cdiv class=\"kg-callout-text\">\u003Cstrong>Tip:\u003C\u002Fstrong> Ship new translations in minutes without rebuilding your app with \u003Ca href=\"\u002Ffeatures\u002Flanguage-cdn\">Localazy CDN\u003C\u002Fa>!\u003C\u002Fdiv>\u003C\u002Fdiv>\u003Ch3 id=\"automate-the-translation-process\">Automate the translation process! \u003Ca class=\"markdownit-header-anchor\" href=\"#automate-the-translation-process\">🔗\u003C\u002Fa>\u003C\u002Fh3>\u003Cp>Stop manually managing translation updates. Set up automated workflows that handle new content without slowing down your development cycle:\u003C\u002Fp>\u003Cul>\u003Cli>\u003Cstrong>Machine translation as a starting point\u003C\u002Fstrong>: Pre-translate new keys with machine translations so you have working content immediately.\u003C\u002Fli>\u003Cli>\u003Cstrong>Invite team members\u003C\u002Fstrong> to review and refine automated translations.\u003C\u002Fli>\u003Cli>\u003Cstrong>Configure Automations\u003C\u002Fstrong> to process new content on every upload, reducing the manual overhead of coordinating with translators.\u003C\u002Fli>\u003C\u002Ful>\u003Cdiv class=\"kg-card kg-callout-card kg-callout-card-green\">\u003Cdiv class=\"kg-callout-emoji\">🤖\u003C\u002Fdiv>\u003Cdiv class=\"kg-callout-text\">Learn more about \u003Ca href=\"\u002Ffeatures\u002Fautomations\">Localazy Automations\u003C\u002Fa>\u003C\u002Fdiv>\u003C\u002Fdiv>\u003Cp>Automation enables faster time-to-market for new features, as translation work occurs in parallel with development, rather than after.\u003C\u002Fp>\u003Ch2 id=\"final-thoughts\">✔️ Final thoughts \u003Ca class=\"markdownit-header-anchor\" href=\"#final-thoughts\">🔗\u003C\u002Fa>\u003C\u002Fh2>\u003Cp>In this guide, we've created a simple Express.js project that connects to your local server and utilizes the Localazy API. This setup enables you to easily export your source content to Localazy, manage translations directly in the dashboard, and then smoothly import the translated content back into your Express project. \u003C\u002Fp>\u003Cp>With this foundation in place, you'll get a  robust localization system that scales with your app. You can add new languages, scale to thousands of translation keys, and handle complex localization requirements without needing to rebuild your integration.\u003C\u002Fp>","Learn how to add multilanguage support to your Express.js app using Localazy. Step-by-step i18n guide for developers.",{"id":41,"status":5,"created_on":1938,"modified_on":1939,"icon":1940,"header":1941,"description":1942,"button_label":1943,"link":1884},"2022-03-17T12:23:03.000Z","2025-08-22T09:55:05.000Z","app","Node.js i18n done right with Localazy","Go ahead and make your Node.js app international in a few steps. Our rich shared translation memory is waiting for you!","see node.js integration",{"slug":1860,"id":1853,"uuid":1945,"title":1859,"html":1946,"comment_id":1853,"feature_image":1863,"featured":229,"visibility":1947,"email_recipient_filter":1948,"created_at":1949,"updated_at":1861,"published_at":1862,"custom_excerpt":1934,"codeinjection_head":10,"codeinjection_foot":10,"custom_template":10,"canonical_url":10,"authors":1950,"tags":1957,"primary_author":1998,"primary_tag":1999,"url":2000,"excerpt":1934,"reading_time":53,"access":229,"send_email_when_published":227,"og_image":10,"og_title":10,"og_description":10,"twitter_image":10,"twitter_title":10,"twitter_description":10,"meta_title":10,"meta_description":1936,"email_subject":10,"frontmatter":10,"dictionary":1876,"cta":1937,"plainTags":1864},"bc134303-a6b1-4247-a35e-f4c47b662499","\u003Cp>\u003Ca href=\"https:\u002F\u002Fexpressjs.com\u002F\">Express.js\u003C\u002Fa> is a flexible framework built on Node.js for fast and scalable server-side development. It is a lightweight option you can use to create APIs for building web and mobile applications.\u003C\u002Fp>\u003Cp>It simplifies the development of server-side applications by offering support for building REST APIs, real-time applications, and single-page applications.\u003C\u002Fp>\u003Cp>The purpose of this guide is to create a functional Express.js project that can connect to a local server and utilize the \u003Ca href=\"https:\u002F\u002Flocalazy.com\u002Fdocs\u002Fapi\u002Fintroduction\">Localazy API\u003C\u002Fa> to export source content to Localazy, handle translation within the dashboard, and import the translated content into our Express project.\u003C\u002Fp>\u003Ch2 id=\"%F0%9F%93%8B-prerequisites\">📋 Prerequisites\u003C\u002Fh2>\u003Cul>\u003Cli>Install\u003Ca href=\"https:\u002F\u002Fnodejs.org\u002Fen\u002F\"> Node.js\u003C\u002Fa> if you do not already have it installed. For this, you'll need to use version 18 or a later one. If you are using a version lower than 18, install \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fnvm-sh\u002Fnvm\">nvm\u003C\u002Fa> and upgrade your Node version to 18 or higher.\u003C\u002Fli>\u003Cli>You'll need to have the \u003Ca href=\"https:\u002F\u002Fwww.postman.com\u002Fdownloads\u002F\">Postman\u003C\u002Fa> app, which is required to run API requests.\u003C\u002Fli>\u003Cli>This tutorial will require you to use your text editor and the terminal application on your device.\u003C\u002Fli>\u003Cli>To follow this guide, you'll also need a \u003Ca href=\"https:\u002F\u002Flocalazy.com\u002Fmy\u002Fdashboard\">Localazy account\u003C\u002Fa> and a basic understanding of how the REST API works and how to use \u003Ca href=\"https:\u002F\u002Fwww.postman.com\u002Fdownloads\u002F\">Postman\u003C\u002Fa> for API testing.\u003C\u002Fli>\u003C\u002Ful>\u003Ch2 id=\"%F0%9F%91%A9%F0%9F%8F%BE%E2%80%8D%F0%9F%92%BB-basic-express-app-configuration\">👩🏾‍💻 Basic Express app configuration\u003C\u002Fh2>\u003Cp>After installing Node, let's build our Express application. Create a new directory\u002Ffolder called \u003Cstrong>expressApp\u003C\u002Fstrong> using the command below:\u003C\u002Fp>\u003Cpre>\u003Ccode>mkdir expressApp\u003C\u002Fcode>\u003C\u002Fpre>\u003Cpre>\u003Ccode>cd expressApp \u003C\u002Fcode>\u003C\u002Fpre>\u003Cp>Within the new directory, use the \u003Ccode>npm init -y\u003C\u002Fcode> command to create a \u003Cem>package.json\u003C\u002Fem> file for your application. This command will quickly create a default \u003Cem>package.json\u003C\u002Fem> file in your current directory without prompting you to answer questions. \u003C\u002Fp>\u003Cblockquote>The \u003Cem>package.json\u003C\u002Fem> file is the manifest file for a Node.js project. It defines important metadata about your project, such as the name, version, and dependencies (packages) needed by the project, etc.\u003C\u002Fblockquote>\u003Cfigure class=\"kg-card kg-image-card\">\u003Cimg src=\"https:\u002F\u002Flh7-rt.googleusercontent.com\u002Fdocsz\u002FAD_4nXcMTuWPJ2jZOh5HEFFTPp5vxFa37tnKx9fOvVLhri_HpDMCsX34Omr1TC1Ffl0MQqmhQHIVdybPObyagxoHBwqjhmWWcFDGJcDTtoFIrB1-6CgCCHQWVsp9P3qAXAK4L1G10gXXRg?key=0OmewBS_aPd5vowPj6iT7g\" class=\"kg-image\" alt loading=\"lazy\">\u003C\u002Ffigure>\u003Cp>Now, install the Express package in the \u003Cstrong>expressApp\u003C\u002Fstrong> directory using the command below:\u003C\u002Fp>\u003Cpre>\u003Ccode>npm install express\u003C\u002Fcode>\u003C\u002Fpre>\u003Cfigure class=\"kg-card kg-image-card\">\u003Cimg src=\"https:\u002F\u002Flh7-rt.googleusercontent.com\u002Fdocsz\u002FAD_4nXdRF3xOobHrGyy5qom5lyaXzS85B9d_1TAzPLkiIzrjcKsHBfgYKnl9UA5GFtogLisjGOU6kaYBOEAYfINg05DgZpIF-F7YLCsos41Au_0TjdpFgGYrAFxSZBbD5TwRp4GGqQ_X_Q?key=0OmewBS_aPd5vowPj6iT7g\" class=\"kg-image\" alt loading=\"lazy\">\u003C\u002Ffigure>\u003Cp>These are all the commands you need to set up your Express application. We set up our server and open up a port for listening to connections. In the project directory, create a file called \u003Cem>index.js\u003C\u002Fem> because in the \u003Cem>package.json\u003C\u002Fem> file, the \"main\" field is set to \u003Cem>index.js\u003C\u002Fem> by default. \u003C\u002Fp>\u003Cp>If you choose a different file name, such as \u003Cem>app.js\u003C\u002Fem>, it's important to update the \"main\" field in package.json to reflect that change. Copy the code from the snippets below.\u003C\u002Fp>\u003Cpre>\u003Ccode class=\"language-javascript\">const express = require('express')\nconst app = express()\nconst port = 3000\n\napp.get('\u002F', (req, res) =&gt; {\n\tres.send('Hello World!')\n})\n\napp.listen(port, () =&gt; {\n\tconsole.log(`Express application listening on port ${port}`)\n})`\n\u003C\u002Fcode>\u003C\u002Fpre>\u003Cul>\u003Cli>The code lines 1 and 2 import the Express module and then create an instance of an Express application. This is important for defining routes along the way. \u003C\u002Fli>\u003Cli>The code on line 3 sets the port number that your server will be listening on.\u003C\u002Fli>\u003Cli>The code lines 5 and 6 define the route to create a \u003Cstrong>GET endpoint\u003C\u002Fstrong> at the root URL. This means that when a user visits \u003Ca href=\"http:\u002F\u002Flocalhost:3000\u002F\">http:\u002F\u002Flocalhost:3000\u002F\u003C\u002Fa>, it responds with '\u003Cstrong>Hello World!\u003C\u002Fstrong>'.\u003C\u002Fli>\u003Cli>Lines 9 and 10 start the Express\u003Cstrong> \u003C\u002Fstrong>server and listen on port 3000, which is the predefined port number.\u003C\u002Fli>\u003C\u002Ful>\u003Cp>When the server is running, it logs to the terminal: \u003Ccode>Express application listening on port 3000.\u003C\u002Fcode>\u003C\u002Fp>\u003Ch2 id=\"%F0%9F%92%A1-localization-within-an-express-project\">💡 Localization within an Express project\u003C\u002Fh2>\u003Cp>Now that we have built a starter Express project, we will create endpoint requests that can get the details of a Localazy project, upload content in a source language to the Localazy dashboard, and finally download translated content from the dashboard.\u003C\u002Fp>\u003Cp>The Localazy API utilizes standard HTTP response codes, authentication methods, verbs, and resource-based URLs. All endpoints are relative to the base URL: ⁣⁣\u003Ccode>https:\u002F\u002Fapi.localazy.com\u003C\u002Fcode> \u003C\u002Fp>\u003Cp>The documentation for all endpoints is available \u003Ca href=\"https:\u002F\u002Fdocumenter.getpostman.com\u002Fview\u002F25109945\u002F2s8Z6yVY2U#7f1d0707-776a-4255-99f1-dfb128cb8610\">here\u003C\u002Fa>.\u003C\u002Fp>\u003Cblockquote>\u003Cem>You must authenticate your request to access all endpoints because they are protected by access tokens\u003C\u002Fem>\u003C\u002Fblockquote>\u003Ch3 id=\"step-1-create-a-new-localazy-project\">Step 1: Create a new Localazy project\u003C\u002Fh3>\u003Cp>Log in and create a new project in Localazy in the \u003Ca href=\"https:\u002F\u002Flocalazy.com\u002Fmy\u002Fdashboard\">Localazy dashboard\u003C\u002Fa>:\u003C\u002Fp>\u003Cfigure class=\"kg-card kg-image-card\">\u003Cimg src=\"https:\u002F\u002Fghost.localazy.com\u002Fcontent\u002Fimages\u002F2025\u002F08\u002FScreenshot-2025-08-04-at-2.57.05-PM.png\" class=\"kg-image\" alt loading=\"lazy\" width=\"2000\" height=\"682\" srcset=\"https:\u002F\u002Fghost.localazy.com\u002Fcontent\u002Fimages\u002Fsize\u002Fw600\u002F2025\u002F08\u002FScreenshot-2025-08-04-at-2.57.05-PM.png 600w, https:\u002F\u002Fghost.localazy.com\u002Fcontent\u002Fimages\u002Fsize\u002Fw1000\u002F2025\u002F08\u002FScreenshot-2025-08-04-at-2.57.05-PM.png 1000w, https:\u002F\u002Fghost.localazy.com\u002Fcontent\u002Fimages\u002Fsize\u002Fw1600\u002F2025\u002F08\u002FScreenshot-2025-08-04-at-2.57.05-PM.png 1600w, https:\u002F\u002Fghost.localazy.com\u002Fcontent\u002Fimages\u002Fsize\u002Fw2400\u002F2025\u002F08\u002FScreenshot-2025-08-04-at-2.57.05-PM.png 2400w\" sizes=\"(min-width: 720px) 720px\">\u003C\u002Ffigure>\u003Cp>Our new project, \u003Cstrong>Express-api-integration\u003C\u002Fstrong>, has been created. The next step is to get the access token for it.\u003C\u002Fp>\u003Cp>The access token can be obtained from the \u003Ca href=\"https:\u002F\u002Flocalazy.com\u002Fconsole\u002Ftokens\">Developer Console\u003C\u002Fa> before we can begin using the Localazy API. This must be included in the authorization header for all API requests:\u003C\u002Fp>\u003Cpre>\u003Ccode>Authorization: Bearer {{token}}\u003C\u002Fcode>\u003C\u002Fpre>\u003Cfigure class=\"kg-card kg-image-card\">\u003Cimg src=\"https:\u002F\u002Fghost.localazy.com\u002Fcontent\u002Fimages\u002F2025\u002F08\u002FScreenshot-2025-08-05-at-2.55.50-PM.png\" class=\"kg-image\" alt loading=\"lazy\" width=\"2000\" height=\"137\" srcset=\"https:\u002F\u002Fghost.localazy.com\u002Fcontent\u002Fimages\u002Fsize\u002Fw600\u002F2025\u002F08\u002FScreenshot-2025-08-05-at-2.55.50-PM.png 600w, https:\u002F\u002Fghost.localazy.com\u002Fcontent\u002Fimages\u002Fsize\u002Fw1000\u002F2025\u002F08\u002FScreenshot-2025-08-05-at-2.55.50-PM.png 1000w, https:\u002F\u002Fghost.localazy.com\u002Fcontent\u002Fimages\u002Fsize\u002Fw1600\u002F2025\u002F08\u002FScreenshot-2025-08-05-at-2.55.50-PM.png 1600w, https:\u002F\u002Fghost.localazy.com\u002Fcontent\u002Fimages\u002F2025\u002F08\u002FScreenshot-2025-08-05-at-2.55.50-PM.png 2372w\" sizes=\"(min-width: 720px) 720px\">\u003C\u002Ffigure>\u003Cp>This token grants you access to a single project in Localazy, providing both read and write access.\u003C\u002Fp>\u003Ch3 id=\"step-2-create-an-endpoint-to-get-the-details-of-the-project\">Step 2: Create an endpoint to get the details of the project\u003C\u002Fh3>\u003Cp>We will create a GET request endpoint that uses Axios to retrieve the details of the Localazy project we just created. Specifically, we'll need an .env file to store all environment variables and secrets such as tokens. \u003C\u002Fp>\u003Cblockquote>It is a good practice to store sensitive information like API keys, secret tokens, and credentials in a separate .env file and not within the codebase\u003C\u002Fblockquote>\u003Cp>A sample of the .env file can be seen as:\u003C\u002Fp>\u003Cpre>\u003Ccode>TOKEN=localazy_token\nPROJECT_ID=project_id\nPORT=3000\u003C\u002Fcode>\u003C\u002Fpre>\u003Cfigure class=\"kg-card kg-image-card\">\u003Cimg src=\"https:\u002F\u002Fghost.localazy.com\u002Fcontent\u002Fimages\u002F2025\u002F08\u002FScreenshot-2025-08-07-at-4.17.40-PM.png\" class=\"kg-image\" alt loading=\"lazy\" width=\"1322\" height=\"182\" srcset=\"https:\u002F\u002Fghost.localazy.com\u002Fcontent\u002Fimages\u002Fsize\u002Fw600\u002F2025\u002F08\u002FScreenshot-2025-08-07-at-4.17.40-PM.png 600w, https:\u002F\u002Fghost.localazy.com\u002Fcontent\u002Fimages\u002Fsize\u002Fw1000\u002F2025\u002F08\u002FScreenshot-2025-08-07-at-4.17.40-PM.png 1000w, https:\u002F\u002Fghost.localazy.com\u002Fcontent\u002Fimages\u002F2025\u002F08\u002FScreenshot-2025-08-07-at-4.17.40-PM.png 1322w\" sizes=\"(min-width: 720px) 720px\">\u003C\u002Ffigure>\u003Cp>In your terminal, we'll also need to install packages such as \u003Cstrong>axios\u003C\u002Fstrong> and \u003Cstrong>dotenv\u003C\u002Fstrong>. The axios package is a popular JavaScript HTTP client that you can use to make requests (GET, POST, PUT, DELETE, etc.) from either the browser or the server side. The dotenv package is used in Node.js applications to load environment variables from a \u003Ccode>.env\u003C\u002Fcode> file into \u003Ccode>process.env\u003C\u002Fcode>.\u003C\u002Fp>\u003Cpre>\u003Ccode>npm install axios\n\nnpm install dotenv\n\u003C\u002Fcode>\u003C\u002Fpre>\u003Cp>Within the \u003Cem>index.js\u003C\u002Fem> file, add the following code snippet:\u003C\u002Fp>\u003Cpre>\u003Ccode class=\"language-javascript\">const express = require(\"express\");\nconst axios = require(\"axios\");\nconst app = express();\n\nrequire(\"dotenv\").config();\n\nconst port = process.env.PORT;\nconst token = process.env.TOKEN;\nconst projectId = process.env.PROJECT_ID;\n\n\u002F\u002F Get Project Details\napp.get(\"\u002Fproject\", async (req, res) =&gt; {\n  try {\n    const url = \"https:\u002F\u002Fapi.localazy.com\u002Fprojects\";\n    const result = await axios.get(url, {\n      headers: {\n        Authorization: `Bearer ${token}`,\n      },\n    });\n\n    res.send(result.data);\n  } catch (error) {\n    console.error(\"error:\", error.response?.data || error.message);\n    res.status(500).send({ error: error.response?.data || error.message });\n  }\n});\u003C\u002Fcode>\u003C\u002Fpre>\u003Cp>This code creates an async \u003Cstrong>GET\u003C\u002Fstrong> route \u003Ccode>\u002Fproject\u003C\u002Fcode> using the URL \u003Ccode>https:\u002F\u002Fapi.localazy.com\u002Fprojects\u003C\u002Fcode> of Localazy's API, from which we want to fetch data. \u003C\u002Fp>\u003Cp>A bearer token is used within the authorization header to authenticate the request.\u003C\u002Fp>\u003Cp>Navigate to Postman and make a GET request to the URL \u003Ccode>http:\u002F\u002Flocalhost:3000\u002Fproject\u003C\u002Fcode> .\u003C\u002Fp>\u003Cfigure class=\"kg-card kg-image-card\">\u003Cimg src=\"https:\u002F\u002Fghost.localazy.com\u002Fcontent\u002Fimages\u002F2025\u002F08\u002FScreenshot-2025-08-05-at-2.59.49-PM-1.png\" class=\"kg-image\" alt loading=\"lazy\" width=\"2000\" height=\"827\" srcset=\"https:\u002F\u002Fghost.localazy.com\u002Fcontent\u002Fimages\u002Fsize\u002Fw600\u002F2025\u002F08\u002FScreenshot-2025-08-05-at-2.59.49-PM-1.png 600w, https:\u002F\u002Fghost.localazy.com\u002Fcontent\u002Fimages\u002Fsize\u002Fw1000\u002F2025\u002F08\u002FScreenshot-2025-08-05-at-2.59.49-PM-1.png 1000w, https:\u002F\u002Fghost.localazy.com\u002Fcontent\u002Fimages\u002Fsize\u002Fw1600\u002F2025\u002F08\u002FScreenshot-2025-08-05-at-2.59.49-PM-1.png 1600w, https:\u002F\u002Fghost.localazy.com\u002Fcontent\u002Fimages\u002F2025\u002F08\u002FScreenshot-2025-08-05-at-2.59.49-PM-1.png 2148w\" sizes=\"(min-width: 720px) 720px\">\u003C\u002Ffigure>\u003Cp>This returns details about the project like its unique identifier, name, URL, organization identifier, and more.\u003C\u002Fp>\u003Ch3 id=\"step-3-create-an-endpoint-to-upload-content-to-the-project-dashboard\">Step 3: Create an endpoint to upload content to the project dashboard\u003C\u002Fh3>\u003Cp>We will create a POST request endpoint that uploads content in both the source and translated languages. It connects internally with the Localazy API to import content using the projectId as the project's unique identifier returned within the GET endpoint that returns project details. \u003C\u002Fp>\u003Cp>Within the \u003Cem>index.js\u003C\u002Fem> file, include the following code snippet:\u003C\u002Fp>\u003Cpre>\u003Ccode>\u002F\u002F Upload content\napp.post(\"\u002Fproject\", async (req, res) =&gt; {\n  try {\n    const url = `https:\u002F\u002Fapi.localazy.com\u002Fprojects\u002F${projectId}\u002Fimport`;\n    let result = await axios.post(\n      url,\n      {\n        files: [\n          {\n            name: \"express_file\",\n            content: {\n              type: \"json\",\n              en: {\n                heading: \"This is an Express application\",\n                paragraph:\n                  \"This application utilizes the Node.js framework and Localazy API to connect externally with the server\",\n              },\n            },\n          },\n        ],\n      },\n      { headers: { Authorization: `Bearer ${token}` } }\n    );\n    res.send(result.data);\n  } catch (error) {\n    console.error(\"error:\", error.response?.data || error.message);\n    res.status(500).send({ error: error.response?.data || error.message });\n  }\n});\u003C\u002Fcode>\u003C\u002Fpre>\u003Cp>Navigate to Postman and make a POST request to the URL \u003Ccode>http:\u002F\u002Flocalhost:3000\u002Fproject\u003C\u002Fcode>. \u003C\u002Fp>\u003Cfigure class=\"kg-card kg-image-card\">\u003Cimg src=\"https:\u002F\u002Fghost.localazy.com\u002Fcontent\u002Fimages\u002F2025\u002F08\u002FScreenshot-2025-08-05-at-3.24.04-PM.png\" class=\"kg-image\" alt loading=\"lazy\" width=\"2000\" height=\"461\" srcset=\"https:\u002F\u002Fghost.localazy.com\u002Fcontent\u002Fimages\u002Fsize\u002Fw600\u002F2025\u002F08\u002FScreenshot-2025-08-05-at-3.24.04-PM.png 600w, https:\u002F\u002Fghost.localazy.com\u002Fcontent\u002Fimages\u002Fsize\u002Fw1000\u002F2025\u002F08\u002FScreenshot-2025-08-05-at-3.24.04-PM.png 1000w, https:\u002F\u002Fghost.localazy.com\u002Fcontent\u002Fimages\u002Fsize\u002Fw1600\u002F2025\u002F08\u002FScreenshot-2025-08-05-at-3.24.04-PM.png 1600w, https:\u002F\u002Fghost.localazy.com\u002Fcontent\u002Fimages\u002F2025\u002F08\u002FScreenshot-2025-08-05-at-3.24.04-PM.png 2152w\" sizes=\"(min-width: 720px) 720px\">\u003C\u002Ffigure>\u003Cp>When we refresh our dashboard, we should see the English content and the two source keys that were added (heading and paragraph). At this step, you can go ahead and add other languages. Then you can translate within the project dashboard. \u003C\u002Fp>\u003Cfigure class=\"kg-card kg-image-card\">\u003Cimg src=\"https:\u002F\u002Fghost.localazy.com\u002Fcontent\u002Fimages\u002F2025\u002F08\u002FScreenshot-2025-08-05-at-3.23.16-PM.png\" class=\"kg-image\" alt loading=\"lazy\" width=\"2000\" height=\"628\" srcset=\"https:\u002F\u002Fghost.localazy.com\u002Fcontent\u002Fimages\u002Fsize\u002Fw600\u002F2025\u002F08\u002FScreenshot-2025-08-05-at-3.23.16-PM.png 600w, https:\u002F\u002Fghost.localazy.com\u002Fcontent\u002Fimages\u002Fsize\u002Fw1000\u002F2025\u002F08\u002FScreenshot-2025-08-05-at-3.23.16-PM.png 1000w, https:\u002F\u002Fghost.localazy.com\u002Fcontent\u002Fimages\u002Fsize\u002Fw1600\u002F2025\u002F08\u002FScreenshot-2025-08-05-at-3.23.16-PM.png 1600w, https:\u002F\u002Fghost.localazy.com\u002Fcontent\u002Fimages\u002Fsize\u002Fw2400\u002F2025\u002F08\u002FScreenshot-2025-08-05-at-3.23.16-PM.png 2400w\" sizes=\"(min-width: 720px) 720px\">\u003C\u002Ffigure>\u003Cp>You can use the Localazy \u003Ca href=\"https:\u002F\u002Flocalazy.com\u002Ffeatures\u002Fmachine-translation\">machine translation feature\u003C\u002Fa> to translate all keys in your imported content. You can also invite translators to help you or \u003Ca href=\"https:\u002F\u002Fghost.localazy.com\u002Fterm\u002Fprofessional-translation-services\">order professional translation services\u003C\u002Fa> directly inside the platform.\u003C\u002Fp>\u003Cp>For our application, we are handling translations to three other languages: French (fr), Czech (cs), and Spanish (es).\u003C\u002Fp>\u003Cfigure class=\"kg-card kg-image-card\">\u003Cimg src=\"https:\u002F\u002Fghost.localazy.com\u002Fcontent\u002Fimages\u002F2025\u002F08\u002FScreenshot-2025-08-05-at-3.31.32-PM.png\" class=\"kg-image\" alt loading=\"lazy\" width=\"2000\" height=\"604\" srcset=\"https:\u002F\u002Fghost.localazy.com\u002Fcontent\u002Fimages\u002Fsize\u002Fw600\u002F2025\u002F08\u002FScreenshot-2025-08-05-at-3.31.32-PM.png 600w, https:\u002F\u002Fghost.localazy.com\u002Fcontent\u002Fimages\u002Fsize\u002Fw1000\u002F2025\u002F08\u002FScreenshot-2025-08-05-at-3.31.32-PM.png 1000w, https:\u002F\u002Fghost.localazy.com\u002Fcontent\u002Fimages\u002Fsize\u002Fw1600\u002F2025\u002F08\u002FScreenshot-2025-08-05-at-3.31.32-PM.png 1600w, https:\u002F\u002Fghost.localazy.com\u002Fcontent\u002Fimages\u002Fsize\u002Fw2400\u002F2025\u002F08\u002FScreenshot-2025-08-05-at-3.31.32-PM.png 2400w\" sizes=\"(min-width: 720px) 720px\">\u003C\u002Ffigure>\u003Ch3 id=\"step-4-create-an-endpoint-to-import-content-into-the-express-application\">Step 4: Create an endpoint to import content into the Express application\u003C\u002Fh3>\u003Cp>Next, we'll be creating a GET request endpoint that downloads the raw file contents of a translated file. It connects internally with the Localazy API to import content using the \u003Cstrong>projectId\u003C\u002Fstrong> and the \u003Cstrong>fileId\u003C\u002Fstrong>.\u003C\u002Fp>\u003Cp>Within the \u003Cem>index.js\u003C\u002Fem> file, include the following code snippet:\u003C\u002Fp>\u003Cpre>\u003Ccode class=\"language-javascript\">\u002F\u002F Download translated content\napp.get(\"\u002Fproject\u002Fdownload\u002F:lang\", async (req, res) =&gt; {\n  try {\n    let file = await axios.get(\n      `https:\u002F\u002Fapi.localazy.com\u002Fprojects\u002F${projectId}\u002Ffiles`,\n      {\n        headers: {\n          Authorization: `Bearer ${token}`,\n        },\n      }\n    );\n\n    const { lang } = req.params;\n    const fileId = file.data[0].id;\n\n    const url = `https:\u002F\u002Fapi.localazy.com\u002Fprojects\u002F${projectId}\u002Ffiles\u002F${fileId}\u002Fdownload\u002F${lang}`;\n    let result = await axios.get(url, {\n      headers: {\n        Authorization: `Bearer ${token}`,\n      },\n    });\n    res.send(result.data);\n  } catch (error) {\n    console.error(\"error:\", error.response?.data || error.message);\n    res.status(500).send({ error: error.response?.data || error.message });\n  }\n});\u003C\u002Fcode>\u003C\u002Fpre>\u003Cp>From the code, the first Axios request connects to the Localazy API endpoint to retrieve all files in your project via a GET request. The response includes the \u003Cstrong>fileId\u003C\u002Fstrong>, which is subsequently used alongside the \u003Cstrong>projectId\u003C\u002Fstrong> to retrieve the downloaded translated content. The \u003Cstrong>lang\u003C\u002Fstrong> parameter indicates which language is to be returned.\u003C\u002Fp>\u003Cfigure class=\"kg-card kg-image-card kg-card-hascaption\">\u003Cimg src=\"https:\u002F\u002Fghost.localazy.com\u002Fcontent\u002Fimages\u002F2025\u002F08\u002FScreenshot-2025-08-07-at-3.43.19-PM.png\" class=\"kg-image\" alt loading=\"lazy\" width=\"2000\" height=\"478\" srcset=\"https:\u002F\u002Fghost.localazy.com\u002Fcontent\u002Fimages\u002Fsize\u002Fw600\u002F2025\u002F08\u002FScreenshot-2025-08-07-at-3.43.19-PM.png 600w, https:\u002F\u002Fghost.localazy.com\u002Fcontent\u002Fimages\u002Fsize\u002Fw1000\u002F2025\u002F08\u002FScreenshot-2025-08-07-at-3.43.19-PM.png 1000w, https:\u002F\u002Fghost.localazy.com\u002Fcontent\u002Fimages\u002Fsize\u002Fw1600\u002F2025\u002F08\u002FScreenshot-2025-08-07-at-3.43.19-PM.png 1600w, https:\u002F\u002Fghost.localazy.com\u002Fcontent\u002Fimages\u002F2025\u002F08\u002FScreenshot-2025-08-07-at-3.43.19-PM.png 2126w\" sizes=\"(min-width: 720px) 720px\">\u003Cfigcaption>French (fr) downloaded file.\u003C\u002Ffigcaption>\u003C\u002Ffigure>\u003Cfigure class=\"kg-card kg-image-card kg-card-hascaption\">\u003Cimg src=\"https:\u002F\u002Fghost.localazy.com\u002Fcontent\u002Fimages\u002F2025\u002F08\u002FScreenshot-2025-08-07-at-3.46.09-PM.png\" class=\"kg-image\" alt loading=\"lazy\" width=\"2000\" height=\"459\" srcset=\"https:\u002F\u002Fghost.localazy.com\u002Fcontent\u002Fimages\u002Fsize\u002Fw600\u002F2025\u002F08\u002FScreenshot-2025-08-07-at-3.46.09-PM.png 600w, https:\u002F\u002Fghost.localazy.com\u002Fcontent\u002Fimages\u002Fsize\u002Fw1000\u002F2025\u002F08\u002FScreenshot-2025-08-07-at-3.46.09-PM.png 1000w, https:\u002F\u002Fghost.localazy.com\u002Fcontent\u002Fimages\u002Fsize\u002Fw1600\u002F2025\u002F08\u002FScreenshot-2025-08-07-at-3.46.09-PM.png 1600w, https:\u002F\u002Fghost.localazy.com\u002Fcontent\u002Fimages\u002F2025\u002F08\u002FScreenshot-2025-08-07-at-3.46.09-PM.png 2152w\" sizes=\"(min-width: 720px) 720px\">\u003Cfigcaption>Czech (cs) downloaded file.\u003C\u002Ffigcaption>\u003C\u002Ffigure>\u003Cfigure class=\"kg-card kg-image-card kg-card-hascaption\">\u003Cimg src=\"https:\u002F\u002Fghost.localazy.com\u002Fcontent\u002Fimages\u002F2025\u002F08\u002FScreenshot-2025-08-07-at-3.46.28-PM.png\" class=\"kg-image\" alt loading=\"lazy\" width=\"2000\" height=\"461\" srcset=\"https:\u002F\u002Fghost.localazy.com\u002Fcontent\u002Fimages\u002Fsize\u002Fw600\u002F2025\u002F08\u002FScreenshot-2025-08-07-at-3.46.28-PM.png 600w, https:\u002F\u002Fghost.localazy.com\u002Fcontent\u002Fimages\u002Fsize\u002Fw1000\u002F2025\u002F08\u002FScreenshot-2025-08-07-at-3.46.28-PM.png 1000w, https:\u002F\u002Fghost.localazy.com\u002Fcontent\u002Fimages\u002Fsize\u002Fw1600\u002F2025\u002F08\u002FScreenshot-2025-08-07-at-3.46.28-PM.png 1600w, https:\u002F\u002Fghost.localazy.com\u002Fcontent\u002Fimages\u002F2025\u002F08\u002FScreenshot-2025-08-07-at-3.46.28-PM.png 2150w\" sizes=\"(min-width: 720px) 720px\">\u003Cfigcaption>Spanish (es) downloaded file.\u003C\u002Ffigcaption>\u003C\u002Ffigure>\u003Cp>Done! We have successfully translated our Express project from English to other languages. It's important to note that the Localazy API has other use cases, such as updating and deleting source keys, managing screenshots within a project, and more, all of which can be found in the \u003Ca href=\"https:\u002F\u002Fdocumenter.getpostman.com\u002Fview\u002F25109945\u002F2s8Z6yVY2U#intro\">Localazy Postman Documentation\u003C\u002Fa>.\u003C\u002Fp>\u003Cdiv class=\"kg-card kg-callout-card kg-callout-card-blue\">\u003Cdiv class=\"kg-callout-emoji\">📚\u003C\u002Fdiv>\u003Cdiv class=\"kg-callout-text\">Read \u003Ca href=\"https:\u002F\u002Flocalazy.com\u002Fblog\u002Fthe-ultimate-guide-to-localazy-api\">The ultimate guide to Localazy API\u003C\u002Fa> next!\u003C\u002Fdiv>\u003C\u002Fdiv>\u003Ch2 id=\"%F0%9F%9A%80-next-steps\">🚀 Next steps\u003C\u002Fh2>\u003Cp>Now that you have a working Express.js integration with Localazy, here's how to take your localization setup to the next level and make it production-ready.\u003C\u002Fp>\u003Ch3 id=\"structure-your-translation-keys-properly\">Structure your translation keys properly\u003C\u002Fh3>\u003Cp>Organize your keys logically to make maintenance easier for both developers and translators:\u003C\u002Fp>\u003Cul>\u003Cli>\u003Ccode>pages.checkout.title\u003C\u002Fcode> instead of \u003Ccode>checkout_page_title\u003C\u002Fcode>\u003C\u002Fli>\u003Cli>Group related content together\u003C\u002Fli>\u003Cli>Use consistent naming patterns across your app\u003C\u002Fli>\u003C\u002Ful>\u003Ch3 id=\"integrate-with-your-cicd-pipeline\">Integrate with your CI\u002FCD Pipeline\u003C\u002Fh3>\u003Cp>Add translation updates to your deployment process. Use Localazy's CLI or API calls in your build scripts to ensure your app always ships with the latest translations. \u003C\u002Fp>\u003Cp>Check out these integration guides for the most popular CI\u002FCD platforms:\u003C\u002Fp>\u003Col>\u003Cli>🐱\u003Cstrong> \u003Ca href=\"https:\u002F\u002Flocalazy.com\u002Fblog\u002Fautomated-localization-github-actions-localazy\">GitHub Actions\u003C\u002Fa>\u003C\u002Fstrong>\u003C\u002Fli>\u003Cli>🦊 \u003Cstrong>\u003Ca href=\"https:\u002F\u002Flocalazy.com\u002Fblog\u002Fautomated-localization-gitlab-cicd-localazy\">GitLab CI\u003C\u002Fa>\u003C\u002Fstrong>\u003C\u002Fli>\u003Cli>🪣 \u003Cstrong>\u003Ca href=\"https:\u002F\u002Flocalazy.com\u002Fblog\u002Fautomated-localization-bitbucket-pipelines-localazy\">Bitbucket Pipelines\u003C\u002Fa>\u003C\u002Fstrong>\u003C\u002Fli>\u003C\u002Fol>\u003Cp>This integration eliminates the coordination overhead between dev releases and translation updates.\u003C\u002Fp>\u003Cdiv class=\"kg-card kg-callout-card kg-callout-card-yellow\">\u003Cdiv class=\"kg-callout-emoji\">🌐\u003C\u002Fdiv>\u003Cdiv class=\"kg-callout-text\">\u003Cstrong>Tip:\u003C\u002Fstrong> Ship new translations in minutes without rebuilding your app with \u003Ca href=\"https:\u002F\u002Fghost.localazy.com\u002Ffeatures\u002Flanguage-cdn\">Localazy CDN\u003C\u002Fa>!\u003C\u002Fdiv>\u003C\u002Fdiv>\u003Ch3 id=\"automate-the-translation-process\">Automate the translation process!\u003C\u002Fh3>\u003Cp>Stop manually managing translation updates. Set up automated workflows that handle new content without slowing down your development cycle:\u003C\u002Fp>\u003Cul>\u003Cli>\u003Cstrong>Machine translation as a starting point\u003C\u002Fstrong>: Pre-translate new keys with machine translations so you have working content immediately.\u003C\u002Fli>\u003Cli>\u003Cstrong>Invite team members\u003C\u002Fstrong> to review and refine automated translations.\u003C\u002Fli>\u003Cli>\u003Cstrong>Configure Automations\u003C\u002Fstrong> to process new content on every upload, reducing the manual overhead of coordinating with translators.\u003C\u002Fli>\u003C\u002Ful>\u003Cdiv class=\"kg-card kg-callout-card kg-callout-card-green\">\u003Cdiv class=\"kg-callout-emoji\">🤖\u003C\u002Fdiv>\u003Cdiv class=\"kg-callout-text\">Learn more about \u003Ca href=\"https:\u002F\u002Fghost.localazy.com\u002Ffeatures\u002Fautomations\">Localazy Automations\u003C\u002Fa>\u003C\u002Fdiv>\u003C\u002Fdiv>\u003Cp>Automation enables faster time-to-market for new features, as translation work occurs in parallel with development, rather than after.\u003C\u002Fp>\u003Ch2 id=\"%E2%9C%94%EF%B8%8F-final-thoughts\">✔️ Final thoughts\u003C\u002Fh2>\u003Cp>In this guide, we've created a simple Express.js project that connects to your local server and utilizes the Localazy API. This setup enables you to easily export your source content to Localazy, manage translations directly in the dashboard, and then smoothly import the translated content back into your Express project. \u003C\u002Fp>\u003Cp>With this foundation in place, you'll get a  robust localization system that scales with your app. You can add new languages, scale to thousands of translation keys, and handle complex localization requirements without needing to rebuild your integration.\u003C\u002Fp>","public","none","2025-07-28T11:27:15.000+02:00",[1951],{"id":1855,"name":1856,"slug":1857,"profile_image":1858,"cover_image":10,"bio":1952,"website":1953,"location":1954,"facebook":10,"twitter":1955,"meta_title":10,"meta_description":10,"url":1956},"I am a backend developer that focuses more on JavaScript technologies. I have a flair for writing and I am looking to improve my knowledge as a developer through technical writing.","https:\u002F\u002Fwww.linkedin.com\u002Fin\u002Fmary-okosun-a5195915b","Lagos, Nigeria","@marynoir_","https:\u002F\u002Fghost.localazy.com\u002Fauthor\u002Fmary-okosun\u002F",[1958,1961,1966,1972,1977,1982,1987,1992,1995],{"id":1959,"name":1867,"slug":1868,"description":10,"feature_image":10,"visibility":1947,"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":1960},"6895c33a63350c0001d5e48f","https:\u002F\u002Fghost.localazy.com\u002Ftag\u002Fexpressjs\u002F",{"id":1962,"name":1963,"slug":1964,"description":1882,"feature_image":10,"visibility":1947,"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":1965},"60a37fc7cf7b6a0001d1f16d","[DICT] NodeJS","term-80","https:\u002F\u002Fghost.localazy.com\u002Ftag\u002Fterm-80\u002F",{"id":1967,"name":1968,"slug":1969,"description":1970,"feature_image":10,"visibility":1947,"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":1971},"60a37fc7cf7b6a0001d1f114","[CTA] Node.js i18n done right with Localazy","cta-6","Go ahead and make your Node.js app international in a few steps. Rich shared translations memory is waiting to be used in minutes from now.","https:\u002F\u002Fghost.localazy.com\u002Ftag\u002Fcta-6\u002F",{"id":1973,"name":1974,"slug":1975,"description":1891,"feature_image":10,"visibility":1947,"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":1976},"61b867a5df4bcb00010bc9c3","[DICT] API","term-109","https:\u002F\u002Fghost.localazy.com\u002Ftag\u002Fterm-109\u002F",{"id":1978,"name":1979,"slug":1980,"description":1897,"feature_image":10,"visibility":1947,"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":1981},"60a37fc7cf7b6a0001d1f124","[DICT] Translation Memory (TM)","term-7","https:\u002F\u002Fghost.localazy.com\u002Ftag\u002Fterm-7\u002F",{"id":1983,"name":1984,"slug":1985,"description":10,"feature_image":10,"visibility":1947,"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":1986},"60fffb486f8ebe0001bd8ddd","[COMSHARE]","comshare","https:\u002F\u002Fghost.localazy.com\u002Ftag\u002Fcomshare\u002F",{"id":1988,"name":1989,"slug":1990,"description":1909,"feature_image":10,"visibility":1947,"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},"60a37fc7cf7b6a0001d1f157","[DICT] Continuous Integration","term-58","https:\u002F\u002Fghost.localazy.com\u002Ftag\u002Fterm-58\u002F",{"id":1993,"name":1870,"slug":1871,"description":1870,"feature_image":10,"visibility":1947,"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":1994},"60a37fc7cf7b6a0001d1f0fa","https:\u002F\u002Fghost.localazy.com\u002Ftag\u002Fhowto\u002F",{"id":1996,"name":1874,"slug":1875,"description":10,"feature_image":10,"visibility":1947,"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":1997},"6556628a0470910001941ffe","https:\u002F\u002Fghost.localazy.com\u002Ftag\u002Ftutorial\u002F",{"id":1855,"name":1856,"slug":1857,"profile_image":1858,"cover_image":10,"bio":1952,"website":1953,"location":1954,"facebook":10,"twitter":1955,"meta_title":10,"meta_description":10,"url":1956},{"id":1959,"name":1867,"slug":1868,"description":10,"feature_image":10,"visibility":1947,"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":1960},"https:\u002F\u002Fghost.localazy.com\u002Fhow-to-handle-translation-express-project-using-localazy\u002F",[2002,2025,2042],{"id":2003,"owner":2004,"created_by":10,"sort":10,"title":2009,"slug":2010,"modified_on":194,"created_on":2011,"pinned":227,"badge":10,"priority":1824,"main_image":2012,"status":5,"tags":2013,"dictionary":2024,"reading_time":1835,"excerpt":-1,"og_title":194,"og_description":194,"og_image":194},"6372308e04709100019374c9",{"id":2005,"first_name":2006,"last_name":194,"slug":2007,"avatar":2008},"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",[2014,2017,2018,2021],{"id":2015,"created_on":2016,"status":5,"label":738,"slug":737,"on_index_page":229},6183,"2026-05-28 17:45:06",{"id":518,"created_on":2016,"status":5,"label":1870,"slug":1871,"on_index_page":227},{"id":518,"created_on":2016,"status":5,"label":2019,"slug":2020,"on_index_page":229},"DevTips","devtips",{"id":478,"created_on":2016,"status":5,"label":2022,"slug":2023,"on_index_page":227},"Design","design",[],{"id":2026,"owner":2027,"created_by":10,"sort":10,"title":2028,"slug":2029,"modified_on":194,"created_on":2030,"pinned":227,"badge":10,"priority":1824,"main_image":2031,"status":5,"tags":2032,"dictionary":2041,"reading_time":1835,"excerpt":-1,"og_title":194,"og_description":194,"og_image":194},"63dd1bf30470910001939f8b",{"id":1855,"first_name":1856,"last_name":194,"slug":1857,"avatar":1858},"The ultimate guide to Localazy API","the-ultimate-guide-to-localazy-api","2023-03-15T10:00:00.000+01:00","https:\u002F\u002Fghost.localazy.com\u002Fcontent\u002Fimages\u002F2023\u002F03\u002Fultimate-localazy-api-guide.png",[2033,2034,2037,2038],{"id":518,"created_on":2016,"status":5,"label":838,"slug":842,"on_index_page":227},{"id":518,"created_on":2016,"status":5,"label":2035,"slug":2036,"on_index_page":227},"Automated Localization","automated-localization",{"id":518,"created_on":2016,"status":5,"label":1870,"slug":1871,"on_index_page":227},{"id":518,"created_on":2016,"status":5,"label":2039,"slug":2040,"on_index_page":227},"Guide","guide",[],{"id":2043,"owner":2044,"created_by":10,"sort":10,"title":2049,"slug":2050,"modified_on":194,"created_on":2051,"pinned":227,"badge":10,"priority":1824,"main_image":2052,"status":5,"tags":2053,"dictionary":2057,"reading_time":1835,"excerpt":-1,"og_title":194,"og_description":194,"og_image":194},"60a37fc7cf7b6a0001d1f18c",{"id":2045,"first_name":2046,"last_name":194,"slug":2047,"avatar":2048},"1","Václav Hodek","vaclav-hodek","https:\u002F\u002Fghost.localazy.com\u002Fcontent\u002Fimages\u002F2023\u002F12\u002Fvasek.png","Quick guide to Android localization with Localazy","quick-guide-to-android-localization-localazy","2022-02-09T09:00:00.000+01:00","https:\u002F\u002Fghost.localazy.com\u002Fcontent\u002Fimages\u002F2021\u002F09\u002FHow-to-lokalize-Android-app.png",[2054,2055,2056],{"id":518,"created_on":2016,"status":5,"label":660,"slug":659,"on_index_page":227},{"id":518,"created_on":2016,"status":5,"label":419,"slug":1833,"on_index_page":229},{"id":518,"created_on":2016,"status":5,"label":1870,"slug":1871,"on_index_page":227},[],{"id":4,"sort":10,"created_on":2059,"name":2060,"cta_link":2061,"banner_image":2062},"2022-03-17T12:23:14.000Z","default","https:\u002F\u002Flocalazy.com\u002Ffeatures\u002Flocalazy-ai",{"id":2063},"72defd59-a21d-44b9-822c-4e183ca62b99"]