- Tested against latest Python 3.11, and 3.12 alpha
- Dropped support for Python 2.7 and Python < 3.6
- Lots of code style cleanups using black etc.
- Compiler actually respects documented
use_isolating
attribute of escapers
- Fixed test suite on Python 3.8
- Performance improvements
- Made
fluent_number
obey format specifiers for currencies
New :class:`fluent_compiler.bundle.FluentBundle` API - backwards incompatible. In this release, we are diverging from the
fluent.runtime
0.1 interface to make something that better suits both our implementation and our target audience to come up with better APIs. The changes are especially driven by the needs of thedjango-ftl
package, without being tied to Django in any way.It should be relatively straightforward to convert. Instead of doing:
bundle = FluentBundle(locale_list, options) bundle.add_messages(...)
You now do:
bundle = FluentBundle.from_string(locale, string)
or:
bundle = FluentBundle.from_files(locale, ['file1.ftl', 'file2.ftl'])
New :func:`fluent_compiler.compiler.compile_messages` function which is slightly lower level than
FluentBundle
.
- Small packaging improvements
- Separated this package off from a branch of
fluent.runtime
- First release to PyPI of
fluent_compiler
. - This release contains a
FluentBundle
implementation that can generate translations from FTL messages, compatible withFluentBundle
fromfluent.runtime
0.1. - Targets the Fluent 1.0 spec.