i18n-js 3.9.2 → 4.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (138) 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 +17 -569
  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 +206 -997
  19. data/Rakefile +10 -20
  20. data/exe/i18n +5 -0
  21. data/i18n-js.gemspec +48 -29
  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 +95 -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 +95 -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 +95 -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 -199
  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/i18njs.png +0 -0
  61. data/lib/i18n/js/dependencies.rb +0 -67
  62. data/lib/i18n/js/engine.rb +0 -87
  63. data/lib/i18n/js/fallback_locales.rb +0 -70
  64. data/lib/i18n/js/formatters/base.rb +0 -25
  65. data/lib/i18n/js/formatters/js.rb +0 -39
  66. data/lib/i18n/js/formatters/json.rb +0 -13
  67. data/lib/i18n/js/middleware.rb +0 -82
  68. data/lib/i18n/js/private/config_store.rb +0 -31
  69. data/lib/i18n/js/private/hash_with_symbol_keys.rb +0 -36
  70. data/lib/i18n/js/segment.rb +0 -81
  71. data/lib/i18n/js/utils.rb +0 -91
  72. data/lib/i18n/js/version.rb +0 -7
  73. data/lib/i18n/js.rb +0 -274
  74. data/lib/rails/generators/i18n/js/config/config_generator.rb +0 -19
  75. data/lib/rails/generators/i18n/js/config/templates/i18n-js.yml +0 -27
  76. data/lib/tasks/export.rake +0 -8
  77. data/package.json +0 -25
  78. data/spec/fixtures/custom_path.yml +0 -5
  79. data/spec/fixtures/default.yml +0 -5
  80. data/spec/fixtures/erb.yml +0 -5
  81. data/spec/fixtures/except_condition.yml +0 -7
  82. data/spec/fixtures/js_available_locales_custom.yml +0 -1
  83. data/spec/fixtures/js_export_dir_custom.yml +0 -7
  84. data/spec/fixtures/js_export_dir_none.yml +0 -6
  85. data/spec/fixtures/js_extend_parent.yml +0 -6
  86. data/spec/fixtures/js_extend_segment.yml +0 -6
  87. data/spec/fixtures/js_file_per_locale.yml +0 -7
  88. data/spec/fixtures/js_file_per_locale_with_fallbacks_as_default_locale_symbol.yml +0 -4
  89. data/spec/fixtures/js_file_per_locale_with_fallbacks_as_hash.yml +0 -6
  90. data/spec/fixtures/js_file_per_locale_with_fallbacks_as_locale.yml +0 -4
  91. data/spec/fixtures/js_file_per_locale_with_fallbacks_as_locale_without_fallback_translations.yml +0 -4
  92. data/spec/fixtures/js_file_per_locale_with_fallbacks_enabled.yml +0 -4
  93. data/spec/fixtures/js_file_per_locale_without_fallbacks.yml +0 -4
  94. data/spec/fixtures/js_file_with_namespace_prefix_and_pretty_print.yml +0 -9
  95. data/spec/fixtures/js_sort_translation_keys_false.yml +0 -6
  96. data/spec/fixtures/js_sort_translation_keys_true.yml +0 -6
  97. data/spec/fixtures/json_only.yml +0 -18
  98. data/spec/fixtures/locales.yml +0 -133
  99. data/spec/fixtures/merge_plurals.yml +0 -6
  100. data/spec/fixtures/merge_plurals_with_no_overrides.yml +0 -4
  101. data/spec/fixtures/merge_plurals_with_partial_overrides.yml +0 -4
  102. data/spec/fixtures/millions.yml +0 -4
  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 -276
  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/json_parsable.spec.js +0 -14
  121. data/spec/js/locales.spec.js +0 -31
  122. data/spec/js/localization.spec.js +0 -78
  123. data/spec/js/numbers.spec.js +0 -174
  124. data/spec/js/placeholder.spec.js +0 -24
  125. data/spec/js/pluralization.spec.js +0 -228
  126. data/spec/js/prepare_options.spec.js +0 -41
  127. data/spec/js/require.js +0 -2083
  128. data/spec/js/specs.html +0 -49
  129. data/spec/js/specs_requirejs.html +0 -72
  130. data/spec/js/translate.spec.js +0 -304
  131. data/spec/js/translations.js +0 -188
  132. data/spec/js/utility_functions.spec.js +0 -20
  133. data/spec/ruby/i18n/js/fallback_locales_spec.rb +0 -84
  134. data/spec/ruby/i18n/js/segment_spec.rb +0 -286
  135. data/spec/ruby/i18n/js/utils_spec.rb +0 -138
  136. data/spec/ruby/i18n/js_spec.rb +0 -797
  137. data/spec/spec_helper.rb +0 -80
  138. data/yarn.lock +0 -138
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 7d3a003954d81c9cbb7c2f18791ed8baf068f3fbbe6587ce59cd893b7852d1f2
4
- data.tar.gz: d9fcb2bf3de34987021c2ac556ae65bcecbdfe6cbb638455d6e7919e03268d8c
3
+ metadata.gz: fb5f60568907f90a59b7d19a6b2f61cf9a3fff95ea419b1b8b31deab16529dc6
4
+ data.tar.gz: ca65b2bf6717b93218092e8c994cdbac8af6bc69fddab421ebef976c87dc5503
5
5
  SHA512:
6
- metadata.gz: 07b6670d05343e82e44041379917a56ee72b185b1bfdcceefe6ae8eae9a1eece1852db7a378eaf8a38f5769ec76587737b200bfb22e50444a02e14bbb4b78793
7
- data.tar.gz: afe058283a6af31ab843ba2c0da1f1949d37623a3e0823c786cb947b252eac51ffc25c4f856c01e9e1ec87546dd31dddf4705e1f6b5597a3edd02e950e674ed2
6
+ metadata.gz: 3e33c8605b5197cbdc6a8f30ef1cb7e5f911f84dd177d488489fcfc82e5dd2b8fb3e387b0fe89683c3e71c6025ff7b47685163317540c4e2c5c756936660be55
7
+ data.tar.gz: b4367db58b89392c42c94121ccdde7179e1ea455de6c20685ded2c034304ce4c8c44cbfa1a4967610443e4f91116058ee86bc14d2e913a2c6006ee648c189dd9
@@ -0,0 +1,4 @@
1
+ # You can read more about CODEOWNERS at
2
+ # https://help.github.com/github/creating-cloning-and-archiving-repositories/about-code-owners
3
+
4
+ * @fnando
data/.github/FUNDING.yml CHANGED
@@ -1,3 +1,3 @@
1
1
  ---
2
- github: ["fnando"]
2
+ github: [fnando]
3
3
  custom: ["https://paypal.me/nandovieira/🍕"]
@@ -0,0 +1,41 @@
1
+ ---
2
+ name: "🐛 Bug Report"
3
+ about: Report a reproducible bug or regression.
4
+ title: 'Bug: '
5
+ labels: 'Status: Unconfirmed'
6
+
7
+ ---
8
+
9
+ <!--
10
+ - Please provide a clear and concise description of what the bug is.
11
+ - If possible, add an example reproducing your issue.
12
+ - Please test using the latest version of i18n-js
13
+ to make sure your issue has not already been fixed.
14
+ -->
15
+
16
+ ## Description
17
+
18
+ [Add bug description here]
19
+
20
+ ## How to reproduce
21
+
22
+ [Add steps on how to reproduce this issue]
23
+
24
+ ## What do you expect
25
+
26
+ [Describe what do you expect to happen]
27
+
28
+ ## What happened instead
29
+
30
+ [Describe the actual results]
31
+
32
+ ## Software:
33
+
34
+ - Gem version: [Add gem version here]
35
+ - Ruby version: [Add version here]
36
+
37
+ ## Full backtrace
38
+
39
+ ```text
40
+ [Paste full backtrace here]
41
+ ```
@@ -0,0 +1,5 @@
1
+ ---
2
+ contact_links:
3
+ - name: "🤨 Q&A"
4
+ url: https://github.com/fnando/i18n-js/discussions/new?category=q-a
5
+ about: Have a question? Ask it away here!
@@ -0,0 +1,23 @@
1
+ ---
2
+ name: "💡 Feature request"
3
+ about: Have an idea that may be useful? Make a suggestion!
4
+ title: 'Feature Request: '
5
+ labels: 'Feature request'
6
+
7
+ ---
8
+
9
+ ## Description
10
+
11
+ _A clear and concise description of what the problem is._
12
+
13
+ ## Describe the solution
14
+
15
+ _A clear and concise description of what you want to happen._
16
+
17
+ ## Alternatives you considered
18
+
19
+ _A clear and concise description of any alternative solutions or features you've considered._
20
+
21
+ ## Additional context
22
+
23
+ _Add any other context, screenshots, links, etc about the feature request here._
@@ -0,0 +1,38 @@
1
+ <!--
2
+ If you're making a doc PR or something tiny where the below is irrelevant,
3
+ delete this template and use a short description, but in your description aim to
4
+ include both what the change is, and why it is being made, with enough context
5
+ for anyone to understand.
6
+ -->
7
+
8
+ <details>
9
+ <summary>PR Checklist</summary>
10
+
11
+ ### PR Structure
12
+
13
+ - [ ] This PR has reasonably narrow scope (if not, break it down into smaller
14
+ PRs).
15
+ - [ ] This PR avoids mixing refactoring changes with feature changes (split into
16
+ two PRs otherwise).
17
+ - [ ] This PR's title starts is concise and descriptive.
18
+
19
+ ### Thoroughness
20
+
21
+ - [ ] This PR adds tests for the most critical parts of the new functionality or
22
+ fixes.
23
+ - [ ] I've updated any docs, `.md` files, etc… affected by this change.
24
+
25
+ </details>
26
+
27
+ ### What
28
+
29
+ [TODO: Short statement about what is changing.]
30
+
31
+ ### Why
32
+
33
+ [TODO: Why this change is being made. Include any context required to understand
34
+ the why.]
35
+
36
+ ### Known limitations
37
+
38
+ [TODO or N/A]
@@ -0,0 +1,15 @@
1
+ ---
2
+ # Documentation:
3
+ # https://help.github.com/github/administering-a-repository/configuration-options-for-dependency-updates
4
+
5
+ version: 2
6
+ updates:
7
+ - package-ecosystem: "github-actions"
8
+ directory: "/"
9
+ schedule:
10
+ interval: "daily"
11
+
12
+ - package-ecosystem: "bundler"
13
+ directory: "/"
14
+ schedule:
15
+ interval: "daily"
@@ -0,0 +1,52 @@
1
+ ---
2
+ name: ruby-tests
3
+
4
+ on:
5
+ pull_request_target:
6
+ push:
7
+ workflow_dispatch:
8
+ inputs: {}
9
+
10
+ jobs:
11
+ build:
12
+ name: Tests with Ruby ${{ matrix.ruby }} and ${{ matrix.gemfile }}
13
+ runs-on: "ubuntu-latest"
14
+ strategy:
15
+ fail-fast: false
16
+ matrix:
17
+ ruby: ["2.7", "3.0", "3.1"]
18
+ gemfile:
19
+ - Gemfile
20
+ if: |
21
+ github.actor == 'dependabot[bot]' && github.event_name == 'pull_request_target' ||
22
+ github.actor != 'dependabot[bot]'
23
+
24
+ steps:
25
+ - uses: actions/checkout@v3
26
+
27
+ - uses: actions/cache@v3
28
+ id: bundler-cache
29
+ with:
30
+ path: vendor/bundle
31
+ key: >
32
+ ${{ runner.os }}-${{ matrix.ruby }}-gems-${{
33
+ hashFiles(matrix.gemfile) }}
34
+
35
+ - name: Set up Ruby
36
+ uses: ruby/setup-ruby@v1
37
+ with:
38
+ ruby-version: ${{ matrix.ruby }}
39
+
40
+ - name: Install gem dependencies
41
+ env:
42
+ BUNDLE_GEMFILE: ${{ matrix.gemfile }}
43
+ run: |
44
+ gem install bundler
45
+ bundle config path vendor/bundle
46
+ bundle update --jobs 4 --retry 3
47
+
48
+ - name: Run Tests
49
+ env:
50
+ BUNDLE_GEMFILE: ${{ matrix.gemfile }}
51
+ run: |
52
+ bundle exec rake
data/.gitignore CHANGED
@@ -1,7 +1,11 @@
1
- pkg
2
- node_modules
3
- Gemfile.lock
4
- .idea/
5
- coverage/
6
- gemfiles/*.gemfile.lock
7
- gemfiles/.bundle
1
+ /.bundle/
2
+ /.yardoc
3
+ /_yardoc/
4
+ /coverage/
5
+ /doc/
6
+ /pkg/
7
+ /spec/reports/
8
+ /tmp/
9
+ /vendor/
10
+ *.log
11
+ *.lock
data/.rubocop.yml ADDED
@@ -0,0 +1,16 @@
1
+ ---
2
+ inherit_gem:
3
+ rubocop-fnando: .rubocop.yml
4
+
5
+ AllCops:
6
+ TargetRubyVersion: 2.6
7
+ NewCops: enable
8
+ Exclude:
9
+ - tmp/**/*
10
+ - vendor/**/*
11
+ - gemfiles/**/*
12
+
13
+ Naming/FileName:
14
+ Exclude:
15
+ - lib/i18n-js.rb
16
+ - lib/guard/i18n-js.rb