зеркало из https://github.com/golang/text.git
internal/format/plural: added plural package
This package will be moved out of internal at some point. In the proposal (12750) this package is slated to be a subpackage of feature. In practice format/feature/plural makes more sense. But as there is no need for the feature as of yet (or ever), we put it directly under format. Change-Id: I8d5c9be00d458087680662dc6c117eee2dcfc566 Reviewed-on: https://go-review.googlesource.com/19333 Reviewed-by: Nigel Tao <nigeltao@golang.org>
This commit is contained in:
Родитель
fe71b65cab
Коммит
f5cef17986
|
@ -0,0 +1,38 @@
|
|||
// Copyright 2016 The Go Authors. All rights reserved.
|
||||
// Use of this source code is governed by a BSD-style
|
||||
// license that can be found in the LICENSE file.
|
||||
|
||||
// Package plural defines the grammatical plural feature.
|
||||
//
|
||||
// The definitions in this package are based on the plural rule handling defined
|
||||
// in CLDR. See
|
||||
// http://unicode.org/reports/tr35/tr35-numbers.html#Language_Plural_Rules for
|
||||
// details.
|
||||
package plural
|
||||
|
||||
import "golang.org/x/text/internal/format"
|
||||
|
||||
// Form defines a plural form. The meaning of plural forms, as well as which
|
||||
// forms are supported, vary per language. Each language must at least support
|
||||
// the form "other".
|
||||
type Form byte
|
||||
|
||||
const (
|
||||
Other Form = iota
|
||||
Zero
|
||||
One
|
||||
Two
|
||||
Few
|
||||
Many
|
||||
)
|
||||
|
||||
// Interface is implemented by values that have a plural feature.
|
||||
type Interface interface {
|
||||
// PluralForm reports the plural form of a value, depending on the
|
||||
// language declared by the given state.
|
||||
PluralForm(s format.State) Form
|
||||
}
|
||||
|
||||
// TODO
|
||||
// - Select function
|
||||
// - Definition for message package.
|
Загрузка…
Ссылка в новой задаче