universal-translator

:speech_balloon: i18n Translator for Go/Golang using CLDR data + pluralization rules

Github星跟蹤圖

universal-translator

Project status
Build Status
Coverage Status
Go Report Card
GoDoc
License
Gitter

Universal Translator is an i18n Translator for Go/Golang using CLDR data + pluralization rules

Why another i18n library?

Because none of the plural rules seem to be correct out there, including the previous implementation of this package,
so I took it upon myself to create locales for everyone to use; this package
is a thin wrapper around locales in order to store and translate text for
use in your applications.

Features

  • Rules generated from the CLDR data, v30.0.3
  • Contains Cardinal, Ordinal and Range Plural Rules
  • Contains Month, Weekday and Timezone translations built in
  • Contains Date & Time formatting functions
  • Contains Number, Currency, Accounting and Percent formatting functions
  • Supports the "Gregorian" calendar only ( my time isn't unlimited, had to draw the line somewhere )
  • Support loading translations from files
  • Exporting translations to file(s), mainly for getting them professionally translated
  • Code Generation for translation files -> Go code.. i.e. after it has been professionally translated
  • Tests for all languages, I need help with this, please see here

Installation

Use go get

go get github.com/go-playground/universal-translator

Usage & Documentation

Please see https://godoc.org/github.com/go-playground/universal-translator for usage docs

Examples:

File formatting

All types, Plain substitution, Cardinal, Ordinal and Range translations can all be contained withing the same file(s);
they are only separated for easy viewing.

Examples:
Basic Makeup

NOTE: not all fields are needed for all translation types, see examples

{
    "locale": "en",
    "key": "days-left",
    "trans": "You have {0} day left.",
    "type": "Cardinal",
    "rule": "One",
    "override": false
}
```, Field, Description, ---, ---, locale, The locale for which the translation is for., key, The translation key that will be used to store and lookup each translation; normally it is a string or integer., trans, The actual translation text., type, The type of translation Cardinal, Ordinal, Range or "" for a plain substitution(not required to be defined if plain used), rule, The plural rule for which the translation is for eg. One, Two, Few, Many or Other.(not required to be defined if plain used), override, If you wish to override an existing translation that has already been registered, set this to 'true'. 99% of the time there is no need to define it., Help With Tests
---------------
To anyone interesting in helping or contributing, I sure could use some help creating tests for each language.
Please see issue [here](https://github.com/go-playground/locales/issues/1) for details.

License
------
Distributed under MIT License, please see license file in code for more details.

主要指標

概覽
名稱與所有者go-playground/universal-translator
主編程語言Go
編程語言Go (語言數: 2)
平台
許可證MIT License
所有者活动
創建於2016-02-09 19:53:38
推送於2023-01-30 04:28:38
最后一次提交2023-01-29 20:27:26
發布數14
最新版本名稱v0.18.1 (發布於 )
第一版名稱v0.9.1 (發布於 )
用户参与
星數399
關注者數9
派生數50
提交數94
已啟用問題?
問題數15
打開的問題數8
拉請求數11
打開的拉請求數2
關閉的拉請求數5
项目设置
已啟用Wiki?
已存檔?
是復刻?
已鎖定?
是鏡像?
是私有?