google / comprehensive-rust

This is the Rust course used by the Android team at Google. It provides you the material to quickly teach Rust.
https://google.github.io/comprehensive-rust/
Apache License 2.0
27.6k stars 1.64k forks source link

Chinese (Simplified) translation #324

Closed hilbert-yaa closed 5 months ago

hilbert-yaa commented 1 year ago

Hi Martin @mgeisler ! I've had a conversation with you via email about this translation a week ago. I'm working on this issue rn.

Edit by @mgeisler: See https://github.com/google/comprehensive-rust/issues/324#issuecomment-1562626220 below for instructions.

mgeisler commented 1 year ago

Hi all! It would be great if someone could refresh the translation with msgmerge after installing the new version of mdbook-i18n-helpers. After the normalization in #1097, you need a refresh to get new strings incorporated and to mark old strings as obsolete.

mgeisler commented 1 year ago

Hi all! Thanks to #1218, the Simplified Chinese translation is now being published automatically on every merge to main. See: https://google.github.io/comprehensive-rust/zh-CN/.

What you see there is the result of translating the current English strings — if your PO file is not up-to-date, the course reverts to English (see https://github.com/google/mdbook-i18n-helpers/issues/16 for ideas on how to improve this). This is why running msgmerge every 2-3 weeks is so important.

@henrif75 is working with our Localization team to translate the missing content and I hope it will be ready for review in a few weeks.

henrif75 commented 11 months ago

I'm going to revert the open zh-CN PRs back to draft until we sort out an issue with the current .po file.

mgeisler commented 11 months ago

What you see there is the result of translating the current English strings — if your PO file is not up-to-date, the course reverts to English (see google/mdbook-i18n-helpers#16 for ideas on how to improve this). This is why running msgmerge every 2-3 weeks is so important.

This is now outdated! With #1243, we now use the POT-Creation-Date in each PO file to retrieve the English messages present at the time the PO file was last refreshed.

With #1312 merged, I see that Rust Fundamentals (Days 1 to 3) are 62% translated! Amazing :tada:

In Zsh, I found this lovely command to exclude the Android, Bare-metal, and Concurrency deep dives:

% msggrep -v --location=src/{exercises/,}{android,bare-metal,concurrency,async}{.md,"/*","/*/*","/*/*/*"} po/zh-CN.po | msgfmt -o /dev/null --statistics -
1012 translated messages, 151 fuzzy translations, 457 untranslated messages.

I think we should consider linking Simplified Chinese in the language picker drop-down soon. Maybe fully translating the front page and Day 1 Morning and Afternoon would be a good milestone?

Please let me and @henrif75 know if we can help in any way.

henrif75 commented 11 months ago

Hey @mgeisler, With the latest PRs, the zh-CN translation has now (for Fundamentals):

msggrep -v --location=src/{exercises/,}{android,bare-metal,concurrency,async}{.md,"/*","/*/*","/*/*/*"} po/zh-CN.po | msgfmt -o /dev/null --statistics -
1277 translated messages, 152 fuzzy translations, 181 untranslated messages.

Should we finally add it to the language drop-down as an available translation?

About the remaining untranslated/fuzzy messages, would it be better to save resources and wait for the v2 structure?

xieyuanbin1 commented 11 months ago

本地运行 mdbook serve 怎么切换到中文?

SwiftSIQI commented 11 months ago

本地运行 mdbook serve 怎么切换到中文?

Looks this part of the file: https://github.com/google/comprehensive-rust/blob/main/TRANSLATIONS.md#serving-a-translation

MDBOOK_BOOK__LANGUAGE=xx mdbook serve -d book/xx

xieyuanbin1 commented 11 months ago

本地运行 mdbook serve 怎么切换到中文?

Looks this part of the file: https://github.com/google/comprehensive-rust/blob/main/TRANSLATIONS.md#serving-a-translation

MDBOOK_BOOK__LANGUAGE=xx mdbook serve -d book/xx

多谢🙏

mgeisler commented 11 months ago

Should we finally add it to the language drop-down as an available translation?

Yes, let's do that! Thanks for checking the statistics!

mgeisler commented 11 months ago

Hey all, please see #1367 for a discussion about a Chinese glossary.

Also, thanks to your hard work, the Simplified Chinese translation is now published and linked from the language picker! :tada: You can see it live here: https://google.github.io/comprehensive-rust/zh-CN/.

mgeisler commented 10 months ago

Hi all! I wanted to let you know about #1460. This is an update to mdbook-i18n-helpers which will remove ~6k lines from your PO file. It changes the way code blocks are processed: we now extract strings and comments directly.

You need to run mdbook-i18n-normalize on your PO file to preserve the translations found here: https://google.github.io/comprehensive-rust/zh-CN/hello-world/small-example.html (and any other places where you have translated comments).

You can do this before/after refreshing the translation. See #1461 for an example PR which shows the state after normalization.

mgeisler commented 8 months ago

Hey folks, just a heads up that we're tinkering with publishing the course as a PDF — including for the translations: #1572.

If you have input on the font to use, please let us know!

AgainstEntropy commented 8 months ago

Hi guys! This is Yihao (Ethan), and I'm exicited to make a meaningful contribution!🔥

henrif75 commented 8 months ago

Hi guys! This is Yihao (Ethan), and I'm exicited to make a meaningful contribution!🔥

Hi Ethan, thank you! It's great to have you with our efforts to make the course accessible to Chinese-speakers! Feel free to check the TRANSLATIONS.md with the instructions on how the localization engine works. Feel free to send me a PR as well if you want to help with PR reviews by adding yourself to the CODEOWNERS file. Thanks again!

AgainstEntropy commented 8 months ago

Hi guys! This is Yihao (Ethan), and I'm exicited to make a meaningful contribution!🔥

Hi Ethan, thank you! It's great to have you with our efforts to make the course accessible to Chinese-speakers! Feel free to check the TRANSLATIONS.md with the instructions on how the localization engine works. Feel free to send me a PR as well if you want to help with PR reviews by adding yourself to the CODEOWNERS file. Thanks again!

Hi Henri. Thanks for your reply. Sure I'm willing to help and I have created a PR #1734

henrif75 commented 8 months ago

The v.2 content is now published. There's still several fuzzy translations that will need to be reviewed and corrected or confirmed.

henrif75 commented 5 months ago

Closing this issue since we're done with the core translation work.