Best practices for creating translation keys
Discover best practices for creating translation keys that are clear, consistent, and easy to manage to improve and optimize your app localization process.
Continue readingMulti-language JSON is a file format which contains translation strings for multiple languages. Save time on managing content by yourself.
Multi-language JSON is one of the most common JSON formats for web applications and software localization programs. It contains translations for many languages, where the first level JSON is a language key or locale. For example, for English, Polish, and German it would contain keys: en_US, pl_PL, de_DE. Each of the language keys contains an object with key-values, where the key is usually a translation key and the values are translations for the corresponding language. A sample file is shown below:
{
"de_DE": {
"SALE": "Verkauf",
"ADDRESS": "Adresse"
},
"en_US": {
"SALE": "Sale",
"ADDRESS": "Address"
},
"pl_PL": {
"SALE": "Sprzedaż",
"ADDRESS": "Adres"
}
}
In some cases, multi-language JSON files can contain additional levels of translation keys, but the rule of thumb is that the first level always contains locales or languages.
{
"de_DE": {
"navbar": {
"title": "Titel",
"home": "Startseite"
}
},
"en_US": {
"navbar": {
"title": "Title",
"home": "Homepage"
}
},
"pl_PL": {
"navbar": {
"title": "Tytuł",
"home": "Strona główna"
}
}
}
Multi-language JSON format is a very elegant way of keeping translations because it's only one file with all translations for all languages. It's commonly used in applications where the translations are loaded once and kept in application memory, or in an application that works on server-side. Thanks to that, client (end-user) never downloads the whole file. The server application returns only a subset of content to the user.
Client-side applications built with ReactJS or VueJS without any additional frameworks like NextJS or NuxtJS usually uses more sophisticated approaches to download translations to the client. One of the ways is to split translations into a multiple files by language.
No matter which type of application you need to translate, you have two options to access translations. One is to host translations on CDN, which offers fast access to translations for your end-users and option to change translations without re-deploying your application.The second option is to include translations with your project bundle, by downloading translations files locally and add them to the application package.
SimpleLocalize offers a translation hosting service that splits localization files automatically and upload them to the fast server, from which every end-user can freely download translations just for his language. A more sophisticated solution is to split translations even more and use only required translations for certain website. In such case, translations are additionally split by translation namespaces and loaded automatically by i18n plugin.
SimpleLocalize also offers an option to upload and download translations thanks to open-source CLI which can be installed on any machine with any operating system including CI/CD sever machines.
Install SimpleLocalize CLI or download it manually.
$ curl -s https://get.simplelocalize.io/2.5/install | bash
Upload your translation files using upload command
$ simplelocalize upload \
--apiKey YOUR_PROJECT_API_KEY \
--uploadFormat multi-language-json \
--uploadPath ./locales/translations.json
After adding new languages or changing translation strings, you can download translation files again to your project files by invoking download command with parameters like below
$ simplelocalize download \
--apiKey YOUR_PROJECT_API_KEY \
--uploadFormat multi-language-json \
--uploadPath ./locales/translations.json
Need help? See our documentation page.
Have you already integrated i18n library? You can now connect SimpleLocalize without doing much changes in the application code. We don't bound you with our own 'yet another i18n library'.
Browse integrationsGreet your customers
in their mother language
Check out our latest blog posts and stay up to date with SimpleLocalize
Discover best practices for creating translation keys that are clear, consistent, and easy to manage to improve and optimize your app localization process.
Continue readingIn this tutorial, we will show you how to use Cloudflare Workers to create a simple website localization feature, without the need to install any additional dependencies. We will localize a simple static HTML website hosted on GitHub Pages, but you can use the same approach to localize any website, including those built with popular frameworks like React, Angular, or Vue.js.
Continue readingLearn what is a translation key, how to create them, and how they look like in your project and SimpleLocalize.
Continue readingSimplify flag management and learn how to keep country flags in sync in your software project with SimpleLocalize.
Continue readingImprove your translation updates workflow using SimpleLocalize Webhooks and integrations with Slack, Discord and Microsoft Teams.
Continue readingSimplify your localization process by learning how to auto-translate JSON files with SimpleLocalize's translation editor and auto-translation feature.
Continue reading