Mass export / import of translations into Google Docs Spreadsheets
Project description
ftw.recipe.translations
ftw.recipe.translations provides mass export / import of translations into / from Google Docs spreadsheets for letting translators translate in a better environment.
Configuration
Using the buildout recipe generates a script bin/translations:
[buildout]
parts = translations
[translations]
recipe = ftw.recipe.translations
spreadsheet = https://docs.google.com/spreadsheet/ccc?key=0AgoYEZSDYCg1dEZvVGFTRUc3RDd6123DAFDER
The generated bin/translations script is preconfigured with the configured spreadsheet url and applies to all .po-files in the ./src directory by default.
The sync command
The bin/translations script provides a sync command for rebuilding primary-domain .pot-files and syncing them with all languages.
As primary domain the package name (folder in the src directory) is expected. Primary domains are rebuilt (the package is searched for translatable strings) and [domain]-manual.pot-files in the locales directory are automatically merged. Non-primary domains are never rebuilt and expected to be updated manually.
All domains are then sync to all existing languages.
Example:
./bin/translations sync
Creating new languages for all packages and domains is as easy as passing a positional argument:
./bin/translations sync de
The upload command
With the upload command translations can easily be extracted from the .po-Files and uploaded into a Google spreadsheet. The upload command always creates a new worksheet in the Google spreadsheet, so that existing data is never overwritten.
See the Configuration section on how to configure the spreadsheet URL.
With positional arguments the languages to be translated can be specificied. Each defined language is included in the spreadsheet. If a message is translated in all languages, the message is not uploaded unless the --all keyword is used.
Additional languages, which are not checked for existing translations, can be added using the --additional-languages keyword, those may be useful for the translator.
Example:
./bin/translations upload de fr --additional-languages en es
Spreadsheet: https://docs.google.com/spreadsheet/ccc?key=0AgoYEZ....
Loading translations
Starting Upload
1 of 191 (0%): Upload
9 of 191 (4%): Upload
...
Finished Upload
Uploaded into worksheet "013: 2014-01-31"
The download command
The download command syncs translations back from the spreadsheet into the .po-files in the source directory. When starting a download, the user is asked for the worksheet and languages to download. When a message is not translated in the spreadsheet, it is never updated in the .po-file.
Example:
./bin/translated download
Please select a worksheet to download:
[1] 011: 2014-01-31
[2] 012: 2014-01-31
[3] 013: 2014-01-31
Please enter the spreadsheet number: 1
Please select the languages to synchronize:
- de
- fr
Enter one language code at a time, finish selection with an empty enter.
Language: fr
Language:
Links
github project: https://github.com/4teamwork/ftw.recipe.translations
Issue tracker: https://github.com/4teamwork/ftw.recipe.translations/issues
Package on pypi: http://pypi.python.org/pypi/ftw.recipe.translations
Continuous integration: https://jenkins.4teamwork.ch/search?q=ftw.recipe.translations
Copyright
This package is copyright by 4teamwork.
ftw.recipe.translations is licensed under GNU General Public License, version 2.
Changelog
1.0.1 (2014-01-31)
Fix missing distribution buildout error. [jone]
1.0.0 (2014-01-31)
Initial implementation. [jone]
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Hashes for ftw.recipe.translations-1.0.1.zip
Algorithm | Hash digest | |
---|---|---|
SHA256 | 682fc18164e064b29652f7765eff6763281eb76ce122f9db82c8298a7272d878 |
|
MD5 | a727bb94624fa41f387194fb14c68226 |
|
BLAKE2b-256 | d8fee8337634377962d34c2c4c68712aca0b2826cf653c8bad4b04c0a08ae15b |