mirror of
https://github.com/logseq/logseq.git
synced 2026-04-27 07:35:01 +00:00
- Updated docs with more accurate picture of translation state - invalid task found keys that were no longer used from 2 commands - Cleaned up rewrite-clj
92 lines
4.1 KiB
Markdown
92 lines
4.1 KiB
Markdown
## Intro
|
|
|
|
Thanks for your interest in improving our translations! This document provides
|
|
details on how to contribute to a translation. This document assumes you can run
|
|
commandline tools, know how to switch languages within Logseq and basic
|
|
Clojurescript familiarity. We use [tongue](https://github.com/tonsky/tongue), a
|
|
most excellent library, for our translations.
|
|
|
|
## Setup
|
|
|
|
In order to run the commands in this doc, you will need to install
|
|
[Babashka](https://github.com/babashka/babashka#installation).
|
|
|
|
## Where to Contribute
|
|
|
|
Language translations are in two files,
|
|
[frontend/dicts.cljs](https://github.com/logseq/logseq/blob/feature/lang-tasks-and-ci/src/main/frontend/dicts.cljs)
|
|
and
|
|
[shortcut/dict.cljs](https://github.com/logseq/logseq/blob/feature/lang-tasks-and-ci/src/main/frontend/modules/shortcut/dict.cljs).
|
|
When translating `shortcut/dict.cljs` you will want to refer to
|
|
https://github.com/logseq/logseq/blob/feature/lang-tasks-and-ci/src/main/frontend/modules/shortcut/config.cljs
|
|
for the English equivalent.
|
|
|
|
## Language Overview
|
|
|
|
First, let's get an overview of Logseq's languages and how many translations your
|
|
language has compared to others:
|
|
|
|
```sh
|
|
$ bb lang:list
|
|
|
|
|
|
| :locale | :percent-translated | :translation-count | :language |
|
|
|----------+---------------------+--------------------+------------------------|
|
|
| :en | 100 | 494 | English |
|
|
| :nb-NO | 90 | 445 | Norsk (bokmål) |
|
|
| :zh-CN | 87 | 432 | 简体中文 |
|
|
| :ru | 85 | 422 | Русский |
|
|
| :pt-BR | 77 | 382 | Português (Brasileiro) |
|
|
| :pt-PT | 76 | 373 | Português (Europeu) |
|
|
| :es | 71 | 349 | Español |
|
|
| :zh-Hant | 55 | 272 | 繁體中文 |
|
|
| :af | 51 | 253 | Afrikaans |
|
|
| :de | 48 | 238 | Deutsch |
|
|
| :fr | 39 | 195 | Français |
|
|
Total: 11
|
|
```
|
|
|
|
Let's try to get your language translated as close to 100% as you can!
|
|
|
|
## Edit a Language
|
|
|
|
To see what translations are missing:
|
|
|
|
```
|
|
$ bb lang:missing
|
|
| :translation-key | :string-to-translate |
|
|
|----------------------------------------+-------------------------------------------------------|
|
|
| :cards-view | View cards |
|
|
| :delete | Delete |
|
|
| :export-graph | Export graph |
|
|
| :export-page | Export page |
|
|
| :graph-search | Search graph |
|
|
| :open-new-window | New window |
|
|
...
|
|
```
|
|
|
|
Now, add keys for your language, save and rerun the above command. Over time
|
|
you're hoping to have this list drop to zero.
|
|
|
|
There is a lot to translate and sometimes we make mistakes. For example, we may leave a string untranslated. To see what translation keys are still left in English:
|
|
|
|
```
|
|
$ bb lang:duplicates
|
|
Keys with duplicate values found:
|
|
|
|
| :translation-key | :duplicate-value |
|
|
|-----------------------------------+------------------|
|
|
| :general | General |
|
|
| :logseq | Logseq |
|
|
| :no | No |
|
|
```
|
|
|
|
Sometimes, we typo the translation key. If that happens, the github CI job will
|
|
detect this error and helpfully show you what was typoed.
|
|
|
|
## Add a Language
|
|
|
|
To add a new language, add an entry to `frontend.dicts/languages`. Then add a
|
|
new locale keyword to `frontend.dicts/dicts` and to
|
|
`frontend.modules.shortcut.dict/dict` and start translating as described above.
|