i18n-js 3.8.2 → 4.2.3
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 +4 -4
- data/.github/CODEOWNERS +4 -0
- data/.github/FUNDING.yml +1 -1
- data/.github/ISSUE_TEMPLATE/bug_report.md +41 -0
- data/.github/ISSUE_TEMPLATE/config.yml +5 -0
- data/.github/ISSUE_TEMPLATE/feature_request.md +23 -0
- data/.github/PULL_REQUEST_TEMPLATE.md +38 -0
- data/.github/dependabot.yml +15 -0
- data/.github/workflows/ruby-tests.yml +73 -0
- data/.gitignore +13 -7
- data/.rubocop.yml +19 -0
- data/CHANGELOG.md +47 -512
- data/CODE_OF_CONDUCT.md +74 -0
- data/CONTRIBUTING.md +79 -0
- data/Gemfile +3 -0
- data/LICENSE.md +20 -0
- data/MIGRATING_FROM_V3_TO_V4.md +192 -0
- data/README.md +425 -921
- data/Rakefile +10 -20
- data/bin/release +81 -0
- data/exe/i18n +5 -0
- data/i18n-js.gemspec +51 -29
- data/lib/guard/i18n-js/templates/Guardfile +10 -0
- data/lib/guard/i18n-js/version.rb +13 -0
- data/lib/guard/i18n-js.rb +95 -0
- data/lib/i18n-js/clean_hash.rb +13 -0
- data/lib/i18n-js/cli/check_command.rb +17 -0
- data/lib/i18n-js/cli/command.rb +79 -0
- data/lib/i18n-js/cli/export_command.rb +95 -0
- data/lib/i18n-js/cli/init_command.rb +52 -0
- data/lib/i18n-js/cli/lint_scripts_command.rb +159 -0
- data/lib/i18n-js/cli/lint_translations_command.rb +157 -0
- data/lib/i18n-js/cli/plugins_command.rb +67 -0
- data/lib/i18n-js/cli/ui.rb +64 -0
- data/lib/i18n-js/cli/version_command.rb +18 -0
- data/lib/i18n-js/cli.rb +66 -0
- data/lib/i18n-js/embed_fallback_translations_plugin.rb +70 -0
- data/lib/i18n-js/export_files_plugin.rb +103 -0
- data/lib/i18n-js/lint.js +150645 -0
- data/lib/i18n-js/lint.ts +196 -0
- data/lib/i18n-js/listen.rb +96 -0
- data/lib/i18n-js/plugin.rb +103 -0
- data/lib/i18n-js/schema.rb +216 -0
- data/lib/i18n-js/sort_hash.rb +12 -0
- data/lib/i18n-js/version.rb +5 -0
- data/lib/i18n-js.rb +107 -1
- data/package.json +5 -20
- metadata +149 -189
- data/.editorconfig +0 -24
- data/.github/workflows/tests.yaml +0 -100
- data/.npmignore +0 -27
- data/Appraisals +0 -44
- data/app/assets/javascripts/i18n/filtered.js.erb +0 -23
- data/app/assets/javascripts/i18n/shims.js +0 -240
- data/app/assets/javascripts/i18n/translations.js +0 -3
- data/app/assets/javascripts/i18n.js +0 -1095
- data/gemfiles/i18n_0_6.gemfile +0 -7
- data/gemfiles/i18n_0_7.gemfile +0 -7
- data/gemfiles/i18n_0_8.gemfile +0 -7
- data/gemfiles/i18n_0_9.gemfile +0 -7
- data/gemfiles/i18n_1_0.gemfile +0 -7
- data/gemfiles/i18n_1_1.gemfile +0 -7
- data/gemfiles/i18n_1_2.gemfile +0 -7
- data/gemfiles/i18n_1_3.gemfile +0 -7
- data/gemfiles/i18n_1_4.gemfile +0 -7
- data/gemfiles/i18n_1_5.gemfile +0 -7
- data/gemfiles/i18n_1_6.gemfile +0 -7
- data/gemfiles/i18n_1_7.gemfile +0 -7
- data/gemfiles/i18n_1_8.gemfile +0 -7
- data/i18njs.png +0 -0
- data/lib/i18n/js/dependencies.rb +0 -63
- data/lib/i18n/js/engine.rb +0 -87
- data/lib/i18n/js/fallback_locales.rb +0 -70
- data/lib/i18n/js/formatters/base.rb +0 -25
- data/lib/i18n/js/formatters/js.rb +0 -32
- data/lib/i18n/js/formatters/json.rb +0 -13
- data/lib/i18n/js/middleware.rb +0 -82
- data/lib/i18n/js/private/config_store.rb +0 -31
- data/lib/i18n/js/private/hash_with_symbol_keys.rb +0 -36
- data/lib/i18n/js/segment.rb +0 -80
- data/lib/i18n/js/utils.rb +0 -78
- data/lib/i18n/js/version.rb +0 -7
- data/lib/i18n/js.rb +0 -264
- data/lib/rails/generators/i18n/js/config/config_generator.rb +0 -19
- data/lib/rails/generators/i18n/js/config/templates/i18n-js.yml +0 -27
- data/lib/tasks/export.rake +0 -8
- data/spec/fixtures/custom_path.yml +0 -5
- data/spec/fixtures/default.yml +0 -5
- data/spec/fixtures/erb.yml +0 -5
- data/spec/fixtures/except_condition.yml +0 -7
- data/spec/fixtures/js_export_dir_custom.yml +0 -7
- data/spec/fixtures/js_export_dir_none.yml +0 -6
- data/spec/fixtures/js_extend_parent.yml +0 -6
- data/spec/fixtures/js_extend_segment.yml +0 -6
- data/spec/fixtures/js_file_per_locale.yml +0 -7
- data/spec/fixtures/js_file_per_locale_with_fallbacks_as_default_locale_symbol.yml +0 -4
- data/spec/fixtures/js_file_per_locale_with_fallbacks_as_hash.yml +0 -6
- data/spec/fixtures/js_file_per_locale_with_fallbacks_as_locale.yml +0 -4
- data/spec/fixtures/js_file_per_locale_with_fallbacks_as_locale_without_fallback_translations.yml +0 -4
- data/spec/fixtures/js_file_per_locale_with_fallbacks_enabled.yml +0 -4
- data/spec/fixtures/js_file_per_locale_without_fallbacks.yml +0 -4
- data/spec/fixtures/js_file_with_namespace_prefix_and_pretty_print.yml +0 -9
- data/spec/fixtures/js_sort_translation_keys_false.yml +0 -6
- data/spec/fixtures/js_sort_translation_keys_true.yml +0 -6
- data/spec/fixtures/json_only.yml +0 -18
- data/spec/fixtures/locales.yml +0 -133
- data/spec/fixtures/merge_plurals.yml +0 -6
- data/spec/fixtures/merge_plurals_with_no_overrides.yml +0 -4
- data/spec/fixtures/merge_plurals_with_partial_overrides.yml +0 -4
- data/spec/fixtures/millions.yml +0 -4
- data/spec/fixtures/multiple_conditions.yml +0 -7
- data/spec/fixtures/multiple_conditions_per_locale.yml +0 -7
- data/spec/fixtures/multiple_files.yml +0 -7
- data/spec/fixtures/no_config.yml +0 -2
- data/spec/fixtures/no_scope.yml +0 -4
- data/spec/fixtures/simple_scope.yml +0 -5
- data/spec/js/currency.spec.js +0 -62
- data/spec/js/current_locale.spec.js +0 -19
- data/spec/js/dates.spec.js +0 -276
- data/spec/js/defaults.spec.js +0 -31
- data/spec/js/extend.spec.js +0 -110
- data/spec/js/interpolation.spec.js +0 -124
- data/spec/js/jasmine/MIT.LICENSE +0 -20
- data/spec/js/jasmine/jasmine-html.js +0 -190
- data/spec/js/jasmine/jasmine.css +0 -166
- data/spec/js/jasmine/jasmine.js +0 -2476
- data/spec/js/jasmine/jasmine_favicon.png +0 -0
- data/spec/js/locales.spec.js +0 -31
- data/spec/js/localization.spec.js +0 -78
- data/spec/js/numbers.spec.js +0 -174
- data/spec/js/placeholder.spec.js +0 -24
- data/spec/js/pluralization.spec.js +0 -219
- data/spec/js/prepare_options.spec.js +0 -41
- data/spec/js/require.js +0 -2083
- data/spec/js/specs.html +0 -49
- data/spec/js/specs_requirejs.html +0 -72
- data/spec/js/translate.spec.js +0 -304
- data/spec/js/translations.js +0 -188
- data/spec/js/utility_functions.spec.js +0 -20
- data/spec/ruby/i18n/js/fallback_locales_spec.rb +0 -84
- data/spec/ruby/i18n/js/segment_spec.rb +0 -219
- data/spec/ruby/i18n/js/utils_spec.rb +0 -106
- data/spec/ruby/i18n/js_spec.rb +0 -748
- data/spec/spec_helper.rb +0 -80
- data/yarn.lock +0 -131
data/CHANGELOG.md
CHANGED
@@ -1,528 +1,63 @@
|
|
1
|
-
#
|
2
|
-
All notable changes to this project will be documented in this file.
|
3
|
-
This project adheres to [Semantic Versioning](http://semver.org/).
|
1
|
+
# Changelog
|
4
2
|
|
3
|
+
<!--
|
4
|
+
Prefix your message with one of the following:
|
5
5
|
|
6
|
-
|
6
|
+
- [Added] for new features.
|
7
|
+
- [Changed] for changes in existing functionality.
|
8
|
+
- [Deprecated] for soon-to-be removed features.
|
9
|
+
- [Removed] for now removed features.
|
10
|
+
- [Fixed] for any bug fixes.
|
11
|
+
- [Security] in case of vulnerabilities.
|
12
|
+
-->
|
7
13
|
|
8
|
-
|
14
|
+
## v4.2.3 - Mar 29, 2023
|
9
15
|
|
10
|
-
-
|
16
|
+
- [Fixed] Load plugins when running `i18n lint:*` commands.
|
11
17
|
|
12
|
-
|
18
|
+
## v4.2.2 - Dec 30, 2022
|
13
19
|
|
14
|
-
-
|
20
|
+
- [Changed] Do not re-export files whose contents haven't changed.
|
21
|
+
- [Changed] Translations will always be deep sorted.
|
22
|
+
- [Fixed] Remove procs from translations before exporting files.
|
15
23
|
|
16
|
-
|
24
|
+
## v4.2.1 - Dec 25, 2022
|
17
25
|
|
18
|
-
-
|
26
|
+
- [Changed] Change plugin api to be based on instance methods. This avoids
|
27
|
+
having to pass in the config for each and every method. It also allows us
|
28
|
+
adding helper methods to the base class.
|
29
|
+
- [Fixed] Fix performance issues with embed fallback translations' initial
|
30
|
+
implementation.
|
19
31
|
|
32
|
+
## v4.2.0 - Dec 10, 2022
|
20
33
|
|
21
|
-
|
34
|
+
- [Added] Add `I18nJS::Plugin.after_export(files:, config:)` method, that's
|
35
|
+
called whenever whenever I18nJS finishes exporting files. You can use it to
|
36
|
+
further process files, or generate new files based on the exported files.
|
37
|
+
- [Added] Bult-in plugin `I18nJS::ExportFilesPlugin`, which allows exporting
|
38
|
+
files out of the translations file by using a custom template.
|
22
39
|
|
23
|
-
|
40
|
+
## v4.1.0 - Dec 09, 2022
|
24
41
|
|
25
|
-
- [
|
26
|
-
|
27
|
-
|
28
|
-
|
42
|
+
- [Added] Parse configuration files as erb.
|
43
|
+
- [Changed] `I18n.listen(run_on_start:)` was added to control if files should be
|
44
|
+
exported during `I18n.listen`'s boot. The default value is `true`.
|
45
|
+
- [Added] Now it's possible to transform translations before exporting them
|
46
|
+
using a stable plugin api.
|
47
|
+
- [Added] Built-in plugin `I18nJS::EmbedFallbackTranslationsPlugin`, which
|
48
|
+
allows embedding missing translations on exported files.
|
49
|
+
- [Deprecated] The `i18n check` has been deprecated. Use
|
50
|
+
`i18n lint:translations` instead.
|
51
|
+
- [Added] Use `i18n lint:scripts` to lint JavaScript/TypeScript.
|
52
|
+
- [Fixed] Expand paths passed to `I18nJS.listen(locales_dir:)`.
|
29
53
|
|
54
|
+
## v4.0.1 - Aug 25, 2022
|
30
55
|
|
31
|
-
|
56
|
+
- [Fixed] Shell out export to avoid handling I18n reloading heuristics.
|
57
|
+
- [Changed] `I18nJS.listen` now accepts a directories list to watch.
|
58
|
+
- [Changed] `I18nJS.listen` now accepts
|
59
|
+
[listen](https://rubygems.org/gems/listen) options via `:options`.
|
32
60
|
|
33
|
-
|
61
|
+
## v4.0.0 - Jul 29, 2022
|
34
62
|
|
35
|
-
-
|
36
|
-
(PR: https://github.com/fnando/i18n-js/pull/593)
|
37
|
-
|
38
|
-
|
39
|
-
## [3.8.0] - 2020-10-15
|
40
|
-
|
41
|
-
### Added
|
42
|
-
|
43
|
-
- [JS] Add option `scope` for `toHumanSize()`
|
44
|
-
(PR: https://github.com/fnando/i18n-js/pull/583)
|
45
|
-
|
46
|
-
|
47
|
-
## [3.7.1] - 2020-06-30
|
48
|
-
|
49
|
-
### Fixed
|
50
|
-
|
51
|
-
- [JS] For translation missing behaviour `guess`, replace all underscores to spaces properly
|
52
|
-
(PR: https://github.com/fnando/i18n-js/pull/574)
|
53
|
-
|
54
|
-
|
55
|
-
## [3.7.0] - 2020-05-29
|
56
|
-
|
57
|
-
### Added
|
58
|
-
|
59
|
-
- [JS] Allow options to be passed in when calling `I18n.localize`/`I18n.l`
|
60
|
-
(PR: https://github.com/fnando/i18n-js/pull/570)
|
61
|
-
|
62
|
-
|
63
|
-
## [3.6.0] - 2020-02-14
|
64
|
-
|
65
|
-
### Added
|
66
|
-
|
67
|
-
- [Ruby] Allow `suffix` to be added to generated translations files
|
68
|
-
(PR: https://github.com/fnando/i18n-js/pull/561)
|
69
|
-
|
70
|
-
|
71
|
-
## [3.5.1] - 2019-12-21
|
72
|
-
|
73
|
-
### Changed
|
74
|
-
|
75
|
-
- [JS] Bound shortcut functions
|
76
|
-
(PR: https://github.com/fnando/i18n-js/pull/560)
|
77
|
-
|
78
|
-
|
79
|
-
## [3.5.0] - 2019-11-12
|
80
|
-
|
81
|
-
### Added
|
82
|
-
|
83
|
-
- [JS] Support for `%k` strftime format to match Ruby strftime
|
84
|
-
(PR: https://github.com/fnando/i18n-js/pull/554)
|
85
|
-
|
86
|
-
|
87
|
-
## [3.4.2] - 2019-11-11
|
88
|
-
|
89
|
-
### Fixed
|
90
|
-
|
91
|
-
- [Ruby] Fix regression introduced in PR #551
|
92
|
-
(PR: https://github.com/fnando/i18n-js/pull/555)
|
93
|
-
|
94
|
-
|
95
|
-
## [3.4.1] - 2019-11-01
|
96
|
-
|
97
|
-
### Fixed
|
98
|
-
|
99
|
-
- [Ruby] Fix merging of plural keys to work with fallbacks that aren't overridden
|
100
|
-
(PR: https://github.com/fnando/i18n-js/pull/551)
|
101
|
-
|
102
|
-
|
103
|
-
## [3.4.0] - 2019-10-15
|
104
|
-
|
105
|
-
### Added
|
106
|
-
|
107
|
-
- [Ruby] Allow `prefix` to be added to generated translations files
|
108
|
-
(PR: https://github.com/fnando/i18n-js/pull/549)
|
109
|
-
|
110
|
-
|
111
|
-
## [3.3.0] - 2019-06-06
|
112
|
-
|
113
|
-
### Added
|
114
|
-
|
115
|
-
- [JS] Support for `%P`, `%Z`, and `%l` strftime formats to match Ruby strftime
|
116
|
-
(PR: https://github.com/fnando/i18n-js/pull/537)
|
117
|
-
|
118
|
-
|
119
|
-
## [3.2.3] - 2019-05-24
|
120
|
-
|
121
|
-
### Changed
|
122
|
-
|
123
|
-
- [Ruby] Allow rails 6 to be used with this gem
|
124
|
-
(PR: https://github.com/fnando/i18n-js/pull/536)
|
125
|
-
|
126
|
-
|
127
|
-
## [3.2.2] - 2019-05-09
|
128
|
-
|
129
|
-
### Fixed
|
130
|
-
|
131
|
-
- [JS] Return invalid date/time input values (null & undefined) as-is
|
132
|
-
(Commit: https://github.com/fnando/i18n-js/commit/869d1689ed788ff50121de492db354652971c23d)
|
133
|
-
|
134
|
-
|
135
|
-
## [3.2.1] - 2019-01-22
|
136
|
-
|
137
|
-
### Changed
|
138
|
-
|
139
|
-
- [Ruby] `json_only` option should allow multiple locales.
|
140
|
-
(PR: https://github.com/fnando/i18n-js/pull/531)
|
141
|
-
- [Ruby] Simplified and cleaned code related to JS/JSON formatting.
|
142
|
-
(PR: https://github.com/fnando/i18n-js/pull/531)
|
143
|
-
- [JS] Use strict value comparison
|
144
|
-
|
145
|
-
### Fixed
|
146
|
-
|
147
|
-
- [Ruby] Relax `i18n` version requirement back to `>= 0.6.6`
|
148
|
-
(PR: https://github.com/fnando/i18n-js/pull/530)
|
149
|
-
- [Ruby] Fix merging of plural keys across locales.
|
150
|
-
(PR: https://github.com/fnando/i18n-js/pull/472)
|
151
|
-
|
152
|
-
|
153
|
-
## [3.2.0] - 2018-11-16
|
154
|
-
|
155
|
-
### Added
|
156
|
-
|
157
|
-
- [Ruby] Add option `json_only` to generate translations in JSON
|
158
|
-
(PR: https://github.com/fnando/i18n-js/pull/524)
|
159
|
-
|
160
|
-
### Changed
|
161
|
-
|
162
|
-
- [Ruby] Requires `i18n` to be `>= 0.8.0` for CVE-2014-10077
|
163
|
-
|
164
|
-
|
165
|
-
## [3.1.0] - 2018-11-01
|
166
|
-
|
167
|
-
### Added
|
168
|
-
|
169
|
-
- [Ruby] Add option to allow setting a different I18n backend
|
170
|
-
(PR: https://github.com/fnando/i18n-js/pull/519)
|
171
|
-
|
172
|
-
### Fixed
|
173
|
-
|
174
|
-
- [JS] Fix missing translation when pluralizing with default scopes
|
175
|
-
(PR: https://github.com/fnando/i18n-js/pull/516)
|
176
|
-
|
177
|
-
|
178
|
-
## [3.0.11] - 2018-07-06
|
179
|
-
|
180
|
-
### Fixed
|
181
|
-
|
182
|
-
- [JS] Fix interpolation for array with non string/null elements
|
183
|
-
(PR: https://github.com/fnando/i18n-js/pull/505)
|
184
|
-
|
185
|
-
|
186
|
-
## [3.0.10] - 2018-06-21
|
187
|
-
|
188
|
-
### Fixed
|
189
|
-
|
190
|
-
- [JS] Fix extend method changing keys with `null` to empty objects
|
191
|
-
(PR: https://github.com/fnando/i18n-js/pull/503)
|
192
|
-
- [JS] Fix variable name in an internal method
|
193
|
-
(PR: https://github.com/fnando/i18n-js/pull/501)
|
194
|
-
|
195
|
-
|
196
|
-
## [3.0.9] - 2018-06-21
|
197
|
-
|
198
|
-
### Fixed
|
199
|
-
|
200
|
-
- [JS] Fix translation array interpolation for array with null
|
201
|
-
|
202
|
-
|
203
|
-
## [3.0.8] - 2018-06-06
|
204
|
-
|
205
|
-
### Changed
|
206
|
-
|
207
|
-
- [JS] Interpolate translation array too
|
208
|
-
(PR: https://github.com/fnando/i18n-js/pull/498)
|
209
|
-
|
210
|
-
|
211
|
-
## [3.0.7] - 2018-05-30
|
212
|
-
|
213
|
-
### Fixed
|
214
|
-
|
215
|
-
- [Ruby] Fix new bug occuring when config file is absent
|
216
|
-
|
217
|
-
|
218
|
-
## [3.0.6] - 2018-05-30
|
219
|
-
|
220
|
-
### Fixed
|
221
|
-
|
222
|
-
- [Ruby] Make JS `i18n/filtered` depends on i18n-js config too
|
223
|
-
(PR: https://github.com/fnando/i18n-js/pull/497)
|
224
|
-
|
225
|
-
|
226
|
-
## [3.0.5] - 2018-02-26
|
227
|
-
|
228
|
-
### Changed
|
229
|
-
|
230
|
-
- [Ruby] Support `I18n` `1.0.x`
|
231
|
-
(PR: https://github.com/fnando/i18n-js/pull/492)
|
232
|
-
|
233
|
-
|
234
|
-
## [3.0.4] - 2018-01-26
|
235
|
-
|
236
|
-
### Fixed
|
237
|
-
|
238
|
-
- [Ruby] Fix `JS::Dependencies.using_asset_pipeline?` returning true when sprockets installed but disabled
|
239
|
-
(PR: https://github.com/fnando/i18n-js/pull/488)
|
240
|
-
|
241
|
-
|
242
|
-
## [3.0.3] - 2018-01-02
|
243
|
-
|
244
|
-
### Fixed
|
245
|
-
|
246
|
-
- [Ruby] Fix extend method when translations has array values
|
247
|
-
(PR: https://github.com/fnando/i18n-js/pull/487)
|
248
|
-
|
249
|
-
|
250
|
-
## [3.0.2] - 2017-10-26
|
251
|
-
|
252
|
-
### Changed
|
253
|
-
|
254
|
-
- [Ruby] Avoid writing new file if a file with same content already exists
|
255
|
-
(PR: https://github.com/fnando/i18n-js/pull/473)
|
256
|
-
- [JS] Fix fallback when "3-part" locale like `zh-Hant-TW` is used
|
257
|
-
It was falling back to `zh` first instead of `zh-Hant` (see new test case added)
|
258
|
-
(PR: https://github.com/fnando/i18n-js/pull/475)
|
259
|
-
|
260
|
-
|
261
|
-
## [3.0.1] - 2017-08-02
|
262
|
-
|
263
|
-
### Changed
|
264
|
-
|
265
|
-
- [Ruby] Relax Rails detection code to work with alternative installation methods
|
266
|
-
(PR: https://github.com/fnando/i18n-js/pull/467)
|
267
|
-
- [JS] Fix fallback when "3-part" locale like `zh-Hant-TW` is used
|
268
|
-
It fallbacks to `zh` only before, now it fallbacks to `zh-Hant`
|
269
|
-
(PR: https://github.com/fnando/i18n-js/pull/465)
|
270
|
-
|
271
|
-
|
272
|
-
## [3.0.0] - 2017-04-01
|
273
|
-
|
274
|
-
This is a fake official release, the *real* one will be `3.0.0.rc17`
|
275
|
-
And today is not April Fools' Day
|
276
|
-
|
277
|
-
### Fixed
|
278
|
-
|
279
|
-
- Ends the longest Release Candidate period among all ruby gems
|
280
|
-
(v3.0.0.rc1 released at 2012-05-10)
|
281
|
-
|
282
|
-
|
283
|
-
## [3.0.0.rc16] - 2017-03-13
|
284
|
-
|
285
|
-
### Changed
|
286
|
-
|
287
|
-
- [Ruby] Drop support for Ruby < `2.1.0`
|
288
|
-
|
289
|
-
### Fixed
|
290
|
-
|
291
|
-
- [JS] Make defaultValue works on plural translation
|
292
|
-
- [JS] Fix UMD pattern so the global/root won’t be undefined
|
293
|
-
|
294
|
-
|
295
|
-
## [3.0.0.rc15] - 2016-12-07
|
296
|
-
|
297
|
-
### Added
|
298
|
-
|
299
|
-
- Nothing
|
300
|
-
|
301
|
-
### Changed
|
302
|
-
|
303
|
-
- [JS] Allow `defaultValue` to work in pluralization
|
304
|
-
(PR: https://github.com/fnando/i18n-js/pull/433)
|
305
|
-
- [Ruby] Stop validating the fallback locales against `I18n.available_locales`
|
306
|
-
This allows some locales to be used as fallback locales, but not to be generated in JS.
|
307
|
-
(PR: https://github.com/fnando/i18n-js/pull/425)
|
308
|
-
- [Ruby] Remove dependency on gem `activesupport`
|
309
|
-
|
310
|
-
### Fixed
|
311
|
-
|
312
|
-
- [JS] Stop converting numeric & boolean values into objects
|
313
|
-
when merging objects with `I18n.extend`
|
314
|
-
(PR: https://github.com/fnando/i18n-js/pull/420)
|
315
|
-
- [JS] Fix I18n pluralization fallback when tree is empty
|
316
|
-
(PR: https://github.com/fnando/i18n-js/pull/435)
|
317
|
-
- [Ruby] Use old syntax to define lambda for compatibility with older Rubies
|
318
|
-
(Issue: https://github.com/fnando/i18n-js/issues/419)
|
319
|
-
- [Ruby] Fix error raised in middleware cache cleaning in parallel test
|
320
|
-
(Issue: https://github.com/fnando/i18n-js/issues/436)
|
321
|
-
|
322
|
-
|
323
|
-
## [3.0.0.rc14] - 2016-08-29
|
324
|
-
|
325
|
-
### Changed
|
326
|
-
|
327
|
-
- [JS] Method `I18n.extend()` behave as deep merging instead of shallow merging. (https://github.com/fnando/i18n-js/pull/416)
|
328
|
-
- [Ruby] Use object/class instead of block when registering Sprockets preprocessor (https://github.com/fnando/i18n-js/pull/418)
|
329
|
-
To ensure that your cache will expire properly based on locale file content after upgrading,
|
330
|
-
you should run `rake assets:clobber` and/or other rake tasks that clear the asset cache once gem updated
|
331
|
-
- [Ruby] Detect & support rails 5 (https://github.com/fnando/i18n-js/pull/413)
|
332
|
-
|
333
|
-
|
334
|
-
## [3.0.0.rc13] - 2016-06-29
|
335
|
-
|
336
|
-
### Added
|
337
|
-
|
338
|
-
- [Ruby] Added option `js_extend` to not generate JS code for translations with usage of `I18n.extend` ([#397](https://github.com/fnando/i18n-js/pull/397))
|
339
|
-
|
340
|
-
### Changed
|
341
|
-
|
342
|
-
- Nothing
|
343
|
-
|
344
|
-
### Fixed
|
345
|
-
|
346
|
-
- [JS] Initialize option `missingBehaviour` & `missingTranslationPrefix` with default values ([#398](https://github.com/fnando/i18n-js/pull/398))
|
347
|
-
- [JS] Throw an error when `I18n.strftime()` takes an invalid date ([#383](https://github.com/fnando/i18n-js/pull/383))
|
348
|
-
- [JS] Fix default error message when translation missing to consider locale passed in options
|
349
|
-
- [Ruby] Reset middleware cache on rails startup
|
350
|
-
([#402](https://github.com/fnando/i18n-js/pull/402))
|
351
|
-
|
352
|
-
|
353
|
-
## [3.0.0.rc12] - 2015-12-30
|
354
|
-
|
355
|
-
### Added
|
356
|
-
|
357
|
-
- [JS] Allow extending of translation files ([#354](https://github.com/fnando/i18n-js/pull/354))
|
358
|
-
- [JS] Allow missingPlaceholder to receive extra data for debugging ([#380](https://github.com/fnando/i18n-js/pull/380))
|
359
|
-
|
360
|
-
### Changed
|
361
|
-
|
362
|
-
- Nothing
|
363
|
-
|
364
|
-
### Fixed
|
365
|
-
|
366
|
-
- [Ruby] Fix of missing initializer at sprockets. ([#371](https://github.com/fnando/i18n-js/pull/371))
|
367
|
-
- [Ruby] Use proper method to register preprocessor documented by sprockets-rails. ([#376](https://github.com/fnando/i18n-js/pull/376))
|
368
|
-
- [JS] Correctly round unprecise floating point numbers.
|
369
|
-
- [JS] Ensure objects are recognized when passed in from an iframe. ([#375](https://github.com/fnando/i18n-js/pull/375))
|
370
|
-
|
371
|
-
|
372
|
-
## 3.0.0.rc11
|
373
|
-
|
374
|
-
### breaking changes
|
375
|
-
|
376
|
-
### enhancements
|
377
|
-
|
378
|
-
### bug fixes
|
379
|
-
|
380
|
-
- [Ruby] Handle fallback locale without any translation properly ([#338](https://github.com/fnando/i18n-js/pull/338))
|
381
|
-
- [Ruby] Prevent translation entry with null value to override value in fallback locale(s), if enabled ([#334](https://github.com/fnando/i18n-js/pull/334))
|
382
|
-
|
383
|
-
|
384
|
-
## 3.0.0.rc10
|
385
|
-
|
386
|
-
### breaking changes
|
387
|
-
|
388
|
-
- [Ruby] In `config/i18n-js.yml`, if you are using `%{locale}` in your filename and are referencing specific translations keys, please add `*.` to the beginning of those keys. ([#320](https://github.com/fnando/i18n-js/pull/320))
|
389
|
-
- [Ruby] The `:except` option to exclude certain phrases now (only) accepts the same patterns the `:only` option accepts
|
390
|
-
|
391
|
-
### enhancements
|
392
|
-
|
393
|
-
- [Ruby] Make handling of per-locale and not-per-locale exporting to be more consistent ([#320](https://github.com/fnando/i18n-js/pull/320))
|
394
|
-
- [Ruby] Add option `sort_translation_keys` to sort translation keys alphabetically ([#318](https://github.com/fnando/i18n-js/pull/318))
|
395
|
-
|
396
|
-
### bug fixes
|
397
|
-
|
398
|
-
- [Ruby] Fix fallback logic to work with not-per-locale files ([#320](https://github.com/fnando/i18n-js/pull/320))
|
399
|
-
|
400
|
-
|
401
|
-
## 3.0.0.rc9
|
402
|
-
|
403
|
-
### enhancements
|
404
|
-
|
405
|
-
- [JS] Force currency number sign to be at first place using `sign_first` option, default to `true`
|
406
|
-
- [Ruby] Add option `namespace` & `pretty_print` ([#300](https://github.com/fnando/i18n-js/pull/300))
|
407
|
-
- [Ruby] Add option `export_i18n_js` ([#301](https://github.com/fnando/i18n-js/pull/301))
|
408
|
-
- [Ruby] Now the gem also detects pre-release versions of `rails`
|
409
|
-
- [Ruby] Add `:except` option to exclude certain phrases or groups of phrases from the
|
410
|
-
outputted translations ([#312](https://github.com/fnando/i18n-js/pull/312))
|
411
|
-
- [JS] You can now set `I18n.missingBehavior='guess'` to have the scope string output as text instead of of the
|
412
|
-
"[missing `scope`]" message when no translation is available.
|
413
|
-
Combined that with `I18n.missingTranslationPrefix='SOMETHING'` and you can
|
414
|
-
still identify those missing strings.
|
415
|
-
([#304](https://github.com/fnando/i18n-js/pull/304))
|
416
|
-
|
417
|
-
### bug fixes
|
418
|
-
|
419
|
-
- [JS] Fix missing translation message when scope is passed in options
|
420
|
-
- [Ruby] Fix save cache directory verification when path is a symbolic link ([#329](https://github.com/fnando/i18n-js/pull/329))
|
421
|
-
|
422
|
-
|
423
|
-
## 3.0.0.rc8
|
424
|
-
|
425
|
-
### enhancements
|
426
|
-
|
427
|
-
- Add support for loading via AMD and CommonJS module loaders ([#266](https://github.com/fnando/i18n-js/pull/266))
|
428
|
-
- Add `I18n.nullPlaceholder`
|
429
|
-
Defaults to I18n.missingPlaceholder (`[missing {{name}} value]`)
|
430
|
-
Set to `function() {return "";}` to match Ruby `I18n.t("name: %{name}", name: nil)`
|
431
|
-
- For date formatting, you can now also add placeholders to the date format, see README for detail
|
432
|
-
- Add fallbacks option to `i18n-js.yml`, defaults to `true`
|
433
|
-
|
434
|
-
### bug fixes
|
435
|
-
|
436
|
-
- Fix factory initialization so that the Node/CommonJS branch only gets executed if the environment is Node/CommonJS
|
437
|
-
(it currently will execute if module is defined in the global scope, which occurs with QUnit, for example)
|
438
|
-
- Fix pluralization rules selection for negative `count` (e.g. `-1` was lead to use `one` for pluralization) ([#268](https://github.com/fnando/i18n-js/pull/268))
|
439
|
-
- Remove check for `Rails.configuration.assets.compile` before telling Sprockets the dependency of translations JS file
|
440
|
-
This might be the reason of many "cache not expired" issues
|
441
|
-
Discovered/reported in #277
|
442
|
-
|
443
|
-
## 3.0.0.rc7
|
444
|
-
|
445
|
-
### enhancements
|
446
|
-
|
447
|
-
- The Rails Engine initializer is now named as `i18n-js.register_preprocessor` (https://github.com/fnando/i18n-js/pull/261)
|
448
|
-
- Rename `I18n::JS.config_file` to `I18n::JS.config_file_path` and make it configurable
|
449
|
-
Expected a `String`, default is still `config/i18n-js.yml`
|
450
|
-
- When running `rake i18n:js:export`, the `i18n.js` will also be exported to `I18n::JS.export_i18n_js_dir_path` by default
|
451
|
-
- Add `I18n::JS.export_i18n_js_dir_path`
|
452
|
-
Expected a `String`, default is `public/javascripts`
|
453
|
-
Set to `nil` will disable exporting `i18n.js`
|
454
|
-
|
455
|
-
### bug fixes
|
456
|
-
|
457
|
-
- Prevent toString() call on `undefined` when there is a missing interpolation value
|
458
|
-
- Added support for Rails instances without Sprockets object (https://github.com/fnando/i18n-js/pull/241)
|
459
|
-
- Fix `DEFAULT_OPTIONS` in `i18n.js` which contained an excessive comma
|
460
|
-
- Fix `nil` values are exported into JS files which causes strange translation error
|
461
|
-
- Fix pattern to replace all escaped $ in I18n.translate
|
462
|
-
- Fix JS `I18n.lookup` modifies existing locales accidentally
|
463
|
-
|
464
|
-
## 3.0.0.rc6
|
465
|
-
|
466
|
-
### enhancements
|
467
|
-
|
468
|
-
- You can now assign `I18n.locale` & `I18n.default_locale` before loading `i18n.js` in `application.html.*`
|
469
|
-
(merged to `i18n-js-pika` already)
|
470
|
-
- You can include ERB in `config/i18n-js.yml`(https://github.com/fnando/i18n-js/pull/224)
|
471
|
-
- Add support for +00:00 style time zone designator (https://github.com/fnando/i18n-js/pull/167)
|
472
|
-
- Add back rake task for export (`rake i18n:js:export`)
|
473
|
-
- Not overriding translation when manually run `I18n::JS.export` (https://github.com/fnando/i18n-js/pull/171)
|
474
|
-
- Move missing placeholder text generation into its own function (for easier debugging) (https://github.com/fnando/i18n-js/pull/169)
|
475
|
-
- Add support for milliseconds (`lll` in `yyyy-mm-ddThh:mm:ss.lllZ`) (https://github.com/fnando/i18n-js/pull/192)
|
476
|
-
- Add back i18n-js.yml config file generator : `rails generate i18n:js:config` (https://github.com/fnando/i18n-js/pull/225)
|
477
|
-
|
478
|
-
### bug fixes
|
479
|
-
|
480
|
-
- `I18n::JS.export` no longer exports locales other than those in `I18n.available_locales`, if `I18n.available_locales` is set
|
481
|
-
- I18.t supports the base scope through the options argument
|
482
|
-
- I18.t accepts an array as the scope
|
483
|
-
- Fix regression: asset not being reloaded in development when translation changed
|
484
|
-
- Requires `i18n` to be `~> 0.6`, `0.5` does not work at all
|
485
|
-
- Fix using multi-star scope with top-level translation key (https://github.com/fnando/i18n-js/pull/221)
|
486
|
-
|
487
|
-
|
488
|
-
## Before 3.0.0.rc5
|
489
|
-
|
490
|
-
- Things happened.
|
491
|
-
|
492
|
-
|
493
|
-
|
494
|
-
[Unreleased]: https://github.com/fnando/i18n-js/compare/v3.8.2...HEAD
|
495
|
-
[3.8.2]: https://github.com/fnando/i18n-js/compare/v3.8.1...v3.8.2
|
496
|
-
[3.8.1]: https://github.com/fnando/i18n-js/compare/v3.8.0...v3.8.1
|
497
|
-
[3.8.0]: https://github.com/fnando/i18n-js/compare/v3.7.1...v3.8.0
|
498
|
-
[3.7.1]: https://github.com/fnando/i18n-js/compare/v3.7.0...v3.7.1
|
499
|
-
[3.7.0]: https://github.com/fnando/i18n-js/compare/v3.6.0...v3.7.0
|
500
|
-
[3.6.0]: https://github.com/fnando/i18n-js/compare/v3.5.1...v3.6.0
|
501
|
-
[3.5.1]: https://github.com/fnando/i18n-js/compare/v3.5.0...v3.5.1
|
502
|
-
[3.5.0]: https://github.com/fnando/i18n-js/compare/v3.4.2...v3.5.0
|
503
|
-
[3.4.2]: https://github.com/fnando/i18n-js/compare/v3.4.1...v3.4.2
|
504
|
-
[3.4.1]: https://github.com/fnando/i18n-js/compare/v3.4.0...v3.4.1
|
505
|
-
[3.4.0]: https://github.com/fnando/i18n-js/compare/v3.3.0...v3.4.0
|
506
|
-
[3.3.0]: https://github.com/fnando/i18n-js/compare/v3.2.3...v3.3.0
|
507
|
-
[3.2.3]: https://github.com/fnando/i18n-js/compare/v3.2.2...v3.2.3
|
508
|
-
[3.2.2]: https://github.com/fnando/i18n-js/compare/v3.2.1...v3.2.2
|
509
|
-
[3.2.1]: https://github.com/fnando/i18n-js/compare/v3.2.0...v3.2.1
|
510
|
-
[3.2.0]: https://github.com/fnando/i18n-js/compare/v3.1.0...v3.2.0
|
511
|
-
[3.1.0]: https://github.com/fnando/i18n-js/compare/v3.0.11...v3.1.0
|
512
|
-
[3.0.11]: https://github.com/fnando/i18n-js/compare/v3.0.10...v3.0.11
|
513
|
-
[3.0.10]: https://github.com/fnando/i18n-js/compare/v3.0.9...v3.0.10
|
514
|
-
[3.0.9]: https://github.com/fnando/i18n-js/compare/v3.0.8...v3.0.9
|
515
|
-
[3.0.8]: https://github.com/fnando/i18n-js/compare/v3.0.7...v3.0.8
|
516
|
-
[3.0.7]: https://github.com/fnando/i18n-js/compare/v3.0.6...v3.0.7
|
517
|
-
[3.0.6]: https://github.com/fnando/i18n-js/compare/v3.0.5...v3.0.6
|
518
|
-
[3.0.5]: https://github.com/fnando/i18n-js/compare/v3.0.4...v3.0.5
|
519
|
-
[3.0.4]: https://github.com/fnando/i18n-js/compare/v3.0.3...v3.0.4
|
520
|
-
[3.0.3]: https://github.com/fnando/i18n-js/compare/v3.0.2...v3.0.3
|
521
|
-
[3.0.2]: https://github.com/fnando/i18n-js/compare/v3.0.1...v3.0.2
|
522
|
-
[3.0.1]: https://github.com/fnando/i18n-js/compare/v3.0.0...v3.0.1
|
523
|
-
[3.0.0]: https://github.com/fnando/i18n-js/compare/v3.0.0.rc16...v3.0.0
|
524
|
-
[3.0.0.rc16]: https://github.com/fnando/i18n-js/compare/v3.0.0.rc15...v3.0.0.rc16
|
525
|
-
[3.0.0.rc15]: https://github.com/fnando/i18n-js/compare/v3.0.0.rc14...v3.0.0.rc15
|
526
|
-
[3.0.0.rc14]: https://github.com/fnando/i18n-js/compare/v3.0.0.rc13...v3.0.0.rc14
|
527
|
-
[3.0.0.rc13]: https://github.com/fnando/i18n-js/compare/v3.0.0.rc12...v3.0.0.rc13
|
528
|
-
[3.0.0.rc12]: https://github.com/fnando/i18n-js/compare/v3.0.0.rc11...v3.0.0.rc12
|
63
|
+
- Official release of i18n-js v4.0.0.
|
data/CODE_OF_CONDUCT.md
ADDED
@@ -0,0 +1,74 @@
|
|
1
|
+
# Contributor Covenant Code of Conduct
|
2
|
+
|
3
|
+
## Our Pledge
|
4
|
+
|
5
|
+
In the interest of fostering an open and welcoming environment, we as
|
6
|
+
contributors and maintainers pledge to making participation in our project and
|
7
|
+
our community a harassment-free experience for everyone, regardless of age, body
|
8
|
+
size, disability, ethnicity, gender identity and expression, level of experience,
|
9
|
+
nationality, personal appearance, race, religion, or sexual identity and
|
10
|
+
orientation.
|
11
|
+
|
12
|
+
## Our Standards
|
13
|
+
|
14
|
+
Examples of behavior that contributes to creating a positive environment
|
15
|
+
include:
|
16
|
+
|
17
|
+
* Using welcoming and inclusive language
|
18
|
+
* Being respectful of differing viewpoints and experiences
|
19
|
+
* Gracefully accepting constructive criticism
|
20
|
+
* Focusing on what is best for the community
|
21
|
+
* Showing empathy towards other community members
|
22
|
+
|
23
|
+
Examples of unacceptable behavior by participants include:
|
24
|
+
|
25
|
+
* The use of sexualized language or imagery and unwelcome sexual attention or
|
26
|
+
advances
|
27
|
+
* Trolling, insulting/derogatory comments, and personal or political attacks
|
28
|
+
* Public or private harassment
|
29
|
+
* Publishing others' private information, such as a physical or electronic
|
30
|
+
address, without explicit permission
|
31
|
+
* Other conduct which could reasonably be considered inappropriate in a
|
32
|
+
professional setting
|
33
|
+
|
34
|
+
## Our Responsibilities
|
35
|
+
|
36
|
+
Project maintainers are responsible for clarifying the standards of acceptable
|
37
|
+
behavior and are expected to take appropriate and fair corrective action in
|
38
|
+
response to any instances of unacceptable behavior.
|
39
|
+
|
40
|
+
Project maintainers have the right and responsibility to remove, edit, or
|
41
|
+
reject comments, commits, code, wiki edits, issues, and other contributions
|
42
|
+
that are not aligned to this Code of Conduct, or to ban temporarily or
|
43
|
+
permanently any contributor for other behaviors that they deem inappropriate,
|
44
|
+
threatening, offensive, or harmful.
|
45
|
+
|
46
|
+
## Scope
|
47
|
+
|
48
|
+
This Code of Conduct applies both within project spaces and in public spaces
|
49
|
+
when an individual is representing the project or its community. Examples of
|
50
|
+
representing a project or community include using an official project e-mail
|
51
|
+
address, posting via an official social media account, or acting as an appointed
|
52
|
+
representative at an online or offline event. Representation of a project may be
|
53
|
+
further defined and clarified by project maintainers.
|
54
|
+
|
55
|
+
## Enforcement
|
56
|
+
|
57
|
+
Instances of abusive, harassing, or otherwise unacceptable behavior may be
|
58
|
+
reported by contacting the project team at me@fnando.com. All
|
59
|
+
complaints will be reviewed and investigated and will result in a response that
|
60
|
+
is deemed necessary and appropriate to the circumstances. The project team is
|
61
|
+
obligated to maintain confidentiality with regard to the reporter of an incident.
|
62
|
+
Further details of specific enforcement policies may be posted separately.
|
63
|
+
|
64
|
+
Project maintainers who do not follow or enforce the Code of Conduct in good
|
65
|
+
faith may face temporary or permanent repercussions as determined by other
|
66
|
+
members of the project's leadership.
|
67
|
+
|
68
|
+
## Attribution
|
69
|
+
|
70
|
+
This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4,
|
71
|
+
available at [https://contributor-covenant.org/version/1/4][version]
|
72
|
+
|
73
|
+
[homepage]: https://contributor-covenant.org
|
74
|
+
[version]: https://contributor-covenant.org/version/1/4/
|