See the website i18nWeave.com for more info. Of course available in multiple languages thanks to i18nWeave.
Installation Wizard
Get up and running in no time using the build-in configuration wizard. Pick any of the build-in framework configurations and get started in just a few clicks. Or with just a few more clicks setup a custom project using i18next translations.
Translation Key Extraction
This feature allows for the easy extraction of translation keys from code files, which ensures the accurate localization of your application.
Automatic Translations
When you add a translation for one locale, translations for all other locales are automatically generated. The following translators have been (or will be) implemented:
Intellisense Autocomplete for Translation Keys
Provides in-editor suggestions for existing translation keys as you type. This feature helps maintain consistency by ensuring you use the correct keys defined in your translation files.
Contextual Translation Statistics
Hover over translation keys to see your translation progress for that key, in total and per language. Get instant insight in the value your translation key represents in the default language. And get warned when big differences in text sizes between languages exist (taking into consideration different characters sets), which could indicate translation mistakes.
Translation Key Navigation
Click on a translation key to quickly edit the key’s value. The editor will open the related i18next resource file of your default language in the correct namespace, enabling easy navigation to your keys and facilitating quick translations after adding new keys.
Table View
Have i18nWeave represent your json files in a table format.
This feature is still very buggy and very likely to be replaced.
To configure the i18nWeave extension, follow these instructions:
Ctrl+Shift+P
(Windows/Linux) or Cmd+Shift+P
(Mac).i18nWeave: Configure extension
and select it.Ctrl+Shift+P (Windows/Linux) or Cmd+Shift+P (Mac)
📁 Select your translation files location
📁 Select your code files location (multiple select allowed)
nl
, en
, nl-NL
, or en-GB
.Enter your default language (e.g., en-GB)
Enter supported languages (e.g., en, nl, fr, de)
common
and navigation
.Enter translation namespaces (e.g., common, navigation)
By following these steps, you will have successfully configured the i18nWeave extension.
This extension leans on at least the following libraries / packages.
After having worked with translation files in a large React web application for a client for some time, I discovered that manually managing the JSON translation files that come with translating an application isn’t easily manageable within a larger team. When multiple people have to modify the same files by hand, merge conflicts tend to occur frequently. This not only costs valuable developer time but also affects developer satisfaction, as developers generally despise the tedious task of manually merging multiple JSON files line by line. It’s as exciting as watching paint dry!
I needed a way to have the translation files be consistent for every developer, regardless of who added them. There shouldn’t be a need for manually editing JSON files to manage your translations.
I couldn’t really find a good solution to my problem, so, I decided to take matters into my own hands and create i18nWeave, a versatile Visual Studio Code extension designed to streamline the management of translation files within your development projects. With its intuitive features, i18nWeave simplifies the process of handling translation keys, providing flexibility and efficiency in your workflow.
I have designed the extension to be modular, allowing for the easy addition of functionalities. These functionalities, referred to as modules, can be easily enabled or disabled through the configuration settings. Have a look at the features for more info: Features.
Now, you can say goodbye to those mind-numbing merge conflicts and hello to a more enjoyable and productive development experience. Let i18nWeave do the heavy lifting for you, so you can focus on what you do best - writing amazing code!