i18n-tasks 0.9.35 → 0.9.36
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +4 -4
- data/config/locales/ru.yml +1 -0
- data/lib/i18n/tasks/base_task.rb +1 -1
- data/lib/i18n/tasks/command/options/data.rb +3 -1
- data/lib/i18n/tasks/scanners/ruby_key_literals.rb +5 -3
- data/lib/i18n/tasks/used_keys.rb +1 -1
- data/lib/i18n/tasks/version.rb +1 -1
- data/lib/i18n/tasks.rb +6 -7
- data/templates/config/i18n-tasks.yml +1 -1
- metadata +5 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: cde1b3151cfb69975e8512b714de8707a8ad79a7dd38ec299a282450297399f9
|
4
|
+
data.tar.gz: f98141b89b24a49b163823af6351476024b1a676d0b89a781c49dc3a10ffc1a7
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 364b4d1d23802bfbabab3c41c7c39677f263925459f6be39c1e746e1f07221bfb487b1dbc425e8643ebacaaa20b35c3f08eb5d00fabe7237b35556a30759a67b
|
7
|
+
data.tar.gz: 9c7889833088afd77d439cc3517b99f01100cb507ca329ce30b36193054c5747b98e7fae2b972d006daa6c9973376da02c8c137ff26471fe758409677d7cdc02
|
data/README.md
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
# i18n-tasks [![Build Status][badge-
|
1
|
+
# i18n-tasks [![Build Status][badge-ci]][ci] [![Coverage Status][badge-coverage]][coverage] [![Gitter](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/glebm/i18n-tasks?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
|
2
2
|
|
3
3
|
i18n-tasks helps you find and manage missing and unused translations.
|
4
4
|
|
@@ -22,7 +22,7 @@ i18n-tasks can be used with any project using the ruby [i18n gem][i18n-gem] (def
|
|
22
22
|
Add i18n-tasks to the Gemfile:
|
23
23
|
|
24
24
|
```ruby
|
25
|
-
gem 'i18n-tasks', '~> 0.9.
|
25
|
+
gem 'i18n-tasks', '~> 0.9.36'
|
26
26
|
```
|
27
27
|
|
28
28
|
Copy the default [configuration file](#configuration):
|
@@ -435,8 +435,8 @@ Tasks that come with the gem are defined in [lib/i18n/tasks/command/commands](li
|
|
435
435
|
Custom tasks can be added easily, see the examples [on the wiki](https://github.com/glebm/i18n-tasks/wiki#custom-tasks).
|
436
436
|
|
437
437
|
[MIT license]: /LICENSE.txt
|
438
|
-
[
|
439
|
-
[badge-
|
438
|
+
[ci]: https://github.com/glebm/i18n-tasks/actions/workflows/tests.yml
|
439
|
+
[badge-ci]: https://github.com/glebm/i18n-tasks/actions/workflows/tests.yml/badge.svg
|
440
440
|
[coverage]: https://codeclimate.com/github/glebm/i18n-tasks
|
441
441
|
[badge-coverage]: https://api.codeclimate.com/v1/badges/5d173e90ada8df07cedc/test_coverage
|
442
442
|
[config]: https://github.com/glebm/i18n-tasks/blob/master/templates/config/i18n-tasks.yml
|
data/config/locales/ru.yml
CHANGED
@@ -8,6 +8,7 @@ ru:
|
|
8
8
|
default_text: 'По умолчанию: %{value}'
|
9
9
|
desc:
|
10
10
|
all_locales: Не ожидать, что маски ключа начинаются с локали. Применять маски ко всем локалям.
|
11
|
+
config: Путь к файлу конфигурации
|
11
12
|
confirm: Подтвердить автоматом
|
12
13
|
data_format: 'Формат данных: %{valid_text}.'
|
13
14
|
keep_order: Keep the order of the keys
|
data/lib/i18n/tasks/base_task.rb
CHANGED
@@ -9,7 +9,7 @@ module I18n::Tasks
|
|
9
9
|
include Command::DSL
|
10
10
|
|
11
11
|
DATA_FORMATS = %w[yaml json keys].freeze
|
12
|
-
OUT_FORMATS = ['terminal-table', *DATA_FORMATS, 'inspect'].freeze
|
12
|
+
OUT_FORMATS = ['terminal-table', *DATA_FORMATS, 'inspect', 'key-values'].freeze
|
13
13
|
|
14
14
|
format_arg = proc do |type, values|
|
15
15
|
default = values.first
|
@@ -85,6 +85,8 @@ module I18n::Tasks
|
|
85
85
|
puts forest.inspect
|
86
86
|
when 'keys'
|
87
87
|
puts forest.key_names(root: true)
|
88
|
+
when 'key-values'
|
89
|
+
puts forest.key_values(root: true).map { |kv| kv.join("\t") }
|
88
90
|
when *DATA_FORMATS
|
89
91
|
puts i18n.data.adapter_dump forest.to_hash(true), format
|
90
92
|
end
|
@@ -2,10 +2,12 @@
|
|
2
2
|
|
3
3
|
module I18n::Tasks::Scanners
|
4
4
|
module RubyKeyLiterals
|
5
|
-
|
5
|
+
# NOTE
|
6
|
+
# "#{double_quoted["hash_pattern"]}" | "#{double_quoted_pattern}" | 'single_quoted_pattern' | :symbol_pattern
|
7
|
+
LITERAL_RE = /:?"[^\[]+\["[^"]+"\].+"|:?".+?"|:?'.+?'|:\w+/.freeze
|
6
8
|
|
7
9
|
# Match literals:
|
8
|
-
# * String: '', "#{}"
|
10
|
+
# * String: '', "#{}", "#{hash["key"]}"
|
9
11
|
# * Symbol: :sym, :'', :"#{}"
|
10
12
|
def literal_re
|
11
13
|
LITERAL_RE
|
@@ -20,7 +22,7 @@ module I18n::Tasks::Scanners
|
|
20
22
|
literal
|
21
23
|
end
|
22
24
|
|
23
|
-
VALID_KEY_CHARS = /(?:[[:word:]]|[
|
25
|
+
VALID_KEY_CHARS = /(?:[[:word:]]|[-.?!:;À-ž\/'"\[\]])/.freeze
|
24
26
|
VALID_KEY_RE = /^#{VALID_KEY_CHARS}+$/.freeze
|
25
27
|
|
26
28
|
def valid_key?(key)
|
data/lib/i18n/tasks/used_keys.rb
CHANGED
@@ -27,7 +27,7 @@ module I18n::Tasks
|
|
27
27
|
|
28
28
|
ALWAYS_EXCLUDE = %w[*.jpg *.jpeg *.png *.gif *.svg *.ico *.eot *.otf *.ttf *.woff *.woff2 *.pdf *.css *.sass *.scss *.less
|
29
29
|
*.yml *.json *.zip *.tar.gz *.swf *.flv *.mp3 *.wav *.flac *.webm *.mp4 *.ogg *.opus
|
30
|
-
*.webp].freeze
|
30
|
+
*.webp *.map].freeze
|
31
31
|
|
32
32
|
# Find all keys in the source and return a forest with the keys in absolute form and their occurrences.
|
33
33
|
#
|
data/lib/i18n/tasks/version.rb
CHANGED
data/lib/i18n/tasks.rb
CHANGED
@@ -43,19 +43,18 @@ module I18n
|
|
43
43
|
end
|
44
44
|
end
|
45
45
|
|
46
|
+
# Per https://github.com/rails/rails/commit/0181f0edd57a2149278bd59c3519233ca1e0a413#commitcomment-60940992
|
47
|
+
# 'active_support' must be required first even if we only use parts of it.
|
48
|
+
require 'active_support'
|
49
|
+
|
46
50
|
require 'active_support/inflector'
|
47
51
|
require 'active_support/core_ext/hash'
|
48
52
|
require 'active_support/core_ext/array/access'
|
49
53
|
require 'active_support/core_ext/array/extract_options'
|
50
54
|
require 'active_support/core_ext/module/delegation'
|
51
55
|
require 'active_support/core_ext/object/blank'
|
52
|
-
|
53
|
-
|
54
|
-
require 'active_support/core_ext/object/try'
|
55
|
-
rescue LoadError => _e
|
56
|
-
# activesupport ~> 2.3.2
|
57
|
-
require 'active_support/core_ext/try'
|
58
|
-
end
|
56
|
+
require 'active_support/core_ext/object/try'
|
57
|
+
|
59
58
|
require 'rainbow'
|
60
59
|
require 'erubi'
|
61
60
|
|
@@ -72,7 +72,7 @@ search:
|
|
72
72
|
# -
|
73
73
|
|
74
74
|
## Files or `File.fnmatch` patterns to exclude from search. Some files are always excluded regardless of this setting:
|
75
|
-
## %w(*.jpg *.png *.gif *.svg *.ico *.eot *.otf *.ttf *.woff *.woff2 *.pdf *.css *.sass *.scss *.less *.yml *.json)
|
75
|
+
## %w(*.jpg *.png *.gif *.svg *.ico *.eot *.otf *.ttf *.woff *.woff2 *.pdf *.css *.sass *.scss *.less *.yml *.json *.map)
|
76
76
|
exclude:
|
77
77
|
- app/assets/images
|
78
78
|
- app/assets/fonts
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: i18n-tasks
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.9.
|
4
|
+
version: 0.9.36
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- glebm
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-
|
11
|
+
date: 2021-12-21 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|
@@ -416,8 +416,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
416
416
|
- !ruby/object:Gem::Version
|
417
417
|
version: '0'
|
418
418
|
requirements: []
|
419
|
-
rubygems_version: 3.
|
420
|
-
signing_key:
|
419
|
+
rubygems_version: 3.2.3
|
420
|
+
signing_key:
|
421
421
|
specification_version: 4
|
422
422
|
summary: Manage localization and translation with the awesome power of static analysis
|
423
423
|
test_files: []
|