All notable changes to this project will be documented in this file. This project adheres to Semantic Versioning.
- Nothing
- [Ruby] Stop validating the fallback locales against
I18n.available_locales
This allows some locales to be used as fallback locales, but not to be generated in JS.
(PR: fnando#425)
- [JS] Stop converting numeric & boolean values into objects
when merging objects withI18n.extend
(PR: fnando#420) - [Ruby] Use old syntax to define lambda for compatibility with older Rubies
(Issue: fnando#419)
3.0.0.rc14 - 2016-08-29
- [JS] Method
I18n.extend()
behave as deep merging instead of shallow merging. (fnando#416) - [Ruby] Use object/class instead of block when registering Sprockets preprocessor (fnando#418)
To ensure that your cache will expire properly based on locale file content after upgrading,
you should runrake assets:clobber
and/or other rake tasks that clear the asset cache once gem updated - [Ruby] Detect & support rails 5 (fnando#413)
3.0.0.rc13 - 2016-06-29
- [Ruby] Added option
js_extend
to not generate JS code for translations with usage ofI18n.extend
(#397)
- Nothing
- [JS] Initialize option
missingBehaviour
&missingTranslationPrefix
with default values (#398) - [JS] Throw an error when
I18n.strftime()
takes an invalid date (#383) - [JS] Fix default error message when translation missing to consider locale passed in options
- [Ruby] Reset middleware cache on rails startup (#402)
3.0.0.rc12 - 2015-12-30
- [JS] Allow extending of translation files (#354)
- [JS] Allow missingPlaceholder to receive extra data for debugging (#380)
- Nothing
- [Ruby] Fix of missing initializer at sprockets. (#371)
- [Ruby] Use proper method to register preprocessor documented by sprockets-rails. (#376)
- [JS] Correctly round unprecise floating point numbers.
- [JS] Ensure objects are recognized when passed in from an iframe. (#375)
- [Ruby] Handle fallback locale without any translation properly (#338)
- [Ruby] Prevent translation entry with null value to override value in fallback locale(s), if enabled (#334)
- [Ruby] In
config/i18n-js.yml
, if you are using%{locale}
in your filename and are referencing specific translations keys, please add*.
to the beginning of those keys. (#320) - [Ruby] The
:except
option to exclude certain phrases now (only) accepts the same patterns the:only
option accepts
- [Ruby] Make handling of per-locale and not-per-locale exporting to be more consistent (#320)
- [Ruby] Add option
sort_translation_keys
to sort translation keys alphabetically (#318)
- [Ruby] Fix fallback logic to work with not-per-locale files (#320)
- [JS] Force currency number sign to be at first place using
sign_first
option, default totrue
- [Ruby] Add option
namespace
&pretty_print
(#300) - [Ruby] Add option
export_i18n_js
(#301) - [Ruby] Now the gem also detects pre-release versions of
rails
- [Ruby] Add
:except
option to exclude certain phrases or groups of phrases from the outputted translations (#312) - [JS] You can now set
I18n.missingBehavior='guess'
to have the scope string output as text instead of of the "[missingscope
]" message when no translation is available. Combined that withI18n.missingTranslationPrefix='SOMETHING'
and you can still identify those missing strings. (#304)
- [JS] Fix missing translation message when scope is passed in options
- [Ruby] Fix save cache directory verification when path is a symbolic link (#329)
- Add support for loading via AMD and CommonJS module loaders (#266)
- Add
I18n.nullPlaceholder
Defaults to I18n.missingPlaceholder ([missing {{name}} value]
) Set tofunction() {return "";}
to match RubyI18n.t("name: %{name}", name: nil)
- For date formatting, you can now also add placeholders to the date format, see README for detail
- Add fallbacks option to
i18n-js.yml
, defaults totrue
- Fix factory initialization so that the Node/CommonJS branch only gets executed if the environment is Node/CommonJS (it currently will execute if module is defined in the global scope, which occurs with QUnit, for example)
- Fix pluralization rules selection for negative
count
(e.g.-1
was lead to useone
for pluralization) (#268) - Remove check for
Rails.configuration.assets.compile
before telling Sprockets the dependency of translations JS file This might be the reason of many "cache not expired" issues Discovered/reported in #277
- The Rails Engine initializer is now named as
i18n-js.register_preprocessor
(fnando#261) - Rename
I18n::JS.config_file
toI18n::JS.config_file_path
and make it configurable Expected aString
, default is stillconfig/i18n-js.yml
- When running
rake i18n:js:export
, thei18n.js
will also be exported toI18n::JS.export_i18n_js_dir_path
by default - Add
I18n::JS.export_i18n_js_dir_path
Expected aString
, default ispublic/javascripts
Set tonil
will disable exportingi18n.js
- Prevent toString() call on
undefined
when there is a missing interpolation value - Added support for Rails instances without Sprockets object (fnando#241)
- Fix
DEFAULT_OPTIONS
ini18n.js
which contained an excessive comma - Fix
nil
values are exported into JS files which causes strange translation error - Fix pattern to replace all escaped $ in I18n.translate
- Fix JS
I18n.lookup
modifies existing locales accidentally
- You can now assign
I18n.locale
&I18n.default_locale
before loadingi18n.js
inapplication.html.*
(merged toi18n-js-pika
already) - You can include ERB in
config/i18n-js.yml
(fnando#224) - Add support for +00:00 style time zone designator (fnando#167)
- Add back rake task for export (
rake i18n:js:export
) - Not overriding translation when manually run
I18n::JS.export
(fnando#171) - Move missing placeholder text generation into its own function (for easier debugging) (fnando#169)
- Add support for milliseconds (
lll
inyyyy-mm-ddThh:mm:ss.lllZ
) (fnando#192) - Add back i18n-js.yml config file generator :
rails generate i18n:js:config
(fnando#225)
I18n::JS.export
no longer exports locales other than those inI18n.available_locales
, ifI18n.available_locales
is set- I18.t supports the base scope through the options argument
- I18.t accepts an array as the scope
- Fix regression: asset not being reloaded in development when translation changed
- Requires
i18n
to be~> 0.6
,0.5
does not work at all - Fix using multi-star scope with top-level translation key (fnando#221)
- Things happened.