Для добавления Белорусского языка в пакет golang.org/x/text/language, вам нужно отправить Pull Request на гитхаб репозиторий golang.org/x/text. Вам нужно будет добавить новые файлы с кодом для Белорусского языка, а также обновить другие существующие файлы, чтобы включить этот язык. Обязательно прочтите документацию и правила проекта, прежде чем отправлять запрос.
Можно форкнуть и внести изменения в нужные пакеты по своему усмотрению. Затем в своем приложении заменить оригинальные пакеты на форки с помощью директивы replace в файле go.mod:
replace golang.org/x/net v1.2.3 => example.com/fork/net v1.4.5
replace (
golang.org/x/net v1.2.3 => example.com/fork/net v1.4.5
golang.org/x/net => example.com/fork/net v1.4.5
golang.org/x/net v1.2.3 => ./fork/net
golang.org/x/net => ./fork/net
)
Для добавления тега "Белорусский" необходимо внести следующие изменения:
1. В файле tags.go пакета golang.org/x/net добавить следующую строку:
Belorusian Tag = Tag(compact.Belorusian)
2. В файле tags.go пакета internal/language/compact добавить следующую строку:
Belorusian Tag = Tag{language: beBYIndex, locale: beBYIndex}
3. В файле find.go пакета github.com/modernice/go-regionlang добавить следующий язык:
language.Belorusian
Можно изменить и расширить нужные пакеты, сделав форк и исправив их по своему усмотрению. Затем, в вашем приложении, замените исходные пакеты на исправленные форки, используя директиву replace в файле go.mod. Ниже приведены примеры изменений в файле go.mod:
replace (
golang.org/x/net v1.2.3 => example.com/fork/net v1.4.5
golang.org/x/net => example.com/fork/net v1.4.5
golang.org/x/net v1.2.3 => ./fork/net
golang.org/x/net => ./fork/net
)
Чтобы добавить тег для Белоруссии, необходимо внести следующие изменения в соответствующие файлы:
В файле golang.org/x/net/language/tags.go добавьте следующий код:
Belorusian Tag = Tag(compact.Belorusian)
В файле golang.org/x/net/internal/language/compact/tags.go добавьте следующий код:
Belorusian Tag = Tag{language: beBYIndex, locale: beBYIndex}
В файле github.com/modernice/go-regionlang/find.go добавьте следующий код:
language.Belorusian,
После внесения этих изменений необходимо проверить, что добавился тег для Белоруссии.