i18n-js 2.1.2 → 3.9.2
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 +7 -0
- data/.editorconfig +24 -0
- data/.github/FUNDING.yml +3 -0
- data/.github/workflows/tests.yaml +106 -0
- data/.gitignore +6 -4
- data/.npmignore +27 -0
- data/Appraisals +52 -0
- data/CHANGELOG.md +575 -0
- data/Gemfile +1 -1
- data/README.md +1099 -0
- data/Rakefile +19 -7
- data/app/assets/javascripts/i18n/filtered.js.erb +23 -0
- data/app/assets/javascripts/i18n/shims.js +240 -0
- data/app/assets/javascripts/i18n/translations.js +3 -0
- data/app/assets/javascripts/i18n.js +1095 -0
- data/gemfiles/i18n_0_6.gemfile +7 -0
- data/gemfiles/i18n_0_7.gemfile +7 -0
- data/gemfiles/i18n_0_8.gemfile +7 -0
- data/gemfiles/i18n_0_9.gemfile +7 -0
- data/gemfiles/i18n_1_0.gemfile +7 -0
- data/gemfiles/i18n_1_1.gemfile +7 -0
- data/gemfiles/i18n_1_10.gemfile +7 -0
- data/gemfiles/i18n_1_2.gemfile +7 -0
- data/gemfiles/i18n_1_3.gemfile +7 -0
- data/gemfiles/i18n_1_4.gemfile +7 -0
- data/gemfiles/i18n_1_5.gemfile +7 -0
- data/gemfiles/i18n_1_6.gemfile +7 -0
- data/gemfiles/i18n_1_7.gemfile +7 -0
- data/gemfiles/i18n_1_8.gemfile +7 -0
- data/gemfiles/i18n_1_9.gemfile +7 -0
- data/i18n-js.gemspec +13 -10
- data/i18njs.png +0 -0
- data/lib/i18n/js/dependencies.rb +67 -0
- data/lib/i18n/js/engine.rb +87 -0
- data/lib/i18n/js/fallback_locales.rb +70 -0
- data/lib/i18n/js/formatters/base.rb +25 -0
- data/lib/i18n/js/formatters/js.rb +39 -0
- data/lib/i18n/js/formatters/json.rb +13 -0
- data/lib/{i18n-js → i18n/js}/middleware.rb +32 -9
- data/lib/i18n/js/private/config_store.rb +31 -0
- data/lib/i18n/js/private/hash_with_symbol_keys.rb +36 -0
- data/lib/i18n/js/segment.rb +81 -0
- data/lib/i18n/js/utils.rb +91 -0
- data/lib/i18n/js/version.rb +7 -0
- data/lib/i18n/js.rb +274 -0
- data/lib/i18n-js.rb +1 -177
- data/lib/rails/generators/i18n/js/config/config_generator.rb +19 -0
- data/{config → lib/rails/generators/i18n/js/config/templates}/i18n-js.yml +11 -6
- data/lib/tasks/export.rake +8 -0
- data/package.json +25 -0
- data/spec/fixtures/custom_path.yml +5 -0
- data/spec/fixtures/default.yml +5 -0
- data/spec/fixtures/erb.yml +5 -0
- data/spec/fixtures/except_condition.yml +7 -0
- data/spec/fixtures/js_available_locales_custom.yml +1 -0
- data/spec/fixtures/js_export_dir_custom.yml +7 -0
- data/spec/fixtures/js_export_dir_none.yml +6 -0
- data/spec/fixtures/js_extend_parent.yml +6 -0
- data/spec/fixtures/js_extend_segment.yml +6 -0
- data/spec/fixtures/js_file_per_locale.yml +7 -0
- data/spec/fixtures/js_file_per_locale_with_fallbacks_as_default_locale_symbol.yml +4 -0
- data/spec/fixtures/js_file_per_locale_with_fallbacks_as_hash.yml +6 -0
- data/spec/fixtures/js_file_per_locale_with_fallbacks_as_locale.yml +4 -0
- data/spec/fixtures/js_file_per_locale_with_fallbacks_as_locale_without_fallback_translations.yml +4 -0
- data/spec/fixtures/js_file_per_locale_with_fallbacks_enabled.yml +4 -0
- data/spec/fixtures/js_file_per_locale_without_fallbacks.yml +4 -0
- data/spec/fixtures/js_file_with_namespace_prefix_and_pretty_print.yml +9 -0
- data/spec/fixtures/js_sort_translation_keys_false.yml +6 -0
- data/spec/fixtures/js_sort_translation_keys_true.yml +6 -0
- data/spec/fixtures/json_only.yml +18 -0
- data/spec/{resources → fixtures}/locales.yml +58 -1
- data/spec/fixtures/merge_plurals.yml +6 -0
- data/spec/fixtures/merge_plurals_with_no_overrides.yml +4 -0
- data/spec/fixtures/merge_plurals_with_partial_overrides.yml +4 -0
- data/spec/fixtures/millions.yml +4 -0
- data/spec/fixtures/multiple_conditions.yml +7 -0
- data/spec/fixtures/multiple_conditions_per_locale.yml +7 -0
- data/spec/fixtures/multiple_files.yml +7 -0
- data/spec/{resources → fixtures}/no_config.yml +0 -0
- data/spec/fixtures/no_scope.yml +4 -0
- data/spec/fixtures/simple_scope.yml +5 -0
- data/spec/js/currency.spec.js +62 -0
- data/spec/js/current_locale.spec.js +19 -0
- data/spec/js/dates.spec.js +276 -0
- data/spec/js/defaults.spec.js +31 -0
- data/spec/js/extend.spec.js +110 -0
- data/spec/js/interpolation.spec.js +124 -0
- data/spec/js/jasmine/MIT.LICENSE +20 -0
- data/spec/js/jasmine/jasmine-html.js +190 -0
- data/spec/js/jasmine/jasmine.css +166 -0
- data/spec/js/jasmine/jasmine.js +2476 -0
- data/spec/js/jasmine/jasmine_favicon.png +0 -0
- data/spec/js/json_parsable.spec.js +14 -0
- data/spec/js/locales.spec.js +31 -0
- data/spec/js/localization.spec.js +78 -0
- data/spec/js/numbers.spec.js +174 -0
- data/spec/js/placeholder.spec.js +24 -0
- data/spec/js/pluralization.spec.js +228 -0
- data/spec/js/prepare_options.spec.js +41 -0
- data/spec/js/require.js +2083 -0
- data/spec/js/specs.html +49 -0
- data/spec/js/specs_requirejs.html +72 -0
- data/spec/js/translate.spec.js +304 -0
- data/spec/js/translations.js +188 -0
- data/spec/js/utility_functions.spec.js +20 -0
- data/spec/ruby/i18n/js/fallback_locales_spec.rb +84 -0
- data/spec/ruby/i18n/js/segment_spec.rb +286 -0
- data/spec/ruby/i18n/js/utils_spec.rb +138 -0
- data/spec/ruby/i18n/js_spec.rb +797 -0
- data/spec/spec_helper.rb +75 -14
- data/yarn.lock +138 -0
- metadata +225 -96
- data/.rspec +0 -1
- data/Gemfile.lock +0 -51
- data/README.rdoc +0 -305
- data/lib/i18n-js/engine.rb +0 -62
- data/lib/i18n-js/railtie.rb +0 -13
- data/lib/i18n-js/rake.rb +0 -16
- data/lib/i18n-js/version.rb +0 -10
- data/spec/i18n_spec.js +0 -768
- data/spec/i18n_spec.rb +0 -205
- data/spec/resources/custom_path.yml +0 -4
- data/spec/resources/default.yml +0 -4
- data/spec/resources/js_file_per_locale.yml +0 -3
- data/spec/resources/multiple_conditions.yml +0 -6
- data/spec/resources/multiple_files.yml +0 -6
- data/spec/resources/no_scope.yml +0 -3
- data/spec/resources/simple_scope.yml +0 -4
- data/vendor/assets/javascripts/i18n/translations.js.erb +0 -7
- data/vendor/assets/javascripts/i18n.js +0 -450
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 7d3a003954d81c9cbb7c2f18791ed8baf068f3fbbe6587ce59cd893b7852d1f2
|
4
|
+
data.tar.gz: d9fcb2bf3de34987021c2ac556ae65bcecbdfe6cbb638455d6e7919e03268d8c
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 07b6670d05343e82e44041379917a56ee72b185b1bfdcceefe6ae8eae9a1eece1852db7a378eaf8a38f5769ec76587737b200bfb22e50444a02e14bbb4b78793
|
7
|
+
data.tar.gz: afe058283a6af31ab843ba2c0da1f1949d37623a3e0823c786cb947b252eac51ffc25c4f856c01e9e1ec87546dd31dddf4705e1f6b5597a3edd02e950e674ed2
|
data/.editorconfig
ADDED
@@ -0,0 +1,24 @@
|
|
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
|
data/.github/FUNDING.yml
ADDED
@@ -0,0 +1,106 @@
|
|
1
|
+
name: Tests
|
2
|
+
|
3
|
+
on:
|
4
|
+
pull_request:
|
5
|
+
branches:
|
6
|
+
- main
|
7
|
+
- v3
|
8
|
+
paths-ignore:
|
9
|
+
- 'README.md'
|
10
|
+
push:
|
11
|
+
branches:
|
12
|
+
- main
|
13
|
+
- v3
|
14
|
+
paths-ignore:
|
15
|
+
- 'README.md'
|
16
|
+
|
17
|
+
jobs:
|
18
|
+
ruby_unit_tests:
|
19
|
+
name: Ruby Unit Tests
|
20
|
+
if: "contains(github.event.commits[0].message, '[ci skip]') == false"
|
21
|
+
strategy:
|
22
|
+
fail-fast: false
|
23
|
+
matrix:
|
24
|
+
os:
|
25
|
+
- ubuntu
|
26
|
+
ruby:
|
27
|
+
- 2.4
|
28
|
+
- 2.5
|
29
|
+
- 2.6
|
30
|
+
- 2.7
|
31
|
+
- '3.0'
|
32
|
+
- 3.1
|
33
|
+
gemfile:
|
34
|
+
- gemfiles/i18n_0_6.gemfile
|
35
|
+
- gemfiles/i18n_0_7.gemfile
|
36
|
+
- gemfiles/i18n_0_8.gemfile
|
37
|
+
- gemfiles/i18n_0_9.gemfile
|
38
|
+
- gemfiles/i18n_1_0.gemfile
|
39
|
+
- gemfiles/i18n_1_1.gemfile
|
40
|
+
- gemfiles/i18n_1_2.gemfile
|
41
|
+
- gemfiles/i18n_1_3.gemfile
|
42
|
+
- gemfiles/i18n_1_4.gemfile
|
43
|
+
- gemfiles/i18n_1_5.gemfile
|
44
|
+
- gemfiles/i18n_1_6.gemfile
|
45
|
+
- gemfiles/i18n_1_7.gemfile
|
46
|
+
- gemfiles/i18n_1_8.gemfile
|
47
|
+
- gemfiles/i18n_1_9.gemfile
|
48
|
+
- gemfiles/i18n_1_10.gemfile
|
49
|
+
allow_failures:
|
50
|
+
- false
|
51
|
+
include:
|
52
|
+
- os: ubuntu
|
53
|
+
ruby: ruby-head
|
54
|
+
gemfile: gemfiles/i18n_1_8.gemfile
|
55
|
+
allow_failures: true
|
56
|
+
env:
|
57
|
+
BUNDLE_GEMFILE: "${{ matrix.gemfile }}"
|
58
|
+
ALLOW_FAILURES: "${{ matrix.allow_failures }}"
|
59
|
+
runs-on: ${{ matrix.os }}-latest
|
60
|
+
continue-on-error: ${{ endsWith(matrix.ruby, 'head') || matrix.ruby == 'debug' }}
|
61
|
+
steps:
|
62
|
+
- name: Checkout
|
63
|
+
uses: actions/checkout@v2
|
64
|
+
- name: Setup Ruby
|
65
|
+
uses: ruby/setup-ruby@v1
|
66
|
+
with:
|
67
|
+
ruby-version: ${{ matrix.ruby }}
|
68
|
+
bundler-cache: true
|
69
|
+
- name: Test
|
70
|
+
run: bundle exec rake spec:ruby || $ALLOW_FAILURES
|
71
|
+
|
72
|
+
js_unit_tests:
|
73
|
+
name: JS Unit Tests
|
74
|
+
if: "contains(github.event.commits[0].message, '[ci skip]') == false"
|
75
|
+
strategy:
|
76
|
+
fail-fast: false
|
77
|
+
matrix:
|
78
|
+
os:
|
79
|
+
- ubuntu
|
80
|
+
node:
|
81
|
+
- 10
|
82
|
+
- 12
|
83
|
+
- 14
|
84
|
+
runs-on: ${{ matrix.os }}-latest
|
85
|
+
steps:
|
86
|
+
- name: Checkout
|
87
|
+
uses: actions/checkout@v2
|
88
|
+
- name: Setup node
|
89
|
+
uses: actions/setup-node@v1
|
90
|
+
with:
|
91
|
+
node-version: ${{ matrix.node }}
|
92
|
+
- name: Get yarn cache directory path
|
93
|
+
id: yarn-cache-dir-path
|
94
|
+
run: echo "::set-output name=dir::$(yarn cache dir)"
|
95
|
+
- uses: actions/cache@v2
|
96
|
+
id: yarn-cache # use this to check for `cache-hit` (`steps.yarn-cache.outputs.cache-hit != 'true'`)
|
97
|
+
with:
|
98
|
+
path: ${{ steps.yarn-cache-dir-path.outputs.dir }}
|
99
|
+
key: ${{ runner.os }}-yarn-${{ github.ref }}-${{ github.sha }}
|
100
|
+
restore-keys: |
|
101
|
+
${{ runner.os }}-yarn-${{ github.ref }}-
|
102
|
+
${{ runner.os }}-yarn-
|
103
|
+
- name: Install JS Dependencies
|
104
|
+
run: yarn install
|
105
|
+
- name: Test
|
106
|
+
run: npm test
|
data/.gitignore
CHANGED
data/.npmignore
ADDED
@@ -0,0 +1,27 @@
|
|
1
|
+
# https://docs.npmjs.com/misc/developers#keeping-files-out-of-your-package
|
2
|
+
|
3
|
+
# tests
|
4
|
+
spec
|
5
|
+
coverage
|
6
|
+
|
7
|
+
# build tools
|
8
|
+
.travis.yml
|
9
|
+
|
10
|
+
# linters
|
11
|
+
.jscsrc
|
12
|
+
.jshintrc
|
13
|
+
.eslintrc*
|
14
|
+
|
15
|
+
# editor settings
|
16
|
+
.idea
|
17
|
+
.editorconfig
|
18
|
+
|
19
|
+
# Ruby code
|
20
|
+
app/assets/javascripts/i18n/
|
21
|
+
gemfiles
|
22
|
+
lib
|
23
|
+
Gemfile*
|
24
|
+
*.gemspec
|
25
|
+
Rakefile
|
26
|
+
Appraisals
|
27
|
+
|
data/Appraisals
ADDED
@@ -0,0 +1,52 @@
|
|
1
|
+
|
2
|
+
appraise "i18n_0_8" do
|
3
|
+
gem "i18n", "~> 0.8.0"
|
4
|
+
end
|
5
|
+
|
6
|
+
appraise "i18n_0_9" do
|
7
|
+
gem "i18n", "~> 0.9.0"
|
8
|
+
end
|
9
|
+
|
10
|
+
appraise "i18n_1_0" do
|
11
|
+
gem "i18n", "~> 1.0.0"
|
12
|
+
end
|
13
|
+
|
14
|
+
appraise "i18n_1_1" do
|
15
|
+
gem "i18n", "~> 1.1.0"
|
16
|
+
end
|
17
|
+
|
18
|
+
appraise "i18n_1_2" do
|
19
|
+
gem "i18n", "~> 1.2.0"
|
20
|
+
end
|
21
|
+
|
22
|
+
appraise "i18n_1_3" do
|
23
|
+
gem "i18n", "~> 1.3.0"
|
24
|
+
end
|
25
|
+
|
26
|
+
appraise "i18n_1_4" do
|
27
|
+
gem "i18n", "~> 1.4.0"
|
28
|
+
end
|
29
|
+
|
30
|
+
appraise "i18n_1_5" do
|
31
|
+
gem "i18n", "~> 1.5.1"
|
32
|
+
end
|
33
|
+
|
34
|
+
appraise "i18n_1_6" do
|
35
|
+
gem "i18n", "~> 1.6.0"
|
36
|
+
end
|
37
|
+
|
38
|
+
appraise "i18n_1_7" do
|
39
|
+
gem "i18n", "~> 1.7.0"
|
40
|
+
end
|
41
|
+
|
42
|
+
appraise "i18n_1_8" do
|
43
|
+
gem "i18n", "~> 1.8.0"
|
44
|
+
end
|
45
|
+
|
46
|
+
appraise "i18n_1_9" do
|
47
|
+
gem "i18n", "~> 1.9.0"
|
48
|
+
end
|
49
|
+
|
50
|
+
appraise "i18n_1_10" do
|
51
|
+
gem "i18n", "~> 1.10.0"
|
52
|
+
end
|