here
Serina | GitHub pageGUI for create translation files for i18next
🖼 Preview (Serina R0.4.0)
💾 Download
Serina can be downloaded here. Available versions for Linux, MacOS (64bits) and Windows (64bits).
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.
Search
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.
Preview json translations files
This page allows you to view the JSON files for each language generated by the application. You can also download the file.
Parameters
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
- The format of the language list (in card list or list)
- The language of the application (EN, ES or FR for the moment)
Advanced parameters
- Custom location of translation files (Available in version 0.3.0)
- Alphabetical sorting of generated .json files (Available in version 0.4.0)
Others parameters
- The theme of the application
- Keyboard shortcuts
⁉️ 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 already installed in your system:
yarn
to install all the dependencies.yarn run start:api
to start API onlocalhost:7777
.yarn start
to start Serina onlocalhost:9000
.- For build serina (build will be placed in
packages
folder).yarn run package:win
to make build for windows (64bits).yarn run package:linux
to make build for linux.yarn run package:macos
to make build for mac os (64bits).
yarn run test:api
to run the automated tests for API.yarn run test
to run the automated tests for Serina.yarn run test:loop
for loop automated tests.
Please, ensure the tests are passing before creating a pull requests. Add tests for your changes.
👏Acknowledgments
- Electron framework was used for the app development.
📖 License
Serina is being developed and maintained as Open-Source software by @ORN-Fox (https://github.com/ORN-Fox) licensed under MIT LICENSE
📝 Source Code
The original source code can be found at: https://github.com/ORN-Fox/serina-1