icu

package
v0.0.0-...-9129f25 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 26, 2021 License: MIT Imports: 4 Imported by: 0

Documentation

Index

Examples

Constants

This section is empty.

Variables

This section is empty.

Functions

func SetTranslator

func SetTranslator(tr *translation.Translator)

SetTranslator sets translator.

func Trans

func Trans(ctx context.Context, key string, opts ...translation.Option) string

Trans translate message.

Example (WithLanguage)
package main

import (
	"context"
	"fmt"
	"log"

	"gitoa.ru/go-4devs/translation"
	"gitoa.ru/go-4devs/translation/arg"
	"gitoa.ru/go-4devs/translation/icu"
	"golang.org/x/text/language"
	"golang.org/x/text/message"
	"golang.org/x/text/message/catalog"
)

func main() {
	err := message.Set(language.Russian, "Hello {city}", catalog.String("Привет %s"))
	if err != nil {
		log.Fatal(err)
	}

	err = message.Set(language.Russian, "It costs {cost}", catalog.String("Это стоит %.2f."))
	if err != nil {
		log.Fatal(err)
	}

	lang, err := language.Parse("ru")
	if err != nil {
		log.Fatal(err)
	}

	ctx := translation.WithLanguage(context.Background(), lang)

	tr := icu.Trans(ctx, "Hello {city}", translation.WithArgs("Москва"))
	fmt.Println(tr)
	tr = icu.Trans(ctx, "It costs {cost}", translation.WithNumber("cost", 1000.00, arg.WithNumberFormat(arg.NumberFormatDecimal)))
	fmt.Println(tr)
}
Output:

Привет Москва
Это стоит 1 000,00.

Types

This section is empty.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL