projectfluent / fluent

Fluent — planning, spec and documentation
https://projectfluent.org
Apache License 2.0
1.37k stars 43 forks source link

Improve selector usages in the wiki #364

Open juliancoffee opened 5 months ago

juliancoffee commented 5 months ago
# ✅ All variants are language-specific. The [0] variant adds
# flavor to the translation. The default variant still works 
# for all values of the selector, even if "0 new notifications"
# sounds a bit off.
new-notifications =
    { $num ->
        [0] No new notifications.
        [one] New notification.
       *[other] { $num } new notifications.
    }

Good Practices shows this example as good practice, which is better than other ones, but fluent code itself might give the wrong impression. [one] doesn't generally mean 1. Just like [few] doesn't mean "something between 2 and 5". [one] means "all numbers that inflate by the same rules like number 1", which in English corresponds to the number 1, but that's just a happy accident if any, and examples should use [1].

heyakyra commented 4 months ago

Tangentially, there's much more examples of different functionality on the Mozilla localization docs. Maybe wouldn't be needed if more of that was here

https://mozilla-l10n.github.io/localizer-documentation/tools/fluent