diff --git a/po/vi.po b/po/vi.po index 3a54f0bac8c..5017ae6d177 100644 --- a/po/vi.po +++ b/po/vi.po @@ -34,19 +34,19 @@ msgstr "Bản Dịch" #: src/SUMMARY.md src/cargo.md msgid "Using Cargo" -msgstr "" +msgstr "Sử Dụng Cargo" #: src/SUMMARY.md msgid "Rust Ecosystem" -msgstr "" +msgstr "Hệ Sinh Thái Rust" #: src/SUMMARY.md msgid "Code Samples" -msgstr "" +msgstr "Code Mẫu" #: src/SUMMARY.md msgid "Running Cargo Locally" -msgstr "" +msgstr "Chạy Cargo Trong Máy Của Bạn" #: src/SUMMARY.md msgid "Day 1: Morning" @@ -1980,14 +1980,19 @@ msgid "" "Cargo is and how it fits into the wider ecosystem and how it fits into this " "training." msgstr "" +"Khi bạn bắt đầu đọc về Rust, bạn sẽ rất nhanh chóng được thấy [Cargo]" +"(https://doc.rust-lang.org/cargo/), một công cụ tiêu chuẩn xây dựng và chạy " +"ứng dụng Rust, nằm trong hệ sinh thái của Rust. Trong phần này, chúng tôi sẽ " +"tóm tắt ngắn gọn Cargo là gì, nó phù hợp với hệ sinh thái rộng lớn hơn ra " +"sao, và nó phù hợp với khóa đào tạo như thế nào." #: src/cargo.md msgid "Installation" -msgstr "" +msgstr "Cài đặt" #: src/cargo.md msgid "**Please follow the instructions on .**" -msgstr "" +msgstr "**Vui lòng tuân theo hướng dẫn cài đặt tại .**" #: src/cargo.md msgid "" @@ -1995,6 +2000,9 @@ msgid "" "(`rustc`). You will also get `rustup`, a command line utility that you can " "use to install to different compiler versions." msgstr "" +"Bạn sẽ nhận được công cụ xây dựng Cargo (`cargo`) và trình biên dịch Rust " +"(`rustc`). Bạn cũng sẽ có `rustup`, một tiện ích dòng lệnh mà bạn có thể sử " +"dụng để cài đặt các phiên bản khác nhau cho trình biên dịch." #: src/cargo.md msgid "" @@ -2006,6 +2014,14 @@ msgid "" "analyzer.github.io/manual.html#vimneovim), and many others. There is also a " "different IDE available called [RustRover](https://www.jetbrains.com/rust/)." msgstr "" +"Sau khi cài đặt Rust thành công, bạn nên cấu hình trình Text Editor hoặc IDE " +"của bạn để hoạt động với Rust. Hầu hết các Text Editor như [VS Code](https://" +"code.visualstudio.com/), [Emacs](https://rust-analyzer.github.io/manual." +"html#emacs), [Vim/Neovim](https://rust-analyzer.github.io/manual." +"html#vimneovim), v.v... đều áp dụng [rust-analyzer](https://rust-analyzer." +"github.io/) để thực hiện tính năng auto-completion và jump-to-definition. " +"Bên cạnh đó, vẫn còn một IDE khác khá phổ biến được phát triển bởi JetBrains " +"là [RustRover](https://www.jetbrains.com/rust/)." #: src/cargo.md msgid "" @@ -2014,21 +2030,29 @@ msgid "" "gets you an outdated rust version and may lead to unexpected behavior. The " "command would be:" msgstr "" +"Trong hệ máy Debian/Ubuntu, bạn còn có thể tự cài đặt Cargo, mã nguồn của " +"Rust, và [Rust Formatter](https://github.com/rust-lang/rustfmt) bằng `apt`. " +"Tuy nhiên, bạn sẽ chỉ cài được phiên bản đã bị quá hạn và có thể dẫn tới " +"những lỗi không mong muốn. Câu lệnh để cài sẽ là như sau:" #: src/cargo/rust-ecosystem.md msgid "The Rust Ecosystem" -msgstr "" +msgstr "Hệ Sinh Thái Rust" #: src/cargo/rust-ecosystem.md msgid "" "The Rust ecosystem consists of a number of tools, of which the main ones are:" msgstr "" +"Hệ sinh thái của Rust bao gồm một số lượng đáng kể các công cụ, trong đó nổi " +"bật nhất như là:" #: src/cargo/rust-ecosystem.md msgid "" "`rustc`: the Rust compiler which turns `.rs` files into binaries and other " "intermediate formats." msgstr "" +"`rustc`: trình biên dịch Rust, thứ mà sẽ \"dịch\" các file `.rs` sang dạng " +"nhị phân hoặc các formats bậc trung khác." #: src/cargo/rust-ecosystem.md msgid "" @@ -2037,6 +2061,10 @@ msgid "" "pass them to `rustc` when building your project. Cargo also comes with a " "built-in test runner which is used to execute unit tests." msgstr "" +"`cargo`: trình quản lý các gói phụ thuộc và công cụ xây dựng cho Rust. Cargo " +"sẽ tải các gói phụ thuộc, thường được lưu trữ trên , rồi " +"đưa chúng cho `rustc` khi bạn xây dựng dự án. Cargo còn có các trình chạy " +"kiểm thử được cài sẵn phục vụ cho việc thực thi các đơn vị kiểm thử." #: src/cargo/rust-ecosystem.md msgid "" @@ -2046,13 +2074,18 @@ msgid "" "standard library. You can have multiple versions of Rust installed at once " "and `rustup` will let you switch between them as needed." msgstr "" +"`rustup`: bộ công cụ cài đặt và cập nhật cho Rust. Công cụ này được sử dụng " +"để cài đặt và cập nhật `rustc` và `cargo` khi các phiên bản mới của Rust " +"được phát hành. Thêm vào đó, `rustup` còn có thể tải các tài liệu cho thư " +"viện tiêu chuẩn. Bạn có thể cài đặt nhiều phiên bản Rust cùng lúc và " +"`rustup` sẽ cho bạn chuyển đổi các phiên bản với nhau khi cần." #: src/cargo/rust-ecosystem.md src/types-and-values/hello-world.md #: src/references/exclusive.md src/pattern-matching/destructuring.md #: src/memory-management/move.md src/error-handling/try.md src/android/setup.md #: src/async/async-await.md msgid "Key points:" -msgstr "" +msgstr "Các điểm chính:" #: src/cargo/rust-ecosystem.md msgid "" @@ -2060,53 +2093,72 @@ msgid "" "weeks. New releases maintain backwards compatibility with old releases --- " "plus they enable new functionality." msgstr "" +"Rust có một lịch phát hành phiên bản mới dày đặc với một phiên bản mới mỗi " +"sáu tuần. Các phiên bản mới bảo toàn tính tương thích với các phiên bản cũ " +"--- cùng với đó chúng kích hoạt thêm các chức năng mới." #: src/cargo/rust-ecosystem.md msgid "" "There are three release channels: \"stable\", \"beta\", and \"nightly\"." -msgstr "" +msgstr "Có tổng cộng ba kênh phát hành: \"stable\", \"beta\", và \"nightly\"." #: src/cargo/rust-ecosystem.md msgid "" "New features are being tested on \"nightly\", \"beta\" is what becomes " "\"stable\" every six weeks." msgstr "" +"Các tính năng mới dang được thử nghiệm trên \"nightly\", còn \"beta\" sẽ trở " +"thành \"stable\" sau mỗi sáu tuần." #: src/cargo/rust-ecosystem.md msgid "" "Dependencies can also be resolved from alternative [registries](https://doc." "rust-lang.org/cargo/reference/registries.html), git, folders, and more." msgstr "" +"Các gói phụ thuộc cũng có thể được phân giải từ các [hệ thống đăng ký]" +"(https://doc.rust-lang.org/cargo/reference/registries.html) thay thế, git, " +"các thư mục, v.v..." #: src/cargo/rust-ecosystem.md msgid "" "Rust also has [editions](https://doc.rust-lang.org/edition-guide/): the " "current edition is Rust 2021. Previous editions were Rust 2015 and Rust 2018." msgstr "" +"Rust còn có nhiều [phiên bản lớn](https://doc.rust-lang.org/edition-guide/): " +"Rust 2021 là bản hiện tại, Rust 2018, và Rust 2015." #: src/cargo/rust-ecosystem.md msgid "" "The editions are allowed to make backwards incompatible changes to the " "language." msgstr "" +"Các phiên bản lớn được cho phép thực hiện các thay đổi không tương thích đối " +"với ngôn ngữ." #: src/cargo/rust-ecosystem.md msgid "" "To prevent breaking code, editions are opt-in: you select the edition for " "your crate via the `Cargo.toml` file." msgstr "" +"Để phòng trừ phá vỡ cấu trúc mã, các phiên bản lớn sẽ được chọn cho crate " +"của bạn thông qua file `Cargo.toml`." #: src/cargo/rust-ecosystem.md msgid "" "To avoid splitting the ecosystem, Rust compilers can mix code written for " "different editions." msgstr "" +"Nhằm tránh hệ sinh thái bị chia nhỏ ra, trình biên dịch Rust có thể trộn lẫn " +"các đoạn mã được viết dưới các phiên bản lớn khác nhau." #: src/cargo/rust-ecosystem.md msgid "" "Mention that it is quite rare to ever use the compiler directly not through " "`cargo` (most users never do)." msgstr "" +"Hãy đề cập với người học rằng việc sử dụng trình biên dịch trực tiếp mà " +"không thông qua `cargo` là việc rất hiếm (hầu hết người dùng không bao giờ " +"làm như vậy)." #: src/cargo/rust-ecosystem.md msgid "" @@ -2114,45 +2166,55 @@ msgid "" "comprehensive tool. It is capable of many advanced features including but " "not limited to:" msgstr "" +"Nói không ngoa bản thân Cargo là một công cụ cự kỳ mạnh mẽ và toàn diện. Nó " +"có khả năng bao gồm nhưng không giới hạn tới nhiều tính năng mở rộng sau:" #: src/cargo/rust-ecosystem.md msgid "Project/package structure" -msgstr "" +msgstr "Cấu trúc dự án/bộ phần mềm." #: src/cargo/rust-ecosystem.md msgid "[workspaces](https://doc.rust-lang.org/cargo/reference/workspaces.html)" msgstr "" +"[Workspaces](https://doc.rust-lang.org/cargo/reference/workspaces.html)." #: src/cargo/rust-ecosystem.md msgid "Dev Dependencies and Runtime Dependency management/caching" msgstr "" +"Các Dev Dependencies và trình quản lý/bộ nhớ đệm cho Runtime Dependency." #: src/cargo/rust-ecosystem.md msgid "" "[build scripting](https://doc.rust-lang.org/cargo/reference/build-scripts." "html)" msgstr "" +"[Build scripting](https://doc.rust-lang.org/cargo/reference/build-scripts." +"html)." #: src/cargo/rust-ecosystem.md msgid "" "[global installation](https://doc.rust-lang.org/cargo/commands/cargo-install." "html)" msgstr "" +"[Cài đặt trên toàn môi trường](https://doc.rust-lang.org/cargo/commands/" +"cargo-install.html)." #: src/cargo/rust-ecosystem.md msgid "" "It is also extensible with sub command plugins as well (such as [cargo " "clippy](https://github.com/rust-lang/rust-clippy))." msgstr "" +"Nó còn có khả năng mở rộng được với các lệnh con dưới dạng plugins (như là " +"[cargo clippy](https://github.com/rust-lang/rust-clippy))." #: src/cargo/rust-ecosystem.md msgid "" "Read more from the [official Cargo Book](https://doc.rust-lang.org/cargo/)" -msgstr "" +msgstr "Tham khảo thêm tại [The Cargo Book](https://doc.rust-lang.org/cargo/)." #: src/cargo/code-samples.md msgid "Code Samples in This Training" -msgstr "" +msgstr "Code Mẫu Trong Khóa Đào Tạo" #: src/cargo/code-samples.md msgid "" @@ -2160,6 +2222,10 @@ msgid "" "which can be executed through your browser. This makes the setup much easier " "and ensures a consistent experience for everyone." msgstr "" +"Với khóa đào tạo này, chúng ta sẽ hầu như khám phá ngôn ngữ Rust qua các ví " +"dụ có thể thực thi được ngay trên trình duyệt của mình. Việc này giúp cho " +"việc chuẩn bị được thực hiện dễ dàng hơn và đảm bảo trải nghiệm đồng nhất " +"với mọi người." #: src/cargo/code-samples.md msgid "" @@ -2167,34 +2233,42 @@ msgid "" "the exercises. On the last day, we will do a larger exercise which shows you " "how to work with dependencies and for that you need Cargo." msgstr "" +"Cài đặt Cargo vẫn được khuyến khích: nó sẽ giúp bạn làm các bài thực hành dễ " +"hơn. Trong ngày học cuối cùng, chúng tôi sẽ làm một bài tập lớn để cho bạn " +"thấy cách làm việc với các gói phụ thuộc và bạn sẽ cần Cargo để làm nó." #: src/cargo/code-samples.md msgid "The code blocks in this course are fully interactive:" -msgstr "" +msgstr "Các khối code trong khóa học này hoàn toàn tương tác được:" #: src/cargo/code-samples.md src/cargo/running-locally.md msgid "\"Edit me!\"" -msgstr "" +msgstr "\"Chỉnh sửa tôi đê!\"" #: src/cargo/code-samples.md msgid "You can use " -msgstr "" +msgstr "Bạn có thể sử dụng " #: src/cargo/code-samples.md msgid " to execute the code when focus is in the text box." -msgstr "" +msgstr " để thực thi khối code đang chứa con trỏ soạn thảo của bạn." #: src/cargo/code-samples.md msgid "" "Most code samples are editable like shown above. A few code samples are not " "editable for various reasons:" msgstr "" +"Hầu hết các đoạn code mẫu đều có thể chỉnh sửa được như trên. Nhưng có một " +"ít các đoạn mẫu lại không chỉnh sửa được vì vài lý do sau:" #: src/cargo/code-samples.md msgid "" "The embedded playgrounds cannot execute unit tests. Copy-paste the code and " "open it in the real Playground to demonstrate unit tests." msgstr "" +"Các Playgrounds được nhúng không thể thực thi được các đơn vị kiểm thử. Hãy " +"copy-paste đoạn code và mở nó trong một Playground thực sự để minh họa các " +"thử nghiệm." #: src/cargo/code-samples.md msgid "" @@ -2202,10 +2276,13 @@ msgid "" "the page! This is the reason that the students should solve the exercises " "using a local Rust installation or via the Playground." msgstr "" +"Các Playgrounds được nhúng bị mất trạng thái tạm thời ở thời điểm bạn chuyển " +"sang trang khác! Vì lý do này, các học sinh nên giải các bài thực hành sử " +"dụng Rust đã được cài đặt trong máy tính riêng hoặc qua Playground thực sự." #: src/cargo/running-locally.md msgid "Running Code Locally with Cargo" -msgstr "" +msgstr "Chạy Cargo Trong Máy Tính Của Bạn" #: src/cargo/running-locally.md msgid "" @@ -2215,42 +2292,57 @@ msgid "" "should give you a working `rustc` and `cargo`. At the time of writing, the " "latest stable Rust release has these version numbers:" msgstr "" +"Nếu bạn muốn thử nghiệm code trong hệ thống riêng của bạn, vậy thì trước hết " +"bạn cần phải cài đặt Rust. Hãy tuân theo [các hướng dẫn trong Rust Book]" +"(https://doc.rust-lang.org/book/ch01-01-installation.html). Bạn sẽ học được " +"cách sử dụng `rustc` và `cargo` ở đây. Tại thời điểm bài này được viết, " +"phiên bản ổn định mới nhất của Rust có các số phiên bản sau:" #: src/cargo/running-locally.md msgid "" "You can use any later version too since Rust maintains backwards " "compatibility." msgstr "" +"Bạn cũng có thể sử dụng bất kỳ phiên bản nào ra sau đó vì Rust luôn bảo trì " +"khả năng tương thích ngược của nó." #: src/cargo/running-locally.md msgid "" "With this in place, follow these steps to build a Rust binary from one of " "the examples in this training:" msgstr "" +"Sau khi cài xong, tuân theo các bước sau đây để xây dựng tệp nhị phân Rust " +"từ một trong các ví dụ trong khóa đào tạo:" #: src/cargo/running-locally.md msgid "Click the \"Copy to clipboard\" button on the example you want to copy." -msgstr "" +msgstr "Nhấn vào nút \"Copy to clipboard\" trong ví dụ mà bạn muốn copy." #: src/cargo/running-locally.md msgid "" "Use `cargo new exercise` to create a new `exercise/` directory for your code:" msgstr "" +"Sử dụng `cargo new exercise` để tạo một thư mục `exercise/` mới cho code của " +"bạn:" #: src/cargo/running-locally.md msgid "" "Navigate into `exercise/` and use `cargo run` to build and run your binary:" msgstr "" +"Điều hướng tới `exercise/` và sử dụng `cargo run` để build và chạy tệp nhị " +"phân của bạn:" #: src/cargo/running-locally.md msgid "" "Replace the boiler-plate code in `src/main.rs` with your own code. For " "example, using the example on the previous page, make `src/main.rs` look like" msgstr "" +"Thay thế khung code trong `src/main.rs` với code riêng của bạn. Chẳng hạn, " +"sử dụng ví dụ ở trang trước, viết `src/main.rs` sao cho thành như sau" #: src/cargo/running-locally.md msgid "Use `cargo run` to build and run your updated binary:" -msgstr "" +msgstr "Sử dụng `cargo run` để build và chạy tệp nhị phân vừa được cập nhật:" #: src/cargo/running-locally.md msgid "" @@ -2259,6 +2351,10 @@ msgid "" "debug/` for a normal debug build. Use `cargo build --release` to produce an " "optimized release build in `target/release/`." msgstr "" +"Sử dụng `cargo check` để kiểm tra nhanh dự án của bạn, sử dụng `cargo build` " +"để biên dịch nó mà không chạy nó luôn. Bạn có thể tìm các tệp được tạo ra ở " +"`target/debug/` cho debug build thông thường. Sử dụng `cargo build --" +"release` để xuất ra bản build tối ưu cho việc xuất bản ở `target/release/`." #: src/cargo/running-locally.md msgid "" @@ -2266,6 +2362,9 @@ msgid "" "run `cargo` commands, it will automatically download and compile missing " "dependencies for you." msgstr "" +"Bạn có thể thêm các gói phụ thuộc vào dự án của bạn bằng cách chỉnh sửa file " +"`Cargo.toml`. Khi bạn chạy các lệnh `cargo`, nó sẽ tự động tải về và biên " +"dịch các gói phụ thuộc bị thiếu cho bạn." #: src/cargo/running-locally.md msgid "" @@ -2273,6 +2372,9 @@ msgid "" "editor. It will make their life easier since they will have a normal " "development environment." msgstr "" +"Hãy cố gắng khuyến khích các học viên cài đặt Cargo và sử dụng trong Text " +"Editor ở máy riêng. Điều này sẽ giúp cuộc sống của họ dễ thở hơn một tý vì " +"họ sẽ được làm việc trong một môi trường phát triển bình thường." #: src/welcome-day-1.md msgid "Welcome to Day 1"