ipfs / ipfs/kubo

Support internationalization (i18n) and localization (l10n)

Open
#5,540 0 comments 0 reactions 0 assignees View on GitHub
kind/feature
Dominant language
Go
Stars
17.1k
Forks
3.2k
Avg merge
3d 18h
Merged PRs (30d)
11

Description

#### Version information:
0.4.17

#### Type:
Feature

#### Description:

:wave: from IPFS Translation Project (https://github.com/ipfs/i18n)

Our Chinese community is interested in translating go-ipfs, namely CLI UI. I am sure if we set up go-ipfs project at https://www.transifex.com/ipfs/public/ other locales will be contributed as well.

This does not have to be all-or-nothing, it can be incremental process.
Creating issue to get the ball rolling, let's have some discussion.

A high level plan would be something like this:

- [ ] Create `i18n` branch
- [ ] Add support for i18n to go-ipfs in an idiomatic way
- IPFS CLI (`ipfs` command) should detect `LANG` / `LC_*` environment variables and load translation for specified locale, if it exists.
- some initial pointers in _References_
- if anyone is familiar with i18n i ngolang, provide feedback in comments
- [ ] Ensure up-to-date source locale file exists
- [ ] Add Transifex project
- https://github.com/ipfs/i18n/issues/new/choose
- [ ] Add `.tx/config`
- [ ] Merge i18n PR to `master`
- [ ] [Set Transifex to fetch new strings to translate from `master` branch](https://github.com/ipfs/i18n#automatically-updating-source-locale-at-transifex)
- [ ] Add locale sync as a step during release dance of go-ipfs

#### References:

- [`golang.org/x/text`](https://godoc.org/golang.org/x/text) – text-related packages related to internationalization (i18n) and localization (l10n),
- a 30 minute video, recorded on 2017-11-30, on the "State of `golang.org/x/text`": https://www.youtube.com/watch?v=uYrDrMEGu58
- [nicksnyder/go-i18n](https://github.com/nicksnyder/go-i18n) – Go package and a command that helps you translate Go programs into multiple languages (used by [Hugo](https://gohugo.io/))
- [Controlling your locale with environment variables](https://www.linux.com/news/controlling-your-locale-environment-variables) (2006)
- [Transifex 101](https://github.com/ipfs/i18n#transifex-101)

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.