- Fix docs build (Pyyaml issue).
- Add support for
Avram::DeleteOperation(T)
- Fix bug in version module.
- Fix bug in backend where the fallback rules annotation wasn't optional.
- Add fallbacks.
- Add better compile-time error message for to_s with missing interpolations.
- Fix bug in loading order of initializer.
- Add support for Crystal 1.6.0.
- Add compatibility with Lucky 1.0.0-rc1.
- Change integration with Lucky by always calling
.t
, regardless of the presence of interpolation arguments (in your editor, do a global find onr\("([^"]+)"\)([^\.])
and replace withr("$1").t$2
)
- Lock lib down at Crystal version 1.4.0.
- Move all Lucky-related integration code inside the
Rosetta::Lucky.integrate
macro.
- Add better integration for
Lucky::FlashStore
. - Add better integration for
Lucky::SpecialtyTags
. - Add better integration for
Lucky::FormHelpers
. - Add
Rosetta::AvramBackend
. - Add
--lucky
flag torosetta
binary to generate Avram's validation translations. - Change the postinstall command to remove the old compiled binary.
- Use the
Rosetta::DefaultLocale
annotation to replace theRosetta::DEFAULT_LOCALE
constant. - Use the
Rosetta::AvailableLocales
annotation to replace theRosetta::AVAILABLE_LOCALES
constant. - Use the
Rosetta::PluralizationRules
annotation to replace theRosetta::PLURALIZATION_RULES
constant. - Use the
Rosetta::DefaultPluralizationRules
annotation to replace theRosetta::Pluralization::DEFAULT_RULES
constant. - Add a compiler error to notify about the change (will be removed in v1.0.0).
- Change the
Rosetta.available_locales
macro to always returnArray(String)
.
- Fix bug in shim to ensure presence of the bin dir.
- Add a shim to build the development binary rather than via postinstall.
- Fix bug where double quotes in locales weren't properly escaped.
- Add postinstall target for rosetta binary.
- Add
Avram::SaveOperation(T)
in Lucky integration macro.
- Add translations with variants.
- Make
Rosetta::Translatable
compatible with type vars.
- Use an annotation (
Rosetta::Translatable::Config(prefix: "custom_prefix")
) instead of a constant (ROSETTA_PREFIX = "custom_prefix
) for custom prefixes in theRosetta::Translatable
module.
- Add
rosetta_localization.time.distance.*
translations torosetta.yml
generated by thebin/rosetta --init
command.
- Add
Rosetta.distance_of_time_in_words
. - Add
Rosetta.time_ago_in_words
. - Add
Rosetta.time_from_now_in_words
. - Add
Localizable#distance_of_time_in_words
. - Add
Localizable#time_ago_in_words
. - Add
Localizable#time_from_now_in_words
. - Include
Rosetta::Localizable
everywhere usingRosetta::Lucky.integrate
.
- Add better integration for Lucky pages (
Lucky::HTMLPage
).
- Add a clearer compilation error message for the
r
macro.
- Change the argument order of
Rosetta.localize_time
to be more consistent with the rest of the lib. - Add
Rosetta::Parser::Config
to be able to work with YAML configurations sent from the backend. - Rework the parser to be able to deal with multi-option translations for a single locale key.
- Move parser checks to the
Rosetta::Parser::Checks
module. - Add parser check to validate the pluralization category tags in every pluralizable translation.
- Add the
Rosetta::PluralizedTranslation
mixin to be able to work with pluralizable translations. - Rework
Rosetta::Backend
to send a single YAML configuration to the parser rather than separate arguments. - Add locale/pluralization rule mapping in
Rosetta::Pluralization::DEFAULT_RULES
(borrowed from crystal-i18n/i18n). - Add most common pluralization rules under
rosetta/pluralization/rule
(borrowed from crystal-i18n/i18n). - Add the
Rosetta::Pluralization::Rule
base class. - Add the
Rosetta::Pluralization::CategoryTags
annotation to inform the parser about which category tags are required per pluralization rule. - Allow localization with a date-formatted tuple.
- Add
Rosetta::Lucky.integrate
to easily includeRosetta::Treanslatable
where localizations may be used. - Create
Rosetta::SimpleTranslation
andRosetta::InterpolatedTranslation
mixins to simplify the builder. - Raise a compile error when translations with interpolations are converted to
string using Crystal string interpolation or by calling
to_s
.
Initial release of Rosetta with documentation.