translatomatic 0.1.0 → 0.1.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/.gitattributes +1 -0
- data/.gitignore +15 -12
- data/.rspec +3 -3
- data/.travis.yml +32 -50
- data/CODE_OF_CONDUCT.md +74 -74
- data/Gemfile +29 -5
- data/Guardfile +48 -0
- data/LICENSE.txt +21 -21
- data/README.de.md +92 -0
- data/README.es.md +92 -0
- data/README.fr.md +92 -0
- data/README.it.md +92 -0
- data/README.ja.md +92 -0
- data/README.md +96 -74
- data/Rakefile +6 -6
- data/bin/setup +8 -8
- data/bin/translatomatic +6 -6
- data/bin/travis +26 -0
- data/db/database.yml +9 -9
- data/db/migrate/201712170000_initial.rb +24 -23
- data/lib/translatomatic/cli.rb +204 -80
- data/lib/translatomatic/config.rb +12 -26
- data/lib/translatomatic/converter.rb +206 -142
- data/lib/translatomatic/converter_stats.rb +27 -27
- data/lib/translatomatic/database.rb +139 -99
- data/lib/translatomatic/escaped_unicode.rb +90 -90
- data/lib/translatomatic/extractor/base.rb +14 -0
- data/lib/translatomatic/extractor/ruby.rb +5 -0
- data/lib/translatomatic/extractor.rb +4 -0
- data/lib/translatomatic/http_request.rb +133 -0
- data/lib/translatomatic/locale.rb +52 -0
- data/lib/translatomatic/logger.rb +28 -0
- data/lib/translatomatic/model/locale.rb +21 -22
- data/lib/translatomatic/model/text.rb +17 -13
- data/lib/translatomatic/model.rb +4 -4
- data/lib/translatomatic/option.rb +24 -24
- data/lib/translatomatic/progress_updater.rb +15 -0
- data/lib/translatomatic/resource_file/base.rb +169 -137
- data/lib/translatomatic/resource_file/html.rb +46 -28
- data/lib/translatomatic/resource_file/markdown.rb +54 -0
- data/lib/translatomatic/resource_file/plist.rb +30 -29
- data/lib/translatomatic/resource_file/properties.rb +72 -60
- data/lib/translatomatic/resource_file/resw.rb +30 -0
- data/lib/translatomatic/resource_file/text.rb +29 -28
- data/lib/translatomatic/resource_file/xcode_strings.rb +71 -65
- data/lib/translatomatic/resource_file/xml.rb +79 -59
- data/lib/translatomatic/resource_file/yaml.rb +82 -80
- data/lib/translatomatic/resource_file.rb +76 -74
- data/lib/translatomatic/string.rb +160 -0
- data/lib/translatomatic/tmx/document.rb +100 -0
- data/lib/translatomatic/tmx/translation_unit.rb +19 -0
- data/lib/translatomatic/tmx.rb +4 -0
- data/lib/translatomatic/translation_result.rb +75 -57
- data/lib/translatomatic/translator/base.rb +83 -47
- data/lib/translatomatic/translator/frengly.rb +57 -64
- data/lib/translatomatic/translator/google.rb +31 -30
- data/lib/translatomatic/translator/microsoft.rb +33 -32
- data/lib/translatomatic/translator/my_memory.rb +64 -55
- data/lib/translatomatic/translator/yandex.rb +39 -37
- data/lib/translatomatic/translator.rb +63 -63
- data/lib/translatomatic/util.rb +15 -24
- data/lib/translatomatic/version.rb +4 -3
- data/lib/translatomatic.rb +32 -27
- data/translatomatic.gemspec +43 -45
- metadata +52 -18
- data/Gemfile.lock +0 -137
data/README.fr.md
ADDED
@@ -0,0 +1,92 @@
|
|
1
|
+
[![Documentation](http://img.shields.io/badge/yard-docs-blue.svg)](http://www.rubydoc.info/gems/translatomatic)[![Gem Version](https://badge.fury.io/rb/translatomatic.svg)](https://badge.fury.io/rb/translatomatic)[![Build Status](https://travis-ci.org/smugglys/translatomatic.svg?branch=master)](https://travis-ci.org/smugglys/translatomatic)[![Code Climate](https://codeclimate.com/github/smugglys/translatomatic.svg)](https://codeclimate.com/github/smugglys/translatomatic)
|
2
|
+
|
3
|
+
# Translatomatic
|
4
|
+
|
5
|
+
Convertit des fichiers à partir d'une langue à l'autre. Les formats de fichier suivantssont actuellement pris en charge::
|
6
|
+
|
7
|
+
- [Propriétés](https://en.wikipedia.org/wiki/.properties)
|
8
|
+
- RESW (ressources Windows fichier)
|
9
|
+
- [Les listes des propriétés de](https://en.wikipedia.org/wiki/Property_list) (OSX plist)
|
10
|
+
- HTML
|
11
|
+
- XML
|
12
|
+
- [XCode chaînes](https://developer.apple.com/library/content/documentation/Cocoa/Conceptual/LoadingResources/Strings/Strings.html)
|
13
|
+
- [YAML](http://yaml.org/)
|
14
|
+
- Les fichiers texte
|
15
|
+
|
16
|
+
Les chaînes traduites sont enregistrés dans une base de données et de les réutiliser.
|
17
|
+
|
18
|
+
## Installation
|
19
|
+
|
20
|
+
Ajoutez cette ligne à votre application `Gemfile`:
|
21
|
+
|
22
|
+
`ruby
|
23
|
+
gem 'translatomatic'
|
24
|
+
`
|
25
|
+
|
26
|
+
Et puis de l'exécuter:
|
27
|
+
|
28
|
+
$ bundle
|
29
|
+
|
30
|
+
Ou installez-le vous-même:
|
31
|
+
|
32
|
+
$ gem install translatomatic
|
33
|
+
|
34
|
+
## L'utilisation de la
|
35
|
+
|
36
|
+
L'interface de ligne de commande pour la fonctionnalité de traduction est `translatomatic`. Pour obtenir de l'aide sur les options disponibles, exécutez:
|
37
|
+
|
38
|
+
$ translatomatic help
|
39
|
+
|
40
|
+
### Traduction de fichiers
|
41
|
+
|
42
|
+
`translatomatic` traduire un texte d'une phrase ou d'une phrase à la fois. Si un fichier est re-traduit, seules les peines qui ont été modifiés sont envoyés pour le traducteur, et le reste sont obtenus à partir de la base de données locale.
|
43
|
+
|
44
|
+
Pour une liste des services de traduction et d'options:
|
45
|
+
|
46
|
+
$ translatomatic translators
|
47
|
+
|
48
|
+
Pour traduire un fichier de propriétés Java pour l'allemand et le français:
|
49
|
+
|
50
|
+
$ translatomatic translate resources/strings.properties de fr
|
51
|
+
|
52
|
+
Cela permettrait de créer (ou écraser) `strings_de.properties` et `strings_fr.properties`.
|
53
|
+
|
54
|
+
### L'extraction de chaînes à partir de fichiers source
|
55
|
+
|
56
|
+
Pour extraire les chaînes de certains fichiers source, utilisez la commande extraire, par exemple
|
57
|
+
|
58
|
+
$ translatomatic strings file.rb
|
59
|
+
|
60
|
+
### L'affichage des chaînes de caractères à partir d'un regroupement de ressources
|
61
|
+
|
62
|
+
Pour lire et afficher le `store.description` et `store.name` propriétés à partir des fichiers de ressources locales en anglais, en allemand et en français:
|
63
|
+
|
64
|
+
$ translatomatic display --locales=en,de,fr \
|
65
|
+
resources/strings.properties store.description store.name
|
66
|
+
|
67
|
+
## Configuration
|
68
|
+
|
69
|
+
Par défaut, `translatomatic` utilise une base de données sqlite3 dans `$HOME/.translatomatic/translatomatic.sqlite3` pour stocker des chaînes traduites. La base de données peut être modifié par la création d'un `database.yml` fichier sous `$HOME/.translatomatic/database.yml` pour l' `production` l'environnement, par exemple
|
70
|
+
|
71
|
+
production:
|
72
|
+
adapter: mysql2
|
73
|
+
host: db.example.com
|
74
|
+
database: translatomatic
|
75
|
+
pool: 5
|
76
|
+
encoding: utf8
|
77
|
+
username: username
|
78
|
+
password: password
|
79
|
+
|
80
|
+
## Contribuer
|
81
|
+
|
82
|
+
Les rapports de bogues et de tirer les demandes sont les bienvenus sur GitHub à https://github.com/smugglys/translatomatic. Ce projet est destiné à être un coffre-fort, espace accueillant pour la collaboration, et les contributeurs sont tenus de se conformer à la [Contributeur Pacte](http://contributor-covenant.org) code de conduite.
|
83
|
+
|
84
|
+
## Licence
|
85
|
+
|
86
|
+
Le bijou est disponible en open source sous les termes de la [Licence MIT](https://opensource.org/licenses/MIT).
|
87
|
+
|
88
|
+
## Code de Conduite
|
89
|
+
|
90
|
+
Tout le monde l'interaction avec le Translatomatic projet de code, la question des trackers, des salles de discussion et listes de diffusion, il est prévu de suivre l' [code de conduite](https://github.com/smugglys/translatomatic/blob/master/CODE_OF_CONDUCT.md).
|
91
|
+
|
92
|
+
_Created by Translatomatic 0.1.0 2017-12-28 22:45_
|
data/README.it.md
ADDED
@@ -0,0 +1,92 @@
|
|
1
|
+
[![Documentation](http://img.shields.io/badge/yard-docs-blue.svg)](http://www.rubydoc.info/gems/translatomatic)[![Gem Version](https://badge.fury.io/rb/translatomatic.svg)](https://badge.fury.io/rb/translatomatic)[![Build Status](https://travis-ci.org/smugglys/translatomatic.svg?branch=master)](https://travis-ci.org/smugglys/translatomatic)[![Code Climate](https://codeclimate.com/github/smugglys/translatomatic.svg)](https://codeclimate.com/github/smugglys/translatomatic)
|
2
|
+
|
3
|
+
# Translatomatic
|
4
|
+
|
5
|
+
Converte file di testo da una lingua all'altra. I seguenti formati di filesono attualmente supportati::
|
6
|
+
|
7
|
+
- [Proprietà](https://en.wikipedia.org/wiki/.properties)
|
8
|
+
- RESW (risorse di Windows, file)
|
9
|
+
- [Elenchi di proprietà](https://en.wikipedia.org/wiki/Property_list) (OSX plist)
|
10
|
+
- HTML
|
11
|
+
- XML
|
12
|
+
- [XCode stringhe](https://developer.apple.com/library/content/documentation/Cocoa/Conceptual/LoadingResources/Strings/Strings.html)
|
13
|
+
- [YAML](http://yaml.org/)
|
14
|
+
- I file di testo
|
15
|
+
|
16
|
+
Tradotto le stringhe vengono salvati in un database e riutilizzati.
|
17
|
+
|
18
|
+
## Installazione
|
19
|
+
|
20
|
+
Aggiungere questa riga al file dell'applicazione `Gemfile`:
|
21
|
+
|
22
|
+
`ruby
|
23
|
+
gem 'translatomatic'
|
24
|
+
`
|
25
|
+
|
26
|
+
E poi eseguire:
|
27
|
+
|
28
|
+
$ bundle
|
29
|
+
|
30
|
+
O installare da soli come:
|
31
|
+
|
32
|
+
$ gem install translatomatic
|
33
|
+
|
34
|
+
## Utilizzo
|
35
|
+
|
36
|
+
L'interfaccia a riga di comando per la traduzione funzionalità `translatomatic`. Per la guida sulle opzioni disponibili, eseguire:
|
37
|
+
|
38
|
+
$ translatomatic help
|
39
|
+
|
40
|
+
### La traduzione di file
|
41
|
+
|
42
|
+
`translatomatic` traduce il testo una frase o una frase alla volta. Se un file è ri-tradotto, solo frasi che hanno cambiato inviati al traduttore, e il resto provengono dalla banca dati locale.
|
43
|
+
|
44
|
+
Elenco di servizi di traduzione ed opzioni:
|
45
|
+
|
46
|
+
$ translatomatic translators
|
47
|
+
|
48
|
+
Per tradurre un file delle proprietà Java per il tedesco e il francese:
|
49
|
+
|
50
|
+
$ translatomatic translate resources/strings.properties de fr
|
51
|
+
|
52
|
+
Questo permetterebbe di creare (o sovrascrivere) `strings_de.properties` e `strings_fr.properties`.
|
53
|
+
|
54
|
+
### Estrarre le stringhe dal file di origine
|
55
|
+
|
56
|
+
Per estrarre le stringhe da alcuni file di origine, utilizzare il comando di estrazione, ad es.
|
57
|
+
|
58
|
+
$ translatomatic strings file.rb
|
59
|
+
|
60
|
+
### Visualizzazione di stringhe da un pacchetto di risorse
|
61
|
+
|
62
|
+
Per leggere e visualizzare il `store.description` e `store.name` proprietà dal file di risorse locali in inglese, tedesco e francese:
|
63
|
+
|
64
|
+
$ translatomatic display --locales=en,de,fr \
|
65
|
+
resources/strings.properties store.description store.name
|
66
|
+
|
67
|
+
## Configurazione
|
68
|
+
|
69
|
+
Per impostazione predefinita, `translatomatic` utilizza un database sqlite3 in `$HOME/.translatomatic/translatomatic.sqlite3` per memorizzare stringhe tradotte. Il database può essere modificato con la creazione di un `database.yml` file sotto `$HOME/.translatomatic/database.yml` per il `production` ambiente, ad es.
|
70
|
+
|
71
|
+
production:
|
72
|
+
adapter: mysql2
|
73
|
+
host: db.example.com
|
74
|
+
database: translatomatic
|
75
|
+
pool: 5
|
76
|
+
encoding: utf8
|
77
|
+
username: username
|
78
|
+
password: password
|
79
|
+
|
80
|
+
## Contribuire
|
81
|
+
|
82
|
+
Le segnalazioni di Bug e tirare le richieste sono i benvenuti su GitHub a https://github.com/smugglys/translatomatic. Questo progetto è destinato ad essere un sicuro e accogliente spazio per la collaborazione, e i collaboratori sono tenuti a rispettare i [Collaboratore Alleanza](http://contributor-covenant.org) codice di condotta.
|
83
|
+
|
84
|
+
## Licenza
|
85
|
+
|
86
|
+
Il gioiello è disponibile come open source sotto i termini della [La Licenza MIT](https://opensource.org/licenses/MIT).
|
87
|
+
|
88
|
+
## Codice di Condotta
|
89
|
+
|
90
|
+
Tutti interagendo con il Translatomatic progetto di basi di codice, issue tracker, chat e mailing list dovrebbe seguire l' [codice di condotta](https://github.com/smugglys/translatomatic/blob/master/CODE_OF_CONDUCT.md).
|
91
|
+
|
92
|
+
_Created by Translatomatic 0.1.0 2017-12-29 00:07_
|
data/README.ja.md
ADDED
@@ -0,0 +1,92 @@
|
|
1
|
+
[![Documentation](http://img.shields.io/badge/yard-docs-blue.svg)](http://www.rubydoc.info/gems/translatomatic)[![Gem Version](https://badge.fury.io/rb/translatomatic.svg)](https://badge.fury.io/rb/translatomatic)[![Build Status](https://travis-ci.org/smugglys/translatomatic.svg?branch=master)](https://travis-ci.org/smugglys/translatomatic)[![Code Climate](https://codeclimate.com/github/smugglys/translatomatic.svg)](https://codeclimate.com/github/smugglys/translatomatic)
|
2
|
+
|
3
|
+
# Translatomatic
|
4
|
+
|
5
|
+
変換テキストファイルから一言語ます。 以下のファイル形式は現在サポートされているのは、:
|
6
|
+
|
7
|
+
- [特性](https://en.wikipedia.org/wiki/.properties)
|
8
|
+
- RESW(Windows資源ファイル)
|
9
|
+
- [物件リスト](https://en.wikipedia.org/wiki/Property_list) (OSX plist)
|
10
|
+
- HTML
|
11
|
+
- XML
|
12
|
+
- [XCodeの文字列](https://developer.apple.com/library/content/documentation/Cocoa/Conceptual/LoadingResources/Strings/Strings.html)
|
13
|
+
- [YAML](http://yaml.org/)
|
14
|
+
- テキストファイル
|
15
|
+
|
16
|
+
翻訳文字列に保存されたデータベースの再利用されます。
|
17
|
+
|
18
|
+
## 設置
|
19
|
+
|
20
|
+
この機能を追加ラインの中から必要なものを選んで使用 `Gemfile`:
|
21
|
+
|
22
|
+
`ruby
|
23
|
+
gem 'translatomatic'
|
24
|
+
`
|
25
|
+
|
26
|
+
そして実行す:
|
27
|
+
|
28
|
+
$ bundle
|
29
|
+
|
30
|
+
インストールで自分自身:
|
31
|
+
|
32
|
+
$ gem install translatomatic
|
33
|
+
|
34
|
+
## 用途
|
35
|
+
|
36
|
+
のコマンドラインインターフェース翻訳のための機能を `translatomatic`ます。 めに利用可能なオプションは、実行す:
|
37
|
+
|
38
|
+
$ translatomatic help
|
39
|
+
|
40
|
+
### 翻訳ファイル
|
41
|
+
|
42
|
+
`translatomatic` 変換テキストの文章や言葉です。 場合はファイルを再翻訳の文言変更への翻訳に対しても、それぞれの地域からデータベースです。
|
43
|
+
|
44
|
+
るシリコーンコーティング翻訳サービス-オプション:
|
45
|
+
|
46
|
+
$ translatomatic translators
|
47
|
+
|
48
|
+
するJavaプロパティファイルをドイツ語、フランス語:
|
49
|
+
|
50
|
+
$ translatomatic translate resources/strings.properties de fr
|
51
|
+
|
52
|
+
こうした成(上書き) `strings_de.properties` - `strings_fr.properties`ます。
|
53
|
+
|
54
|
+
### 抽出から文字列をソースファイル
|
55
|
+
|
56
|
+
抽出から文字列の一部のソースファイルを抽出すコマンドなどの
|
57
|
+
|
58
|
+
$ translatomatic strings file.rb
|
59
|
+
|
60
|
+
### 表示文字列からリソースバンドル
|
61
|
+
|
62
|
+
読みを表示 `store.description` - `store.name` 物件からの現地リソースファイル、英語、ドイツ、フランス語:
|
63
|
+
|
64
|
+
$ translatomatic display --locales=en,de,fr \
|
65
|
+
resources/strings.properties store.description store.name
|
66
|
+
|
67
|
+
## 構成
|
68
|
+
|
69
|
+
デフォルトでは、 `translatomatic` を使用してsqlite3データベース `$HOME/.translatomatic/translatomatic.sqlite3` 店舗の翻訳の文字列です。 データベースの変更により作成 `database.yml` ファイル `$HOME/.translatomatic/database.yml` のための `production` 環境、例えば
|
70
|
+
|
71
|
+
production:
|
72
|
+
adapter: mysql2
|
73
|
+
host: db.example.com
|
74
|
+
database: translatomatic
|
75
|
+
pool: 5
|
76
|
+
encoding: utf8
|
77
|
+
username: username
|
78
|
+
password: password
|
79
|
+
|
80
|
+
## の貢献
|
81
|
+
|
82
|
+
バグ報告を引き要請を歓迎GitHubでhttps://github.com/smugglys/translatomaticます。 このプロジェクトなどに対応できるようになっても安全で快適なスペースのための協力者が付着し [執筆規約](http://contributor-covenant.org) 行動規範です。
|
83
|
+
|
84
|
+
## ライセンス
|
85
|
+
|
86
|
+
の逸品をご用意してオープンソースの条件の下での [MITライセンス](https://opensource.org/licenses/MIT)ます。
|
87
|
+
|
88
|
+
## 行動規範
|
89
|
+
|
90
|
+
皆様との交流のTranslatomaticプロジェクトのcodebases、ラッカー、チャットルームやメーリングリストで入力してください [行動規範](https://github.com/smugglys/translatomatic/blob/master/CODE_OF_CONDUCT.md)ます。
|
91
|
+
|
92
|
+
_Created by Translatomatic 0.1.0 2017-12-29 00:38_
|
data/README.md
CHANGED
@@ -1,74 +1,96 @@
|
|
1
|
-
[![
|
2
|
-
[![Gem Version](https://badge.fury.io/rb/translatomatic.svg)](https://badge.fury.io/rb/translatomatic)
|
3
|
-
[![
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
##
|
73
|
-
|
74
|
-
|
1
|
+
[![Documentation](http://img.shields.io/badge/yard-docs-blue.svg)](http://www.rubydoc.info/gems/translatomatic)
|
2
|
+
[![Gem Version](https://badge.fury.io/rb/translatomatic.svg)](https://badge.fury.io/rb/translatomatic)
|
3
|
+
[![Build Status](https://travis-ci.org/smugglys/translatomatic.svg?branch=master)](https://travis-ci.org/smugglys/translatomatic)
|
4
|
+
[![Code Climate](https://codeclimate.com/github/smugglys/translatomatic.svg)](https://codeclimate.com/github/smugglys/translatomatic)
|
5
|
+
|
6
|
+
# Translatomatic
|
7
|
+
|
8
|
+
Translates text files from one language to another. The following file formats
|
9
|
+
are currently supported:
|
10
|
+
|
11
|
+
* [Properties](https://en.wikipedia.org/wiki/.properties)
|
12
|
+
* RESW (Windows resources file)
|
13
|
+
* [Property lists](https://en.wikipedia.org/wiki/Property_list) (OSX plist)
|
14
|
+
* HTML
|
15
|
+
* XML
|
16
|
+
* [XCode strings](https://developer.apple.com/library/content/documentation/Cocoa/Conceptual/LoadingResources/Strings/Strings.html)
|
17
|
+
* [YAML](http://yaml.org/)
|
18
|
+
* Text files
|
19
|
+
|
20
|
+
Translated strings are saved in a database and reused.
|
21
|
+
|
22
|
+
## Installation
|
23
|
+
|
24
|
+
Add this line to your application's `Gemfile`:
|
25
|
+
|
26
|
+
```ruby
|
27
|
+
gem 'translatomatic'
|
28
|
+
```
|
29
|
+
|
30
|
+
And then execute:
|
31
|
+
|
32
|
+
$ bundle
|
33
|
+
|
34
|
+
Or install it yourself as:
|
35
|
+
|
36
|
+
$ gem install translatomatic
|
37
|
+
|
38
|
+
## Usage
|
39
|
+
|
40
|
+
The command line interface for translation functionality is `translatomatic`. For help on available options, execute:
|
41
|
+
|
42
|
+
$ translatomatic help
|
43
|
+
|
44
|
+
### Translating files
|
45
|
+
|
46
|
+
`translatomatic` translates text one sentence or phrase at a time.
|
47
|
+
If a file is re-translated, only sentences that have changed are sent to the translator, and the rest are sourced from the local database.
|
48
|
+
|
49
|
+
To list available translation services and options:
|
50
|
+
|
51
|
+
$ translatomatic translators
|
52
|
+
|
53
|
+
To translate a Java properties file to German and French:
|
54
|
+
|
55
|
+
$ translatomatic translate resources/strings.properties de fr
|
56
|
+
|
57
|
+
This would create (or overwrite) `strings_de.properties` and `strings_fr.properties`.
|
58
|
+
|
59
|
+
### Extracting strings from source files
|
60
|
+
|
61
|
+
To extract strings from some source files, use the extract command, e.g.
|
62
|
+
|
63
|
+
$ translatomatic strings file.rb
|
64
|
+
|
65
|
+
### Displaying strings from a resource bundle
|
66
|
+
|
67
|
+
To read and display the `store.description` and `store.name` properties from local resource files in English, German, and French:
|
68
|
+
|
69
|
+
$ translatomatic display --locales=en,de,fr \
|
70
|
+
resources/strings.properties store.description store.name
|
71
|
+
|
72
|
+
## Configuration
|
73
|
+
|
74
|
+
By default, `translatomatic` uses an sqlite3 database in `$HOME/.translatomatic/translatomatic.sqlite3` to store translated strings.
|
75
|
+
The database can be changed by creating a `database.yml` file under `$HOME/.translatomatic/database.yml` for the `production` environment, e.g.
|
76
|
+
|
77
|
+
production:
|
78
|
+
adapter: mysql2
|
79
|
+
host: db.example.com
|
80
|
+
database: translatomatic
|
81
|
+
pool: 5
|
82
|
+
encoding: utf8
|
83
|
+
username: username
|
84
|
+
password: password
|
85
|
+
|
86
|
+
## Contributing
|
87
|
+
|
88
|
+
Bug reports and pull requests are welcome on GitHub at https://github.com/smugglys/translatomatic. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [Contributor Covenant](http://contributor-covenant.org) code of conduct.
|
89
|
+
|
90
|
+
## License
|
91
|
+
|
92
|
+
The gem is available as open source under the terms of the [MIT License](https://opensource.org/licenses/MIT).
|
93
|
+
|
94
|
+
## Code of Conduct
|
95
|
+
|
96
|
+
Everyone interacting with the Translatomatic project’s codebases, issue trackers, chat rooms and mailing lists is expected to follow the [code of conduct](https://github.com/smugglys/translatomatic/blob/master/CODE_OF_CONDUCT.md).
|
data/Rakefile
CHANGED
@@ -1,6 +1,6 @@
|
|
1
|
-
require "bundler/gem_tasks"
|
2
|
-
require "rspec/core/rake_task"
|
3
|
-
|
4
|
-
RSpec::Core::RakeTask.new(:spec)
|
5
|
-
|
6
|
-
task :default => :spec
|
1
|
+
require "bundler/gem_tasks"
|
2
|
+
require "rspec/core/rake_task"
|
3
|
+
|
4
|
+
RSpec::Core::RakeTask.new(:spec)
|
5
|
+
|
6
|
+
task :default => :spec
|
data/bin/setup
CHANGED
@@ -1,8 +1,8 @@
|
|
1
|
-
#!/usr/bin/env bash
|
2
|
-
set -euo pipefail
|
3
|
-
IFS=$'\n\t'
|
4
|
-
set -vx
|
5
|
-
|
6
|
-
bundle install
|
7
|
-
|
8
|
-
# Do any other automated setup that you need to do here
|
1
|
+
#!/usr/bin/env bash
|
2
|
+
set -euo pipefail
|
3
|
+
IFS=$'\n\t'
|
4
|
+
set -vx
|
5
|
+
|
6
|
+
bundle install
|
7
|
+
|
8
|
+
# Do any other automated setup that you need to do here
|
data/bin/translatomatic
CHANGED
@@ -1,6 +1,6 @@
|
|
1
|
-
#!/usr/bin/env ruby
|
2
|
-
|
3
|
-
require "bundler/setup"
|
4
|
-
require "translatomatic"
|
5
|
-
|
6
|
-
Translatomatic::CLI.start
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
require "bundler/setup"
|
4
|
+
require "translatomatic"
|
5
|
+
|
6
|
+
Translatomatic::CLI.start
|
data/bin/travis
ADDED
@@ -0,0 +1,26 @@
|
|
1
|
+
#!/usr/bin/env bash
|
2
|
+
|
3
|
+
[ "$TRAVIS_OS_NAME" == "linux" ] || exit 0
|
4
|
+
|
5
|
+
REPORTER_PATH=tmp/cache/codeclimate
|
6
|
+
REPORTER_CMD=$REPORTER_PATH/cc-test-reporter
|
7
|
+
REPORTER_URL=https://codeclimate.com/downloads/test-reporter/test-reporter-latest-linux-amd64
|
8
|
+
mkdir -p $REPORTER_PATH
|
9
|
+
|
10
|
+
function remote_size {
|
11
|
+
curl -sIL "$1" | awk '/Content-Length/ {sub("\r",""); print $2}' | tail -1
|
12
|
+
}
|
13
|
+
|
14
|
+
if [ "$1" == "before" ]; then
|
15
|
+
gem install sqlite3 # enable database tests
|
16
|
+
|
17
|
+
local_size=$(wc -c < $REPORTER_CMD 2>/dev/null)
|
18
|
+
remote_size=$(remote_size $REPORTER_URL)
|
19
|
+
if [ "$local_size" != "$remote_size" ]; then
|
20
|
+
curl -L $REPORTER_URL -o $REPORTER_CMD
|
21
|
+
chmod +x $REPORTER_CMD
|
22
|
+
fi
|
23
|
+
$REPORTER_CMD before-build
|
24
|
+
elif [ "$1" == "after" ]; then
|
25
|
+
$REPORTER_CMD after-build --exit-code $TRAVIS_TEST_RESULT
|
26
|
+
fi
|
data/db/database.yml
CHANGED
@@ -1,9 +1,9 @@
|
|
1
|
-
production:
|
2
|
-
adapter: sqlite3
|
3
|
-
encoding: utf-8
|
4
|
-
database: $HOME/.translatomatic/translatomatic.sqlite3
|
5
|
-
|
6
|
-
test:
|
7
|
-
adapter: sqlite3
|
8
|
-
encoding: utf-8
|
9
|
-
database: $GEM_ROOT/spec/tmp/translatomatic.sqlite3
|
1
|
+
production:
|
2
|
+
adapter: sqlite3
|
3
|
+
encoding: utf-8
|
4
|
+
database: $HOME/.translatomatic/translatomatic.sqlite3
|
5
|
+
|
6
|
+
test:
|
7
|
+
adapter: sqlite3
|
8
|
+
encoding: utf-8
|
9
|
+
database: $GEM_ROOT/spec/tmp/translatomatic.sqlite3
|
@@ -1,23 +1,24 @@
|
|
1
|
-
# @!visibility private
|
2
|
-
class Initial < ActiveRecord::Migration[4.2] # :nodoc:
|
3
|
-
def change
|
4
|
-
create_table :locales do |t|
|
5
|
-
t.string :language, null: false # e.g. "en" ISO 639-1
|
6
|
-
t.string :script # e.g. "Hans" ISO 15924
|
7
|
-
t.string :region # e.g. "US" ISO 3166-1 alpha-2
|
8
|
-
t.timestamps
|
9
|
-
end
|
10
|
-
|
11
|
-
add_index :locales, [:language, :script, :region]
|
12
|
-
|
13
|
-
create_table :texts do |t|
|
14
|
-
t.belongs_to :locale, index: true, null: false
|
15
|
-
t.belongs_to :from_text, index: true, foreign_key: {
|
16
|
-
to_table: :texts, on_delete: :cascade
|
17
|
-
}
|
18
|
-
t.text :value, null: false
|
19
|
-
t.
|
20
|
-
t.
|
21
|
-
|
22
|
-
|
23
|
-
end
|
1
|
+
# @!visibility private
|
2
|
+
class Initial < ActiveRecord::Migration[4.2] # :nodoc:
|
3
|
+
def change
|
4
|
+
create_table :locales do |t|
|
5
|
+
t.string :language, null: false # e.g. "en" ISO 639-1
|
6
|
+
t.string :script # e.g. "Hans" ISO 15924
|
7
|
+
t.string :region # e.g. "US" ISO 3166-1 alpha-2
|
8
|
+
t.timestamps
|
9
|
+
end
|
10
|
+
|
11
|
+
add_index :locales, [:language, :script, :region]
|
12
|
+
|
13
|
+
create_table :texts do |t|
|
14
|
+
t.belongs_to :locale, index: true, null: false
|
15
|
+
t.belongs_to :from_text, index: true, foreign_key: {
|
16
|
+
to_table: :texts, on_delete: :cascade
|
17
|
+
}
|
18
|
+
t.text :value, null: false
|
19
|
+
t.boolean :shared, null: false, default: false, index: true
|
20
|
+
t.string :translator
|
21
|
+
t.timestamps
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|