i18n-js 3.9.2 → 4.0.0.alpha1

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 (135) hide show
  1. checksums.yaml +4 -4
  2. data/.github/CODEOWNERS +4 -0
  3. data/.github/FUNDING.yml +1 -1
  4. data/.github/ISSUE_TEMPLATE/bug_report.md +41 -0
  5. data/.github/ISSUE_TEMPLATE/feature_request.md +23 -0
  6. data/.github/PULL_REQUEST_TEMPLATE.md +38 -0
  7. data/.github/dependabot.yml +15 -0
  8. data/.github/workflows/ruby-tests.yml +61 -0
  9. data/.gitignore +11 -7
  10. data/.rubocop.yml +12 -0
  11. data/CHANGELOG.md +12 -571
  12. data/CODE_OF_CONDUCT.md +74 -0
  13. data/CONTRIBUTING.md +79 -0
  14. data/Gemfile +3 -0
  15. data/LICENSE.md +20 -0
  16. data/README.md +86 -1043
  17. data/Rakefile +10 -20
  18. data/exe/i18n +5 -0
  19. data/i18n-js.gemspec +47 -29
  20. data/lib/guard/i18n-js/templates/Guardfile +10 -0
  21. data/lib/guard/i18n-js/version.rb +13 -0
  22. data/lib/guard/i18n-js.rb +78 -0
  23. data/lib/i18n-js/cli/command.rb +43 -0
  24. data/lib/i18n-js/cli/export_command.rb +108 -0
  25. data/lib/i18n-js/cli/init_command.rb +50 -0
  26. data/lib/i18n-js/cli/ui.rb +30 -0
  27. data/lib/i18n-js/cli/version_command.rb +18 -0
  28. data/lib/i18n-js/cli.rb +47 -0
  29. data/lib/i18n-js/listen.rb +80 -0
  30. data/lib/i18n-js/schema.rb +92 -0
  31. data/lib/i18n-js/version.rb +5 -0
  32. data/lib/i18n-js.rb +66 -1
  33. metadata +125 -201
  34. data/.editorconfig +0 -24
  35. data/.github/workflows/tests.yaml +0 -106
  36. data/.npmignore +0 -27
  37. data/Appraisals +0 -52
  38. data/app/assets/javascripts/i18n/filtered.js.erb +0 -23
  39. data/app/assets/javascripts/i18n/shims.js +0 -240
  40. data/app/assets/javascripts/i18n/translations.js +0 -3
  41. data/app/assets/javascripts/i18n.js +0 -1095
  42. data/gemfiles/i18n_0_6.gemfile +0 -7
  43. data/gemfiles/i18n_0_7.gemfile +0 -7
  44. data/gemfiles/i18n_0_8.gemfile +0 -7
  45. data/gemfiles/i18n_0_9.gemfile +0 -7
  46. data/gemfiles/i18n_1_0.gemfile +0 -7
  47. data/gemfiles/i18n_1_1.gemfile +0 -7
  48. data/gemfiles/i18n_1_10.gemfile +0 -7
  49. data/gemfiles/i18n_1_2.gemfile +0 -7
  50. data/gemfiles/i18n_1_3.gemfile +0 -7
  51. data/gemfiles/i18n_1_4.gemfile +0 -7
  52. data/gemfiles/i18n_1_5.gemfile +0 -7
  53. data/gemfiles/i18n_1_6.gemfile +0 -7
  54. data/gemfiles/i18n_1_7.gemfile +0 -7
  55. data/gemfiles/i18n_1_8.gemfile +0 -7
  56. data/gemfiles/i18n_1_9.gemfile +0 -7
  57. data/i18njs.png +0 -0
  58. data/lib/i18n/js/dependencies.rb +0 -67
  59. data/lib/i18n/js/engine.rb +0 -87
  60. data/lib/i18n/js/fallback_locales.rb +0 -70
  61. data/lib/i18n/js/formatters/base.rb +0 -25
  62. data/lib/i18n/js/formatters/js.rb +0 -39
  63. data/lib/i18n/js/formatters/json.rb +0 -13
  64. data/lib/i18n/js/middleware.rb +0 -82
  65. data/lib/i18n/js/private/config_store.rb +0 -31
  66. data/lib/i18n/js/private/hash_with_symbol_keys.rb +0 -36
  67. data/lib/i18n/js/segment.rb +0 -81
  68. data/lib/i18n/js/utils.rb +0 -91
  69. data/lib/i18n/js/version.rb +0 -7
  70. data/lib/i18n/js.rb +0 -274
  71. data/lib/rails/generators/i18n/js/config/config_generator.rb +0 -19
  72. data/lib/rails/generators/i18n/js/config/templates/i18n-js.yml +0 -27
  73. data/lib/tasks/export.rake +0 -8
  74. data/package.json +0 -25
  75. data/spec/fixtures/custom_path.yml +0 -5
  76. data/spec/fixtures/default.yml +0 -5
  77. data/spec/fixtures/erb.yml +0 -5
  78. data/spec/fixtures/except_condition.yml +0 -7
  79. data/spec/fixtures/js_available_locales_custom.yml +0 -1
  80. data/spec/fixtures/js_export_dir_custom.yml +0 -7
  81. data/spec/fixtures/js_export_dir_none.yml +0 -6
  82. data/spec/fixtures/js_extend_parent.yml +0 -6
  83. data/spec/fixtures/js_extend_segment.yml +0 -6
  84. data/spec/fixtures/js_file_per_locale.yml +0 -7
  85. data/spec/fixtures/js_file_per_locale_with_fallbacks_as_default_locale_symbol.yml +0 -4
  86. data/spec/fixtures/js_file_per_locale_with_fallbacks_as_hash.yml +0 -6
  87. data/spec/fixtures/js_file_per_locale_with_fallbacks_as_locale.yml +0 -4
  88. data/spec/fixtures/js_file_per_locale_with_fallbacks_as_locale_without_fallback_translations.yml +0 -4
  89. data/spec/fixtures/js_file_per_locale_with_fallbacks_enabled.yml +0 -4
  90. data/spec/fixtures/js_file_per_locale_without_fallbacks.yml +0 -4
  91. data/spec/fixtures/js_file_with_namespace_prefix_and_pretty_print.yml +0 -9
  92. data/spec/fixtures/js_sort_translation_keys_false.yml +0 -6
  93. data/spec/fixtures/js_sort_translation_keys_true.yml +0 -6
  94. data/spec/fixtures/json_only.yml +0 -18
  95. data/spec/fixtures/locales.yml +0 -133
  96. data/spec/fixtures/merge_plurals.yml +0 -6
  97. data/spec/fixtures/merge_plurals_with_no_overrides.yml +0 -4
  98. data/spec/fixtures/merge_plurals_with_partial_overrides.yml +0 -4
  99. data/spec/fixtures/millions.yml +0 -4
  100. data/spec/fixtures/multiple_conditions.yml +0 -7
  101. data/spec/fixtures/multiple_conditions_per_locale.yml +0 -7
  102. data/spec/fixtures/multiple_files.yml +0 -7
  103. data/spec/fixtures/no_config.yml +0 -2
  104. data/spec/fixtures/no_scope.yml +0 -4
  105. data/spec/fixtures/simple_scope.yml +0 -5
  106. data/spec/js/currency.spec.js +0 -62
  107. data/spec/js/current_locale.spec.js +0 -19
  108. data/spec/js/dates.spec.js +0 -276
  109. data/spec/js/defaults.spec.js +0 -31
  110. data/spec/js/extend.spec.js +0 -110
  111. data/spec/js/interpolation.spec.js +0 -124
  112. data/spec/js/jasmine/MIT.LICENSE +0 -20
  113. data/spec/js/jasmine/jasmine-html.js +0 -190
  114. data/spec/js/jasmine/jasmine.css +0 -166
  115. data/spec/js/jasmine/jasmine.js +0 -2476
  116. data/spec/js/jasmine/jasmine_favicon.png +0 -0
  117. data/spec/js/json_parsable.spec.js +0 -14
  118. data/spec/js/locales.spec.js +0 -31
  119. data/spec/js/localization.spec.js +0 -78
  120. data/spec/js/numbers.spec.js +0 -174
  121. data/spec/js/placeholder.spec.js +0 -24
  122. data/spec/js/pluralization.spec.js +0 -228
  123. data/spec/js/prepare_options.spec.js +0 -41
  124. data/spec/js/require.js +0 -2083
  125. data/spec/js/specs.html +0 -49
  126. data/spec/js/specs_requirejs.html +0 -72
  127. data/spec/js/translate.spec.js +0 -304
  128. data/spec/js/translations.js +0 -188
  129. data/spec/js/utility_functions.spec.js +0 -20
  130. data/spec/ruby/i18n/js/fallback_locales_spec.rb +0 -84
  131. data/spec/ruby/i18n/js/segment_spec.rb +0 -286
  132. data/spec/ruby/i18n/js/utils_spec.rb +0 -138
  133. data/spec/ruby/i18n/js_spec.rb +0 -797
  134. data/spec/spec_helper.rb +0 -80
  135. data/yarn.lock +0 -138
@@ -0,0 +1,92 @@
1
+ # frozen_string_literal: true
2
+
3
+ module I18nJS
4
+ class Schema
5
+ InvalidError = Class.new(StandardError)
6
+
7
+ ROOT_KEYS = %i[translations].freeze
8
+ REQUIRED_ROOT_KEYS = %i[translations].freeze
9
+ REQUIRED_TRANSLATION_KEYS = %i[file patterns].freeze
10
+ TRANSLATION_KEYS = %i[file patterns].freeze
11
+
12
+ def self.validate!(target)
13
+ new(target).validate!
14
+ end
15
+
16
+ attr_reader :target
17
+
18
+ def initialize(target)
19
+ @target = target
20
+ end
21
+
22
+ def validate!
23
+ expect_type(:root, target, Hash, target)
24
+
25
+ expect_required_keys(REQUIRED_ROOT_KEYS, target)
26
+ reject_extraneous_keys(ROOT_KEYS, target)
27
+ validate_translations
28
+ end
29
+
30
+ def validate_translations
31
+ translations = target[:translations]
32
+
33
+ expect_type(:translations, translations, Array, target)
34
+ expect_array_with_items(:translations, translations)
35
+
36
+ translations.each do |translation|
37
+ validate_translation(translation)
38
+ end
39
+ end
40
+
41
+ def validate_translation(translation)
42
+ expect_required_keys(REQUIRED_TRANSLATION_KEYS, translation)
43
+ reject_extraneous_keys(TRANSLATION_KEYS, translation)
44
+ expect_type(:file, translation[:file], String, translation)
45
+ expect_type(:patterns, translation[:patterns], Array, translation)
46
+ expect_array_with_items(:patterns, translation[:patterns], translation)
47
+ end
48
+
49
+ def reject(error_message, node = nil)
50
+ node_json = "\n#{JSON.pretty_generate(node)}" if node
51
+ raise InvalidError, "#{error_message}#{node_json}"
52
+ end
53
+
54
+ def expect_type(attribute, value, expected_type, payload)
55
+ return if value.is_a?(expected_type)
56
+
57
+ actual_type = value.class
58
+
59
+ message = [
60
+ "Expected #{attribute.inspect} to be #{expected_type};",
61
+ "got #{actual_type} instead"
62
+ ].join(" ")
63
+
64
+ reject message, payload
65
+ end
66
+
67
+ def expect_array_with_items(attribute, value, payload = value)
68
+ return unless value.empty?
69
+
70
+ reject "Expected #{attribute.inspect} to have at least one item", payload
71
+ end
72
+
73
+ def expect_required_keys(required_keys, value)
74
+ keys = value.keys.map(&:to_sym)
75
+
76
+ required_keys.each do |key|
77
+ next if keys.include?(key)
78
+
79
+ reject "Expected #{key.inspect} to be defined", value
80
+ end
81
+ end
82
+
83
+ def reject_extraneous_keys(allowed_keys, value)
84
+ keys = value.keys.map(&:to_sym)
85
+ extraneous = keys - allowed_keys
86
+
87
+ return if extraneous.empty?
88
+
89
+ reject "Unexpected keys: #{extraneous.join(', ')}", value
90
+ end
91
+ end
92
+ end
@@ -0,0 +1,5 @@
1
+ # frozen_string_literal: true
2
+
3
+ module I18nJS
4
+ VERSION = "4.0.0.alpha1"
5
+ end
data/lib/i18n-js.rb CHANGED
@@ -1 +1,66 @@
1
- require "i18n/js"
1
+ # frozen_string_literal: true
2
+
3
+ require "i18n"
4
+ require "json"
5
+ require "yaml"
6
+ require "glob"
7
+ require "fileutils"
8
+ require "optparse"
9
+
10
+ require_relative "./i18n-js/cli"
11
+ require_relative "./i18n-js/cli/command"
12
+ require_relative "./i18n-js/cli/ui"
13
+ require_relative "./i18n-js/cli/init_command"
14
+ require_relative "./i18n-js/cli/version_command"
15
+ require_relative "./i18n-js/cli/export_command"
16
+ require_relative "./i18n-js/schema"
17
+ require_relative "./i18n-js/version"
18
+
19
+ module I18nJS
20
+ MissingConfigError = Class.new(StandardError)
21
+
22
+ def self.call(config_file: nil, config: nil)
23
+ if !config_file && !config
24
+ raise MissingConfigError,
25
+ "you must set either `config_file` or `config`"
26
+ end
27
+
28
+ config = Glob::SymbolizeKeys.call(config || YAML.load_file(config_file))
29
+ Schema.validate!(config)
30
+
31
+ config[:translations].each do |group|
32
+ export_group(group)
33
+ end
34
+ end
35
+
36
+ def self.export_group(group)
37
+ filtered_translations = Glob.filter(translations, group[:patterns])
38
+ output_file_path = File.expand_path(group[:file])
39
+
40
+ if output_file_path.include?(":locale")
41
+ filtered_translations.each_key do |locale|
42
+ locale_file_path = output_file_path.gsub(/:locale/, locale.to_s)
43
+ write_file(locale_file_path, locale => filtered_translations[locale])
44
+ end
45
+ else
46
+ write_file(output_file_path, filtered_translations)
47
+ end
48
+ end
49
+
50
+ def self.write_file(file_path, translations)
51
+ FileUtils.mkdir_p(File.dirname(file_path))
52
+
53
+ File.open(file_path, "w") do |file|
54
+ file << ::JSON.pretty_generate(translations)
55
+ end
56
+ end
57
+
58
+ def self.translations
59
+ ::I18n.backend.instance_eval do
60
+ has_been_initialized_before =
61
+ respond_to?(:initialized?, true) && initialized?
62
+ init_translations unless has_been_initialized_before
63
+ translations
64
+ end
65
+ end
66
+ end
metadata CHANGED
@@ -1,221 +1,205 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: i18n-js
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.9.2
4
+ version: 4.0.0.alpha1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Nando Vieira
8
- autorequire:
9
- bindir: bin
8
+ autorequire:
9
+ bindir: exe
10
10
  cert_chain: []
11
- date: 2022-03-31 00:00:00.000000000 Z
11
+ date: 2021-05-24 00:00:00.000000000 Z
12
12
  dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: glob
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'
13
27
  - !ruby/object:Gem::Dependency
14
28
  name: i18n
15
29
  requirement: !ruby/object:Gem::Requirement
16
30
  requirements:
17
31
  - - ">="
18
32
  - !ruby/object:Gem::Version
19
- version: 0.6.6
33
+ version: '0'
20
34
  type: :runtime
21
35
  prerelease: false
22
36
  version_requirements: !ruby/object:Gem::Requirement
23
37
  requirements:
24
38
  - - ">="
25
39
  - !ruby/object:Gem::Version
26
- version: 0.6.6
40
+ version: '0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: activesupport
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
27
55
  - !ruby/object:Gem::Dependency
28
- name: appraisal
56
+ name: minitest
29
57
  requirement: !ruby/object:Gem::Requirement
30
58
  requirements:
31
- - - "~>"
59
+ - - ">="
32
60
  - !ruby/object:Gem::Version
33
- version: '2.3'
61
+ version: '0'
34
62
  type: :development
35
63
  prerelease: false
36
64
  version_requirements: !ruby/object:Gem::Requirement
37
65
  requirements:
38
- - - "~>"
66
+ - - ">="
39
67
  - !ruby/object:Gem::Version
40
- version: '2.3'
68
+ version: '0'
41
69
  - !ruby/object:Gem::Dependency
42
- name: rspec
70
+ name: minitest-utils
43
71
  requirement: !ruby/object:Gem::Requirement
44
72
  requirements:
45
- - - "~>"
73
+ - - ">="
46
74
  - !ruby/object:Gem::Version
47
- version: '3.0'
75
+ version: '0'
48
76
  type: :development
49
77
  prerelease: false
50
78
  version_requirements: !ruby/object:Gem::Requirement
51
79
  requirements:
52
- - - "~>"
80
+ - - ">="
53
81
  - !ruby/object:Gem::Version
54
- version: '3.0'
82
+ version: '0'
83
+ - !ruby/object:Gem::Dependency
84
+ name: pry-meta
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - ">="
88
+ - !ruby/object:Gem::Version
89
+ version: '0'
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - ">="
95
+ - !ruby/object:Gem::Version
96
+ version: '0'
55
97
  - !ruby/object:Gem::Dependency
56
98
  name: rake
57
99
  requirement: !ruby/object:Gem::Requirement
58
100
  requirements:
59
- - - "~>"
101
+ - - ">="
60
102
  - !ruby/object:Gem::Version
61
- version: '12.0'
103
+ version: '0'
62
104
  type: :development
63
105
  prerelease: false
64
106
  version_requirements: !ruby/object:Gem::Requirement
65
107
  requirements:
66
- - - "~>"
108
+ - - ">="
67
109
  - !ruby/object:Gem::Version
68
- version: '12.0'
110
+ version: '0'
69
111
  - !ruby/object:Gem::Dependency
70
- name: gem-release
112
+ name: rubocop
71
113
  requirement: !ruby/object:Gem::Requirement
72
114
  requirements:
73
115
  - - ">="
74
116
  - !ruby/object:Gem::Version
75
- version: '0.7'
117
+ version: '0'
76
118
  type: :development
77
119
  prerelease: false
78
120
  version_requirements: !ruby/object:Gem::Requirement
79
121
  requirements:
80
122
  - - ">="
81
123
  - !ruby/object:Gem::Version
82
- version: '0.7'
124
+ version: '0'
83
125
  - !ruby/object:Gem::Dependency
84
- name: coveralls
126
+ name: rubocop-fnando
85
127
  requirement: !ruby/object:Gem::Requirement
86
128
  requirements:
87
129
  - - ">="
88
130
  - !ruby/object:Gem::Version
89
- version: '0.7'
131
+ version: '0'
90
132
  type: :development
91
133
  prerelease: false
92
134
  version_requirements: !ruby/object:Gem::Requirement
93
135
  requirements:
94
136
  - - ">="
95
137
  - !ruby/object:Gem::Version
96
- version: '0.7'
97
- description: It's a small library to provide the Rails I18n translations on the Javascript.
138
+ version: '0'
139
+ - !ruby/object:Gem::Dependency
140
+ name: simplecov
141
+ requirement: !ruby/object:Gem::Requirement
142
+ requirements:
143
+ - - ">="
144
+ - !ruby/object:Gem::Version
145
+ version: '0'
146
+ type: :development
147
+ prerelease: false
148
+ version_requirements: !ruby/object:Gem::Requirement
149
+ requirements:
150
+ - - ">="
151
+ - !ruby/object:Gem::Version
152
+ version: '0'
153
+ description: Export i18n translations and use them on JavaScript.
98
154
  email:
99
- - fnando.vieira@gmail.com
100
- executables: []
155
+ - me@fnando.com
156
+ executables:
157
+ - i18n
101
158
  extensions: []
102
159
  extra_rdoc_files: []
103
160
  files:
104
- - ".editorconfig"
161
+ - ".github/CODEOWNERS"
105
162
  - ".github/FUNDING.yml"
106
- - ".github/workflows/tests.yaml"
163
+ - ".github/ISSUE_TEMPLATE/bug_report.md"
164
+ - ".github/ISSUE_TEMPLATE/feature_request.md"
165
+ - ".github/PULL_REQUEST_TEMPLATE.md"
166
+ - ".github/dependabot.yml"
167
+ - ".github/workflows/ruby-tests.yml"
107
168
  - ".gitignore"
108
- - ".npmignore"
109
- - Appraisals
169
+ - ".rubocop.yml"
110
170
  - CHANGELOG.md
171
+ - CODE_OF_CONDUCT.md
172
+ - CONTRIBUTING.md
111
173
  - Gemfile
174
+ - LICENSE.md
112
175
  - README.md
113
176
  - Rakefile
114
- - app/assets/javascripts/i18n.js
115
- - app/assets/javascripts/i18n/filtered.js.erb
116
- - app/assets/javascripts/i18n/shims.js
117
- - app/assets/javascripts/i18n/translations.js
118
- - gemfiles/i18n_0_6.gemfile
119
- - gemfiles/i18n_0_7.gemfile
120
- - gemfiles/i18n_0_8.gemfile
121
- - gemfiles/i18n_0_9.gemfile
122
- - gemfiles/i18n_1_0.gemfile
123
- - gemfiles/i18n_1_1.gemfile
124
- - gemfiles/i18n_1_10.gemfile
125
- - gemfiles/i18n_1_2.gemfile
126
- - gemfiles/i18n_1_3.gemfile
127
- - gemfiles/i18n_1_4.gemfile
128
- - gemfiles/i18n_1_5.gemfile
129
- - gemfiles/i18n_1_6.gemfile
130
- - gemfiles/i18n_1_7.gemfile
131
- - gemfiles/i18n_1_8.gemfile
132
- - gemfiles/i18n_1_9.gemfile
177
+ - exe/i18n
133
178
  - i18n-js.gemspec
134
- - i18njs.png
179
+ - lib/guard/i18n-js.rb
180
+ - lib/guard/i18n-js/templates/Guardfile
181
+ - lib/guard/i18n-js/version.rb
135
182
  - lib/i18n-js.rb
136
- - lib/i18n/js.rb
137
- - lib/i18n/js/dependencies.rb
138
- - lib/i18n/js/engine.rb
139
- - lib/i18n/js/fallback_locales.rb
140
- - lib/i18n/js/formatters/base.rb
141
- - lib/i18n/js/formatters/js.rb
142
- - lib/i18n/js/formatters/json.rb
143
- - lib/i18n/js/middleware.rb
144
- - lib/i18n/js/private/config_store.rb
145
- - lib/i18n/js/private/hash_with_symbol_keys.rb
146
- - lib/i18n/js/segment.rb
147
- - lib/i18n/js/utils.rb
148
- - lib/i18n/js/version.rb
149
- - lib/rails/generators/i18n/js/config/config_generator.rb
150
- - lib/rails/generators/i18n/js/config/templates/i18n-js.yml
151
- - lib/tasks/export.rake
152
- - package.json
153
- - spec/fixtures/custom_path.yml
154
- - spec/fixtures/default.yml
155
- - spec/fixtures/erb.yml
156
- - spec/fixtures/except_condition.yml
157
- - spec/fixtures/js_available_locales_custom.yml
158
- - spec/fixtures/js_export_dir_custom.yml
159
- - spec/fixtures/js_export_dir_none.yml
160
- - spec/fixtures/js_extend_parent.yml
161
- - spec/fixtures/js_extend_segment.yml
162
- - spec/fixtures/js_file_per_locale.yml
163
- - spec/fixtures/js_file_per_locale_with_fallbacks_as_default_locale_symbol.yml
164
- - spec/fixtures/js_file_per_locale_with_fallbacks_as_hash.yml
165
- - spec/fixtures/js_file_per_locale_with_fallbacks_as_locale.yml
166
- - spec/fixtures/js_file_per_locale_with_fallbacks_as_locale_without_fallback_translations.yml
167
- - spec/fixtures/js_file_per_locale_with_fallbacks_enabled.yml
168
- - spec/fixtures/js_file_per_locale_without_fallbacks.yml
169
- - spec/fixtures/js_file_with_namespace_prefix_and_pretty_print.yml
170
- - spec/fixtures/js_sort_translation_keys_false.yml
171
- - spec/fixtures/js_sort_translation_keys_true.yml
172
- - spec/fixtures/json_only.yml
173
- - spec/fixtures/locales.yml
174
- - spec/fixtures/merge_plurals.yml
175
- - spec/fixtures/merge_plurals_with_no_overrides.yml
176
- - spec/fixtures/merge_plurals_with_partial_overrides.yml
177
- - spec/fixtures/millions.yml
178
- - spec/fixtures/multiple_conditions.yml
179
- - spec/fixtures/multiple_conditions_per_locale.yml
180
- - spec/fixtures/multiple_files.yml
181
- - spec/fixtures/no_config.yml
182
- - spec/fixtures/no_scope.yml
183
- - spec/fixtures/simple_scope.yml
184
- - spec/js/currency.spec.js
185
- - spec/js/current_locale.spec.js
186
- - spec/js/dates.spec.js
187
- - spec/js/defaults.spec.js
188
- - spec/js/extend.spec.js
189
- - spec/js/interpolation.spec.js
190
- - spec/js/jasmine/MIT.LICENSE
191
- - spec/js/jasmine/jasmine-html.js
192
- - spec/js/jasmine/jasmine.css
193
- - spec/js/jasmine/jasmine.js
194
- - spec/js/jasmine/jasmine_favicon.png
195
- - spec/js/json_parsable.spec.js
196
- - spec/js/locales.spec.js
197
- - spec/js/localization.spec.js
198
- - spec/js/numbers.spec.js
199
- - spec/js/placeholder.spec.js
200
- - spec/js/pluralization.spec.js
201
- - spec/js/prepare_options.spec.js
202
- - spec/js/require.js
203
- - spec/js/specs.html
204
- - spec/js/specs_requirejs.html
205
- - spec/js/translate.spec.js
206
- - spec/js/translations.js
207
- - spec/js/utility_functions.spec.js
208
- - spec/ruby/i18n/js/fallback_locales_spec.rb
209
- - spec/ruby/i18n/js/segment_spec.rb
210
- - spec/ruby/i18n/js/utils_spec.rb
211
- - spec/ruby/i18n/js_spec.rb
212
- - spec/spec_helper.rb
213
- - yarn.lock
214
- homepage: https://rubygems.org/gems/i18n-js
183
+ - lib/i18n-js/cli.rb
184
+ - lib/i18n-js/cli/command.rb
185
+ - lib/i18n-js/cli/export_command.rb
186
+ - lib/i18n-js/cli/init_command.rb
187
+ - lib/i18n-js/cli/ui.rb
188
+ - lib/i18n-js/cli/version_command.rb
189
+ - lib/i18n-js/listen.rb
190
+ - lib/i18n-js/schema.rb
191
+ - lib/i18n-js/version.rb
192
+ homepage: https://github.com/fnando/i18n-js
215
193
  licenses:
216
194
  - MIT
217
- metadata: {}
218
- post_install_message:
195
+ metadata:
196
+ homepage_uri: https://github.com/fnando/i18n-js
197
+ bug_tracker_uri: https://github.com/fnando/i18n-js/issues
198
+ source_code_uri: https://github.com/fnando/i18n-js/tree/v4.0.0.alpha1
199
+ changelog_uri: https://github.com/fnando/i18n-js/tree/v4.0.0.alpha1/CHANGELOG.md
200
+ documentation_uri: https://github.com/fnando/i18n-js/tree/v4.0.0.alpha1/README.md
201
+ license_uri: https://github.com/fnando/i18n-js/tree/v4.0.0.alpha1/LICENSE.md
202
+ post_install_message:
219
203
  rdoc_options: []
220
204
  require_paths:
221
205
  - lib
@@ -223,75 +207,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
223
207
  requirements:
224
208
  - - ">="
225
209
  - !ruby/object:Gem::Version
226
- version: 2.1.0
210
+ version: 2.6.0
227
211
  required_rubygems_version: !ruby/object:Gem::Requirement
228
212
  requirements:
229
- - - ">="
213
+ - - ">"
230
214
  - !ruby/object:Gem::Version
231
- version: '0'
215
+ version: 1.3.1
232
216
  requirements: []
233
- rubygems_version: 3.3.10
234
- signing_key:
217
+ rubygems_version: 3.2.15
218
+ signing_key:
235
219
  specification_version: 4
236
- summary: It's a small library to provide the Rails I18n translations on the Javascript.
237
- test_files:
238
- - spec/fixtures/custom_path.yml
239
- - spec/fixtures/default.yml
240
- - spec/fixtures/erb.yml
241
- - spec/fixtures/except_condition.yml
242
- - spec/fixtures/js_available_locales_custom.yml
243
- - spec/fixtures/js_export_dir_custom.yml
244
- - spec/fixtures/js_export_dir_none.yml
245
- - spec/fixtures/js_extend_parent.yml
246
- - spec/fixtures/js_extend_segment.yml
247
- - spec/fixtures/js_file_per_locale.yml
248
- - spec/fixtures/js_file_per_locale_with_fallbacks_as_default_locale_symbol.yml
249
- - spec/fixtures/js_file_per_locale_with_fallbacks_as_hash.yml
250
- - spec/fixtures/js_file_per_locale_with_fallbacks_as_locale.yml
251
- - spec/fixtures/js_file_per_locale_with_fallbacks_as_locale_without_fallback_translations.yml
252
- - spec/fixtures/js_file_per_locale_with_fallbacks_enabled.yml
253
- - spec/fixtures/js_file_per_locale_without_fallbacks.yml
254
- - spec/fixtures/js_file_with_namespace_prefix_and_pretty_print.yml
255
- - spec/fixtures/js_sort_translation_keys_false.yml
256
- - spec/fixtures/js_sort_translation_keys_true.yml
257
- - spec/fixtures/json_only.yml
258
- - spec/fixtures/locales.yml
259
- - spec/fixtures/merge_plurals.yml
260
- - spec/fixtures/merge_plurals_with_no_overrides.yml
261
- - spec/fixtures/merge_plurals_with_partial_overrides.yml
262
- - spec/fixtures/millions.yml
263
- - spec/fixtures/multiple_conditions.yml
264
- - spec/fixtures/multiple_conditions_per_locale.yml
265
- - spec/fixtures/multiple_files.yml
266
- - spec/fixtures/no_config.yml
267
- - spec/fixtures/no_scope.yml
268
- - spec/fixtures/simple_scope.yml
269
- - spec/js/currency.spec.js
270
- - spec/js/current_locale.spec.js
271
- - spec/js/dates.spec.js
272
- - spec/js/defaults.spec.js
273
- - spec/js/extend.spec.js
274
- - spec/js/interpolation.spec.js
275
- - spec/js/jasmine/MIT.LICENSE
276
- - spec/js/jasmine/jasmine-html.js
277
- - spec/js/jasmine/jasmine.css
278
- - spec/js/jasmine/jasmine.js
279
- - spec/js/jasmine/jasmine_favicon.png
280
- - spec/js/json_parsable.spec.js
281
- - spec/js/locales.spec.js
282
- - spec/js/localization.spec.js
283
- - spec/js/numbers.spec.js
284
- - spec/js/placeholder.spec.js
285
- - spec/js/pluralization.spec.js
286
- - spec/js/prepare_options.spec.js
287
- - spec/js/require.js
288
- - spec/js/specs.html
289
- - spec/js/specs_requirejs.html
290
- - spec/js/translate.spec.js
291
- - spec/js/translations.js
292
- - spec/js/utility_functions.spec.js
293
- - spec/ruby/i18n/js/fallback_locales_spec.rb
294
- - spec/ruby/i18n/js/segment_spec.rb
295
- - spec/ruby/i18n/js/utils_spec.rb
296
- - spec/ruby/i18n/js_spec.rb
297
- - spec/spec_helper.rb
220
+ summary: Export i18n translations and use them on JavaScript.
221
+ test_files: []
data/.editorconfig DELETED
@@ -1,24 +0,0 @@
1
- # EditorConfig is awesome: https://EditorConfig.org
2
-
3
- # top-most EditorConfig file
4
- root = true
5
-
6
- # default configuration
7
- [*]
8
- indent_style = space
9
- indent_size = 2
10
- insert_final_newline = true
11
- trim_trailing_whitespace = true
12
-
13
- # Unix-style newlines with a newline ending every file
14
- end_of_line = lf
15
-
16
- # Set default charset
17
- charset = utf-8
18
-
19
- # Tab indentation (no size specified)
20
- [Makefile]
21
- indent_style = tab
22
-
23
- [*.{md,markdown}]
24
- trim_trailing_whitespace = false