* Update translation file with the new (2024-05-04) `messages.pot`
version;
* Translate `src/types-and-values.md`;
* Translate `src/types-and-values/*.md`;
* Revise a number of fuzzy translations;
* Fix a markdown link in control-flow-basics;
* Preserve some source code in `msgstr` that shouldn't be translated;
* Translate few schedule and welcome pages items;
* Mention an alternative translation for destructuring: распаковка;
* Translate session timings, use case endings with numbers;
#326
* Translate new `msid`s related to navigation of days 3 and 4 sections;
* Rename to provide more context:
* `Iterator` -> Типаж `Iterator`
* `IntoIterator` -> Типаж `IntoIterator`
* `FromIterator` -> Типаж `FromIterator`
* Rename: Функции -> Небезопасные функции (Unsafe Functions)
* Mention alternatives in translator's comments;
* Mark translations brought from the Rust book;
#326
* Add translations for the new extracted messages related to Day 1and
Day 2 chapters;
* Fix numbering in translation of Day 4 titles;
* Use PO file translator comments for notes and reasons why one or
another choice was made, mention alternatives;
* Do not translate type and trait names;
* Rename: Поток управления -> Управляющие конструкции;
* Rename: Перечисления и сопоставление с образцом. -> Деструктуризация;
* Rename: Ссылки -> Заимствование;
* Rename: Висячие ссылки -> Изменяемые ссылки;
* Rename: Вторая половина дня -> После обеда;
* Rename: Поток управления -> `Let` в потоке управления (src: Let
Control Flow);
* Rename: Функции -> Обобщённые функции (src: Generic Functions);
* Rename: Обобщения (generics). -> Обобщённые типажи (src: Generic
Traits);
* Cannot translate `Slices: &[T]` - possible bug
#326
* Build `messages.pot` (untracked) using `gettext` with granularity=0;
* Update `ru.po` with `msgmerge --update`;
* Make it easier to review consequent translation-centric pull requests;
#326
This is a clean refresh, requires only a syntactical review.
You can skim this PR with the [GitHub CLI](https://cli.github.com/):
```
gh pr diff 1739 | bat -l patch
```
This enforces a consistent formatting for the PO files. The goal of this
is to avoid large diffs due to random and unnecessary reformatting.
We use the format of `msgcat`: this is also waht `msgmerge` produces and
it’s easy to replicate for people by installing Gettext and running
`dprint fmt`.
This is a follow-up to #1351 which started enforcing that the `msgid`
fields don’t change due to reformatting in a PR.
If this turns out to be cumbersome, then we can disable it again.
This updates each PO file to the date when it was last touched:
for po_file in po/*.po; do
POT_DATE=$(git log -1 --date=short --format=%ad $po_file)
sed -i -e 's/"POT-Creation-Date:.*"/"POT-Creation-Date:
'$POT_DATE'\\n"/' $po_file
done
The dates will be updated with `msgmerge` in the future via
https://github.com/google/mdbook-i18n-helpers/pull/87.
The dates here can be adjusted by hand if needed — the starting point
here only serves as a rough anchor to let us freeze the translations
from further updates. So if you know that you ran `msgmerge` most
recently on a given date, please update the file to that date in a later
PR.
Before, po/ru.po had these statistics:
217 translated messages, 35 fuzzy translations, 1529 untranslated
messages.
Afterwards, the statistics for po/ru.po is:
374 translated messages, 47 fuzzy translations, 2046 untranslated
messages.
The number of translated messages changed from 12% to 15%.
With this change, it becomes important to use the latest version of
mdbook-i18n-helpers when viewing the translation locally. To update to
the latest version, run
cargo install mdbook-i18n-helpers
You will now be able to serve the translation locally.
Part of #330.