summaryrefslogtreecommitdiffstats
path: root/vendor/golang.org/x/text/internal/format/plural/plural.go
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/golang.org/x/text/internal/format/plural/plural.go')
-rw-r--r--vendor/golang.org/x/text/internal/format/plural/plural.go38
1 files changed, 38 insertions, 0 deletions
diff --git a/vendor/golang.org/x/text/internal/format/plural/plural.go b/vendor/golang.org/x/text/internal/format/plural/plural.go
new file mode 100644
index 000000000..524d6aaff
--- /dev/null
+++ b/vendor/golang.org/x/text/internal/format/plural/plural.go
@@ -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.