Go parsers for ICU MessageFormat strings and formatting skeletons.
go get github.com/keelet/icuparserParse ICU date/time and number formatting skeletons into structured format options.
import "github.com/keelet/icuparser/skeleton"
// Parse date/time skeleton
opts, err := skeleton.ParseDateTimeSkeleton("yyyy.MM.dd HH:mm:ss")
// Parse number skeleton
tokens, err := skeleton.ParseNumberSkeletonFromString("percent .##")
opts, err := skeleton.ParseNumberSkeleton(tokens)Parse ICU MessageFormat strings into an AST.
import "github.com/keelet/icuparser/messageformat"
// Parse a simple message
ast, err := messageformat.Parse("Hello {name}!", nil)
// Parse complex messages with plural/select
ast, err = messageformat.Parse("{count, plural, one {# item} other {# items}}", nil)go test ./...icuparser is distributed under the terms of the Apache-2.0 license.
This repository contains Go ports of the following FormatJS packages:
skeleton: Port of icu-skeleton-parsermessageformat: Port of icu-messageformat-parser
These packages are distributed under the terms of the MIT license.