i18n-js 3.9.2 → 4.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (137) 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/config.yml +5 -0
  6. data/.github/ISSUE_TEMPLATE/feature_request.md +23 -0
  7. data/.github/PULL_REQUEST_TEMPLATE.md +38 -0
  8. data/.github/dependabot.yml +15 -0
  9. data/.github/workflows/ruby-tests.yml +52 -0
  10. data/.gitignore +11 -7
  11. data/.rubocop.yml +16 -0
  12. data/CHANGELOG.md +12 -571
  13. data/CODE_OF_CONDUCT.md +74 -0
  14. data/CONTRIBUTING.md +79 -0
  15. data/Gemfile +3 -0
  16. data/LICENSE.md +20 -0
  17. data/README.md +180 -1003
  18. data/Rakefile +10 -20
  19. data/exe/i18n +5 -0
  20. data/i18n-js.gemspec +48 -29
  21. data/images/i18njs-check.gif +0 -0
  22. data/lib/guard/i18n-js/templates/Guardfile +10 -0
  23. data/lib/guard/i18n-js/version.rb +13 -0
  24. data/lib/guard/i18n-js.rb +78 -0
  25. data/lib/i18n-js/cli/check_command.rb +157 -0
  26. data/lib/i18n-js/cli/command.rb +69 -0
  27. data/lib/i18n-js/cli/export_command.rb +81 -0
  28. data/lib/i18n-js/cli/init_command.rb +52 -0
  29. data/lib/i18n-js/cli/ui.rb +64 -0
  30. data/lib/i18n-js/cli/version_command.rb +18 -0
  31. data/lib/i18n-js/cli.rb +55 -0
  32. data/lib/i18n-js/listen.rb +81 -0
  33. data/lib/i18n-js/schema.rb +104 -0
  34. data/lib/i18n-js/version.rb +5 -0
  35. data/lib/i18n-js.rb +73 -1
  36. metadata +127 -198
  37. data/.editorconfig +0 -24
  38. data/.github/workflows/tests.yaml +0 -106
  39. data/.npmignore +0 -27
  40. data/Appraisals +0 -52
  41. data/app/assets/javascripts/i18n/filtered.js.erb +0 -23
  42. data/app/assets/javascripts/i18n/shims.js +0 -240
  43. data/app/assets/javascripts/i18n/translations.js +0 -3
  44. data/app/assets/javascripts/i18n.js +0 -1095
  45. data/gemfiles/i18n_0_6.gemfile +0 -7
  46. data/gemfiles/i18n_0_7.gemfile +0 -7
  47. data/gemfiles/i18n_0_8.gemfile +0 -7
  48. data/gemfiles/i18n_0_9.gemfile +0 -7
  49. data/gemfiles/i18n_1_0.gemfile +0 -7
  50. data/gemfiles/i18n_1_1.gemfile +0 -7
  51. data/gemfiles/i18n_1_10.gemfile +0 -7
  52. data/gemfiles/i18n_1_2.gemfile +0 -7
  53. data/gemfiles/i18n_1_3.gemfile +0 -7
  54. data/gemfiles/i18n_1_4.gemfile +0 -7
  55. data/gemfiles/i18n_1_5.gemfile +0 -7
  56. data/gemfiles/i18n_1_6.gemfile +0 -7
  57. data/gemfiles/i18n_1_7.gemfile +0 -7
  58. data/gemfiles/i18n_1_8.gemfile +0 -7
  59. data/gemfiles/i18n_1_9.gemfile +0 -7
  60. data/lib/i18n/js/dependencies.rb +0 -67
  61. data/lib/i18n/js/engine.rb +0 -87
  62. data/lib/i18n/js/fallback_locales.rb +0 -70
  63. data/lib/i18n/js/formatters/base.rb +0 -25
  64. data/lib/i18n/js/formatters/js.rb +0 -39
  65. data/lib/i18n/js/formatters/json.rb +0 -13
  66. data/lib/i18n/js/middleware.rb +0 -82
  67. data/lib/i18n/js/private/config_store.rb +0 -31
  68. data/lib/i18n/js/private/hash_with_symbol_keys.rb +0 -36
  69. data/lib/i18n/js/segment.rb +0 -81
  70. data/lib/i18n/js/utils.rb +0 -91
  71. data/lib/i18n/js/version.rb +0 -7
  72. data/lib/i18n/js.rb +0 -274
  73. data/lib/rails/generators/i18n/js/config/config_generator.rb +0 -19
  74. data/lib/rails/generators/i18n/js/config/templates/i18n-js.yml +0 -27
  75. data/lib/tasks/export.rake +0 -8
  76. data/package.json +0 -25
  77. data/spec/fixtures/custom_path.yml +0 -5
  78. data/spec/fixtures/default.yml +0 -5
  79. data/spec/fixtures/erb.yml +0 -5
  80. data/spec/fixtures/except_condition.yml +0 -7
  81. data/spec/fixtures/js_available_locales_custom.yml +0 -1
  82. data/spec/fixtures/js_export_dir_custom.yml +0 -7
  83. data/spec/fixtures/js_export_dir_none.yml +0 -6
  84. data/spec/fixtures/js_extend_parent.yml +0 -6
  85. data/spec/fixtures/js_extend_segment.yml +0 -6
  86. data/spec/fixtures/js_file_per_locale.yml +0 -7
  87. data/spec/fixtures/js_file_per_locale_with_fallbacks_as_default_locale_symbol.yml +0 -4
  88. data/spec/fixtures/js_file_per_locale_with_fallbacks_as_hash.yml +0 -6
  89. data/spec/fixtures/js_file_per_locale_with_fallbacks_as_locale.yml +0 -4
  90. data/spec/fixtures/js_file_per_locale_with_fallbacks_as_locale_without_fallback_translations.yml +0 -4
  91. data/spec/fixtures/js_file_per_locale_with_fallbacks_enabled.yml +0 -4
  92. data/spec/fixtures/js_file_per_locale_without_fallbacks.yml +0 -4
  93. data/spec/fixtures/js_file_with_namespace_prefix_and_pretty_print.yml +0 -9
  94. data/spec/fixtures/js_sort_translation_keys_false.yml +0 -6
  95. data/spec/fixtures/js_sort_translation_keys_true.yml +0 -6
  96. data/spec/fixtures/json_only.yml +0 -18
  97. data/spec/fixtures/locales.yml +0 -133
  98. data/spec/fixtures/merge_plurals.yml +0 -6
  99. data/spec/fixtures/merge_plurals_with_no_overrides.yml +0 -4
  100. data/spec/fixtures/merge_plurals_with_partial_overrides.yml +0 -4
  101. data/spec/fixtures/millions.yml +0 -4
  102. data/spec/fixtures/multiple_conditions.yml +0 -7
  103. data/spec/fixtures/multiple_conditions_per_locale.yml +0 -7
  104. data/spec/fixtures/multiple_files.yml +0 -7
  105. data/spec/fixtures/no_config.yml +0 -2
  106. data/spec/fixtures/no_scope.yml +0 -4
  107. data/spec/fixtures/simple_scope.yml +0 -5
  108. data/spec/js/currency.spec.js +0 -62
  109. data/spec/js/current_locale.spec.js +0 -19
  110. data/spec/js/dates.spec.js +0 -276
  111. data/spec/js/defaults.spec.js +0 -31
  112. data/spec/js/extend.spec.js +0 -110
  113. data/spec/js/interpolation.spec.js +0 -124
  114. data/spec/js/jasmine/MIT.LICENSE +0 -20
  115. data/spec/js/jasmine/jasmine-html.js +0 -190
  116. data/spec/js/jasmine/jasmine.css +0 -166
  117. data/spec/js/jasmine/jasmine.js +0 -2476
  118. data/spec/js/jasmine/jasmine_favicon.png +0 -0
  119. data/spec/js/json_parsable.spec.js +0 -14
  120. data/spec/js/locales.spec.js +0 -31
  121. data/spec/js/localization.spec.js +0 -78
  122. data/spec/js/numbers.spec.js +0 -174
  123. data/spec/js/placeholder.spec.js +0 -24
  124. data/spec/js/pluralization.spec.js +0 -228
  125. data/spec/js/prepare_options.spec.js +0 -41
  126. data/spec/js/require.js +0 -2083
  127. data/spec/js/specs.html +0 -49
  128. data/spec/js/specs_requirejs.html +0 -72
  129. data/spec/js/translate.spec.js +0 -304
  130. data/spec/js/translations.js +0 -188
  131. data/spec/js/utility_functions.spec.js +0 -20
  132. data/spec/ruby/i18n/js/fallback_locales_spec.rb +0 -84
  133. data/spec/ruby/i18n/js/segment_spec.rb +0 -286
  134. data/spec/ruby/i18n/js/utils_spec.rb +0 -138
  135. data/spec/ruby/i18n/js_spec.rb +0 -797
  136. data/spec/spec_helper.rb +0 -80
  137. data/yarn.lock +0 -138
@@ -1,240 +0,0 @@
1
- // https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Array/indexOf
2
- if (!Array.prototype.indexOf) {
3
- Array.prototype.indexOf = function (searchElement /*, fromIndex */ ) {
4
- "use strict";
5
- if (this == null) {
6
- throw new TypeError();
7
- }
8
- var t = Object(this);
9
- var len = t.length >>> 0;
10
- if (len === 0) {
11
- return -1;
12
- }
13
- var n = 0;
14
- if (arguments.length > 1) {
15
- n = Number(arguments[1]);
16
- if (n != n) { // shortcut for verifying if it's NaN
17
- n = 0;
18
- } else if (n != 0 && n != Infinity && n != -Infinity) {
19
- n = (n > 0 || -1) * Math.floor(Math.abs(n));
20
- }
21
- }
22
- if (n >= len) {
23
- return -1;
24
- }
25
- var k = n >= 0 ? n : Math.max(len - Math.abs(n), 0);
26
- for (; k < len; k++) {
27
- if (k in t && t[k] === searchElement) {
28
- return k;
29
- }
30
- }
31
- return -1;
32
- }
33
- }
34
-
35
- // Production steps of ECMA-262, Edition 5, 15.4.4.18
36
- // Reference: https://es5.github.com/#x15.4.4.18
37
- // https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Array/forEach
38
- if ( !Array.prototype.forEach ) {
39
-
40
- Array.prototype.forEach = function forEach( callback, thisArg ) {
41
-
42
- var T, k;
43
-
44
- if ( this == null ) {
45
- throw new TypeError( "this is null or not defined" );
46
- }
47
-
48
- // 1. Let O be the result of calling ToObject passing the |this| value as the argument.
49
- var O = Object(this);
50
-
51
- // 2. Let lenValue be the result of calling the Get internal method of O with the argument "length".
52
- // 3. Let len be ToUint32(lenValue).
53
- var len = O.length >>> 0; // Hack to convert O.length to a UInt32
54
-
55
- // 4. If IsCallable(callback) is false, throw a TypeError exception.
56
- // See: https://es5.github.com/#x9.11
57
- if ( {}.toString.call(callback) !== "[object Function]" ) {
58
- throw new TypeError( callback + " is not a function" );
59
- }
60
-
61
- // 5. If thisArg was supplied, let T be thisArg; else let T be undefined.
62
- if ( thisArg ) {
63
- T = thisArg;
64
- }
65
-
66
- // 6. Let k be 0
67
- k = 0;
68
-
69
- // 7. Repeat, while k < len
70
- while( k < len ) {
71
-
72
- var kValue;
73
-
74
- // a. Let Pk be ToString(k).
75
- // This is implicit for LHS operands of the in operator
76
- // b. Let kPresent be the result of calling the HasProperty internal method of O with argument Pk.
77
- // This step can be combined with c
78
- // c. If kPresent is true, then
79
- if ( Object.prototype.hasOwnProperty.call(O, k) ) {
80
-
81
- // i. Let kValue be the result of calling the Get internal method of O with argument Pk.
82
- kValue = O[ k ];
83
-
84
- // ii. Call the Call internal method of callback with T as the this value and
85
- // argument list containing kValue, k, and O.
86
- callback.call( T, kValue, k, O );
87
- }
88
- // d. Increase k by 1.
89
- k++;
90
- }
91
- // 8. return undefined
92
- };
93
- }
94
-
95
- // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/some
96
- if (!Array.prototype.some)
97
- {
98
- Array.prototype.some = function(fun /*, thisArg */)
99
- {
100
- 'use strict';
101
-
102
- if (this === void 0 || this === null)
103
- throw new TypeError();
104
-
105
- var t = Object(this);
106
- var len = t.length >>> 0;
107
- if (typeof fun !== 'function')
108
- throw new TypeError();
109
-
110
- var thisArg = arguments.length >= 2 ? arguments[1] : void 0;
111
- for (var i = 0; i < len; i++)
112
- {
113
- if (i in t && fun.call(thisArg, t[i], i, t))
114
- return true;
115
- }
116
-
117
- return false;
118
- };
119
- }
120
-
121
- // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/map
122
- if (!Array.prototype.map) {
123
-
124
- Array.prototype.map = function(callback/*, thisArg*/) {
125
-
126
- var T, A, k;
127
-
128
- if (this == null) {
129
- throw new TypeError('this is null or not defined');
130
- }
131
-
132
- // 1. Let O be the result of calling ToObject passing the |this|
133
- // value as the argument.
134
- var O = Object(this);
135
-
136
- // 2. Let lenValue be the result of calling the Get internal
137
- // method of O with the argument "length".
138
- // 3. Let len be ToUint32(lenValue).
139
- var len = O.length >>> 0;
140
-
141
- // 4. If IsCallable(callback) is false, throw a TypeError exception.
142
- // See: https://es5.github.com/#x9.11
143
- if (typeof callback !== 'function') {
144
- throw new TypeError(callback + ' is not a function');
145
- }
146
-
147
- // 5. If thisArg was supplied, let T be thisArg; else let T be undefined.
148
- if (arguments.length > 1) {
149
- T = arguments[1];
150
- }
151
-
152
- // 6. Let A be a new array created as if by the expression new Array(len)
153
- // where Array is the standard built-in constructor with that name and
154
- // len is the value of len.
155
- A = new Array(len);
156
-
157
- // 7. Let k be 0
158
- k = 0;
159
-
160
- // 8. Repeat, while k < len
161
- while (k < len) {
162
-
163
- var kValue, mappedValue;
164
-
165
- // a. Let Pk be ToString(k).
166
- // This is implicit for LHS operands of the in operator
167
- // b. Let kPresent be the result of calling the HasProperty internal
168
- // method of O with argument Pk.
169
- // This step can be combined with c
170
- // c. If kPresent is true, then
171
- if (k in O) {
172
-
173
- // i. Let kValue be the result of calling the Get internal
174
- // method of O with argument Pk.
175
- kValue = O[k];
176
-
177
- // ii. Let mappedValue be the result of calling the Call internal
178
- // method of callback with T as the this value and argument
179
- // list containing kValue, k, and O.
180
- mappedValue = callback.call(T, kValue, k, O);
181
-
182
- // iii. Call the DefineOwnProperty internal method of A with arguments
183
- // Pk, Property Descriptor
184
- // { Value: mappedValue,
185
- // Writable: true,
186
- // Enumerable: true,
187
- // Configurable: true },
188
- // and false.
189
-
190
- // In browsers that support Object.defineProperty, use the following:
191
- // Object.defineProperty(A, k, {
192
- // value: mappedValue,
193
- // writable: true,
194
- // enumerable: true,
195
- // configurable: true
196
- // });
197
-
198
- // For best browser support, use the following:
199
- A[k] = mappedValue;
200
- }
201
- // d. Increase k by 1.
202
- k++;
203
- }
204
-
205
- // 9. return A
206
- return A;
207
- };
208
- }
209
-
210
- // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_objects/Function/bind
211
- if (!Function.prototype.bind) (function(){
212
- var ArrayPrototypeSlice = Array.prototype.slice;
213
- Function.prototype.bind = function(otherThis) {
214
- if (typeof this !== 'function') {
215
- // closest thing possible to the ECMAScript 5
216
- // internal IsCallable function
217
- throw new TypeError('Function.prototype.bind - what is trying to be bound is not callable');
218
- }
219
-
220
- var baseArgs= ArrayPrototypeSlice .call(arguments, 1),
221
- baseArgsLength = baseArgs.length,
222
- fToBind = this,
223
- fNOP = function() {},
224
- fBound = function() {
225
- baseArgs.length = baseArgsLength; // reset to default base arguments
226
- baseArgs.push.apply(baseArgs, arguments);
227
- return fToBind.apply(
228
- fNOP.prototype.isPrototypeOf(this) ? this : otherThis, baseArgs
229
- );
230
- };
231
-
232
- if (this.prototype) {
233
- // Function.prototype doesn't have a prototype property
234
- fNOP.prototype = this.prototype;
235
- }
236
- fBound.prototype = new fNOP();
237
-
238
- return fBound;
239
- };
240
- })();
@@ -1,3 +0,0 @@
1
- //= require i18n/shims
2
- //= require i18n
3
- //= require i18n/filtered