Skip to content

Latest commit

 

History

History
57 lines (36 loc) · 1.42 KB

File metadata and controls

57 lines (36 loc) · 1.42 KB

icuparser

Go parsers for ICU MessageFormat strings and formatting skeletons.

Installation

go get github.com/keelet/icuparser

Packages

skeleton

Parse 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)

messageformat

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)

Testing

go test ./...

License

icuparser is distributed under the terms of the Apache-2.0 license.

This repository contains Go ports of the following FormatJS packages:

These packages are distributed under the terms of the MIT license.