i18n-js 3.9.2 → 4.0.0.alpha1

Sign up to get free protection for your applications and to get access to all the features.
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