Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add Uzbek translation #478

Closed
wants to merge 13 commits into from
Closed

Add Uzbek translation #478

wants to merge 13 commits into from

Conversation

ismoilovdevml
Copy link

@ismoilovdevml ismoilovdevml commented Mar 5, 2023

Hello there. I am an Uzbek localization developer. I was interested in this project and wanted to contribute. I wanted to see the project in Uzbek. Let's add the Uzbek language to the project. I work actively. Please accept, I want to see the Uzbek language

@google-cla
Copy link

google-cla bot commented Mar 5, 2023

Thanks for your pull request! It looks like this may be your first contribution to a Google open source project. Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA).

View this failed invocation of the CLA check for more information.

For the most up to date status, view the checks section at the bottom of the pull request.

@mehmetoguzderin
Copy link

mehmetoguzderin commented Mar 5, 2023

Yaxshi, katta rahmat (This is good, thank you very much).

Helps a lot, I hope this can merge.

Edit: @azizamirsaidova points out some important things to which I can also attest. Hopefully, OP can commit a revision to fix the details for the better.

@azizamirsaidova
Copy link

Thank you for contributing @ismoilovdevml. I realized in your commits there are couple mistakes in your translation. For example:

"Mutable Static Variables" translated as "O'zgaruvchan statik o'zgaruvchilar." Since, we are speaking of technical terms, "variable" here is not because of its capability to vary but it's a value that stores information to be referenced.

Similarly, "Shared State" translated as "Umumiy davlat," here "state" means programs current snapshot not a country.

These are just couple noted, but there were others translated semantically incorrect, or not even translated like "Day 4: Afternoon", "Day 4: Afternoon".

Please, at your convenience take a look and review your previously translated ones. Let me know if you need more clarification.

PS: I'm also a native Uzbek speaker.

@ismoilovdevml
Copy link
Author

Thank you for contributing @ismoilovdevml. I realized in your commits there are couple mistakes in your translation. For example:

"Mutable Static Variables" translated as "O'zgaruvchan statik o'zgaruvchilar." Since, we are speaking of technical terms, "variable" here is not because of its capability to vary but it's a value that stores information to be referenced.

Similarly, "Shared State" translated as "Umumiy davlat," here "state" means programs current snapshot not a country.

These are just couple noted, but there were others translated semantically incorrect, or not even translated like "Day 4: Afternoon", "Day 4: Afternoon".

Please, at your convenience take a look and review your previously translated ones. Let me know if you need more clarification.

PS: I'm also a native Uzbek speaker.

Thanks for your help @azizamirsaidova. I found my mistakes and am fixing them. I need your help with this project. I have some difficulties in the translation. How can I contact you by e-mail or telegram?

@azizamirsaidova
Copy link

Email is good for me, [email protected]

@mgeisler
Copy link
Collaborator

mgeisler commented Mar 7, 2023

Hi all! Thanks so much for working on this! I'm thrilled to see so many enthusiastic people here 😄

I look forward to merging this — and I've started looking for someone at Google who can help me review this. In the mean time, I suggest you collaborate in https://github.com/ismoilovdevml/comprehensive-rust. Please make sure to merge in #480: that will ensure that the translated code keeps compiling.

Is there a Uzbek translation of the Rust Book? If so, it would be great if you could use the same terminology as they do.

@orzklv
Copy link

orzklv commented Mar 7, 2023

Hi all! Thanks so much for working on this! I'm thrilled to see so many enthusiastic people here 😄

I look forward to merging this — and I've started looking for someone at Google who can help me review this. In the mean time, I suggest you collaborate in ismoilovdevml/comprehensive-rust. Please make sure to merge in #480: that will ensure that the translated code keeps compiling.

Is there a Uzbek translation of the Rust Book? If so, it would be great if you could use the same terminology as they do.

Hello there, Yuri was here!

Recently, open source become a trendy thingy amongst Uzbek developers community thanks to enthusiasts from @uzinfocom-org and I'm happy to say that at the moment we have many organizations & groups that are working on lots of open source projects like localization, internationalization, libraries & frameworks, programming languages, language models and so on. I maintain @rust-lang-uz and you can take a look at our translations in our organization or visit deployed websites via repositories' links. Thanks to our team, especially @ismoilovdevml, we've been progressing aggressively and I hope we will accomplish even more achievements. Currently, we have decided to deploy the fork at google.rust-lang.uz temporarily until it gets approved. As soon as the fork gets merged, we will redirect it to global (this repo). You may keep track of progress at mentioned URL above!

Thank you all very much for your attention!

@mgeisler mgeisler changed the title Added Uzbek language Add Uzbek translation Mar 7, 2023

#: src/SUMMARY.md:42
msgid "Variables"
msgstr "O'zgaruvchilar"

#: src/SUMMARY.md:43
msgid "Type Inference"
msgstr "Type Inference"
msgstr "Inference Turi"

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This should be "Tur Inferencei" or something similar that makes "Inference" or its translated substitute the head, right? Because it does not speak about a "Type of Inference" but vaguely "Inference of Types". I believe there are a few flips like this.

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sadly, Uzbek language doesn't have any translations for complex & scientific words and therefore we decided to translate only suffixes of words and adopt the base. In this example below, it would be way more correctly to translate it as "Inferensiya Turi". I do apologize for untranslated parts, @ismoilovdevml has been bugging out with this and currently we are working on single scientific words dictionary.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@katsuki-yuri The "-i" suffix in "Inferensiya Turi" is possessive person marker, right? Like "Inferensiyaning Turi". If that is the case, it does not produce the correct noun phrase, as in, English would be "The type of inference", which makes inference sound like a name of an object rather than a process.

"Tur Inferensiyasi" on the other hand produces the correct noun phrase.

Thank you very much for your kind reply

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just to exemplify, let's take a more widespread phrase: Conference attendance.
Konferentsiya ishtiroki is a corresponding translation.

The common aspect of "Conference attendance" and "Type inference" in English is head directionality parameter. Both phrases' head is the final word. Because Uzbek is a head-final language, the correct translation should emit corresponding head to the final position too. Hence, "Konferentsiya ishtiroki" and "Tur inferensiyasi" should be correct. "Ishtirok konferentsiyasi" and "Inferensiya turi" flip the words.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

(just reminder that original phrase is "Type Inference" meaning "Inference of Types" or "Types' Inference" roughly)

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm just writing my closing remarks in this review thread. If anybody familiar with translation process can send their dependency or constituency parse of "Tur inferensiyasi" and "Inferensiya turi" (in the assumed alphabet of this translation), it would be helpful for other eyes, but otherwise, I just wish you people good luck with improving digital resources for Uzbek people! Keep at it, open-source helps people ❤️ (and if possible please avoid ad-hominems and curse words to improve constructive quality of the dialogue)

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  1. The one which adopts Russian Cyrillic characters which has additions to meet Uzbek dialects
  2. Latin (which current Uzbek language uses) that adopted grammars from Russian based Cyrillic dialect.

even if latin is being taught at schools, gov still uses cyrillic and follows hella another separate rules which can't be used in public. @mehmetoguzderin now you see the problem?

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@katsuki-yuri I do recognize the struggle. But as I said in my last comment, I just have a final suggestion for the dialogue, otherwise, everything you all express here are well-noted and understood. Thank you.

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@katsuki-yuri I do recognize the struggle. But as I said in my last comment, I just have a final suggestion for the dialogue, otherwise, everything you all express here are well-noted and understood. Thank you.

Thank you for your understanding 🫱🏻‍🫲🏻

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi! I would like to add something regarding the translation of "Type inference". After reading through all the thread, the confusion is in the understanding of the term of "Type Inference" itself in English. You can see the real difference between the terms here in these two examples: "the model is being used to do inference on types [Tur Inferensiyasi]" vs "there are around 10 inference types introduced in the last 2 years [Inferensiya Turlari]"

@mehmetoguzderin makes a good point in clarifying exactly which meaning of the phrase "Type Inference" being used here and I don't understand how the conversation about Latin and Cyrillic is relevant here at all.

But anyways, this is a small issue in itself and wouldn't probably make a big difference in the end. Thanks to @katsuki-yuri and @ismoilovdevml for the initiative!

@orzklv
Copy link

orzklv commented Mar 9, 2023

We will close the PR temporarily and send another PR as soon as we finish the translation and correct all typos & mistakes. Until so, we will host it ourselves and keep working on it. You can keep track of progress here: https://github.com/rust-lang-uz/comprehensive-rust

@ismoilovdevml
Copy link
Author

I agree with all the points of @katsuki-yuri and @yetimdasturchi. @mgeisler accept the pull request and add the Uzbek language? We are trying our best. I have experience in localization projects and speak Uzbek very well. We were happy with this project. But unfortunately it didn't happen like that. @mgeisler please find an Uzbek developer who knows Uzbek well to check the pull request. We will not stop this project and I will continue my work at https://github.com/rust-lang-uz. @mgeisler why is localization not well considered and/or accepted?. After all, I translated into Uzbek so that everyone can understand it. We have some problems with our language. It is difficult to speak pure Uzbek in information technologies. My team and I will not stop developing the Uzbek language.

@mgeisler
Copy link
Collaborator

mgeisler commented Mar 9, 2023

@mgeisler accept the pull request and add the Uzbek language? We are trying our best.

I'm happy to add the language when the translation is more complete. Last I looked at the output of the CI, about 160 messages were translated (out of ~1300, I believe). So it will take a while before we can publish the resulting HTML.

After all, I translated into Uzbek so that everyone can understand it. We have some problems with our language. It is difficult to speak pure Uzbek in information technologies.

I'm from Denmark myself and of course I started a Danish translation. It's very incomplete because it's very hard and difficult work to translate this. So I understand the struggle and I'm impressed with your enthusiasm!

We will not stop this project and I will continue my work at https://github.com/rust-lang-uz.

That's great! The development should happen in your own repository and then we'll merge it into this repository when it's more complete. It doesn't really matter where the .po file is stored while it is being developed.

Would you instead prefer us to merge the incomplete translation right away? Publishing is decoupled from merging so it won't really change anything right now.

@mgeisler
Copy link
Collaborator

Hi folks,

Would you instead prefer us to merge the incomplete translation right away? Publishing is decoupled from merging so it won't really change anything right now.

Have you thought about the above? Should I find someone to review the PR so we can merge it?

@Tnation888
Copy link

Tnation888 commented Apr 20, 2023 via email

@mgeisler
Copy link
Collaborator

Hi @ismoilovdevml, it's great to see that you merge the main branch into this PR. Have you also had a chance to synchronize the translation with the latest changes to the English text?

For that, you need to run

MDBOOK_OUTPUT='{"xgettext": {"pot-file": "messages.pot"}}' mdbook build -d po
msgmerge --update po/uz.po po/messages.pot

This will ensure that the uz.po file has the latest English source texts.

@mgeisler
Copy link
Collaborator

mgeisler commented Jul 3, 2023

Hey all, can we get someone to review the changes here so we can commit the file? Then we can iterate in small PR going forwards.

@mgeisler
Copy link
Collaborator

Let us close this PR for now. Please open a new PR with a near-empty Uzbek translation.

@mgeisler mgeisler closed this Aug 13, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

8 participants