An open API service indexing awesome lists of open source software.

https://github.com/ogty/tools-for-i18n

🌐 Useful tools for internationalization support. Can convert from yaml files and create tables. Additional languages can also be automatically translated.
https://github.com/ogty/tools-for-i18n

automatic-translation command-line-tool i18n internationalization translation

Last synced: 4 months ago
JSON representation

🌐 Useful tools for internationalization support. Can convert from yaml files and create tables. Additional languages can also be automatically translated.

Awesome Lists containing this project

README

          

Tools for i18n

## 🎈 Feature

- ✅ Segment translation files into their respective languages
- ✅ Restoring a segmented translation file back to its original file
- ✅ Automatic translation of additional language

## ⚙️ Setup

```zsh
$ git clone https://github.com/ogty/tools-for-internationalization
$ source ./tools-for-internationalization/setup.sh # or make
```

## 📖 Usage

```
$ i18n [options]
```

> **Note**
> To change the output format of the table, you need to replace the commented out variables in `settings.py`.

## 🤖 Commands

| Command | Description |
| --------- | ----------------------------------------------------------------------- |
| `segment` | Commands to segment translation files into their respective languages |
| `revgene` | Command to convert a segmented translation file into a yaml file |
| `table` | Command to create a table from segmented translation data |
| `help` | Commands to display usage, etc. |

## 🔍 Options

| Name | Argument | Commands |
| ------------------------------ | ------------------ | ----------------------- |
| `-f, --file` | `` | segment, revgene, table |
| `-o, --output` | `` | segment, revgene, table |
| `-l, --languages` | `` | segment, table |
| `-al, --additonal_language` | `` | revgene |
| `-d, --directory` | `` | revgene |
| `-at, --automatic_translation` | - | revgene |
| `-s, --show` | - | table |

## ✏️ Example

**Segment the translation file into each language**

```zsh
$ i18n segment -f ./sample/public/locales/i18n.yaml -l ja en -o ./sample/public/locales
```

**Generate the original translation file (yaml) from the segmented translation file (json)**

```zsh
$ i18n revgene -d ./sample/public/locales -f translations.json -o i18n.yaml
```

**Output translation files to a file as a table**

```zsh
$ i18n table -f ./sample/public/locales/i18n.yaml -l ja en -o i18n.md
```

**Add new languages to the translation file and output as a table**

```zsh
$ i18n revgene -d ./sample/public/locales -f translations.json -al fr -o i18n.yaml && \
i18n table -f ./sample/public/locales/i18n.yaml -l ja en fr -o i18n.md
```

## 🖨️ Output

**`./sample/index.html`**

![](./sample/images/table.png)

> **Note**
> If you want to change the design of the output table, please modify the `templates/html.tpl` file