From f78bd7708afeba7095b01497cbc282e69d3be88a Mon Sep 17 00:00:00 2001
From: Khang <42975512+khangquangtran@users.noreply.github.com>
Date: Sat, 2 Dec 2023 23:23:37 -0600
Subject: [PATCH] Added Vietnamese translation.
Added Vietnamese Docs/readme translation.
Added links to the Vietnamese Docs/readme in the other Docs/readme translations.
Added Vietnamese Privacy Policy translation.
Added Vietnamese FAQ translation.
Added links to the Vietnamese FAQ in the other FAQ translations.
Added Vietnamese SECURITY-FAQ translation.
Added links to the Vietnamese FAQ in the other SECURITY-FAQ translations.
Added placeholder for Vietnamese Guide__Installing translation.
Added placeholder for Vietnamese Guide__Troubleshooting translation.
Fixed typos.
---
Docs/FAQ.md | 2 +-
Docs/FAQfr.md | 2 +-
Docs/FAQnl.md | 2 +-
Docs/FAQpl.md | 2 +-
Docs/FAQru.md | 2 +-
Docs/FAQtr.md | 2 +-
Docs/FAQuk.md | 2 +-
Docs/FAQvi.md | 62 ++++++
Docs/Guide__Installingvi.md | 320 +++++++++++++++++++++++++++++++
Docs/Guide__Troubleshootingvi.md | 184 ++++++++++++++++++
Docs/Privacy Policy | 2 +-
Docs/Privacy Policyvi | 7 +
Docs/SECURITY-FAQ.md | 2 +-
Docs/SECURITY-FAQfr.md | 2 +-
Docs/SECURITY-FAQnl.md | 2 +-
Docs/SECURITY-FAQpl.md | 2 +-
Docs/SECURITY-FAQru.md | 2 +-
Docs/SECURITY-FAQtr.md | 2 +-
Docs/SECURITY-FAQuk.md | 2 +-
Docs/SECURITY-FAQvi.md | 32 ++++
Docs/readme.md | 2 +-
Docs/readmefr.md | 2 +-
Docs/readmenl.md | 2 +-
Docs/readmetr.md | 2 +-
Docs/readmevi.md | 39 ++++
Website/_locales/vi.ts | 2 +-
26 files changed, 664 insertions(+), 20 deletions(-)
create mode 100644 Docs/FAQvi.md
create mode 100644 Docs/Guide__Installingvi.md
create mode 100644 Docs/Guide__Troubleshootingvi.md
create mode 100644 Docs/Privacy Policyvi
create mode 100644 Docs/SECURITY-FAQvi.md
create mode 100644 Docs/readmevi.md
diff --git a/Docs/FAQ.md b/Docs/FAQ.md
index ade89be..a9270a3 100644
--- a/Docs/FAQ.md
+++ b/Docs/FAQ.md
@@ -1,4 +1,4 @@
-Read this in other languages: [русский](FAQru.md), [Français](FAQfr.md), [Nederlands](FAQnl.md), [Türkçe](FAQtr.md), [українська](FAQuk.md), [Polski](FAQpl.md)
+Read this in other languages: [русский](FAQru.md), [Français](FAQfr.md), [Nederlands](FAQnl.md), [Türkçe](FAQtr.md), [українська](FAQuk.md), [Polski](FAQpl.md), [Tiếng Việt](FAQvi.md)
# Frequently Asked Questions
diff --git a/Docs/FAQfr.md b/Docs/FAQfr.md
index 131858c..b7d8f31 100644
--- a/Docs/FAQfr.md
+++ b/Docs/FAQfr.md
@@ -1,4 +1,4 @@
-Lisez ceci dans d'autres langues : [English](FAQ.md), [русский](FAQru.md), [Nederlands](FAQnl.md), [Türkçe](FAQtr.md), [українська](FAQuk.md), [Polski](FAQpl.md)
+Lisez ceci dans d'autres langues : [English](FAQ.md), [русский](FAQru.md), [Nederlands](FAQnl.md), [Türkçe](FAQtr.md), [українська](FAQuk.md), [Polski](FAQpl.md), [Tiếng Việt](FAQvi.md)
# Foire Aux Questions
diff --git a/Docs/FAQnl.md b/Docs/FAQnl.md
index e8f3052..779f950 100644
--- a/Docs/FAQnl.md
+++ b/Docs/FAQnl.md
@@ -1,4 +1,4 @@
-Lees dit in andere talen: [Engels](FAQ.md), [русский](FAQru.md), [Français](FAQfr.md), [Türkçe](FAQtr.md), [українська](FAQuk.md), [Polski](FAQpl.md)
+Lees dit in andere talen: [Engels](FAQ.md), [русский](FAQru.md), [Français](FAQfr.md), [Türkçe](FAQtr.md), [українська](FAQuk.md), [Polski](FAQpl.md), [Tiếng Việt](FAQvi.md)
# Veel Gestelde Vragen
diff --git a/Docs/FAQpl.md b/Docs/FAQpl.md
index e948262..76696cc 100644
--- a/Docs/FAQpl.md
+++ b/Docs/FAQpl.md
@@ -1,4 +1,4 @@
-Read this in other languages: [English](FAQ.md), [русский](FAQru.md), [Français](FAQfr.md), [Nederlands](FAQnl.md), [Türkçe](FAQtr.md), [українська](FAQuk.md)
+Read this in other languages: [English](FAQ.md), [русский](FAQru.md), [Français](FAQfr.md), [Nederlands](FAQnl.md), [Türkçe](FAQtr.md), [українська](FAQuk.md), [Tiếng Việt](FAQvi.md)
# Często zadawane pytania
diff --git a/Docs/FAQru.md b/Docs/FAQru.md
index 422ca9d..d7bcf44 100644
--- a/Docs/FAQru.md
+++ b/Docs/FAQru.md
@@ -1,4 +1,4 @@
-Read this in other languages: [English](FAQ.md), [Nederlands](FAQnl.md), Français](FAQfr.md), [Türkçe](FAQtr.md), [українська](FAQuk.md), [Polski](FAQpl.md)
+Read this in other languages: [English](FAQ.md), [Nederlands](FAQnl.md), Français](FAQfr.md), [Türkçe](FAQtr.md), [українська](FAQuk.md), [Polski](FAQpl.md), [Tiếng Việt](FAQvi.md)
# Часто задаваемые вопросы
diff --git a/Docs/FAQtr.md b/Docs/FAQtr.md
index f731a98..d5275b2 100644
--- a/Docs/FAQtr.md
+++ b/Docs/FAQtr.md
@@ -1,4 +1,4 @@
-Bunu diğer dillerde okuyun: [English](FAQ.md), [русский](FAQru.md), ), [Nederlands](FAQnl.md), [Français](FAQfr.md), [українська](FAQuk.md), [Polski](FAQpl.md)
+Bunu diğer dillerde okuyun: [English](FAQ.md), [русский](FAQru.md), ), [Nederlands](FAQnl.md), [Français](FAQfr.md), [українська](FAQuk.md), [Polski](FAQpl.md), [Tiếng Việt](FAQvi.md)
# Sıkça Sorulan Sorular
diff --git a/Docs/FAQuk.md b/Docs/FAQuk.md
index 0c4812a..b2d99aa 100644
--- a/Docs/FAQuk.md
+++ b/Docs/FAQuk.md
@@ -1,4 +1,4 @@
-Read this in other languages: [English](FAQ.md), [русский](FAQru.md), [Français](FAQfr.md), [Türkçe](FAQtr.md)
+Read this in other languages: [English](FAQ.md), [русский](FAQru.md), [Français](FAQfr.md), [Türkçe](FAQtr.md), [Tiếng Việt](FAQvi.md)
# Часті питання
diff --git a/Docs/FAQvi.md b/Docs/FAQvi.md
new file mode 100644
index 0000000..f122a3e
--- /dev/null
+++ b/Docs/FAQvi.md
@@ -0,0 +1,62 @@
+Đọc bằng các ngôn ngữ khác: [English](FAQ.md), [русский](FAQru.md), [Français](FAQfr.md), [Nederlands](FAQnl.md), [Türkçe](FAQtr.md), [українська](FAQuk.md), [Polski](FAQpl.md)
+
+
+# Câu Hỏi Thường Gặp
+
+## Trước khi đưa ra bất kì câu hỏi nào trên GitHub hay trên Discord, vui lòng đọc hết trang này.
+
+
+
+### **1. Tiện ích mở rộng này lấy dữ liệu từ đâu?**
+
+Kết hợp dữ liệu lấy từ API của Google và dữ liệu thu thập được.
+
+Chúng tôi lưu giữ tất cả dữ liệu mà chúng tôi có được vào cơ sở dữ liệu của chúng tôi, kể từ khi Google loại bỏ số lượt đánh giá "không thích" khỏi API của họ.
+
+
+
+### **2. Số lượt "không thích" không được cập nhật**
+
+Hiện tại, các lượt đánh giá "không thích" sẽ được lưu lại và số lượt đánh giá tổng được hiển thị không được cập nhật thường xuyên. Thông thường, cứ mỗi 2 đến 3 ngày, chứ không ngắn hơn.
+
+Đồng ý rằng điều này không đáng mong chờ, nhưng hiện tại thì tiện ích hoạt động như vậy. Chúng tôi đang cố gắng cải thiện tần suất nhật số lượt đánh giá.
+
+
+
+### **3. Cách thức hoạt động của tiện ích mở rộng này?**
+
+Tiện ích này thu thập ID của vi-đê-ô mà bạn đang xem, truy vấn đánh giá của vi-đê-ô (bao gồm số lượt "không thích", số lượt "thích", số lượt xem, v.v.) bằng API của chúng tôi. Nếu đây là đầu tiên diễn ra truy vấn tới API của chúng tôi đối với vi-đê-ô này, tiện ích sẽ sử dụng API của YouTube sẽ truy vấn các thông tin cần thiết, sau đó lưu trữ các thông tin này vào cơ sở dữ liệu cho mục đích truy vấn nhanh (trong vòng 2 đến 3 ngày) và cho mục đích lưu trữ và sẽ trả kết quả truy vấn về cho bạn. Lúc này, tiện ích sẽ hiện thị số lượt đánh giá "không thích" cho bạn xem.
+
+
+
+### **4. Việc gì sẽ diễn ra sau khi API của YouTube ngừng cung cấp số lượt "không thích"?**
+
+Đầu sau của tiện ích sẽ chuyển sang sử dụng kết hợp dữ liệu đã được lưu trữ về số lượt đánh giá "không thích", những ước tính ngoại suy từ dữ liệu người dùng của tiện ích và những ước tính dựa trên tỉ lệ lượt xem/lượt "thích" đối với những vi-đê-ô chưa lưu được số lượt "không thích" và đối với các kho lưu trữ số lượt "không thích" lỗi thời.
+
+
+
+### **5. Số lượt đánh giá "không thích" được tính như thế nào?**
+
+RYD sử dụng đánh giá từ người dùng để ngoại suy số lượt đánh giá "không thích".
+
+- Nếu vi-đê-ô được đăng tải sau khi API của YouTube loại bỏ trường `dislike`:
+
+ $$ \textup{Số lượt "Không thích" của RYD} = \left( \frac{\textup{Số lượt "Không thích" từ Người dùng của RYD}}{\textup{Số lượt "Thích" từ Người dùng của RYD}} \right) \times \textup{Số lượt "Thích" từ API của YouTube} $$
+
+- Nếu cơ sở dữ liệu của RYD có được số lượt đánh giá "thích" và "không thích" thực (được cung cấp bởi chủ vi-đê-ô hay từ kho lưu trữ), số lượt đánh giá "không thích" sẽ được tính dựa trên đồng thời (1) đánh giá từ người dùng của tiện ích và (2) số liệu được lưu trữ. Số liệu được lưu trữ sẽ càng ngày càng kém quan trọng trong việc tính toán số lượt đánh giá.
+
+
+
+---
+
+Vi-đê-ô thông tin về Return YouTube Dislike:
+
+[Giải thích về Return YouTube Dislike (Tiếng Anh)](https://www.youtube.com/watch?v=GSmmtv-0yYQ)
+
+---
+
+
+
+## Tôi có thắc mắc về tính bảo mật / quyền riêng tư
+
+Vui lòng tham khảo [trang này](SECURITY-FAQvi.md) để biết thêm thông tin.
diff --git a/Docs/Guide__Installingvi.md b/Docs/Guide__Installingvi.md
new file mode 100644
index 0000000..aadcb9a
--- /dev/null
+++ b/Docs/Guide__Installingvi.md
@@ -0,0 +1,320 @@
+**Mục lục**
+
+- [Downloading](#downloading)
+ - [Desktop (all OS supported by these browsers)](#desktop-all-os-supported-by-these-browsers)
+ - [Chromium Based Browsers](#chromium-based-browsers)
+ - [Firefox Based Browsers](#firefox-based-browsers)
+ - [Mobile](#mobile)
+ - [Android](#android)
+ - [iOS](#ios)
+ - [Userscript](#userscript)
+- [Installation](#installation)
+ - [Desktop](#desktop)
+ - [**Chromium based browsers**](#chromium-based-browsers-1)
+ - [From Chrome Webstore](#from-chrome-webstore)
+ - [From crx/zip file](#from-crxzip-file)
+ - [From unzipped folder](#from-unzipped-folder)
+ - [**Firefox Based Browsers**](#firefox-based-browsers-1)
+ - [From addon store](#from-addon-store)
+ - [From xpi/jar/zip file](#from-xpijarzip-file)
+ - [Mobile](#mobile-1)
+ - [Android](#android-1)
+ - [App from Play Store](#app-from-play-store)
+ - [On Firefox](#on-firefox)
+ - [iOS](#ios-1)
+- [Using](#using)
+- [Updating](#updating)
+ - [Extension / Addon](#extension--addon)
+- [Miscellaneous](#miscellaneous)
+ - [Using YouTube website as an app with an extension](#using-youtube-website-as-an-app-with-an-extension)
+ - [Desktop](#desktop-1)
+ - [Chromium Based Browsers](#chromium-based-browsers-2)
+ - [Firefox Based Browsers](#firefox-based-browsers-2)
+ - [Mobile](#mobile-2)
+ - [Firefox Based Browsers](#firefox-based-browsers-3)
+ - [Chromium Based Browsers](#chromium-based-browsers-3)
+
+
+
+
+
+## Downloading
+
+### Desktop (all OS supported by these browsers)
+
+
+
+#### [Chromium Based Browsers][4]
+
+This extension has been tested to work on these browsers.
+
+- [Google Chrome][1]
+- [Microsoft Edge][1]
+- [Brave][1]
+- [Opera][1]
+
+It should be able to work on [all Chromium-based browsers (list here)][4]. But that isn't guaranteed.
+
+
+
+#### [Firefox Based Browsers][5]
+
+- [Firefox][2]
+- This addon should be able to run on most of the [Firefox-based browsers][5]. But isn't guaranteed.
+
+
+
+### Mobile
+
+#### Android
+
+1. **F-Droid Store**
+
+- [Show Youtube Dislikes](https://f-droid.org/en/packages/com.jesperh.showyoutubedislikes/)
+
+ [Download from here (Click here)](https://f-droid.org/en/packages/com.jesperh.showyoutubedislikes/)
+
+ The source code is available at [github.com/jesperbakhandskemager/view-youtube-dislike](https://github.com/jesperbakhandskemager/view-youtube-dislike)
+
+ You can download the apk file from
+ [https://github.com/jesperbakhandskemager/view-youtube-dislike/releases/](https://github.com/jesperbakhandskemager/view-youtube-dislike/releases/)
+
+ **Note: This app is NOT made by the original author of the extension**.
+
+2. [**Firefox Nightly**][2]
+
+- This addon should be able to run on most of the [Firefox-based browsers][5]. But isn't guaranteed.
+
+3. [**Chromium Based browsers**][4]
+
+Most [**Chromium Based browsers**][4] **don't support extensions on Android or iOS**
+
+However, [Kiwi Browser](https://kiwibrowser.com/) does. You can refer to this video - [Google Chrome Extensions on Android with Kiwi Browser!](https://youtu.be/T6J0T_-oim4)
+
+
+
+#### iOS
+
+No Support on Firefox
+
+You can have a look at these pages for more information (the reason why it's not available on Firefox):
+
+- [https://support.mozilla.org/en-US/kb/add-ons-firefox-ios]
+- [https://support.mozilla.org/en-US/questions/1101350]
+
+For now, you can try this
+
+- [For Jailbroken iOS - **WE TAKE NO RESPONSIBILITY. USE AT YOUR OWN RISK**](https://chariz.com/get/return-youtube-dislike)
+
+ This is an iOS port [**developed by a separate team**](https://github.com/PoomSmart/Return-YouTube-Dislikes) not related to the owner of github.com/Anarios/return-youtube-dislike
+
+#### Userscript
+
+[Download from here](https://returnyoutubedislike.com/install)
+
+
+
+
+
+## Installation
+
+### Desktop
+
+
+
+#### [**Chromium based browsers**][4]
+
+
+
+##### From Chrome Webstore
+
+1. [Go to website (click here)][1]
+2. Click install
+3. Wait for the extension to download and
+4. 🙂 Installed !!
+
+
+
+##### From crx/zip file
+
+1. Download the crx/zip file.
+2. Type [`chrome://extensions`][6] in address bar
+3. Search for the "Developer Mode" switch and turn it on.
+4. Open the folder and the browser side by side.
+5. Drag and drop the crx/zip file in [chrome://extensions][6] tab
+6. Click on "Add extension"
+7. Installation Completed 🎉
+8. Remember to **turn off the "developer mode"** if not needed
+
+
+
+##### From unzipped folder
+
+1. Download the crx/zip file.
+2. Go to [`chrome://extensions`][6]
+3. Search for the "Developer Mode" switch and turn it on.
+4. Click on "Load Unpacked"
+5. Navigate to the folder & select it
+6. The extension should be installed 🎉
+7. Remember to **turn off the "developer mode"** if not needed
+
+
+
+#### [**Firefox Based Browsers**][5]
+
+##### From addon store
+
+1. Go to the addon store and find the extension or [click here][2].
+2. Click on `Add to Firefox`
+3. Done 🎉 The extension should be installed.
+
+
+
+##### From xpi/jar/zip file
+
+1. Type `about:addons` in the address bar and press "Enter". Alternatively, You can use
+ `Ctrl` + `Shift` + `A` on Windows and
+ `Cmd` + `Shift` + `A` on Mac and
+2. Click on the Setting Gear icon `⚙`.
+3. Click on `Install Add-on From File...`
+4. Locate and click on the .xpi/.jar/.zip file.
+5. Select and click to open it.
+6. Done 🎉 The extension should be installed.
+
+
+
+### Mobile
+
+#### Android
+
+##### App from Play Store
+
+- Although app(s) which use this API exist, they aren't official.
+
+##### On Firefox
+
+1. Install Firefox Nightly. Refer to this blog post for the procedure: [Expanded extension support in Firefox for Android Nightly](https://blog.mozilla.org/addons/2020/09/29/expanded-extension-support-in-firefox-for-android-nightly/)
+2. Install the extension in it from [addon store][2]
+3. If you want - install the site as an app. For that procedure [go here](#firefox-based-browsers-3).
+
+#### iOS
+
+- [For iOS click here](#ios)
+- Only available on Firefox-based browsers because Chromium-based browsers for the Android platform don't support installing extensions.
+
+
+
+
+
+## Using
+
+No more steps are required, it should start working right away.
+
+If required you can restart your browser.
+
+**🎉 🎊 Congratulations** 🥳 🎊
+
+
+
+
+
+## Updating
+
+### Extension / Addon
+
+On [Chromium based browsers][4]
+
+- [from webstore][1]
+- sideloading from [crx/zip file](#from-crxzip-file) or [unzipped folder](#from-unzipped-folder)
+
+On [Firefox based browsers][5]
+
+- [from addon store][2]
+- [sideloading from xpi/jar/zip file](#from-xpijarzip-file)
+
+On [Firefox based browsers][5] for mobile
+
+- [from addon store][2]
+
+
+
+
+
+## Miscellaneous
+
+### Using YouTube website as an app with an extension
+
+#### Desktop
+
+##### Chromium Based Browsers
+
+0. Go to YouTube
+1. Tap on menu button (`☰` / `⋯` / `⋮`)
+2. Click on "Install YouTube"
+3. 🎉Done!
+
+
+
+##### Firefox Based Browsers
+
+**⚠ Doesn't work on newer versions.**
+
+1. Type [`about:config`](about:config) in address bar & press `Enter` key.
+2. When warned `Proceed with Caution` click on `Accept the Risk and Continue`
+3. Locate and click on the search bar on the page.
+4. Type `browser.ssb.enable`.
+5. click on `⇋` and make sure the state is set to `true`.
+6. Restart the browser and Open YouTube.
+7. Click on `⋮` located in the upper right corner
+8. Click `Install this website as an app` or `Install this website as an app` which depends on the version you are using.
+9. Done! 🎉 You should be able to see the site's app in the start menu.
+
+You can also refer here (for pictures):
+
+[How to Enable the Site-Specific Browser (SSB) in Firefox - Make Tech Easier](https://www.maketecheasier.com/enable-site-specific-browser-firefox)
+
+
+
+#### Mobile
+
+##### Firefox Based Browsers
+
+0. Install the extension
+1. Go to YouTube
+2. Tap on the three dots `⋮` located at the bottom right corner of the screen.
+3. Turn on "Desktop Site".
+4. Refresh the page.
+5. Wait for it to completely load.
+6. Tap again on the three dots `⋮` located at the bottom right corner of the screen.
+7. You will see an option as `Install`. Tap on it.
+8. Tap - `Add` when asked `Add to Home screen?`
+9. Enjoy the YT site as a Firefox nightly app !!
+
+
+
+##### [Chromium Based Browsers][4]
+
+But still - here are the steps:
+
+1. Go to YouTube
+2. Tap on the three dots `⋮` located at the bottom right corner of the screen.
+3. Turn on "Desktop Site".
+4. Refresh the page and wait for it to completely load.
+5. Tap again on the three dots `⋮` located at the bottom right corner of the screen.
+6. You will see an option as `Install`. Tap on it.
+7. When asked `Install App` tap on `Yes`
+8. Tap - `Add` when asked `Add to Home screen?`
+9. Enjoy the YT site as an app !!
+
+
+
+
+
+
+
+[1]: https://chrome.google.com/webstore/detail/return-youtube-dislike/gebbhagfogifgggkldgodflihgfeippi
+[2]: https://addons.mozilla.org/en-US/firefox/addon/return-youtube-dislikes/
+[3]: https://github.com/Anarios/return-youtube-dislike/raw/main/Extensions/UserScript/Return%20Youtube%20Dislike.user.js
+[4]: https://en.wikipedia.org/wiki/Chromium_(web_browser)#Browsers_based_on_Chromium
+[5]: https://en.wikipedia.org/wiki/Category:Web_browsers_based_on_Firefox
+[6]: chrome://extensions
diff --git a/Docs/Guide__Troubleshootingvi.md b/Docs/Guide__Troubleshootingvi.md
new file mode 100644
index 0000000..ed86420
--- /dev/null
+++ b/Docs/Guide__Troubleshootingvi.md
@@ -0,0 +1,184 @@
+Hướng dẫn Khắc phục Sự cố
+
+**Mục lục**
+
+- [Extension](#extension)
+ - [Basic checks](#basic-checks)
+ - [Check API status](#check-api-status)
+ - [Install certificates](#install-certificates)
+ - [Check for logs in the console](#check-for-logs-in-the-console)
+ - [In Chromium Based browsers](#in-chromium-based-browsers)
+ - [In Firefox Based Browsers](#in-firefox-based-browsers)
+ - [Check for conflicting extensions](#check-for-conflicting-extensions)
+ - [Known conflicts](#known-conflicts)
+- [iOS app](#ios-app)
+- [YouTube Vanced app](#youtube-vanced--app)
+- [Contact in Discord Server](#contact-in-discord-server)
+- [Useful Links](#useful-links)
+
+
+
+## Extension
+
+(for Windows & Macs)
+
+### Basic checks
+
+1. Make sure you have the latest version of the extension installed. ([Click Here to check](https://chrome.google.com/webstore/detail/return-youtube-dislike/gebbhagfogifgggkldgodflihgfeippi#:~:text=Report%20abuse-,Version,-2.0.0.3))
+2. Close all the tabs & restart your browser
+3. Reinstall the extension.
+4. [Check API status](#check-api-status)
+5. [Check Cloudflare status](https://www.cloudflarestatus.com/)
+6. [If you are on Windows 7 read this](#install-certificates)
+
+
+
+### Check API status
+
+If the basic checks didn't resolve anything
+
+[See if you get any response from this link (click here)](https://returnyoutubedislikeapi.com/votes?videoId=QOFEgexls14)
+
+- If you **don't see something like** this, then the **API is down** and **everything is fine on your side**.
+ `{"id":"QOFEgexls14","dateCreated":"2021-12-28T02:53:20.995329Z","likes":2968,"dislikes":204,"rating":4.725047080979285,"viewCount":29157,"deleted":false}`
+- If you see some responses but not in the above format (with likes and dislikes) then probably you are being rate-limited. It is done to prevent bot attacks and database vandalization. It depends on IP (its hash - which is never stored in non-volatile storage) for its countermeasures. If many people are accessing the server from the same IP (as in the case of public/institutional Wi-Fi) then it's possible that the IP is being rate-limited. If that's the case, there's no way for us to differentiate you from a bot/attacker.
+
+**If you see "Certificate error" and [if you are on Windows 7 (or earlier) read this](#install-certificates)**
+
+
+
+### Install certificates
+
+**Applies for Windows 7 (and earlier) only**
+
+and only for [Chromium Based Browsers][1]
+
+- [Chromium-based browsers][1] don't have their own certificate manager.
+- They use Windows' certificates manager.
+- Microsoft has officially dropped the support for Windows 7
+
+You will have to install the latest certificates for that.
+
+You can follow this guide:
+
+[Fix error NET::ERR CERT DATE INVALID - Your connection is not private - Windows 7 - 2021](https://youtu.be/JYZLxP2Z8G4)
+
+If you don't want to install the certificate from Google Drive
+
+- Here is the official link to the certificate [**x1.i.lencr.org**](http://x1.i.lencr.org/).
+- **You will have to close all the tabs** before downloading this certificate.
+
+**The thumbprint of real certificate is `cabd2a79a1076a31f21d253635cb039d4329a5e8`**
+
+**To make sure that you have installed the correct certificate, you should consider checking if the thumbprints match.** To do this you can follow this guide: [How to check a certificate's thumbprint](https://knowledge.digicert.com/solution/SO9840.html)
+
+
+
+### Check for logs in the console
+
+#### [In Chromium Based browsers][1]
+
+1. In Developer tools, go to [`console` panel](https://developer.chrome.com/docs/devtools/open/#console).
+ - For Windows press `Ctrl` + `Shift` + `J` all at once
+ - For Mac press `Cmd` + `Option` + `J` all at once
+2. Find `filter` box in the newly appeared window.
+3. Type `Return`.
+4. Check the [Check API Status](#check-api-status) and see if you get similar responses.
+5. If you see any errors in red [please contact us][4] and report them in our [discord server][3]
+
+
+
+
+
+#### [In Firefox Based Browsers][2]
+
+1. Open Browser Console
+ - For standard keyboard layout press `Ctrl` + `Shift` + `K` all at once
+ - For Mac keyboard layout press `Cmd` + `Option` + `K` all at once
+ - For Android refer to this article: [Remotely debugging Firefox <36 for Android](https://developer.mozilla.org/en-US/docs/Tools/Remote_Debugging/Firefox_for_Android)
+2. Find `Filter Output` box in the newly appeared window.
+3. Type `Return`.
+4. If you see any errors in red [please contact us][4] and report them in our [discord server][3]
+
+
+
+### Check for conflicting extensions
+
+Some privacy and/or security-focused extensions such as ad- or script-blockers, as well as YouTube customization plugins might prevent the extension from working correctly.
+Try to disable all other extensions and test whether the extension works.
+If it does, find the extension(s) preventing RYD from working correctly and re-configure them in a way that'd stop them from interfering.
+
+
+
+### Known conflicts
+
+> ### scriptSafe
+>
+> **Solution:** Trust `returnyoutubedislikeapi.com` manually
+>
+> 
+
+
+
+> ### uMatrix
+>
+> **Solution:** Allow XHR for `returnyoutubedislikeapi.com` manually
+>
+> 
+
+
+
+
+
+## iOS app
+
+Coming soon. Please have patience.
+
+
+
+
+
+## YouTube Vanced app
+
+Coming soon. Please have patience.
+
+
+
+
+
+## Contact in Discord Server
+
+**Only if nothing mentioned above helped and you still have a problem.**
+
+[Discord server link: https://discord.gg/mYnESY4Md5][3]
+
+0. Join the discord server if you haven't already
+1. Go to the #Bugs-and-problems channel
+2. There, thoroughly describe:
+ - your problem
+ - what you have tried and what didn't work
+ - results of the troubleshooting steps
+
+
+
+
+
+
+
+## Useful Links
+
+[List of Chromium Based Browsers][1]
+
+[List of Firefox Based Browsers][2]
+
+[Return-YouTube-Dislike Discord Server][3]
+
+
+
+[1]: https://en.wikipedia.org/wiki/Chromium_(web_browser)#Browsers_based_on_Chromium
+[2]: https://en.wikipedia.org/wiki/Category:Web_browsers_based_on_Firefox
+[3]: https://discord.gg/mYnESY4Md5
+[4]: #contact-in-discord-server
diff --git a/Docs/Privacy Policy b/Docs/Privacy Policy
index 5dfbca3..c573154 100644
--- a/Docs/Privacy Policy
+++ b/Docs/Privacy Policy
@@ -4,4 +4,4 @@ No personal info, account name or watch history is collected or saved.
Users are identified by a random user ID, which is not directly linked to any of their accounts, the only purpose of this user ID is to make voting process possible.
-None of the saved data is shared with any third parties,
+None of the saved data is shared with any third parties.
diff --git a/Docs/Privacy Policyvi b/Docs/Privacy Policyvi
new file mode 100644
index 0000000..2984a45
--- /dev/null
+++ b/Docs/Privacy Policyvi
@@ -0,0 +1,7 @@
+Dữ liệu duy nhất được thu nhập: số lượt đánh giá "thích" và "không thích" trong thời gian tiện ích mở rộng này được cài.
+
+Dữ liệu không được thu thập cũng như không lưu trữ: thông tin cá nhân, tên tài khoản, lịch sử xem vi-đê-ô.
+
+Người dùng được gán cho một ID người dùng ngẫu nhiên. ID người dùng này không có bất kì mối liên hệ nào tới những tài khoản của người dùng. Mục đích duy nhất của việc dùng ID người dùng là để thực hiện chức năng đánh giá vi-đê-ô.
+
+Dữ liệu được lưu trữ không được chia sẻ với bất kì bên thứ ba nào.
diff --git a/Docs/SECURITY-FAQ.md b/Docs/SECURITY-FAQ.md
index 6caadbb..36160ef 100644
--- a/Docs/SECURITY-FAQ.md
+++ b/Docs/SECURITY-FAQ.md
@@ -1,4 +1,4 @@
-Read this in other languages: [русский](SECURITY-FAQru.md), [Nederlands](SECURITY_FAQnl.md), [Français](SECURITY-FAQfr.md), [Türkçe](SECURITY-FAQtr.md), [українська](SECURITY-FAQuk.md), [Polski](SECURITY-FAQpl.md)
+Read this in other languages: [русский](SECURITY-FAQru.md), [Nederlands](SECURITY_FAQnl.md), [Français](SECURITY-FAQfr.md), [Türkçe](SECURITY-FAQtr.md), [українська](SECURITY-FAQuk.md), [Polski](SECURITY-FAQpl.md), [Tiếng Việt](SECURITY-FAQvi.md)
# Security
diff --git a/Docs/SECURITY-FAQfr.md b/Docs/SECURITY-FAQfr.md
index ecac027..1c5ee06 100644
--- a/Docs/SECURITY-FAQfr.md
+++ b/Docs/SECURITY-FAQfr.md
@@ -1,4 +1,4 @@
-Lisez ceci dans d'autres langues : [English](SECURITY-FAQ.md), [русский](SECURITY-FAQru.md), Nederlands](SECURITY_FAQnl.md), [Türkçe](SECURITY-FAQtr.md), [українська](SECURITY-FAQuk.md), [Polski](SECURITY-FAQpl.md)
+Lisez ceci dans d'autres langues : [English](SECURITY-FAQ.md), [русский](SECURITY-FAQru.md), [Nederlands](SECURITY_FAQnl.md), [Türkçe](SECURITY-FAQtr.md), [українська](SECURITY-FAQuk.md), [Polski](SECURITY-FAQpl.md), [Tiếng Việt](SECURITY-FAQvi.md)
# Sécurité
diff --git a/Docs/SECURITY-FAQnl.md b/Docs/SECURITY-FAQnl.md
index 034f1c8..f876a9d 100644
--- a/Docs/SECURITY-FAQnl.md
+++ b/Docs/SECURITY-FAQnl.md
@@ -1,4 +1,4 @@
-Lees dit in andere talen: [English](SECURITY_FAQ.md), [русский](SECURITY-FAQru.md), [Français](SECURITY-FAQfr.md), [Türkçe](SECURITY-FAQtr.md), [українська](SECURITY-FAQuk.md), [Polski](SECURITY-FAQpl.md)
+Lees dit in andere talen: [English](SECURITY_FAQ.md), [русский](SECURITY-FAQru.md), [Français](SECURITY-FAQfr.md), [Türkçe](SECURITY-FAQtr.md), [українська](SECURITY-FAQuk.md), [Polski](SECURITY-FAQpl.md), [Tiếng Việt](SECURITY-FAQvi.md)
# Veiligheid
diff --git a/Docs/SECURITY-FAQpl.md b/Docs/SECURITY-FAQpl.md
index b77960e..f1d8106 100644
--- a/Docs/SECURITY-FAQpl.md
+++ b/Docs/SECURITY-FAQpl.md
@@ -1,4 +1,4 @@
-Read this in other languages: [English](SECURITY-FAQ.md), [русский](SECURITY-FAQru.md), [Nederlands](SECURITY_FAQnl.md), [Français](SECURITY-FAQfr.md), [Türkçe](SECURITY-FAQtr.md), [українська](SECURITY-FAQuk.md)
+Read this in other languages: [English](SECURITY-FAQ.md), [русский](SECURITY-FAQru.md), [Nederlands](SECURITY_FAQnl.md), [Français](SECURITY-FAQfr.md), [Türkçe](SECURITY-FAQtr.md), [українська](SECURITY-FAQuk.md), [Tiếng Việt](SECURITY-FAQvi.md)
# Security
diff --git a/Docs/SECURITY-FAQru.md b/Docs/SECURITY-FAQru.md
index 4762016..d97c143 100644
--- a/Docs/SECURITY-FAQru.md
+++ b/Docs/SECURITY-FAQru.md
@@ -1,4 +1,4 @@
-Прочитать на других языках: [English](SECURITY-FAQ.md), [Nederlands](SECURITY_FAQnl.md), [Français](SECURITY-FAQfr.md), [Türkçe](SECURITY-FAQtr.md), [українська](SECURITY-FAQuk.md), [Polski](SECURITY-FAQpl.md)
+Прочитать на других языках: [English](SECURITY-FAQ.md), [Nederlands](SECURITY_FAQnl.md), [Français](SECURITY-FAQfr.md), [Türkçe](SECURITY-FAQtr.md), [українська](SECURITY-FAQuk.md), [Polski](SECURITY-FAQpl.md), [Tiếng Việt](SECURITY-FAQvi.md)
# Безопасность
diff --git a/Docs/SECURITY-FAQtr.md b/Docs/SECURITY-FAQtr.md
index 3830c0e..69b9607 100644
--- a/Docs/SECURITY-FAQtr.md
+++ b/Docs/SECURITY-FAQtr.md
@@ -1,4 +1,4 @@
-Read this in other languages: [English](SECURITY-FAQ.md), [русский](SECURITY-FAQru.md), [Nederlands](SECURITY_FAQnl.md), [Français](SECURITY-FAQfr.md), [українська](SECURITY-FAQuk.md), [Polski](SECURITY-FAQpl.md)
+Read this in other languages: [English](SECURITY-FAQ.md), [русский](SECURITY-FAQru.md), [Nederlands](SECURITY_FAQnl.md), [Français](SECURITY-FAQfr.md), [українська](SECURITY-FAQuk.md), [Polski](SECURITY-FAQpl.md), [Tiếng Việt](SECURITY-FAQvi.md)
# Güvenlik
diff --git a/Docs/SECURITY-FAQuk.md b/Docs/SECURITY-FAQuk.md
index 64545d6..31ab7e6 100644
--- a/Docs/SECURITY-FAQuk.md
+++ b/Docs/SECURITY-FAQuk.md
@@ -1,4 +1,4 @@
-Read this in other languages: [English](SECURITY-FAQ.md), [русский](SECURITY-FAQru.md), [Français](SECURITY-FAQfr.md), [Türkçe](SECURITY-FAQtr.md), [Polski](SECURITY-FAQpl.md)
+Read this in other languages: [English](SECURITY-FAQ.md), [русский](SECURITY-FAQru.md), [Français](SECURITY-FAQfr.md), [Türkçe](SECURITY-FAQtr.md), [Polski](SECURITY-FAQpl.md), [Tiếng Việt](SECURITY-FAQvi.md)
# Безпека
diff --git a/Docs/SECURITY-FAQvi.md b/Docs/SECURITY-FAQvi.md
new file mode 100644
index 0000000..c6f86b1
--- /dev/null
+++ b/Docs/SECURITY-FAQvi.md
@@ -0,0 +1,32 @@
+Đọc bằng các ngôn ngữ khác: [English](SECURITY-FAQ.md), [русский](SECURITY-FAQru.md), [Nederlands](SECURITY_FAQnl.md), [Français](SECURITY-FAQfr.md), [Türkçe](SECURITY-FAQtr.md), [українська](SECURITY-FAQuk.md), [Polski](SECURITY-FAQpl.md), [Tiếng Việt](SECURITY-FAQvi.md)
+
+
+# Tính Bảo mật
+
+### Tiện ích mở rộng này có theo dõi lịch sử xem vi-đê-ô của tôi không?
+
+Không. Mã nguồn của tiện ích mở rộng này được cung cấp công khai và bạn có thể kiểm tra mã nguồn nếu muốn. Thông tin duy nhất được tiện ích này gửi đi là ID của vi-đê-ô vì việc truy vấn số lượt đánh giá "không thích" cần ID của vi-đê-ô. Không thông tin nào khác được gửi đi. Ở lớp truyền tải, máy chủ sẽ biết được địa chỉ IP của bạn cũng như thời điểm mà truy vấn được tạo. Tuy nhiên, những thông tin này không thể định danh chính xác bạn. Giả sử với môi trường bất tín, chúng tôi cùng lắm chỉ có thể biết được địa chỉ IP động. Địa chỉ IP động là của bạn ngày hôm nay, nhưng sẽ là của người khác vào ngày mai. Nếu bạn lo lắng rằng địa chỉ IP của mình bị theo dõi, bạn có thể sử dụng mạng riêng ảo.
+
+### Nhóm phát triển có thể định danh chính xác tôi không nếu như tôi có đánh giá "không thích"?
+
+Có. Khi bạn đưa ra đánh giá "không thích" với một vi-đê-ô, chúng tội sẽ tạo ra một số định danh duy nhất ngẫu nhiên cho bạn, nhưng số định danh này không có bất kì mối liên hệ nào với tài khoản Google của bạn. Việc tạo số định danh là nhằm tránh người dùng bot. Không có bất kì cách nào để liên hệ số định danh này với bạn hay với tài khoản YouTube của bạn.
+
+### Chính xác thì thông tin nào được thu thập?
+
+Chỉ có ID của vi-đê-ô sẽ được thu thập. Bình luận của bạn, không. Tên người dùng của bạn, không. Thông tin của người mà bạn chia sẻ vi-đê-ô, không. Siêu dữ liệu khác, không. Không có bất kì thông tin nào khác được thu thập. Chỉ duy nhất ID của vi-đê-ô.
+
+### Địa chỉ IP của tôi được lưu trữ ra sao?
+
+Đầu sau chỉ giữ địa chỉ IP không được băm trong bộ nhớ khả biến (RAM). Những địa chỉ này không được lưu vào bộ nhớ bất biến (như ổ đĩa cứng) và như vậy không bị ghi chép lại. Chúng tôi băm địa chỉ IP rồi mới lưu lại những địa chỉ đã băm. Việc lưu địa chỉ đã băm là nhằm tránh việc phá hoại cơ sở dữ liệu.
+
+### Tôi có bắt gặp một số cuộc thảo luận về OAuth cũng như về việc truy cập tài khoản YouTube của tôi!
+
+Tính năng sắp có này là tùy chọn. Nếu bạn là nhà sáng tạo nội dung trên YouTube và bạn mong muốn chia sẽ số liệu đánh giá "không thích" với chúng tôi, chúng tôi rất hoan nghênh. Cách thức hoạt động của [OAuth](https://en.wikipedia.org/wiki/OAuth#:~:text=but%20without%20giving%20them%20the%20passwords.) giúp đảm bảo tính bảo mật. Bạn có thể hủy bỏ các truy cập vào tài khoản của bạn bất cứ lúc nào bạn muốn và cũng như có thể đưa ra bất kì sự cho phép cụ thể nào. Chúng tôi sẽ không đòi hỏi bất kì sự cho phép nào không cần thiết. Chúng tôi chỉ xin được cấp phép để xem số liệu về vi-đê-ô của bạn.
+
+### Số lượt đánh giá "không thích" có đáng tin cậy không?
+
+Chúng tôi đã và đang thực hiện nhiều biện pháp phòng chống việc tấn công từ người dùng bot và sẽ tiếp duy trì việc tăng cường tính hiệu quả của hệ thống phòng chống bot: Điều này sẽ giúp chúng tôi đảm bảo rằng số lượt đánh giá "không thích" của tiện ích phản ánh đúng số lượt đánh giá thực. Tất nhiên là không thể đảm bảo chính xác hoàn toàn, cho nên tùy thuộc vào bạn có muốn tin hay không.
+
+### Tại sao mã nguồn của đầu sau không được chia sẻ?
+
+Chúng tôi sẽ chia sẻ mã nguồn của đầu sau trong tương lại. Nhưng không có lí do gì thực sự cấp thiết để phải chia sẻ mã nguồn vào thời điểm hiện nay. Việc chia sẻ mã nguồn sẽ tạo ra sự an tâm hão huyền vì trong môi trường bất tín, chúng tôi có thể chia sẻ mã nguồn này nhưng lại dùng mã nguồn khác. Có nhiều lí do để giữ bí mật mã nguồn, trong đó có việc chống tương tác rác. Che giấu/Làm rối mã xử lý tương tác rác là biện pháp tiêu chuẩn.
diff --git a/Docs/readme.md b/Docs/readme.md
index e014fe8..306f49b 100644
--- a/Docs/readme.md
+++ b/Docs/readme.md
@@ -1,4 +1,4 @@
-Read this in other languages: [Nederlands](readmenl.md), [Français](readmefr.md), [Türkçe](readmetr.md)
+Read this in other languages: [Nederlands](readmenl.md), [Français](readmefr.md), [Türkçe](readmetr.md), [Tiếng Việt](readmevi.md)
**Contents**
diff --git a/Docs/readmefr.md b/Docs/readmefr.md
index 2b3440a..1d4285b 100644
--- a/Docs/readmefr.md
+++ b/Docs/readmefr.md
@@ -1,4 +1,4 @@
-Lisez ceci dans d'autres langues : [English](readme.md), [Nederlands](readmenl.md), [Türkçe](readmetr.md)
+Lisez ceci dans d'autres langues : [English](readme.md), [Nederlands](readmenl.md), [Türkçe](readmetr.md), [Tiếng Việt](readmevi.md)
**Contenu**
diff --git a/Docs/readmenl.md b/Docs/readmenl.md
index bef479d..837ce56 100644
--- a/Docs/readmenl.md
+++ b/Docs/readmenl.md
@@ -1,4 +1,4 @@
-Read this in other languages: [English](readme.md), [Français](readmefr.md), [Türkçe](readmetr.md)
+Read this in other languages: [English](readme.md), [Français](readmefr.md), [Türkçe](readmetr.md), [Tiếng Việt](readmevi.md)
**Inhoud**
diff --git a/Docs/readmetr.md b/Docs/readmetr.md
index 4914502..332991f 100644
--- a/Docs/readmetr.md
+++ b/Docs/readmetr.md
@@ -1,4 +1,4 @@
-Read this in other languages: [English](readme.md), [Nederlands](readmenl.md), [Français](readmefr.md)
+Read this in other languages: [English](readme.md), [Nederlands](readmenl.md), [Français](readmefr.md), [Tiếng Việt](readmevi.md)
**İçerikler**
diff --git a/Docs/readmevi.md b/Docs/readmevi.md
new file mode 100644
index 0000000..f1a82c0
--- /dev/null
+++ b/Docs/readmevi.md
@@ -0,0 +1,39 @@
+Đọc bằng các ngôn ngữ khác: [English](readme.md), [Nederlands](readmenl.md), [Français](readmefr.md), [Türkçe](readmetr.md)
+
+**Mục lục**
+
+- [Hướng dẫn](#guides)
+- [Hỏi-Đáp](#faqs)
+
+
+
+
+## Hướng dẫn
+
+- [Tải, Cài đặt & Sử dụng](https://github.com/Anarios/return-youtube-dislike/wiki/Tải,-Cài-đặt-&-Sử-dụng)
+- [Khắc phục Sự cố](https://github.com/Anarios/return-youtube-dislike/wiki/Hướng-dẫn-Khắc-phục-Sự-cố)
+
+
+
+
+
+## Hỏi-Đáp
+
+- [Tổng quát](https://github.com/Anarios/return-youtube-dislike/blob/main/Docs/FAQvi.md)
+- [Bảo mật](https://github.com/Anarios/return-youtube-dislike/blob/main/Docs/SECURITY-FAQvi.md)
+
+
diff --git a/Website/_locales/vi.ts b/Website/_locales/vi.ts
index 81e549e..375a5c3 100644
--- a/Website/_locales/vi.ts
+++ b/Website/_locales/vi.ts
@@ -85,7 +85,7 @@ export default {
bullet2: 'Tại sao số lượt "không thích" không được cập nhật?',
bullet2text:
'Hiện tại, số lượt "không thích" được lưu vào cơ sở dữ liệu và số lượt được hiển thị không được cập nhật liên tục. Việc cập nhật số lượt được hiển thị tùy thuộc vào độ phổ biến của vi-đê-ô, có thể mất vài giờ tới vài ngày để cập nhật.',
- bullet3: "Cách thức hoạt đọng của tiện ích mở rộng này?",
+ bullet3: "Cách thức hoạt động của tiện ích mở rộng này?",
bullet3text:
'Tiện ích này thu thập ID của vi-đê-ô mà bạn xem, rồi sử dụng API của chúng tôi để truy vấn số lượt "không thích" (cùng với các thông tin khác như lượt xem, số lượt "thích", v.v.). Sau đó, tiện ích sẽ hiển thị số lượt "không thích" và tỉ lệ "thích"/"không thích". Nếu bạn đánh giá "thích" hay "không thích" một vi-đê-ô, đánh giá này sẽ được ghi lại và gửi vào cơ sở dữ liệu, nhờ đó số lượt "không thích" có thể được ngoại suy chính xác.',
bullet4: 'Tôi có thể chia sẻ số lượt "không thích" của mình cho nhóm phát triển không?',