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
101 changes: 54 additions & 47 deletions po/uz.po
Original file line number Diff line number Diff line change
Expand Up @@ -101,7 +101,7 @@ msgstr "Referencelar"

#: src/SUMMARY.md:30
msgid "Dangling References"
msgstr "Dangling References"
msgstr "Dangling Referencelar"

#: src/SUMMARY.md:31
msgid "Slices"
Expand Down Expand Up @@ -134,23 +134,23 @@ msgstr "Implicit konvertatsiyalar"

#: src/SUMMARY.md:38
msgid "Arrays and for Loops"
msgstr "Arraylar va for Loops"
msgstr "Arraylar va for Looplar"

#: src/SUMMARY.md:40
msgid "Day 1: Afternoon"
msgstr "Day 1: Afternoon"
msgstr "1-kun: Tushdan keyin"

#: 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!


#: src/SUMMARY.md:44
msgid "static & const"
msgstr "statik va konstanta"
msgstr "static va const"

#: src/SUMMARY.md:45
msgid "Scopes and Shadowing"
Expand Down Expand Up @@ -270,7 +270,7 @@ msgstr "Enum o'lchamlari"

#: src/SUMMARY.md:82
msgid "Method Receiver"
msgstr "Method Receiver"
msgstr "Receiver Metod"

#: src/SUMMARY.md:83 src/SUMMARY.md:158 src/SUMMARY.md:193
msgid "Example"
Expand Down Expand Up @@ -302,11 +302,11 @@ msgstr "Sog'liqni saqlash statistikasi"

#: src/SUMMARY.md:91
msgid "Points and Polygons"
msgstr "Points and Polygons"
msgstr "Pointlar and Polygonlar"

#: src/SUMMARY.md:93
msgid "Day 2: Afternoon"
msgstr "Day 2: Afternoon"
msgstr "2-kun: Tushdan keyin"

#: src/SUMMARY.md:95
msgid "Control Flow"
Expand Down Expand Up @@ -418,7 +418,7 @@ msgstr "Traitlar"

#: src/SUMMARY.md:129
msgid "Deriving Traits"
msgstr "Deriving Traits"
msgstr "Deriving Traitlar"

#: src/SUMMARY.md:130
msgid "Default Methods"
Expand Down Expand Up @@ -458,15 +458,15 @@ msgstr "Standart"

#: src/SUMMARY.md:139
msgid "Generics"
msgstr "Genericlar"
msgstr "Generiklar"

#: src/SUMMARY.md:140
msgid "Generic Data Types"
msgstr "Generic malumotlar turlari"
msgstr "Generik malumotlar turlari"

#: src/SUMMARY.md:141
msgid "Generic Methods"
msgstr "Generic Metodlar"
msgstr "Generik Metodlar"

#: src/SUMMARY.md:142
msgid "Trait Bounds"
Expand Down Expand Up @@ -494,7 +494,7 @@ msgstr "Oddiy GUI kutubxonasi"

#: src/SUMMARY.md:150
msgid "Day 3: Afternoon"
msgstr "Day 3: Afternoon"
msgstr "3-kun: Tushdan keyin"

#: src/SUMMARY.md:152
msgid "Error Handling"
Expand Down Expand Up @@ -594,7 +594,7 @@ msgstr "4-kun: Ertalab"

#: src/SUMMARY.md:184
msgid "Concurrency"
msgstr ""
msgstr "Concurrency"

#: src/SUMMARY.md:185
msgid "Threads"
Expand Down Expand Up @@ -634,11 +634,11 @@ msgstr "Send va Sync"

#: src/SUMMARY.md:194
msgid "Send"
msgstr "Yuborish"
msgstr "Send"

#: src/SUMMARY.md:194
msgid "Sync"
msgstr "Sinxronlash"
msgstr "Sync"

#: src/SUMMARY.md:197
msgid "Examples"
Expand All @@ -654,7 +654,7 @@ msgstr "Ko'p tarmoqli havola tekshiruvi"

#: src/SUMMARY.md:202
msgid "Day 4: Afternoon"
msgstr "Day 4: Afternoon"
msgstr "4-kun: Tushdan keyin"

#: src/SUMMARY.md:206
msgid "Android"
Expand All @@ -666,123 +666,123 @@ msgstr "Setup"

#: src/SUMMARY.md:208
msgid "Build Rules"
msgstr ""
msgstr "Build qoidalari"

#: src/SUMMARY.md:209
msgid "Binary"
msgstr ""
msgstr "Binary"

#: src/SUMMARY.md:210
msgid "Library"
msgstr ""
msgstr "Kutubxona"

#: src/SUMMARY.md:211
msgid "AIDL"
msgstr ""
msgstr "AIDL"

#: src/SUMMARY.md:212
msgid "Interface"
msgstr ""
msgstr "Interfeys"

#: src/SUMMARY.md:213
msgid "Implementation"
msgstr ""
msgstr "Implement qilish"

#: src/SUMMARY.md:214
msgid "Server"
msgstr ""
msgstr "Server"

#: src/SUMMARY.md:215
msgid "Deploy"
msgstr ""
msgstr "Deploy"

#: src/SUMMARY.md:216
msgid "Client"
msgstr ""
msgstr "Mijoz"

#: src/SUMMARY.md:217
msgid "Changing API"
msgstr ""
msgstr "Changing API"

#: src/SUMMARY.md:218
msgid "Logging"
msgstr ""
msgstr "Logging"

#: src/SUMMARY.md:219
msgid "Interoperability"
msgstr ""
msgstr "O'zaro ishlash qobiliyati"

#: src/SUMMARY.md:220
msgid "With C"
msgstr ""
msgstr "C bilan"

#: src/SUMMARY.md:221
msgid "Calling C with Bindgen"
msgstr ""
msgstr "Bindgen bilan C chaqirish"

#: src/SUMMARY.md:222
msgid "Calling Rust from C"
msgstr ""
msgstr "C dan Rustga murojaat qilish"

#: src/SUMMARY.md:223
msgid "With C++"
msgstr ""
msgstr "C++ bilan"

#: src/SUMMARY.md:224
msgid "With Java"
msgstr ""
msgstr "Java bilan"

#: src/SUMMARY.md:227
msgid "Final Words"
msgstr ""
msgstr "Yakuniy so'zlar"

#: src/SUMMARY.md:229
msgid "Thanks!"
msgstr ""
msgstr "Rahmat!"

#: src/SUMMARY.md:230
msgid "Other Resources"
msgstr ""
msgstr "Boshqa manbalar"

#: src/SUMMARY.md:231
msgid "Credits"
msgstr ""
msgstr "Manbalar"

#: src/SUMMARY.md:235
msgid "Solutions"
msgstr ""
msgstr "Yechimlar"

#: src/SUMMARY.md:240
msgid "Day 1 Morning"
msgstr ""
msgstr "1-kun Ertalab"

#: src/SUMMARY.md:241
msgid "Day 1 Afternoon"
msgstr ""
msgstr "1-kun: Tushdan keyin"

#: src/SUMMARY.md:242
msgid "Day 2 Morning"
msgstr ""
msgstr "2-kun Ertalab"

#: src/SUMMARY.md:243
msgid "Day 2 Afternoon"
msgstr ""
msgstr "2-kun: Tushdan keyin"

#: src/SUMMARY.md:244
msgid "Day 3 Morning"
msgstr ""
msgstr "3-kun Ertalab"

#: src/SUMMARY.md:245
msgid "Day 3 Afternoon"
msgstr ""
msgstr "3-kun: Tushdan keyin"

#: src/SUMMARY.md:246
msgid "Day 4 Morning"
msgstr ""
msgstr "4-kun Ertalab"

#: src/welcome.md:1
msgid "# Welcome to Comprehensive Rust 🦀"
msgstr ""
msgstr "# Compresive Rust 🦀 ga xush kelibsiz"

#: src/welcome.md:3
msgid ""
Expand All @@ -793,13 +793,20 @@ msgid ""
"and error handling. It also includes Android-specific content on the last "
"day."
msgstr ""
"Bu Android jamoasi tomonidan ishlab chiqilgan toʻrt kunlik Rust kursi. Kurs\n"
"Rustning toʻliq spektrini, asosiy sintaksisdan tortib, generiklar\n"
"va xatolarni boshqarish kabi ilgʻor mavzularni qamrab oladi. Shuningdek,"
"u oxirgi kundagi Android-ga xos kontentni ham oʻz ichiga oladi."

#: src/welcome.md:7
msgid ""
"The goal of the course is to teach you Rust. We assume you don't know "
"anything\n"
"about Rust and hope to:"
msgstr ""
"Kursning maqsadi sizga Rustni o'rgatishdir. Siz Rust haqida hech"
"narsa bilmaysiz deb o'ylaymiz\n"
"va umid qilamizki:"

#: src/welcome.md:10
msgid ""
Expand Down