Coder Social home page Coder Social logo

Comments (67)

mgeisler avatar mgeisler commented on July 23, 2024 4

Wow, thank you so much for the many positive replies! You're all amazing! ☺️

Many have asked me (via emails or via chat) what the next steps will be. I propose the following:

  1. First, we get the zh-CN.po file commited via #676 (@jzpin is on that).
  2. After that, use this spreadsheet to coordinate.
    • I've added everybody who expressed interest above — please add yourself!
    • Pick a file from the second sheet and add your Github username next to it to claim it.
      • Change the state to "In progress" and
      • Add today's date to the last change column.
    • The spreadsheet is editable by everybody (both inside and outside of Google) so you can add/remove things, comment on it and generally update it to suit your needs.

Please send small PRs! I suggest translating the titles in the SUMMARY.md file as you translate the content itself, but that will naturally lead to contention on that file. Perhaps you want to instead agree upfront about the wording for the titles? Our discussions would be a good place to do this.

See #683 for a just-started discussion about where to coordinate a translation table. You might want to create a similar table — in the spreadsheet, in the PO file directly, or in a discussion post.

Let me know if I've forgotten something or can help in any other way!

from comprehensive-rust.

wnghl avatar wnghl commented on July 23, 2024 2

@jzpin I've also met these two problems before, here's my solution for these:
(1) In po file, all text will have a filename above, just like this:
image
or we can use text search of text editor(Ctrl + F) to find the related position. The file hierarchy is related to the hierarchy of the document category. So when we need to translate chaptor of 'Hello World', just open the chapter in https://google.github.io/comprehensive-rust/hello-world.html, then search "Let us jump into the simplest possible" in the po file.
(2) I found that poedit would automatically format the po file, and it will even change the metadata 'Language' from 'zh-Hans' to 'zh_CN'. I don't find where to close the feature, so now I switch to VSCode + gettext plugin to edit the po file:
image
image
I will execute the command MDBOOK_BOOK__LANGUAGE=zh-Hans mdbook serve -d book/zh-Hans to ensure the file format and display effect is ok.

from comprehensive-rust.

mgeisler avatar mgeisler commented on July 23, 2024 2

@mgeisler I'm glad to help review some translations. btws, I have about ten years of bare metal development experience and six years of Android development experience, so I think I can help review bare metal and Android related translations.

Excellent, thanks for joining the project! You should be able to review any of the outstanding PRs. You should be able to add comments already. That will be helpful to the PR author so that problems can be spotted quickly.

You can probably not approve the PRs, but we have a handful of dedicated reviewers already so I guess we're covered on that front? Let me know what you all think here.

from comprehensive-rust.

mgeisler avatar mgeisler commented on July 23, 2024 2

As a part time task, I cannot review incoming PR as soon as possible, so it's looks good for me.

Ah, that's great to hear!

We currently have 5 people signed up as code owners for the zh-CN.po file. My intuition is that it's not useful to email, say, 10 people on every PR — I think that will lead to either duplicate work, or lead to a diffusion where everybody thinks someone else will review the PRs. I don't think this is happening right now, you've all done a superb job at reviewing the 30+ PRs so far! 🤩

On the other hand, I don't want to discourage anybody from helping out! So I'll keep approving code owners until someone tells me to stop 😄

from comprehensive-rust.

superwhd avatar superwhd commented on July 23, 2024 2

Hi contributors,

Any suggestions on which Chinese translation of the Rust language book we should use as the reference? Previously Martin mentioned https://kaisery.github.io/trpl-zh-cn/ but I also saw other folks suggesting https://rustwiki.org/zh-CN/book/. These two books do have differences in translating terms like 'shadowing' (隐藏 vs 遮蔽).

Which Chinese translation of the Rust language book would you suggest as the reference? Please share your thoughts so that we can stick to one as the reference.

from comprehensive-rust.

wnghl avatar wnghl commented on July 23, 2024 1

closed this as not plannedWon't fix, can't repro, duplicate, stale

Hi @mgeisler, I think it's okay to reopen this. I'm sorry for inadvertently closing this issue due to my unfamiliarity with GitHub operations.

from comprehensive-rust.

mgeisler avatar mgeisler commented on July 23, 2024 1

Hi @mgeisler , I missed your first email and just saw your 2nd email today. I am happy to help as well.

Hi @emmafu2022, that's excellent! Thanks a lot! Please see #324 (comment) for instructions. We have a lot of reviewers now (and people are very much welcome to review even without being listed in the CODEOWNERS file), so I suggest you get the tooling setup and pick a file to translate 🙂

Start small and send a few PRs small to get things going!

from comprehensive-rust.

mgeisler avatar mgeisler commented on July 23, 2024 1

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 google/mdbook-i18n-helpers#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.

from comprehensive-rust.

henrif75 avatar henrif75 commented on July 23, 2024 1

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?

from comprehensive-rust.

SketchK avatar SketchK commented on July 23, 2024 1

本地运行 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

from comprehensive-rust.

mgeisler avatar mgeisler commented on July 23, 2024 1

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! 🎉 You can see it live here: https://google.github.io/comprehensive-rust/zh-CN/.

from comprehensive-rust.

mgeisler avatar mgeisler commented on July 23, 2024

For reference: https://github.com/KaiserY/trpl-zh-cn.

from comprehensive-rust.

hilbert-yaa avatar hilbert-yaa commented on July 23, 2024

Sounds great. I'm currently taking this project as a reference.

from comprehensive-rust.

kiwiwarmnfuzzy avatar kiwiwarmnfuzzy commented on July 23, 2024

Hey @mgeisler: I saw that there's a machine-translated version by running the i18n script, could you run the script for the zh_CN locale for us?

(I think Hilbert had a similar script but we noticed some off-by-one errors..., so just wanted to see if these errors are specific to zh_CN locale.)

Thanks!

from comprehensive-rust.

mgeisler avatar mgeisler commented on July 23, 2024

Hi @kiwiwarmnfuzzy, the script it here: #291. I asked the other translators, and they tell me that they haven't seen the same off-by-one errors.

Here is the output from a fresh run of that script: zh_CN.zip.

from comprehensive-rust.

hilbert-yaa avatar hilbert-yaa commented on July 23, 2024

Hi @kiwiwarmnfuzzy, the script it here: #291. I asked the other translators, and they tell me that they haven't seen the same off-by-one errors.

Here is the output from a fresh run of that script: zh_CN.zip.

Oh no worries I wasn't using your script. And thanks this output looks good - we can start from here.

from comprehensive-rust.

mgeisler avatar mgeisler commented on July 23, 2024

Oh no worries I wasn't using your script.

Great to hear that!

from comprehensive-rust.

mgeisler avatar mgeisler commented on July 23, 2024

Hi there, just a small note: please rename the file to zh-CN.po so that the translation will eventually appear under .../zh-CN/. The _ to - change should give us the right kind of language tag and this is the style we used for the Brazilian Portuguese translation in #381.

from comprehensive-rust.

mgeisler avatar mgeisler commented on July 23, 2024

From reading https://developers.google.com/search/docs/specialty/international/localized-versions, I'm thinking we should name the Simplified Chinese translation zh-Hans like @taotieren does in #436.

from comprehensive-rust.

hilbert-yaa avatar hilbert-yaa commented on July 23, 2024

From reading https://developers.google.com/search/docs/specialty/international/localized-versions, I'm thinking we should name the Simplified Chinese translation zh-Hans like @taotieren does in #436.

Got it. I've been occupied by my COVID and ISCA rebuttal lately. Will work on this from the coming week.

from comprehensive-rust.

mgeisler avatar mgeisler commented on July 23, 2024

Got it. I've been occupied by my COVID and ISCA rebuttal lately.

Ugh, sorry to hear that! I had COVID myself last year and it was not fun at all... Good luck with the conference! 🙂

from comprehensive-rust.

hilbert-yaa avatar hilbert-yaa commented on July 23, 2024

Got it. I've been occupied by my COVID and ISCA rebuttal lately.

Ugh, sorry to hear that! I had COVID myself last year and it was not fun at all... Good luck with the conference! slightly_smiling_face

Thanks for the kind words :)

from comprehensive-rust.

est7 avatar est7 commented on July 23, 2024

@hilbert-yaa any update? can't wait to see it

from comprehensive-rust.

xusiwei avatar xusiwei commented on July 23, 2024

I think called Chinese Simplified is better.
Can you post the WIP repo URL in this issuse?

from comprehensive-rust.

kiwiwarmnfuzzy avatar kiwiwarmnfuzzy commented on July 23, 2024

@xusiwei Thanks for reaching out!

I think called Chinese Simplified is better.

Could you explain a little why 'Chinese Simplified' is better? Is the difference between Mandarin v.s. Simplified about speaking v.s. writing? (I'm not very experienced in internationalization and various terminologies, so I'm mildly curious.)

Can you post the WIP repo URL in this issuse?

#325 is the latest PR that I'm aware of. This Google Doc has all the pointers.

from comprehensive-rust.

mgeisler avatar mgeisler commented on July 23, 2024

I think called Chinese Simplified is better.

Hi @xusiwei, I tried looking this up and from what I can understand, you're right: we should call the translation "Chinese (Simplified)" since we're referring to the script. Google Translate uses "Chinese (Simplified)" so that's why I'm suggesting this variation.

from comprehensive-rust.

mgeisler avatar mgeisler commented on July 23, 2024

To everybody here (@est7, @xusiwei, @kiwiwarmnfuzzy, ...): could someone generate a nearly-empty po/zh-Hans.po file to get the translation kicked off? We've done that recently for #653 and #652 😄

It would be awesome to get this started so that people can have an easier time contributing follow-up translations.

from comprehensive-rust.

markx avatar markx commented on July 23, 2024

Hi @mgeisler, just saw your email and I think this is very exciting! I was going to go through the course anyway so I'd love to help with at least some parts of this translation.

from comprehensive-rust.

mgeisler avatar mgeisler commented on July 23, 2024

Hi @mgeisler, just saw your email and I think this is very exciting! I was going to go through the course anyway so I'd love to help with at least some parts of this translation.

Hey @markx, that's excellent! Please start by putting up a PR to create the PO file, see our translation instructions for how to do this.

from comprehensive-rust.

HangDu1995 avatar HangDu1995 commented on July 23, 2024

Hi @mgeisler, I saw your email too. I can also help with the translation!

from comprehensive-rust.

jzpin avatar jzpin commented on July 23, 2024

Hi @mgeisler I would like to help. How many people are needed for the Chinese translation? I was wondering how to avoid duplicate work?

from comprehensive-rust.

jzpin avatar jzpin commented on July 23, 2024

To create the po file for Chinese, should we use zh-HANS or zh-CN for simplified Chinese? To give some context, see discussion here for Chinese variants. To me, maybe zh-CN makes more sense here, if we really want to consider the differences of usage at different regions.

from comprehensive-rust.

Doris-Ge avatar Doris-Ge commented on July 23, 2024

Hi @mgeisler, I'm Doris. I'd like to help! How should I coordinate with other volunteers?

from comprehensive-rust.

caott0503 avatar caott0503 commented on July 23, 2024

Hi @mgeisler, I'm Luke and I saw your email. I'd like to help with the translations! How should I participate in this?

from comprehensive-rust.

dav11b avatar dav11b commented on July 23, 2024

hey @mgeisler, My name's David and I'm also happy to help!

from comprehensive-rust.

YifangZ09 avatar YifangZ09 commented on July 23, 2024

Hi. This is Yifang and I'm glad to help :)

from comprehensive-rust.

mgeisler avatar mgeisler commented on July 23, 2024

To create the po file for Chinese, should we use zh-HANS or zh-CN for simplified Chinese? To give some context, see discussion here for Chinese variants.

Thanks for the link — I've also been trying to read up on this!

As written above and in your link, zh-Hans and zh-Hant are the recommended region neutral ways of denoting the Chinese written in einer simplified or traditional script. That's my current understanding and it matches how Google Translate has just two options

  • Chinese (Simplified)
  • Chinese (Traditional)

To me, maybe zh-CN makes more sense here, if we really want to consider the differences of usage at different regions.

This is something I cannot judge. My guy feeling would be to start with simplified and traditional translations — but that's just because I can see the difference even if I cannot read the scripts 🙂

Do you think the Rust community is large enough to have regional differences show up so that we should have CN, TW HK and SG translations?

from comprehensive-rust.

mgeisler avatar mgeisler commented on July 23, 2024

If there are people here who actually wanted to work on a Chinese (Traditional) translation, then please see the newly created #684!

from comprehensive-rust.

jzpin avatar jzpin commented on July 23, 2024

I only have experiences on zh-CN and zh-TW. Translation between zh-CN and zh-TW is nontrivial. For example, the word software is translated to zh-CN as 软件 and the direct translation from simplified Chinese to the traditional Chinese is 軟件. But the correct translation is 軟體. Both 軟件 and 軟體 are in traditional Chinese. I am not sure if there are such differences in other regions like HK or SG.

Given all that, I agree to use zh-Hans and zh-Hant in this case, as we are most likely to have only two translations in the end. I just want to remind other participants to be aware of the issue.

from comprehensive-rust.

sylxjtu avatar sylxjtu commented on July 23, 2024

Hi, I saw your post in misc-pek, glad to help with translation, added myself in the spreadsheet. 😃

from comprehensive-rust.

mgeisler avatar mgeisler commented on July 23, 2024

All: please assign a file to yourself in the spreadsheet and send a few small PRs to get started.

See #324 (comment) for my proposed next steps — I hope you can self-organize and come up with guidelines for a consistent vocabulary.

from comprehensive-rust.

gryffindor-rr avatar gryffindor-rr commented on July 23, 2024

Hi @mgeisler, I saw your email to misc-pek. I can also help with the translation!

from comprehensive-rust.

mgeisler avatar mgeisler commented on July 23, 2024

Thanks @gryffindor-rr, please see instructions above.

Thanks @sylxjtu for making the first PR with translated strings! 🎉 @suetfei, you should be able to review this after accepting the invite to work on the repository.

from comprehensive-rust.

mgeisler avatar mgeisler commented on July 23, 2024

Wow, you've opened an amazing amount of PRs! That's amazing to see! 🎉 We now have @suetfei, @wnghl, @anlunx, and @kongy as reviewers for Chinese (Simplified) so I hope you won't have to wait long to get them merged.

When the first day has been translated, then we can start publishing the translation as part of the normal flow. Eventually, we will link it from the translations page and include it in the language picker in the top-right of every page. I suggest we do this when we have the first two days translated — we can put the translation into a new "Under construction" section on the page. Suggestions welcome 🙂

from comprehensive-rust.

Daydreamer-riri avatar Daydreamer-riri commented on July 23, 2024

Great! I will also help with this matter.

from comprehensive-rust.

jzpin avatar jzpin commented on July 23, 2024

Hi contributors, Two quick questions, (1) the work list is divided by files, but how do you locate the target file in the .po file? (2) I tried the Poedit to modify the translation and it turns out it will modify a lot of the formatting in the file which are not my parts. While I checked PR from other people, they only modified necessary lines. How to handle this?

from comprehensive-rust.

jzpin avatar jzpin commented on July 23, 2024

Thanks @wnghl ! This is very helpful.

from comprehensive-rust.

mgeisler avatar mgeisler commented on July 23, 2024

Hi all, thank you very much for the incredible work done here! Let me know if you want to show the in-progress translation already under the Incomplete Translations heading?

I've talked more with people at Google about the naming of the translation and it turns out I was wrong in recommending zh-Hans here. Like @jzpin said above, the vocabulary is different in different regions even if they use the same script.

So I will like us to rename the po/zh-Hans.po file to po/zh-CN.po. @wnghl, can you make a PR for that? Git should be able to merge the in-flight changes fine even after renaming the file.

from comprehensive-rust.

wnghl avatar wnghl commented on July 23, 2024

Hi all, thank you very much for the incredible work done here! Let me know if you want to show the in-progress translation already under the Incomplete Translations heading?

I've talked more with people at Google about the naming of the translation and it turns out I was wrong in recommending zh-Hans here. Like @jzpin said above, the vocabulary is different in different regions even if they use the same script.

So I will like us to rename the po/zh-Hans.po file to po/zh-CN.po. @wnghl, can you make a PR for that? Git should be able to merge the in-flight changes fine even after renaming the file.

Hi @mgeisler , we have created the pr of renaming and it is already merged

from comprehensive-rust.

mgeisler avatar mgeisler commented on July 23, 2024

Hi @mgeisler , we have created the pr of renaming and it is already merged

Thanks! I guess this issue should be opened again or did you want to create a new one?

from comprehensive-rust.

emmafu2022 avatar emmafu2022 commented on July 23, 2024

Hi @mgeisler , I missed your first email and just saw your 2nd email today. I am happy to help as well.

from comprehensive-rust.

xusiwei avatar xusiwei commented on July 23, 2024

@mgeisler I'm glad to help review some translations. btws, I have about ten years of bare metal development experience and six years of Android development experience, so I think I can help review bare metal and Android related translations.

from comprehensive-rust.

xusiwei avatar xusiwei commented on July 23, 2024

You can probably not approve the PRs, but we have a handful of dedicated reviewers already so I guess we're covered on that front? Let me know what you all think here.

As a part time task, I cannot review incoming PR as soon as possible, so it's looks good for me.

from comprehensive-rust.

mgeisler avatar mgeisler commented on July 23, 2024

Hey all, I've sent more chapters to our localization team and will be putting up more PRs soon. Thanks for all the help in reviewing this!

from comprehensive-rust.

mgeisler avatar mgeisler commented on July 23, 2024

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.

from comprehensive-rust.

henrif75 avatar henrif75 commented on July 23, 2024

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

from comprehensive-rust.

mgeisler avatar mgeisler commented on July 23, 2024

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 🎉

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.

from comprehensive-rust.

xieyuanbin1 avatar xieyuanbin1 commented on July 23, 2024

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

from comprehensive-rust.

xieyuanbin1 avatar xieyuanbin1 commented on July 23, 2024

本地运行 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

多谢🙏

from comprehensive-rust.

mgeisler avatar mgeisler commented on July 23, 2024

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

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

from comprehensive-rust.

mgeisler avatar mgeisler commented on July 23, 2024

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.

from comprehensive-rust.

mgeisler avatar mgeisler commented on July 23, 2024

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!

from comprehensive-rust.

AgainstEntropy avatar AgainstEntropy commented on July 23, 2024

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

from comprehensive-rust.

henrif75 avatar henrif75 commented on July 23, 2024

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!

from comprehensive-rust.

AgainstEntropy avatar AgainstEntropy commented on July 23, 2024

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

from comprehensive-rust.

henrif75 avatar henrif75 commented on July 23, 2024

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

from comprehensive-rust.

henrif75 avatar henrif75 commented on July 23, 2024

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

from comprehensive-rust.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.