translatomatic 0.1.3 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (139) hide show
  1. checksums.yaml +5 -5
  2. data/.gitattributes +20 -20
  3. data/.gitignore +19 -15
  4. data/.rspec +3 -3
  5. data/.rubocop.yml +28 -0
  6. data/.translatomatic/config.yml +4 -0
  7. data/.travis.yml +4 -6
  8. data/.yardopts +9 -9
  9. data/Gemfile +8 -4
  10. data/Guardfile +4 -5
  11. data/README.de.md +55 -50
  12. data/README.en.md +177 -0
  13. data/README.es.md +53 -48
  14. data/README.fr.md +53 -48
  15. data/README.it.md +54 -49
  16. data/README.ja.md +63 -58
  17. data/README.ko.md +59 -54
  18. data/README.md +17 -13
  19. data/README.ms.md +50 -45
  20. data/README.pt.md +54 -49
  21. data/README.ru.md +57 -52
  22. data/README.sv.md +51 -46
  23. data/README.zh.md +60 -55
  24. data/Rakefile +3 -3
  25. data/TODO.txt +6 -0
  26. data/bin/console +3 -3
  27. data/bin/translatomatic +4 -2
  28. data/config/i18n-tasks.yml +130 -0
  29. data/config/locales/translatomatic/de.yml +141 -99
  30. data/config/locales/translatomatic/en.yml +129 -89
  31. data/config/locales/translatomatic/es.yml +136 -99
  32. data/config/locales/translatomatic/fr.yml +139 -100
  33. data/config/locales/translatomatic/it.yml +135 -97
  34. data/config/locales/translatomatic/ja.yml +137 -98
  35. data/config/locales/translatomatic/ko.yml +138 -98
  36. data/config/locales/translatomatic/ms.yml +138 -100
  37. data/config/locales/translatomatic/pt.yml +137 -101
  38. data/config/locales/translatomatic/ru.yml +136 -98
  39. data/config/locales/translatomatic/sv.yml +134 -96
  40. data/config/locales/translatomatic/zh.yml +136 -97
  41. data/db/migrate/201712170000_initial.rb +2 -3
  42. data/lib/translatomatic.rb +40 -25
  43. data/lib/translatomatic/cli.rb +5 -1
  44. data/lib/translatomatic/cli/base.rb +61 -58
  45. data/lib/translatomatic/cli/common_options.rb +14 -11
  46. data/lib/translatomatic/cli/config.rb +96 -91
  47. data/lib/translatomatic/cli/database.rb +85 -23
  48. data/lib/translatomatic/cli/main.rb +158 -104
  49. data/lib/translatomatic/cli/thor.rb +29 -0
  50. data/lib/translatomatic/cli/translate.rb +134 -157
  51. data/lib/translatomatic/config.rb +10 -301
  52. data/lib/translatomatic/config/display.rb +78 -0
  53. data/lib/translatomatic/config/files.rb +60 -0
  54. data/lib/translatomatic/config/location_settings.rb +133 -0
  55. data/lib/translatomatic/config/options.rb +68 -0
  56. data/lib/translatomatic/config/selector.rb +127 -0
  57. data/lib/translatomatic/config/settings.rb +148 -0
  58. data/lib/translatomatic/converter.rb +40 -28
  59. data/lib/translatomatic/database.rb +127 -110
  60. data/lib/translatomatic/define_options.rb +4 -5
  61. data/lib/translatomatic/escaped_unicode.rb +86 -76
  62. data/lib/translatomatic/extractor.rb +5 -2
  63. data/lib/translatomatic/extractor/base.rb +12 -12
  64. data/lib/translatomatic/extractor/ruby.rb +7 -6
  65. data/lib/translatomatic/file_translator.rb +101 -244
  66. data/lib/translatomatic/flattenation.rb +39 -0
  67. data/lib/translatomatic/http.rb +13 -0
  68. data/lib/translatomatic/http/client.rb +144 -0
  69. data/lib/translatomatic/http/exception.rb +43 -0
  70. data/lib/translatomatic/http/file_param.rb +27 -0
  71. data/lib/translatomatic/http/param.rb +37 -0
  72. data/lib/translatomatic/http/request.rb +91 -0
  73. data/lib/translatomatic/i18n.rb +43 -0
  74. data/lib/translatomatic/locale.rb +71 -59
  75. data/lib/translatomatic/logger.rb +43 -28
  76. data/lib/translatomatic/metadata.rb +58 -0
  77. data/lib/translatomatic/model.rb +4 -2
  78. data/lib/translatomatic/model/locale.rb +5 -5
  79. data/lib/translatomatic/model/text.rb +5 -5
  80. data/lib/translatomatic/option.rb +57 -34
  81. data/lib/translatomatic/path_utils.rb +126 -0
  82. data/lib/translatomatic/progress_updater.rb +13 -16
  83. data/lib/translatomatic/provider.rb +101 -0
  84. data/lib/translatomatic/provider/base.rb +136 -0
  85. data/lib/translatomatic/provider/frengly.rb +55 -0
  86. data/lib/translatomatic/provider/google.rb +78 -0
  87. data/lib/translatomatic/provider/google_web.rb +50 -0
  88. data/lib/translatomatic/provider/microsoft.rb +144 -0
  89. data/lib/translatomatic/provider/my_memory.rb +75 -0
  90. data/lib/translatomatic/provider/yandex.rb +61 -0
  91. data/lib/translatomatic/resource_file.rb +59 -53
  92. data/lib/translatomatic/resource_file/base.rb +171 -237
  93. data/lib/translatomatic/resource_file/csv.rb +176 -24
  94. data/lib/translatomatic/resource_file/html.rb +21 -42
  95. data/lib/translatomatic/resource_file/key_value_support.rb +117 -0
  96. data/lib/translatomatic/resource_file/markdown.rb +36 -38
  97. data/lib/translatomatic/resource_file/plist.rb +121 -126
  98. data/lib/translatomatic/resource_file/po.rb +104 -82
  99. data/lib/translatomatic/resource_file/properties.rb +48 -77
  100. data/lib/translatomatic/resource_file/properties.treetop +87 -0
  101. data/lib/translatomatic/resource_file/resw.rb +56 -41
  102. data/lib/translatomatic/resource_file/subtitle.rb +86 -54
  103. data/lib/translatomatic/resource_file/text.rb +18 -18
  104. data/lib/translatomatic/resource_file/xcode_strings.rb +32 -63
  105. data/lib/translatomatic/resource_file/xcode_strings.treetop +85 -0
  106. data/lib/translatomatic/resource_file/xml.rb +94 -81
  107. data/lib/translatomatic/resource_file/yaml.rb +54 -68
  108. data/lib/translatomatic/retry_executor.rb +37 -0
  109. data/lib/translatomatic/slurp.rb +32 -0
  110. data/lib/translatomatic/string_batcher.rb +50 -0
  111. data/lib/translatomatic/string_escaping.rb +61 -0
  112. data/lib/translatomatic/text.rb +263 -0
  113. data/lib/translatomatic/text_collection.rb +66 -0
  114. data/lib/translatomatic/tmx.rb +5 -3
  115. data/lib/translatomatic/tmx/document.rb +107 -82
  116. data/lib/translatomatic/tmx/translation_unit.rb +19 -18
  117. data/lib/translatomatic/translation.rb +8 -28
  118. data/lib/translatomatic/translation/collection.rb +199 -0
  119. data/lib/translatomatic/translation/fetcher.rb +123 -0
  120. data/lib/translatomatic/translation/munging.rb +112 -0
  121. data/lib/translatomatic/translation/result.rb +50 -0
  122. data/lib/translatomatic/translation/sharer.rb +32 -0
  123. data/lib/translatomatic/translation/stats.rb +44 -0
  124. data/lib/translatomatic/translator.rb +91 -88
  125. data/lib/translatomatic/type_cast.rb +63 -0
  126. data/lib/translatomatic/util.rb +37 -33
  127. data/lib/translatomatic/version.rb +2 -2
  128. data/translatomatic.gemspec +57 -46
  129. metadata +136 -59
  130. data/lib/translatomatic/http_request.rb +0 -162
  131. data/lib/translatomatic/string.rb +0 -188
  132. data/lib/translatomatic/translation_result.rb +0 -86
  133. data/lib/translatomatic/translation_stats.rb +0 -31
  134. data/lib/translatomatic/translator/base.rb +0 -128
  135. data/lib/translatomatic/translator/frengly.rb +0 -62
  136. data/lib/translatomatic/translator/google.rb +0 -37
  137. data/lib/translatomatic/translator/microsoft.rb +0 -41
  138. data/lib/translatomatic/translator/my_memory.rb +0 -68
  139. data/lib/translatomatic/translator/yandex.rb +0 -56
data/TODO.txt ADDED
@@ -0,0 +1,6 @@
1
+ TODO
2
+
3
+ - translation contexts
4
+ - subproject configuration
5
+ - fix c style string parsing
6
+ - target_locales: auto ?
data/bin/console CHANGED
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env ruby
2
2
 
3
- require "bundler/setup"
4
- require "translatomatic"
3
+ require 'bundler/setup'
4
+ require 'translatomatic'
5
5
 
6
6
  # You can add fixtures and/or initialization code here to make experimenting
7
7
  # with your gem easier. You can also use a different console, if you like.
@@ -10,5 +10,5 @@ require "translatomatic"
10
10
  # require "pry"
11
11
  # Pry.start
12
12
 
13
- require "irb"
13
+ require 'irb'
14
14
  IRB.start(__FILE__)
data/bin/translatomatic CHANGED
@@ -1,6 +1,8 @@
1
1
  #!/usr/bin/env ruby
2
2
 
3
- require "bundler/setup"
4
- require "translatomatic"
3
+ $LOAD_PATH.unshift File.join(__dir__, '..', 'lib')
4
+
5
+ require 'bundler/setup'
6
+ require 'translatomatic'
5
7
 
6
8
  Translatomatic::CLI::Main.start
@@ -0,0 +1,130 @@
1
+ # i18n-tasks finds and manages missing and unused translations: https://github.com/glebm/i18n-tasks
2
+
3
+ # The "main" locale.
4
+ base_locale: en
5
+ ## All available locales are inferred from the data by default. Alternatively, specify them explicitly:
6
+ # locales: [es, fr]
7
+ ## Reporting locale, default: en. Available: en, ru.
8
+ # internal_locale: en
9
+
10
+ # Read and write translations.
11
+ data:
12
+ ## Translations are read from the file system. Supported format: YAML, JSON.
13
+ ## Provide a custom adapter:
14
+ # adapter: I18n::Tasks::Data::FileSystem
15
+
16
+ # Locale files or `File.find` patterns where translations are read from:
17
+ read:
18
+ ## Default:
19
+ # - config/locales/%{locale}.yml
20
+ ## More files:
21
+ - config/locales/**/%{locale}.yml
22
+
23
+ # Locale files to write new keys to, based on a list of key pattern => file rules. Matched from top to bottom:
24
+ # `i18n-tasks normalize -p` will force move the keys according to these rules
25
+ write:
26
+ ## For example, write devise and simple form keys to their respective files:
27
+ # - ['{devise, simple_form}.*', 'config/locales/\1.%{locale}.yml']
28
+ ## Catch-all default:
29
+ - config/locales/translatomatic/%{locale}.yml
30
+
31
+ # External locale data (e.g. gems).
32
+ # This data is not considered unused and is never written to.
33
+ external:
34
+ ## Example (replace %#= with %=):
35
+ # - "<%#= %x[bundle show vagrant].chomp %>/templates/locales/%{locale}.yml"
36
+
37
+ ## Specify the router (see Readme for details). Valid values: conservative_router, pattern_router, or a custom class.
38
+ # router: conservative_router
39
+
40
+ yaml:
41
+ write:
42
+ # do not wrap lines at 80 characters
43
+ line_width: -1
44
+
45
+ ## Pretty-print JSON:
46
+ # json:
47
+ # write:
48
+ # indent: ' '
49
+ # space: ' '
50
+ # object_nl: "\n"
51
+ # array_nl: "\n"
52
+
53
+ # Find translate calls
54
+ search:
55
+ ## Paths or `File.find` patterns to search in:
56
+ paths:
57
+ - lib
58
+ - bin
59
+
60
+ ## Root directories for relative keys resolution.
61
+ relative_roots:
62
+ - lib
63
+ # - app/helpers
64
+ # - app/mailers
65
+ # - app/presenters
66
+ # - app/views
67
+
68
+ ## Files or `File.fnmatch` patterns to exclude from search. Some files are always excluded regardless of this setting:
69
+ ## %w(*.jpg *.png *.gif *.svg *.ico *.eot *.otf *.ttf *.woff *.woff2 *.pdf *.css *.sass *.scss *.less *.yml *.json)
70
+ exclude:
71
+ - app/assets/images
72
+ - app/assets/fonts
73
+ - app/assets/videos
74
+
75
+ ## Alternatively, the only files or `File.fnmatch patterns` to search in `paths`:
76
+ ## If specified, this settings takes priority over `exclude`, but `exclude` still applies.
77
+ # only: ["*.rb", "*.html.slim"]
78
+
79
+ ## If `strict` is `false`, guess usages such as t("categories.#{category}.title"). The default is `true`.
80
+ strict: false
81
+
82
+ ## Multiple scanners can be used. Their results are merged.
83
+ ## The options specified above are passed down to each scanner. Per-scanner options can be specified as well.
84
+ ## See this example of a custom scanner: https://github.com/glebm/i18n-tasks/wiki/A-custom-scanner-example
85
+
86
+ ## Google Translate
87
+ # translation:
88
+ # # Get an API key and set billing info at https://code.google.com/apis/console to use Google Translate
89
+ # api_key: "AbC-dEf5"
90
+
91
+ ## Do not consider these keys missing:
92
+ # ignore_missing:
93
+ # - 'errors.messages.{accepted,blank,invalid,too_short,too_long}'
94
+ # - '{devise,simple_form}.*'
95
+
96
+ ## Consider these keys used:
97
+ # ignore_unused:
98
+ # - 'activerecord.attributes.*'
99
+ # - '{devise,kaminari,will_paginate}.*'
100
+ # - 'simple_form.{yes,no}'
101
+ # - 'simple_form.{placeholders,hints,labels}.*'
102
+ # - 'simple_form.{error_notification,required}.:'
103
+
104
+ ## Exclude these keys from the `i18n-tasks eq-base' report:
105
+ # ignore_eq_base:
106
+ # all:
107
+ # - common.ok
108
+ # fr,es:
109
+ # - common.brand
110
+
111
+ ## Ignore these keys completely:
112
+ # ignore:
113
+ # - kaminari.*
114
+
115
+ ## Sometimes, it isn't possible for i18n-tasks to match the key correctly,
116
+ ## e.g. in case of a relative key defined in a helper method.
117
+ ## In these cases you can use the built-in PatternMapper to map patterns to keys, e.g.:
118
+ #
119
+ # <%# I18n::Tasks.add_scanner 'I18n::Tasks::Scanners::PatternMapper',
120
+ # only: %w(*.html.haml *.html.slim),
121
+ # patterns: [['= title\b', '.page_title']] %>
122
+ #
123
+ # The PatternMapper can also match key literals via a special %{key} interpolation, e.g.:
124
+ #
125
+ # <%# I18n::Tasks.add_scanner 'I18n::Tasks::Scanners::PatternMapper',
126
+ # patterns: [['\bSpree\.t[( ]\s*%{key}', 'spree.%{key}']] %>
127
+
128
+ # this doesn't work for some reason
129
+ <%# I18n::Tasks.add_scanner 'I18n::Tasks::Scanners::PatternMapper',
130
+ patterns: [['\t\s*%{key}', 'translatomatic.%{key}']] %>
@@ -1,115 +1,157 @@
1
- # Erstellt von Translatomatic 0.1.2 Sat, 06 Jan 2018 22:56:17 +1030
1
+ # Erstellt von Translatomatic 0.1.3 Tue, 06 Feb 2018 22:17:57 +1030 https://github.com/smugglys/translatomatic
2
2
 
3
3
  de:
4
4
  translatomatic:
5
5
  cli:
6
+ aborted: Abgebrochen
6
7
  config:
7
- subcommand: Konfigurationsbefehle
8
- configuration: Konfiguration
9
- context_configuration: Konfiguration für Kontext '%{context}'
8
+ add: Fügen Sie einen Konfigurationswert zu einer Liste hinzu
9
+ configuration: Aufbau
10
+ describe: Beschreiben Sie die verfügbaren Konfigurationseinstellungen
11
+ for_file: Ändern Sie eine Konfigurationseinstellung pro Datei
12
+ list: Listen Sie die aktuellen Konfigurationseinstellungen auf
13
+ location_configuration: Konfiguration für die Datei &#39;%{location}&#39;
10
14
  no_config: Keine Konfiguration gefunden
15
+ project: Verwenden Sie die Projektkonfigurationsdatei
11
16
  set: Ändern Sie eine Konfigurationseinstellung
12
- remove: Entfernen Sie eine Konfigurationseinstellung
13
- list: Liste aktuellen Konfigurationseinstellungen
14
- describe: Verfügbaren Konfigurationseinstellungen zu beschreiben
15
- name: Name
16
- type: Typ
17
- value: Wert
18
- desc: Beschreibung
19
- context: Konfigurations-Contexts
20
- convert: Quelldatei in Ziel-Datei-Format konvertieren
21
- translate:
22
- subcommand: Dateien oder Zeichenfolgen übersetzen
23
- file: Eine Datei zum Ziel Gebietsschemas zu übersetzen
24
- string: Eine Zeichenfolge, die Ziel-Gebietsschemas zu übersetzen
25
- translator: Übersetzer-Implementierungen verwenden
26
- source_locale: Das Gebietsschema der Quelldatei
27
- target_locales: Sprachen zu übersetzen
28
- source_files: Dateien zu übersetzen
29
- debug: Aktiviere Debug-Ausgabe
30
- wank: Übersetzung-Statusanzeige aktivieren
31
- share: Übersetzungen mit Übersetzern zu teilen
32
- dry_run: 'Dry Run: Dateien werden nicht übersetzt oder geschrieben werden'
33
- locales_required: Eine oder mehrere Ziel-Gebietsschemas erforderlich
34
- using_translator: 'Mit Übersetzer: %{name}'
35
- display_values: Werte aus einer Ressourcenbündel anzeigen
36
- locales_to_display: Ländereinstellungen anzeigen
37
- display_sentences: Display-Sätze
38
- extract_strings: Saiten aus nicht-Ressource-Dateien extrahieren
39
- list_backends: Liste der verfügbaren Übersetzungsdienste
40
- display_version: Display-version
41
- uploading_tmx: Hochladen von TMX %{name}
42
- translating: Wird übersetzt
43
- aborted: Abgebrochen
17
+ subcommand: Konfigurationsbefehle
18
+ subtract: Entfernen Sie einen Konfigurationswert aus einer Liste
19
+ unset: Entfernen Sie eine Konfigurationseinstellung
20
+ user: Verwenden Sie die Benutzerkonfigurationsdatei
21
+ convert: Konvertieren Sie die Quelldatei in das Zieldateiformat
22
+ database:
23
+ drop: Löschen Sie die Datenbank
24
+ search: Suchen Sie in der Datenbank nach Text, der mit der angegebenen Zeichenfolge
25
+ übereinstimmt.
26
+ subcommand: Datenbankbefehle
27
+ info: Datenbankinformationen
28
+ text_count: Datenbank enthält %{count} Zeichenfolgen.
29
+ delete_text: Löschen Sie einen Text und seine Übersetzungen
30
+ text_not_found: Die Text-ID %{id} nicht gefunden.
31
+ debug: Debugging-Ausgabe aktivieren
32
+ display_sentences: Sätze anzeigen
33
+ display_values: Zeigen Sie Werte aus einem Ressourcenpaket an
34
+ display_version: Version anzeigen
35
+ dry_run: Drucken Sie Aktionen, ohne Übersetzungen auszuführen oder Dateien zu
36
+ schreiben.
37
+ error: Ein Fehler ist aufgetreten
38
+ extract_strings: Extrahieren Sie Zeichenfolgen aus Nicht-Ressourcen-Dateien
44
39
  file_source: 'Datei: %{file}'
40
+ locales_required: Ein oder mehrere Zielgebietsschemas sind erforderlich
41
+ locales_to_display: Locales zum Anzeigen
42
+ no_wank: Deaktivieren Sie die Übersetzungsfortschrittsleiste
43
+ provider:
44
+ available: Verfügbar
45
+ available_no: Nein
46
+ available_yes: Ja
47
+ description: Beschreibung
48
+ env: Umgebung
49
+ name: Name
50
+ option: Möglichkeit
51
+ providers: Liste verfügbarer Übersetzungsdienstleister auf
45
52
  sentences: 'Sätze:'
46
- database:
47
- subcommand: Datenbank-Befehle
48
- search: Suchdatenbank für Text passend die angegebene Zeichenfolge.
53
+ source_files: Zu übersetzende Dateien
54
+ source_locale: Das Gebietsschema der Quelldatei
55
+ target_locales: Ländereinstellungen, in die übersetzt werden soll
56
+ translate:
57
+ file: Übersetze eine Datei in Ziel-Locales
58
+ no_providers: Keine Übersetzungsdienstleister gefunden
59
+ provider: Zu verwendende Provider-Implementierungen
60
+ share: Teilen Sie Übersetzungen mit Anbietern
61
+ string: Eine Zeichenfolge in Zielgebietsschemas übersetzen
62
+ subcommand: Übersetzen Sie Dateien oder Zeichenfolgen
63
+ translating: Übersetzen
64
+ translating_file: Übersetzen von %{source} (%{source_locale}) nach %{target_locale}
65
+ using_provider: 'Verwenden des Anbieters: %{name}'
66
+ using_providers: 'Verwenden von Anbietern: %{list}'
67
+ config:
68
+ command_line_only: Konfiguration &#39;%{key}&#39; kann nicht gespeichert werden
69
+ context:
70
+ env: Umgebung
71
+ project: Projekt
72
+ user: Benutzer
73
+ heading:
74
+ desc: Beschreibung
75
+ name: Name
76
+ type: Art
77
+ value: Wert
78
+ invalid_context: 'Unbekannter Konfigurationskontext: &#39;%{context}&#39;'
79
+ invalid_key: 'Unbekannter Konfigurationsschlüssel: &#39;%{key}&#39;'
80
+ non_array_key: 'Die Konfiguration ist kein Array-Typ: &#39;%{key}&#39;'
81
+ one_at_a_time: Nur eine Konfigurationsdatei gleichzeitig
82
+ types:
83
+ array: Array
84
+ boolean: Boolesch
85
+ hash: Hash
86
+ numeric: Numerisch
87
+ path: Pfad
88
+ path_array: Array von Pfaden
89
+ string: Zeichenfolge
90
+ database:
91
+ config_file: Pfad zur Datenbankkonfigurationsdatei
92
+ could_not_create: Die Datenbank konnte nicht erstellt werden.
93
+ created: Datenbank erstellt
94
+ deleted: Datenbank gelöscht
95
+ env: Datenbankumgebung
96
+ migrated: Datenbank migriert
97
+ no_environment: Keine Umgebung &#39;%{env}&#39; in %{file}
49
98
  file:
50
- not_found: 'Datei nicht gefunden: %{file}'
51
- unsupported: 'Nicht unterstützte Datei-Typ: %{file}'
52
- unknown_locale: Nicht in der Lage, Sprachumgebung zu bestimmen
53
- created_by: Erstellt von %{app} %{version} %{date}
99
+ created_by: Erstellt von %{app} %{version} %{date} %{url}
100
+ csv:
101
+ comment_column: Ein CSV-Spaltenname, der für Kommentare verwendet werden soll
102
+ headers: Behandeln Sie die erste Zeile der CSV-Dateien als eine Reihe von
103
+ Headern.
104
+ key_column: Ein CSV-Spaltenname, der für Eigenschaftenschlüssel verwendet
105
+ werden soll
106
+ translate_columns: Namen oder Indizes von zu übersetzenden CSV-Spalten
107
+ value_column: Ein CSV-Spaltenname, der für Eigenschaftenwerte verwendet werden
108
+ soll
109
+ directory: 'Datei ist ein Verzeichnis: %{file}'
54
110
  error: 'Fehler: %{message}'
55
- loading: "%{file} %{name} mit laden"
56
- directory: 'Die Datei ist ein Verzeichnis: %{file}'
57
111
  invalid: 'Datei ist ungültig: %{file}'
58
- tmx:
59
- multiple_origins: Mehrere Wurzeln in Texten.
60
- multiple_locales: Mehreren Quelle Gebietsschemas in Texten.
61
- translator:
62
- email_required: E-Mail-Adresse erforderlich.
112
+ loading: Versuch, %{file} mit %{name}zu laden
113
+ not_found: 'Datei nicht gefunden: %{file}'
114
+ unknown_locale: Das Gebietsschema konnte nicht ermittelt werden
115
+ unsupported: 'Nicht unterstützter Dateityp: %{file}'
116
+ file_translator:
117
+ in_place: Übersetzen Sie die Quelldatei direkt.
118
+ provider:
119
+ email_address: E-Mail-Addresse
120
+ email_required: 'E-Mail-Adresse: (Pflichtfeld.'
121
+ frengly:
122
+ api_key: Frengly API-Schlüssel
123
+ google:
124
+ api_key: Google API-Schlüssel
125
+ key_required: Google API-Schlüssel erforderlich
126
+ model: Übersetzungsmodell
127
+ invalid_response: Unerwartete Antwort vom Anbieter
128
+ microsoft:
129
+ api_key: Microsoft API-Schlüssel
130
+ key_required: Microsoft API-Schlüssel erforderlich
131
+ mymemory:
132
+ api_key: MyMemory-API-Schlüssel
133
+ options: 'Provider-Optionen:'
134
+ password: Passwort
63
135
  password_required: Passwort erforderlich.
64
- google_key_required: Google-API-Schlüssel erforderlich.
65
- google_api_key: Google-API-Schlüssel
66
- frengly_api_key: Frengly API-Schlüssel
67
- microsoft_api_key: Microsoft-API-Schlüssel
68
- microsoft_key_required: Microsoft-API-Schlüssel erforderlich.
69
- mymemory_api_key: MyMemory-API-Schlüssel
70
- email_address: E-Mail-Adresse
71
- share_response: 'Teil Antwort: %{response}'
72
- yandex_api_key: Yandex-API-Schlüssel
73
- yandex_key_required: Yandex-API-Schlüssel erforderlich.
74
136
  required_option: "(erforderlich)"
75
- translators: 'Alle Übersetzer:'
76
- configured: 'Konfigurierten Übersetzer:'
77
- unavailable: Übersetzer-%{name} ist nicht verfügbar.
78
- no_translators: Keine Übersetzer konfiguriert sind.
79
- password: Passwort
80
- file_translator:
81
- total_translations: 'Total translations: %{total} (%{from_db} aus der Datenbank,
82
- %{from_translator} von übersetzer, %{untranslated} unübersetzte)'
137
+ share_response: 'Antwort teilen: %{response}'
138
+ status: 'Anbieterstatus:'
139
+ unavailable: Der Anbieter %{name} ist nicht verfügbar.
140
+ yandex:
141
+ api_key: Yandex-API-Schlüssel
142
+ key_required: Yandex-API-Schlüssel erforderlich.
143
+ sharer:
144
+ uploading_tmx: TMX nach %{name}hochladen
145
+ tmx:
146
+ multiple_locales: Mehrere Quelllokale in Texten.
147
+ multiple_origins: Mehrere Ursprünge in Texten.
148
+ translator:
149
+ database_disabled: Die Datenbank ist deaktiviert.
150
+ no_database: Speichern Sie keine Übersetzungen in der Datenbank.
151
+ provider_required: Anbieter erforderlich
152
+ total_translations: 'Gesamtzahl der Übersetzungen: %{total} (%{from_db} aus
153
+ der Datenbank, %{from_provider} vom Provider, %{untranslated} übersetzt'
83
154
  untranslated: 'Nicht übersetzte Zeichenfolgen:'
84
- dry_run: Aktionen ohne Durchführung von Übersetzungen oder Schreiben von Dateien
85
- zu drucken.
86
- use_database: Speichern und Abrufen von Übersetzungen aus der Datenbank.
87
- database_disabled: Datenbank ist deaktiviert.
88
- translator_required: Übersetzer erforderlich.
89
- translating: Übersetzung %{source} (%{source_locale}) %{target} (%{target_locale})
90
- stats: 'Übersetzungen aus der Datenbank: %{from_db}, translator: %{from_translator},
91
- un: %{untranslated}'
92
- database:
93
- no_environment: Keine Umwelt '%{env}' %{file}
94
- migrated: Datenbank migriert.
95
- created: Datenbank erstellt.
96
- deleted: Datenbank gelöscht.
97
- could_not_create: Datenbank konnte nicht erstellt werden.
98
- config_file: Pfad zu der Datenbank-Konfiguration-Datei
99
- env: Datenbank-Umgebung
155
+ string_too_long: Die Zeichenfolge ist zu lang für die Übersetzung
100
156
  unicode:
101
- invalid_byte: 'Ungültigen UTF-8-Byte: ''%{byte}'''
102
- config:
103
- invalid_context: 'Unerkannte Konfigurations-Contexts: ''%{context}'''
104
- invalid_key: 'Unerkannte Konfigurationsschlüssel: "%{key}"'
105
- command_line_only: Konfiguration "%{key}" kann nicht gespeichert werden
106
- types:
107
- string: Zeichenfolge
108
- hash: Hash
109
- array: Array
110
- numeric: Numerische
111
- boolean: Boolescher Wert
112
- context:
113
- env: Umgebung
114
- project: Projekt
115
- user: Benutzer
157
+ invalid_byte: 'Ungültiges UTF8-Byte: &#39;%{byte}&#39;'
@@ -1,110 +1,150 @@
1
+ ---
1
2
  en:
2
3
  translatomatic:
3
4
  cli:
5
+ aborted: Aborted
4
6
  config:
5
- subcommand: Configuration commands
7
+ add: Add a configuration value to a list
6
8
  configuration: Configuration
7
- context_configuration: Configuration for context '%{context}'
9
+ describe: Describe available configuration settings
10
+ for_file: Change a per-file configuration setting
11
+ list: List current configuration settings
12
+ location_configuration: Configuration for file '%{location}'
8
13
  no_config: No configuration found
14
+ project: Use project configuration file
9
15
  set: Change a configuration setting
10
- remove: Remove a configuration setting
11
- list: List current configuration settings
12
- describe: Describe available configuration settings
13
- name: Name
14
- type: Type
15
- value: Value
16
- desc: Description
17
- context: Configuration context
16
+ subcommand: Configuration commands
17
+ subtract: Remove a configuration value from a list
18
+ unset: Remove a configuration setting
19
+ user: Use user configuration file
18
20
  convert: Convert source file to target file format
19
- translate:
20
- subcommand: Translate files or strings
21
- file: Translate a file to target locales
22
- string: Translate a string to target locales
23
- translator: Translator implementations to use
24
- source_locale: The locale of the source file
25
- target_locales: Locales to translate to
26
- source_files: Files to translate
21
+ database:
22
+ drop: Drop the database
23
+ search: Search database for text matching the given string.
24
+ subcommand: Database commands
25
+ info: Database information
26
+ text_count: Database contains %{count} strings.
27
+ delete_text: Delete a text and its translations
28
+ text_not_found: Text id %{id} not found.
27
29
  debug: Enable debugging output
28
- wank: Enable translation progress bar
29
- share: Share translations with translators
30
- dry_run: 'Dry run: files will not be translated or written'
31
- locales_required: One or more target locales required
32
- using_translator: 'Using translator: %{name}'
33
- display_values: Display values from a resource bundle
34
- locales_to_display: Locales to display
35
30
  display_sentences: Display sentences
36
- extract_strings: Extract strings from non-resource files
37
- list_backends: List available translation services
31
+ display_values: Display values from a resource bundle
38
32
  display_version: Display version
39
- uploading_tmx: Uploading TMX to %{name}
40
- translating: Translating
41
- aborted: Aborted
33
+ dry_run: Print actions without performing translations or writing files.
34
+ error: An error has occurred
35
+ extract_strings: Extract strings from non-resource files
42
36
  file_source: 'File: %{file}'
37
+ locales_required: One or more target locales required
38
+ locales_to_display: Locales to display
39
+ no_wank: Disable translation progress bar
40
+ provider:
41
+ available: Available
42
+ available_no: 'No'
43
+ available_yes: 'Yes'
44
+ description: Description
45
+ env: Environment
46
+ name: Name
47
+ option: Option
48
+ providers: List available translation providers
43
49
  sentences: 'Sentences:'
44
- database:
45
- subcommand: Database commands
46
- search: Search database for text matching the given string.
50
+ source_files: Files to translate
51
+ source_locale: The locale of the source file
52
+ target_locales: Locales to translate to
53
+ translate:
54
+ file: Translate a file to target locales
55
+ no_providers: No translation providers found
56
+ provider: Provider implementations to use
57
+ share: Share translations with providers
58
+ string: Translate a string to target locales
59
+ subcommand: Translate files or strings
60
+ translating: Translating
61
+ translating_file: Translating %{source} (%{source_locale}) to %{target_locale}
62
+ using_provider: 'Using provider: %{name}'
63
+ using_providers: 'Using providers: %{list}'
64
+ config:
65
+ command_line_only: Configuration '%{key}' cannot be saved
66
+ context:
67
+ env: Environment
68
+ project: Project
69
+ user: User
70
+ heading:
71
+ desc: Description
72
+ name: Name
73
+ type: Type
74
+ value: Value
75
+ invalid_context: 'Unrecognised configuration context: ''%{context}'''
76
+ invalid_key: 'Unrecognised configuration key: ''%{key}'''
77
+ non_array_key: 'Configuration is not an array type: ''%{key}'''
78
+ one_at_a_time: Only one config file at a time
79
+ types:
80
+ array: Array
81
+ boolean: Boolean
82
+ hash: Hash
83
+ numeric: Numeric
84
+ path: Path
85
+ path_array: Array of Paths
86
+ string: String
87
+ database:
88
+ config_file: Path to the database configuration file
89
+ could_not_create: Database could not be created.
90
+ created: Database created.
91
+ deleted: Database deleted.
92
+ env: Database environment
93
+ migrated: Database migrated.
94
+ no_environment: No environment '%{env}' in %{file}
47
95
  file:
48
- not_found: 'File not found: %{file}'
49
- unsupported: 'Unsupported file type: %{file}'
50
- unknown_locale: Unable to determine locale
51
- created_by: Created by %{app} %{version} %{date}
96
+ created_by: Created by %{app} %{version} %{date} %{url}
97
+ csv:
98
+ comment_column: A CSV column name to be used for comments
99
+ headers: Treat the first row of CSV files as a row of headers.
100
+ key_column: A CSV column name to to be used for property keys
101
+ translate_columns: Names or indices of CSV columns to translate
102
+ value_column: A CSV column name to be used for property values
103
+ directory: 'File is a directory: %{file}'
52
104
  error: 'Error: %{message}'
105
+ invalid: 'File is invalid: %{file}'
53
106
  loading: Attempting to load %{file} using %{name}
54
- directory: "File is a directory: %{file}"
55
- invalid: "File is invalid: %{file}"
56
- tmx:
57
- multiple_origins: Multiple origins in texts.
58
- multiple_locales: Multiple source locales in texts.
59
- translator:
107
+ not_found: 'File not found: %{file}'
108
+ unknown_locale: Unable to determine locale
109
+ unsupported: 'Unsupported file type: %{file}'
110
+ file_translator:
111
+ in_place: Translate source file in-place.
112
+ provider:
113
+ email_address: Email address
60
114
  email_required: Email address required.
115
+ frengly:
116
+ api_key: Frengly API key
117
+ google:
118
+ api_key: Google API key
119
+ key_required: Google API key required.
120
+ model: Translation model
121
+ invalid_response: Unexpected response from provider
122
+ microsoft:
123
+ api_key: Microsoft API key
124
+ key_required: Microsoft API key required.
125
+ mymemory:
126
+ api_key: MyMemory API key
127
+ options: 'Provider options:'
128
+ password: Password
61
129
  password_required: Password required.
62
- google_key_required: Google API key required.
63
- google_api_key: Google API key
64
- frengly_api_key: Frengly API key
65
- microsoft_api_key: Microsoft API key
66
- microsoft_key_required: Microsoft API key required.
67
- mymemory_api_key: MyMemory API key
68
- email_address: Email address
69
- share_response: 'Share response: %{response}'
70
- yandex_api_key: Yandex API key
71
- yandex_key_required: Yandex API key required.
72
130
  required_option: "(required)"
73
- translators: 'All Translators:'
74
- configured: "Configured Translators:"
75
- unavailable: Translator %{name} is unavailable.
76
- no_translators: No translators are configured.
77
- password: Password
78
- file_translator:
79
- total_translations: 'Total translations: %{total} (%{from_db} from database, %{from_translator} from translator, %{untranslated} untranslated)'
80
- untranslated: "Untranslated strings:"
81
- dry_run: Print actions without performing translations or writing files.
82
- use_database: Store and retrieve translations from the database.
131
+ share_response: 'Share response: %{response}'
132
+ status: 'Provider status:'
133
+ unavailable: Provider %{name} is unavailable.
134
+ yandex:
135
+ api_key: Yandex API key
136
+ key_required: Yandex API key required.
137
+ sharer:
138
+ uploading_tmx: Uploading TMX to %{name}
139
+ tmx:
140
+ multiple_locales: Multiple source locales in texts.
141
+ multiple_origins: Multiple origins in texts.
142
+ translator:
83
143
  database_disabled: Database is disabled.
84
- translator_required: Translator required.
85
- translating: Translating %{source} (%{source_locale}) to %{target} (%{target_locale})
86
- stats: 'Translations from database: %{from_db}, translator: %{from_translator}, untranslated: %{untranslated}'
87
- database:
88
- no_environment: No environment '%{env}' in %{file}
89
- migrated: Database migrated.
90
- created: Database created.
91
- deleted: Database deleted.
92
- could_not_create: Database could not be created.
93
- config_file: Path to the database configuration file
94
- env: Database environment
144
+ no_database: Do not save translations to the database.
145
+ provider_required: Provider required.
146
+ total_translations: 'Total translations: %{total} (%{from_db} from database, %{from_provider} from provider, %{untranslated} untranslated)'
147
+ untranslated: 'Untranslated strings:'
148
+ string_too_long: String is too long to translate
95
149
  unicode:
96
- invalid_byte: "Invalid UTF8 byte: '%{byte}'"
97
- config:
98
- invalid_context: "Unrecognised configuration context: '%{context}'"
99
- invalid_key: "Unrecognised configuration key: '%{key}'"
100
- command_line_only: "Configuration '%{key}' cannot be saved"
101
- types:
102
- string: String
103
- hash: Hash
104
- array: Array
105
- numeric: Numeric
106
- boolean: Boolean
107
- context:
108
- env: Environment
109
- project: Project
110
- user: User
150
+ invalid_byte: 'Invalid UTF8 byte: ''%{byte}'''