- Improve reporting for reference keys throughout.
- Fix ActiveSupport >= 4.0 but < 4.2 compatibility. #178
- Locale file path rewriting now matches locales as directories and multiple instances of the locale in the path. #176 #177
- New method:
I18n::Tasks.add_scanner(scanner_class_name, scanner_opts)
to add a scanner to the default configuration. - New method:
I18n::Tasks.add_commands(commands_module)
to add commands toi18n-tasks
. - Only match
I18n
ornil
receivers in PatternScanner.
- Support for multiple scanners.
- AST scanner for
.rb
files. default:
argument support foradd-missing -v
. AST scanner only. #55- Recognize that only
t
calls can use relative keys, notI18n.t
. AST scanner only. #106 - Strict mode enabled by default, can be configured via
search.strict
. New argument:--no-strict
. search.include
renamed tosearch.only
.
- New interpolation value for
add-missing -v
:%{key}
. Stijn Mathysen #164 - When adding keys from non-default locales, merge base locale first, then the others. #162
- Report missing keys found in source in all the locales. #162
- Fix
data-remove
task. #140 - Non-zero exit code on
health
,missing
, andunused
if such keys are present. #151 - XLSX report compatibility with the OSX Numbers App. #159
- RSpec template compatibility with
config.expose_dsl_globally = false
. #148 bundle show vagrant
example in the config template is no longer interpolated .#161
- Fix regression: Plugin support #153.
- Support relative keys in mailers #155.
- Fix regression: ActiveSupport < 4 support #143.
- Fix failure on nil values in the data config #142.
- The default config file now excludes
app/assets/images
andapp/assets/fonts
. Add*.otf
to ignored extensions. - If an error message occurs when scanning, the error message now includes the filename #141.
- Parse command line arguments with
optparse
. Remove dependency on Slop. Simplified commands DSL: options are mostly passed directly to optparse. search.relative_roots
default changed from from%w(app/views)
to%w(app/views app/controllers app/helpers app/presenters)
.add-missing
now adds keys detected in source to all locales (previously just base) #134.- The default spec template no long requires
spec_helper
by default Daniel Levenson #135. search.exclude
now appends to and not overrides the default exclude list. More extensions excluded by default: *.css, *.sass, *.scss, *.less, *.yml, and *.json. #137.
- Fix relative keys when controller name consists of more than one word by Yuji Nakayama #132.
- Support keys with UTF8 word characters in the name. #133.
- Change missing report column title from "Details" to "Value in other locales or source", display the locale #130.
- Handle relative keys in controllers nested in modules by Alexander Tipugin. #128.
- Only write files that changed #125.
- Allow
[]
in the non-strict scanner pattern #127.
- Set slop dependency to 3.5 to ensure Ruby 1.9 compatibility (#121). MRI 1.9 EOL is February 23, 2015. We will support 1.9 until rbx and jruby support 2.0.
- Support relative keys in controller action with argument
- Support relative keys in Rails controller actions by Jessie A. Young. #46.
- Minor fixes
- Fix Google Translate issues with non-string keys #100
- Fix an issue with certain HAML not being parsed #96 #102
- Fix other minor issues
- Fix regression: keys are sorted once again #92.
- Add a post-install notice with setup commands
- Fix a small typo in the config template #91.
- Fix
find
crashing on relative keys (regression)
Dynamic key usage inference fixes by Mikko Koski:
- Append
:
to keys ending with dot '.' (to scant('category.' + cat)
ast('category.:')
) - Consider keys ending with
:
as match expressions - Make
@
a valid character for keys (to allowt("category.#{@cat}"
)
- Fix
add-missing --help
- Fix a minor issue with
health
#88
- New task
translate-tree
- Bugs fixed: nil values and Google Translate, config file encoding issue.
- i18n-tasks now analyses itself!
internal_locale
setting has been added, that controls i18n-tasks reporting language. English and Russian are available in this release.
- 1.9.3 compatibility
New tasks:
i18n-tasks health
to display missing and unused keys along with other informationi18n-tasks tree-
to manipulate treesi18n-tasks data-
to look up and manipulate locale data- Better
help
for all commands - Minor bug fixes
Internally:
- Refactored commands DSL
add-missing
,remove-unused
implemented in terms of the newtree-
commands
- Strict mode added for
unused
andremove-unused
. When passed-s
or--strict
, these tasks will not attempt to infer dynamic key usages, such ast("category.#{category.key}")
. - Arrays are now supported as values for Google Translate #77
- New task to show locale data:
i18n-tasks data
- New output format:
keys
, e.g.i18n-tasks data -fkeys
- Fix an issue with a top-level dynamic key breaking unused detection #75
- Document magic comment hints
- Fix Google Translate issue with plural keys and missing billing info error
- New output format options for reports: yaml, json, and inspect.
- Templates for config and rspec.
- Keys with values same as base locale have been moved from
missing
into a separate task,eq-base
. missing
now also shows keys that are present in some locale but not in base locale.- Terminal output: no more Type column in
missing
, first code usage shown for keys missing base value. relative_roots
configuration key moved tosearch.relative_roots
, deprecation warning (removed in the next minor).
- ActiveSupport 3 compatibility
- Fix Google translate regression
- More robust config output
- Ignore lines during search with
config.search.ignore_lines
. Ignores comments by default. - Fixed minor issues with
i18-tasks config
output.
- Fix conservative router.
- Conservative router is now the default.
- internals refactored to use trees everywhere
- type
guide
ini18n-tasks irb
to learn more about the commands - (remove-)unused tasks now work per locale
ignore
settings are shown oni18n-tasks config
- Rubinius 2.2.7 compatibility
- Respect tty color setting
- Fix google translate issues with plural keys and translating from non-base locale
- Ruby 1.9 compatibility
- Ruby 1.9.3-compatible again
- Improved error messages across the board
- Fixed google translate issue with _html keys #67.
- In addition to pattern router, a new conservative router that keeps the keys in place. (See #57)
i18n-tasks irb
for debugging- This release is a major refactoring to use real trees internally (as opposed to nested hashes). Real trees allow for much easier traversal. With these trees, information can be associated with each node, which allows for things like the conservative router.
- Accept keys with dashes (
-
) #64.
- Improve plural key handling
- New (de)serialization options in config
add-missing
placeholder argument can now use %{base_value}.
- Fix regression: Remove ActiveSupport::HashWithIndifferentAccess from locale data output
- Fix activesupport ~3.x compatibility issue (#45).
- Catch Errno::EPIPE to allow
i18n-tasks <command> | head
for large reports - Improved i18n-tasks config output
- fix issue with Google Translate
config.locales
is now picked up by default from paths do data files.base_locale
defaults toen
.
- Bugfixes
- Tasks that accept locales now accept them as the first argument(s)
- i18n-tasks is a binary now (instead of rake tasks). All tasks / commands now accept various options, and there is no need for as many of them as before.
- Works faster on Rails as it doesn't load anything but the gem, but now requires
base_locale
andlocales
to be set in config.
rake i18n:usages[pattern]
- performance regression fixes
rake i18n:usages
report
- Bugfixes
- Key search extracted into its own class, and a custom scanner can now be provided.
- Removed support for deprecated settings
- More robust I18n.t call detection (detect I18n.translate and multiline calls)
- Google Translate fixes: preserve interpolations, set correct format based on the key (text or html).
- New setting relative_roots for relative key resolution (default: %w(app/views))
- fix google translation attempts to translate non-string keys
- New task:
i18n:remove_unused
- config/i18n-tasks.yml now processed with ERB
- can now be used with any ruby apps, not just Rails
- more locale formats are considered valid
i18n:missing
accepts localesi18n:missing
supports plural keys
- more powerful key pattern matching with sets and backtracking
- spreadsheet report, tests run on rbx
- improved output with terminal-table
- fill tasks renamed, fix symbol key search
- 3 more prefill tasks, including Google Translate
- tasks renamed
- improved search: no longer uses grep, more robust detection (@natano)
- ability to route prefill output via data.write config
- multiple configuration variables renamed (still understands old syntax with deprecation warnings)
- New key pattern syntax for i18n-tasks.yml a la globbing
- Removed get_locale_data, added data configuration options
- Fix relative keys in partials (@paulfioravanti)
- Fix i18n:missing when nothing is missing (@tamtamchik)
- detect countable keys as used for unused task
- account for non-string keys coming from yaml (thanks @lichtamberg)
- added grep config options (thanks @dmke)
- improved terminal output