const ( MoHeaderSize = 28 MoMagicLittleEndian = 0x950412de MoMagicBigEndian = 0xde120495 EotSeparator = "\x04" // msgctxt and msgid separator NulSeparator = "\x00" // msgid and msgstr separator )
File represents an MO File.
See http://www.gnu.org/software/gettext/manual/html_node/MO-Files.html
type File struct { MagicNumber uint32 MajorVersion uint16 MinorVersion uint16 MsgIdCount uint32 MsgIdOffset uint32 MsgStrOffset uint32 HashSize uint32 HashOffset uint32 MimeHeader Header Messages []Message }
func Load(data []byte) (*File, error)
Load loads mo file format data.
func LoadFile(path string) (*File, error)
Load loads a named mo file.
func (f *File) Data() []byte
Save returns a mo file format data.
func (f *File) Save(name string) error
Save saves a mo file.
func (f *File) String() string
String returns the po format file string.
Header is the initial comments "SOME DESCRIPTIVE TITLE", "YEAR" and "FIRST AUTHOR <EMAIL@ADDRESS>, YEAR" ought to be replaced by sensible information.
See http://www.gnu.org/software/gettext/manual/html_node/Header-Entry.html#Header-Entry
type Header struct { ProjectIdVersion string // Project-Id-Version: PACKAGE VERSION ReportMsgidBugsTo string // Report-Msgid-Bugs-To: FIRST AUTHOR <EMAIL@ADDRESS> POTCreationDate string // POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE PORevisionDate string // PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE LastTranslator string // Last-Translator: FIRST AUTHOR <EMAIL@ADDRESS> LanguageTeam string // Language-Team: golang-china Language string // Language: zh_CN MimeVersion string // MIME-Version: 1.0 ContentType string // Content-Type: text/plain; charset=UTF-8 ContentTransferEncoding string // Content-Transfer-Encoding: 8bit PluralForms string // Plural-Forms: nplurals=2; plural=n == 1 ? 0 : 1; XGenerator string // X-Generator: Poedit 1.5.5 UnknowFields map[string]string }
func (p Header) String() string
String returns the po format header string.
A MO file is made up of many entries, each entry holding the relation between an original untranslated string and its corresponding translation.
See http://www.gnu.org/software/gettext/manual/html_node/MO-Files.html
type Message struct { MsgContext string // msgctxt context MsgId string // msgid untranslated-string MsgIdPlural string // msgid_plural untranslated-string-plural MsgStr string // msgstr translated-string MsgStrPlural []string // msgstr[0] translated-string-case-0 }
func (p Message) String() string
String returns the po format entry string.