diff options
Diffstat (limited to 'vendor/golang.org/x/text/cmd/gotext/message.go')
-rw-r--r-- | vendor/golang.org/x/text/cmd/gotext/message.go | 127 |
1 files changed, 0 insertions, 127 deletions
diff --git a/vendor/golang.org/x/text/cmd/gotext/message.go b/vendor/golang.org/x/text/cmd/gotext/message.go deleted file mode 100644 index 67a622fd7..000000000 --- a/vendor/golang.org/x/text/cmd/gotext/message.go +++ /dev/null @@ -1,127 +0,0 @@ -// 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 main - -// TODO: these definitions should be moved to a package so that the can be used -// by other tools. - -// The file contains the structures used to define translations of a certain -// messages. -// -// A translation may have multiple translations strings, or messages, depending -// on the feature values of the various arguments. For instance, consider -// a hypothetical translation from English to English, where the source defines -// the format string "%d file(s) remaining". A completed translation, expressed -// in JS, for this format string could look like: -// -// { -// "Key": [ -// "\"%d files(s) remaining\"" -// ], -// "Original": { -// "Msg": "\"%d files(s) remaining\"" -// }, -// "Translation": { -// "Select": { -// "Feature": "plural", -// "Arg": 1, -// "Case": { -// "one": { "Msg": "1 file remaining" }, -// "other": { "Msg": "%d files remaining" } -// }, -// }, -// }, -// "Args": [ -// { -// "ID": 2, -// "Type": "int", -// "UnderlyingType": "int", -// "Expr": "nFiles", -// "Comment": "number of files remaining", -// "Position": "golang.org/x/text/cmd/gotext/demo.go:34:3" -// } -// ], -// "Position": "golang.org/x/text/cmd/gotext/demo.go:33:10", -// } -// -// Alternatively, the Translation section could be written as: -// -// "Translation": { -// "Msg": "%d %[files]s remaining", -// "Var": { -// "files" : { -// "Select": { -// "Feature": "plural", -// "Arg": 1, -// "Case": { -// "one": { "Msg": "file" }, -// "other": { "Msg": "files" } -// } -// } -// } -// } -// } - -// A Translation describes a translation for a single language for a single -// message. -type Translation struct { - // Key contains a list of identifiers for the message. If this list is empty - // Original is used as the key. - Key []string `json:"key,omitempty"` - Original Text `json:"original"` - Translation Text `json:"translation"` - ExtractedComment string `json:"extractedComment,omitempty"` - TranslatorComment string `json:"translatorComment,omitempty"` - - Args []Argument `json:"args,omitempty"` - - // Extraction information. - Position string `json:"position,omitempty"` // filePosition:line -} - -// An Argument contains information about the arguments passed to a message. -type Argument struct { - ID interface{} `json:"id"` // An int for printf-style calls, but could be a string. - Type string `json:"type"` - UnderlyingType string `json:"underlyingType"` - Expr string `json:"expr"` - Value string `json:"value,omitempty"` - Comment string `json:"comment,omitempty"` - Position string `json:"position,omitempty"` - - // Features contains the features that are available for the implementation - // of this argument. - Features []Feature `json:"features,omitempty"` -} - -// Feature holds information about a feature that can be implemented by -// an Argument. -type Feature struct { - Type string `json:"type"` // Right now this is only gender and plural. - - // TODO: possible values and examples for the language under consideration. - -} - -// Text defines a message to be displayed. -type Text struct { - // Msg and Select contains the message to be displayed. Within a Text value - // either Msg or Select is defined. - Msg string `json:"msg,omitempty"` - Select *Select `json:"select,omitempty"` - // Var defines a map of variables that may be substituted in the selected - // message. - Var map[string]Text `json:"var,omitempty"` - // Example contains an example message formatted with default values. - Example string `json:"example,omitempty"` -} - -// Type Select selects a Text based on the feature value associated with -// a feature of a certain argument. -type Select struct { - Feature string `json:"feature"` // Name of variable or Feature type - Arg interface{} `json:"arg"` // The argument ID. - Cases map[string]Text `json:"cases"` -} |