v4.0.0
DateFormat, NumberFormat, and Lazy loading
Format translations with DateFormat
and NumberFormat
:
Hello {name}, today is {today: yMd}. You have {money: currency(symbol: '€')}.
On web, Deferred loading is used to reduce initial load time.
- feat: add
DateFormat
andNumberFormat
support (#112) - feat: add
lazy: true
config which is enabled by default (#135) - fix:
slang analyze
should not treat translations as unused if they are used in linked translations (#231) - fix:
slang analyze
should detect missing enums (#234) - fix: trim enum keys in compressed format while parsing (e.g.
"male, female": "..."
to"male,female": "..."
) (#247) - fix: compilation error on web when using large interfaces (#251)
- fix: correctly transform keys with modifiers when
key_case
is set (#253) - Breaking: Require Dart 3.3 and Flutter 3.19
- Breaking:
setLocale
,setLocaleRaw
, anduseDeviceLocale
returns a Future, use-Sync
suffix for synchronous calls - Breaking:
output_format
removed, always generates multiple files now - Breaking: deprecated functions in
LocaleSettings
(supportedLocales
,supportedLocalesRaw
) removed - Breaking: defining contexts (enums) is no longer allowed in
build.yaml
orslang.yaml
(deprecated in v3.19.0) - Breaking: enums specified in
context
are no longer transformed into pascal case keeping the original case
You can read the detailed migration guide here.