Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/dasch/transair
A translation management system
https://github.com/dasch/transair
Last synced: about 19 hours ago
JSON representation
A translation management system
- Host: GitHub
- URL: https://github.com/dasch/transair
- Owner: dasch
- Created: 2015-05-08T12:39:45.000Z (over 9 years ago)
- Default Branch: master
- Last Pushed: 2015-05-13T13:07:47.000Z (over 9 years ago)
- Last Synced: 2024-11-30T13:27:17.128Z (about 1 month ago)
- Language: Ruby
- Size: 285 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Transair
A translation management system. Transair works by synchronizing a local database of translations with a remote service. Developers add the master strings to a local file and runs `transair sync`. New and updated master strings are uploaded to the service and made available for translation. Once the strings have been translated, `transair sync` will download and store the translations.
Both master and translation strings are supposed to be stored in version control, making deployment simple and reliable.
Transair supports multiple _versions_ of a string. Each version is identified by a digest of the master translation, meaning that any change to the master translation will implicitly cause a new version to be created when synchronizing. Translations are attached to a specific version of a key. This allows making changes to master strings in feature branches without impacting other branches, as you'll always get the translations specific to the local set of master strings.
###### Example usage
```
# Add master strings to `masters.yml`
$ cat masters.yml
foo.bar.hello: "Hello, World!"
foo.bar.goodbye: "Goodbye, Cruel World!"# New and updated master strings will be uploaded
$ transair sync
Syncing key foo.bar.hello...
Key foo.bar.hello not found, uploading...
Uploaded key foo.bar.hello
Syncing key foo.bar.goodbye...
Key foo.bar.goodbye not found, uploading...
Uploaded key foo.bar.goodbye$ transair sync
Syncing key foo.bar.hello...
Key foo.bar.hello found, storing 0 translations...
Syncing key foo.bar.goodbye...
Key foo.bar.goodbye found, storing 0 translations...# Add translations using the API
$ transair translate --key foo.bar.hello --version 0a0a9f2a6772 --locale da --translation "Hejsa"# Translations are automatically downloaded when syncing
$ transair sync
Syncing key foo.bar.hello...
Key foo.bar.hello found, storing 1 translations...
Syncing key foo.bar.goodbye...
Key foo.bar.goodbye found, storing 0 translations...$ cat translations/da.yml
---
foo.bar.hello: Hejsa
```