2020-08-24 19:30:21 -04:00
# OnionShare Documentation
All these commands must be run from the `docs` folder.
You must have the python dependencies installed to build the docs:
```sh
2020-09-20 23:30:54 -04:00
poetry install
2020-08-24 19:30:21 -04:00
```
To build HTML docs:
```sh
2020-09-20 23:30:54 -04:00
poetry run make html
2020-08-24 19:30:21 -04:00
```
Then open `docs/build/html/index.html` in a browser to see it.
2020-08-27 00:13:53 -04:00
To update all of the translations and build all the html, run:
```sh
2020-09-20 23:30:54 -04:00
poetry run ./build.sh
2020-08-27 00:13:53 -04:00
```
You will end up with the documentation in all supported locales in `docs/localized_html` .
Here's how preparing translations works:
2020-08-24 19:30:21 -04:00
```sh
2021-08-22 16:21:09 -04:00
# Generate .po files in build/gettext
2020-08-24 19:30:21 -04:00
make gettext
# Create a new blank German locale in source/locale, based on .po files
sphinx-intl update -p build/gettext -l de
# Build German translated document
make -e SPHINXOPTS="-D language='de'" html
```
2021-05-10 21:05:41 -04:00
2023-06-06 05:21:05 -04:00
## Discovering which translations are >90% complete
2021-05-10 21:05:41 -04:00
Each OnionShare release should only include a language if >90% of the strings have been translated into it. The script `check-weblate.py` script can be used to make a few hundreds weblate API requests to determine this for you automatically. It requires using your weblate API key, which you can find in your [user profile ](https://hosted.weblate.org/accounts/profile/#api ).
```
$ poetry run ./check-weblate.py $WEBLATE_API_KEY
GET https://hosted.weblate.org/api/projects/onionshare/languages/
GET https://hosted.weblate.org/api/translations/onionshare/translations/hr/
GET https://hosted.weblate.org/api/translations/onionshare/translations/eo/
GET https://hosted.weblate.org/api/translations/onionshare/translations/ja/
< ...snip... >
2021-05-10 21:19:20 -04:00
GET https://hosted.weblate.org/api/translations/onionshare/doc-tor/wo/ | error 404
GET https://hosted.weblate.org/api/translations/onionshare/doc-tor/ar/
GET https://hosted.weblate.org/api/translations/onionshare/doc-tor/it/
App translations >= 100%
=======================
English (en), 100.0%
2021-05-10 21:05:41 -04:00
App translations >= 90%
=======================
Arabic (ar), 95.0%
Bengali (bn), 95.0%
Catalan (ca), 93.5%
Chinese (Simplified) (zh_Hans), 98.0%
Chinese (Traditional) (zh_Hant), 95.0%
Croatian (hr), 95.0%
Danish (da), 94.5%
Dutch (nl), 92.6%
French (fr), 98.0%
Galician (gl), 97.5%
German (de), 95.0%
Greek (el), 98.0%
Icelandic (is), 98.0%
Indonesian (id), 98.0%
Italian (it), 94.5%
Japanese (ja), 94.5%
Kurdish (Central) (ckb), 94.5%
Norwegian Bokmål (nb_NO), 98.0%
Polish (pl), 95.0%
Portuguese (Brazil) (pt_BR), 95.0%
Portuguese (Portugal) (pt_PT), 92.6%
Russian (ru), 95.0%
Serbian (latin) (sr_Latn), 95.0%
Slovak (sk), 94.5%
Spanish (es), 98.0%
Swedish (sv), 94.5%
Turkish (tr), 98.0%
Ukrainian (uk), 98.0%
2021-05-10 21:19:20 -04:00
App translations >= 80%
2021-05-10 21:05:41 -04:00
=======================
Finnish (fi), 88.1%
2021-05-10 21:19:20 -04:00
Docs translations >= 100%
2021-05-10 21:05:41 -04:00
========================
English (en), 100.0%, 100.0%, 100.0%, 100.0%, 100.0%, 100.0%, 100.0%, 100.0%, 100.0%
Turkish (tr), 100.0%, 100.0%, 100.0%, 100.0%, 100.0%, 100.0%, 100.0%, 100.0%, 100.0%
Ukrainian (uk), 100.0%, 100.0%, 100.0%, 100.0%, 100.0%, 100.0%, 100.0%, 100.0%, 100.0%
2021-05-10 21:19:20 -04:00
Docs translations >= 90%
========================
Docs translations >= 80%
2021-05-10 21:05:41 -04:00
========================
2021-05-10 21:19:20 -04:00
German (de), 90.6%, 100.0%, 82.1%, 100.0%, 100.0%, 100.0%, 100.0%, 100.0%, 100.0%
Greek (el), 90.6%, 100.0%, 82.1%, 100.0%, 100.0%, 100.0%, 100.0%, 100.0%, 100.0%
Russian (ru), 90.6%, 100.0%, 82.1%, 100.0%, 100.0%, 100.0%, 100.0%, 100.0%, 100.0%
Spanish (es), 90.6%, 100.0%, 82.1%, 100.0%, 100.0%, 100.0%, 100.0%, 100.0%, 100.0%
2021-05-10 21:05:41 -04:00
```