i18n-js 3.2.1 → 4.2.2

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 +3 -0
  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 +73 -0
  10. data/.gitignore +13 -7
  11. data/.rubocop.yml +19 -0
  12. data/CHANGELOG.md +45 -386
  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/MIGRATING_FROM_V3_TO_V4.md +191 -0
  18. data/README.md +439 -791
  19. data/Rakefile +10 -20
  20. data/bin/release +81 -0
  21. data/exe/i18n +5 -0
  22. data/i18n-js.gemspec +51 -29
  23. data/lib/guard/i18n-js/templates/Guardfile +10 -0
  24. data/lib/guard/i18n-js/version.rb +13 -0
  25. data/lib/guard/i18n-js.rb +95 -0
  26. data/lib/i18n-js/clean_hash.rb +13 -0
  27. data/lib/i18n-js/cli/check_command.rb +17 -0
  28. data/lib/i18n-js/cli/command.rb +79 -0
  29. data/lib/i18n-js/cli/export_command.rb +95 -0
  30. data/lib/i18n-js/cli/init_command.rb +52 -0
  31. data/lib/i18n-js/cli/lint_scripts_command.rb +157 -0
  32. data/lib/i18n-js/cli/lint_translations_command.rb +155 -0
  33. data/lib/i18n-js/cli/plugins_command.rb +67 -0
  34. data/lib/i18n-js/cli/ui.rb +64 -0
  35. data/lib/i18n-js/cli/version_command.rb +18 -0
  36. data/lib/i18n-js/cli.rb +66 -0
  37. data/lib/i18n-js/embed_fallback_translations_plugin.rb +70 -0
  38. data/lib/i18n-js/export_files_plugin.rb +103 -0
  39. data/lib/i18n-js/lint.js +150645 -0
  40. data/lib/i18n-js/lint.ts +196 -0
  41. data/lib/i18n-js/listen.rb +96 -0
  42. data/lib/i18n-js/plugin.rb +103 -0
  43. data/lib/i18n-js/schema.rb +216 -0
  44. data/lib/i18n-js/sort_hash.rb +12 -0
  45. data/lib/i18n-js/version.rb +5 -0
  46. data/lib/i18n-js.rb +107 -1
  47. data/package.json +5 -20
  48. metadata +153 -181
  49. data/.editorconfig +0 -24
  50. data/.npmignore +0 -27
  51. data/.travis.yml +0 -36
  52. data/Appraisals +0 -32
  53. data/app/assets/javascripts/i18n/filtered.js.erb +0 -23
  54. data/app/assets/javascripts/i18n/shims.js +0 -208
  55. data/app/assets/javascripts/i18n/translations.js +0 -3
  56. data/app/assets/javascripts/i18n.js +0 -1077
  57. data/gemfiles/i18n_0_6.gemfile +0 -7
  58. data/gemfiles/i18n_0_7.gemfile +0 -7
  59. data/gemfiles/i18n_0_8.gemfile +0 -7
  60. data/gemfiles/i18n_0_9.gemfile +0 -7
  61. data/gemfiles/i18n_1_0.gemfile +0 -7
  62. data/gemfiles/i18n_1_1.gemfile +0 -7
  63. data/gemfiles/i18n_1_2.gemfile +0 -7
  64. data/gemfiles/i18n_1_3.gemfile +0 -7
  65. data/gemfiles/i18n_1_4.gemfile +0 -7
  66. data/gemfiles/i18n_1_5.gemfile +0 -7
  67. data/lib/i18n/js/dependencies.rb +0 -59
  68. data/lib/i18n/js/engine.rb +0 -87
  69. data/lib/i18n/js/fallback_locales.rb +0 -70
  70. data/lib/i18n/js/formatters/base.rb +0 -23
  71. data/lib/i18n/js/formatters/js.rb +0 -31
  72. data/lib/i18n/js/formatters/json.rb +0 -13
  73. data/lib/i18n/js/middleware.rb +0 -82
  74. data/lib/i18n/js/private/hash_with_symbol_keys.rb +0 -36
  75. data/lib/i18n/js/segment.rb +0 -75
  76. data/lib/i18n/js/utils.rb +0 -65
  77. data/lib/i18n/js/version.rb +0 -7
  78. data/lib/i18n/js.rb +0 -259
  79. data/lib/rails/generators/i18n/js/config/config_generator.rb +0 -19
  80. data/lib/rails/generators/i18n/js/config/templates/i18n-js.yml +0 -27
  81. data/lib/tasks/export.rake +0 -8
  82. data/spec/fixtures/custom_path.yml +0 -5
  83. data/spec/fixtures/default.yml +0 -5
  84. data/spec/fixtures/erb.yml +0 -5
  85. data/spec/fixtures/except_condition.yml +0 -7
  86. data/spec/fixtures/js_export_dir_custom.yml +0 -7
  87. data/spec/fixtures/js_export_dir_none.yml +0 -6
  88. data/spec/fixtures/js_extend_parent.yml +0 -6
  89. data/spec/fixtures/js_extend_segment.yml +0 -6
  90. data/spec/fixtures/js_file_per_locale.yml +0 -7
  91. data/spec/fixtures/js_file_per_locale_with_fallbacks_as_default_locale_symbol.yml +0 -4
  92. data/spec/fixtures/js_file_per_locale_with_fallbacks_as_hash.yml +0 -6
  93. data/spec/fixtures/js_file_per_locale_with_fallbacks_as_locale.yml +0 -4
  94. data/spec/fixtures/js_file_per_locale_with_fallbacks_as_locale_without_fallback_translations.yml +0 -4
  95. data/spec/fixtures/js_file_per_locale_with_fallbacks_enabled.yml +0 -4
  96. data/spec/fixtures/js_file_per_locale_without_fallbacks.yml +0 -4
  97. data/spec/fixtures/js_file_with_namespace_and_pretty_print.yml +0 -7
  98. data/spec/fixtures/js_sort_translation_keys_false.yml +0 -6
  99. data/spec/fixtures/js_sort_translation_keys_true.yml +0 -6
  100. data/spec/fixtures/json_only.yml +0 -18
  101. data/spec/fixtures/locales.yml +0 -95
  102. data/spec/fixtures/merge_plurals.yml +0 -6
  103. data/spec/fixtures/multiple_conditions.yml +0 -7
  104. data/spec/fixtures/multiple_conditions_per_locale.yml +0 -7
  105. data/spec/fixtures/multiple_files.yml +0 -7
  106. data/spec/fixtures/no_config.yml +0 -2
  107. data/spec/fixtures/no_scope.yml +0 -4
  108. data/spec/fixtures/simple_scope.yml +0 -5
  109. data/spec/js/currency.spec.js +0 -62
  110. data/spec/js/current_locale.spec.js +0 -19
  111. data/spec/js/dates.spec.js +0 -265
  112. data/spec/js/defaults.spec.js +0 -31
  113. data/spec/js/extend.spec.js +0 -110
  114. data/spec/js/interpolation.spec.js +0 -124
  115. data/spec/js/jasmine/MIT.LICENSE +0 -20
  116. data/spec/js/jasmine/jasmine-html.js +0 -190
  117. data/spec/js/jasmine/jasmine.css +0 -166
  118. data/spec/js/jasmine/jasmine.js +0 -2476
  119. data/spec/js/jasmine/jasmine_favicon.png +0 -0
  120. data/spec/js/locales.spec.js +0 -31
  121. data/spec/js/localization.spec.js +0 -48
  122. data/spec/js/numbers.spec.js +0 -170
  123. data/spec/js/placeholder.spec.js +0 -24
  124. data/spec/js/pluralization.spec.js +0 -211
  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 -284
  130. data/spec/js/translations.js +0 -163
  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 -219
  134. data/spec/ruby/i18n/js/utils_spec.rb +0 -106
  135. data/spec/ruby/i18n/js_spec.rb +0 -663
  136. data/spec/spec_helper.rb +0 -79
  137. data/yarn.lock +0 -131
@@ -1,23 +0,0 @@
1
- <%# encoding: utf-8 %>
2
-
3
- // Using UMD pattern from
4
- // https://github.com/umdjs/umd#regular-module
5
- // `returnExports.js` version
6
- ;(function (root, factory) {
7
- if (typeof define === 'function' && define.amd) {
8
- // AMD. Register as an anonymous module.
9
- define(["i18n"], factory);
10
- } else if (typeof module === 'object' && module.exports) {
11
- // Node. Does not work with strict CommonJS, but
12
- // only CommonJS-like environments that support module.exports,
13
- // like Node.
14
- factory(require("i18n"));
15
- } else {
16
- // Browser globals (root is window)
17
- factory(root.I18n);
18
- }
19
- }(this, function(I18n) {
20
- "use strict";
21
-
22
- I18n.translations = <%= I18n::JS.filtered_translations.to_json %>;
23
- }));
@@ -1,208 +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: http://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: http://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: http://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
- }
@@ -1,3 +0,0 @@
1
- //= require i18n/shims
2
- //= require i18n
3
- //= require i18n/filtered