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

Vietnamese Translation #53

Open
wants to merge 7 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
50 changes: 50 additions & 0 deletions vi_VN/code-of-conduct.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
# Giao ước quy tắc ứng xử của cộng tác viên

Các bản dịch: [Español](https://github.com/avajs/ava-docs/blob/master/es_ES/code-of-conduct.md), [Français](https://github.com/avajs/ava-docs/blob/master/fr_FR/code-of-conduct.md), [Italiano](https://github.com/avajs/ava-docs/blob/master/it_IT/code-of-conduct.md), [日本語](https://github.com/avajs/ava-docs/blob/master/ja_JP/code-of-conduct.md), [Português](https://github.com/avajs/ava-docs/blob/master/pt_BR/code-of-conduct.md), [Русский](https://github.com/avajs/ava-docs/blob/master/ru_RU/code-of-conduct.md), [简体中文](https://github.com/avajs/ava-docs/blob/master/zh_CN/code-of-conduct.md), [Tiếng việt](https://github.com/avajs/ava-docs/blob/master/vi_VN/code-of-conduct.md)

## Cam kết của chúng tôi

Vì lợi ích của việc phát triển một môi trường cởi mở và thân thiện, chúng tôi, những người đóng góp và duy trì dự án xin cam kết rằng tất cả mọi người tham gia vào dự án và cộng đồng của chúng tôi sẽ không bị quấy rối về: tuổi tác, kích thước cơ thể, sự khiếm khuyết, dân tộc, nhận dạng và biểu hiện giới tính, kinh nghiệm làm việc, quốc tịch, ngoại hình, chủng tộc, tôn giáo và xu hướng tình dục.

## Tiêu chuẩn của chúng tôi

Ví dụ về hành vi góp phần tạo nên một môi trường tích cực bao gồm:

* Sử dụng ngôn ngữ bao hàm và thân thiện
* Tôn trọng quan điểm cũng như trải nghiệm của nhau
* Chấp nhận những lời chỉ trích mang tính xây dựng một cách nhẹ nhàng
* Tập trung vào những gì tốt nhất cho cộng đồng
* Thể hiện sự đồng cảm với các thành viên khác trong cộng đồng

Ví dụ về những hành vi không được chấp nhận của người tham gia bao gồm:

* Sử dụng ngôn ngữ hoặc hình ảnh khiếm nhã, cũng như sự quan tâm hoặc đề nghị tình dục không mong muốn
* Các bình luận mang tính chọc phá, lăng nhục/ xúc phạm, và những sự tấn công cá nhân hoặc chính trị
* Quấy rối công khai hoặc riêng tư
* Đăng tải thông tin cá nhân của người khác, chẳng hạn như địa chỉ thật hoặc địa chỉ điện tử mà không có sự cho phép rõ ràng
* Các hành vi khác có thể được coi là không phù hợp trong một môi trường chuyên nghiệp

## Trách nhiệm của chúng tôi

Những người duy trì dự án có trách nhiệm làm rõ các tiêu chuẩn về những hành vi có thể chấp nhận và được kì vọng sẽ thực hiện các hành động khắc phục thích hợp, công bằng để giải quyết bất kì trường hợp nào của các hành vi không được chấp nhận.

Những người duy trì dự án có quyền và tránh nhiệm xóa, chỉnh sửa hoặc từ chối các bình luận, commits, code, chỉnh sửa wiki, issues và các đóng góp khác không phù hợp với Quy tắc ứng xử này hoặc cấm tạm thời hoặc vĩnh viễn những người đóng góp có những hành vi được cho là không phù hợp, có tính đe dọa, xúc phạm hoặc phá hoại.

## Phạm vi

Quy tắc ứng xử này được áp dụng cả trong phạm vi dự án và phạm vi công cộng, khi một cá nhân đang đại diện cho dự án hoặc cộng đồng của nó. Ví dụ về việc đại diện cho một dự án hoặc cộng đồng bao gồm việc sử dụng địa chỉ email chính thức, được đăng thông qua tài khoản truyền thông xã hội chính thức hoặc đóng vai trò là đại diện được bổ nhiệm tại một sự kiện online hoặc offline. Việc đại diện cho một dự án có thể được những người duy trì dự án xác định và làm rõ ràng thêm.

## Sự tuân thủ

Các hành vi lạm dụng, quấy rối hoặc không thể chấp nhận có thể được báo cáo bằng cách liên hệ với nhóm dự án tại [email protected]. Tất cả các khiếu nại sẽ được xem xét, điều tra và sẽ dẫn đến một phản hồi được coi là cần thiết và phù hợp với hoàn cảnh hiện tại. Nhóm dự án có nghĩa vị duy trì tính bảo mật liên quan đến người báo cáo vụ việc.
Các chi tiết khác về những chính sách thực thi cụ thể có thể được đăng tải riêng.

Những người duy trì dự án không tuân theo hoặc thực thi bộ quy tắc ứng xử một cách không công bằng có thể đối mặt với hậu quả tạm thời hoặc vĩnh viễn do các thành viên khác của ban lãnh đạo dự án quyết định.

## Thẩm quyền

Quy tắc ứng xử này được hiệu chỉnh từ [Contributor Covenant][trang chủ], phiên bản 1.4,
có sẵn tại [http://contributor-covenant.org/version/1/4][phiên bản]

[trang chủ]: http://contributor-covenant.org
[phiên bản]: http://contributor-covenant.org/version/1/4/
73 changes: 73 additions & 0 deletions vi_VN/contributing.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
# Đóng góp cho AVA

✨ Cảm ơn bạn đã đóng góp cho AVA! ✨

Xin lưu ý rằng dự án này được phát hành với [Quy tắc ứng xử của cộng tác viên](code-of-conduct.md). Để tham gia vào dự án này, bạn phải đồng ý tuân theo các điều khoản của quy tắc trên.

Các bản dịch: [Español](https://github.com/avajs/ava-docs/blob/master/es_ES/contributing.md), [Français](https://github.com/avajs/ava-docs/blob/master/fr_FR/contributing.md), [Italiano](https://github.com/avajs/ava-docs/blob/master/it_IT/contributing.md), [日本語](https://github.com/avajs/ava-docs/blob/master/ja_JP/contributing.md), [Português](https://github.com/avajs/ava-docs/blob/master/pt_BR/contributing.md), [Русский](https://github.com/avajs/ava-docs/blob/master/ru_RU/contributing.md), [简体中文](https://github.com/avajs/ava-docs/blob/master/zh_CN/contributing.md), [Tiếng việt](https://github.com/avajs/ava-docs/blob/master/vi_VN/contributing.md)

## Tôi có thể đóng góp như thế nào?

### Cải thiện tài liệu

Là một người sử dụng AVA, bạn chính là ứng cử viên hoàn hảo để giúp chúng tôi cải thiện tài liệu của mình. Chỉnh sửa lỗi chính tả, giải thích tốt hơn, thêm nhiều ví dụ hơn, v.v. Mở các issue cho những thứ có thể cải thiện. [Giúp chúng tôi thông dịch các tài liệu.](https://github.com/avajs/ava-docs). Mọi thứ khác, thậm chí việc cải thiện cho tài liệu này

Sử dụng [nhãn `docs`](https://github.com/avajs/ava/labels/docs) để tìm các đề xuất cho những gì chúng tôi muốn cho thêm vào tài liệu.

### Cải thiện các issue

Một số issue được tạo ra với nhiều thông tin còn thiếu, không thể dựng lại, hoặc không hợp lệ. Hãy giúp chúng có thể dễ dàng giải quyết chúng hơn. Việc xử lý các issue mất rất nhiều thời gian mà chúng tôi có thể thay vì đó tập trung vào việc sửa lỗi và thêm các tính năng mới.

### Cho phản hồi về các issue

Chúng tôi luôn mong chờ thêm nhiều ý kiến trên những cuộc thảo luận trong issue tracker. Đây là cơ hội tốt để có thể ảnh hưởng đến định hướng tương lai của AVA.

[Nhãn `question`](https://github.com/avajs/ava/labels/question) là một nơi tốt để tìm các cuộc thảo luận đang diễn ra.

### Viết code

Bạn có thể sử dụng các nhãn issue để tìm kiếm những issue mà bạn có thể giúp đỡ:

* [`babel` issues](https://github.com/avajs/ava/labels/babel) liên quan đến cơ sở hạ tầng Babel của chúng tôi
* [`blocked` issues](https://github.com/avajs/ava/labels/blocked) cần giúp đỡ để gỡ bỏ những vấn đề đang bị cản trở
* [`bug` issues](https://github.com/avajs/ava/labels/bug) là những lỗi chúng tôi muốn sửa
* [`enhancement` issues](https://github.com/avajs/ava/labels/enhancement) là các tính năng chúng tôi đang muốn thêm vào
* [`performance` issues](https://github.com/avajs/ava/labels/performance) theo dõi các ý tưởng về cách cải thiện hiệu suất của AVA

Các nhãn [`help wanted`](https://github.com/avajs/ava/labels/help%20wanted) và [`good for beginner`](https://github.com/avajs/ava/labels/good%20for%20beginner) đặc biệt hữu ích.

Bạn có thể tìm thấy một issue được chỉ định, hoặc có nhãn [`assigned`](https://github.com/avajs/ava/labels/assigned). Vui lòng kiểm tra kỹ trước khi bắt đầu giải quyết các issue này bởi vì có thể ai đó khác đã đang thực hiện nó.

Chúng tôi muốn sửa chữa [`priority` issues](https://github.com/avajs/ava/labels/priority) trước tiên. Chúng tôi cũng muốn thấy tiến độ trên [`low-priority` issues](https://github.com/avajs/ava/labels/low%20priority). [`future` issues](https://github.com/avajs/ava/labels/future) là những thứ chúng tôi muốn đạt được, nhưng không phải trong thời gian gần. Hãy kiểm tra trước khi thực hiện, vì chúng tôi không muốn có thêm gánh nặng trong việc hỗ trợ các tính năng đó.

Nếu có cập nhật các dependencies, hãy đảm bảo rằng bạn đang dùng [email protected] và commit tệp `package-lock.json` đã được cập nhật.

### Tham gia trò chuyện cùng chúng tôi

Chúng tôi có một [nơi tán gẫu](https://spectrum.chat/ava). Hãy vào đó để do thám, trò chuyện và giúp đỡ những người khác.

## Thêm một issue

- Issue tracker là dành cho issues. Sử dụng [nơi tán gẫu](https://spectrum.chat/ava) hoặc [Stack Overflow](https://stackoverflow.com/questions/tagged/ava) để được hỗ trợ.
- Hãy tìm kiếm với issue tracker trước khi mở một issue mới.
- Hãy đảm bảo rằng bạn sử dụng phiên bản mới nhất của AVA.
- Sử dụng tiêu đề và mô tả rõ ràng.
- Thêm càng nhiều thông tin liên quan càng tốt: Các bước để dựng lại vấn đề gặp phải, thông báo lỗi, phiên bản Node.js, hệ điều hành, v.v.
- Bạn càng dành nhiều thời gian của mình để làm rõ issue, chúng tôi sẽ càng có nhiều cơ hội để giải quyết chúng.
- [Báo cáo issue tốt nhất nên là một test thất bại để chứng minh cho issue đó.](https://twitter.com/sindresorhus/status/579306280495357953)

## Thêm một pull request

- Những thay đổi không đáng kể tốt nhất nên được thảo luận trong một issue trước, để tránh việc bạn thực hiện việc không cần thiết.
- Đối với những công việc đầy tham vọng, bạn nên cố gắng thực hiện công việc của mình trước cộng đồng càng sớm càng tốt. Mở một pull request ngay sau khi bạn đã thực hiện công việc tối thiểu để chứng minh lý tưởng của bạn. Ở giai đoạn đầu này, đừng lo lắng về việc làm mọi thứ hoàn hảo, hoặc hoàn thành chúng 100%. Thêm tiền tố [WIP] vào tiêu đề và mô tả những gì bạn vẫn cần phải làm. Điều này cho phép những người đánh giá biết rằng không nên xem chi tiết hoặc chỉ ra các cải tiến mà vốn dĩ bạn đã biết mình cần phải thực hiện.
- Những tính năng mới phải đi kèm với test và tài liệu.
- Đừng thêm vào các thay đổi không liên quan.
- Kiểm tra lỗi code và chạy testing trước khi đăng một pull request bằng cách chạy lệnh `$ npm test`.
- Thực hiện yêu cầu pull request từ [nhánh của chủ đề](https://github.com/dchelimsky/rspec/wiki/Topic-Branches), không phải master.
- Sử dụng tiêu đề và mô tả rõ ràng cho các pull request và commit.
- Viết một mô tả có tính thuyết phục về lý do tại sao chúng tôi nên chấp nhận pull request của bạn. Đó là công việc của bạn để thuyết phục chúng tôi. Trả lời "tại sao" nó cần thiết và cung cấp các trường hợp sử dụng cụ thể.
- Bạn có thể được yêu cầu thực hiện các thay đối với các pull request của mình. Không bao giờ cần phải mở một pull request nào khác. [Chỉ cần cập nhật pull request hiện tại.](https://github.com/RichardLitt/knowledge/blob/master/github/amending-a-commit-guide.md)

Lưu ý: khi thực hiện việc thay đổi codes, hãy cố nhớ lại câu thần chú của AVA (lấy cắp từ Python) rằng luôn có một các tốt nhất để làm điều gì đó. Ví dụ, một yêu cầu thêm alias vào một phần của API ([như thế này](https://github.com/avajs/ava/pull/663)) sẽ bị từ chối mà không có bất kì lợi ích đáng kể nào khác.

*Bạn đang tìm cách để có đóng góp đầu tiên của bạn cho một dự án mã nguồn mở? Không cần nhìn đâu xa! AVA có thể là một trong những dự án và cộng đồng được chào đón nhất hiện có. Xem bài blog ["Thực hiện đóng góp đầu tiên của bạn"](https://medium.com/@vadimdemedes/making-your-first-contribution-de6576ddb190) để bắt đầu đúng cách và biến công việc của bạn trở thành một phần của AVA!*
84 changes: 84 additions & 0 deletions vi_VN/docs/common-pitfalls.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,84 @@
# Những sai lầm phổ biến

Các bản dịch: [Français](https://github.com/avajs/ava-docs/blob/master/fr_FR/docs/common-pitfalls.md), [Tiếng Việt](https://github.com/avajs/ava-docs/blob/master/vi_VN/docs/common-pitfalls.md)

## ESLint plugin

Nếu bạn sử dụng [ESLint](http://eslint.org/), bạn có thể cài đặt [eslint-plugin-ava](https://github.com/avajs/eslint-plugin-ava). Nó sẽ giúp bạn sử dụng AVA một cách chính xác và tránh một số hiểu lầm phổ biến.

## AVA trong Docker

Nếu bạn chạy AVA trong Docker như là một phần của CI, bạn cần sửa các biến môi trường thích hợp. Cụ thể, thêm `-e CI=true` vào lệnh `docker exec`. Xem [#751](https://github.com/avajs/ava/issues/751).

AVA sử dụng [is-ci](https://github.com/watson/is-ci) để quyết định xem nó có trong môi trường CI hay không, hoặc không sử dụng [các biến này](https://github.com/watson/ci-info/blob/master/index.js).

## AVA và các giới hạn kết nối client

Có thể bạn đang sử dụng một service có sự hạn chế, chỉ cho phép một số kết nối đồng thời. Ví dụ: nhiều doanh nghiệp cung cấp cơ sở dữ liệu cung cấp các gói miễn phí với sự giới hạn số lượng client có thể sử dụng cùng một lúc. AVA có thể đạt tới giới hạn khi nó chạy nhiều process, nhưng các service được viết tốt sẽ phát ra lỗi hoặc có sự điều tiết trong các trường hợp đó. Nếu dịch vụ bạn sử dụng không có những thứ đó, test của bạn sẽ bị treo.

Theo mặc định, AVA sẽ sử dụng số process theo số [nhân vật lý](https://superuser.com/questions/1105654/logical-vs-physical-cpu-performance) trên thiết bị của bạn. Số process được giới hạn là 2 trong môi trường CI.

Sử dụng cờ `concurrency` để giới hạn số lượng các process chạy. Ví dụ, nếu service của bạn chỉ cho phép 5 client, bạn nên chạy AVA với `concurrency=5` hoặc ít hơn.

## Các thao tác không đồng bộ

Có thể bạn đang chạy một hoạt động không đồng bộ bên trong một test và tự hỏi rằng tại sao nó không hoàn thành. Nếu hoạt động không đồng bộ của bạn sử dụng promise, bạn nên trả về promise:

```js
test('fetches foo', t => {
return fetch().then(data => {
t.is(data, 'foo');
});
});
```

Còn tốt hơn nữa, nên dùng `async` / `await`:

```js
test('fetches foo', async t => {
const data = await fetch();
t.is(data, 'foo');
});
```

Nếu bạn đang sử dụng callback, dùng [`test.cb`](https://github.com/avajs/ava#callback-support):

```js
test.cb('fetches foo', t => {
fetch((err, data) => {
t.is(data, 'foo');
t.end();
});
});
```

Ngoài ra, hãy promisify hàm callback bằng cách sử dụng một cái gì đó như [`pify`](https://github.com/sindresorhus/pify):

```js
test('fetches foo', async t => {
const data = await pify(fetch)();
t.is(data, 'foo');
});
```

### Phân bổ các ngoại lệ chưa được kiểm tra cho các test

AVA [không thể theo dõi các ngoại lệ chưa được kiểm tra](https://github.com/avajs/ava/issues/214) trở lại test đã kích hoạt chúng. Hàm Callback-taking có thể dẫn đến các trường hợp ngoại lệ vô tình mà sau đó khó có thể gỡ lỗi. Xem xét promisifying và sử dụng `async`/`await`, như ví dụ ở trên. Điều này sẽ cho phép AVA bắt được ngoại lệ và gán nó vào test một cách chính xác.

### Tại sao các thông báo xác nhận giá trị nâng cao không được hiển thị?

Hãy đảm bảo rằng tham số đầu tiên được truyền vào test của bạn phải được đặt tên là `t`. Đây là sự yêu cầu của [`power-assert`](https://github.com/power-assert-js/power-assert), thư viện cung cấp các thông báo nâng cao.

```js
test('one is one', t => {
t.is(1, 1);
});
```

### Các helper không được compile khi sử dụng thư mục test không mặc định

Đây là một [vấn đề đã biết](https://github.com/avajs/ava/issues/1319). Bạn nên đặt các test của bạn vào một folder tên là `test` hoặc `__tests__`.

---

Vấn đề của bạn không được liệt kê ở đây? Hãy gửi một pull request hoặc đăng nhận xét của mình vào [vấn đề này](https://github.com/avajs/ava/issues/404).
Loading