From 9cba494aac122895690acae16e33b0153fdd733d Mon Sep 17 00:00:00 2001 From: Tuan Vu Date: Sat, 14 Mar 2026 22:36:34 +0700 Subject: [PATCH] enhance vietnamese localization --- src/i18n/locales/en.json | 1 + src/i18n/locales/vi.json | 165 ++++++++++++++++++++------------------- 2 files changed, 84 insertions(+), 82 deletions(-) diff --git a/src/i18n/locales/en.json b/src/i18n/locales/en.json index b4793177..867d490c 100644 --- a/src/i18n/locales/en.json +++ b/src/i18n/locales/en.json @@ -669,6 +669,7 @@ "romanian": "Romanian", "albanian": "Albanian", "catalan": "Catalan", + "vietnamese": "Vietnamese", "account": "Account", "content_discovery": "Content & Discovery", "appearance": "Appearance", diff --git a/src/i18n/locales/vi.json b/src/i18n/locales/vi.json index 708a939d..b515b749 100644 --- a/src/i18n/locales/vi.json +++ b/src/i18n/locales/vi.json @@ -11,7 +11,7 @@ "ok": "OK", "unknown": "Không xác định", "retry": "Thử lại", - "try_again": "Thử lại", + "try_again": "Vui lòng thử lại", "go_back": "Quay lại", "settings": "Cài đặt", "close": "Đóng", @@ -21,48 +21,48 @@ "show_less": "Thu gọn", "load_more": "Tải thêm", "unknown_date": "Ngày không xác định", - "anonymous_user": "Người dùng khách", + "anonymous_user": "Khách", "time": { "now": "Vừa xong", - "minutes_ago": "{{count}} phút trước", - "hours_ago": "{{count}} giờ trước", - "days_ago": "{{count}} ngày trước" + "minutes_ago": "{{count}} phút", + "hours_ago": "{{count}} giờ", + "days_ago": "{{count}} ngày" }, "days_short": { - "sun": "Chủ nhật", - "mon": "Thứ 2", - "tue": "Thứ 3", - "wed": "Thứ 4", - "thu": "Thứ 5", - "fri": "Thứ 6", - "sat": "Thứ 7" + "sun": "CN", + "mon": "Th 2", + "tue": "Th 3", + "wed": "Th 4", + "thu": "Th 5", + "fri": "Th 6", + "sat": "Th 7" }, "email": "Email", "status": "Trạng thái" }, "home": { "categories": { - "movies": "Phim lẻ", - "series": "Phim bộ", - "channels": "Truyền hình" + "movies": "Phim", + "series": "Chương trình TV", + "channels": "Kênh truyền hình" }, - "movies": "Phim lẻ", - "tv_shows": "Chương trình truyền hình", + "movies": "Phim", + "tv_shows": "Chương trình TV", "load_more_catalogs": "Tải thêm danh mục", "no_content": "Không có nội dung", "add_catalogs": "Thêm danh mục", "sign_in_available": "Đăng nhập ngay", "sign_in_desc": "Bạn có thể đăng nhập bất cứ lúc nào trong Cài đặt → Tài khoản", - "view_all": "Xem tất cả", + "view_all": "Xem thêm", "this_week": "Tuần này", "upcoming": "Sắp chiếu", - "recently_released": "Vừa phát hành", - "no_scheduled_episodes": "Phim bộ chưa có lịch chiếu", + "recently_released": "Mới ra mắt", + "no_scheduled_episodes": "Phim chưa có lịch chiếu", "check_back_later": "Quay lại sau nhé", "continue_watching": "Xem tiếp", "up_next": "Tiếp theo", "up_next_caps": "TIẾP THEO", - "released": "Đã phát hành", + "released": "Đang chiếu", "new": "Mới", "tba": "Chưa xác định", "new_episodes": "{{count}} tập mới", @@ -70,17 +70,17 @@ "episode_short": "T{{episode}}", "season": "Phần {{season}}", "episode": "Tập {{episode}}", - "movie": "Phim lẻ", - "series": "Phim bộ", - "tv_show": "Chương trình truyền hình", + "movie": "Phim", + "series": "Chương trình TV", + "tv_show": "Chương trình TV", "percent_watched": "Đã xem {{percent}}%", "view_details": "Xem chi tiết", "remove": "Xoá", - "play": "Phát", + "play": "Xem", "play_now": "Xem ngay", "resume": "Xem tiếp", "info": "Thông tin", - "more_info": "Thêm thông tin", + "more_info": "Thêm", "my_list": "Danh sách của tôi", "save": "Lưu", "saved": "Đã lưu", @@ -105,8 +105,8 @@ "title": "Tìm kiếm", "recent_searches": "Tìm kiếm gần đây", "discover": "Khám phá", - "movies": "Phim lẻ", - "tv_shows": "Phim bộ", + "movies": "Phim", + "tv_shows": "Chương trình TV", "select_catalog": "Chọn danh mục", "all_genres": "Tất cả thể loại", "discovering": "Đang tải nội dung...", @@ -115,14 +115,14 @@ "try_different": "Thử thể loại hoặc danh mục khác", "select_catalog_desc": "Chọn một danh mục để khám phá", "tap_catalog_desc": "Nhấn vào danh mục bên trên để bắt đầu", - "placeholder": "Tìm phim, chương trình...", - "keep_typing": "Tiếp tục nhập...", - "type_characters": "Nhập ít nhất 2 ký tự để tìm kiếm", + "placeholder": "Chương trình, Phim, v.v.", + "keep_typing": "Vui lòng nhập tiếp...", + "type_characters": "Nhập ít nhất từ 2 ký tự để tìm kiếm", "no_results": "Không có kết quả", "try_keywords": "Thử từ khoá khác hoặc kiểm tra chính tả", - "select_type": "Chọn loại", - "browse_movies": "Duyệt danh mục phim lẻ", - "browse_tv": "Duyệt danh mục phim bộ", + "select_type": "Chọn loại danh mục", + "browse_movies": "Duyệt danh mục phim", + "browse_tv": "Duyệt danh mục chương trình TV", "select_genre": "Chọn thể loại", "show_all_content": "Hiển thị tất cả nội dung", "genres_count": "{{count}} thể loại" @@ -143,8 +143,8 @@ "empty_folder": "Không có nội dung trong {{folder}}", "empty_folder_desc": "Bộ sưu tập này đang trống", "refresh": "Làm mới", - "no_movies": "Chưa có phim lẻ", - "no_series": "Chưa có phim bộ", + "no_movies": "Chưa có phim", + "no_series": "Chưa có chương trình TV", "no_content": "Chưa có nội dung", "add_content_desc": "Thêm nội dung vào thư viện để xem ở đây", "find_something": "Tìm gì đó để xem", @@ -222,16 +222,16 @@ "episode_label": "TẬP {{number}}", "watch_again": "Xem lại", "completed": "Đã xem xong", - "play_episode": "Phát P{{season}}T{{episode}}", - "play": "Phát", + "play_episode": "Xem P{{season}}T{{episode}}", + "play": "Xem", "watched": "Đã xem", "watched_on_trakt": "Đã xem trên Trakt", "synced_with_trakt": "Đồng bộ với Trakt", "saved": "Đã lưu", "director": "Đạo diễn", "directors": "Đạo diễn", - "creator": "Người tạo", - "creators": "Những người tạo", + "creator": "Tác giả", + "creators": "Tác giả", "production": "Sản xuất", "network": "Kênh phát sóng", "mark_watched": "Đánh dấu đã xem", @@ -242,7 +242,7 @@ "mark_season": "Đánh dấu Phần {{season}}", "resume": "Xem tiếp", "spoiler_warning": "Cảnh báo tiết lộ nội dung", - "spoiler_warning_desc": "Bình luận này chứa nội dung tiết lộ. Bạn có muốn hiển thị không?", + "spoiler_warning_desc": "Bình luận này có tiết lộ nội dung phim. Bạn có muốn hiển thị không?", "cancel": "Huỷ", "reveal_spoilers": "Hiện nội dung tiết lộ", "movie_details": "Thông tin phim", @@ -260,7 +260,7 @@ "total_episodes": "Tổng số tập", "episode_runtime": "Thời lượng mỗi tập", "created_by": "Tạo bởi", - "backdrop_gallery": "Thư viện ảnh nền", + "backdrop_gallery": "Thư viện ảnh", "loading_episodes": "Đang tải tập phim...", "no_episodes_available": "Không có tập phim", "play_next": "Phát P{{season}}T{{episode}}", @@ -309,7 +309,7 @@ }, "comments": { "title": "Bình luận Trakt", - "spoiler_warning": "⚠️ Bình luận này chứa nội dung tiết lộ. Nhấn để hiện.", + "spoiler_warning": "⚠️ Bình luận này có tiết lộ nội dung phim. Nhấn để hiện.", "spoiler": "Tiết lộ nội dung", "contains_spoilers": "Chứa nội dung tiết lộ", "reveal": "Hiện", @@ -327,8 +327,8 @@ "teaser": "Teaser", "clips_scenes": "Clip & Cảnh phim", "clip": "Clip", - "featurettes": "Hậu trường ngắn", - "featurette": "Hậu trường ngắn", + "featurettes": "Hậu trường", + "featurette": "Hậu trường", "behind_the_scenes": "Hậu trường", "no_trailers": "Không có trailer", "unavailable": "Trailer không khả dụng", @@ -341,11 +341,11 @@ "no_content_filters": "Không có nội dung cho bộ lọc đã chọn", "loading_content": "Đang tải nội dung...", "back": "Quay lại", - "in_theaters": "Đang chiếu", + "in_theaters": "Đang chiếu rạp", "all": "Tất cả", "failed_tmdb": "Không thể tải nội dung từ TMDB", - "movies": "Phim lẻ", - "tv_shows": "Phim bộ", + "movies": "Phim", + "tv_shows": "Chương trình TV", "channels": "Kênh truyền hình" }, "streams": { @@ -364,8 +364,8 @@ }, "player_ui": { "via": "từ {{name}}", - "audio_tracks": "Rãnh âm thanh", - "no_audio_tracks": "Không có rãnh âm thanh", + "audio_tracks": "Âm thanh", + "no_audio_tracks": "Không có âm thanh", "playback_speed": "Tốc độ phát", "on_hold": "Tạm dừng", "playback_error": "Lỗi phát", @@ -374,7 +374,7 @@ "copied_to_clipboard": "Đã sao chép", "dismiss": "Bỏ qua", "continue_watching": "Xem tiếp", - "start_over": "Xem từ đầu", + "start_over": "Xem lại từ đầu", "resume": "Tiếp tục", "change_source": "Đổi nguồn", "switching_source": "Đang chuyển nguồn...", @@ -654,11 +654,12 @@ "romanian": "Tiếng Romania", "albanian": "Tiếng Albania", "catalan": "Tiếng Catalan", + "vietnamese": "Tiếng Việt", "account": "Tài khoản", "content_discovery": "Nội dung & Khám phá", "appearance": "Giao diện", "integrations": "Tích hợp", - "playback": "Phát", + "playback": "Trình phát", "backup_restore": "Sao lưu & Khôi phục", "backup_restore_desc": "Tạo và khôi phục bản sao lưu ứng dụng", "updates": "Cập nhật", @@ -675,7 +676,7 @@ "clear_mdblist_cache": "Xoá bộ nhớ đệm MDBList", "cache_management": "QUẢN LÝ BỘ NHỚ ĐỆM", "downloads_counter": "lượt tải và đang tăng", - "made_with_love": "Được tạo với ❤️ bởi Tapframe và cộng sự", + "made_with_love": "Được tạo với ❤️ bởi Tapframe và cộng đồng", "sections": { "information": "THÔNG TIN", "account": "TÀI KHOẢN", @@ -694,12 +695,12 @@ "danger_zone": "KHU VỰC NGUY HIỂM" }, "items": { - "legal": "Pháp lý & Tuyên bố miễn trách", - "privacy_policy": "Chính sách quyền riêng tư", + "legal": "Pháp lý & Quy định", + "privacy_policy": "Chính sách bảo mật", "report_issue": "Báo cáo sự cố", "version": "Phiên bản", - "contributors": "Đóng góp viên", - "view_contributors": "Xem tất cả đóng góp viên", + "contributors": "Người đóng góp", + "view_contributors": "Xem tất cả người đóng góp", "theme": "Giao diện", "episode_layout": "Bố cục tập phim", "streams_backdrop": "Ảnh nền nguồn phát", @@ -715,7 +716,7 @@ "home_screen": "Màn hình chính", "home_screen_desc": "Bố cục và nội dung", "continue_watching": "Xem tiếp", - "continue_watching_desc": "Bộ nhớ đệm và hành vi phát", + "continue_watching_desc": "Bộ nhớ đệm và chế độ phát", "show_discover": "Hiện phần Khám phá", "show_discover_desc": "Hiển thị nội dung khám phá trong Tìm kiếm", "mdblist": "MDBList", @@ -738,7 +739,7 @@ "auto_select_subs": "Tự động chọn phụ đề", "auto_select_subs_desc": "Tự động chọn phụ đề theo tuỳ chọn của bạn", "show_trailers": "Hiện trailer", - "show_trailers_desc": "Hiển thị trailer trong phần hero", + "show_trailers_desc": "Hiển thị trailer trong banner nổi bật", "enable_downloads": "Bật tải về", "enable_downloads_desc": "Hiện tab Tải về và cho phép lưu luồng phát", "notifications": "Thông báo", @@ -760,9 +761,9 @@ "internal_first": "Ưu tiên tích hợp", "internal_first_desc": "Ưu tiên phụ đề nhúng sẵn, rồi đến bên ngoài", "external_first": "Ưu tiên bên ngoài", - "external_first_desc": "Ưu tiên phụ đề addon, rồi đến nhúng sẵn", - "any_available": "Tuỳ có", - "any_available_desc": "Dùng rãnh phụ đề đầu tiên có sẵn" + "external_first_desc": "Ưu tiên phụ đề từ addon, rồi đến nhúng sẵn", + "any_available": "Nguồn bất kỳ", + "any_available_desc": "Tự động chọn phụ đề đầu tiên" }, "clear_data_desc": "Thao tác này sẽ đặt lại tất cả cài đặt và xoá dữ liệu đệm. Bạn có chắc không?", "app_updates": "Cập nhật ứng dụng", @@ -918,7 +919,7 @@ }, "continue_watching_settings": { "title": "Xem tiếp", - "playback_behavior": "HÀNH VI PHÁT", + "playback_behavior": "CHẾ ĐỘ PHÁT", "use_cached": "Dùng luồng đã lưu đệm", "use_cached_desc": "Khi bật, nhấn mục Xem tiếp sẽ mở trình phát trực tiếp dùng luồng đã phát trước đó. Khi tắt, sẽ mở màn hình nội dung.", "open_metadata": "Mở màn hình thông tin", @@ -942,9 +943,9 @@ "hours": "giờ" }, "contributors": { - "title": "Đóng góp viên", + "title": "Người đóng góp", "special_mentions": "Nhắc đến đặc biệt", - "tab_contributors": "Đóng góp viên", + "tab_contributors": "Người đóng góp", "tab_special": "Nhắc đến đặc biệt", "tab_donors": "Nhà tài trợ", "manager_role": "Quản lý cộng đồng", @@ -966,10 +967,10 @@ "loading_donors": "Đang tải nhà tài trợ...", "no_donors": "Chưa có nhà tài trợ", "error_rate_limit": "Đã vượt giới hạn tốc độ GitHub API. Vui lòng thử lại sau hoặc kéo để làm mới.", - "error_failed": "Không thể tải đóng góp viên. Vui lòng kiểm tra kết nối internet.", + "error_failed": "Không thể tải người đóng góp. Vui lòng kiểm tra kết nối internet.", "retry": "Thử lại", - "no_contributors": "Không tìm thấy đóng góp viên", - "loading_contributors": "Đang tải đóng góp viên..." + "no_contributors": "Không tìm thấy người đóng góp", + "loading_contributors": "Đang tải người đóng góp..." }, "debrid": { "title": "Tích hợp Debrid", @@ -1036,7 +1037,7 @@ "title": "Cài đặt màn hình chính", "changes_applied": "Đã áp dụng thay đổi", "display_options": "TUỲ CHỌN HIỂN THỊ", - "show_hero": "Hiện phần hero", + "show_hero": "Hiện banner nổi bật", "show_hero_desc": "Nội dung nổi bật ở trên cùng", "show_this_week": "Hiện phần Tuần này", "show_this_week_desc": "Tập mới trong tuần hiện tại", @@ -1045,16 +1046,16 @@ "selected": "đã chọn", "prefer_external_meta": "Ưu tiên Addon metadata bên ngoài", "prefer_external_meta_desc": "Dùng metadata bên ngoài trên trang chi tiết", - "hero_layout": "Bố cục hero", + "hero_layout": "Bố cục banner nổi bật", "layout_legacy": "Cổ điển", - "layout_carousel": "Băng chuyền", + "layout_carousel": "Danh sách", "layout_appletv": "Apple TV", "layout_desc": "Banner toàn màn hình, thẻ vuốt, hoặc kiểu Apple TV", "featured_source": "Nguồn nổi bật", "using_catalogs": "Dùng danh mục", "manage_selected_catalogs": "Quản lý danh mục đã chọn", - "dynamic_bg": "Nền hero động", - "dynamic_bg_desc": "Ảnh nền mờ phía sau băng chuyền", + "dynamic_bg": "Nền banner nổi bật động", + "dynamic_bg_desc": "Ảnh nền mờ phía sau danh sách", "performance_note": "Có thể ảnh hưởng hiệu suất trên thiết bị cấu hình thấp.", "posters": "Poster", "show_titles": "Hiện tiêu đề", @@ -1069,14 +1070,14 @@ "about_these_settings": "VỀ CÁC CÀI ĐẶT NÀY", "about_desc": "Các cài đặt này kiểm soát cách hiển thị nội dung trên màn hình chính. Thay đổi được áp dụng ngay mà không cần khởi động lại ứng dụng.", "hero_catalogs": { - "title": "Danh mục phần hero", + "title": "Danh mục banner nổi bật", "select_all": "Chọn tất cả", "clear_all": "Bỏ chọn tất cả", - "info": "Chọn danh mục hiển thị trong phần hero. Nếu không chọn, tất cả danh mục sẽ được dùng. Đừng quên nhấn Lưu khi xong.", + "info": "Chọn danh mục hiển thị trong banner nổi bật. Nếu không chọn, tất cả danh mục sẽ được dùng. Đừng quên nhấn Lưu khi xong.", "settings_saved": "Đã lưu cài đặt", "error_load": "Tải danh mục thất bại", - "movies": "Phim lẻ", - "tv_shows": "Phim bộ" + "movies": "Phim", + "tv_shows": "Chương trình TV" } }, "calendar": { @@ -1088,7 +1089,7 @@ "show_all_episodes": "Hiện tất cả tập", "no_episodes_for": "Không có tập cho {{date}}", "no_upcoming_found": "Không tìm thấy tập sắp tới", - "add_series_desc": "Thêm phim bộ vào thư viện để xem các tập sắp tới ở đây" + "add_series_desc": "Thêm chương trình TV vào thư viện để xem các tập sắp tới ở đây" }, "mdblist": { "title": "Nguồn xếp hạng", @@ -1163,7 +1164,7 @@ "section_addons": "Addon & Tích hợp", "section_settings": "Cài đặt & Tuỳ chọn", "library_label": "Thư viện", - "library_desc": "Phim lẻ và phim bộ đã lưu", + "library_desc": "Phim và chương trình TV đã lưu", "watch_progress_label": "Tiến độ xem", "watch_progress_desc": "Vị trí xem tiếp", "addons_label": "Addon", @@ -1208,8 +1209,8 @@ "status_error": "Cập nhật thất bại", "status_ready": "Sẵn sàng kiểm tra cập nhật", "action_check": "Kiểm tra cập nhật", - "action_install": "Cài cập nhật", - "release_notes": "Ghi chú phát hành:", + "action_install": "Cài bản cập nhật", + "release_notes": "Chi tiết bản cập nhật:", "version": "Phiên bản:", "last_checked": "Kiểm tra lần cuối:", "current_version": "Phiên bản hiện tại:", @@ -1395,7 +1396,7 @@ } }, "legal": { - "title": "Pháp lý & Tuyên bố miễn trách", + "title": "Pháp lý & Quy định", "intro_title": "Bản chất ứng dụng", "intro_text": "Nuvio là ứng dụng trình phát phương tiện và quản lý metadata. Nó chỉ hoạt động như giao diện phía máy khách để duyệt metadata công khai (phim, phim bộ...) và phát file phương tiện do người dùng hoặc tiện ích mở rộng bên thứ ba cung cấp. Nuvio không lưu trữ, phân phối hay lập chỉ mục nội dung phương tiện.", "extensions_title": "Plugin bên thứ ba",