Merge branch 'languagefixes' into dev

# Conflicts:
#	src-tauri/Cargo.lock
#	src-tauri/Cargo.toml
#	src-tauri/src/core/tray/mod.rs
This commit is contained in:
huzibaca 2025-01-11 15:07:30 +08:00
commit 146a66fb09
15 changed files with 1626 additions and 55 deletions

10
src-tauri/Cargo.lock generated
View File

@ -1041,6 +1041,7 @@ dependencies = [
"serde",
"serde_json",
"serde_yaml",
"sys-locale",
"sysinfo",
"sysproxy",
"tauri",
@ -6364,6 +6365,15 @@ dependencies = [
"syn 2.0.90",
]
[[package]]
name = "sys-locale"
version = "0.3.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8eab9a99a024a169fe8a903cf9d4a3b3601109bcc13bd9e3c6fff259138626c4"
dependencies = [
"libc",
]
[[package]]
name = "sysinfo"
version = "0.33.0"

View File

@ -66,6 +66,7 @@ base64 = "0.22.1"
getrandom = "0.2"
tokio-tungstenite = "0.26.1"
futures = "0.3"
sys-locale = "0.3.1"
[target.'cfg(windows)'.dependencies]
runas = "=1.2.0"

View File

@ -1,6 +1,7 @@
use crate::config::DEFAULT_PAC;
use crate::config::{deserialize_encrypted, serialize_encrypted};
use crate::utils::{dirs, help};
use crate::utils::i18n;
use anyhow::Result;
use log::LevelFilter;
use serde::{Deserialize, Serialize};
@ -202,6 +203,21 @@ pub struct IVergeTheme {
}
impl IVerge {
fn get_system_language() -> String {
let sys_lang = sys_locale::get_locale()
.unwrap_or_else(|| String::from("en"))
.to_lowercase();
let lang_code = sys_lang.split(['_', '-']).next().unwrap_or("en");
let supported_languages = i18n::get_supported_languages();
if supported_languages.contains(&lang_code.to_string()) {
lang_code.to_string()
} else {
String::from("en")
}
}
pub fn new() -> Self {
match dirs::verge_path().and_then(|path| help::read_yaml::<IVerge>(&path)) {
Ok(config) => config,
@ -215,7 +231,7 @@ impl IVerge {
pub fn template() -> Self {
Self {
clash_core: Some("verge-mihomo".into()),
language: Some("zh".into()),
language: Some(Self::get_system_language()),
theme_mode: Some("system".into()),
#[cfg(not(target_os = "windows"))]
env_type: Some("bash".into()),

View File

@ -2,13 +2,14 @@ use once_cell::sync::OnceCell;
#[cfg(target_os = "macos")]
pub mod speed_rate;
use crate::core::clash_api::Rate;
use crate::utils::dirs;
use crate::{
cmds,
config::Config,
feat, t,
utils::resolve::{self, VERSION},
feat, resolve,
utils::resolve::VERSION,
utils::{dirs, i18n::t},
};
use anyhow::Result;
#[cfg(target_os = "macos")]
use futures::StreamExt;
@ -114,7 +115,6 @@ impl Tray {
let verge = Config::verge().latest().clone();
let system_proxy = verge.enable_system_proxy.as_ref().unwrap_or(&false);
let tun_mode = verge.enable_tun_mode.as_ref().unwrap_or(&false);
let mode = {
Config::clash()
.latest()
@ -239,7 +239,6 @@ impl Tray {
/// 更新托盘提示
pub fn update_tooltip(&self) -> Result<()> {
let app_handle = handle::Handle::global().app_handle().unwrap();
let use_zh = { Config::verge().latest().language == Some("zh".into()) };
let version = VERSION.get().unwrap();
let verge = Config::verge().latest().clone();
@ -267,11 +266,11 @@ impl Tray {
let tray = app_handle.tray_by_id("main").unwrap();
let _ = tray.set_tooltip(Some(&format!(
"Clash Verge {version}\n{}: {}\n{}: {}\n{}: {}",
t!("SysProxy", "系统代理", use_zh),
t("SysProxy"),
switch_map[system_proxy],
t!("TUN", "Tun模式", use_zh),
t("TUN"),
switch_map[tun_mode],
t!("Profile", "当前订阅", use_zh),
t("Profile"),
current_profile_name
)));
Ok(())
@ -356,7 +355,6 @@ fn create_tray_menu(
tun_mode_enabled: bool,
) -> Result<tauri::menu::Menu<Wry>> {
let mode = mode.unwrap_or("");
let use_zh = { Config::verge().latest().language == Some("zh".into()) };
let version = VERSION.get().unwrap();
let hotkeys = Config::verge()
.latest()
@ -378,7 +376,7 @@ fn create_tray_menu(
let open_window = &MenuItem::with_id(
app_handle,
"open_window",
t!("Dashboard", "打开面板", use_zh),
t("Dashboard"),
true,
hotkeys.get("open_or_close_dashboard").map(|s| s.as_str()),
)
@ -387,7 +385,7 @@ fn create_tray_menu(
let rule_mode = &CheckMenuItem::with_id(
app_handle,
"rule_mode",
t!("Rule Mode", "规则模式", use_zh),
t("Rule Mode"),
true,
mode == "rule",
hotkeys.get("clash_mode_rule").map(|s| s.as_str()),
@ -397,7 +395,7 @@ fn create_tray_menu(
let global_mode = &CheckMenuItem::with_id(
app_handle,
"global_mode",
t!("Global Mode", "全局模式", use_zh),
t("Global Mode"),
true,
mode == "global",
hotkeys.get("clash_mode_global").map(|s| s.as_str()),
@ -407,7 +405,7 @@ fn create_tray_menu(
let direct_mode = &CheckMenuItem::with_id(
app_handle,
"direct_mode",
t!("Direct Mode", "直连模式", use_zh),
t("Direct Mode"),
true,
mode == "direct",
hotkeys.get("clash_mode_direct").map(|s| s.as_str()),
@ -417,7 +415,7 @@ fn create_tray_menu(
let system_proxy = &CheckMenuItem::with_id(
app_handle,
"system_proxy",
t!("System Proxy", "系统代理", use_zh),
t("System Proxy"),
true,
system_proxy_enabled,
hotkeys.get("toggle_system_proxy").map(|s| s.as_str()),
@ -427,26 +425,20 @@ fn create_tray_menu(
let tun_mode = &CheckMenuItem::with_id(
app_handle,
"tun_mode",
t!("TUN Mode", "Tun模式", use_zh),
t("TUN Mode"),
true,
tun_mode_enabled,
hotkeys.get("toggle_tun_mode").map(|s| s.as_str()),
)
.unwrap();
let copy_env = &MenuItem::with_id(
app_handle,
"copy_env",
t!("Copy Env", "复制环境变量", use_zh),
true,
None::<&str>,
)
.unwrap();
let copy_env =
&MenuItem::with_id(app_handle, "copy_env", t("Copy Env"), true, None::<&str>).unwrap();
let open_app_dir = &MenuItem::with_id(
app_handle,
"open_app_dir",
t!("Conf Dir", "配置目录", use_zh),
t("Conf Dir"),
true,
None::<&str>,
)
@ -455,7 +447,7 @@ fn create_tray_menu(
let open_core_dir = &MenuItem::with_id(
app_handle,
"open_core_dir",
t!("Core Dir", "内核目录", use_zh),
t("Core Dir"),
true,
None::<&str>,
)
@ -464,15 +456,16 @@ fn create_tray_menu(
let open_logs_dir = &MenuItem::with_id(
app_handle,
"open_logs_dir",
t!("Logs Dir", "日志目录", use_zh),
t("Logs Dir"),
true,
None::<&str>,
)
.unwrap();
let open_dir = &Submenu::with_id_and_items(
app_handle,
"open_dir",
t!("Open Dir", "打开目录", use_zh),
t("Open Dir"),
true,
&[open_app_dir, open_core_dir, open_logs_dir],
)
@ -481,7 +474,7 @@ fn create_tray_menu(
let restart_clash = &MenuItem::with_id(
app_handle,
"restart_clash",
t!("Restart Clash Core", "重启Clash内核", use_zh),
t("Restart Clash Core"),
true,
None::<&str>,
)
@ -490,7 +483,7 @@ fn create_tray_menu(
let restart_app = &MenuItem::with_id(
app_handle,
"restart_app",
t!("Restart App", "重启App", use_zh),
t("Restart App"),
true,
None::<&str>,
)
@ -499,7 +492,7 @@ fn create_tray_menu(
let app_version = &MenuItem::with_id(
app_handle,
"app_version",
format!("Version {version}"),
format!("{} {version}", t("Verge Version")),
true,
None::<&str>,
)
@ -508,20 +501,14 @@ fn create_tray_menu(
let more = &Submenu::with_id_and_items(
app_handle,
"more",
t!("More", "更多", use_zh),
t("More"),
true,
&[restart_clash, restart_app, app_version],
)
.unwrap();
let quit = &MenuItem::with_id(
app_handle,
"quit",
t!("Quit", "退出", use_zh),
true,
Some("CmdOrControl+Q"),
)
.unwrap();
let quit =
&MenuItem::with_id(app_handle, "quit", t("Exit"), true, Some("CmdOrControl+Q")).unwrap();
let separator = &PredefinedMenuItem::separator(app_handle).unwrap();

View File

@ -0,0 +1,99 @@
use crate::config::Config;
use once_cell::sync::Lazy;
use serde_json::Value;
use std::{collections::HashMap, fs, path::Path};
use sys_locale;
pub fn get_supported_languages() -> Vec<String> {
let project_dir = Path::new(env!("CARGO_MANIFEST_DIR")).parent().unwrap();
let i18n_path = project_dir.join("src/services/i18n.ts");
if let Ok(content) = fs::read_to_string(i18n_path) {
let mut languages = Vec::new();
for line in content.lines() {
if line.contains("resources = {") {
for line in content.lines() {
if let Some(lang) = line.trim().strip_suffix(": { translation:") {
let lang = lang.trim().trim_matches('"');
if !lang.is_empty() {
languages.push(lang.to_string());
}
}
if line.contains("};") {
break;
}
}
break;
}
}
if !languages.is_empty() {
return languages;
}
}
vec![
"en".to_string(),
"ru".to_string(),
"zh".to_string(),
"fa".to_string(),
]
}
static TRANSLATIONS: Lazy<HashMap<String, Value>> = Lazy::new(|| {
let project_dir = Path::new(env!("CARGO_MANIFEST_DIR")).parent().unwrap();
let locales_dir = project_dir.join("src/locales");
let mut translations = HashMap::new();
for lang in ["en", "ru", "zh", "fa", "tt"] {
let file_path = locales_dir.join(format!("{}.json", lang));
if let Ok(content) = fs::read_to_string(file_path) {
if let Ok(json) = serde_json::from_str(&content) {
translations.insert(lang.to_string(), json);
}
}
}
translations
});
pub fn t(key: &str) -> String {
let config = Config::verge();
let verge = config.latest();
let current_lang = verge
.language
.as_ref()
.map_or_else(|| get_system_language(), |lang| lang.to_string());
if let Some(translations) = TRANSLATIONS.get(&current_lang) {
if let Some(text) = translations.get(key) {
if let Some(text) = text.as_str() {
return text.to_string();
}
}
}
// Fallback to English
if let Some(translations) = TRANSLATIONS.get("en") {
if let Some(text) = translations.get(key) {
if let Some(text) = text.as_str() {
return text.to_string();
}
}
}
key.to_string()
}
fn get_system_language() -> String {
let sys_lang = sys_locale::get_locale()
.unwrap_or_else(|| String::from("en"))
.to_lowercase();
let lang_code = sys_lang.split(['_', '-']).next().unwrap_or("en");
let supported_languages = get_supported_languages();
if supported_languages.contains(&lang_code.to_string()) {
lang_code.to_string()
} else {
String::from("en")
}
}

View File

@ -5,3 +5,4 @@ pub mod init;
pub mod resolve;
pub mod server;
pub mod tmpl;
pub mod i18n;

View File

@ -28,6 +28,7 @@ import getSystem from "@/utils/get-system";
import { routers } from "@/pages/_routers";
import { TooltipIcon } from "@/components/base/base-tooltip-icon";
import { ContentCopyRounded } from "@mui/icons-material";
import { languages } from "@/services/i18n";
interface Props {
onError?: (err: Error) => void;
@ -35,6 +36,19 @@ interface Props {
const OS = getSystem();
const languageOptions = Object.entries(languages).map(([code, _]) => {
const labels: { [key: string]: string } = {
en: "English",
ru: "Русский",
zh: "中文",
fa: "فارسی",
tt: "Татар",
id: "Bahasa Indonesia",
ar: "العربية",
};
return { code, label: labels[code] };
});
const SettingVerge = ({ onError }: Props) => {
const { t } = useTranslation();
@ -96,10 +110,11 @@ const SettingVerge = ({ onError }: Props) => {
onGuard={(e) => patchVerge({ language: e })}
>
<Select size="small" sx={{ width: 110, "> div": { py: "7.5px" } }}>
<MenuItem value="zh"></MenuItem>
<MenuItem value="en">English</MenuItem>
<MenuItem value="ru">Русский</MenuItem>
<MenuItem value="fa">فارسی</MenuItem>
{languageOptions.map(({ code, label }) => (
<MenuItem key={code} value={code}>
{label}
</MenuItem>
))}
</Select>
</GuardState>
</SettingItem>

437
src/locales/ar.json Normal file
View File

@ -0,0 +1,437 @@
{
"millis": "ميلي ثانية",
"seconds": "ثواني",
"mins": "دقائق",
"Back": "رجوع",
"Close": "إغلاق",
"Cancel": "إلغاء",
"Confirm": "تأكيد",
"Maximize": "تكبير",
"Minimize": "تصغير",
"Format document": "تنسيق المستند",
"Empty": "فارغ",
"New": "جديد",
"Edit": "تعديل",
"Save": "حفظ",
"Delete": "حذف",
"Enable": "تمكين",
"Disable": "تعطيل",
"Label-Proxies": "الوكلاء",
"Label-Profiles": "الملفات الشخصية",
"Label-Connections": "الاتصالات",
"Label-Rules": "القواعد",
"Label-Logs": "السجلات",
"Label-Test": "اختبار",
"Label-Settings": "الإعدادات",
"Proxies": "الوكلاء",
"Proxy Groups": "مجموعات الوكلاء",
"Proxy Provider": "مزود الوكيل",
"Update All": "تحديث الكل",
"Update At": "التحديث عند",
"rule": "قاعدة",
"global": "عالمي",
"direct": "مباشر",
"script": "سكريبت",
"Location": "الموقع",
"Delay check": "فحص التأخير",
"Sort by default": "الترتيب الافتراضي",
"Sort by delay": "الترتيب حسب التأخير",
"Sort by name": "الترتيب حسب الاسم",
"Delay check URL": "رابط فحص التأخير",
"Delay check to cancel fixed": "فحص التأخير لإلغاء الثابت",
"Proxy basic": "إعدادات الوكيل الأساسية",
"Proxy detail": "تفاصيل الوكيل",
"Profiles": "الملفات الشخصية",
"Update All Profiles": "تحديث جميع الملفات الشخصية",
"View Runtime Config": "عرض تكوين وقت التشغيل",
"Reactivate Profiles": "إعادة تنشيط الملفات الشخصية",
"Paste": "لصق",
"Profile URL": "رابط الملف الشخصي",
"Import": "استيراد",
"From": "من",
"Update Time": "وقت التحديث",
"Used / Total": "المستخدم / الإجمالي",
"Expire Time": "وقت الانتهاء",
"Create Profile": "إنشاء ملف شخصي",
"Edit Profile": "تعديل الملف الشخصي",
"Edit Proxies": "تعديل الوكلاء",
"Use newlines for multiple uri": "استخدم أسطرًا جديدة لعدّة عناوين URI (يدعم التشفير Base64)",
"Edit Rules": "تعديل القواعد",
"Rule Type": "نوع القاعدة",
"Rule Content": "محتوى القاعدة",
"Proxy Policy": "سياسة الوكيل",
"No Resolve": "لا يوجد حل",
"Prepend Rule": "إضافة قاعدة في البداية",
"Append Rule": "إضافة قاعدة في النهاية",
"Prepend Group": "إضافة مجموعة في البداية",
"Append Group": "إضافة مجموعة في النهاية",
"Prepend Proxy": "إضافة وكيل في البداية",
"Append Proxy": "إضافة وكيل في النهاية",
"Rule Condition Required": "شرط القاعدة مطلوب",
"Invalid Rule": "قاعدة غير صالحة",
"Advanced": "متقدم",
"Visualization": "تصور",
"DOMAIN": "مطابقة اسم المجال الكامل",
"DOMAIN-SUFFIX": "مطابقة لاحقة المجال",
"DOMAIN-KEYWORD": "مطابقة كلمة مفتاحية في المجال",
"DOMAIN-REGEX": "مطابقة المجال باستخدام التعبيرات العادية",
"GEOSITE": "مطابقة المجالات ضمن Geosite",
"GEOIP": "مطابقة رمز البلد لعنوان IP",
"SRC-GEOIP": "مطابقة رمز البلد لعنوان IP المصدر",
"IP-ASN": "مطابقة ASN لعنوان IP",
"SRC-IP-ASN": "مطابقة ASN لعنوان IP المصدر",
"IP-CIDR": "مطابقة نطاق عنوان IP",
"IP-CIDR6": "مطابقة نطاق عناوين IPv6",
"SRC-IP-CIDR": "مطابقة نطاق عنوان IP المصدر",
"IP-SUFFIX": "مطابقة لاحقة عنوان IP",
"SRC-IP-SUFFIX": "مطابقة لاحقة عنوان IP المصدر",
"SRC-PORT": "مطابقة نطاق المنفذ المصدر",
"DST-PORT": "مطابقة نطاق المنفذ الوجهة",
"IN-PORT": "مطابقة المنفذ الوارد",
"DSCP": "علامة DSCP (لـ tproxy على UDP فقط)",
"PROCESS-NAME": "مطابقة اسم العملية (اسم حزمة Android)",
"PROCESS-PATH": "مطابقة المسار الكامل للعملية",
"PROCESS-NAME-REGEX": "مطابقة اسم العملية باستخدام التعبيرات العادية (اسم حزمة Android)",
"PROCESS-PATH-REGEX": "مطابقة المسار الكامل للعملية باستخدام التعبيرات العادية",
"NETWORK": "مطابقة بروتوكول النقل (TCP/UDP)",
"UID": "مطابقة معرف المستخدم في Linux",
"IN-TYPE": "مطابقة نوع الإدخال",
"IN-USER": "مطابقة اسم المستخدم للإدخال",
"IN-NAME": "مطابقة اسم الإدخال",
"SUB-RULE": "قاعدة فرعية",
"RULE-SET": "مطابقة مجموعة القواعد",
"AND": "منطقي AND",
"OR": "منطقي OR",
"NOT": "منطقي NOT",
"MATCH": "مطابقة جميع الطلبات",
"DIRECT": "البيانات تخرج مباشرة",
"REJECT": "رفض الطلبات",
"REJECT-DROP": "تجاهل الطلبات",
"PASS": "تخطي هذه القاعدة عند المطابقة",
"Edit Groups": "تعديل مجموعات الوكلاء",
"Group Type": "نوع المجموعة",
"select": "اختيار الوكيل يدويًا",
"url-test": "اختيار الوكيل بناءً على تأخير اختبار الرابط",
"fallback": "التبديل إلى وكيل آخر عند حدوث خطأ",
"load-balance": "توزيع التحميل بين الوكلاء",
"relay": "التمرير عبر سلسلة الوكلاء المحددة",
"Group Name": "اسم المجموعة",
"Use Proxies": "استخدام الوكلاء",
"Use Provider": "استخدام المزود",
"Health Check Url": "رابط فحص الصحة",
"Expected Status": "الحالة المتوقعة",
"Interval": "الفاصل الزمني",
"Lazy": "كسول",
"Timeout": "مهلة",
"Max Failed Times": "الحد الأقصى لمحاولات الفشل",
"Interface Name": "اسم الواجهة",
"Routing Mark": "علامة التوجيه",
"Include All": "تضمين جميع الوكلاء والمزودين",
"Include All Providers": "تضمين جميع المزودين",
"Include All Proxies": "تضمين جميع الوكلاء",
"Exclude Filter": "استبعاد المرشح",
"Exclude Type": "استبعاد النوع",
"Disable UDP": "تعطيل UDP",
"Hidden": "مخفي",
"Group Name Required": "اسم المجموعة مطلوب",
"Group Name Already Exists": "اسم المجموعة موجود بالفعل",
"Extend Config": "توسيع الإعدادات",
"Extend Script": "توسيع السكربت",
"Global Merge": "دمج عالمي للإعدادات",
"Global Script": "سكريبت عالمي",
"Type": "النوع",
"Name": "الاسم",
"Descriptions": "الوصف",
"Subscription URL": "رابط الاشتراك",
"Update Interval": "فاصل التحديث",
"Choose File": "اختر ملف",
"Use System Proxy": "استخدام وكيل النظام",
"Use Clash Proxy": "استخدام وكيل Clash",
"Accept Invalid Certs (Danger)": "قبول الشهادات غير الصالحة (خطر)",
"Refresh": "تحديث",
"Home": "الصفحة الرئيسية",
"Select": "اختيار",
"Edit Info": "تعديل المعلومات",
"Edit File": "تعديل الملف",
"Open File": "فتح الملف",
"Update": "تحديث",
"Update(Proxy)": "تحديث (الوكيل)",
"Confirm deletion": "تأكيد الحذف",
"This operation is not reversible": "لا يمكن التراجع عن هذه العملية",
"Script Console": "وحدة التحكم للسكريبت",
"To Top": "إلى الأعلى",
"To End": "إلى النهاية",
"Connections": "الاتصالات",
"Table View": "عرض الجدول",
"List View": "عرض القائمة",
"Close All": "إغلاق الكل",
"Default": "افتراضي",
"Download Speed": "سرعة التنزيل",
"Upload Speed": "سرعة الرفع",
"Host": "المضيف",
"Downloaded": "تم التنزيل",
"Uploaded": "تم الرفع",
"DL Speed": "سرعة التنزيل",
"UL Speed": "سرعة الرفع",
"Chains": "السلاسل",
"Rule": "قاعدة",
"Process": "عملية",
"Time": "الوقت",
"Source": "المصدر",
"Destination IP": "عنوان IP الوجهة",
"Close Connection": "إغلاق الاتصال",
"Rules": "القواعد",
"Rule Provider": "مزود القواعد",
"Logs": "السجلات",
"Pause": "إيقاف مؤقت",
"Clear": "مسح",
"Test": "اختبار",
"Test All": "اختبار الكل",
"Create Test": "إنشاء اختبار",
"Edit Test": "تعديل الاختبار",
"Icon": "أيقونة",
"Test URL": "رابط الاختبار",
"Settings": "الإعدادات",
"System Setting": "إعدادات النظام",
"Tun Mode": "وضع TUN",
"Reset to Default": "إعادة تعيين إلى الافتراضي",
"Tun Mode Info": "وضع TUN (بطاقة شبكة افتراضية): يلتقط كل حركة المرور في النظام. عند تمكينه، لا حاجة لتفعيل وكيل النظام.",
"Stack": "مكدس TUN",
"System and Mixed Can Only be Used in Service Mode": "لا يمكن استخدام النظام والمختلط إلا في وضع الخدمة",
"Device": "اسم الجهاز",
"Auto Route": "توجيه تلقائي",
"Strict Route": "توجيه صارم",
"Auto Detect Interface": "الكشف التلقائي عن الواجهة",
"DNS Hijack": "اختطاف DNS",
"MTU": "وحدة الإرسال القصوى",
"Service Mode": "وضع الخدمة",
"Service Mode Info": "يرجى تثبيت وضع الخدمة قبل تمكين وضع TUN. يمكن للعمليات الأساسية التي يبدأها وضع الخدمة الحصول على إذن لتثبيت بطاقة الشبكة الافتراضية (TUN).",
"Current State": "الحالة الحالية",
"pending": "معلق",
"installed": "مثبت",
"uninstall": "إلغاء التثبيت",
"active": "نشط",
"unknown": "غير معروف",
"Information: Please make sure that the Clash Verge Service is installed and enabled": "معلومة: يرجى التأكد من تثبيت وتشغيل خدمة Clash Verge",
"Install": "تثبيت",
"Uninstall": "إلغاء التثبيت",
"Disable Service Mode": "تعطيل وضع الخدمة",
"System Proxy": "وكيل النظام",
"System Proxy Info": "عند التمكين، سيتم تعديل إعدادات الوكيل في نظام التشغيل. إذا فشل التمكين، فقم بتعديل إعدادات الوكيل في النظام يدويًا.",
"System Proxy Setting": "إعداد وكيل النظام",
"Current System Proxy": "الوكيل الحالي للنظام",
"Enable status": "حالة التمكين:",
"Enabled": "ممكّن",
"Disabled": "معطّل",
"Server Addr": "عنوان الخادم:",
"Not available": "غير متوفر",
"Proxy Guard": "حماية الوكيل",
"Proxy Guard Info": "عند التمكين، يمنع برامج أخرى من تعديل إعدادات وكيل النظام",
"Guard Duration": "مدة الحماية",
"Always use Default Bypass": "استخدام التخطي الافتراضي دائمًا",
"Proxy Bypass": "إعدادات تخطي الوكيل:",
"Bypass": "تخطي:",
"Use PAC Mode": "استخدام وضع PAC",
"PAC Script Content": "محتوى سكريبت PAC",
"PAC URL": "رابط PAC:",
"Auto Launch": "إطلاق تلقائي",
"Silent Start": "بدء صامت",
"Silent Start Info": "بدء البرنامج في الخلفية دون عرض الواجهة",
"TG Channel": "قناة تيليجرام",
"Manual": "دليل",
"Github Repo": "مستودع Github",
"Clash Setting": "إعدادات Clash",
"Allow Lan": "السماح بالشبكة المحلية",
"Network Interface": "واجهة الشبكة",
"Ip Address": "عنوان IP",
"Mac Address": "عنوان MAC",
"IPv6": "IPv6",
"Unified Delay": "تأخير موحد",
"Unified Delay Info": "عند تفعيل التأخير الموحد، سيتم إجراء اختبارين للتأخير لتقليل الفروقات الناتجة عن مفاوضات الاتصال",
"Log Level": "مستوى السجلات",
"Port Config": "تكوين المنافذ",
"Random Port": "منفذ عشوائي",
"Mixed Port": "منفذ مختلط",
"Socks Port": "منفذ SOCKS",
"Http Port": "منفذ HTTP(S)",
"Redir Port": "منفذ إعادة التوجيه",
"Tproxy Port": "منفذ Tproxy",
"External": "خارجي",
"External Controller": "وحدة التحكم الخارجية",
"Core Secret": "المفتاح السري للنواة",
"Recommended": "موصى به",
"Open URL": "فتح الرابط",
"Replace host, port, secret with %host, %port, %secret": "استبدل المضيف والمنفذ والمفتاح بـ %host و%port و%secret",
"Support %host, %port, %secret": "يدعم %host و%port و%secret",
"Clash Core": "نواة Clash",
"Upgrade": "ترقية",
"Restart": "إعادة التشغيل",
"Release Version": "إصدار مستقر",
"Alpha Version": "إصدار ألفا",
"Please Enable Service Mode": "يرجى تثبيت وتفعيل وضع الخدمة أولاً",
"Please enter your root password": "يرجى إدخال كلمة مرور الرووت",
"Grant": "منح الصلاحيات",
"Open UWP tool": "فتح أداة UWP",
"Open UWP tool Info": "منذ نظام ويندوز 8، يتم تقييد تطبيقات UWP من الوصول المباشر إلى المضيف المحلي. هذه الأداة تتيح تجاوز هذا التقييد",
"Update GeoData": "تحديث البيانات الجغرافية",
"Verge Setting": "إعدادات Verge",
"Language": "اللغة",
"Theme Mode": "وضع السمة",
"theme.light": "سمة فاتحة",
"theme.dark": "سمة داكنة",
"theme.system": "سمة النظام",
"Tray Click Event": "حدث النقر على الأيقونة في شريط المهام",
"Show Main Window": "إظهار النافذة الرئيسية",
"Copy Env Type": "نسخ نوع البيئة",
"Copy Success": "تم النسخ بنجاح",
"Start Page": "صفحة البدء",
"Startup Script": "سكريبت بدء التشغيل",
"Browse": "استعراض",
"Theme Setting": "إعدادات السمة",
"Primary Color": "اللون الأساسي",
"Secondary Color": "اللون الثانوي",
"Primary Text": "النص الأساسي",
"Secondary Text": "النص الثانوي",
"Info Color": "لون المعلومات",
"Warning Color": "لون التحذير",
"Error Color": "لون الخطأ",
"Success Color": "لون النجاح",
"Font Family": "عائلة الخط",
"CSS Injection": "حقن CSS",
"Layout Setting": "إعدادات التخطيط",
"Traffic Graph": "مخطط حركة المرور",
"Memory Usage": "استهلاك الذاكرة",
"Memory Cleanup": "انقر لتنظيف الذاكرة",
"Proxy Group Icon": "أيقونة مجموعة الوكلاء",
"Nav Icon": "أيقونة التنقل",
"Monochrome": "أحادي اللون",
"Colorful": "ملون",
"Tray Icon": "أيقونة شريط المهام",
"Common Tray Icon": "أيقونة شريط مهام عامة",
"System Proxy Tray Icon": "أيقونة شريط المهام لوكيل النظام",
"Tun Tray Icon": "أيقونة شريط المهام لـ TUN",
"Miscellaneous": "متفرقات",
"App Log Level": "مستوى سجلات التطبيق",
"Auto Close Connections": "إغلاق الاتصالات تلقائيًا",
"Auto Close Connections Info": "إنهاء الاتصالات القائمة عند تغيير اختيار مجموعة الوكيل أو وضع الوكيل",
"Auto Check Update": "فحص التحديث تلقائيًا",
"Enable Builtin Enhanced": "تفعيل التحسين المدمج",
"Enable Builtin Enhanced Info": "معالجة توافق ملف التكوين",
"Proxy Layout Columns": "أعمدة عرض الوكيل",
"Auto Columns": "أعمدة تلقائية",
"Auto Log Clean": "تنظيف السجلات تلقائيًا",
"Never Clean": "عدم التنظيف أبدًا",
"Retain _n Days": "الاحتفاظ لمدة {{n}} يومًا",
"Default Latency Test": "اختبار التأخير الافتراضي",
"Default Latency Test Info": "يُستخدم فقط لاختبار طلب HTTP العميل. لن يؤثر على ملف التكوين",
"Default Latency Timeout": "مهلة التأخير الافتراضية",
"Hotkey Setting": "إعدادات الاختصارات",
"open_or_close_dashboard": "فتح/إغلاق لوحة التحكم",
"clash_mode_rule": "وضع القواعد",
"clash_mode_global": "الوضع العالمي",
"clash_mode_direct": "الوضع المباشر",
"toggle_system_proxy": "تفعيل/تعطيل وكيل النظام",
"toggle_tun_mode": "تفعيل/تعطيل وضع TUN",
"Backup Setting": "إعداد النسخ الاحتياطي",
"Runtime Config": "تكوين وقت التشغيل",
"Open Conf Dir": "فتح مجلد التكوين",
"Open Conf Dir Info": "إذا عمل البرنامج بشكل غير طبيعي، قم بالنسخ الاحتياطي ثم حذف جميع الملفات في هذا المجلد ثم أعد تشغيل البرنامج",
"Open Core Dir": "فتح مجلد النواة",
"Open Logs Dir": "فتح مجلد السجلات",
"Check for Updates": "التحقق من وجود تحديثات",
"Go to Release Page": "الانتقال إلى صفحة الإصدارات",
"Portable Updater Error": "الإصدار المحمول لا يدعم التحديث داخل التطبيق. يرجى التنزيل والاستبدال يدويًا",
"Break Change Update Error": "هذا الإصدار هو تحديث رئيسي ولا يدعم التحديث داخل التطبيق. يرجى إلغاء التثبيت وتنزيل الإصدار الجديد وتثبيته يدويًا",
"Open Dev Tools": "أدوات المطور",
"Exit": "خروج",
"Verge Version": "إصدار Verge",
"ReadOnly": "للقراءة فقط",
"ReadOnlyMessage": "لا يمكن التعديل في محرر القراءة فقط",
"Filter": "تصفية",
"Filter conditions": "شروط التصفية",
"Match Case": "مطابقة الحالة",
"Match Whole Word": "مطابقة الكلمة بأكملها",
"Use Regular Expression": "استخدام التعبيرات العادية",
"Profile Imported Successfully": "تم استيراد الملف الشخصي بنجاح",
"Profile Switched": "تم التبديل إلى الملف الشخصي",
"Profile Reactivated": "تم إعادة تنشيط الملف الشخصي",
"Only YAML Files Supported": "لا يتم دعم سوى ملفات YAML",
"Settings Applied": "تم تطبيق الإعدادات",
"Service Installed Successfully": "تم تثبيت الخدمة بنجاح",
"Service Uninstalled Successfully": "تم إلغاء تثبيت الخدمة بنجاح",
"Proxy Daemon Duration Cannot be Less than 1 Second": "لا يمكن أن تقل مدة خادم الوكيل عن ثانية واحدة",
"Invalid Bypass Format": "تنسيق التخطي غير صالح",
"Clash Port Modified": "تم تعديل منفذ Clash",
"Port Conflict": "تعارض في المنفذ",
"Restart Application to Apply Modifications": "أعد تشغيل التطبيق لتطبيق التعديلات",
"External Controller Address Modified": "تم تعديل عنوان وحدة التحكم الخارجية",
"Permissions Granted Successfully for _clash Core": "تم منح الأذونات بنجاح لـ {{core}} Core",
"Core Version Updated": "تم تحديث إصدار النواة",
"Clash Core Restarted": "تم إعادة تشغيل نواة Clash",
"Switched to _clash Core": "تم التبديل إلى {{core}} Core",
"GeoData Updated": "تم تحديث البيانات الجغرافية",
"Currently on the Latest Version": "أنت على أحدث إصدار حاليًا",
"Import Subscription Successful": "تم استيراد الاشتراك بنجاح",
"WebDAV Server URL": "عنوان خادم WebDAV",
"Username": "اسم المستخدم",
"Password": "كلمة المرور",
"Backup": "نسخ احتياطي",
"Filename": "اسم الملف",
"Actions": "الإجراءات",
"Restore": "استعادة",
"No Backups": "لا توجد نسخ احتياطية متاحة",
"WebDAV URL Required": "لا يمكن ترك رابط WebDAV فارغًا",
"Invalid WebDAV URL": "تنسيق رابط WebDAV غير صالح",
"Username Required": "لا يمكن ترك اسم المستخدم فارغًا",
"Password Required": "لا يمكن ترك كلمة المرور فارغة",
"Failed to Fetch Backups": "فشل في جلب ملفات النسخ الاحتياطي",
"WebDAV Config Saved": "تم حفظ إعدادات WebDAV بنجاح",
"WebDAV Config Save Failed": "فشل حفظ إعدادات WebDAV: {{error}}",
"Backup Created": "تم إنشاء النسخة الاحتياطية بنجاح",
"Backup Failed": "فشل في النسخ الاحتياطي: {{error}}",
"Delete Backup": "حذف النسخة الاحتياطية",
"Restore Backup": "استعادة النسخة الاحتياطية",
"Backup Time": "وقت النسخ الاحتياطي",
"Confirm to delete this backup file?": "هل تريد بالتأكيد حذف ملف النسخة الاحتياطية هذا؟",
"Confirm to restore this backup file?": "هل تريد بالتأكيد استعادة ملف النسخة الاحتياطية هذا؟",
"Restore Success, App will restart in 1s": "تمت الاستعادة بنجاح، سيعاد تشغيل التطبيق خلال ثانية واحدة",
"Failed to fetch backup files": "فشل في جلب ملفات النسخ الاحتياطي",
"Profile": "الملف الشخصي",
"Help": "مساعدة",
"About": "حول",
"Theme": "السمة",
"TUN Mode": "وضع TUN",
"Main Window": "النافذة الرئيسية",
"Group Icon": "أيقونة المجموعة",
"Menu Icon": "أيقونة القائمة",
"System Proxy Bypass": "تخطي وكيل النظام",
"PAC File": "ملف PAC",
"Web UI": "واجهة الويب",
"Hotkeys": "اختصارات لوحة المفاتيح",
"Auto Close Connection": "إغلاق الاتصال تلقائيًا",
"Enable Built-in Enhanced": "تفعيل التحسين المدمج",
"Proxy Layout Column": "عمود عرض الوكيل",
"Test List": "قائمة الاختبارات",
"Enable Random Port": "تفعيل المنفذ العشوائي",
"Verge Mixed Port": "منفذ Verge المختلط",
"Verge Socks Port": "منفذ Verge SOCKS",
"Verge Redir Port": "منفذ إعادة التوجيه لـ Verge",
"Verge Tproxy Port": "منفذ Tproxy لـ Verge",
"Verge Port": "منفذ Verge",
"Verge HTTP Enabled": "تمكين Verge HTTP",
"WebDAV URL": "رابط WebDAV",
"WebDAV Username": "اسم المستخدم لـ WebDAV",
"WebDAV Password": "كلمة مرور WebDAV",
"Copy Env": "نسخ البيئة",
"Conf Dir": "مجلد الإعدادات",
"Core Dir": "مجلد النواة",
"Logs Dir": "مجلد السجلات",
"Open Dir": "فتح المجلد",
"Restart Clash Core": "إعادة تشغيل نواة Clash",
"Restart App": "إعادة تشغيل التطبيق",
"More": "المزيد",
"Dashboard": "لوحة التحكم",
"Rule Mode": "وضع القواعد",
"Global Mode": "الوضع العالمي",
"Direct Mode": "الوضع المباشر"
}

View File

@ -398,5 +398,43 @@
"Confirm to delete this backup file?": "Confirm to delete this backup file?",
"Confirm to restore this backup file?": "Confirm to restore this backup file?",
"Restore Success, App will restart in 1s": "Restore Success, App will restart in 1s",
"Failed to fetch backup files": "Failed to fetch backup files"
"Failed to fetch backup files": "Failed to fetch backup files",
"Profile": "Profile",
"Help": "Help",
"About": "About",
"Theme": "Theme",
"TUN Mode": "TUN Mode",
"Main Window": "Main Window",
"Group Icon": "Group Icon",
"Menu Icon": "Menu Icon",
"System Proxy Bypass": "System Proxy Bypass",
"PAC File": "PAC File",
"Web UI": "Web UI",
"Hotkeys": "Hotkeys",
"Auto Close Connection": "Auto Close Connection",
"Enable Built-in Enhanced": "Enable Built-in Enhanced",
"Proxy Layout Column": "Proxy Layout Column",
"Test List": "Test List",
"Enable Random Port": "Enable Random Port",
"Verge Mixed Port": "Verge Mixed Port",
"Verge Socks Port": "Verge Socks Port",
"Verge Redir Port": "Verge Redir Port",
"Verge Tproxy Port": "Verge Tproxy Port",
"Verge Port": "Verge Port",
"Verge HTTP Enabled": "Verge HTTP Enabled",
"WebDAV URL": "WebDAV URL",
"WebDAV Username": "WebDAV Username",
"WebDAV Password": "WebDAV Password",
"Copy Env": "Copy Env",
"Conf Dir": "Conf Dir",
"Core Dir": "Core Dir",
"Logs Dir": "Logs Dir",
"Open Dir": "Open Dir",
"Restart Clash Core": "Restart Clash Core",
"Restart App": "Restart App",
"More": "More",
"Dashboard": "Dashboard",
"Rule Mode": "Rule Mode",
"Global Mode": "Global Mode",
"Direct Mode": "Direct Mode"
}

View File

@ -113,7 +113,7 @@
"select": "انتخاب پروکسی به صورت دستی",
"url-test": "انتخاب پروکسی بر اساس تأخیر آزمایش URL",
"fallback": "تعویض به پروکسی دیگر در صورت بروز خطا",
"load-balance": "توزیع <EFBFBD><EFBFBD>روکسی بر اساس توازن بار",
"load-balance": "توزیع پراکسی بر اساس توازن بار",
"relay": "عبور از زنجیره پروکسی تعریف شده",
"Group Name": "نام گروه",
"Use Proxies": "استفاده از پروکسی‌ها",
@ -398,5 +398,37 @@
"Confirm to delete this backup file?": "آیا از حذف این فایل پشتیبان اطمینان دارید؟",
"Confirm to restore this backup file?": "آیا از بازیابی این فایل پشتیبان اطمینان دارید؟",
"Restore Success, App will restart in 1s": "بازیابی با موفقیت انجام شد، برنامه در 1 ثانیه راه‌اندازی مجدد می‌شود",
"Failed to fetch backup files": "دریافت فایل‌های پشتیبان ناموفق بود"
"Failed to fetch backup files": "دریافت فایل‌های پشتیبان ناموفق بود",
"Profile": "پروفایل",
"Help": "راهنما",
"About": "درباره",
"Theme": "پوسته",
"Main Window": "پنجره اصلی",
"Group Icon": "آیکون گروه",
"Menu Icon": "آیکون منو",
"PAC File": "فایل PAC",
"Web UI": "رابط وب",
"Hotkeys": "کلیدهای میانبر",
"Verge Mixed Port": "پورت ترکیبی Verge",
"Verge Socks Port": "پورت Socks Verge",
"Verge Redir Port": "پورت تغییر مسیر Verge",
"Verge Tproxy Port": "پورت Tproxy Verge",
"Verge Port": "پورت Verge",
"Verge HTTP Enabled": "HTTP Verge فعال",
"WebDAV URL": "آدرس WebDAV",
"WebDAV Username": "نام کاربری WebDAV",
"WebDAV Password": "رمز عبور WebDAV",
"Dashboard": "داشبورد",
"Restart App": "راه‌اندازی مجدد برنامه",
"Restart Clash Core": "راه‌اندازی مجدد هسته Clash",
"TUN Mode": "حالت TUN",
"Copy Env": "کپی متغیرهای محیطی",
"Conf Dir": "پوشه پیکربندی",
"Core Dir": "پوشه هسته",
"Logs Dir": "پوشه لاگ‌ها",
"Open Dir": "باز کردن پوشه",
"More": "بیشتر",
"Rule Mode": "حالت قوانین",
"Global Mode": "حالت جهانی",
"Direct Mode": "حالت مستقیم"
}

433
src/locales/id.json Normal file
View File

@ -0,0 +1,433 @@
{
"millis": "milidetik",
"seconds": "detik",
"mins": "menit",
"Back": "Kembali",
"Close": "Tutup",
"Cancel": "Batal",
"Confirm": "Konfirmasi",
"Maximize": "Maksimalkan",
"Minimize": "Minimalkan",
"Format document": "Format dokumen",
"Empty": "Kosong",
"New": "Baru",
"Edit": "Ubah",
"Save": "Simpan",
"Delete": "Hapus",
"Enable": "Aktifkan",
"Disable": "Nonaktifkan",
"Label-Proxies": "Proksi",
"Label-Profiles": "Profil",
"Label-Connections": "Koneksi",
"Label-Rules": "Aturan",
"Label-Logs": "Log",
"Label-Test": "Tes",
"Label-Settings": "Pengaturan",
"Dashboard": "Dasbor",
"Profile": "Profil",
"Help": "Bantuan",
"About": "Tentang",
"Theme": "Tema",
"Main Window": "Jendela Utama",
"Group Icon": "Ikon Grup",
"Menu Icon": "Ikon Menu",
"PAC File": "Berkas PAC",
"Web UI": "Antarmuka Web",
"Hotkeys": "Pintasan",
"Verge Mixed Port": "Port Campuran Verge",
"Verge Socks Port": "Port Socks Verge",
"Verge Redir Port": "Port Pengalihan Verge",
"Verge Tproxy Port": "Port Tproxy Verge",
"Verge Port": "Port Verge",
"Verge HTTP Enabled": "HTTP Verge Diaktifkan",
"WebDAV URL": "URL WebDAV",
"WebDAV Username": "Nama Pengguna WebDAV",
"WebDAV Password": "Kata Sandi WebDAV",
"Restart App": "Mulai Ulang Aplikasi",
"Restart Clash Core": "Mulai Ulang Core Clash",
"TUN Mode": "Mode TUN",
"Copy Env": "Salin Env",
"Conf Dir": "Direktori Konfigurasi",
"Core Dir": "Direktori Core",
"Logs Dir": "Direktori Log",
"Open Dir": "Buka Direktori",
"More": "Lainnya",
"Rule Mode": "Mode Aturan",
"Global Mode": "Mode Global",
"Direct Mode": "Mode Langsung",
"Proxies": "Proksi",
"Proxy Groups": "Grup Proksi",
"Proxy Provider": "Penyedia Proksi",
"Update All": "Perbarui Semua",
"Update At": "Diperbarui Pada",
"rule": "aturan",
"global": "global",
"direct": "langsung",
"script": "skrip",
"Location": "Lokasi",
"Delay check": "Periksa Keterlambatan",
"Sort by default": "Urutkan secara default",
"Sort by delay": "Urutkan berdasarkan keterlambatan",
"Sort by name": "Urutkan berdasarkan nama",
"Delay check URL": "URL Periksa Keterlambatan",
"Delay check to cancel fixed": "Periksa keterlambatan untuk membatalkan tetap",
"Proxy basic": "Dasar Proksi",
"Proxy detail": "Detail Proksi",
"Profiles": "Profil",
"Update All Profiles": "Perbarui Semua Profil",
"View Runtime Config": "Lihat Konfigurasi Runtime",
"Reactivate Profiles": "Reaktivasi Profil",
"Paste": "Tempel",
"Profile URL": "URL Profil",
"Import": "Impor",
"From": "Dari",
"Update Time": "Waktu Pembaruan",
"Used / Total": "Digunakan / Total",
"Expire Time": "Waktu Kedaluwarsa",
"Create Profile": "Buat Profil",
"Edit Profile": "Ubah Profil",
"Edit Proxies": "Ubah Proksi",
"Use newlines for multiple uri": "Gunakan baris baru untuk beberapa URI (mendukung pengkodean Base64)",
"Edit Rules": "Ubah Aturan",
"Rule Type": "Jenis Aturan",
"Rule Content": "Konten Aturan",
"Proxy Policy": "Kebijakan Proksi",
"No Resolve": "Tidak Menyelesaikan",
"Prepend Rule": "Tambahkan Aturan di Awal",
"Append Rule": "Tambahkan Aturan di Akhir",
"Prepend Group": "Tambahkan Grup di Awal",
"Append Group": "Tambahkan Grup di Akhir",
"Prepend Proxy": "Tambahkan Proksi di Awal",
"Append Proxy": "Tambahkan Proksi di Akhir",
"Rule Condition Required": "Kondisi Aturan Diperlukan",
"Invalid Rule": "Aturan Tidak Valid",
"Advanced": "Lanjutan",
"Visualization": "Visualisasi",
"DOMAIN": "Cocok dengan nama domain lengkap",
"DOMAIN-SUFFIX": "Cocok dengan sufiks domain",
"DOMAIN-KEYWORD": "Cocok dengan kata kunci domain",
"DOMAIN-REGEX": "Cocok dengan domain menggunakan ekspresi reguler",
"GEOSITE": "Cocok dengan domain dalam Geosite",
"GEOIP": "Cocok dengan kode negara alamat IP",
"SRC-GEOIP": "Cocok dengan kode negara alamat IP sumber",
"IP-ASN": "Cocok dengan ASN alamat IP",
"SRC-IP-ASN": "Cocok dengan ASN alamat IP sumber",
"IP-CIDR": "Cocok dengan rentang alamat IP",
"IP-CIDR6": "Cocok dengan rentang alamat IPv6",
"SRC-IP-CIDR": "Cocok dengan rentang alamat IP sumber",
"IP-SUFFIX": "Cocok dengan rentang sufiks alamat IP",
"SRC-IP-SUFFIX": "Cocok dengan rentang sufiks alamat IP sumber",
"SRC-PORT": "Cocok dengan rentang port sumber",
"DST-PORT": "Cocok dengan rentang port tujuan",
"IN-PORT": "Cocok dengan port masuk",
"DSCP": "Penandaan DSCP (hanya untuk tproxy UDP masuk)",
"PROCESS-NAME": "Cocok dengan nama proses (nama paket Android)",
"PROCESS-PATH": "Cocok dengan jalur proses lengkap",
"PROCESS-NAME-REGEX": "Cocok dengan nama proses lengkap menggunakan ekspresi reguler (nama paket Android)",
"PROCESS-PATH-REGEX": "Cocok dengan jalur proses lengkap menggunakan ekspresi reguler",
"NETWORK": "Cocok dengan protokol transportasi (tcp/udp)",
"UID": "Cocok dengan ID PENGGUNA Linux",
"IN-TYPE": "Cocok dengan jenis masuk",
"IN-USER": "Cocok dengan nama pengguna masuk",
"IN-NAME": "Cocok dengan nama masuk",
"SUB-RULE": "Sub-aturan",
"RULE-SET": "Cocok dengan set aturan",
"AND": "Logika DAN",
"OR": "Logika ATAU",
"NOT": "Logika TIDAK",
"MATCH": "Cocok dengan semua permintaan",
"DIRECT": "Data langsung keluar",
"REJECT": "Mencegat permintaan",
"REJECT-DROP": "Membuang permintaan",
"PASS": "Lewati aturan ini saat cocok",
"Edit Groups": "Ubah Grup Proksi",
"Group Type": "Jenis Grup",
"select": "Pilih proksi secara manual",
"url-test": "Pilih proksi berdasarkan keterlambatan tes URL",
"fallback": "Beralih ke proksi lain saat terjadi kesalahan",
"load-balance": "Distribusikan proksi berdasarkan penyeimbangan beban",
"relay": "Lewatkan melalui rantai proksi yang ditentukan",
"Group Name": "Nama Grup",
"Use Proxies": "Gunakan Proksi",
"Use Provider": "Gunakan Penyedia",
"Health Check Url": "URL Pemeriksaan Kesehatan",
"Expected Status": "Status yang Diharapkan",
"Interval": "Interval",
"Lazy": "Malas",
"Timeout": "Waktu Habis",
"Max Failed Times": "Jumlah Gagal Maksimal",
"Interface Name": "Nama Antarmuka",
"Routing Mark": "Tanda Routing",
"Include All": "Sertakan Semua Proksi dan Penyedia",
"Include All Providers": "Sertakan Semua Penyedia",
"Include All Proxies": "Sertakan Semua Proksi",
"Exclude Filter": "Kecualikan Filter",
"Exclude Type": "Kecualikan Jenis",
"Disable UDP": "Nonaktifkan UDP",
"Hidden": "Tersembunyi",
"Group Name Required": "Nama Grup Diperlukan",
"Group Name Already Exists": "Nama Grup Sudah Ada",
"Extend Config": "Perluas Konfigurasi",
"Extend Script": "Perluas Skrip",
"Global Merge": "Perluas Konfigurasi Global",
"Global Script": "Perluas Skrip Global",
"Type": "Jenis",
"Name": "Nama",
"Descriptions": "Deskripsi",
"Subscription URL": "URL Langganan",
"Update Interval": "Interval Pembaruan",
"Choose File": "Pilih Berkas",
"Use System Proxy": "Gunakan Proksi Sistem",
"Use Clash Proxy": "Gunakan Proksi Clash",
"Accept Invalid Certs (Danger)": "Terima Sertifikat Tidak Valid (Bahaya)",
"Refresh": "Segarkan",
"Home": "Beranda",
"Select": "Pilih",
"Edit Info": "Ubah Info",
"Edit File": "Ubah Berkas",
"Open File": "Buka Berkas",
"Update": "Perbarui",
"Update(Proxy)": "Perbarui (Proksi)",
"Confirm deletion": "Konfirmasi penghapusan",
"This operation is not reversible": "Operasi ini tidak dapat dibatalkan",
"Script Console": "Konsol Skrip",
"To Top": "Ke Atas",
"To End": "Ke Bawah",
"Connections": "Koneksi",
"Table View": "Tampilan Tabel",
"List View": "Tampilan Daftar",
"Close All": "Tutup Semua",
"Default": "Default",
"Download Speed": "Kecepatan Unduh",
"Upload Speed": "Kecepatan Unggah",
"Host": "Host",
"Downloaded": "Diunduh",
"Uploaded": "Diunggah",
"DL Speed": "Kecepatan Unduh",
"UL Speed": "Kecepatan Unggah",
"Chains": "Rantai",
"Rule": "Aturan",
"Process": "Proses",
"Time": "Waktu",
"Source": "Sumber",
"Destination IP": "IP Tujuan",
"Close Connection": "Tutup Koneksi",
"Rules": "Aturan",
"Rule Provider": "Penyedia Aturan",
"Logs": "Log",
"Pause": "Jeda",
"Clear": "Bersihkan",
"Test": "Tes",
"Test All": "Tes Semua",
"Create Test": "Buat Tes",
"Edit Test": "Ubah Tes",
"Icon": "Ikon",
"Test URL": "URL Tes",
"Settings": "Pengaturan",
"System Setting": "Pengaturan Sistem",
"Tun Mode": "Mode Tun (NIC Virtual)",
"Reset to Default": "Setel Ulang ke Default",
"Tun Mode Info": "Mode Tun (NIC Virtual): Menangkap semua lalu lintas sistem, saat diaktifkan, tidak perlu mengaktifkan proksi sistem.",
"Stack": "Tumpukan Tun",
"System and Mixed Can Only be Used in Service Mode": "Sistem dan Campuran Hanya Dapat Digunakan dalam Mode Layanan",
"Device": "Nama Perangkat",
"Auto Route": "Rute Otomatis",
"Strict Route": "Rute Ketat",
"Auto Detect Interface": "Deteksi Antarmuka Otomatis",
"DNS Hijack": "Pembajakan DNS",
"MTU": "Unit Transmisi Maksimum",
"Service Mode": "Mode Layanan",
"Service Mode Info": "Harap instal mode layanan sebelum mengaktifkan mode TUN. Proses kernel yang dimulai oleh layanan dapat memperoleh izin untuk menginstal kartu jaringan virtual (mode TUN)",
"Current State": "Status Saat Ini",
"pending": "tertunda",
"installed": "terinstal",
"uninstall": "dicopot",
"active": "aktif",
"unknown": "tidak diketahui",
"Information: Please make sure that the Clash Verge Service is installed and enabled": "Informasi: Harap pastikan bahwa Layanan Clash Verge terinstal dan diaktifkan",
"Install": "Instal",
"Uninstall": "Copot",
"Disable Service Mode": "Nonaktifkan Mode Layanan",
"System Proxy": "Proksi Sistem",
"System Proxy Info": "Aktifkan untuk mengubah pengaturan proksi sistem operasi. Jika pengaktifan gagal, ubah pengaturan proksi sistem operasi secara manual",
"System Proxy Setting": "Pengaturan Proksi Sistem",
"Current System Proxy": "Proksi Sistem Saat Ini",
"Enable status": "Status Pengaktifan:",
"Enabled": "Diaktifkan",
"Disabled": "Dinonaktifkan",
"Server Addr": "Alamat Server: ",
"Not available": "Tidak tersedia",
"Proxy Guard": "Penjaga Proksi",
"Proxy Guard Info": "Aktifkan untuk mencegah perangkat lunak lain mengubah pengaturan proksi sistem operasi",
"Guard Duration": "Durasi Penjagaan",
"Always use Default Bypass": "Selalu gunakan Bypass Default",
"Proxy Bypass": "Pengaturan Bypass Proksi: ",
"Bypass": "Bypass: ",
"Use PAC Mode": "Gunakan Mode PAC",
"PAC Script Content": "Konten Skrip PAC",
"PAC URL": "URL PAC: ",
"Auto Launch": "Peluncuran Otomatis",
"Silent Start": "Mulai Senyap",
"Silent Start Info": "Mulai program dalam mode latar belakang tanpa menampilkan panel",
"TG Channel": "Saluran Telegram",
"Manual": "Manual",
"Github Repo": "Repositori Github",
"Clash Setting": "Pengaturan Clash",
"Allow Lan": "Izinkan LAN",
"Network Interface": "Antarmuka Jaringan",
"Ip Address": "Alamat IP",
"Mac Address": "Alamat MAC",
"IPv6": "IPv6",
"Unified Delay": "Keterlambatan Terpadu",
"Unified Delay Info": "Saat keterlambatan terpadu diaktifkan, dua tes keterlambatan akan dilakukan untuk menghilangkan perbedaan keterlambatan antara berbagai jenis node yang disebabkan oleh jabat tangan koneksi, dll.",
"Log Level": "Tingkat Log",
"Log Level Info": "Ini hanya berlaku untuk file log kernel di folder layanan di direktori log.",
"Port Config": "Konfigurasi Port",
"Random Port": "Port Acak",
"Mixed Port": "Port Campuran",
"Socks Port": "Port Socks",
"Http Port": "Port Http(s)",
"Redir Port": "Port Redir",
"Tproxy Port": "Port Tproxy",
"External": "Eksternal",
"External Controller": "Alamat Pengendali Eksternal",
"Core Secret": "Rahasia Inti",
"Recommended": "Direkomendasikan",
"Open URL": "Buka URL",
"Replace host, port, secret with %host, %port, %secret": "Ganti host, port, rahasia dengan %host, %port, %secret",
"Support %host, %port, %secret": "Dukung %host, %port, %secret",
"Clash Core": "Inti Clash",
"Upgrade": "Tingkatkan",
"Restart": "Mulai Ulang",
"Release Version": "Versi Rilis",
"Alpha Version": "Versi Alpha",
"Please Enable Service Mode": "Harap Instal dan Aktifkan Mode Layanan Terlebih Dahulu",
"Please enter your root password": "Harap masukkan kata sandi root Anda",
"Grant": "Izinkan",
"Open UWP tool": "Buka alat UWP",
"Open UWP tool Info": "Sejak Windows 8, aplikasi UWP (seperti Microsoft Store) dibatasi dari mengakses layanan jaringan host lokal secara langsung, dan alat ini dapat digunakan untuk melewati pembatasan ini",
"Update GeoData": "Perbarui GeoData",
"Verge Setting": "Pengaturan Verge",
"Language": "Bahasa",
"Theme Mode": "Mode Tema",
"theme.light": "Terang",
"theme.dark": "Gelap",
"theme.system": "Sistem",
"Tray Click Event": "Acara Klik Tray",
"Show Main Window": "Tampilkan Jendela Utama",
"Copy Env Type": "Salin Jenis Env",
"Copy Success": "Salin Berhasil",
"Start Page": "Halaman Mulai",
"Startup Script": "Skrip Startup",
"Browse": "Jelajahi",
"Theme Setting": "Pengaturan Tema",
"Primary Color": "Warna Utama",
"Secondary Color": "Warna Sekunder",
"Primary Text": "Teks Utama",
"Secondary Text": "Teks Sekunder",
"Info Color": "Warna Info",
"Warning Color": "Warna Peringatan",
"Error Color": "Warna Kesalahan",
"Success Color": "Warna Keberhasilan",
"Font Family": "Keluarga Font",
"CSS Injection": "Injeksi CSS",
"Layout Setting": "Pengaturan Tata Letak",
"Traffic Graph": "Grafik Lalu Lintas",
"Memory Usage": "Penggunaan Memori",
"Memory Cleanup": "Ketuk untuk membersihkan memori",
"Proxy Group Icon": "Ikon Grup Proksi",
"Nav Icon": "Ikon Navigasi",
"Monochrome": "Monokrom",
"Colorful": "Berwarna",
"Tray Icon": "Ikon Tray",
"Common Tray Icon": "Ikon Tray Umum",
"System Proxy Tray Icon": "Ikon Tray Proksi Sistem",
"Tun Tray Icon": "Ikon Tray Tun",
"Miscellaneous": "Lain-lain",
"App Log Level": "Tingkat Log Aplikasi",
"Auto Close Connections": "Tutup Koneksi Otomatis",
"Auto Close Connections Info": "Hentikan koneksi yang sudah ada saat pemilihan grup proksi atau mode proksi berubah",
"Auto Check Update": "Periksa Pembaruan Otomatis",
"Enable Builtin Enhanced": "Aktifkan Peningkatan Bawaan",
"Enable Builtin Enhanced Info": "Penanganan kompatibilitas untuk file konfigurasi",
"Proxy Layout Columns": "Kolom Tata Letak Proksi",
"Auto Columns": "Kolom Otomatis",
"Auto Log Clean": "Pembersihan Log Otomatis",
"Never Clean": "Jangan Pernah Bersihkan",
"Retain _n Days": "Simpan {{n}} Hari",
"Default Latency Test": "Tes Latensi Default",
"Default Latency Test Info": "Digunakan hanya untuk pengujian permintaan klien HTTP dan tidak akan mempengaruhi file konfigurasi",
"Default Latency Timeout": "Waktu Habis Latensi Default",
"Hotkey Setting": "Pengaturan Pintasan",
"open_or_close_dashboard": "Buka/Tutup Dasbor",
"clash_mode_rule": "Mode Aturan",
"clash_mode_global": "Mode Global",
"clash_mode_direct": "Mode Langsung",
"toggle_system_proxy": "Aktifkan/Nonaktifkan Proksi Sistem",
"toggle_tun_mode": "Aktifkan/Nonaktifkan Mode Tun",
"Backup Setting": "Pengaturan Cadangan",
"Backup Setting Info": "Mendukung file konfigurasi cadangan WebDAV",
"Runtime Config": "Konfigurasi Runtime",
"Open Conf Dir": "Buka Direktori Konfigurasi",
"Open Conf Dir Info": "Jika perangkat lunak berjalan tidak normal, CADANGKAN dan hapus semua file di folder ini lalu mulai ulang perangkat lunak",
"Open Core Dir": "Buka Direktori Core",
"Open Logs Dir": "Buka Direktori Log",
"Check for Updates": "Periksa Pembaruan",
"Go to Release Page": "Pergi ke Halaman Rilis",
"Portable Updater Error": "Versi portabel tidak mendukung pembaruan dalam aplikasi. Harap unduh dan ganti secara manual",
"Break Change Update Error": "Versi ini adalah pembaruan besar dan tidak mendukung pembaruan dalam aplikasi. Harap hapus instalasi dan unduh serta instal versi baru secara manual",
"Open Dev Tools": "Buka Alat Pengembang",
"Exit": "Keluar",
"Verge Version": "Versi Verge",
"ReadOnly": "Hanya Baca",
"ReadOnlyMessage": "Tidak dapat mengedit di editor hanya baca",
"Filter": "Filter",
"Filter conditions": "Kondisi Filter",
"Match Case": "Cocokkan Kasus",
"Match Whole Word": "Cocokkan Kata Utuh",
"Use Regular Expression": "Gunakan Ekspresi Reguler",
"Profile Imported Successfully": "Profil Berhasil Diimpor",
"Profile Switched": "Profil Beralih",
"Profile Reactivated": "Profil Diaktifkan Kembali",
"Only YAML Files Supported": "Hanya File YAML yang Didukung",
"Settings Applied": "Pengaturan Diterapkan",
"Service Installed Successfully": "Layanan Berhasil Diinstal",
"Service Uninstalled Successfully": "Layanan Berhasil Dicopot",
"Proxy Daemon Duration Cannot be Less than 1 Second": "Durasi Daemon Proksi Tidak Boleh Kurang dari 1 Detik",
"Invalid Bypass Format": "Format Bypass Tidak Valid",
"Clash Port Modified": "Port Clash Diubah",
"Port Conflict": "Konflik Port",
"Restart Application to Apply Modifications": "Mulai Ulang Aplikasi untuk Menerapkan Modifikasi",
"External Controller Address Modified": "Alamat Pengendali Eksternal Diubah",
"Permissions Granted Successfully for _clash Core": "Izin Berhasil Diberikan untuk Core {{core}}",
"Core Version Updated": "Versi Core Diperbarui",
"Clash Core Restarted": "Core Clash Dimulai Ulang",
"Switched to _clash Core": "Beralih ke Core {{core}}",
"GeoData Updated": "GeoData Diperbarui",
"Currently on the Latest Version": "Saat ini pada Versi Terbaru",
"Import Subscription Successful": "Berlangganan Berhasil Diimpor",
"WebDAV Server URL": "URL Server WebDAV",
"Username": "Nama Pengguna",
"Password": "Kata Sandi",
"Backup": "Cadangan",
"Filename": "Nama Berkas",
"Actions": "Tindakan",
"Restore": "Pulihkan",
"No Backups": "Tidak ada cadangan yang tersedia",
"WebDAV URL Required": "URL WebDAV tidak boleh kosong",
"Invalid WebDAV URL": "Format URL WebDAV tidak valid",
"Username Required": "Nama pengguna tidak boleh kosong",
"Password Required": "Kata sandi tidak boleh kosong",
"Failed to Fetch Backups": "Gagal mengambil file cadangan",
"WebDAV Config Saved": "Konfigurasi WebDAV berhasil disimpan",
"WebDAV Config Save Failed": "Gagal menyimpan konfigurasi WebDAV: {{error}}",
"Backup Created": "Cadangan berhasil dibuat",
"Backup Failed": "Cadangan gagal: {{error}}",
"Delete Backup": "Hapus Cadangan",
"Restore Backup": "Pulihkan Cadangan",
"Backup Time": "Waktu Cadangan",
"Confirm to delete this backup file?": "Konfirmasi untuk menghapus file cadangan ini?",
"Confirm to restore this backup file?": "Konfirmasi untuk memulihkan file cadangan ini?",
"Restore Success, App will restart in 1s": "Pemulihan Berhasil, Aplikasi akan dimulai ulang dalam 1 detik",
"Failed to fetch backup files": "Gagal mengambil file cadangan"
}

View File

@ -398,5 +398,37 @@
"Confirm to delete this backup file?": "Вы уверены, что хотите удалить этот файл резервной копии?",
"Confirm to restore this backup file?": "Вы уверены, что хотите восстановить этот файл резервной копии?",
"Restore Success, App will restart in 1s": "Восстановление успешно выполнено, приложение перезапустится через 1 секунду",
"Failed to fetch backup files": "Не удалось получить файлы резервных копий"
"Failed to fetch backup files": "Не удалось получить файлы резервных копий",
"Profile": "Профиль",
"Help": "Помощь",
"About": "О программе",
"Theme": "Тема",
"Main Window": "Главное окно",
"Group Icon": "Иконка группы",
"Menu Icon": "Иконка меню",
"PAC File": "PAC файл",
"Web UI": "Веб-интерфейс",
"Hotkeys": "Горячие клавиши",
"Verge Mixed Port": "Смешанный порт Verge",
"Verge Socks Port": "Порт Verge Socks",
"Verge Redir Port": "Порт перенаправления Verge",
"Verge Tproxy Port": "Порт Verge Tproxy",
"Verge Port": "Порт Verge",
"Verge HTTP Enabled": "HTTP Verge включен",
"WebDAV URL": "URL WebDAV",
"WebDAV Username": "Имя пользователя WebDAV",
"WebDAV Password": "Пароль WebDAV",
"Dashboard": "Панель управления",
"Restart App": "Перезапустить приложение",
"Restart Clash Core": "Перезапустить ядро Clash",
"TUN Mode": "Режим TUN",
"Copy Env": "Копировать переменные окружения",
"Conf Dir": "Директория конфигурации",
"Core Dir": "Директория ядра",
"Logs Dir": "Директория логов",
"Open Dir": "Открыть директорию",
"More": "Ещё",
"Rule Mode": "Режим правил",
"Global Mode": "Глобальный режим",
"Direct Mode": "Прямой режим"
}

433
src/locales/tt.json Normal file
View File

@ -0,0 +1,433 @@
{
"millis": "Миллисекундлар",
"seconds": "Секундлар",
"mins": "Минутлар",
"Back": "Кире",
"Close": "Ябу",
"Cancel": "Баш тарту",
"Confirm": "Растау",
"Maximize": "Зурайту",
"Minimize": "Кечерәйтү",
"Format document": "Документны форматлау",
"Empty": "Буш",
"New": "Яңа",
"Edit": "Үзгәртү",
"Save": "Саклау",
"Delete": "Бетерү",
"Enable": "Кушу",
"Disable": "Сүндерү",
"Label-Proxies": "Прокси",
"Label-Profiles": "Профильләр",
"Label-Connections": "Тоташулар",
"Label-Rules": "Кагыйдәләр",
"Label-Logs": "Логлар",
"Label-Test": "Тест",
"Label-Settings": "Көйләүләр",
"Proxies": "Прокси",
"Proxy Groups": "Прокси төркемнәре",
"Proxy Provider": "Прокси провайдеры",
"Update All": "Барысын да яңарту",
"Update At": "Яңартылган вакыт",
"rule": "кагыйдә",
"global": "глобаль",
"direct": "туры",
"script": "скриптлы",
"Location": "Урын",
"Delay check": "Задержканы тикшерү",
"Sort by default": "Башлангыч итеп сортлау",
"Sort by delay": "Задержка буенча сортлау",
"Sort by name": "Исем буенча сортлау",
"Delay check URL": "Задержканы тикшерү URL-ы",
"Delay check to cancel fixed": "Беркетелгәнне гамәлдән чыгару өчен задержканы тикшерү",
"Proxy basic": "Прокси турында кыскача мәгълүмат",
"Proxy detail": "Прокси турында тулы мәгълүмат",
"Profiles": "Профильләр",
"Update All Profiles": "Барлык профильләрне яңарту",
"View Runtime Config": "Кулланылган конфигурацияне карау",
"Reactivate Profiles": "Профильләрне янәдән активлаштыру",
"Paste": "Кую",
"Profile URL": "Профиль URL-ы",
"Import": "Импорт",
"From": "Каян",
"Update Time": "Яңарту вакыты",
"Used / Total": "Кулланылган / Барлыгы",
"Expire Time": "Тамамлану вакыты",
"Create Profile": "Профиль булдыру",
"Edit Profile": "Профильне үзгәртү",
"Edit Proxies": "Проксины үзгәртү",
"Use newlines for multiple uri": "Берничә URI өчен яңа юл символын кулланыгыз (Base64 кодлавы ярдәм ителә)",
"Edit Rules": "Кагыйдәләрне үзгәртү",
"Rule Type": "Кагыйдә төре",
"Rule Content": "Кагыйдә эчтәлеге",
"Proxy Policy": "Прокси сәясәте",
"No Resolve": "Резолвсыз",
"Prepend Rule": "Кагыйдәне өскә өстәү",
"Append Rule": "Кагыйдәне аска өстәү",
"Prepend Group": "Төркемне өскә өстәү",
"Append Group": "Төркемне аска өстәү",
"Prepend Proxy": "Проксины өскә өстәү",
"Append Proxy": "Проксины аска өстәү",
"Rule Condition Required": "Кагыйдә шарты кирәк",
"Invalid Rule": "Яраксыз кагыйдә",
"Advanced": "Өстәмә",
"Visualization": "Визуализация",
"DOMAIN": "Домен исеменең тулы туры килүе",
"DOMAIN-SUFFIX": "Домен суффиксына туры килү",
"DOMAIN-KEYWORD": "Доменда төп сүзгә туры килү",
"DOMAIN-REGEX": "Доменны регекс аша туры китерү",
"GEOSITE": "Geosite исемлегендәге доменга туры килү",
"GEOIP": "IP-адресның ил коды буенча туры килү",
"SRC-GEOIP": "Чыганак IP-адресның ил коды буенча туры килү",
"IP-ASN": "IP-адрес ASN'ы буенча туры килү",
"SRC-IP-ASN": "Чыганак IP-адрес ASN'ы буенча туры килү",
"IP-CIDR": "IP-адреслар диапазонына туры килү",
"IP-CIDR6": "IPv6 адреслар диапазонына туры килү",
"SRC-IP-CIDR": "Чыганак IP-адреслар диапазонына туры килү",
"IP-SUFFIX": "IP-адрес суффиксына туры килү",
"SRC-IP-SUFFIX": "Чыганак IP-адрес суффиксына туры килү",
"SRC-PORT": "Чыганак портлар диапазонына туры килү",
"DST-PORT": "Максат портлар диапазонына туры килү",
"IN-PORT": "Керүче портка туры килү",
"DSCP": "DSCP тамгалавы (tproxy UDP өчен)",
"PROCESS-NAME": "Процесс исеменә туры килү (Android пакет исеме)",
"PROCESS-PATH": "Процесс юлына туры килү",
"PROCESS-NAME-REGEX": "Процесс исемен регекс белән туры китерү (Android пакет исеме)",
"PROCESS-PATH-REGEX": "Процесс юлын регекс белән туры китерү",
"NETWORK": "Транспорт протоколына (tcp/udp) туры килү",
"UID": "Linux USER ID'га туры килү",
"IN-TYPE": "Керүче тоташу төренә туры килү",
"IN-USER": "Керүче тоташу кулланучысына туры килү",
"IN-NAME": "Керүче тоташу исеменә туры килү",
"SUB-RULE": "Кушымча кагыйдә",
"RULE-SET": "Кагыйдәләр тупланмасына туры килү",
"AND": "Логик ҺӘМ",
"OR": "Логик ЯКИ",
"NOT": "Логик ТҮГЕЛ",
"MATCH": "Барлык сорауларга туры килә",
"DIRECT": "Туры чыгу",
"REJECT": "Сорауларны тоткарлау",
"REJECT-DROP": "Сорауларны кире кагу",
"PASS": "Туры килсә дә, бу кагыйдәне урап узу",
"Edit Groups": "Прокси төркемнәрен үзгәртү",
"Group Type": "Төркем төре",
"select": "Проксины кулдан сайлау",
"url-test": "URL-тест задержкасына карап прокси сайлау",
"fallback": "Хата булган очракта башка проксига күчү",
"load-balance": "Трафикны баланслау нигезендә прокси тарату",
"relay": "Билгеле прокси чылбыры аша тапшыру",
"Group Name": "Төркем исеме",
"Use Proxies": "Прокси куллану",
"Use Provider": "Провайдер куллану",
"Health Check Url": "Сәламәтлекне тикшерү URL-ы",
"Expected Status": "Көтелгән статус коды",
"Interval": "Интервал",
"Lazy": "Сак режим (lazy)",
"Timeout": "Таймаут",
"Max Failed Times": "Иң күп хаталы тикшерү саны",
"Interface Name": "Интерфейс исеме",
"Routing Mark": "Маршрут билгесе",
"Include All": "Барлык прокси һәм провайдерларны кертү",
"Include All Providers": "Барлык провайдерларны кертү",
"Include All Proxies": "Барлык проксины кертү",
"Exclude Filter": "Фильтр аша чыгару",
"Exclude Type": "Чыгару төре",
"Disable UDP": "UDP'ны сүндерү",
"Hidden": "Яшерен",
"Group Name Required": "Төркем исеме кирәк",
"Group Name Already Exists": "Әлеге төркем исеме бар инде",
"Extend Config": "Merge-ны үзгәртергә",
"Extend Script": "Script-ны үзгәртергә",
"Global Merge": "Гомумкеңәйтелгән көйләүләр",
"Global Script": "Гомумкеңәйтелгән скрипт",
"Type": "Төр",
"Name": "Исем",
"Descriptions": "Тасвирламалар",
"Subscription URL": "Подписка URL-ы",
"Update Interval": "Яңарту интервалы",
"Choose File": "Файл сайлау",
"Use System Proxy": "Системалы проксины кулланып яңарту",
"Use Clash Proxy": "Clash прокси кулланып яңарту",
"Accept Invalid Certs (Danger)": "Дөрес булмаган сертификатларны кабул итү (Куркыныч)",
"Refresh": "Яңарту",
"Home": "Баш бит",
"Select": "Сайлау",
"Edit Info": "Мәгълүматны үзгәртү",
"Edit File": "Файлны үзгәртү",
"Open File": "Файлны ачу",
"Update": "Яңарту",
"Update(Proxy)": "Яңарту (прокси аша)",
"Confirm deletion": "Бетерүне раслагыз",
"This operation is not reversible": "Бу гамәлне кире кайтарып булмый",
"Script Console": "Скрипт консоле",
"To Top": "Өскә",
"To End": "Аска",
"Connections": "Тоташулар",
"Table View": "Таблица күзаллау",
"List View": "Исемлек күзаллау",
"Close All": "Барысын да ябу",
"Default": "Башлангыч",
"Download Speed": "Йөкләү тизлеге",
"Upload Speed": "Йөкләү (чыгару) тизлеге",
"Host": "Хост",
"Downloaded": "Йөкләнгән",
"Uploaded": "Чыгарылган",
"DL Speed": "Йөкләү тизл.",
"UL Speed": "Чыгару тизл.",
"Chains": "Чылбырлар",
"Rule": "Кагыйдә",
"Process": "Процесс",
"Time": "Тоташу вакыты",
"Source": "Чыганак адресы",
"Destination IP": "Максат IP-адресы",
"Close Connection": "Тоташуны ябу",
"Rules": "Кагыйдәләр",
"Rule Provider": "Кагыйдә провайдеры",
"Logs": "Логлар",
"Pause": "Туктау",
"Clear": "Чистарту",
"Test": "Тест",
"Test All": "Барчасын тестлау",
"Create Test": "Тест булдыру",
"Edit Test": "Тестны үзгәртү",
"Icon": "Иконка",
"Test URL": "Тест URL-ы",
"Settings": "Көйләүләр",
"System Setting": "Система көйләүләре",
"Tun Mode": "Tun режимы (виртуаль челтәр адаптеры)",
"Reset to Default": "Башлангычка кайтару",
"Tun Mode Info": "Tun режимы бөтен системаның трафигын тотып ала. Аны кабызган очракта системалы проксины аерым кабызу таләп ителми.",
"Stack": "Стек",
"System and Mixed Can Only be Used in Service Mode": "Система яки кушылган режимнар бары тик сервис режимында гына активлаштырыла ала",
"Device": "Җайланма исеме",
"Auto Route": "Авто-маршрутлау",
"Strict Route": "Катгый маршрутлау",
"Auto Detect Interface": "Интерфейсны автоматик ачыклау",
"DNS Hijack": "DNS'ны үзгәртеп тоту (hijack)",
"MTU": "MTU (макс. тапшыру берәмлеге)",
"Service Mode": "Сервис режимы",
"Service Mode Info": "Tun режимын кабызганчы сервис режимын урнаштыру сорала. Сервис буларак эшләтелгән Clash ядросына виртуаль челтәр адаптеры (TUN) куллану рөхсәт ителә.",
"Current State": "Агымдагы торыш",
"pending": "Көтә",
"installed": "Урнаштырылган",
"uninstall": "Урнаштырылмаган",
"active": "Актив",
"unknown": "Билгесез",
"Information: Please make sure that the Clash Verge Service is installed and enabled": "Игътибар: Clash Verge сервисы урнаштырылган һәм активлаштырылган булырга тиеш",
"Install": "Урнаштыру",
"Uninstall": "Салдыру",
"Disable Service Mode": "Сервис режимын сүндерү",
"System Proxy": "Системалы прокси",
"System Proxy Info": "Системалы прокси көйләүләрен үзгәртү рөхсәтен бирегез. Әгәр рөхсәт алу мөмкин түгел икән, прокси көйләүләрен кулдан үзгәртегез",
"System Proxy Setting": "Системалы прокси көйләүләре",
"Current System Proxy": "Агымдагы системалы прокси",
"Enable status": "Активлаштыру статусы",
"Enabled": "Кушылган",
"Disabled": "Сүнгән",
"Server Addr": "Сервер адресы",
"Not available": "Мөмкин түгел",
"Proxy Guard": "Прокси саклаучы",
"Proxy Guard Info": "Системалы прокси көйләүләрен чит программа үзгәртмәсен өчен шушы функцияне кабызыгыз",
"Guard Duration": "Саклау вакыты",
"Always use Default Bypass": "Һәрвакыт төп Bypass-ны куллану",
"Proxy Bypass": "Проксины әйләнеп узу:",
"Bypass": "Әйләнеп узу:",
"Use PAC Mode": "PAC режимын куллану",
"PAC Script Content": "PAC скрипты эчтәлеге",
"PAC URL": "PAC адресы",
"Auto Launch": "Автостарт",
"Silent Start": "Фон режимында башлау",
"Silent Start Info": "Программаны фоновый режимда, тәрәзәсез эшләтеп җибәрү",
"TG Channel": "Telegram каналы",
"Manual": "Документация",
"Github Repo": "GitHub репозиториясе",
"Clash Setting": "Clash көйләүләре",
"Allow Lan": "Локаль челтәргә рөхсәт",
"Network Interface": "Челтәр интерфейсы",
"Ip Address": "IP адресы",
"Mac Address": "MAC адресы",
"IPv6": "IPv6",
"Unified Delay": "Бердәм задержка",
"Unified Delay Info": "Бердәм задержка актив булганда, төрле типтагы узеллар өчен икеләтә тест башкарыла, TCP установканы раслау аермаларын тигезләү максатында",
"Log Level": "Лог дәрәҗәсе",
"Log Level Info": "Бу фәкать сервис режимында эшләгән вакытта системалы журнал файлларына кагыла",
"Port Config": "Порт көйләүләре",
"Random Port": "Очраклы порт",
"Mixed Port": "Катнаш прокси порты",
"Socks Port": "Socks прокси порты",
"Http Port": "HTTP(s) прокси порты",
"Redir Port": "Redir — үтә күренмәле прокси порты",
"Tproxy Port": "Tproxy — үтә күренмәле прокси порты",
"External": "Тышкы",
"External Controller": "Тышкы контроллер адресы",
"Core Secret": "Серсүз",
"Recommended": "Тавсия ителә",
"Open URL": "URL ачарга",
"Replace host, port, secret with %host, %port, %secret": "Хост, порт, серсүзне %host, %port, %secret белән алмаштырыгыз",
"Support %host, %port, %secret": "%host, %port, %secret макросларын хуплау",
"Clash Core": "Clash ядросы",
"Upgrade": "Яңарту",
"Restart": "Перезапуск",
"Release Version": "Рәсми версия",
"Alpha Version": "Альфа-версия",
"Please Enable Service Mode": "Башта сервис режимын кабызырга кирәк",
"Please enter your root password": "root паролен языгыз",
"Grant": "Рөхсәт бирү",
"Open UWP tool": "UWP инструментын ачу",
"Open UWP tool Info": "Windows 8'дән башлап UWP кушымталары (Microsoft Store кебек) локаль хосттагы челтәр хезмәтләренә турыдан-туры тоташа алмый. Бу инструмент әлеге чикләүне әйләнеп узарга ярдәм итә",
"Update GeoData": "GeoData яңарту",
"Verge Setting": "Verge көйләүләре",
"Language": "Тел",
"Theme Mode": "Теманың режимы",
"theme.light": "Якты",
"theme.dark": "Караңгы",
"theme.system": "Система",
"Tray Click Event": "Трейдагы басу вакыйгасы",
"Show Main Window": "Төп тәрәзәне күрсәтү",
"Copy Env Type": "Env төрен күчереп алу",
"Copy Success": "Күчерелде",
"Start Page": "Баш бит",
"Startup Script": "Башлану скрипты",
"Browse": "Карау",
"Theme Setting": "Тема көйләүләре",
"Primary Color": "Төп төс",
"Secondary Color": "Икенче төс",
"Primary Text Color": "Төп текст төсе",
"Secondary Text Color": "Икенче текст төсе",
"Info Color": "Мәгълүмат төсе",
"Warning Color": "Кисәтү төсе",
"Error Color": "Хата төсе",
"Success Color": "Уңыш төсе",
"Font Family": "Шрифтлар гаиләсе",
"CSS Injection": "CSS кертү",
"Layout Setting": "Расположение көйләүләре",
"Traffic Graph": "Трафик графигы",
"Memory Usage": "Хәтер куллану",
"Memory Cleanup": "Хәтерне чистарту өчен басыгыз",
"Proxy Group Icon": "Прокси төркеме иконкасы",
"Nav Icon": "Навигация иконкасы",
"Monochrome": "Монохром",
"Colorful": "Төсле",
"Tray Icon": "Трей иконкасы",
"Common Tray Icon": "Гомуми трей иконкасы",
"System Proxy Tray Icon": "Системалы прокси иконкасы",
"Tun Tray Icon": "Tun (виртуаль адаптер) иконкасы",
"Miscellaneous": "Өстәмә көйләүләр",
"App Log Level": "Кушымта журналы дәрәҗәсе",
"Auto Close Connections": "Тоташуларны автоматик ябу",
"Auto Close Connections Info": "Прокси төркеме яисә режимын үзгәрткәндә актив тоташуларны өзү",
"Auto Check Update": "Яңартуларны автоматик тикшерү",
"Enable Builtin Enhanced": "Эчке камилләштерүне кабызу",
"Enable Builtin Enhanced Info": "Конфигурация файлы белән туры килә торган өстәмә оптимизация",
"Proxy Layout Columns": "Прокси күрсәтү баганалары саны",
"Auto Columns": "Авто баганалар",
"Auto Log Clean": "Логларны автоматик чистарту",
"Never Clean": "Беркайчан чистартмаска",
"Retain _n Days": "{{n}} көн саклау",
"Default Latency Test": "Тоткарлануны тикшерү сылтамасы (defaults)",
"Default Latency Test Info": "Бу фәкать клиентның HTTP сораулары тесты өчен кулланыла, конфигурация файлына йогынты ясамый",
"Default Latency Timeout": "Тоткарлануның стандарт таймауты",
"Hotkey Setting": "Клавиатура төймәләре (hotkey) көйләүләре",
"open_or_close_dashboard": "Панельне ачу/ябу",
"clash_mode_rule": "Кагыйдәләр режимы",
"clash_mode_global": "Глобаль режим",
"clash_mode_direct": "Туры режим",
"toggle_system_proxy": "Системалы проксины кабызу/сүндерү",
"toggle_tun_mode": "Tun режимын кабызу/сүндерү",
"Backup Setting": "Резерв копия көйләүләре",
"Backup Setting Info": "WebDAV аша конфигурация файлын саклауны хуплый",
"Runtime Config": "Агымдагы конфигурация",
"Open Conf Dir": "Кушымта папкасын ачу",
"Open Conf Dir Info": "Әгәр программада хаталар чыкса, бу папкадагы файлларны саклап калыгыз да, аннары барысын да бетереп, программаны яңадан башлагыз",
"Open Core Dir": "Ядро сакланган папканы ачу",
"Open Logs Dir": "Логлар папкасын ачу",
"Check for Updates": "Яңартуларны тикшерү",
"Go to Release Page": "Релизлар битенә күчү",
"Portable Updater Error": "Портатив версиядә кушымта эчендә яңарту хупланмый, кулдан төшереп алыгыз",
"Break Change Update Error": "Бу зур яңарту, ул кушымта эчендә яңартылмый. Борып алып ташлап, яңадан урнаштыру сорала.",
"Open Dev Tools": "Разработчик коралларын ачу",
"Exit": "Чыгу",
"Verge Version": "Verge версиясе",
"ReadOnly": "Уку режимы гына",
"ReadOnlyMessage": "Уку режимында үзгәртү мөмкин түгел",
"Filter": "Фильтр",
"Filter conditions": "Фильтр шартлары",
"Match Case": "Регистрны исәпкә алу",
"Match Whole Word": "Сүзнең тулы туры килүе",
"Use Regular Expression": "Регуляр выражениеләр куллану",
"Profile Imported Successfully": "Профиль уңышлы импортланды",
"Profile Switched": "Профиль алмаштырылды",
"Profile Reactivated": "Профиль яңадан активлаштырылды",
"Only YAML Files Supported": "Фәкать YAML-файллар гына хуплана",
"Settings Applied": "Көйләүләр кулланылды",
"Service Installed Successfully": "Сервис уңышлы урнаштырылды",
"Service Uninstalled Successfully": "Сервис уңышлы салдырылды",
"Proxy Daemon Duration Cannot be Less than 1 Second": "Прокси-демон эш вакыты 1 секундтан ким була алмый",
"Invalid Bypass Format": "Дөрес булмаган Bypass форматы",
"Clash Port Modified": "Clash порты үзгәртелде",
"Port Conflict": "Порт конфликтлары",
"Restart Application to Apply Modifications": "Үзгәрешләрне куллану өчен кушымтаны яңадан ачарга кирәк",
"External Controller Address Modified": "Тышкы контроллер адресы үзгәртелде",
"Permissions Granted Successfully for _clash Core": "{{core}} ядросы өчен рөхсәтләр бирелде",
"Core Version Updated": "Ядро версиясе яңартылды",
"Clash Core Restarted": "Clash ядросы яңадан башланды",
"Switched to _clash Core": "{{core}} ядросына күчү башкарылды",
"GeoData Updated": "GeoData яңартылды",
"Currently on the Latest Version": "Сездә иң соңгы версия урнаштырылган",
"Import subscription successful": "Подписка уңышлы импортланды",
"WebDAV Server URL": "WebDAV сервер URL-ы (http(s)://)",
"Username": "Кулланучы исеме",
"Password": "Пароль",
"Backup": "Резерв копия",
"Filename": "Файл исеме",
"Actions": "Гамәлләр",
"Restore": "Кайтару",
"No Backups": "Резерв копияләр юк",
"WebDAV URL Required": "WebDAV адресы буш булырга тиеш түгел",
"Invalid WebDAV URL": "WebDAV адресы дөрес түгел",
"Username Required": "Кулланучы исеме буш булмаска тиеш",
"Password Required": "Пароль буш булмаска тиеш",
"Failed to Fetch Backups": "Резерв копия файлларын алуда хата",
"WebDAV Config Saved": "WebDAV көйләүләре сакланды",
"WebDAV Config Save Failed": "WebDAV көйләүләрен саклап булмады: {{error}}",
"Backup Created": "Резерв копия уңышлы ясалды",
"Backup Failed": "Резерв копия хата белән төгәлләнде: {{error}}",
"Delete Backup": "Резерв копияне бетерү",
"Restore Backup": "Резерв копияне кайтару",
"Backup Time": "Резерв копия вакыты",
"Confirm to delete this backup file?": "Бу резерв копия файлын бетерергә телисезме?",
"Confirm to restore this backup file?": "Бу резерв копия файлын кире кайтарырга телисезме?",
"Restore Success, App will restart in 1s": "Уңышлы кайтарылды, кушымта 1 секундтан яңадан башланачак",
"Failed to fetch backup files": "Резерв копия файлларын алуда хата",
"Profile": "Профиль",
"Help": "Ярдәм",
"About": "Турында",
"Theme": "Тема",
"Main Window": "Төп тәрәзә",
"Group Icon": "Төркем иконкасы",
"Menu Icon": "Меню иконкасы",
"PAC File": "PAC файлы",
"Web UI": "Веб-интерфейс",
"Hotkeys": "Кызу төймәләр",
"Verge Mixed Port": "Verge катнаш порты",
"Verge Socks Port": "Verge Socks порты",
"Verge Redir Port": "Verge кире юнәлтү порты",
"Verge Tproxy Port": "Verge Tproxy порты",
"Verge Port": "Verge порты",
"Verge HTTP Enabled": "Verge HTTP кушылган",
"WebDAV URL": "WebDAV URL",
"WebDAV Username": "WebDAV кулланучы исеме",
"WebDAV Password": "WebDAV серсүзе",
"Dashboard": "Панель",
"Restart App": "Кушымтаны яңадан ачу",
"Restart Clash Core": "Clash ядрони яңадан башлап ачу",
"TUN Mode": "TUN режимы",
"Copy Env": "Env күчереп алу",
"Conf Dir": "Кушымта папкасы",
"Core Dir": "Ядро папкасы",
"Logs Dir": "Логлар папкасы",
"Open Dir": "Папканы ачу",
"More": "Башҡа",
"Rule Mode": "Кагыйдә режимы",
"Global Mode": "Глобаль режим",
"Direct Mode": "Туры режим"
}

View File

@ -398,5 +398,37 @@
"Confirm to delete this backup file?": "确认删除此备份文件吗?",
"Confirm to restore this backup file?": "确认恢复此 份文件吗?",
"Restore Success, App will restart in 1s": "恢复成功应用将在1秒后重启",
"Failed to fetch backup files": "获取备份文件失败"
"Failed to fetch backup files": "获取备份文件失败",
"Profile": "配置",
"Help": "帮助",
"About": "关于",
"Theme": "主题",
"Main Window": "主窗口",
"Group Icon": "分组图标",
"Menu Icon": "菜单图标",
"PAC File": "PAC文件",
"Web UI": "网页界面",
"Hotkeys": "快捷键",
"Verge Mixed Port": "Verge混合端口",
"Verge Socks Port": "Verge Socks端口",
"Verge Redir Port": "Verge重定向端口",
"Verge Tproxy Port": "Verge透明代理端口",
"Verge Port": "Verge端口",
"Verge HTTP Enabled": "Verge HTTP已启用",
"WebDAV URL": "WebDAV地址",
"WebDAV Username": "WebDAV用户名",
"WebDAV Password": "WebDAV密码",
"Dashboard": "仪表板",
"Restart App": "重启应用",
"Restart Clash Core": "重启Clash核心",
"TUN Mode": "TUN模式",
"Copy Env": "复制环境变量",
"Conf Dir": "配置目录",
"Core Dir": "核心目录",
"Logs Dir": "日志目录",
"Open Dir": "打开目录",
"More": "更多",
"Rule Mode": "规则模式",
"Global Mode": "全局模式",
"Direct Mode": "直连模式"
}

View File

@ -4,13 +4,18 @@ import en from "@/locales/en.json";
import ru from "@/locales/ru.json";
import zh from "@/locales/zh.json";
import fa from "@/locales/fa.json";
import tt from "@/locales/tt.json";
import id from "@/locales/id.json";
import ar from "@/locales/ar.json";
const resources = {
en: { translation: en },
ru: { translation: ru },
zh: { translation: zh },
fa: { translation: fa },
};
export const languages = { en, ru, zh, fa, tt, id, ar };
const resources = Object.fromEntries(
Object.entries(languages).map(([key, value]) => [
key,
{ translation: value },
]),
);
i18n.use(initReactI18next).init({
resources,