i18n-tasks 0.3.0.rc1 → 0.3.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 79c771676a7ab2418350137799e74f5cfe9a84c9
4
- data.tar.gz: fa7170a9f5aa0f0a557b87499c48a393ebf47a81
3
+ metadata.gz: aa70f1185066cd61c8e5caf67517f50a157e8edd
4
+ data.tar.gz: bf73f9deb48f10a6c7731fe74cb7f4fcd0da1e7c
5
5
  SHA512:
6
- metadata.gz: b9af27eac0d3d7e2c68154a5b21f9b1aa3bd1d29940cceced793c57fe0263346cb20c5e3a9f5faf2ecb0bc8160e561b7b566e40b5634e934782b973c4bfb451d
7
- data.tar.gz: 133cf042e3d976e3e6fc8a670428c2b91743e0abfba53c58bdf5d67e6c8511b61bd97ae5c5ca5d231e81cb5a6db536e01e7ca017d8e8f4343f90d682bad8fb62
6
+ metadata.gz: 452232becc66b4aabbb8e17af2fabe95b2ceb0004e7a461fb73a58bb2b24d323d2222c8b45d44da7d8090ab14ac62bce8cb76de88e46ee811860cab0c3668f89
7
+ data.tar.gz: b4c51a6b8a07fb81ceea48dcbd6ddbf0396d3f7027fd6e5ef5a53ed17cf81ed2b74dbb333bb760594db933a8604c0c9c2e6b49abe55584cad026537998e92e4f
data/CHANGES.md CHANGED
@@ -1,4 +1,4 @@
1
- ## v0.3.0 (unreleased)
1
+ ## v0.3.0
2
2
 
3
3
  * i18n-tasks provides a binary instead of rake tasks now (though the tasks are still there for now).
4
4
 
data/README.md CHANGED
@@ -3,23 +3,23 @@
3
3
 
4
4
  Tasks to manage translations in ruby applications using I18n.
5
5
 
6
- ![i18n-screenshot](https://raw.github.com/glebm/i18n-tasks/master/doc/img/i18n-tasks.gif "i18n-tasks output screenshot")
6
+ ![i18n-screenshot](https://raw.github.com/glebm/i18n-tasks/master/doc/img/i18n-tasks.png "i18n-tasks output screenshot")
7
7
 
8
8
  ## Installation
9
9
 
10
10
  1. Add to Gemfile:
11
11
 
12
- ```ruby
13
- gem 'i18n-tasks', '~> 0.3.0'
14
- ```
12
+ ```ruby
13
+ gem 'i18n-tasks', '~> 0.3.0'
14
+ ```
15
15
 
16
16
  2. Create a config file at `config/i18n-tasks.yml`:
17
17
 
18
- ```yaml
19
- # config/i18n-tasks.yml
20
- base_locale: en
21
- locales: [es, fr]
22
- ```
18
+ ```yaml
19
+ # config/i18n-tasks.yml
20
+ base_locale: en
21
+ locales: [es, fr]
22
+ ```
23
23
 
24
24
  ## Usage
25
25
 
@@ -46,39 +46,49 @@ Available commands:
46
46
  See `<command> --help` for more information on a specific command.
47
47
  ```
48
48
 
49
- There are reports for missing and unused translations.
50
- i18n-tasks can add missing keys to the locale data, and it can also fill untranslated values.
49
+ There are reports for `missing` and `unused` translations:
50
+
51
+ ```bash
52
+ i18n-tasks missing
53
+ i18n-tasks unused
54
+ ```
51
55
 
56
+ Add missing values, generated from the key (for base locale) or copied from the base locale (for other locales).
52
57
 
53
- Whenever you can pass locales as arguments, you can use special values `base` and `all`.
54
- Add placeholders for missing keys to the base locale only:
58
+ To add missing values to the base locale only:
55
59
 
56
60
  ```bash
57
- i18n-tasks add-missing[base]
61
+ # locales argument always accepts `base` and `all` as special values
62
+ i18n-tasks add-missing -l base
58
63
  ```
59
64
 
60
- Prefill empty translations using Google Translate ([more below on the API key](#translation-config)).
65
+ Translate missing values with Google Translate ([more below on the API key](#translation-config)).
61
66
 
62
67
  ```bash
63
68
  i18n-tasks translate-missing
64
- # this task and the ones below can also accept specific locales:
65
- i18n-tasks translate-missing -l es,de
69
+ # accepts from and locales options:
70
+ i18n-tasks translate-missing -f base -l es,fr
66
71
  ```
67
72
 
68
- Sort the keys and write them to their respective files:
73
+ Sort the keys and write them to their respective files with `normalize`.
74
+ This always happens on `add-missing` and `translate-missing`.
69
75
 
70
76
  ```bash
71
- # always happens on add-missing or translate-missing
72
77
  i18n-tasks normalize
73
78
  ```
74
79
 
75
- Unused report will detect pattern translations and not report them, e.g.:
80
+ See exactly where the keys are used with `find`:
76
81
 
77
- ```ruby
78
- t 'category.' + category.key # all 'category.*' keys are considered used
79
- t "category.#{category.key}.name" # all 'category.*.name' keys are considered used
82
+ ```bash
83
+ # Show all usages of all keys
84
+ i18n-tasks find
85
+ # Filter by a key pattern
86
+ i18n-tasks find 'auth.*'
87
+ i18n-tasks find '{number,currency}.format.*'
80
88
  ```
81
89
 
90
+ ![i18n-screenshot](https://raw.github.com/glebm/i18n-tasks/master/doc/img/i18n-usages.png "i18n-tasks find output screenshot")
91
+
82
92
  Relative keys (`t '.title'`) and plural keys (key.one/many/other/etc) are fully supported.
83
93
 
84
94
  Scope argument is supported, but only when it is the first keyword argument ([this](/lib/i18n/tasks/scanners/pattern_with_scope_scanner.rb) can be improved):
@@ -90,16 +100,23 @@ t :invalid, scope: [:auth, :password], attempts: 5
90
100
  t :invalid, attempts: 5, scope: [:auth, :password]
91
101
  ```
92
102
 
103
+ Unused report will detect pattern translations and not report them, e.g.:
104
+
105
+ ```ruby
106
+ t 'category.' + category.key # all 'category.*' keys are considered used
107
+ t "category.#{category.key}.name" # all 'category.*.name' keys are considered used
108
+ ```
109
+
93
110
  Translation data storage, key usage search, and other [settings](#configuration) are compatible with Rails by default.
94
111
 
95
112
  ## Configuration
96
113
 
97
114
  Configuration is read from `config/i18n-tasks.yml` or `config/i18n-tasks.yml.erb`.
98
- See current configuration with `i18n-tasks config`.
115
+ Inspect configuration with `i18n-tasks config`.
99
116
 
100
117
  ### Locales
101
118
 
102
- By default, `i18n-tasks` will read `I18n.default_locale` and `I18n.available_locales`.
119
+ By default, i18n-tasks will read `I18n.default_locale` and `I18n.available_locales`.
103
120
  However, i18n-tasks does not load application environment by default,
104
121
  so it is recommended to set locale settings explicitly:
105
122
 
@@ -111,10 +128,12 @@ locales: [es, fr]
111
128
 
112
129
  ### Storage
113
130
 
131
+ The default data adapter supports YAML and JSON files.
132
+
114
133
  ```yaml
115
134
  # i18n data storage
116
135
  data:
117
- # The default file adapter supports YAML and JSON files. You can provide a custom class name here.
136
+ # file_system is the default adapter, you can provide a custom class name here:
118
137
  adapter: file_system
119
138
  # a list of file globs to read from per-locale
120
139
  read:
@@ -130,7 +149,7 @@ data:
130
149
  - 'config/locales/%{locale}.yml' # path is short for ['*', path]
131
150
  ```
132
151
 
133
- Key matching syntax:
152
+ #### Key pattern syntax
134
153
 
135
154
  | syntax | description |
136
155
  |:------------:|:----------------------------------------------------------|
@@ -151,17 +170,6 @@ data:
151
170
 
152
171
  ### Usage search
153
172
 
154
- Inspect all the usages with:
155
-
156
- ```bash
157
- i18n-tasks find
158
- # Filter by a key pattern
159
- i18n-tasks find 'auth.*
160
- i18n-tasks find '{number,currency}.format.*'
161
- ```
162
-
163
- ![i18n-screenshot](https://raw.github.com/glebm/i18n-tasks/master/doc/img/i18n-usages.png "i18n-tasks find output screenshot")
164
-
165
173
 
166
174
  Configure usage search in `config/i18n-tasks.yml`:
167
175
 
@@ -196,7 +204,7 @@ relative_roots:
196
204
  ```
197
205
 
198
206
  It is also possible to use a custom key usage scanner by setting `search.scanner` to a class name.
199
- See [the default pattern scanner](/lib/i18n/tasks/scanners/pattern_scanner.rb) for reference.
207
+ See this basic [pattern scanner](/lib/i18n/tasks/scanners/pattern_scanner.rb) for reference.
200
208
 
201
209
 
202
210
  ### Fine-tuning
Binary file
data/i18n-tasks.gemspec CHANGED
@@ -24,7 +24,6 @@ Gem::Specification.new do |s|
24
24
  s.test_files = s.files.grep(%r{^(test|spec|features)/})
25
25
  s.require_paths = ['lib']
26
26
 
27
- s.add_dependency 'rake'
28
27
  s.add_dependency 'erubis'
29
28
  s.add_dependency 'activesupport'
30
29
  s.add_dependency 'easy_translate', '>= 0.4.0'
@@ -9,8 +9,8 @@ module I18n::Tasks
9
9
 
10
10
  desc 'show missing translations'
11
11
  opts do
12
- on '-l', :locales=, 'Filter by locale', as: Array, delimiter: /[+:,]/, default: 'all'
13
- on '-t', :types, 'Filter by type (types: missing_from_base, eq_base, missing_from_locale)', as: Array, delimiter: /[+:,]/
12
+ on '-l', :locales=, 'Filter by locale', as: Array, delimiter: /[+:,]/, default: 'all', argument: true, optional: false
13
+ on '-t', :types, 'Filter by type (types: missing_from_base, eq_base, missing_from_locale)', as: Array, delimiter: /[+:,]/, argument: true, optional: false
14
14
  end
15
15
  cmd :missing do |opt = {}|
16
16
  opt[:locales] = locales_opt(opt[:locales])
@@ -24,8 +24,8 @@ module I18n::Tasks
24
24
 
25
25
  desc 'translate missing keys with Google Translate'
26
26
  opts do
27
- on '-l', :locales, 'Only specified locales', as: Array, delimiter: /[+:,]/
28
- on '-f', :from, 'Locale to translate from (default: base)', default: 'base'
27
+ on '-l', :locales, 'Only specified locales', as: Array, delimiter: /[+:,]/, default: 'all', argument: true, optional: false
28
+ on '-f', :from, 'Locale to translate from (default: base)', default: 'base', argument: true, optional: false
29
29
  end
30
30
  cmd :translate_missing do |opt = {}|
31
31
  opt[:from] = base_locale if opt[:from].blank? || opt[:from] == 'base'
@@ -35,8 +35,8 @@ module I18n::Tasks
35
35
 
36
36
  desc 'add missing keys to the locales'
37
37
  opts do
38
- on '-p', :placeholder, 'Value for empty keys (default: base value or key.humanize)'
39
- on '-l', :locales, 'Only for specified locales', as: Array, delimiter: /[+:,]/
38
+ on '-p', :placeholder, 'Value for empty keys (default: base value or key.humanize)', argument: true, optional: false
39
+ on '-l', :locales, 'Only for specified locales', as: Array, delimiter: /[+:,]/, default: 'all', argument: true, optional: false
40
40
  end
41
41
  cmd :add_missing do |opt = {}|
42
42
  opt[:locales] = locales_opt(opt[:locale] || opt[:locales])
@@ -63,7 +63,7 @@ module I18n::Tasks
63
63
 
64
64
  desc 'normalize translation data: sort and move to the right files'
65
65
  opts do
66
- on '-l', :locales=, 'Only for specified locales', as: Array, delimiter: /[+:,]/
66
+ on '-l', :locales=, 'Only for specified locales', as: Array, delimiter: /[+:,]/, default: 'all', argument: true, optional: false
67
67
  end
68
68
  cmd :normalize do |opt = {}|
69
69
  i18n_task.normalize_store! locales_opt(opt[:locales])
@@ -71,7 +71,7 @@ module I18n::Tasks
71
71
 
72
72
  desc 'remove unused keys'
73
73
  opts do
74
- on '-l', :locales=, 'Only for specified locales', as: Array, delimiter: /[+:,]/
74
+ on '-l', :locales=, 'Only for specified locales', as: Array, delimiter: /[+:,]/, default: 'all', argument: true, optional: false
75
75
  end
76
76
  cmd :remove_unused do |opt = {}|
77
77
  locales = locales_opt opt[:locales]
@@ -43,8 +43,6 @@ module I18n::Tasks
43
43
  self.class.cmds.try(:[], name).try(:desc)
44
44
  end
45
45
 
46
- protected
47
-
48
46
  def i18n_task
49
47
  @i18n_task ||= I18n::Tasks::BaseTask.new
50
48
  end
@@ -6,11 +6,11 @@ module I18n::Tasks
6
6
  locales = non_base_locales(opts[:locales])
7
7
  type = opts[:type]
8
8
  unless type
9
- types = opts[:types] || missing_keys_types
9
+ types = opts[:types].presence || missing_keys_types
10
10
  opts = opts.except(:types).merge(locales: locales)
11
11
  return types.map { |t| missing_keys(opts.merge(type: t)) }.reduce(:+)
12
12
  end
13
- if type == :missing_from_base
13
+ if type.to_s == 'missing_from_base'
14
14
  keys_missing_from_base
15
15
  else
16
16
  locales.map { |locale| send("keys_#{type}", locale) }.reduce(:+) || KeyGroup.new([])
@@ -57,6 +57,7 @@ module I18n
57
57
 
58
58
  def unused_keys(keys = task.unused_keys)
59
59
  print_title unused_title(keys)
60
+ keys.sort_by_attr!(key: :asc)
60
61
  if keys.present?
61
62
  print_table headings: [bold(magenta('i18n Key')), bold(cyan("Base value (#{base_locale})"))] do |t|
62
63
  t.rows = keys.map { |k| [magenta(k.key), cyan(k.value)] }
@@ -1,5 +1,5 @@
1
1
  module I18n
2
2
  module Tasks
3
- VERSION = '0.3.0.rc1'
3
+ VERSION = '0.3.0'
4
4
  end
5
5
  end
@@ -1,3 +1,6 @@
1
+ base_locale: en
2
+ locales: [es]
3
+
1
4
  # i18n data storage
2
5
  data:
3
6
  # The default file adapter supports YAML and JSON files. You can provide a class name here.
@@ -1,12 +1,19 @@
1
1
  # coding: utf-8
2
2
  require 'spec_helper'
3
+ require 'i18n/tasks/commands'
3
4
  require 'fileutils'
4
5
 
5
- describe 'rake i18n' do
6
+ describe 'i18n-tasks' do
7
+ def run_cmd(name, *args, &block)
8
+ TestCodebase.in_test_app_dir do
9
+ capture_stdout { ::I18n::Tasks::Commands.new.send(name, *args, &block) }
10
+ end
11
+ end
12
+
6
13
  describe 'missing' do
7
14
  it 'detects missing or identical' do
8
15
  capture_stderr do
9
- expect(TestCodebase.rake_result('i18n:missing')).to be_i18n_keys %w(
16
+ expect(run_cmd :missing).to be_i18n_keys %w(
10
17
  en.used_but_missing.a en.relative.index.missing
11
18
  es.missing_in_es.a es.blank_in_es.a es.same_in_es.a
12
19
  en.hash.pattern_missing.a en.hash.pattern_missing.b
@@ -16,16 +23,16 @@ describe 'rake i18n' do
16
23
  end
17
24
  end
18
25
 
26
+ let(:expected_unused_keys) { %w(unused.a unused.numeric unused.plural) }
19
27
  describe 'unused' do
20
- let(:expected_unused_keys) { %w(unused.a unused.numeric unused.plural) }
21
-
22
28
  it 'detects unused' do
23
29
  capture_stderr do
24
- out = TestCodebase.rake_result('i18n:unused')
25
- expect(out).to be_i18n_keys expected_unused_keys
30
+ expect(run_cmd :unused).to be_i18n_keys expected_unused_keys
26
31
  end
27
32
  end
33
+ end
28
34
 
35
+ describe 'remove_unused' do
29
36
  it 'removes unused' do
30
37
  TestCodebase.in_test_app_dir do
31
38
  t = I18n::Tasks::BaseTask.new
@@ -35,7 +42,7 @@ describe 'rake i18n' do
35
42
  end
36
43
  ENV['CONFIRM'] = '1'
37
44
  capture_stderr {
38
- TestCodebase.rake_result('i18n:remove_unused')
45
+ run_cmd :remove_unused
39
46
  }
40
47
  t.data.reload
41
48
  expected_unused_keys.each do |key|
@@ -50,16 +57,16 @@ describe 'rake i18n' do
50
57
  it 'moves keys to the corresponding files as per data.write' do
51
58
  TestCodebase.in_test_app_dir {
52
59
  expect(File).to_not exist 'config/locales/devise.en.yml'
53
- TestCodebase.rake_result('i18n:normalize')
60
+ run_cmd :normalize
54
61
  expect(YAML.load_file('config/locales/devise.en.yml')['en']['devise']['a']).to eq 'EN_TEXT'
55
62
  }
56
63
  end
57
64
  end
58
65
 
59
- describe 'spreadsheet report' do
66
+ describe 'xlsx_report' do
60
67
  it 'saves' do
61
68
  TestCodebase.in_test_app_dir {
62
- capture_stderr { TestCodebase.rake_result('i18n:spreadsheet_report') }
69
+ capture_stderr { run_cmd :xlsx_report }
63
70
  expect(File).to exist 'tmp/i18n-report.xlsx'
64
71
  FileUtils.cp('tmp/i18n-report.xlsx', '..')
65
72
  }
@@ -68,21 +75,21 @@ describe 'rake i18n' do
68
75
  end
69
76
 
70
77
  describe 'add_missing' do
71
- it 'placeholder' do
78
+ it 'default placeholder' do
72
79
  TestCodebase.in_test_app_dir {
73
80
  expect(YAML.load_file('config/locales/en.yml')['en']['used_but_missing']).to be_nil
74
81
  }
75
- TestCodebase.rake_result('i18n:add_missing:placeholder', 'base')
82
+ run_cmd :add_missing, locales: 'base'
76
83
  TestCodebase.in_test_app_dir {
77
84
  expect(YAML.load_file('config/locales/en.yml')['en']['used_but_missing']['a']).to eq 'A'
78
85
  }
79
86
  end
80
87
 
81
- it 'placeholder[VALUE]' do
88
+ it 'placeholder: value' do
82
89
  TestCodebase.in_test_app_dir {
83
90
  expect(YAML.load_file('config/locales/es.yml')['es']['missing_in_es']).to be_nil
84
91
  }
85
- TestCodebase.rake_result('i18n:add_missing:placeholder', 'all', 'TRME')
92
+ run_cmd :add_missing, locales: 'all', placeholder: 'TRME'
86
93
  TestCodebase.in_test_app_dir {
87
94
  expect(YAML.load_file('config/locales/es.yml')['es']['missing_in_es']['a']).to eq 'TRME'
88
95
  # does not touch existing, but moves to the right file:
@@ -91,18 +98,18 @@ describe 'rake i18n' do
91
98
  end
92
99
  end
93
100
 
94
- describe 'tasks_config' do
101
+ describe 'config' do
95
102
  it 'prints config' do
96
- expect(YAML.load(TestCodebase.rake_result('i18n:tasks_config'))).to(
103
+ expect(YAML.load(run_cmd :config)).to(
97
104
  eq TestCodebase.in_test_app_dir { I18n::Tasks::BaseTask.new.config_for_inspect }
98
105
  )
99
106
  end
100
107
  end
101
108
 
102
- describe 'usages' do
109
+ describe 'find' do
103
110
  it 'prints usages' do
104
111
  capture_stderr do
105
- expect(TestCodebase.rake_result('i18n:usages', 'used.*')).to eq(<<-TXT)
112
+ expect(run_cmd :find, arguments: ['used.*']).to eq(<<-TXT)
106
113
  used.a 2
107
114
  app/views/usages.html.slim:1 p = t 'used.a'
108
115
  app/views/usages.html.slim:2 b = t 'used.a'
data/spec/spec_helper.rb CHANGED
@@ -11,9 +11,6 @@ $: << File.expand_path('../lib', __FILE__)
11
11
  require 'i18n/tasks'
12
12
  require 'rake'
13
13
 
14
- Rake.load_rakefile 'tasks/i18n-tasks.rake'
15
- Rake.load_rakefile 'support/test_codebase_env.rake'
16
-
17
14
  require 'term/ansicolor'
18
15
  Term::ANSIColor::coloring = false
19
16
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: i18n-tasks
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0.rc1
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - glebm
@@ -10,20 +10,6 @@ bindir: bin
10
10
  cert_chain: []
11
11
  date: 2014-02-27 00:00:00.000000000 Z
12
12
  dependencies:
13
- - !ruby/object:Gem::Dependency
14
- name: rake
15
- requirement: !ruby/object:Gem::Requirement
16
- requirements:
17
- - - '>='
18
- - !ruby/object:Gem::Version
19
- version: '0'
20
- type: :runtime
21
- prerelease: false
22
- version_requirements: !ruby/object:Gem::Requirement
23
- requirements:
24
- - - '>='
25
- - !ruby/object:Gem::Version
26
- version: '0'
27
13
  - !ruby/object:Gem::Dependency
28
14
  name: erubis
29
15
  requirement: !ruby/object:Gem::Requirement
@@ -212,6 +198,7 @@ files:
212
198
  - README.md
213
199
  - Rakefile
214
200
  - bin/i18n-tasks
201
+ - doc/img/i18n-tasks.png
215
202
  - i18n-tasks.gemspec
216
203
  - lib/i18n/tasks.rb
217
204
  - lib/i18n/tasks/base_task.rb
@@ -235,7 +222,6 @@ files:
235
222
  - lib/i18n/tasks/key_pattern_matching.rb
236
223
  - lib/i18n/tasks/missing_keys.rb
237
224
  - lib/i18n/tasks/plural_keys.rb
238
- - lib/i18n/tasks/railtie.rb
239
225
  - lib/i18n/tasks/relative_keys.rb
240
226
  - lib/i18n/tasks/reports/base.rb
241
227
  - lib/i18n/tasks/reports/spreadsheet.rb
@@ -247,7 +233,6 @@ files:
247
233
  - lib/i18n/tasks/unused_keys.rb
248
234
  - lib/i18n/tasks/used_keys.rb
249
235
  - lib/i18n/tasks/version.rb
250
- - lib/tasks/i18n-tasks.rake
251
236
  - spec/file_system_data_spec.rb
252
237
  - spec/fixtures/app/assets/javascripts/application.js
253
238
  - spec/fixtures/app/controllers/events_controller.rb
@@ -268,7 +253,6 @@ files:
268
253
  - spec/support/i18n_tasks_output_matcher.rb
269
254
  - spec/support/key_pattern_matcher.rb
270
255
  - spec/support/test_codebase.rb
271
- - spec/support/test_codebase_env.rake
272
256
  - spec/used_keys_spec.rb
273
257
  homepage: https://github.com/glebm/i18n-tasks
274
258
  licenses:
@@ -286,9 +270,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
286
270
  version: '0'
287
271
  required_rubygems_version: !ruby/object:Gem::Requirement
288
272
  requirements:
289
- - - '>'
273
+ - - '>='
290
274
  - !ruby/object:Gem::Version
291
- version: 1.3.1
275
+ version: '0'
292
276
  requirements: []
293
277
  rubyforge_project:
294
278
  rubygems_version: 2.0.14
@@ -317,6 +301,5 @@ test_files:
317
301
  - spec/support/i18n_tasks_output_matcher.rb
318
302
  - spec/support/key_pattern_matcher.rb
319
303
  - spec/support/test_codebase.rb
320
- - spec/support/test_codebase_env.rake
321
304
  - spec/used_keys_spec.rb
322
305
  has_rdoc:
@@ -1,12 +0,0 @@
1
- module I18n
2
- module Tasks
3
- class Railtie < ::Rails::Railtie
4
- rake_tasks do
5
- load 'tasks/i18n-tasks.rake'
6
- namespace :i18n do
7
- task :setup => 'environment'
8
- end
9
- end
10
- end
11
- end
12
- end
@@ -1,79 +0,0 @@
1
- require 'i18n/tasks'
2
- require 'i18n/tasks/commands'
3
-
4
- cmd = I18n::Tasks::Commands.new
5
-
6
- namespace :i18n do
7
- task :setup do
8
- end
9
-
10
- desc cmd.desc :missing
11
- task :missing, [:locales] => 'i18n:setup' do |t, args|
12
- cmd.missing locales: args[:locales]
13
- end
14
-
15
- namespace :missing do
16
- desc 'keys present in code but not existing in base locale data'
17
- task :missing_from_base => 'i18n:setup' do
18
- cmd.missing type: :missing_from_base
19
- end
20
-
21
- desc 'keys present but with value same as in base locale'
22
- task :eq_base, [:locales] => 'i18n:setup' do |t, args|
23
- cmd.missing type: :eq_base, locales: args[:locales]
24
- end
25
-
26
- desc 'keys that exist in base locale but are blank in passed locales'
27
- task :missing_from_locale, [:locales] => 'i18n:setup' do |t, args|
28
- cmd.missing type: :missing_from_locale, locales: args[:locales]
29
- end
30
- end
31
-
32
- desc cmd.desc :show_unused
33
- task :unused => 'i18n:setup' do
34
- cmd.unused
35
- end
36
-
37
- desc cmd.desc :remove_unused
38
- task :remove_unused, [:locales] => 'i18n:setup' do |t, args|
39
- cmd.remove_unused
40
- end
41
-
42
- desc cmd.desc :usages
43
- task :usages, [:filter] => 'i18n:setup' do |t, args|
44
- cmd.find filter: args[:filter]
45
- end
46
-
47
- desc cmd.desc :normalize
48
- task :normalize, [:locales] => 'i18n:setup' do |t, args|
49
- cmd.normalize locales: args[:locales]
50
- end
51
-
52
- namespace :add_missing do
53
- desc 'add Google Translated values for untranslated keys to locales (default: all non-base)'
54
- task :translate, [:locales] => 'i18n:setup' do |t, args|
55
- cmd.translate locales: args[:locales]
56
- end
57
-
58
- desc 'copy base locale values for all untranslated keys to locales (default: all non-base)'
59
- task :placeholder, [:locales, :placeholder] => 'i18n:setup' do |t, args|
60
- cmd.add_missing locale: args[:locales], placeholder: args[:placeholder]
61
- end
62
-
63
- desc 'add values for missing and untranslated keys to locales (default: all)'
64
- task :empty_string, [:locales] => 'i18n:setup' do |t, args|
65
- cmd.add_missing locales: args[:locales], placeholder: ''
66
- end
67
- end
68
-
69
- desc cmd.desc(:config)
70
- task :tasks_config => 'i18n:setup' do
71
- cmd.config
72
- end
73
-
74
- desc cmd.desc :save_spreadsheet
75
- task :spreadsheet_report, [:path] => 'i18n:setup' do |t, args|
76
- cmd.xlsx_report path: args[:path]
77
- end
78
- end
79
-
@@ -1,10 +0,0 @@
1
- task :environment do
2
- Thread.exclusive do
3
- I18n.default_locale = 'en'
4
- I18n.available_locales = %w(en es)
5
- end
6
- end
7
-
8
- namespace :i18n do
9
- task :setup => 'environment'
10
- end