Files
netrunner-landing/dictionaries/vi.json
T
nineap 32b4460b66 Локализует лендинг на 10 языков + RTL для арабского и персидского
Добавляет zh-CN, fa, ar, tr, uk, be, vi, uz словари (170 ключей, идентичная
вложенная структура) к существующим en/ru. lib/locales.ts — единый источник
списка локалей/дефолтной локали/RTL-набора вместо захардкоженного ["en","ru"]
в proxy.ts. language-switcher.tsx: переключение языка резало только
двухбуквенные коды регэкспом (/^\/[a-z]{2}/), из-за чего zh-CN никогда не
матчился и путь задваивался — заменено на honest-поиск по списку locales.

app/[lang]/layout.tsx — dir="rtl"/"ltr" на <html> по локали (SSR, в отличие
от реактивного клиентского переключения в netrunner-app). Header.tsx/
Footer.tsx — разбитое на три <span> имя бренда визуально переворачивалось
Flexbox'ом под dir=rtl ("VPNrunnerNet"), исправлено через dir="ltr" на
самом враппере.

BlogPreview/Faq/Pricing и обе blog-страницы: fallback на *_en-коллекцию
PocketBase, если для языка ещё нет переведённого контента (FAQ-ответы,
детали тарифов, посты блога не тянутся автоматически — это отдельный от
статических словарей CMS-контент), плюс i18n-ключи period1m/period6m/
period1y вместо захардкоженных ru/en-подписей периодов в Pricing.tsx.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-08 22:53:37 +07:00

243 lines
10 KiB
JSON

{
"nav": {
"features": "Tính năng",
"pricing": "Bảng giá",
"faq": "Hỏi đáp",
"blog": "Nhật ký",
"terminal": "Terminal",
"docs": "Tài liệu",
"cta": "Tải Netrunner",
"profile": "Hồ sơ",
"menu": "Menu.exe",
"speedtest": "Chẩn đoán",
"doom": "DOOM OS"
},
"hero": {
"badge": "Hệ thống đang theo dõi",
"badgeSecure": "Đã thiết lập đường hầm an toàn",
"titleStart": "Hệ thống theo dõi mọi người,",
"titleHighlight": "trừ bạn.",
"subtitle": "Dấu vết số đã ẩn. Nhật ký đã bị xóa. Tốc độ không giới hạn.",
"switchLabel": "Netrunner VPN",
"ctaPrimary": "Tải Ứng Dụng",
"ctaSecondary": "Danh Sách Node"
},
"features": {
"title": "Công Nghệ Truy Cập",
"items": [
{
"title": "Vượt DPI & uTLS",
"description": "Netrunner ngụy trang lưu lượng thành HTTPS thông thường. Hệ thống kiểm tra gói tin sâu chỉ thấy nhiễu trắng."
},
{
"title": "ChaCha20-Poly1305",
"description": "Mã hóa luồng tiên tiến với Perfect Forward Secrecy. Khóa phiên được tạo động."
},
{
"title": "Áp Suất Ngược Thích Ứng",
"description": "Kích thước bộ đệm tự động điều chỉnh theo độ trễ hệ thống. Ngăn chặn tự động các đợt tăng độ trễ đột ngột."
},
{
"title": "Lõi Đa Nền Tảng",
"description": "Lõi Rust cấp thấp đảm bảo tương thích hoàn hảo và không hao tổn tài nguyên trên Android, Windows và Linux. Hỗ trợ macOS và iOS đang được phát triển."
},
{
"title": "Hạ Tầng Riêng",
"description": "Chúng tôi vận hành máy chủ riêng thay vì thuê từ các nhà cung cấp đám mây lớn, với ghép kênh luồng qua các node để có kết nối ổn định và khó bị đưa vào danh sách đen."
}
]
},
"pricing": {
"badge": "Giao Thức Giá",
"title": "Chọn Uplink Của Bạn",
"perMonth": "/tháng",
"recommend": "Đề xuất",
"syncing": "Đang đồng bộ Node...",
"empty": "Không tìm thấy kết nối khả dụng.",
"discount": "TIẾT KIỆM",
"mo": "/tháng",
"billedOnce": "Thanh toán một lần:",
"period1m": "1 tháng",
"period6m": "6 tháng",
"period1y": "1 năm"
},
"faq": {
"title": "Truy Vấn Hệ Thống (Hỏi Đáp)",
"empty": "Không tìm thấy bản ghi nào."
},
"blog": {
"badge": "Nhật Ký Dữ Liệu",
"title": "Biên Niên Sử Mạng",
"more": "Tất cả bài viết",
"readMore": "Đọc thêm",
"empty": "Không tìm thấy tín hiệu.",
"archive": "Kho Lưu Trữ Terminal",
"systemLogs": "Nhật Ký Hệ Thống",
"emptySector": "[Không tìm thấy bản ghi trong khu vực này]",
"decrypt": "Giải mã bài viết →",
"backBtn": "cd ../logs",
"readTime": "Đọc: 4 phút",
"verified": "Đã xác minh: Netrunner",
"endTransmission": "Kết thúc truyền tải // node_th_01"
},
"footer": {
"brand": "Netrunner VPN",
"tagline": "Hệ thống theo dõi mọi người, trừ bạn.",
"sections": {
"product": "Sản Phẩm",
"resources": "Tài Nguyên",
"legal": "Pháp Lý"
},
"links": {
"features": "Tính năng",
"pricing": "Bảng giá",
"faq": "Hỏi đáp",
"protocol": "Giao thức",
"comms": "Blog",
"privacy": "Quyền riêng tư",
"terms": "Điều khoản",
"profile": "Hồ sơ"
},
"rights": "© 2026 Netrunner VPN. Mọi gói tin đã được mã hóa.",
"protocolStatus": "GIAO THỨC // TRUY CẬP MÃ HÓA",
"uplinkStatus": "Trạng Thái Uplink",
"activeNode": "Node Đang Hoạt Động",
"latency": "Độ Trễ (RTT)"
},
"download": {
"title": "Triển Khai Node",
"subtitle": "Chọn nền tảng của bạn để triển khai ứng dụng Netrunner.",
"badges": {
"active": "Bản Ổn Định",
"dev": "Đang Phát Triển"
},
"buttons": {
"direct": "Tải Trực Tiếp",
"store": "Liên Kết Cửa Hàng",
"github": "Mã Nguồn",
"notify": "Thông Báo Cho Tôi",
"soon": "Sắp Có Trên Store",
"pending": "Đang Chờ Bản Dựng"
},
"platforms": {
"windows": "Windows 10 / 11",
"android": "Android 8.0+",
"linux": "Ubuntu / Debian / Arch",
"macos": "macOS 12.0+",
"ios": "iOS 15.0+"
},
"accessingBuild": "Đang truy cập máy chủ bản dựng..."
},
"terminal": {
"title": "KÊNH LIÊN LẠC TOÀN CẦU",
"description": "Kênh liên lạc công khai. Lịch sử vô hạn.",
"alias": "BÍ DANH",
"message": "NHẬP DỮ LIỆU...",
"send": "PHÁT SÓNG",
"systemReady": "SYSTEM_READY // UPLINK_SECURED",
"loadingHistory": "Đang tải kho lưu trữ...",
"noMoreLogs": "ĐÃ ĐẾN CUỐI KHO LƯU TRỮ",
"encrypting": "ĐANG MÃ HÓA...",
"cooldown": "HỒI CHIÊU: {{time}}s",
"manifestoTitle": "TUYÊN NGÔN KÊNH LIÊN LẠC TỰ DO // v1.0",
"manifestoText": "Terminal này là kênh liên lạc trực tiếp đến lõi Netrunner. Chúng tôi phát sóng nhật ký không kiểm duyệt theo thời gian thực, vì một giao thức có khả năng vượt qua DPI không nên sợ sự thật.",
"rulesTitle": "GIAO THỨC ỨNG XỬ:",
"rule1": "— Không kiểm duyệt trước. Tin nhắn của bạn đến mạng ngay lập tức.",
"rule2": "— Chỉ trích VPN, báo cáo lỗi, hoặc câu hỏi hóc búa — mọi thứ đều được phép.",
"rule3": "— Giới hạn duy nhất: xúc phạm trực tiếp thành viên khác trong mạng và spam. Hãy là cyberpunk, không phải kẻ troll.",
"statusReady": "UPLINK_ESTABLISHED // NO_FILTERS_DETECTED"
},
"loading": {
"establishing": "Đang thiết lập kết nối"
},
"notFound": {
"errorBadge": "[ Lỗi: Không Tìm Thấy Node ]",
"message": "Bảng định tuyến không chứa node được yêu cầu. Việc truyền tải đã bị hủy. Hãy quay lại mạng an toàn.",
"returnHome": "Về Trang Chủ"
},
"nodes": {
"title": "Mạng Lưới Node Toàn Cầu",
"subtitle": "Cấu trúc liên kết thời gian thực của máy chủ Netrunner.",
"status": {
"online": "Trực tuyến",
"full": "Đầy",
"maintenance": "Bảo trì"
},
"labels": {
"load": "Tải Máy Chủ",
"latency": "Độ Trễ"
}
},
"guestbook": {
"title": "COMM-LINK_",
"subtitle": "Terminal Liên Lạc",
"description": "Kênh liên lạc trực tiếp đến các node Netrunner.",
"philosophyTitle": "Không Kiểm Duyệt",
"philosophyText": "Chúng tôi xây dựng Netrunner để vượt qua mọi rào cản, vì vậy chúng tôi không sợ lời nói của bạn. Bảng tin này là minh chứng sống động cho tự do ngôn luận. Trong khi những nơi khác giấu phản hồi, chúng tôi phát trực tiếp theo thời gian thực. Nếu giao thức của chúng tôi chống lại được DPI, nó cũng sẽ chống lại được sự thẳng thắn của bạn.",
"liveFeed": "Bảng Tin Trực Tiếp (50 Gần Nhất)",
"noTransmissions": "Không tìm thấy truyền tải đang hoạt động.",
"labelAlias": "Bí Danh",
"labelPayload": "Nội Dung",
"placeholderAlias": "Guest_77",
"placeholderPayload": "Nhập dữ liệu truyền tải...",
"statusSuccess": "Dữ liệu đã được gửi thành công.",
"statusErrorBreach": "Vi phạm bảo mật. Kết nối đã bị ngắt.",
"statusErrorEmpty": "Cần có bí danh và nội dung.",
"statusErrorSize": "Nội dung vượt quá kích thước tối đa.",
"statusErrorFirewall": "Tường lửa đang hoạt động. Chờ {{time}}s.",
"statusErrorOffline": "Truyền tải thất bại. Node ngoại tuyến.",
"statusErrorFilter": "⛔ Từ chối: Tin nhắn của bạn vi phạm chính sách bảo mật (ngôn từ tục tĩu, spam hoặc nội dung độc hại). Vui lòng diễn đạt lại.",
"btnEncrypting": "Đang mã hóa...",
"btnBroadcast": "Phát sóng",
"cooldown": "Hồi chiêu: {{time}}s"
},
"auth": {
"title": "ỦY QUYỀN UPLINK",
"processing": "Đang xử lý thông tin xác thực...",
"verifying": "Đang xác minh chữ ký mã hóa...",
"granted": "TRUY CẬP ĐƯỢC CẤP",
"denied": "TRUY CẬP BỊ TỪ CHỐI",
"noToken": "Không tìm thấy token ủy quyền. Vui lòng xác thực qua Terminal Netrunner trong Telegram.",
"redirecting": "Đang chuyển hướng đến khu vực an toàn...",
"toBot": "Mở Terminal Telegram",
"awaiting": "ĐANG CHỜ THÔNG TIN XÁC THỰC",
"authPrompt": "Khởi tạo kết nối an toàn qua Telegram để truy cập bảng điều khiển.",
"logs": {
"waitInit": "> [ĐANG CHỜ] KHỞI TẠO ĐĂNG NHẬP AN TOÀN TELEGRAM...",
"sigValid": "> [OK] CHỮ KÝ HỢP LỆ",
"apiRejected": "> [THẤT BẠI] API TỪ CHỐI TOKEN",
"coreOffline": "> [THẤT BẠI] LÕI NGOẠI TUYẾN",
"authPayload": "> [AUTH] ĐÃ NHẬN DỮ LIỆU TELEGRAM",
"verifyHmac": "> ĐANG XÁC MINH CHỮ KÝ HMAC-SHA256...",
"invalidSig": "> [THẤT BẠI] CHỮ KÝ KHÔNG HỢP LỆ HOẶC ĐÃ HẾT HẠN",
"networkError": "> [THẤT BẠI] LỖI MẠNG"
}
},
"docs": {
"establishing": "Đang thiết lập liên kết an toàn...",
"vaultTitle": "DATA_VAULT",
"vaultSubtitle": "Nhật ký hệ thống & tài liệu // V4.2",
"searchPlaceholder": "root@nrxp:~# grep -i ...",
"empty": "Tìm thấy 0 bản ghi cho truy vấn này",
"closeSession": "Đóng Phiên",
"noContent": "KHÔNG_TÌM_THẤY_NỘI_DUNG",
"eof": "EOF"
},
"speedtest": {
"title": "Chẩn Đoán Uplink",
"mockMode": "Chế Độ Mô Phỏng Cục Bộ",
"prodMode": "Đo lường trực tiếp với cổng mạng Netrunner.",
"btnError": "THỬ LẠI TRÌNH TỰ",
"btnDone": "KHỞI ĐỘNG LẠI UPLINK",
"btnIdle": "BẮT ĐẦU KIỂM TRA",
"statusPinging": "ĐANG PING",
"statusDownloading": "ĐANG TẢI XUỐNG",
"statusUploading": "ĐANG TẢI LÊN",
"latency": "Độ Trễ",
"download": "Tải Xuống",
"upload": "Tải Lên",
"unitMs": "ms",
"unitMbps": "Mbps"
}
}