Serina | GitHub page here

Build Status License Built with Grunt

GUI for create translation files for i18next

🖼 Preview (Serina R0.2.4)

Serina Screenshot

💾 Download

Serina can be downloaded here. Available versions for Linux, Windows (64bits) and Mac OS.

To use, unzip in the desired location and execute Serina.

If you need a different version, please follow the development instructions to make your own build from the source code

📖 Usage

Serina allows you to create translations for each language, you can access the different languages by clicking on their map in the languages list.

Create translation for a language

This page displays the list of languages and allows you to add a new language via a form using the ISO 639-1 language code. Example:”FR” or “EN”.

The display of the languages is available in two versions (card list or list) that can be set on the parameter page. The number of elements in a language is displayed under the name of the language.

Edit translation

This page displays the groups and translations of the first level of the translation and then recursively displays the sub-levels via access to a group allowing access to its content.

Adding a group is done via a modal that allows you to enter the group name. The modification will also be done via a modal which will ask for the new name of the group. Deleting a group will ask for confirmation before deleting.

The addition of a translation is done via a card added to the list of translations. The recording and deletion is done directly with the icons on the map.

Changing a translation triggers a key or value change detection system to know whether to display the save button in order to have a good interface.

A search bar represented by a magnifying glass is integrated in the toolbar. The research focuses on the “keys” of translations. The first corresponding element will be selected to highlight it. And if several items match the search, a navigation between the corresponding items is displayed next to the search bar.

Search is close if you navigate or delete a translation.

Parallel edition of two languages

Parallel entry of two languages is done via the “swap” (on the right-hand side of the groups and translations of the first level) comprising: the main language (the one selected in the list of languages) the second language that can be chosen from the other available languages.

Then it is enough to validate and the second language is automatically added below each value of the main language. Parallel editing works exactly like simple language editing.


The settings allow you to modify the app according to your preferences. A “About” section is also present to get details about the application.

Basic parameters

Advanced parameters

Others parameters

⁉️ FAQ

Your language is not available in the app ?

You can translate the application and submit your translation in PR. Or create issue.

Your language doesn’t have its flag displayed ?

You can open a issue to explain your problem with a screenshot if possible.

🔨 Development

If you want to contribute to Serina, create a new different version of Serina, or compile it from source code, follow these instructions.

Clone/download source code from the github repo. Make sure you have node, npm, yarn, bower already installed in your system:

  1. yarn to install all the dependencies.
  2. yarn start to start API on localhost:7777.
  3. grunt serve to start Serina on localhost:9000.
  4. yarn run package to build serina for linux (build will be placed in packages folder).
    • grunt package to make builds for windows, linux and mac os.
    • grunt package:win32 to make build for windows (64bits).
    • grunt package:linux to make build for linux.
    • grunt package:macos to make build for mac os (64bits).
  5. grunt test to run the automated tests.
    • Please, ensure the tests are passing before creating a pull requests. Add tests for your changes.


📖 License

Serina is being developed and maintained as Open-Source software by @ORN-Fox ( licensed under MIT LICENSE

📝 Source Code

The original source code can be found at: