mirror of
https://github.com/donaldzou/WGDashboard.git
synced 2025-03-18 18:44:04 +00:00
Merge branch 'donaldzou:main' into thai
This commit is contained in:
commit
43ac3dddf1
@ -27,7 +27,7 @@ import threading
|
||||
|
||||
from flask.json.provider import DefaultJSONProvider
|
||||
|
||||
DASHBOARD_VERSION = 'v4.1.3'
|
||||
DASHBOARD_VERSION = 'v4.1.4'
|
||||
CONFIGURATION_PATH = os.getenv('CONFIGURATION_PATH', '.')
|
||||
DB_PATH = os.path.join(CONFIGURATION_PATH, 'db')
|
||||
if not os.path.isdir(DB_PATH):
|
||||
@ -351,15 +351,13 @@ class PeerJobs:
|
||||
f"Peer {fp.id} from {c.Name} failed {job.Action}ed."
|
||||
)
|
||||
else:
|
||||
JobLogger.log(job.JobID, s["status"],
|
||||
JobLogger.log(job.JobID,False,
|
||||
f"Somehow can't find this peer {job.Peer} from {c.Name} failed {job.Action}ed."
|
||||
)
|
||||
# needToDelete.append(job)
|
||||
else:
|
||||
JobLogger.log(job.JobID, s["status"],
|
||||
JobLogger.log(job.JobID, False,
|
||||
f"Somehow can't find this peer {job.Peer} from {job.Configuration} failed {job.Action}ed."
|
||||
)
|
||||
# needToDelete.append(job)
|
||||
for j in needToDelete:
|
||||
self.deleteJob(j)
|
||||
|
||||
@ -796,7 +794,7 @@ class WireguardConfiguration:
|
||||
for i in listOfPublicKeys:
|
||||
p = sqlSelect("SELECT * FROM '%s_restrict_access' WHERE id = ?" % self.Name, (i,)).fetchone()
|
||||
if p is not None:
|
||||
sqlUpdate("INSERT INTO '%s' SELECT * FROM %s_restrict_access WHERE id = ?"
|
||||
sqlUpdate("INSERT INTO '%s' SELECT * FROM '%s_restrict_access' WHERE id = ?"
|
||||
% (self.Name, self.Name,), (p['id'],))
|
||||
sqlUpdate("DELETE FROM '%s_restrict_access' WHERE id = ?"
|
||||
% self.Name, (p['id'],))
|
||||
@ -830,7 +828,7 @@ class WireguardConfiguration:
|
||||
try:
|
||||
subprocess.check_output(f"wg set {self.Name} peer {pf.id} remove",
|
||||
shell=True, stderr=subprocess.STDOUT)
|
||||
sqlUpdate("INSERT INTO '%s_restrict_access' SELECT * FROM %s WHERE id = ?" %
|
||||
sqlUpdate("INSERT INTO '%s_restrict_access' SELECT * FROM '%s' WHERE id = ?" %
|
||||
(self.Name, self.Name,), (pf.id,))
|
||||
sqlUpdate("UPDATE '%s_restrict_access' SET status = 'stopped' WHERE id = ?" %
|
||||
(self.Name,), (pf.id,))
|
||||
@ -1647,7 +1645,7 @@ def sqlSelect(statement: str, paramters: tuple = ()) -> sqlite3.Cursor:
|
||||
try:
|
||||
cursor = sqldb.cursor()
|
||||
return cursor.execute(statement, paramters)
|
||||
except Exception as e:
|
||||
except Exception as error:
|
||||
print("[WGDashboard] SQLite Error:" + str(error) + " | Statement: " + statement)
|
||||
return []
|
||||
|
||||
@ -1661,7 +1659,7 @@ def sqlUpdate(statement: str, paramters: tuple = ()) -> sqlite3.Cursor:
|
||||
s = f'BEGIN TRANSACTION;{statement};END TRANSACTION;'
|
||||
cursor.execute(statement, paramters)
|
||||
sqldb.commit()
|
||||
except Exception as e:
|
||||
except Exception as error:
|
||||
print("[WGDashboard] SQLite Error:" + str(error) + " | Statement: " + statement)
|
||||
return []
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "app",
|
||||
"version": "4.1.3",
|
||||
"version": "4.1.4",
|
||||
"private": true,
|
||||
"type": "module",
|
||||
"scripts": {
|
||||
|
@ -1,4 +1,9 @@
|
||||
[
|
||||
{
|
||||
"lang_id": "ar-sa",
|
||||
"lang_name": "Arabic",
|
||||
"lang_name_localized": "العربية"
|
||||
},
|
||||
{
|
||||
"lang_id": "cs",
|
||||
"lang_name": "Czech",
|
||||
@ -29,6 +34,11 @@
|
||||
"lang_name": "Italian",
|
||||
"lang_name_localized": "Italiano"
|
||||
},
|
||||
{
|
||||
"lang_id": "ko",
|
||||
"lang_name": "Korean",
|
||||
"lang_name_localized": "한국어"
|
||||
},
|
||||
{
|
||||
"lang_id": "nl-nl",
|
||||
"lang_name": "Dutch",
|
||||
@ -74,4 +84,4 @@
|
||||
"lang_name": "Polish",
|
||||
"lang_name_localized": "Polski"
|
||||
}
|
||||
]
|
||||
]
|
312
src/static/locale/ar-sa.json
Normal file
312
src/static/locale/ar-sa.json
Normal file
@ -0,0 +1,312 @@
|
||||
{
|
||||
"Welcome to": "مرحبا بك في ",
|
||||
"Username": "اسم المستخدم",
|
||||
"Password": "كلمة المرور",
|
||||
"OTP from your authenticator": "كلمة المرور لمرة واحدة من المصادق الخاص بك",
|
||||
"Sign In": "تسجيل الدخول",
|
||||
"Signing In\\.\\.\\.": "جاري تسجيل الدخول ...",
|
||||
"Access Remote Server": "الوصول الي الخادم البعيد",
|
||||
"Server": "الخادم",
|
||||
"Click": "انقر",
|
||||
"Pinging...": " .جاري فحص الاتصال ...",
|
||||
"to add your server": "لاضافة خادمك",
|
||||
"Server List": "قائمة الخوادم",
|
||||
"Sorry, your username or password is incorrect.": "عذرا ، اسم المستخدم او كلمة المرور غير صحيحة",
|
||||
"Home": "الصفحة الرئيسية",
|
||||
"Settings": "الإعدادات",
|
||||
"Tools": "الادوات",
|
||||
"Sign Out": "تسجيل الخروج",
|
||||
"Checking for update...": "جاري تسجيل الخروج",
|
||||
"You're on the latest version": "انت تستخدم احدث اصدار",
|
||||
"WireGuard Configurations": "تكوينات WireGuard",
|
||||
"You don't have any WireGuard configurations yet. Please check the configuration folder or change it in Settings. By default the folder is /etc/wireguard.": "ليس لديك أي تكوينات WireGuard بعد. يرجى التحقق من مجلد التكوين أو تغييره في الإعدادات. المجلد الافتراضي هو /etc/wireguard.",
|
||||
"Configuration": "التكوين",
|
||||
"Configurations": "التكوينات",
|
||||
"Peers Default Settings": "إعدادات النظراء الافتراضية",
|
||||
"Dashboard Theme": "سمة لوحة التحكم",
|
||||
"Light": "فاتح",
|
||||
"Dark": "داكن",
|
||||
"This will be changed globally, and will be apply to all peer's QR code and configuration file.": "سيتم تغيير هذا في كل الاعدادات وسيطبق على جميع رموز الاستجابة السريعة الخاصة بالنظراء وملفات التكوين.",
|
||||
"WireGuard Configurations Settings": "إعدادات تكوينات WireGuard",
|
||||
"Configurations Directory": "مسار التكوينات",
|
||||
"Remember to remove / at the end of your path. e.g /etc/wireguard": "تذكر إزالة / في نهاية المسار الخاص بك. مثال: /etc/wireguard",
|
||||
"WGDashboard Account Settings": "إعدادات حساب WGDashboard",
|
||||
"Current Password": "كلمة المرور الحالية",
|
||||
"New Password": "كلمة المرور الجديدة",
|
||||
"Repeat New Password": "كرر كلمة المرور الجديدة",
|
||||
"Update Password": "تحديث كلمة المرور",
|
||||
"Multi-Factor Authentication \\(MFA\\)": "المصادقة متعددة العوامل (MFA)",
|
||||
"Reset": "إعادة ضبط",
|
||||
"Setup": "إعداد",
|
||||
"API Keys": "مفاتيح API",
|
||||
"API Key": "مفتاح API",
|
||||
"Key": "مفتاح",
|
||||
"Enabled": "مفعل",
|
||||
"Disabled": "معطل",
|
||||
"No WGDashboard API Key": "لا يوجد مفتاح API لـ WGDashboard",
|
||||
"Expire At": "ينتهي في",
|
||||
"Are you sure to delete this API key\\?": "هل انت متاكد ان تحذف هذا المفتاح للـAPI ",
|
||||
"Create API Key": "إنشاء مفتاح API",
|
||||
"When should this API Key expire\\?": "متي يجب ان ينتهي هذا المفتاح للـ API",
|
||||
"Never Expire": "لا ينتهي أبدًا",
|
||||
"Don't think that's a good idea": "لا أعتقد أن هذه فكرة جيدة",
|
||||
"Creating\\.\\.\\.": "جاري الانشاء",
|
||||
"Create": "إنشاء",
|
||||
"Status": "الحالة",
|
||||
"On": "مشغل",
|
||||
"Off": "متوقف",
|
||||
"Turning On\\.\\.\\.": "تشغيل",
|
||||
"Turning Off\\.\\.\\.": "إيقاف",
|
||||
"Address": "العنوان",
|
||||
"Listen Port": "منفذ الاستماع",
|
||||
"Public Key": "المفتاح العام",
|
||||
"Connected Peers": "النظراء المتصلون",
|
||||
"Total Usage": "الاستخدام الكلي",
|
||||
"Total Received": "الإجمالي المستلم",
|
||||
"Total Sent": "الإجمالي المرسل",
|
||||
"Peers Data Usage": "استهلاك بيانات النظراء",
|
||||
"Real Time Received Data Usage": "استهلاك البيانات المستلمة في الوقت الفعلي",
|
||||
"Real Time Sent Data Usage": "استهلاك البيانات المرسلة في الوقت الفعلي",
|
||||
"Peer": "نظير",
|
||||
"Peers": "النظراء",
|
||||
"Peer Settings": "إعدادات النظير",
|
||||
"Download All": "تنزيل الكل",
|
||||
"Search Peers\\.\\.\\.": "بحث في النظراء",
|
||||
"Display": "عرض",
|
||||
"Sort By": "فرز حسب",
|
||||
"Refresh Interval": "فترة التحديث",
|
||||
"Name": "الاسم",
|
||||
"Allowed IPs": "عناوين IP المسموح بها",
|
||||
"Restricted": "مقيد",
|
||||
"(.*) Seconds": "$1 ثانية",
|
||||
"(.*) Minutes": "$1 دقيقة",
|
||||
"Configuration Settings": "إعدادات التكوين",
|
||||
"Peer Jobs": "وظائف النظير",
|
||||
"Active Jobs": "الوظائف النشطة",
|
||||
"All Active Jobs": "جميع الوظائف النشطة",
|
||||
"Logs": "السجلات",
|
||||
"Private Key": "المفتاح الخاص",
|
||||
"\\(Required for QR Code and Download\\)": " الزامي لرمز الاستجابة السريعة والتحميل",
|
||||
"\\(Required\\)": "الزامي",
|
||||
"Endpoint Allowed IPs": "عناوين IP المسموح بها لنقطة النهاية",
|
||||
"DNS": "DNS",
|
||||
"Optional Settings": "إعدادات اختيارية",
|
||||
"Pre-Shared Key": "المفتاح المشترك مسبقًا",
|
||||
"MTU": "MTU",
|
||||
"Persistent Keepalive": "الاستمرار في الإبقاء على الاتصال",
|
||||
"Reset Data Usage": "إعادة ضبط استهلاك البيانات",
|
||||
"Total": "الإجمالي",
|
||||
"Sent": "تم الإرسال",
|
||||
"Received": "تم الاستلام",
|
||||
"Revert": "إعادة",
|
||||
"Save Peer": "حفظ النظير",
|
||||
"QR Code": "رمز الاستجابة السريع",
|
||||
"Schedule Jobs": "جدولة الوظائف",
|
||||
"Job": "وظيفة",
|
||||
"Job ID": "معرف الوظيفة",
|
||||
"Unsaved Job": "وظيفة غير محفوظة",
|
||||
"This peer does not have any job yet\\.": "هذا النظير ليس لدية وظيفة نشطة بعد",
|
||||
"if": "إذا",
|
||||
"is": "هو",
|
||||
"then": "ثم",
|
||||
"larger than": "أكبر من",
|
||||
"Date": "التاريخ",
|
||||
"Restrict Peer": "تقييد النظير",
|
||||
"Delete Peer": "حذف النظير",
|
||||
"Edit": "تعديل",
|
||||
"Delete": "حذف",
|
||||
"Deleting...": "جارٍ الحذف...",
|
||||
"Cancel": "إلغاء",
|
||||
"Save": "حفظ",
|
||||
"No active job at the moment\\.": "لايوجد وظائف نشطة في الوقت الحالي",
|
||||
"Jobs Logs": "سجلات الوظائف",
|
||||
"Updated at": "تم التحديث في",
|
||||
"Refresh": "تحديث",
|
||||
"Filter": "تصفية",
|
||||
"Success": "نجاح",
|
||||
"Failed": "فشل",
|
||||
"Log ID": "معرف السجل",
|
||||
"Message": "رسالة",
|
||||
"Share Peer": "مشاركة النظير",
|
||||
"Currently the peer is not sharing": "النظير لا يشارك حاليًا",
|
||||
"Sharing\\.\\.\\.": "جاري المشاركة",
|
||||
"Start Sharing": "بدء المشاركة",
|
||||
"Stop Sharing\\.\\.\\.": "جاري ايقاف المشاركة",
|
||||
"Stop Sharing": "إيقاف المشاركة",
|
||||
"Access Restricted": "الوصول مقيد",
|
||||
"Restrict Access": "تقيد الوصول",
|
||||
"Restricting\\.\\.\\.": "جاري التقيد ...",
|
||||
"Allow Access": "السماح بالوصول",
|
||||
"Allowing Access\\.\\.\\.": "جاري السماح بالوصول ...",
|
||||
"Download \\& QR Code is not available due to no private key set for this peer": "التنزيل ورمز الاستجابة السريعة غير متاحين نظرًا لعدم تعيين مفتاح خاص لهذا القرين",
|
||||
"Add Peers": "إضافة نظراء",
|
||||
"Bulk Add": "إضافة بالجملة",
|
||||
"By adding peers by bulk, each peer's name will be auto generated, and Allowed IP will be assign to the next available IP\\.": "عند إضافة الأقران بشكل جماعي، سيتم إنشاء اسم كل قرين تلقائيًا، وسيتم تخصيص عنوان IP المسموح به إلى عنوان IP التالي المتاح",
|
||||
"How many peers you want to add\\?": "كم عدد النظراء التي تريد اضافتها",
|
||||
"You can add up to (.*) peers": "يمكنك إضافة ما يصل إلى $1 نظير",
|
||||
"Use your own Private and Public Key": "استخدم المفتاح الخاص والعام الخاص بك",
|
||||
"Enter IP Address/CIDR": "أدخل عنوان IP/CIDR",
|
||||
"IP Address/CIDR": "عنوان IP/CIDR",
|
||||
"or": "أو",
|
||||
"Pick Available IP": "اختر عنوان IP متاحًا",
|
||||
"No available IP containing": "لا يوجد عنوان IP متاح يحتوي على",
|
||||
"Add": "إضافة",
|
||||
"Adding\\.\\.\\.": "جاري الاضافة",
|
||||
"Failed to check available update": "فشل في التحقق من التحديث المتاح",
|
||||
"Nice to meet you!": "تشرفت بلقائك!",
|
||||
"Please fill in the following fields to finish setup": "يرجى ملء الحقول التالية لإكمال الإعداد",
|
||||
"Create an account": "إنشاء حساب",
|
||||
"Enter an username you like": "أدخل اسم مستخدم يعجبك",
|
||||
"Enter a password": "أدخل كلمة مرور",
|
||||
"\\(At least 8 characters and make sure is strong enough!\\)": "(يجب أن تكون 8 أحرف على الأقل وتأكد من قوتها!)",
|
||||
"Confirm password": "تأكيد كلمة المرور",
|
||||
"Next": "التالي",
|
||||
"Saving\\.\\.\\.": "جارٍ الحفظ...",
|
||||
"1\\. Please scan the following QR Code to generate TOTP with your choice of authenticator": "1\\. يرجى مسح رمز الاستجابة السريعة التالي لإنشاء كلمة مرور لمرة واحدة (TOTP) باستخدام تطبيق المصادقة الذي تختاره",
|
||||
"Or you can click the link below:": "أو يمكنك النقر على الرابط أدناه:",
|
||||
"2\\. Enter the TOTP generated by your authenticator to verify": "2\\. أدخل كلمة المرور لمرة واحدة (TOTP) التي تم إنشاؤها بواسطة تطبيق المصادقة للتحقق",
|
||||
"TOTP verified!": "تم التحقق من كلمة المرور لمرة واحدة (TOTP) بنجاح!",
|
||||
"I don't need MFA": "لا أحتاج إلى المصادقة متعددة العوامل (MFA).",
|
||||
"Complete": "اكتمل",
|
||||
"(v[0-9.]{1,}) is now available for update!": "$1 متاح الآن للتحديث!",
|
||||
"Current Version:": "الإصدار الحالي:",
|
||||
"Oh no\\.\\.\\. This link is either expired or invalid\\.": "عذرًا... هذا الرابط إما منتهي الصلاحية أو غير صالح",
|
||||
"Scan QR Code with the WireGuard App to add peer": "قم بمسح رمز الاستجابة السريعة باستخدام تطبيق WireGuard لإضافة قرين",
|
||||
"or click the button below to download the ": "أو انقر على الزر أدناه لتحميل ",
|
||||
" file": " الملف",
|
||||
"FROM ": "من ",
|
||||
"(.*) is on": "(.*) قيد التشغيل",
|
||||
"(.*) is off": "(.*) متوقف",
|
||||
"Allowed IPs is invalid": "عناوين IP المسموح بها غير صالحة",
|
||||
"Peer created successfully": "تم إنشاء القرين بنجاح",
|
||||
"Please fill in all required box": "يرجى ملء جميع الحقول المطلوبة",
|
||||
"Please specify amount of peers you want to add": "يرجى تحديد عدد الأقران الذين ترغب في إضافتهم",
|
||||
"No more available IP can assign": "لا توجد عناوين IP متاحة للتخصيص.",
|
||||
"The maximum number of peers can add is (.*)": "الحد الأقصى لعدد الأقران الذين يمكن إضافتهم هو $1",
|
||||
"Generating key pairs by bulk failed": "فشل إنشاء أزواج المفاتيح بشكل جماعي.",
|
||||
"Failed to add peers in bulk": "فشل في إضافة الأقران بشكل جماعي.",
|
||||
"This peer already exist": "هذا القرين موجود بالفعل.",
|
||||
"This IP is not available: (.*)": "عنوان IP هذا غير متاح: $1",
|
||||
"Configuration does not exist": "الإعداد غير موجود",
|
||||
"Peer does not exist": "القرين غير موجود",
|
||||
"Please provide a valid configuration name": "يرجى تقديم اسم إعداد صالح",
|
||||
"Peer saved": "تم حفظ القرين.",
|
||||
"Allowed IPs already taken by another peer": "عناوين IP المسموح بها مستخدمة بالفعل بواسطة قرين آخر",
|
||||
"Endpoint Allowed IPs format is incorrect": "تنسيق عناوين IP المسموح بها للنقطة النهائية غير صحيح",
|
||||
"DNS format is incorrect": "تنسيق DNS غير صحيح",
|
||||
"MTU format is not correct": "تنسيق MTU غير صحيح",
|
||||
"Persistent Keepalive format is not correct": "تنسيق الإبقاء النشط (Keepalive) غير صحيح",
|
||||
"Private key does not match with the public key": "المفتاح الخاص لا يتطابق مع المفتاح العام",
|
||||
"Update peer failed when updating Pre-Shared Key": "فشل تحديث القرين عند تحديث المفتاح المشترك مسبقًا",
|
||||
"Update peer failed when updating Allowed IPs": "فشل تحديث القرين عند تحديث عناوين IP المسموح بها",
|
||||
"Update peer failed when saving the configuration": "فشل تحديث القرين عند حفظ الإعداد",
|
||||
"Peer data usage reset successfully": "تمت إعادة تعيين استخدام بيانات القرين بنجاح",
|
||||
"Peer download started": "بدأ تنزيل القرين",
|
||||
"Please specify one or more peers": "يرجى تحديد قرين واحد أو أكثر",
|
||||
"Share link failed to create. Reason: (.*)": "فشل إنشاء رابط المشاركة. السبب: $1",
|
||||
"Link expire date updated": "تم تحديث تاريخ انتهاء صلاحية الرابط.",
|
||||
"Link expire date failed to update. Reason: (.*)": "فشل تحديث تاريخ انتهاء صلاحية الرابط. السبب: $1",
|
||||
"Peer job saved": "تم حفظ وظيفة القرين",
|
||||
"Please specify job": "يرجى تحديد الوظيفة.",
|
||||
"Please specify peer and configuration": "يرجى تحديد القرين والإعداد",
|
||||
"Peer job deleted": "تم حذف وظيفة القرين",
|
||||
"API Keys function is successfully enabled": "تم تفعيل وظيفة مفاتيح API بنجاح",
|
||||
"API Keys function is successfully disabled": "تم تعطيل وظيفة مفاتيح API بنجاح",
|
||||
"API Keys function is failed to enable": "فشل تفعيل وظيفة مفاتيح API",
|
||||
"API Keys function is failed to disable": "فشل تعطيل وظيفة مفاتيح API",
|
||||
"WGDashboard API Keys function is disabled": "تم تعطيل وظيفة مفاتيح API في لوحة WGDashboard",
|
||||
"WireGuard configuration path saved": "تم حفظ مسار إعداد WireGuard",
|
||||
"API Key deleted": "تم حذف مفتاح API",
|
||||
"API Key created": "تم إنشاء مفتاح API",
|
||||
"Sign in session ended, please sign in again": "انتهت جلسة تسجيل الدخول، يرجى تسجيل الدخول مرة أخرى",
|
||||
"Please specify an IP Address (v4/v6)": "يرجى تحديد عنوان IP (v4/v6)",
|
||||
"Please provide ipAddress and count": "يرجى تقديم عنوان IP والعدد",
|
||||
"Please provide ipAddress": "يرجى تقديم عنوان IP",
|
||||
"Dashboard Language": "لغة لوحة التحكم",
|
||||
"Dashboard language update failed": "فشل تحديث لغة لوحة التحكم",
|
||||
"Peer Remote Endpoint": "النقطة الطرفية البعيدة للقرين",
|
||||
"New Configuration": "إعداد جديد",
|
||||
"Configuration Name": "اسم الإعداد",
|
||||
"Configuration name is invalid. Possible reasons:": "اسم الإعداد غير صالح. الأسباب المحتملة:",
|
||||
"Configuration name already exist\\.": "اسم الإعداد موجود بالفعل",
|
||||
"Configuration name can only contain 15 lower/uppercase alphabet, numbers, underscore, equal sign, plus sign, period and hyphen\\.": "يمكن أن يحتوي اسم الإعداد على 15 حرفًا فقط، بما في ذلك الحروف الكبيرة/الصغيرة، الأرقام، الشرطة السفلية، علامة التساوي، علامة الزائد، النقطة والشرطة",
|
||||
"Invalid Port": "المنفذ غير صالح",
|
||||
"Save Configuration": "حفظ الإعداد",
|
||||
"IP Address/CIDR is invalid": "عنوان IP/CIDR غير صالح",
|
||||
"IP Address": "عنوان IP",
|
||||
"Enter IP Address / Hostname": "أدخل عنوان IP / اسم المضيف",
|
||||
"IP Address / Hostname": "عنوان IP / اسم المضيف",
|
||||
"Dashboard IP Address \\& Listen Port": "عنوان IP لوحة التحكم ومنفذ الاستماع",
|
||||
"Count": "العدد",
|
||||
"Geolocation": "الموقع الجغرافي",
|
||||
"Is Alive": "نشط",
|
||||
"Average / Min / Max Round Trip Time": "متوسط / أدنى / أقصى وقت للرحلة الكاملة",
|
||||
"Sent / Received / Lost Package": "الحزم المرسلة / المستلمة / المفقودة",
|
||||
"Manual restart of WGDashboard is needed to apply changes on IP Address and Listen Port": "يتطلب إعادة تشغيل يدوي للوحة WGDashboard لتطبيق التغييرات على عنوان IP ومنفذ الاستماع",
|
||||
"Restore Configuration": "استعادة الإعداد",
|
||||
"Step (.*)": "الخطوة $1",
|
||||
"Select a backup you want to restore": "حدد النسخة الاحتياطية التي تريد استعادتها",
|
||||
"Click to change a backup": "انقر لتغيير النسخة الاحتياطية",
|
||||
"Selected Backup": "النسخة الاحتياطية المحددة",
|
||||
"You don't have any configuration to restore": "ليس لديك أي إعداد لاستعادته",
|
||||
"Help": "مساعدة",
|
||||
"Backup": "نسخة احتياطية",
|
||||
"([0-9].*) Backups?": "$1 نسخة احتياطية؟",
|
||||
"Yes": "نعم",
|
||||
"No": "لا",
|
||||
"Backup not selected": "لم يتم تحديد النسخة الاحتياطية",
|
||||
"Confirm \\& edit restore information": "تأكيد وتحرير معلومات الاستعادة",
|
||||
"(.*) Available IP Address": "عنوان IP متاح $1",
|
||||
"Database File": "ملف قاعدة البيانات",
|
||||
"Contain": "يحتوي على",
|
||||
"Restricted Peers?": "الأقران المقيدون؟",
|
||||
"Restore": "استعادة",
|
||||
"Restoring": "جاري الاستعادة",
|
||||
"WGDashboard Settings": "إعدادات WGDashboard",
|
||||
"Peers Settings": "إعدادات الأقران",
|
||||
"WireGuard Configuration Settings": "إعدادات تكوين WireGuard",
|
||||
"Appearance": "المظهر",
|
||||
"Theme": "السمة",
|
||||
"Language": "اللغة",
|
||||
"Account Settings": "إعدادات الحساب",
|
||||
"Peer Default Settings": "الإعدادات الافتراضية للأقران",
|
||||
"Toggle When Start Up": "التبديل عند بدء التشغيل",
|
||||
"Other Settings": "إعدادات أخرى",
|
||||
"Select Peers": "اختر الأقران",
|
||||
"Backup & Restore": "النسخ الاحتياطي والاستعادة",
|
||||
"Delete Configuration": "حذف الإعداد",
|
||||
"Create Backup": "إنشاء نسخة احتياطية",
|
||||
"No backup yet, click the button above to create backup\\.": "لا توجد نسخة احتياطية حتى الآن، انقر على الزر أعلاه لإنشاء نسخة احتياطية",
|
||||
"Are you sure to delete this backup\\?": "هل أنت متأكد من حذف هذه النسخة الاحتياطية؟",
|
||||
"Are you sure to restore this backup?\\": "هل أنت متأكد من استعادة هذه النسخة الاحتياطية؟",
|
||||
"Backup Date": "تاريخ النسخة الاحتياطية",
|
||||
"File": "الملف",
|
||||
"Are you sure to delete this configuration\\?": "هل أنت متأكد من حذف هذا الإعداد؟",
|
||||
"Once you deleted this configuration\\:": "بمجرد حذف هذا الإعداد:",
|
||||
"All connected peers will get disconnected": "سيتم فصل جميع الأقران المتصلين",
|
||||
"Both configuration file \\(\\.conf\\) and database table related to this configuration will get deleted": "سيتم حذف كل من ملف التكوين (.conf) وجدول قاعدة البيانات المرتبط بهذا التكوين",
|
||||
"Checking backups...": "جارٍ التحقق من النسخ الاحتياطية...",
|
||||
"This configuration have ([0-9].*) backups": "يحتوي هذا التكوين على $1 نسخة احتياطية",
|
||||
"This configuration have no backup": "لا يحتوي هذا التكوين على نسخ احتياطية",
|
||||
"If you're sure, please type in the configuration name below and click Delete": "إذا كنت متأكدًا، يرجى كتابة اسم الإعداد أدناه والنقر على حذف",
|
||||
"Select All": "تحديد الكل",
|
||||
"Clear Selection": "مسح التحديد",
|
||||
"([0-9].*) Peers?": "$1 قرين؟",
|
||||
"Downloading": "جاري التنزيل",
|
||||
"Download Finished": "اكتمل التنزيل",
|
||||
"Done": "تم",
|
||||
"Are you sure to delete": "هل أنت متأكد من الحذف",
|
||||
"Are you sure to delete this peer\\?": "هل أنت متأكد من حذف هذا القرين؟",
|
||||
"Configuration deleted": "تم حذف الإعداد",
|
||||
"Configuration saved": "تم حفظ الإعداد",
|
||||
"WGDashboard language update failed": "فشل تحديث لغة لوحة WGDashboard",
|
||||
"Configuration restored": "تم استعادة الإعداد",
|
||||
"Allowed IP already taken by another peer": "عنوان IP المسموح به مستخدم بالفعل بواسطة قرين آخر",
|
||||
"Failed to allow access of peer (.*)": "فشل السماح بوصول القرين $1",
|
||||
"Failed to save configuration through WireGuard": "فشل حفظ الإعداد من خلال WireGuard",
|
||||
"Allow access successfully": "تم السماح بالوصول بنجاح",
|
||||
"Deleted ([0-9]{1,}) peer\\(s\\)": "تم حذف $1 قرين(قرين)",
|
||||
"Deleted ([0-9]{1,}) peer\\(s\\) successfully. Failed to delete ([0-9]{1,}) peer\\(s\\)": "تم حذف $1 قرين(قرين) بنجاح. فشل في حذف $2 قرين(قرين)",
|
||||
"Restricted ([0-9]{1,}) peer\\(s\\)": "تم تقييد $1 قرين(قرين).",
|
||||
"Restricted ([0-9]{1,}) peer\\(s\\) successfully. Failed to restrict ([0-9]{1,}) peer\\(s\\)": "تم تقييد $1 قرين(قرين) بنجاح. فشل في تقييد $2 قرين(قرين)."
|
||||
}
|
@ -308,5 +308,5 @@
|
||||
"By adding peers by bulk, each peer's name will be auto generated, and Allowed IP will be assign to the next available IP\\.": "Při hromadném importu bude jméno každého peera vygenerované automaticky, a povolená IP adresa bude nastavena na další v pořadí",
|
||||
"How many peers you want to add\\?": "Kolik peerů chcete přidat?",
|
||||
"Adding\\.\\.\\.": "Přidávám...",
|
||||
"Dashboard IP Address \\& Listen Port": ""
|
||||
}
|
||||
"Dashboard IP Address \\& Listen Port": "Dashboard IP adresa a otevřený port"
|
||||
}
|
||||
|
312
src/static/locale/ko.json
Normal file
312
src/static/locale/ko.json
Normal file
@ -0,0 +1,312 @@
|
||||
{
|
||||
"Welcome to": "환영합니다",
|
||||
"Username": "사용자 이름",
|
||||
"Password": "비밀번호",
|
||||
"OTP from your authenticator": "인증기에서 생성된 OTP",
|
||||
"Sign In": "로그인",
|
||||
"Signing In\\.\\.\\.": "로그인하는 중...",
|
||||
"Access Remote Server": "원격 서버 접속",
|
||||
"Server": "서버",
|
||||
"Click": "클릭",
|
||||
"Pinging...": "핑 테스트 중...",
|
||||
"to add your server": "서버를 추가하려면",
|
||||
"Server List": "서버 목록",
|
||||
"Sorry, your username or password is incorrect.": "죄송합니다. 사용자 이름 또는 비밀번호가 올바르지 않습니다.",
|
||||
"Home": "홈",
|
||||
"Settings": "설정",
|
||||
"Tools": "도구",
|
||||
"Sign Out": "로그아웃",
|
||||
"Checking for update...": "업데이트 확인 중...",
|
||||
"You're on the latest version": "최신 버전을 사용 중입니다",
|
||||
"WireGuard Configurations": "WireGuard 구성",
|
||||
"You don't have any WireGuard configurations yet. Please check the configuration folder or change it in Settings. By default the folder is /etc/wireguard.": "아직 WireGuard 구성이 없습니다. 구성 폴더를 확인하거나 설정에서 변경하세요. 기본 폴더는 /etc/wireguard 입니다.",
|
||||
"Configuration": "구성",
|
||||
"Configurations": "구성들",
|
||||
"Peers Default Settings": "기본 피어 설정",
|
||||
"Dashboard Theme": "대시보드 테마",
|
||||
"Light": "밝은 테마",
|
||||
"Dark": "어두운 테마",
|
||||
"This will be changed globally, and will be apply to all peer's QR code and configuration file.": "이 설정은 전역적으로 변경되며, 모든 피어의 QR 코드 및 구성 파일에 적용됩니다.",
|
||||
"WireGuard Configurations Settings": "WireGuard 구성 설정",
|
||||
"Configurations Directory": "구성 디렉토리",
|
||||
"Remember to remove / at the end of your path. e.g /etc/wireguard": "경로 끝의 '/'를 제거하세요. 예: /etc/wireguard",
|
||||
"WGDashboard Account Settings": "WGDashboard 계정 설정",
|
||||
"Current Password": "현재 비밀번호",
|
||||
"New Password": "새 비밀번호",
|
||||
"Repeat New Password": "새 비밀번호 확인",
|
||||
"Update Password": "비밀번호 변경",
|
||||
"Multi-Factor Authentication \\(MFA\\)": "다중 인증 (MFA)",
|
||||
"Reset": "재설정",
|
||||
"Setup": "설정",
|
||||
"API Keys": "API 키",
|
||||
"API Key": "API 키",
|
||||
"Key": "키",
|
||||
"Enabled": "활성화됨",
|
||||
"Disabled": "비활성화됨",
|
||||
"No WGDashboard API Key": "WGDashboard API 키가 없습니다",
|
||||
"Expire At": "만료일",
|
||||
"Are you sure to delete this API key\\?": "이 API 키를 삭제하시겠습니까?",
|
||||
"Create API Key": "API 키 생성",
|
||||
"When should this API Key expire\\?": "이 API 키는 언제 만료되나요?",
|
||||
"Never Expire": "만료 없음",
|
||||
"Don't think that's a good idea": "별로 좋은 생각이 아닌 것 같습니다",
|
||||
"Creating\\.\\.\\.": "생성 중...",
|
||||
"Create": "생성",
|
||||
"Status": "상태",
|
||||
"On": "켜짐",
|
||||
"Off": "꺼짐",
|
||||
"Turning On\\.\\.\\.": "켜는 중...",
|
||||
"Turning Off\\.\\.\\.": "끄는 중...",
|
||||
"Address": "주소",
|
||||
"Listen Port": "수신 포트",
|
||||
"Public Key": "공개 키",
|
||||
"Connected Peers": "연결된 피어",
|
||||
"Total Usage": "총 사용량",
|
||||
"Total Received": "총 수신량",
|
||||
"Total Sent": "총 송신량",
|
||||
"Peers Data Usage": "피어 데이터 사용량",
|
||||
"Real Time Received Data Usage": "실시간 수신 데이터 사용량",
|
||||
"Real Time Sent Data Usage": "실시간 송신 데이터 사용량",
|
||||
"Peer": "피어",
|
||||
"Peers": "피어들",
|
||||
"Peer Settings": "피어 설정",
|
||||
"Download All": "전체 다운로드",
|
||||
"Search Peers\\.\\.\\.": "피어 검색...",
|
||||
"Display": "표시",
|
||||
"Sort By": "정렬 기준",
|
||||
"Refresh Interval": "새로고침 간격",
|
||||
"Name": "이름",
|
||||
"Allowed IPs": "허용된 IP",
|
||||
"Restricted": "제한됨",
|
||||
"(.*) Seconds": "$1 초",
|
||||
"(.*) Minutes": "$1 분",
|
||||
"Configuration Settings": "구성 설정",
|
||||
"Peer Jobs": "피어 작업",
|
||||
"Active Jobs": "활성 작업",
|
||||
"All Active Jobs": "모든 활성 작업",
|
||||
"Logs": "로그",
|
||||
"Private Key": "개인 키",
|
||||
"\\(Required for QR Code and Download\\)": "(QR 코드 및 다운로드에 필요)",
|
||||
"\\(Required\\)": "(필수)",
|
||||
"Endpoint Allowed IPs": "엔드포인트 허용된 IP",
|
||||
"DNS": "DNS",
|
||||
"Optional Settings": "선택적 설정",
|
||||
"Pre-Shared Key": "사전 공유 키",
|
||||
"MTU": "MTU",
|
||||
"Persistent Keepalive": "Keepalive 지속 유지",
|
||||
"Reset Data Usage": "데이터 사용량 초기화",
|
||||
"Total": "총합",
|
||||
"Sent": "전송됨",
|
||||
"Received": "수신됨",
|
||||
"Revert": "되돌리기",
|
||||
"Save Peer": "피어 저장",
|
||||
"QR Code": "QR 코드",
|
||||
"Schedule Jobs": "작업 예약",
|
||||
"Job": "작업",
|
||||
"Job ID": "작업 ID",
|
||||
"Unsaved Job": "저장되지 않은 작업",
|
||||
"This peer does not have any job yet\\.": "이 피어에는 아직 작업이 없습니다.",
|
||||
"if": "만약",
|
||||
"is": "이다",
|
||||
"then": "그러면",
|
||||
"larger than": "보다 큼",
|
||||
"Date": "날짜",
|
||||
"Restrict Peer": "피어 제한",
|
||||
"Delete Peer": "피어 삭제",
|
||||
"Edit": "수정",
|
||||
"Delete": "삭제",
|
||||
"Deleting...": "삭제 중...",
|
||||
"Cancel": "취소",
|
||||
"Save": "저장",
|
||||
"No active job at the moment\\.": "현재 활성 작업이 없습니다.",
|
||||
"Jobs Logs": "작업 로그",
|
||||
"Updated at": "업데이트된 날짜",
|
||||
"Refresh": "새로고침",
|
||||
"Filter": "필터",
|
||||
"Success": "성공",
|
||||
"Failed": "실패",
|
||||
"Log ID": "로그 ID",
|
||||
"Message": "메시지",
|
||||
"Share Peer": "피어 공유",
|
||||
"Currently the peer is not sharing": "현재 이 피어는 공유 중이 아닙니다",
|
||||
"Sharing\\.\\.\\.": "공유 중...",
|
||||
"Stop Sharing\\.\\.\\.": "공유 중지 중...",
|
||||
"Start Sharing": "공유 시작",
|
||||
"Stop Sharing": "공유 중지",
|
||||
"Access Restricted": "접근 제한됨",
|
||||
"Restrict Access": "접근 제한",
|
||||
"Restricting\\.\\.\\.": "제한 중...",
|
||||
"Allow Access": "접근 허용",
|
||||
"Allowing Access\\.\\.\\.": "접근 허용 중...",
|
||||
"Download \\& QR Code is not available due to no private key set for this peer": "이 피어에 대해 설정된 개인 키가 없기 때문에 다운로드 & QR 코드를 사용할 수 없습니다.",
|
||||
"By adding peers by bulk, each peer's name will be auto generated, and Allowed IP will be assign to the next available IP\\.": "피어를 일괄로 추가하면 각 피어의 이름이 자동으로 생성되고 허용된 IP는 사용 가능한 다음 IP에 할당됩니다.",
|
||||
"Add Peers": "피어 추가",
|
||||
"Bulk Add": "일괄 추가",
|
||||
"How many peers you want to add\\?": "몇 개의 피어를 추가하시겠습니까?",
|
||||
"You can add up to (.*) peers": "$1 개의 피어까지 추가할 수 있습니다",
|
||||
"Use your own Private and Public Key": "자체 개인 및 공개 키 사용",
|
||||
"Enter IP Address/CIDR": "IP 주소/CIDR 입력",
|
||||
"IP Address/CIDR": "IP 주소/CIDR",
|
||||
"or": "또는",
|
||||
"Pick Available IP": "사용 가능한 IP 선택",
|
||||
"No available IP containing": "포함된 사용 가능한 IP가 없습니다",
|
||||
"Add": "추가",
|
||||
"Adding\\.\\.\\.": "추가 중...",
|
||||
"Failed to check available update": "사용 가능한 업데이트 확인 실패",
|
||||
"Nice to meet you!": "만나서 반가워요!",
|
||||
"Please fill in the following fields to finish setup": "설정을 완료하려면 아래 필드를 작성하세요",
|
||||
"Create an account": "계정 생성",
|
||||
"Enter an username you like": "원하는 사용자 이름 입력",
|
||||
"Enter a password": "비밀번호 입력",
|
||||
"\\(At least 8 characters and make sure is strong enough!\\)": "(최소 8자 이상이고 강력한 비밀번호여야 합니다!)",
|
||||
"Confirm password": "비밀번호 확인",
|
||||
"Next": "다음",
|
||||
"Saving\\.\\.\\.": "저장 중...",
|
||||
"1\\. Please scan the following QR Code to generate TOTP with your choice of authenticator": "1. 다음 QR 코드를 스캔하여 선택한 인증기로 TOTP를 생성하세요",
|
||||
"Or you can click the link below:": "또는 아래 링크를 클릭하세요",
|
||||
"2\\. Enter the TOTP generated by your authenticator to verify": "2. 인증기에서 생성된 TOTP를 입력하여 확인하세요",
|
||||
"TOTP verified!": "TOTP가 확인되었습니다!",
|
||||
"I don't need MFA": "MFA가 필요 없습니다",
|
||||
"Complete": "완료",
|
||||
"(v[0-9.]{1,}) is now available for update!": "$1 업데이트가 가능합니다!",
|
||||
"Current Version:": "현재 버전:",
|
||||
"Oh no\\.\\.\\. This link is either expired or invalid\\.": "앗... 이 링크는 만료되었거나 잘못되었습니다.",
|
||||
"Scan QR Code with the WireGuard App to add peer": "WireGuard 앱으로 QR 코드를 스캔하여 피어를 추가하세요",
|
||||
"or click the button below to download the ": "또는 아래 버튼을 클릭하여 다운로드하세요 ",
|
||||
" file": " 파일",
|
||||
"FROM ": "FROM ",
|
||||
"(.*) is on": "$1 켜짐",
|
||||
"(.*) is off": "$1 꺼짐",
|
||||
"Allowed IPs is invalid": "허용된 IP가 올바르지 않습니다",
|
||||
"Peer created successfully": "피어가 성공적으로 생성되었습니다",
|
||||
"Please fill in all required box": "모든 필수 항목을 입력하세요",
|
||||
"Please specify amount of peers you want to add": "추가할 피어의 수를 지정하세요",
|
||||
"No more available IP can assign": "더 이상 할당 가능한 IP가 없습니다",
|
||||
"The maximum number of peers can add is (.*)": "추가할 수 있는 피어의 최대 수는 $1 개입니다",
|
||||
"Generating key pairs by bulk failed": "일괄 키 쌍 생성 실패",
|
||||
"Failed to add peers in bulk": "일괄 피어 추가 실패",
|
||||
"This peer already exist": "이 피어는 이미 존재합니다",
|
||||
"This IP is not available: (.*)": "이 IP는 사용할 수 없습니다: $1",
|
||||
"Configuration does not exist": "구성이 존재하지 않습니다",
|
||||
"Peer does not exist": "피어가 존재하지 않습니다",
|
||||
"Please provide a valid configuration name": "유효한 구성 이름을 입력하세요",
|
||||
"Peer saved": "피어가 저장되었습니다",
|
||||
"Allowed IPs already taken by another peer": "허용된 IP가 다른 피어에 의해 이미 사용 중입니다",
|
||||
"Endpoint Allowed IPs format is incorrect": "엔드포인트 허용된 IP 형식이 올바르지 않습니다",
|
||||
"DNS format is incorrect": "DNS 형식이 올바르지 않습니다",
|
||||
"MTU format is not correct": "MTU 형식이 올바르지 않습니다",
|
||||
"Persistent Keepalive format is not correct": "지속적 Keepalive 형식이 올바르지 않습니다",
|
||||
"Private key does not match with the public key": "개인 키가 공개 키와 일치하지 않습니다",
|
||||
"Update peer failed when updating Pre-Shared Key": "사전 공유 키 업데이트 중 피어 업데이트 실패",
|
||||
"Update peer failed when updating Allowed IPs": "허용된 IP 업데이트 중 피어 업데이트 실패",
|
||||
"Update peer failed when saving the configuration": "구성 저장 중 피어 업데이트 실패",
|
||||
"Peer data usage reset successfully": "피어 데이터 사용량이 성공적으로 초기화되었습니다",
|
||||
"Peer download started": "피어 다운로드가 시작되었습니다",
|
||||
"Please specify one or more peers": "하나 이상의 피어를 지정하세요",
|
||||
"Share link failed to create. Reason: (.*)": "공유 링크 생성에 실패했습니다. 이유: $1",
|
||||
"Link expire date updated": "링크 만료 날짜가 업데이트되었습니다",
|
||||
"Link expire date failed to update. Reason: (.*)": "링크 만료 날짜 업데이트에 실패했습니다. 이유: $1",
|
||||
"Peer job saved": "피어 작업이 저장되었습니다",
|
||||
"Please specify job": "작업을 지정하세요",
|
||||
"Please specify peer and configuration": "피어와 구성을 지정하세요",
|
||||
"Peer job deleted": "피어 작업이 삭제되었습니다",
|
||||
"API Keys function is successfully enabled": "API 키 기능이 성공적으로 활성화되었습니다",
|
||||
"API Keys function is successfully disabled": "API 키 기능이 성공적으로 비활성화되었습니다",
|
||||
"API Keys function is failed to enable": "API 키 기능 활성화에 실패했습니다",
|
||||
"API Keys function is failed to disable": "API 키 기능 비활성화에 실패했습니다",
|
||||
"WGDashboard API Keys function is disabled": "WGDashboard API 키 기능이 비활성화되었습니다",
|
||||
"WireGuard configuration path saved": "WireGuard 구성 경로가 저장되었습니다",
|
||||
"API Key deleted": "API 키가 삭제되었습니다",
|
||||
"API Key created": "API 키가 생성되었습니다",
|
||||
"Sign in session ended, please sign in again": "로그인 세션이 종료되었습니다. 다시 로그인해주세요",
|
||||
"Please specify an IP Address (v4/v6)": "IP 주소 (v4/v6)를 지정하세요",
|
||||
"Please provide ipAddress and count": "ipAddress와 개수를 제공하세요",
|
||||
"Please provide ipAddress": "ipAddress를 제공하세요",
|
||||
"Dashboard Language": "대시보드 언어",
|
||||
"Dashboard language update failed": "대시보드 언어 업데이트 실패",
|
||||
"Peer Remote Endpoint": "피어 원격 엔드포인트",
|
||||
"New Configuration": "새 구성",
|
||||
"Configuration Name": "구성 이름",
|
||||
"Configuration name is invalid. Possible reasons:": "구성 이름이 올바르지 않습니다. 가능한 원인:",
|
||||
"Configuration name already exist\\.": "구성 이름이 이미 존재합니다.",
|
||||
"Configuration name can only contain 15 lower/uppercase alphabet, numbers, underscore, equal sign, plus sign, period and hyphen\\.": "구성 이름은 15자 이하의 소문자/대문자 알파벳, 숫자, 밑줄, 등호, 더하기 기호, 마침표 및 하이픈만 포함할 수 있습니다.",
|
||||
"Invalid Port": "유효하지 않은 포트",
|
||||
"Save Configuration": "구성 저장",
|
||||
"IP Address/CIDR is invalid": "IP 주소/CIDR이 올바르지 않습니다",
|
||||
"IP Address": "IP 주소",
|
||||
"Enter IP Address / Hostname": "IP 주소 / 호스트명 입력",
|
||||
"IP Address / Hostname": "IP 주소 / 호스트명",
|
||||
"Dashboard IP Address \\& Listen Port": "대시보드 IP 주소 & 수신 포트",
|
||||
"Count": "개수",
|
||||
"Geolocation": "위치",
|
||||
"Is Alive": "활성 상태",
|
||||
"Average / Min / Max Round Trip Time": "평균 / 최소 / 최대 왕복 시간",
|
||||
"Sent / Received / Lost Package": "전송 / 수신 / 손실 패킷",
|
||||
"Manual restart of WGDashboard is needed to apply changes on IP Address and Listen Port": "IP 주소 및 수신 포트 변경 사항을 적용하려면 WGDashboard를 수동으로 재시작해야 합니다",
|
||||
"Restore Configuration": "구성 복원",
|
||||
"Step (.*)": "단계 $1",
|
||||
"Select a backup you want to restore": "복원할 백업을 선택하세요",
|
||||
"Click to change a backup": "백업을 변경하려면 클릭하세요",
|
||||
"Selected Backup": "선택된 백업",
|
||||
"You don't have any configuration to restore": "복원할 구성이 없습니다",
|
||||
"Help": "도움말",
|
||||
"Backup": "백업",
|
||||
"([0-9].*) Backups?": "$1 백업",
|
||||
"Yes": "예",
|
||||
"No": "아니오",
|
||||
"Backup not selected": "백업이 선택되지 않았습니다",
|
||||
"Confirm \\& edit restore information": "복원 정보 확인 & 편집",
|
||||
"(.*) Available IP Address": "$1 사용 가능한 IP 주소",
|
||||
"Database File": "데이터베이스 파일",
|
||||
"Contain": "포함",
|
||||
"Restricted Peers?": "제한된 피어?",
|
||||
"Restore": "복원",
|
||||
"Restoring": "복원 중...",
|
||||
"WGDashboard Settings": "WGDashboard 설정",
|
||||
"Peers Settings": "피어 설정",
|
||||
"WireGuard Configuration Settings": "WireGuard 구성 설정",
|
||||
"Appearance": "외관",
|
||||
"Theme": "테마",
|
||||
"Language": "언어",
|
||||
"Account Settings": "계정 설정",
|
||||
"Peer Default Settings": "피어 기본 설정",
|
||||
"Toggle When Start Up": "시작 시 실행",
|
||||
"Other Settings": "기타 설정",
|
||||
"Select Peers": "피어 선택",
|
||||
"Backup & Restore": "백업 & 복원",
|
||||
"Delete Configuration": "구성 삭제",
|
||||
"Create Backup": "백업 생성",
|
||||
"No backup yet, click the button above to create backup\\.": "아직 백업이 없습니다. 위의 버튼을 클릭하여 백업을 생성하세요.",
|
||||
"Are you sure to delete this backup\\?": "이 백업을 삭제하시겠습니까?",
|
||||
"Are you sure to restore this backup?\\": "이 백업을 복원하시겠습니까?",
|
||||
"Backup Date": "백업 날짜",
|
||||
"File": "파일",
|
||||
"Are you sure to delete this configuration\\?": "이 구성을 삭제하시겠습니까?",
|
||||
"Once you deleted this configuration\\:": "이 구성을 삭제하면:",
|
||||
"All connected peers will get disconnected": "연결된 모든 피어의 연결이 끊깁니다",
|
||||
"Both configuration file \\(\\.conf\\) and database table related to this configuration will get deleted": "이 구성과 관련된 구성 파일 (.conf) 및 데이터베이스 테이블이 삭제됩니다",
|
||||
"Checking backups...": "백업 확인 중...",
|
||||
"This configuration have ([0-9].*) backups": "이 구성에는 $1 개의 백업이 있습니다",
|
||||
"This configuration have no backup": "이 구성에는 백업이 없습니다",
|
||||
"If you're sure, please type in the configuration name below and click Delete": "확실하다면, 아래에 구성 이름을 입력하고 삭제를 클릭하세요",
|
||||
"Select All": "전체 선택",
|
||||
"Clear Selection": "선택 해제",
|
||||
"([0-9].*) Peers?": "$1 피어",
|
||||
"Downloading": "다운로드 중",
|
||||
"Download Finished": "다운로드 완료",
|
||||
"Done": "완료",
|
||||
"Are you sure to delete": "정말로 삭제하시겠습니까",
|
||||
"Are you sure to delete this peer\\?": "정말로 이 피어를 삭제하시겠습니까",
|
||||
"Configuration deleted": "구성이 삭제되었습니다",
|
||||
"Configuration saved": "구성이 저장되었습니다",
|
||||
"WGDashboard language update failed": "WGDashboard 언어 업데이트 실패",
|
||||
"Configuration restored": "구성이 복원되었습니다",
|
||||
"Allowed IP already taken by another peer": "허용된 IP가 다른 피어에 의해 이미 사용 중입니다",
|
||||
"Failed to allow access of peer (.*)": "피어 (.*)의 접근 허용에 실패했습니다",
|
||||
"Failed to save configuration through WireGuard": "WireGuard를 통한 구성 저장에 실패했습니다",
|
||||
"Allow access successfully": "접근 허용에 성공했습니다",
|
||||
"Deleted ([0-9]{1,}) peer\\(s\\)": "$1 피어가 삭제되었습니다",
|
||||
"Deleted ([0-9]{1,}) peer\\(s\\) successfully. Failed to delete ([0-9]{1,}) peer\\(s\\)": "$1 피어가 성공적으로 삭제되었습니다. $2 피어 삭제에 실패했습니다",
|
||||
"Restricted ([0-9]{1,}) peer\\(s\\)": "$1 피어가 제한되었습니다",
|
||||
"Restricted ([0-9]{1,}) peer\\(s\\) successfully. Failed to restrict ([0-9]{1,}) peer\\(s\\)": "$1 피어가 성공적으로 제한되었습니다. $2 피어 제한에 실패했습니다"
|
||||
}
|
Loading…
Reference in New Issue
Block a user