- Move the configuration for the
:gettext
application to compile-time config inproject/0
inmix.exs
(under the:gettext
key, with configuration options:excluded_refs_from_purging
and:fuzzy_threshold
)
- Polish so many docs!
- Make an error in
Gettext.put_locale/2
clearer - Pluralize
x_Y
locales asx
, but fail withGettext.Plural.UnknownLocaleError
for any other unknown locale - Add a
Gettext.Backend
behaviour (automatically implemented if a module callsuse Gettext
) - Allow whitelisting of references via the
:excluded_refs_from_purging
option in the:gettext
application config
- Emit warnings when the domain passed to one of the
*gettext
macros has slashes in it (as we don't support domains in subdirectories). - Discard dangling comments when parsing/dumping PO(T) files (dangling comments are comments that are not followed by a transaction they can be attached to).
- Updated informative comments for newly generated PO/POT files.
- Strip
##
comments from POT files when they're being merged into PO files; these comments are comments meant to be generated by tools or directed at developers (so they have no use for translators in PO files). - Add informative comments at the top of newly generated PO/POT files.
- Add
Gettext.known_locales/1
- Fix a bug with PO parsing when the PO file starts with a BOM character (which broke the parser, now a warning is issued).
- Fix a bug with the
*gettext
macros, which raised an error when given compile-time strings in the form of~s
/~S
sigils. - Create missing locale directories (e.g.,
en/LC_MESSAGES
) when running thegettext.merge
Mix task. - Fallback to default translations (i.e., the
msgid
) when themsgstr
(or one or moremsgstr
strings for plural translations) is empty.
- When dumping PO files, dump as many references as possible on one line, wrapping at the 80th column
- Parse multiple references in the same reference comment
- Remove
Gettext.locale/0-1
andGettext.with_locale/2
in favour ofGettext.get_locale/1
,Gettext.put_locale/2
, andGettext.with_locale/3
which now work by setting/getting the locale on a per-backend basis (instead of a global one) - Remove the
:default_locale
config option for the:gettext
application in favour of configuring the:default_locale
for backends tied to their:otp_app
(e.g.,config :my_app, MyApp.Gettext, default_locale: "pt_BR"
)
- Fix a bug with the
mix gettext.merge
task that was failing in Elixir v1.1.1 because0.5 in 0..1
returnsfalse
with it
- Add a
:flags
field to theGettext.PO.Translation
andGettext.PO.PluralTranslation
structs - Add support for fuzzy matching translations in
gettext.merge
andgettext.extract --merge
- Add the
:fuzzy_threshold
configuration option for the:gettext
application
- Initial release