feat(i18n): add plural category alias
Co-Authored-By: Virgil <virgil@lethean.io>
This commit is contained in:
parent
a69868f18b
commit
8f6be63def
2 changed files with 31 additions and 0 deletions
|
|
@ -164,6 +164,15 @@ func CurrentRTL() bool {
|
|||
//
|
||||
// cat := i18n.CurrentPluralCategory(2)
|
||||
func CurrentPluralCategory(n int) PluralCategory {
|
||||
return PluralCategoryOf(n)
|
||||
}
|
||||
|
||||
// PluralCategoryOf returns the plural category for the current default language.
|
||||
//
|
||||
// Example:
|
||||
//
|
||||
// cat := i18n.PluralCategoryOf(2)
|
||||
func PluralCategoryOf(n int) PluralCategory {
|
||||
return defaultServiceValue(PluralOther, func(svc *Service) PluralCategory { return svc.PluralCategory(n) })
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -284,6 +284,28 @@ func TestCurrentPluralCategory_Good(t *testing.T) {
|
|||
assert.Equal(t, PluralOther, CurrentPluralCategory(2))
|
||||
}
|
||||
|
||||
// --- Package-level PluralCategoryOf ---
|
||||
|
||||
func TestPluralCategoryOf_Good(t *testing.T) {
|
||||
prev := Default()
|
||||
t.Cleanup(func() {
|
||||
SetDefault(prev)
|
||||
})
|
||||
|
||||
svc, err := New()
|
||||
require.NoError(t, err)
|
||||
SetDefault(svc)
|
||||
|
||||
assert.Equal(t, PluralOther, PluralCategoryOf(0))
|
||||
assert.Equal(t, PluralOne, PluralCategoryOf(1))
|
||||
assert.Equal(t, PluralOther, PluralCategoryOf(2))
|
||||
|
||||
require.NoError(t, SetLanguage("fr"))
|
||||
assert.Equal(t, PluralOne, PluralCategoryOf(0))
|
||||
assert.Equal(t, PluralOne, PluralCategoryOf(1))
|
||||
assert.Equal(t, PluralOther, PluralCategoryOf(2))
|
||||
}
|
||||
|
||||
func TestCurrentPluralCategory_NoDefaultService(t *testing.T) {
|
||||
prev := Default()
|
||||
t.Cleanup(func() {
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue