mirror of
https://github.com/amnezia-vpn/amneziawg-windows-client.git
synced 2026-05-17 00:05:45 +03:00
Import WireGuard changes (#46)
* replace wg.exe with awg.exe * update docs, update admin reg key * rename awg modules * build awg from source * remove unused params * improve work with tools * safe rebranding: change upgrade code, windows class and name * safe rebranding: wg -> awg * update dependencies, fixed showing transfered KBs * locales: sync with crowdin Signed-off-by: Simon Rozman <simon@rozman.si> * installer: update WiX Toolset download URL and version The version 3.14.0.4118 we were using is no longer available for download. Signed-off-by: Simon Rozman <simon@rozman.si> * build: make code signing method configurable Existing code signing was hard-coded to use a locally installed certificate (hardware security dongles included). However, signtool.exe is extensible to allow any kind of digest signing plugin with /dlib and /dmdf switches. This is used for cloud-based code signing (e.g. Microsoft Trusted Signing). Signed-off-by: Simon Rozman <simon@rozman.si> * rename WireGuard to AmneziaWG in new localization files --------- Signed-off-by: Simon Rozman <simon@rozman.si> Co-authored-by: Simon Rozman <simon@rozman.si>
This commit is contained in:
@@ -46,10 +46,10 @@ if exist .deps\prepared goto :render
|
||||
|
||||
:sign
|
||||
if exist .\sign.bat call .\sign.bat
|
||||
if "%SigningCertificate%"=="" goto :success
|
||||
if "%SigningProvider%"=="" goto :success
|
||||
if "%TimestampServer%"=="" goto :success
|
||||
echo [+] Signing
|
||||
signtool sign /sha1 "%SigningCertificate%" /fd sha256 /tr "%TimestampServer%" /td sha256 /d WireGuard x86\amneziawg.exe x86\awg.exe amd64\amneziawg.exe amd64\awg.exe arm64\amneziawg.exe arm64\awg.exe || goto :error
|
||||
signtool sign %SigningProvider% /fd sha256 /tr "%TimestampServer%" /td sha256 /d WireGuard x86\amneziawg.exe x86\awg.exe amd64\amneziawg.exe amd64\awg.exe arm64\amneziawg.exe arm64\awg.exe || goto :error
|
||||
|
||||
:success
|
||||
echo [+] Success. Launch amneziawg.exe.
|
||||
|
||||
@@ -60,7 +60,7 @@ C:\Projects\amneziawg-windows-client\installer> build
|
||||
Add a file called `sign.bat` in the root of this repository with these contents, or similar:
|
||||
|
||||
```text
|
||||
set SigningCertificate=8BC932FDFF15B892E8364C49B383210810E4709D
|
||||
set SigningProvider=/sha1 8BC932FDFF15B892E8364C49B383210810E4709D
|
||||
set TimestampServer=http://timestamp.entrust.net/rfc3161ts2
|
||||
```
|
||||
|
||||
|
||||
@@ -40,10 +40,10 @@ if exist .deps\prepared goto :build
|
||||
call :msi x86 i686 x86 || goto :error
|
||||
call :msi amd64 x86_64 x64 || goto :error
|
||||
call :msi arm64 aarch64 arm64 || goto :error
|
||||
if "%SigningCertificate%"=="" goto :success
|
||||
if "%SigningProvider%"=="" goto :success
|
||||
if "%TimestampServer%"=="" goto :success
|
||||
echo [+] Signing
|
||||
signtool sign /sha1 "%SigningCertificate%" /fd sha256 /tr "%TimestampServer%" /td sha256 /d "AmneziaWG Setup" "dist\amneziawg-*-%WIREGUARD_VERSION%.msi" || goto :error
|
||||
signtool sign %SigningProvider% /fd sha256 /tr "%TimestampServer%" /td sha256 /d "AmneziaWG Setup" "dist\amneziawg-*-%WIREGUARD_VERSION%.msi" || goto :error
|
||||
|
||||
:success
|
||||
echo [+] Success.
|
||||
@@ -61,10 +61,10 @@ if exist .deps\prepared goto :build
|
||||
if not exist "%~1" mkdir "%~1"
|
||||
echo [+] Compiling %1
|
||||
%CC% %CFLAGS% %LDFLAGS% -o "%~1\customactions.dll" customactions.c %LDLIBS% || exit /b 1
|
||||
if "%SigningCertificate%"=="" goto :skipsign
|
||||
if "%SigningProvider%"=="" goto :skipsign
|
||||
if "%TimestampServer%"=="" goto :skipsign
|
||||
echo [+] Signing %1
|
||||
signtool sign /sha1 "%SigningCertificate%" /fd sha256 /tr "%TimestampServer%" /td sha256 /d "AmneziaWG Setup Custom Actions" "%~1\customactions.dll" || exit /b 1
|
||||
signtool sign %SigningProvider% /fd sha256 /tr "%TimestampServer%" /td sha256 /d "AmneziaWG Setup Custom Actions" "%~1\customactions.dll" || exit /b 1
|
||||
:skipsign
|
||||
"%WIX%bin\candle" %WIX_CANDLE_FLAGS% -dWIREGUARD_PLATFORM="%~1" -out "%~1\wireguard.wixobj" -arch %3 wireguard.wxs || exit /b %errorlevel%
|
||||
echo [+] Linking %1
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
1847
locales/et/messages.gotext.json
Normal file
1847
locales/et/messages.gotext.json
Normal file
File diff suppressed because it is too large
Load Diff
@@ -7,18 +7,130 @@
|
||||
"translation": "خطا",
|
||||
"translatorComment": "Copied from source."
|
||||
},
|
||||
{
|
||||
"id": "(no argument): elevate and install manager service",
|
||||
"message": "(no argument): elevate and install manager service",
|
||||
"translation": "(بدون ورودیی): سرویس مدیریت را ارتقا و نصب کنید",
|
||||
"translatorComment": "Copied from source."
|
||||
},
|
||||
{
|
||||
"id": "Usage: {Args0} [\n{String}]",
|
||||
"message": "Usage: {Args0} [\n{String}]",
|
||||
"translation": "استفاده: {Args0} [\n{String}]",
|
||||
"translatorComment": "Copied from source.",
|
||||
"placeholders": [
|
||||
{
|
||||
"id": "Args0",
|
||||
"string": "%[1]s",
|
||||
"type": "string",
|
||||
"underlyingType": "string",
|
||||
"argNum": 1,
|
||||
"expr": "os.Args[0]"
|
||||
},
|
||||
{
|
||||
"id": "String",
|
||||
"string": "%[2]s",
|
||||
"type": "string",
|
||||
"underlyingType": "string",
|
||||
"argNum": 2,
|
||||
"expr": "builder.String()"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "Command Line Options",
|
||||
"message": "Command Line Options",
|
||||
"translation": "گزینههای خط فرمان",
|
||||
"translatorComment": "Copied from source."
|
||||
},
|
||||
{
|
||||
"id": "Unable to determine whether the process is running under WOW64: {Err}",
|
||||
"message": "Unable to determine whether the process is running under WOW64: {Err}",
|
||||
"translation": "ناتوان در ارزیابی اینکه فرآیند تحت WOW64 کار می کند: {Err}",
|
||||
"translatorComment": "Copied from source.",
|
||||
"placeholders": [
|
||||
{
|
||||
"id": "Err",
|
||||
"string": "%[1]v",
|
||||
"type": "error",
|
||||
"underlyingType": "interface{Error() string}",
|
||||
"argNum": 1,
|
||||
"expr": "err"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "You must use the native version of AmneziaWG on this computer.",
|
||||
"message": "You must use the native version of AmneziaWG on this computer.",
|
||||
"translation": "شما باید از نگارش بومی وایرگارد بر روی این رایانه استفاده کنید.",
|
||||
"translatorComment": "Copied from source."
|
||||
},
|
||||
{
|
||||
"id": "Unable to open current process token: {Err}",
|
||||
"message": "Unable to open current process token: {Err}",
|
||||
"translation": "رمز فرآیند فعلی باز نشد: {Err}",
|
||||
"translatorComment": "Copied from source.",
|
||||
"placeholders": [
|
||||
{
|
||||
"id": "Err",
|
||||
"string": "%[1]v",
|
||||
"type": "error",
|
||||
"underlyingType": "interface{Error() string}",
|
||||
"argNum": 1,
|
||||
"expr": "err"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "AmneziaWG may only be used by users who are a member of the Builtin {AdminGroupName} group.",
|
||||
"message": "AmneziaWG may only be used by users who are a member of the Builtin {AdminGroupName} group.",
|
||||
"translation": "وایرگارد فقط توسط کاربرانی که عضو گروه {AdminGroupName} هستند ممکن است استفاده شود.",
|
||||
"translatorComment": "Copied from source.",
|
||||
"placeholders": [
|
||||
{
|
||||
"id": "AdminGroupName",
|
||||
"string": "%[1]s",
|
||||
"type": "string",
|
||||
"underlyingType": "string",
|
||||
"argNum": 1,
|
||||
"expr": "elevate.AdminGroupName()"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "AmneziaWG is running, but the UI is only accessible from desktops of the Builtin {AdminGroupName} group.",
|
||||
"message": "AmneziaWG is running, but the UI is only accessible from desktops of the Builtin {AdminGroupName} group.",
|
||||
"translation": "وایرگارد در حال اجرا است، اما رابط کاربری فقط از دسکتاپ های گروه {AdminGroupName} قابل دسترسی است.",
|
||||
"translatorComment": "Copied from source.",
|
||||
"placeholders": [
|
||||
{
|
||||
"id": "AdminGroupName",
|
||||
"string": "%[1]s",
|
||||
"type": "string",
|
||||
"underlyingType": "string",
|
||||
"argNum": 1,
|
||||
"expr": "elevate.AdminGroupName()"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "AmneziaWG system tray icon did not appear after 30 seconds.",
|
||||
"message": "AmneziaWG system tray icon did not appear after 30 seconds.",
|
||||
"translation": "ایکون وایرگارد در سینی سیستم ،بعد از 30 ثانیه ظاهر نشد.",
|
||||
"translatorComment": "Copied from source."
|
||||
},
|
||||
{
|
||||
"id": "Now",
|
||||
"message": "Now",
|
||||
"translation": "هم اکنون",
|
||||
"translatorComment": "Copied from source."
|
||||
},
|
||||
{
|
||||
"id": "System clock wound backward!",
|
||||
"message": "System clock wound backward!",
|
||||
"translation": "زمان سیستم شما عقب است!",
|
||||
"translatorComment": "Copied from source."
|
||||
},
|
||||
{
|
||||
"id": "{Years} year(s)",
|
||||
"message": "{Years} year(s)",
|
||||
@@ -191,12 +303,124 @@
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "{Float64b__1024} KiB",
|
||||
"message": "{Float64b__1024} KiB",
|
||||
"translation": "{Float64b__1024} KiB",
|
||||
"translatorComment": "Copied from source.",
|
||||
"placeholders": [
|
||||
{
|
||||
"id": "Float64b__1024",
|
||||
"string": "%.2[1]f",
|
||||
"type": "float64",
|
||||
"underlyingType": "float64",
|
||||
"argNum": 1,
|
||||
"expr": "float64(b) / 1024"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "{Float64b__1024__1024} MiB",
|
||||
"message": "{Float64b__1024__1024} MiB",
|
||||
"translation": "{Float64b__1024__1024} MiB",
|
||||
"translatorComment": "Copied from source.",
|
||||
"placeholders": [
|
||||
{
|
||||
"id": "Float64b__1024__1024",
|
||||
"string": "%.2[1]f",
|
||||
"type": "float64",
|
||||
"underlyingType": "float64",
|
||||
"argNum": 1,
|
||||
"expr": "float64(b) / (1024 * 1024)"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "{Float64b__1024__1024__1024} GiB",
|
||||
"message": "{Float64b__1024__1024__1024} GiB",
|
||||
"translation": "{Float64b__1024__1024__1024} GiB",
|
||||
"translatorComment": "Copied from source.",
|
||||
"placeholders": [
|
||||
{
|
||||
"id": "Float64b__1024__1024__1024",
|
||||
"string": "%.2[1]f",
|
||||
"type": "float64",
|
||||
"underlyingType": "float64",
|
||||
"argNum": 1,
|
||||
"expr": "float64(b) / (1024 * 1024 * 1024)"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "{Float64b__1024__1024__1024__1024} TiB",
|
||||
"message": "{Float64b__1024__1024__1024__1024} TiB",
|
||||
"translation": "{Float64b__1024__1024__1024__1024} TiB",
|
||||
"translatorComment": "Copied from source.",
|
||||
"placeholders": [
|
||||
{
|
||||
"id": "Float64b__1024__1024__1024__1024",
|
||||
"string": "%.2[1]f",
|
||||
"type": "float64",
|
||||
"underlyingType": "float64",
|
||||
"argNum": 1,
|
||||
"expr": "float64(b) / (1024 * 1024 * 1024) / 1024"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "{Why}: {Offender}",
|
||||
"message": "{Why}: {Offender}",
|
||||
"translation": "{Why}: {Offender}",
|
||||
"translatorComment": "Copied from source.",
|
||||
"placeholders": [
|
||||
{
|
||||
"id": "Why",
|
||||
"string": "%[1]s",
|
||||
"type": "string",
|
||||
"underlyingType": "string",
|
||||
"argNum": 1,
|
||||
"expr": "e.why"
|
||||
},
|
||||
{
|
||||
"id": "Offender",
|
||||
"string": "%[2]q",
|
||||
"type": "string",
|
||||
"underlyingType": "string",
|
||||
"argNum": 2,
|
||||
"expr": "e.offender"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "Invalid IP address",
|
||||
"message": "Invalid IP address",
|
||||
"translation": "نشانی آیپی نامعتبر است",
|
||||
"translatorComment": "Copied from source."
|
||||
},
|
||||
{
|
||||
"id": "Invalid network prefix length",
|
||||
"message": "Invalid network prefix length",
|
||||
"translation": "طول پیشوند شبکه نامعتبر است",
|
||||
"translatorComment": "Copied from source."
|
||||
},
|
||||
{
|
||||
"id": "Missing port from endpoint",
|
||||
"message": "Missing port from endpoint",
|
||||
"translation": "پورت از نقطه پایانی وجود ندارد",
|
||||
"translatorComment": "Copied from source."
|
||||
},
|
||||
{
|
||||
"id": "Invalid endpoint host",
|
||||
"message": "Invalid endpoint host",
|
||||
"translation": "میزبان نقطه پایانی نامعتبر است",
|
||||
"translatorComment": "Copied from source."
|
||||
},
|
||||
{
|
||||
"id": "Brackets must contain an IPv6 address",
|
||||
"message": "Brackets must contain an IPv6 address",
|
||||
"translation": "براکتها باید حاوی آدرس IPv6 باشند",
|
||||
"translatorComment": "Copied from source."
|
||||
},
|
||||
{
|
||||
"id": "Invalid MTU",
|
||||
"message": "Invalid MTU",
|
||||
@@ -209,12 +433,98 @@
|
||||
"translation": "پورت نامعتبر",
|
||||
"translatorComment": "Copied from source."
|
||||
},
|
||||
{
|
||||
"id": "Invalid persistent keepalive",
|
||||
"message": "Invalid persistent keepalive",
|
||||
"translation": "مقدار کنترلر وصل بودن مجاز نیست",
|
||||
"translatorComment": "Copied from source."
|
||||
},
|
||||
{
|
||||
"id": "Invalid key: {Err}",
|
||||
"message": "Invalid key: {Err}",
|
||||
"translation": "کلید نامعتبر: {Err}",
|
||||
"translatorComment": "Copied from source.",
|
||||
"placeholders": [
|
||||
{
|
||||
"id": "Err",
|
||||
"string": "%[1]v",
|
||||
"type": "error",
|
||||
"underlyingType": "interface{Error() string}",
|
||||
"argNum": 1,
|
||||
"expr": "err"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "Keys must decode to exactly 32 bytes",
|
||||
"message": "Keys must decode to exactly 32 bytes",
|
||||
"translation": "کلیدها باید دقیقا به ۳۲ بایت رمزگشایی شوند",
|
||||
"translatorComment": "Copied from source."
|
||||
},
|
||||
{
|
||||
"id": "Number must be a number between 0 and 2^64-1: {Err}",
|
||||
"message": "Number must be a number between 0 and 2^64-1: {Err}",
|
||||
"translation": "عدد باید عددی بین 0 و 2^64-1 باشد: {Err}",
|
||||
"translatorComment": "Copied from source.",
|
||||
"placeholders": [
|
||||
{
|
||||
"id": "Err",
|
||||
"string": "%[1]v",
|
||||
"type": "error",
|
||||
"underlyingType": "interface{Error() string}",
|
||||
"argNum": 1,
|
||||
"expr": "err"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "Two commas in a row",
|
||||
"message": "Two commas in a row",
|
||||
"translation": "دو کاما پشت سر هم",
|
||||
"translatorComment": "Copied from source."
|
||||
},
|
||||
{
|
||||
"id": "Tunnel name is not valid",
|
||||
"message": "Tunnel name is not valid",
|
||||
"translation": "نام تونل معتبر نیست",
|
||||
"translatorComment": "Copied from source."
|
||||
},
|
||||
{
|
||||
"id": "Line must occur in a section",
|
||||
"message": "Line must occur in a section",
|
||||
"translation": "خط باید در یک بخش رخ دهد",
|
||||
"translatorComment": "Copied from source."
|
||||
},
|
||||
{
|
||||
"id": "Config key is missing an equals separator",
|
||||
"message": "Config key is missing an equals separator",
|
||||
"translation": "کلید پیکربندی یک جداکننده برابر ندارد",
|
||||
"translatorComment": "Copied from source."
|
||||
},
|
||||
{
|
||||
"id": "Key must have a value",
|
||||
"message": "Key must have a value",
|
||||
"translation": "کلید باید یک مقدار داشته باشد",
|
||||
"translatorComment": "Copied from source."
|
||||
},
|
||||
{
|
||||
"id": "Invalid key for [Interface] section",
|
||||
"message": "Invalid key for [Interface] section",
|
||||
"translation": "کلید برای رابط بخش [Interface] نامعتبر است",
|
||||
"translatorComment": "Copied from source."
|
||||
},
|
||||
{
|
||||
"id": "Invalid key for [Peer] section",
|
||||
"message": "Invalid key for [Peer] section",
|
||||
"translation": "کلید برای رابط بخش [Peer] نامعتبر است",
|
||||
"translatorComment": "Copied from source."
|
||||
},
|
||||
{
|
||||
"id": "An interface must have a private key",
|
||||
"message": "An interface must have a private key",
|
||||
"translation": "یک رابط باید یک کلید خصوصی داشته باشد",
|
||||
"translatorComment": "Copied from source."
|
||||
},
|
||||
{
|
||||
"id": "[none specified]",
|
||||
"message": "[none specified]",
|
||||
@@ -233,6 +543,24 @@
|
||||
"translation": "خطا در دریافت پیکربندی",
|
||||
"translatorComment": "Copied from source."
|
||||
},
|
||||
{
|
||||
"id": "Invalid key for interface section",
|
||||
"message": "Invalid key for interface section",
|
||||
"translation": "کلید برای بخش [Interface] نامعتبر است",
|
||||
"translatorComment": "Copied from source."
|
||||
},
|
||||
{
|
||||
"id": "Protocol version must be 1",
|
||||
"message": "Protocol version must be 1",
|
||||
"translation": "نسخه پروتکل باید 1 باشد",
|
||||
"translatorComment": "Copied from source."
|
||||
},
|
||||
{
|
||||
"id": "Invalid key for peer section",
|
||||
"message": "Invalid key for peer section",
|
||||
"translation": "کلید برای بخش طرفین نامعتبر است",
|
||||
"translatorComment": "Copied from source."
|
||||
},
|
||||
{
|
||||
"id": "[EnumerationSeparator]",
|
||||
"message": "[EnumerationSeparator]",
|
||||
@@ -251,6 +579,68 @@
|
||||
"translation": "درباره AmneziaWG",
|
||||
"translatorComment": "Copied from source."
|
||||
},
|
||||
{
|
||||
"id": "AmneziaWG logo image",
|
||||
"message": "AmneziaWG logo image",
|
||||
"translation": "تصویر لوگوی AmneziaWG",
|
||||
"translatorComment": "Copied from source."
|
||||
},
|
||||
{
|
||||
"id": "App version: {Number}\nGo backend version: {WireGuardGoVersion}\nGo version: {Version_go}-{GOARCH}\nOperating system: {OsName}\nArchitecture: {NativeArch}",
|
||||
"message": "App version: {Number}\nGo backend version: {WireGuardGoVersion}\nGo version: {Version_go}-{GOARCH}\nOperating system: {OsName}\nArchitecture: {NativeArch}",
|
||||
"translation": "ورژن برنامه: {Number}\nورژن زبان گو در بطن:{WireGuardGoVersion}\nورژن زبان گو:{Version_go}-{GOARCH}\nسیستم عامل: {OsName}\nمعماری: {NativeArch}",
|
||||
"translatorComment": "Copied from source.",
|
||||
"placeholders": [
|
||||
{
|
||||
"id": "Number",
|
||||
"string": "%[1]s",
|
||||
"type": "string",
|
||||
"underlyingType": "string",
|
||||
"argNum": 1,
|
||||
"expr": "version.Number"
|
||||
},
|
||||
{
|
||||
"id": "WireGuardGoVersion",
|
||||
"string": "%[2]s",
|
||||
"type": "string",
|
||||
"underlyingType": "string",
|
||||
"argNum": 2,
|
||||
"expr": "device.WireGuardGoVersion"
|
||||
},
|
||||
{
|
||||
"id": "Version_go",
|
||||
"string": "%[3]s",
|
||||
"type": "string",
|
||||
"underlyingType": "string",
|
||||
"argNum": 3,
|
||||
"expr": "strings.TrimPrefix(runtime.Version(), \"go\")"
|
||||
},
|
||||
{
|
||||
"id": "GOARCH",
|
||||
"string": "%[4]s",
|
||||
"type": "string",
|
||||
"underlyingType": "string",
|
||||
"argNum": 4,
|
||||
"expr": "runtime.GOARCH"
|
||||
},
|
||||
{
|
||||
"id": "OsName",
|
||||
"string": "%[5]s",
|
||||
"type": "string",
|
||||
"underlyingType": "string",
|
||||
"argNum": 5,
|
||||
"expr": "version.OsName()"
|
||||
},
|
||||
{
|
||||
"id": "NativeArch",
|
||||
"string": "%[6]s",
|
||||
"type": "string",
|
||||
"underlyingType": "string",
|
||||
"argNum": 6,
|
||||
"expr": "version.NativeArch()"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "Close",
|
||||
"message": "Close",
|
||||
@@ -311,6 +701,12 @@
|
||||
"translation": "سرورهای DNS:",
|
||||
"translatorComment": "Copied from source."
|
||||
},
|
||||
{
|
||||
"id": "Scripts:",
|
||||
"message": "Scripts:",
|
||||
"translation": "اسکریپتها:",
|
||||
"translatorComment": "Copied from source."
|
||||
},
|
||||
{
|
||||
"id": "Preshared key:",
|
||||
"message": "Preshared key:",
|
||||
@@ -335,18 +731,96 @@
|
||||
"translation": "زنده نگهداشتن پیوسته:",
|
||||
"translatorComment": "Copied from source."
|
||||
},
|
||||
{
|
||||
"id": "Latest handshake:",
|
||||
"message": "Latest handshake:",
|
||||
"translation": "آخرین دست دادن:",
|
||||
"translatorComment": "Copied from source."
|
||||
},
|
||||
{
|
||||
"id": "Transfer:",
|
||||
"message": "Transfer:",
|
||||
"translation": "انتقال:",
|
||||
"translatorComment": "Copied from source."
|
||||
},
|
||||
{
|
||||
"id": "pre-up",
|
||||
"message": "pre-up",
|
||||
"translation": "پیشنیاز",
|
||||
"translatorComment": "Copied from source."
|
||||
},
|
||||
{
|
||||
"id": "post-up",
|
||||
"message": "post-up",
|
||||
"translation": "پس نیاز برقراری",
|
||||
"translatorComment": "Copied from source."
|
||||
},
|
||||
{
|
||||
"id": "pre-down",
|
||||
"message": "pre-down",
|
||||
"translation": "پیشنیاز قطعی",
|
||||
"translatorComment": "Copied from source."
|
||||
},
|
||||
{
|
||||
"id": "post-down",
|
||||
"message": "post-down",
|
||||
"translation": "پسنیاز قطعی",
|
||||
"translatorComment": "Copied from source."
|
||||
},
|
||||
{
|
||||
"id": "disabled, per policy",
|
||||
"message": "disabled, per policy",
|
||||
"translation": "غیر فعال، بر اساس خط مشی",
|
||||
"translatorComment": "Copied from source."
|
||||
},
|
||||
{
|
||||
"id": "enabled",
|
||||
"message": "enabled",
|
||||
"translation": "فعال شده",
|
||||
"translatorComment": "Copied from source."
|
||||
},
|
||||
{
|
||||
"id": "{String} received, {String_1} sent",
|
||||
"message": "{String} received, {String_1} sent",
|
||||
"translation": "{String} دریافت شد، {String_1} ارسال شد",
|
||||
"translatorComment": "Copied from source.",
|
||||
"placeholders": [
|
||||
{
|
||||
"id": "String",
|
||||
"string": "%[1]s",
|
||||
"type": "string",
|
||||
"underlyingType": "string",
|
||||
"argNum": 1,
|
||||
"expr": "c.RxBytes.String()"
|
||||
},
|
||||
{
|
||||
"id": "String_1",
|
||||
"string": "%[2]s",
|
||||
"type": "string",
|
||||
"underlyingType": "string",
|
||||
"argNum": 2,
|
||||
"expr": "c.TxBytes.String()"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "Failed to determine tunnel state",
|
||||
"message": "Failed to determine tunnel state",
|
||||
"translation": "وضعیت تونل تعیین نشده است",
|
||||
"translatorComment": "Copied from source."
|
||||
},
|
||||
{
|
||||
"id": "Failed to activate tunnel",
|
||||
"message": "Failed to activate tunnel",
|
||||
"translation": "فعال سازی تونل ناموفق بود",
|
||||
"translatorComment": "Copied from source."
|
||||
},
|
||||
{
|
||||
"id": "Failed to deactivate tunnel",
|
||||
"message": "Failed to deactivate tunnel",
|
||||
"translation": "غیرفعال سازی تونل ناموفق بود",
|
||||
"translatorComment": "Copied from source."
|
||||
},
|
||||
{
|
||||
"id": "Interface: {Name}",
|
||||
"message": "Interface: {Name}",
|
||||
@@ -399,6 +873,18 @@
|
||||
"translation": "(ناشناخته)",
|
||||
"translatorComment": "Copied from source."
|
||||
},
|
||||
{
|
||||
"id": "&Block untunneled traffic (kill-switch)",
|
||||
"message": "&Block untunneled traffic (kill-switch)",
|
||||
"translation": "&مسدود کردن ترافیک تونل نشده (سوئیچ مرگ)",
|
||||
"translatorComment": "Copied from source."
|
||||
},
|
||||
{
|
||||
"id": "When a configuration has exactly one peer, and that peer has an allowed IPs containing at least one of 0.0.0.0/0 or ::/0, then the tunnel service engages a firewall ruleset to block all traffic that is neither to nor from the tunnel interface or is to the wrong DNS server, with special exceptions for DHCP and NDP.",
|
||||
"message": "When a configuration has exactly one peer, and that peer has an allowed IPs containing at least one of 0.0.0.0/0 or ::/0, then the tunnel service engages a firewall ruleset to block all traffic that is neither to nor from the tunnel interface or is to the wrong DNS server, with special exceptions for DHCP and NDP.",
|
||||
"translation": "هنگامی که یک پیکربندی فقط یک peer داشته باشد و آن peer دارای IP های مجاز باشد که حداقل یکی از 0.0.0.0/0 یا ::/0 را شامل می شود، سرویس تونل مجموعه ای از قوانین فایروال را درگیر می کند تا تمام ترافیکی که نه به و نه از آن peer و یا به سرور DNS اشتباهی است را را مسدود میکند. ، با استثناء تعریف ویژه برای DHCP و NDP.",
|
||||
"translatorComment": "Copied from source."
|
||||
},
|
||||
{
|
||||
"id": "&Save",
|
||||
"message": "&Save",
|
||||
@@ -429,6 +915,22 @@
|
||||
"translation": "یک نام الزامی است.",
|
||||
"translatorComment": "Copied from source."
|
||||
},
|
||||
{
|
||||
"id": "Tunnel name ‘{NewName}’ is invalid.",
|
||||
"message": "Tunnel name ‘{NewName}’ is invalid.",
|
||||
"translation": "تونل با نام '{NewName}' نامعتبر است.",
|
||||
"translatorComment": "Copied from source.",
|
||||
"placeholders": [
|
||||
{
|
||||
"id": "NewName",
|
||||
"string": "%[1]s",
|
||||
"type": "string",
|
||||
"underlyingType": "string",
|
||||
"argNum": 1,
|
||||
"expr": "newName"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "Unable to list existing tunnels",
|
||||
"message": "Unable to list existing tunnels",
|
||||
@@ -441,6 +943,50 @@
|
||||
"translation": "تونل هماکنون موجود است",
|
||||
"translatorComment": "Copied from source."
|
||||
},
|
||||
{
|
||||
"id": "Another tunnel already exists with the name ‘{NewName}’.",
|
||||
"message": "Another tunnel already exists with the name ‘{NewName}’.",
|
||||
"translation": "تونل دیگری با نام '{NewName}' وجود دارد.",
|
||||
"translatorComment": "Copied from source.",
|
||||
"placeholders": [
|
||||
{
|
||||
"id": "NewName",
|
||||
"string": "%[1]s",
|
||||
"type": "string",
|
||||
"underlyingType": "string",
|
||||
"argNum": 1,
|
||||
"expr": "newName"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "Unable to create new configuration",
|
||||
"message": "Unable to create new configuration",
|
||||
"translation": "ناتوان در ایجاد پیکربندی جدید",
|
||||
"translatorComment": "Copied from source."
|
||||
},
|
||||
{
|
||||
"id": "Writing file failed",
|
||||
"message": "Writing file failed",
|
||||
"translation": "نوشتن پرونده انجام نشد",
|
||||
"translatorComment": "Copied from source."
|
||||
},
|
||||
{
|
||||
"id": "File ‘{FilePath}’ already exists.\n\nDo you want to overwrite it?",
|
||||
"message": "File ‘{FilePath}’ already exists.\n\nDo you want to overwrite it?",
|
||||
"translation": "پرونده «{FilePath}» از قبل وجود دارد.\n\nآیا میخواهید آن را بازنویسی کنید؟",
|
||||
"translatorComment": "Copied from source.",
|
||||
"placeholders": [
|
||||
{
|
||||
"id": "FilePath",
|
||||
"string": "%[1]s",
|
||||
"type": "string",
|
||||
"underlyingType": "string",
|
||||
"argNum": 1,
|
||||
"expr": "filePath"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "Active",
|
||||
"message": "Active",
|
||||
@@ -483,6 +1029,12 @@
|
||||
"translation": "&روگرفت",
|
||||
"translatorComment": "Copied from source."
|
||||
},
|
||||
{
|
||||
"id": "Select &all",
|
||||
"message": "Select &all",
|
||||
"translation": "انتخاب همه",
|
||||
"translatorComment": "Copied from source."
|
||||
},
|
||||
{
|
||||
"id": "&Save to file…",
|
||||
"message": "&Save to file…",
|
||||
@@ -501,6 +1053,12 @@
|
||||
"translation": "پیام گزارش رویداد",
|
||||
"translatorComment": "Copied from source."
|
||||
},
|
||||
{
|
||||
"id": "Text Files (*.txt)|*.txt|All Files (*.*)|*.*",
|
||||
"message": "Text Files (*.txt)|*.txt|All Files (*.*)|*.*",
|
||||
"translation": "پروندههای متنی (*.txt)|*.txt|همه پروندهها (*.*)|*.*",
|
||||
"translatorComment": "Copied from source."
|
||||
},
|
||||
{
|
||||
"id": "Export log to file",
|
||||
"message": "Export log to file",
|
||||
@@ -519,6 +1077,66 @@
|
||||
"translation": "خطالی تونل",
|
||||
"translatorComment": "Copied from source."
|
||||
},
|
||||
{
|
||||
"id": "{ErrMsg}\n\nPlease consult the log for more information.",
|
||||
"message": "{ErrMsg}\n\nPlease consult the log for more information.",
|
||||
"translation": "{ErrMsg}\n\nلطفا برای اطلاعات بیشتر به گزارش رویداد مراجعه کنید.",
|
||||
"translatorComment": "Copied from source.",
|
||||
"placeholders": [
|
||||
{
|
||||
"id": "ErrMsg",
|
||||
"string": "%[1]s",
|
||||
"type": "string",
|
||||
"underlyingType": "string",
|
||||
"argNum": 1,
|
||||
"expr": "errMsg"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "{Title} (out of date)",
|
||||
"message": "{Title} (out of date)",
|
||||
"translation": "{Title} (قدیمی)",
|
||||
"translatorComment": "Copied from source.",
|
||||
"placeholders": [
|
||||
{
|
||||
"id": "Title",
|
||||
"string": "%[1]s",
|
||||
"type": "string",
|
||||
"underlyingType": "string",
|
||||
"argNum": 1,
|
||||
"expr": "mtw.Title()"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "AmneziaWG Detection Error",
|
||||
"message": "AmneziaWG Detection Error",
|
||||
"translation": "وقوع اشکال در وایرگارد",
|
||||
"translatorComment": "Copied from source."
|
||||
},
|
||||
{
|
||||
"id": "Unable to wait for AmneziaWG window to appear: {Err}",
|
||||
"message": "Unable to wait for AmneziaWG window to appear: {Err}",
|
||||
"translation": "نمیتوان منتظر ماند تا پنجره AmneziaWG ظاهر شود: {Err}",
|
||||
"translatorComment": "Copied from source.",
|
||||
"placeholders": [
|
||||
{
|
||||
"id": "Err",
|
||||
"string": "%[1]v",
|
||||
"type": "error",
|
||||
"underlyingType": "interface{Error() string}",
|
||||
"argNum": 1,
|
||||
"expr": "err"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "AmneziaWG: Deactivated",
|
||||
"message": "AmneziaWG: Deactivated",
|
||||
"translation": "AmneziaWG: غیر فعال شده است",
|
||||
"translatorComment": "Copied from source."
|
||||
},
|
||||
{
|
||||
"id": "Status: Unknown",
|
||||
"message": "Status: Unknown",
|
||||
@@ -537,16 +1155,34 @@
|
||||
"translation": "&مدیریت تونلها…",
|
||||
"translatorComment": "Copied from source."
|
||||
},
|
||||
{
|
||||
"id": "&Import tunnel(s) from file…",
|
||||
"message": "&Import tunnel(s) from file…",
|
||||
"translation": "&وارد کردن تونل(ها) از پرونده…",
|
||||
"translatorComment": "Copied from source."
|
||||
},
|
||||
{
|
||||
"id": "E&xit",
|
||||
"message": "E&xit",
|
||||
"translation": "خروج",
|
||||
"translatorComment": "Copied from source."
|
||||
},
|
||||
{
|
||||
"id": "&Tunnels",
|
||||
"message": "&Tunnels",
|
||||
"translation": "&تونلها",
|
||||
"translatorComment": "Copied from source."
|
||||
},
|
||||
{
|
||||
"id": "AmneziaWG Activated",
|
||||
"message": "AmneziaWG Activated",
|
||||
"translation": "AmneziaWG فعالشد",
|
||||
"translation": "AmneziaWG فعال شد",
|
||||
"translatorComment": "Copied from source."
|
||||
},
|
||||
{
|
||||
"id": "The {Name} tunnel has been activated.",
|
||||
"message": "The {Name} tunnel has been activated.",
|
||||
"translation": "تونل {Name} فعالشده.",
|
||||
"translation": "تونل {Name} فعال شده است.",
|
||||
"translatorComment": "Copied from source.",
|
||||
"placeholders": [
|
||||
{
|
||||
@@ -565,12 +1201,44 @@
|
||||
"translation": "AmneziaWG غیرفعال شد",
|
||||
"translatorComment": "Copied from source."
|
||||
},
|
||||
{
|
||||
"id": "The {Name} tunnel has been deactivated.",
|
||||
"message": "The {Name} tunnel has been deactivated.",
|
||||
"translation": "تونل {Name} غیرفعال شده است.",
|
||||
"translatorComment": "Copied from source.",
|
||||
"placeholders": [
|
||||
{
|
||||
"id": "Name",
|
||||
"string": "%[1]s",
|
||||
"type": "string",
|
||||
"underlyingType": "string",
|
||||
"argNum": 1,
|
||||
"expr": "tunnel.Name"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "AmneziaWG Tunnel Error",
|
||||
"message": "AmneziaWG Tunnel Error",
|
||||
"translation": "خطای تونل AmneziaWG",
|
||||
"translatorComment": "Copied from source."
|
||||
},
|
||||
{
|
||||
"id": "AmneziaWG: {TextForStateglobalState_true}",
|
||||
"message": "AmneziaWG: {TextForStateglobalState_true}",
|
||||
"translation": "AmneziaWG: {TextForStateglobalState_true}",
|
||||
"translatorComment": "Copied from source.",
|
||||
"placeholders": [
|
||||
{
|
||||
"id": "TextForStateglobalState_true",
|
||||
"string": "%[1]s",
|
||||
"type": "string",
|
||||
"underlyingType": "string",
|
||||
"argNum": 1,
|
||||
"expr": "textForState(globalState, true)"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "Status: {StateText}",
|
||||
"message": "Status: {StateText}",
|
||||
@@ -587,6 +1255,22 @@
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "Addresses: {EnumerationSeparator}",
|
||||
"message": "Addresses: {EnumerationSeparator}",
|
||||
"translation": "نشانیها: {EnumerationSeparator}",
|
||||
"translatorComment": "Copied from source.",
|
||||
"placeholders": [
|
||||
{
|
||||
"id": "EnumerationSeparator",
|
||||
"string": "%[1]s",
|
||||
"type": "string",
|
||||
"underlyingType": "string",
|
||||
"argNum": 1,
|
||||
"expr": "strings.Join(addrs, l18n.EnumerationSeparator())"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "An Update is Available!",
|
||||
"message": "An Update is Available!",
|
||||
@@ -599,6 +1283,12 @@
|
||||
"translation": "بهروزرسانی AmneziaWG در دسترس است",
|
||||
"translatorComment": "Copied from source."
|
||||
},
|
||||
{
|
||||
"id": "An update to AmneziaWG is now available. You are advised to update as soon as possible.",
|
||||
"message": "An update to AmneziaWG is now available. You are advised to update as soon as possible.",
|
||||
"translation": "بهروزرسانی AmneziaWG اکنون در دسترس است. به شما توصیه میشود در اسرع وقت بهروزرسانی کنید.",
|
||||
"translatorComment": "Copied from source."
|
||||
},
|
||||
{
|
||||
"id": "Tunnels",
|
||||
"message": "Tunnels",
|
||||
@@ -635,12 +1325,52 @@
|
||||
"translation": "برونبری همه تونلها به زیپ",
|
||||
"translatorComment": "Copied from source."
|
||||
},
|
||||
{
|
||||
"id": "&Toggle",
|
||||
"message": "&Toggle",
|
||||
"translation": "تغییر وضعیت",
|
||||
"translatorComment": "Copied from source."
|
||||
},
|
||||
{
|
||||
"id": "Export all tunnels to &zip…",
|
||||
"message": "Export all tunnels to &zip…",
|
||||
"translation": "برونبری همه تونلها به &زیپ…",
|
||||
"translatorComment": "Copied from source."
|
||||
},
|
||||
{
|
||||
"id": "Edit &selected tunnel…",
|
||||
"message": "Edit &selected tunnel…",
|
||||
"translation": "ویرایش تونل انتخابی…",
|
||||
"translatorComment": "Copied from source."
|
||||
},
|
||||
{
|
||||
"id": "&Remove selected tunnel(s)",
|
||||
"message": "&Remove selected tunnel(s)",
|
||||
"translation": "&حذف تونل(های) انتخاب شده",
|
||||
"translatorComment": "Copied from source."
|
||||
},
|
||||
{
|
||||
"id": "no configuration files were found",
|
||||
"message": "no configuration files were found",
|
||||
"translation": "هیچ فایل پیکربندی یافت نشد",
|
||||
"translatorComment": "Copied from source."
|
||||
},
|
||||
{
|
||||
"id": "Could not import selected configuration: {LastErr}",
|
||||
"message": "Could not import selected configuration: {LastErr}",
|
||||
"translation": "تنظیمات انتخاب شده قابل واردکردن نیست: {LastErr}",
|
||||
"translatorComment": "Copied from source.",
|
||||
"placeholders": [
|
||||
{
|
||||
"id": "LastErr",
|
||||
"string": "%[1]v",
|
||||
"type": "error",
|
||||
"underlyingType": "interface{Error() string}",
|
||||
"argNum": 1,
|
||||
"expr": "lastErr"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "Imported tunnels",
|
||||
"message": "Imported tunnels",
|
||||
@@ -812,7 +1542,7 @@
|
||||
{
|
||||
"id": "Status: Waiting for updater service",
|
||||
"message": "Status: Waiting for updater service",
|
||||
"translation": "وضعیت: درانتظار برای سرویس بهروزرسانی",
|
||||
"translation": "وضعیت: درانتظار برای سرویس بهروزرسان",
|
||||
"translatorComment": "Copied from source."
|
||||
},
|
||||
{
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -59,6 +59,12 @@
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "You must use the native version of AmneziaWG on this computer.",
|
||||
"message": "You must use the native version of AmneziaWG on this computer.",
|
||||
"translation": "Anda harus menggunakan AmneziaWG versi asli pada komputer ini.",
|
||||
"translatorComment": "Copied from source."
|
||||
},
|
||||
{
|
||||
"id": "Unable to open current process token: {Err}",
|
||||
"message": "Unable to open current process token: {Err}",
|
||||
@@ -474,6 +480,12 @@
|
||||
"translation": "Garis harus muncul perbagian",
|
||||
"translatorComment": "Copied from source."
|
||||
},
|
||||
{
|
||||
"id": "Config key is missing an equals separator",
|
||||
"message": "Config key is missing an equals separator",
|
||||
"translation": "Kunci konfigurasi tidak valid, tidak memiliki pemisah dan sama dengan",
|
||||
"translatorComment": "Copied from source."
|
||||
},
|
||||
{
|
||||
"id": "Key must have a value",
|
||||
"message": "Key must have a value",
|
||||
@@ -540,12 +552,80 @@
|
||||
"translation": ", ",
|
||||
"comment": "Text to insert between items when listing - most western languages will translate ‘[EnumerationSeparator]’ into ‘, ’ to produce lists like ‘apple, orange, strawberry’. Eastern languages might translate into ‘、’ to produce lists like ‘リンゴ、オレンジ、イチゴ’."
|
||||
},
|
||||
{
|
||||
"id": "[UnitSeparator]",
|
||||
"message": "[UnitSeparator]",
|
||||
"translation": ", ",
|
||||
"comment": "Text to insert when combining units of a measure - most languages will translate ‘[UnitSeparator]’ into ‘ ’ (space) to produce lists like ‘2 minuti 30 sekund’, or empty string ‘’ to produce ‘2分30秒’."
|
||||
},
|
||||
{
|
||||
"id": "About AmneziaWG",
|
||||
"message": "About AmneziaWG",
|
||||
"translation": "Tentang AmneziaWG",
|
||||
"translatorComment": "Copied from source."
|
||||
},
|
||||
{
|
||||
"id": "AmneziaWG logo image",
|
||||
"message": "AmneziaWG logo image",
|
||||
"translation": "Gambar logo AmneziaWG",
|
||||
"translatorComment": "Copied from source."
|
||||
},
|
||||
{
|
||||
"id": "App version: {Number}\nGo backend version: {WireGuardGoVersion}\nGo version: {Version_go}-{GOARCH}\nOperating system: {OsName}\nArchitecture: {NativeArch}",
|
||||
"message": "App version: {Number}\nGo backend version: {WireGuardGoVersion}\nGo version: {Version_go}-{GOARCH}\nOperating system: {OsName}\nArchitecture: {NativeArch}",
|
||||
"translation": "Versi Aplikasi: {Number}\nVersi back-end Go: {WireGuardGoVersion}\nVersi Go: {Version_go}--{GOARCH}\nSistem Operasi: {OsName}\nArsitektur: {NativeArch}",
|
||||
"translatorComment": "Copied from source.",
|
||||
"placeholders": [
|
||||
{
|
||||
"id": "Number",
|
||||
"string": "%[1]s",
|
||||
"type": "string",
|
||||
"underlyingType": "string",
|
||||
"argNum": 1,
|
||||
"expr": "version.Number"
|
||||
},
|
||||
{
|
||||
"id": "WireGuardGoVersion",
|
||||
"string": "%[2]s",
|
||||
"type": "string",
|
||||
"underlyingType": "string",
|
||||
"argNum": 2,
|
||||
"expr": "device.WireGuardGoVersion"
|
||||
},
|
||||
{
|
||||
"id": "Version_go",
|
||||
"string": "%[3]s",
|
||||
"type": "string",
|
||||
"underlyingType": "string",
|
||||
"argNum": 3,
|
||||
"expr": "strings.TrimPrefix(runtime.Version(), \"go\")"
|
||||
},
|
||||
{
|
||||
"id": "GOARCH",
|
||||
"string": "%[4]s",
|
||||
"type": "string",
|
||||
"underlyingType": "string",
|
||||
"argNum": 4,
|
||||
"expr": "runtime.GOARCH"
|
||||
},
|
||||
{
|
||||
"id": "OsName",
|
||||
"string": "%[5]s",
|
||||
"type": "string",
|
||||
"underlyingType": "string",
|
||||
"argNum": 5,
|
||||
"expr": "version.OsName()"
|
||||
},
|
||||
{
|
||||
"id": "NativeArch",
|
||||
"string": "%[6]s",
|
||||
"type": "string",
|
||||
"underlyingType": "string",
|
||||
"argNum": 6,
|
||||
"expr": "version.NativeArch()"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "Close",
|
||||
"message": "Close",
|
||||
@@ -564,6 +644,72 @@
|
||||
"translation": "Status:",
|
||||
"translatorComment": "Copied from source."
|
||||
},
|
||||
{
|
||||
"id": "&Deactivate",
|
||||
"message": "&Deactivate",
|
||||
"translation": "&Nonaktifkan",
|
||||
"translatorComment": "Copied from source."
|
||||
},
|
||||
{
|
||||
"id": "&Activate",
|
||||
"message": "&Activate",
|
||||
"translation": "&Aktifkan",
|
||||
"translatorComment": "Copied from source."
|
||||
},
|
||||
{
|
||||
"id": "Public key:",
|
||||
"message": "Public key:",
|
||||
"translation": "Kunci publik:",
|
||||
"translatorComment": "Copied from source."
|
||||
},
|
||||
{
|
||||
"id": "Listen port:",
|
||||
"message": "Listen port:",
|
||||
"translation": "Port Pendengar:",
|
||||
"translatorComment": "Copied from source."
|
||||
},
|
||||
{
|
||||
"id": "MTU:",
|
||||
"message": "MTU:",
|
||||
"translation": "MTU:",
|
||||
"translatorComment": "Copied from source."
|
||||
},
|
||||
{
|
||||
"id": "Addresses:",
|
||||
"message": "Addresses:",
|
||||
"translation": "Alamat:",
|
||||
"translatorComment": "Copied from source."
|
||||
},
|
||||
{
|
||||
"id": "DNS servers:",
|
||||
"message": "DNS servers:",
|
||||
"translation": "Server DNS:",
|
||||
"translatorComment": "Copied from source."
|
||||
},
|
||||
{
|
||||
"id": "Scripts:",
|
||||
"message": "Scripts:",
|
||||
"translation": "Skrip:",
|
||||
"translatorComment": "Copied from source."
|
||||
},
|
||||
{
|
||||
"id": "Preshared key:",
|
||||
"message": "Preshared key:",
|
||||
"translation": "Preshared key:",
|
||||
"translatorComment": "Copied from source."
|
||||
},
|
||||
{
|
||||
"id": "Allowed IPs:",
|
||||
"message": "Allowed IPs:",
|
||||
"translation": "IP yang diperbolehkan:",
|
||||
"translatorComment": "Copied from source."
|
||||
},
|
||||
{
|
||||
"id": "Endpoint:",
|
||||
"message": "Endpoint:",
|
||||
"translation": "Endpoint:",
|
||||
"translatorComment": "Copied from source."
|
||||
},
|
||||
{
|
||||
"id": "Active",
|
||||
"message": "Active",
|
||||
|
||||
@@ -867,7 +867,7 @@
|
||||
{
|
||||
"id": "When a configuration has exactly one peer, and that peer has an allowed IPs containing at least one of 0.0.0.0/0 or ::/0, then the tunnel service engages a firewall ruleset to block all traffic that is neither to nor from the tunnel interface or is to the wrong DNS server, with special exceptions for DHCP and NDP.",
|
||||
"message": "When a configuration has exactly one peer, and that peer has an allowed IPs containing at least one of 0.0.0.0/0 or ::/0, then the tunnel service engages a firewall ruleset to block all traffic that is neither to nor from the tunnel interface or is to the wrong DNS server, with special exceptions for DHCP and NDP.",
|
||||
"translation": "ピアが1つだけ設定されていて、Allowed IPs に 0.0.0.0/0 または :: / 0 が含まれている場合、トンネルサービスはトンネルインターフェイスを通らないトラフィックや間違った DNS サーバーに向かう通信をブロックするファイアウォールルールを追加します。\nDHCP と NDP には特別な例外があります。",
|
||||
"translation": "ピアが1つだけ設定されており、かつAllowed IPs に 0.0.0.0/0 や ::/0 が含まれている場合、トンネルサービスはトンネルインターフェイスを通らないトラフィックや間違った DNS サーバーに向かう通信をブロックするファイアウォールルールを追加します。\nDHCP と NDP には特別な例外があります。",
|
||||
"translatorComment": "Copied from source."
|
||||
},
|
||||
{
|
||||
@@ -1155,7 +1155,7 @@
|
||||
{
|
||||
"id": "&Tunnels",
|
||||
"message": "&Tunnels",
|
||||
"translation": "& トンネル",
|
||||
"translation": "トンネル(&T)",
|
||||
"translatorComment": "Copied from source."
|
||||
},
|
||||
{
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
1665
locales/nl/messages.gotext.json
Normal file
1665
locales/nl/messages.gotext.json
Normal file
File diff suppressed because it is too large
Load Diff
@@ -617,6 +617,12 @@
|
||||
"translation": "ਸਕ੍ਰਿਪਟਾਂ:",
|
||||
"translatorComment": "Copied from source."
|
||||
},
|
||||
{
|
||||
"id": "Preshared key:",
|
||||
"message": "Preshared key:",
|
||||
"translation": "ਪਹਿਲਾਂ-ਸਾਂਝੀ ਕੀਤੀ ਕੁੰਜੀ:",
|
||||
"translatorComment": "Copied from source."
|
||||
},
|
||||
{
|
||||
"id": "Allowed IPs:",
|
||||
"message": "Allowed IPs:",
|
||||
@@ -629,12 +635,30 @@
|
||||
"translation": "ਐਂਡ-ਪੁਆਇੰਟ:",
|
||||
"translatorComment": "Copied from source."
|
||||
},
|
||||
{
|
||||
"id": "Persistent keepalive:",
|
||||
"message": "Persistent keepalive:",
|
||||
"translation": "ਸਥਿਰ ਲਗਾਤਾਰ ਜਾਰੀ ਰੱਖੋ:",
|
||||
"translatorComment": "Copied from source."
|
||||
},
|
||||
{
|
||||
"id": "Latest handshake:",
|
||||
"message": "Latest handshake:",
|
||||
"translation": "ਆਖਰੀ ਹੈਂਡ-ਸ਼ੇਕ:",
|
||||
"translatorComment": "Copied from source."
|
||||
},
|
||||
{
|
||||
"id": "Transfer:",
|
||||
"message": "Transfer:",
|
||||
"translation": "ਟਰਾਂਸਫਰ:",
|
||||
"translatorComment": "Copied from source."
|
||||
},
|
||||
{
|
||||
"id": "disabled, per policy",
|
||||
"message": "disabled, per policy",
|
||||
"translation": "ਅਸਮਰੱਥ ਹੈ, ਹਰ ਪਾਲਸੀ",
|
||||
"translatorComment": "Copied from source."
|
||||
},
|
||||
{
|
||||
"id": "enabled",
|
||||
"message": "enabled",
|
||||
|
||||
@@ -806,7 +806,7 @@
|
||||
{
|
||||
"id": "enabled",
|
||||
"message": "enabled",
|
||||
"translation": "włączyć",
|
||||
"translation": "włączone",
|
||||
"translatorComment": "Copied from source."
|
||||
},
|
||||
{
|
||||
@@ -1110,7 +1110,7 @@
|
||||
{
|
||||
"id": "{ErrMsg}\n\nPlease consult the log for more information.",
|
||||
"message": "{ErrMsg}\n\nPlease consult the log for more information.",
|
||||
"translation": "{ErrMsg}\n\nAby uzyskać więcej informacji, zapoznaj się z logiem.",
|
||||
"translation": "{ErrMsg}\n\nAby uzyskać więcej informacji, zapoznaj się z dziennikiem.",
|
||||
"translatorComment": "Copied from source.",
|
||||
"placeholders": [
|
||||
{
|
||||
@@ -1188,7 +1188,7 @@
|
||||
{
|
||||
"id": "&Import tunnel(s) from file…",
|
||||
"message": "&Import tunnel(s) from file…",
|
||||
"translation": "&Importuj tunel (tunele) z pliku…",
|
||||
"translation": "&Importuj tunel(e) z pliku…",
|
||||
"translatorComment": "Copied from source."
|
||||
},
|
||||
{
|
||||
@@ -1228,7 +1228,7 @@
|
||||
{
|
||||
"id": "AmneziaWG Deactivated",
|
||||
"message": "AmneziaWG Deactivated",
|
||||
"translation": "AmneziaWG Dezaktywowany",
|
||||
"translation": "AmneziaWG dezaktywowany",
|
||||
"translatorComment": "Copied from source."
|
||||
},
|
||||
{
|
||||
@@ -1340,13 +1340,13 @@
|
||||
{
|
||||
"id": "Add Tunnel",
|
||||
"message": "Add Tunnel",
|
||||
"translation": "Dodaj Tunel",
|
||||
"translation": "Dodaj tunel",
|
||||
"translatorComment": "Copied from source."
|
||||
},
|
||||
{
|
||||
"id": "Remove selected tunnel(s)",
|
||||
"message": "Remove selected tunnel(s)",
|
||||
"translation": "Usuń wybrany tunel (tunele)",
|
||||
"translation": "Usuń wybrany(-e) tunel(e)",
|
||||
"translatorComment": "Copied from source."
|
||||
},
|
||||
{
|
||||
@@ -1376,7 +1376,7 @@
|
||||
{
|
||||
"id": "&Remove selected tunnel(s)",
|
||||
"message": "&Remove selected tunnel(s)",
|
||||
"translation": "&Usuń wybrany tunel (tunele)",
|
||||
"translation": "&Usuń wybrany(-e) tunel(e)",
|
||||
"translatorComment": "Copied from source."
|
||||
},
|
||||
{
|
||||
@@ -1498,7 +1498,7 @@
|
||||
"arg": "N",
|
||||
"cases": {
|
||||
"one": {
|
||||
"msg": "Zaimportowano {M} z {N} tunel"
|
||||
"msg": "Zaimportowano {M} z {N} tunelu"
|
||||
},
|
||||
"few": {
|
||||
"msg": "Zaimportowano {M} z {N} tunele"
|
||||
@@ -1724,7 +1724,7 @@
|
||||
{
|
||||
"id": "Import tunnel(s) from file",
|
||||
"message": "Import tunnel(s) from file",
|
||||
"translation": "Importuj tunel (tunele) z pliku",
|
||||
"translation": "Importuj tunel(e) z pliku",
|
||||
"translatorComment": "Copied from source."
|
||||
},
|
||||
{
|
||||
@@ -1764,7 +1764,7 @@
|
||||
{
|
||||
"id": "Unable to exit service due to: {Err}. You may want to stop AmneziaWG from the service manager.",
|
||||
"message": "Unable to exit service due to: {Err}. You may want to stop AmneziaWG from the service manager.",
|
||||
"translation": "Nie można wyłączyć usługi ze względu na: {Err}. Jeśli chcesz wyłączyć AmneziaWG możesz to zrobić z poziomu menedżera usług.",
|
||||
"translation": "Nie można wyłączyć usługi ze względu na: {Err}. Jeśli chcesz wyłączyć AmneziaWG, możesz to zrobić z poziomu menedżera usług.",
|
||||
"translatorComment": "Copied from source.",
|
||||
"placeholders": [
|
||||
{
|
||||
|
||||
1847
locales/pt-BR/messages.gotext.json
Normal file
1847
locales/pt-BR/messages.gotext.json
Normal file
File diff suppressed because it is too large
Load Diff
@@ -84,7 +84,7 @@
|
||||
{
|
||||
"id": "AmneziaWG may only be used by users who are a member of the Builtin {AdminGroupName} group.",
|
||||
"message": "AmneziaWG may only be used by users who are a member of the Builtin {AdminGroupName} group.",
|
||||
"translation": "AmneziaWG может использоваться только пользователями, входящими в группу {AdminGroupName}.",
|
||||
"translation": "AmneziaWG может использоваться только пользователями, входящими во встроенную группу {AdminGroupName}.",
|
||||
"translatorComment": "Copied from source.",
|
||||
"placeholders": [
|
||||
{
|
||||
@@ -140,16 +140,16 @@
|
||||
"arg": "Years",
|
||||
"cases": {
|
||||
"one": {
|
||||
"msg": "{Years}г"
|
||||
"msg": "{Years} год"
|
||||
},
|
||||
"few": {
|
||||
"msg": "{Years}г"
|
||||
"msg": "{Years} года"
|
||||
},
|
||||
"many": {
|
||||
"msg": "{Years}г"
|
||||
"msg": "{Years} лет"
|
||||
},
|
||||
"other": {
|
||||
"msg": "{Years}г"
|
||||
"msg": "{Years} лет"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -174,16 +174,16 @@
|
||||
"arg": "Days",
|
||||
"cases": {
|
||||
"one": {
|
||||
"msg": "{Days}д"
|
||||
"msg": "{Days} день"
|
||||
},
|
||||
"few": {
|
||||
"msg": "{Days}д"
|
||||
"msg": "{Days} дня"
|
||||
},
|
||||
"many": {
|
||||
"msg": "{Days}д"
|
||||
"msg": "{Days} дней"
|
||||
},
|
||||
"other": {
|
||||
"msg": "{Days}д"
|
||||
"msg": "{Days} дней"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -208,16 +208,16 @@
|
||||
"arg": "Hours",
|
||||
"cases": {
|
||||
"one": {
|
||||
"msg": "{Hours}ч"
|
||||
"msg": "{Hours} час"
|
||||
},
|
||||
"few": {
|
||||
"msg": "{Hours}ч"
|
||||
"msg": "{Hours} часа"
|
||||
},
|
||||
"many": {
|
||||
"msg": "{Hours}ч"
|
||||
"msg": "{Hours} часов"
|
||||
},
|
||||
"other": {
|
||||
"msg": "{Hours}ч"
|
||||
"msg": "{Hours} часов"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -242,16 +242,16 @@
|
||||
"arg": "Minutes",
|
||||
"cases": {
|
||||
"one": {
|
||||
"msg": "{Minutes}мин"
|
||||
"msg": "{Minutes} минута"
|
||||
},
|
||||
"few": {
|
||||
"msg": "{Minutes}мин"
|
||||
"msg": "{Minutes} минуты"
|
||||
},
|
||||
"many": {
|
||||
"msg": "{Minutes}мин"
|
||||
"msg": "{Minutes} минут"
|
||||
},
|
||||
"other": {
|
||||
"msg": "{Minutes}мин"
|
||||
"msg": "{Minutes} минут"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -276,16 +276,16 @@
|
||||
"arg": "Seconds",
|
||||
"cases": {
|
||||
"one": {
|
||||
"msg": "{Seconds}сек"
|
||||
"msg": "{Seconds} секунда"
|
||||
},
|
||||
"few": {
|
||||
"msg": "{Seconds}сек"
|
||||
"msg": "{Seconds} секунды"
|
||||
},
|
||||
"many": {
|
||||
"msg": "{Seconds}сек"
|
||||
"msg": "{Seconds} секунд"
|
||||
},
|
||||
"other": {
|
||||
"msg": "{Seconds}сек"
|
||||
"msg": "{Seconds} секунд"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -336,7 +336,7 @@
|
||||
{
|
||||
"id": "{Float64b__1024} KiB",
|
||||
"message": "{Float64b__1024} KiB",
|
||||
"translation": "{Float64b__1024} Кб",
|
||||
"translation": "{Float64b__1024} КиБ",
|
||||
"translatorComment": "Copied from source.",
|
||||
"placeholders": [
|
||||
{
|
||||
@@ -352,7 +352,7 @@
|
||||
{
|
||||
"id": "{Float64b__1024__1024} MiB",
|
||||
"message": "{Float64b__1024__1024} MiB",
|
||||
"translation": "{Float64b__1024__1024} Мб",
|
||||
"translation": "{Float64b__1024__1024} МиБ",
|
||||
"translatorComment": "Copied from source.",
|
||||
"placeholders": [
|
||||
{
|
||||
@@ -368,7 +368,7 @@
|
||||
{
|
||||
"id": "{Float64b__1024__1024__1024} GiB",
|
||||
"message": "{Float64b__1024__1024__1024} GiB",
|
||||
"translation": "{Float64b__1024__1024__1024} Гб",
|
||||
"translation": "{Float64b__1024__1024__1024} ГиБ",
|
||||
"translatorComment": "Copied from source.",
|
||||
"placeholders": [
|
||||
{
|
||||
@@ -384,7 +384,7 @@
|
||||
{
|
||||
"id": "{Float64b__1024__1024__1024__1024} TiB",
|
||||
"message": "{Float64b__1024__1024__1024__1024} TiB",
|
||||
"translation": "{Float64b__1024__1024__1024__1024} Тб",
|
||||
"translation": "{Float64b__1024__1024__1024__1024} ТиБ",
|
||||
"translatorComment": "Copied from source.",
|
||||
"placeholders": [
|
||||
{
|
||||
@@ -436,7 +436,7 @@
|
||||
{
|
||||
"id": "Missing port from endpoint",
|
||||
"message": "Missing port from endpoint",
|
||||
"translation": "Отсутствует порт IP-адреса сервера",
|
||||
"translation": "Порт сервера не указан",
|
||||
"translatorComment": "Copied from source."
|
||||
},
|
||||
{
|
||||
@@ -448,7 +448,7 @@
|
||||
{
|
||||
"id": "Brackets must contain an IPv6 address",
|
||||
"message": "Brackets must contain an IPv6 address",
|
||||
"translation": "В скобках должен быть IPv6 адрес",
|
||||
"translation": "В скобках должен быть адрес IPv6",
|
||||
"translatorComment": "Copied from source."
|
||||
},
|
||||
{
|
||||
@@ -488,7 +488,7 @@
|
||||
{
|
||||
"id": "Keys must decode to exactly 32 bytes",
|
||||
"message": "Keys must decode to exactly 32 bytes",
|
||||
"translation": "Ключи должны декодироваться ровно с 32 байтами",
|
||||
"translation": "Ключи должны декодироваться ровно в 32 байта",
|
||||
"translatorComment": "Copied from source."
|
||||
},
|
||||
{
|
||||
@@ -516,7 +516,7 @@
|
||||
{
|
||||
"id": "Tunnel name is not valid",
|
||||
"message": "Tunnel name is not valid",
|
||||
"translation": "Название туннеля недействительно",
|
||||
"translation": "Неправильное имя туннеля",
|
||||
"translatorComment": "Copied from source."
|
||||
},
|
||||
{
|
||||
@@ -552,13 +552,13 @@
|
||||
{
|
||||
"id": "An interface must have a private key",
|
||||
"message": "An interface must have a private key",
|
||||
"translation": "В Интерфейсе должен быть приватный ключ",
|
||||
"translation": "Для интерфейса должен быть задан приватный ключ",
|
||||
"translatorComment": "Copied from source."
|
||||
},
|
||||
{
|
||||
"id": "[none specified]",
|
||||
"message": "[none specified]",
|
||||
"translation": "[не указано]",
|
||||
"translation": "[не указан]",
|
||||
"translatorComment": "Copied from source."
|
||||
},
|
||||
{
|
||||
@@ -576,7 +576,7 @@
|
||||
{
|
||||
"id": "Invalid key for interface section",
|
||||
"message": "Invalid key for interface section",
|
||||
"translation": "Неверный ключ для секции Интерфейса",
|
||||
"translation": "Неверный ключ для секции интерфейса",
|
||||
"translatorComment": "Copied from source."
|
||||
},
|
||||
{
|
||||
@@ -888,7 +888,7 @@
|
||||
{
|
||||
"id": "&Name:",
|
||||
"message": "&Name:",
|
||||
"translation": "&Название:",
|
||||
"translation": "&Имя:",
|
||||
"translatorComment": "Copied from source."
|
||||
},
|
||||
{
|
||||
@@ -906,7 +906,7 @@
|
||||
{
|
||||
"id": "&Block untunneled traffic (kill-switch)",
|
||||
"message": "&Block untunneled traffic (kill-switch)",
|
||||
"translation": "&Блокировать нетуннелированный трафик",
|
||||
"translation": "&Блокировать трафик, идущий мимо туннеля (kill-switch)",
|
||||
"translatorComment": "Copied from source."
|
||||
},
|
||||
{
|
||||
@@ -936,19 +936,19 @@
|
||||
{
|
||||
"id": "Invalid name",
|
||||
"message": "Invalid name",
|
||||
"translation": "Некорректное название",
|
||||
"translation": "Недопустимое имя",
|
||||
"translatorComment": "Copied from source."
|
||||
},
|
||||
{
|
||||
"id": "A name is required.",
|
||||
"message": "A name is required.",
|
||||
"translation": "Необходимо название.",
|
||||
"translation": "Требуется имя.",
|
||||
"translatorComment": "Copied from source."
|
||||
},
|
||||
{
|
||||
"id": "Tunnel name ‘{NewName}’ is invalid.",
|
||||
"message": "Tunnel name ‘{NewName}’ is invalid.",
|
||||
"translation": "Название туннеля ‘{NewName}’ недопустимо.",
|
||||
"translation": "Имя туннеля ‘{NewName}’ недопустимо.",
|
||||
"translatorComment": "Copied from source.",
|
||||
"placeholders": [
|
||||
{
|
||||
@@ -998,13 +998,13 @@
|
||||
{
|
||||
"id": "Writing file failed",
|
||||
"message": "Writing file failed",
|
||||
"translation": "Ошибка записи файла",
|
||||
"translation": "Ошибка при записи в файл",
|
||||
"translatorComment": "Copied from source."
|
||||
},
|
||||
{
|
||||
"id": "File ‘{FilePath}’ already exists.\n\nDo you want to overwrite it?",
|
||||
"message": "File ‘{FilePath}’ already exists.\n\nDo you want to overwrite it?",
|
||||
"translation": "Файл '{FilePath}' уже существует!\n\nВы хотите перезаписать его?",
|
||||
"translation": "Файл ‘{FilePath}’ уже существует!\n\nВы хотите перезаписать его?",
|
||||
"translatorComment": "Copied from source.",
|
||||
"placeholders": [
|
||||
{
|
||||
@@ -1056,7 +1056,7 @@
|
||||
{
|
||||
"id": "&Copy",
|
||||
"message": "&Copy",
|
||||
"translation": "&Скопировать",
|
||||
"translation": "&Копировать",
|
||||
"translatorComment": "Copied from source."
|
||||
},
|
||||
{
|
||||
@@ -1164,13 +1164,13 @@
|
||||
{
|
||||
"id": "AmneziaWG: Deactivated",
|
||||
"message": "AmneziaWG: Deactivated",
|
||||
"translation": "AmneziaWG: Деактивирован",
|
||||
"translation": "AmneziaWG: деактивирован",
|
||||
"translatorComment": "Copied from source."
|
||||
},
|
||||
{
|
||||
"id": "Status: Unknown",
|
||||
"message": "Status: Unknown",
|
||||
"translation": "Статус: Неизвестен",
|
||||
"translation": "Статус: неизвестен",
|
||||
"translatorComment": "Copied from source."
|
||||
},
|
||||
{
|
||||
@@ -1206,7 +1206,7 @@
|
||||
{
|
||||
"id": "AmneziaWG Activated",
|
||||
"message": "AmneziaWG Activated",
|
||||
"translation": "AmneziaWG Включен",
|
||||
"translation": "AmneziaWG включен",
|
||||
"translatorComment": "Copied from source."
|
||||
},
|
||||
{
|
||||
@@ -1228,7 +1228,7 @@
|
||||
{
|
||||
"id": "AmneziaWG Deactivated",
|
||||
"message": "AmneziaWG Deactivated",
|
||||
"translation": "AmneziaWG Выключен",
|
||||
"translation": "AmneziaWG выключен",
|
||||
"translatorComment": "Copied from source."
|
||||
},
|
||||
{
|
||||
@@ -1474,16 +1474,16 @@
|
||||
"arg": "M",
|
||||
"cases": {
|
||||
"one": {
|
||||
"msg": "Импортированный {M} туннель"
|
||||
"msg": "Импортирован {M} туннель"
|
||||
},
|
||||
"few": {
|
||||
"msg": "Импортированы туннели: {M}"
|
||||
"msg": "Импортированы {M} туннеля"
|
||||
},
|
||||
"many": {
|
||||
"msg": "Импортированы туннели: {M}"
|
||||
"msg": "Импортировано {M} туннелей"
|
||||
},
|
||||
"other": {
|
||||
"msg": "Импортированы туннели: {M}"
|
||||
"msg": "Импортировано {M} туннелей"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1508,16 +1508,16 @@
|
||||
"arg": "N",
|
||||
"cases": {
|
||||
"one": {
|
||||
"msg": "Импортированы туннели: {M} из {N}"
|
||||
"msg": "Импортирован {M} из {N} туннелей"
|
||||
},
|
||||
"few": {
|
||||
"msg": "Импортированы туннели: {M} из {N}"
|
||||
"msg": "Импортированы {M} из {N} туннелей"
|
||||
},
|
||||
"many": {
|
||||
"msg": "Импортированы туннели: {M} из {N}"
|
||||
"msg": "Импортировано {M} из {N} туннелей"
|
||||
},
|
||||
"other": {
|
||||
"msg": "Импортированы туннели: {M} из {N}"
|
||||
"msg": "Импортировано {M} из {N} туннелей"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1559,13 +1559,13 @@
|
||||
"msg": "Удалить {TunnelCount} туннель"
|
||||
},
|
||||
"few": {
|
||||
"msg": "Удалить туннели: {TunnelCount}"
|
||||
"msg": "Удалить {TunnelCount} туннеля"
|
||||
},
|
||||
"many": {
|
||||
"msg": "Удалить туннели: {TunnelCount}"
|
||||
"msg": "Удалить {TunnelCount} туннелей"
|
||||
},
|
||||
"other": {
|
||||
"msg": "Удалить туннели: {TunnelCount}"
|
||||
"msg": "Удалить {TunnelCount} туннелей"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1593,13 +1593,13 @@
|
||||
"msg": "Вы уверены, что хотите удалить {TunnelCount} туннель?"
|
||||
},
|
||||
"few": {
|
||||
"msg": "Вы уверены, что хотите удалить туннели: {TunnelCount}?"
|
||||
"msg": "Вы уверены, что хотите удалить {TunnelCount} туннеля?"
|
||||
},
|
||||
"many": {
|
||||
"msg": "Вы уверены, что хотите удалить туннели: {TunnelCount}?"
|
||||
"msg": "Вы уверены, что хотите удалить {TunnelCount} туннелей?"
|
||||
},
|
||||
"other": {
|
||||
"msg": "Вы уверены, что хотите удалить туннели: {TunnelCount}?"
|
||||
"msg": "Вы уверены, что хотите удалить {TunnelCount} туннелей?"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1634,7 +1634,7 @@
|
||||
{
|
||||
"id": "Are you sure you would like to delete tunnel ‘{TunnelName}’?",
|
||||
"message": "Are you sure you would like to delete tunnel ‘{TunnelName}’?",
|
||||
"translation": "Вы уверены, что хотите удалить '{TunnelName}' туннель?",
|
||||
"translation": "Вы уверены, что хотите удалить ‘{TunnelName}’ туннель?",
|
||||
"translatorComment": "Copied from source.",
|
||||
"placeholders": [
|
||||
{
|
||||
@@ -1703,13 +1703,13 @@
|
||||
"msg": "{Lenerrors} туннель не удалось удалить."
|
||||
},
|
||||
"few": {
|
||||
"msg": "туннелей не удалось удалить: {Lenerrors}"
|
||||
"msg": "{Lenerrors} туннеля не удалось удалить."
|
||||
},
|
||||
"many": {
|
||||
"msg": "туннелей не удалось удалить: {Lenerrors}"
|
||||
"msg": "{Lenerrors} туннелей не удалось удалить."
|
||||
},
|
||||
"other": {
|
||||
"msg": "туннелей не удалось удалить: {Lenerrors}"
|
||||
"msg": "{Lenerrors} туннелей не удалось удалить."
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1740,7 +1740,7 @@
|
||||
{
|
||||
"id": "Configuration ZIP Files (*.zip)|*.zip",
|
||||
"message": "Configuration ZIP Files (*.zip)|*.zip",
|
||||
"translation": "Конфигурация ZIP файлов (*.zip)|*.zip",
|
||||
"translation": "ZIP-файлы конфигурации (*.zip)|*.zip",
|
||||
"translatorComment": "Copied from source."
|
||||
},
|
||||
{
|
||||
@@ -1768,13 +1768,13 @@
|
||||
{
|
||||
"id": "Error Exiting AmneziaWG",
|
||||
"message": "Error Exiting AmneziaWG",
|
||||
"translation": "Ошибка выхода из AmneziaWG",
|
||||
"translation": "Ошибка при завершении AmneziaWG",
|
||||
"translatorComment": "Copied from source."
|
||||
},
|
||||
{
|
||||
"id": "Unable to exit service due to: {Err}. You may want to stop AmneziaWG from the service manager.",
|
||||
"message": "Unable to exit service due to: {Err}. You may want to stop AmneziaWG from the service manager.",
|
||||
"translation": "Не удается выйти из сервиса из-за: {Err}. Вы можете остановить AmneziaWG из менеджера служб.",
|
||||
"translation": "Не удалось завершить службу: {Err}. Вы можете остановить AmneziaWG вручную из оснастки Службы.",
|
||||
"translatorComment": "Copied from source.",
|
||||
"placeholders": [
|
||||
{
|
||||
@@ -1796,19 +1796,19 @@
|
||||
{
|
||||
"id": "Status: Waiting for user",
|
||||
"message": "Status: Waiting for user",
|
||||
"translation": "Статус: Ожидание пользователя",
|
||||
"translation": "Статус: ожидание пользователя",
|
||||
"translatorComment": "Copied from source."
|
||||
},
|
||||
{
|
||||
"id": "Update Now",
|
||||
"message": "Update Now",
|
||||
"translation": "Обновить Сейчас",
|
||||
"translation": "Обновить сейчас",
|
||||
"translatorComment": "Copied from source."
|
||||
},
|
||||
{
|
||||
"id": "Status: Waiting for updater service",
|
||||
"message": "Status: Waiting for updater service",
|
||||
"translation": "Статус: Ожидание обновления",
|
||||
"translation": "Статус: ожидание обновления",
|
||||
"translatorComment": "Copied from source."
|
||||
},
|
||||
{
|
||||
@@ -1830,13 +1830,13 @@
|
||||
{
|
||||
"id": "Status: Complete!",
|
||||
"message": "Status: Complete!",
|
||||
"translation": "Статус: Завершено!",
|
||||
"translation": "Статус: завершено!",
|
||||
"translatorComment": "Copied from source."
|
||||
},
|
||||
{
|
||||
"id": "http2: Framer {F}: failed to decode just-written frame",
|
||||
"message": "http2: Framer {F}: failed to decode just-written frame",
|
||||
"translation": "http2: Framer {F}: не удалось декодировать только что записанный кадр",
|
||||
"translation": "http2: Framer {F}: не удалось декодировать только что записанный фрейм",
|
||||
"translatorComment": "Copied from source.",
|
||||
"placeholders": [
|
||||
{
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -680,7 +680,7 @@
|
||||
{
|
||||
"id": "♥ &Donate!",
|
||||
"message": "♥ &Donate!",
|
||||
"translation": "♥ a Darovat!",
|
||||
"translation": "♥ &Darovat!",
|
||||
"translatorComment": "Copied from source."
|
||||
},
|
||||
{
|
||||
@@ -692,13 +692,13 @@
|
||||
{
|
||||
"id": "&Deactivate",
|
||||
"message": "&Deactivate",
|
||||
"translation": "a Deaktivovať",
|
||||
"translation": "&Deaktivovať",
|
||||
"translatorComment": "Copied from source."
|
||||
},
|
||||
{
|
||||
"id": "&Activate",
|
||||
"message": "&Activate",
|
||||
"translation": "a Aktivovať",
|
||||
"translation": "&Aktivovať",
|
||||
"translatorComment": "Copied from source."
|
||||
},
|
||||
{
|
||||
@@ -1822,6 +1822,86 @@
|
||||
"message": "Status: Complete!",
|
||||
"translation": "Stav: Dokončené!",
|
||||
"translatorComment": "Copied from source."
|
||||
},
|
||||
{
|
||||
"id": "http2: Framer {F}: failed to decode just-written frame",
|
||||
"message": "http2: Framer {F}: failed to decode just-written frame",
|
||||
"translation": "http2: Framer {F}: failed to decode just-written frame",
|
||||
"translatorComment": "Copied from source.",
|
||||
"placeholders": [
|
||||
{
|
||||
"id": "F",
|
||||
"string": "%[1]p",
|
||||
"type": "*net/http.http2Framer",
|
||||
"underlyingType": "*net/http.http2Framer",
|
||||
"argNum": 1,
|
||||
"expr": "f"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "http2: Framer {F}: wrote {Http2summarizeFramefr}",
|
||||
"message": "http2: Framer {F}: wrote {Http2summarizeFramefr}",
|
||||
"translation": "http2: Framer {F}: wrote {Http2summarizeFramefr}",
|
||||
"translatorComment": "Copied from source.",
|
||||
"placeholders": [
|
||||
{
|
||||
"id": "F",
|
||||
"string": "%[1]p",
|
||||
"type": "*net/http.http2Framer",
|
||||
"underlyingType": "*net/http.http2Framer",
|
||||
"argNum": 1,
|
||||
"expr": "f"
|
||||
},
|
||||
{
|
||||
"id": "Http2summarizeFramefr",
|
||||
"string": "%[2]v",
|
||||
"type": "string",
|
||||
"underlyingType": "string",
|
||||
"argNum": 2,
|
||||
"expr": "http2summarizeFrame(fr)"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "http2: Framer {Fr}: read {Http2summarizeFramef}",
|
||||
"message": "http2: Framer {Fr}: read {Http2summarizeFramef}",
|
||||
"translation": "http2: Framer {Fr}: read {Http2summarizeFramef}",
|
||||
"translatorComment": "Copied from source.",
|
||||
"placeholders": [
|
||||
{
|
||||
"id": "Fr",
|
||||
"string": "%[1]p",
|
||||
"type": "*net/http.http2Framer",
|
||||
"underlyingType": "*net/http.http2Framer",
|
||||
"argNum": 1,
|
||||
"expr": "fr"
|
||||
},
|
||||
{
|
||||
"id": "Http2summarizeFramef",
|
||||
"string": "%[2]v",
|
||||
"type": "string",
|
||||
"underlyingType": "string",
|
||||
"argNum": 2,
|
||||
"expr": "http2summarizeFrame(f)"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "http2: decoded hpack field {HeaderField}",
|
||||
"message": "http2: decoded hpack field {HeaderField}",
|
||||
"translation": "http2: decoded hpack field {HeaderField}",
|
||||
"translatorComment": "Copied from source.",
|
||||
"placeholders": [
|
||||
{
|
||||
"id": "HeaderField",
|
||||
"string": "%+[1]v",
|
||||
"type": "vendor/golang.org/x/net/http2/hpack.HeaderField",
|
||||
"underlyingType": "struct{Name string; Value string; Sensitive bool}",
|
||||
"argNum": 1,
|
||||
"expr": "hf"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -692,7 +692,7 @@
|
||||
{
|
||||
"id": "&Deactivate",
|
||||
"message": "&Deactivate",
|
||||
"translation": "&Deaktiviraj",
|
||||
"translation": "&Dezaktiviraj",
|
||||
"translatorComment": "Copied from source."
|
||||
},
|
||||
{
|
||||
@@ -788,13 +788,13 @@
|
||||
{
|
||||
"id": "pre-down",
|
||||
"message": "pre-down",
|
||||
"translation": "pred-deaktivacijo",
|
||||
"translation": "pred-dezaktivacijo",
|
||||
"translatorComment": "Copied from source."
|
||||
},
|
||||
{
|
||||
"id": "post-down",
|
||||
"message": "post-down",
|
||||
"translation": "po-deaktivaciji",
|
||||
"translation": "po-dezaktivaciji",
|
||||
"translatorComment": "Copied from source."
|
||||
},
|
||||
{
|
||||
@@ -848,7 +848,7 @@
|
||||
{
|
||||
"id": "Failed to deactivate tunnel",
|
||||
"message": "Failed to deactivate tunnel",
|
||||
"translation": "Napaka pri deaktiviranju tunela",
|
||||
"translation": "Napaka pri dezaktiviranju tunela",
|
||||
"translatorComment": "Copied from source."
|
||||
},
|
||||
{
|
||||
@@ -1038,7 +1038,7 @@
|
||||
{
|
||||
"id": "Deactivating",
|
||||
"message": "Deactivating",
|
||||
"translation": "Se deaktivira",
|
||||
"translation": "Se dezaktivira",
|
||||
"translatorComment": "Copied from source."
|
||||
},
|
||||
{
|
||||
@@ -1164,7 +1164,7 @@
|
||||
{
|
||||
"id": "AmneziaWG: Deactivated",
|
||||
"message": "AmneziaWG: Deactivated",
|
||||
"translation": "AmneziaWG: Deaktiviran",
|
||||
"translation": "AmneziaWG: Dezaktiviran",
|
||||
"translatorComment": "Copied from source."
|
||||
},
|
||||
{
|
||||
@@ -1228,13 +1228,13 @@
|
||||
{
|
||||
"id": "AmneziaWG Deactivated",
|
||||
"message": "AmneziaWG Deactivated",
|
||||
"translation": "AmneziaWG deaktiviran",
|
||||
"translation": "AmneziaWG dezaktiviran",
|
||||
"translatorComment": "Copied from source."
|
||||
},
|
||||
{
|
||||
"id": "The {Name} tunnel has been deactivated.",
|
||||
"message": "The {Name} tunnel has been deactivated.",
|
||||
"translation": "Tunel {Name} je bil deaktiviran.",
|
||||
"translation": "Tunel {Name} je bil dezaktiviran.",
|
||||
"translatorComment": "Copied from source.",
|
||||
"placeholders": [
|
||||
{
|
||||
|
||||
1847
locales/sv-SE/messages.gotext.json
Normal file
1847
locales/sv-SE/messages.gotext.json
Normal file
File diff suppressed because it is too large
Load Diff
@@ -10,7 +10,7 @@
|
||||
{
|
||||
"id": "(no argument): elevate and install manager service",
|
||||
"message": "(no argument): elevate and install manager service",
|
||||
"translation": "(argüman verilmediyse): gerekli izinleri al ve yönetim hizmetini kur",
|
||||
"translation": "(parametre belirtilmediyse): gerekli izinleri al ve yönetim hizmetini yükle",
|
||||
"translatorComment": "Copied from source."
|
||||
},
|
||||
{
|
||||
@@ -62,13 +62,13 @@
|
||||
{
|
||||
"id": "You must use the native version of AmneziaWG on this computer.",
|
||||
"message": "You must use the native version of AmneziaWG on this computer.",
|
||||
"translation": "Bu bilgisayarda AmneziaWG'ın yerel sürümünü kullanmanız gerek.",
|
||||
"translation": "Bu bilgisayarda AmneziaWG'ın yerel sürümünü kullanmalısınız.",
|
||||
"translatorComment": "Copied from source."
|
||||
},
|
||||
{
|
||||
"id": "Unable to open current process token: {Err}",
|
||||
"message": "Unable to open current process token: {Err}",
|
||||
"translation": "Şu anki işlem jetonu açılamadı: {Err}",
|
||||
"translation": "Geçerli işlem jetonu açılamadı: {Err}",
|
||||
"translatorComment": "Copied from source.",
|
||||
"placeholders": [
|
||||
{
|
||||
@@ -84,7 +84,7 @@
|
||||
{
|
||||
"id": "AmneziaWG may only be used by users who are a member of the Builtin {AdminGroupName} group.",
|
||||
"message": "AmneziaWG may only be used by users who are a member of the Builtin {AdminGroupName} group.",
|
||||
"translation": "AmneziaWG sadece sisteme yerleşik {AdminGroupName} grubunun üyeleri tarafından kullanılabilir.",
|
||||
"translation": "AmneziaWG'ı sadece yerleşik {AdminGroupName} grubunun üyeleri kullanabilir.",
|
||||
"translatorComment": "Copied from source.",
|
||||
"placeholders": [
|
||||
{
|
||||
@@ -100,7 +100,7 @@
|
||||
{
|
||||
"id": "AmneziaWG is running, but the UI is only accessible from desktops of the Builtin {AdminGroupName} group.",
|
||||
"message": "AmneziaWG is running, but the UI is only accessible from desktops of the Builtin {AdminGroupName} group.",
|
||||
"translation": "AmneziaWG çalışıyor, fakat kullanıcı arayüzü sadece sisteme yerleşik {AdminGroupName} grubunun üyesi olan kullanıcılar tarafından masaüstünde erişilebilir.",
|
||||
"translation": "AmneziaWG çalışıyor fakat kullanıcı arayüzüne sadece yerleşik {AdminGroupName} grubunun bilgisayarlarından erişilebilir.",
|
||||
"translatorComment": "Copied from source.",
|
||||
"placeholders": [
|
||||
{
|
||||
@@ -116,7 +116,7 @@
|
||||
{
|
||||
"id": "AmneziaWG system tray icon did not appear after 30 seconds.",
|
||||
"message": "AmneziaWG system tray icon did not appear after 30 seconds.",
|
||||
"translation": "AmneziaWG sistem tepsisi ikonu 30 saniye sonunda belirmedi.",
|
||||
"translation": "AmneziaWG sistem tepsisi simgesi 30 saniye sonunda belirmedi.",
|
||||
"translatorComment": "Copied from source."
|
||||
},
|
||||
{
|
||||
@@ -128,7 +128,7 @@
|
||||
{
|
||||
"id": "System clock wound backward!",
|
||||
"message": "System clock wound backward!",
|
||||
"translation": "Sistem saati geriye sarılmış!",
|
||||
"translation": "Sistem saati geri alınmış!",
|
||||
"translatorComment": "Copied from source."
|
||||
},
|
||||
{
|
||||
@@ -400,13 +400,13 @@
|
||||
{
|
||||
"id": "Invalid network prefix length",
|
||||
"message": "Invalid network prefix length",
|
||||
"translation": "Ağ öneki uzunluğu geçersiz",
|
||||
"translation": "Geçersiz ağ öneki uzunluğu",
|
||||
"translatorComment": "Copied from source."
|
||||
},
|
||||
{
|
||||
"id": "Missing port from endpoint",
|
||||
"message": "Missing port from endpoint",
|
||||
"translation": "Uç nokta port ayarı eksik",
|
||||
"translation": "Uç nokta portu eksik",
|
||||
"translatorComment": "Copied from source."
|
||||
},
|
||||
{
|
||||
@@ -418,7 +418,7 @@
|
||||
{
|
||||
"id": "Brackets must contain an IPv6 address",
|
||||
"message": "Brackets must contain an IPv6 address",
|
||||
"translation": "Parantezler bir IPv6 adresi içermelidir",
|
||||
"translation": "Köşeli parantezler IPv6 adresi içermelidir",
|
||||
"translatorComment": "Copied from source."
|
||||
},
|
||||
{
|
||||
@@ -436,7 +436,7 @@
|
||||
{
|
||||
"id": "Invalid persistent keepalive",
|
||||
"message": "Invalid persistent keepalive",
|
||||
"translation": "Geçersiz kalıcı açık bırakma",
|
||||
"translation": "Geçersiz sürekli keepalive",
|
||||
"translatorComment": "Copied from source."
|
||||
},
|
||||
{
|
||||
@@ -458,13 +458,13 @@
|
||||
{
|
||||
"id": "Keys must decode to exactly 32 bytes",
|
||||
"message": "Keys must decode to exactly 32 bytes",
|
||||
"translation": "Anahtarlar çözüldüğünde tam 32 byte olmalı",
|
||||
"translation": "Anahtarlar çözüldüğünde tam 32 bayt olmalıdır",
|
||||
"translatorComment": "Copied from source."
|
||||
},
|
||||
{
|
||||
"id": "Number must be a number between 0 and 2^64-1: {Err}",
|
||||
"message": "Number must be a number between 0 and 2^64-1: {Err}",
|
||||
"translation": "Sayı 0 ve 2^64-1 arasında bir sayı olmalı: {Err}",
|
||||
"translation": "Sayı 0 ile 2^64-1 arasında olmalıdır: {Err}",
|
||||
"translatorComment": "Copied from source.",
|
||||
"placeholders": [
|
||||
{
|
||||
@@ -492,13 +492,13 @@
|
||||
{
|
||||
"id": "Line must occur in a section",
|
||||
"message": "Line must occur in a section",
|
||||
"translation": "Satır bir bölümde olmalı",
|
||||
"translation": "Satır bir bölüm içinde olmalıdır",
|
||||
"translatorComment": "Copied from source."
|
||||
},
|
||||
{
|
||||
"id": "Config key is missing an equals separator",
|
||||
"message": "Config key is missing an equals separator",
|
||||
"translation": "Yapılandırma anahtarında eşittir operatörü eksik",
|
||||
"translation": "Yapılandırma anahtarında eşittir ayracı eksik",
|
||||
"translatorComment": "Copied from source."
|
||||
},
|
||||
{
|
||||
@@ -522,25 +522,25 @@
|
||||
{
|
||||
"id": "An interface must have a private key",
|
||||
"message": "An interface must have a private key",
|
||||
"translation": "Bir arabirim gizli anahtara sahip olmalıdır",
|
||||
"translation": "Arabirimde gizli anahtar bulunmalıdır",
|
||||
"translatorComment": "Copied from source."
|
||||
},
|
||||
{
|
||||
"id": "[none specified]",
|
||||
"message": "[none specified]",
|
||||
"translation": "[hiçbir şey belirtilmemiş}",
|
||||
"translation": "[belirtilmedi]",
|
||||
"translatorComment": "Copied from source."
|
||||
},
|
||||
{
|
||||
"id": "All peers must have public keys",
|
||||
"message": "All peers must have public keys",
|
||||
"translation": "Tüm eşler açık anahtarlara sahip olmalı",
|
||||
"translation": "Tüm eşlerin ortak anahtarları olmalıdır",
|
||||
"translatorComment": "Copied from source."
|
||||
},
|
||||
{
|
||||
"id": "Error in getting configuration",
|
||||
"message": "Error in getting configuration",
|
||||
"translation": "Yapılandırma bilgisi alınırken hata oluştu",
|
||||
"translation": "Yapılandırma alınırken hata oluştu",
|
||||
"translatorComment": "Copied from source."
|
||||
},
|
||||
{
|
||||
@@ -552,7 +552,7 @@
|
||||
{
|
||||
"id": "Protocol version must be 1",
|
||||
"message": "Protocol version must be 1",
|
||||
"translation": "Protokol sürümü 1 olmak zorunda",
|
||||
"translation": "Protokol sürümü 1 olmalıdır",
|
||||
"translatorComment": "Copied from source."
|
||||
},
|
||||
{
|
||||
@@ -582,13 +582,13 @@
|
||||
{
|
||||
"id": "AmneziaWG logo image",
|
||||
"message": "AmneziaWG logo image",
|
||||
"translation": "AmneziaWG logo resmi",
|
||||
"translation": "AmneziaWG logosu",
|
||||
"translatorComment": "Copied from source."
|
||||
},
|
||||
{
|
||||
"id": "App version: {Number}\nGo backend version: {WireGuardGoVersion}\nGo version: {Version_go}-{GOARCH}\nOperating system: {OsName}\nArchitecture: {NativeArch}",
|
||||
"message": "App version: {Number}\nGo backend version: {WireGuardGoVersion}\nGo version: {Version_go}-{GOARCH}\nOperating system: {OsName}\nArchitecture: {NativeArch}",
|
||||
"translation": "Uygulama sürümü: {Number}\nGo arkauç sürümü: {WireGuardGoVersion}\nGo sürümü: {Version_go}-{GOARCH}\nİşletim sistemi: {OsName}\nMimari: {NativeArch}",
|
||||
"translation": "Uygulama sürümü: {Number}\nGo arka uç sürümü: {WireGuardGoVersion}\nGo sürümü: {Version_go}-{GOARCH}\nİşletim sistemi: {OsName}\nMimari: {NativeArch}",
|
||||
"translatorComment": "Copied from source.",
|
||||
"placeholders": [
|
||||
{
|
||||
@@ -674,7 +674,7 @@
|
||||
{
|
||||
"id": "Public key:",
|
||||
"message": "Public key:",
|
||||
"translation": "Açık anahtar:",
|
||||
"translation": "Ortak anahtar:",
|
||||
"translatorComment": "Copied from source."
|
||||
},
|
||||
{
|
||||
@@ -704,19 +704,19 @@
|
||||
{
|
||||
"id": "Scripts:",
|
||||
"message": "Scripts:",
|
||||
"translation": "Komut dosyaları:",
|
||||
"translation": "Betikler:",
|
||||
"translatorComment": "Copied from source."
|
||||
},
|
||||
{
|
||||
"id": "Preshared key:",
|
||||
"message": "Preshared key:",
|
||||
"translation": "Önceden paylaşılmış anahtar:",
|
||||
"translation": "Önceden paylaşılan anahtar:",
|
||||
"translatorComment": "Copied from source."
|
||||
},
|
||||
{
|
||||
"id": "Allowed IPs:",
|
||||
"message": "Allowed IPs:",
|
||||
"translation": "İzin verilen IP'ler:",
|
||||
"translation": "İzin verilen IP’ler:",
|
||||
"translatorComment": "Copied from source."
|
||||
},
|
||||
{
|
||||
@@ -728,7 +728,7 @@
|
||||
{
|
||||
"id": "Persistent keepalive:",
|
||||
"message": "Persistent keepalive:",
|
||||
"translation": "Kalıcı açık tutma:",
|
||||
"translation": "Sürekli keepalive:",
|
||||
"translatorComment": "Copied from source."
|
||||
},
|
||||
{
|
||||
@@ -746,31 +746,31 @@
|
||||
{
|
||||
"id": "pre-up",
|
||||
"message": "pre-up",
|
||||
"translation": "bağlantı-öncesi",
|
||||
"translation": "bağlantı öncesi",
|
||||
"translatorComment": "Copied from source."
|
||||
},
|
||||
{
|
||||
"id": "post-up",
|
||||
"message": "post-up",
|
||||
"translation": "bağlantı-sonrası",
|
||||
"translation": "bağlantı sonrası",
|
||||
"translatorComment": "Copied from source."
|
||||
},
|
||||
{
|
||||
"id": "pre-down",
|
||||
"message": "pre-down",
|
||||
"translation": "bağlantı-kesme-öncesi",
|
||||
"translation": "bağlantı kesme öncesi",
|
||||
"translatorComment": "Copied from source."
|
||||
},
|
||||
{
|
||||
"id": "post-down",
|
||||
"message": "post-down",
|
||||
"translation": "bağlantı-kesme-sonrası",
|
||||
"translation": "bağlantı kesme sonrası",
|
||||
"translatorComment": "Copied from source."
|
||||
},
|
||||
{
|
||||
"id": "disabled, per policy",
|
||||
"message": "disabled, per policy",
|
||||
"translation": "ilke gereği kapalı",
|
||||
"translation": "ilke gereği devre dışı",
|
||||
"translatorComment": "Copied from source."
|
||||
},
|
||||
{
|
||||
@@ -864,7 +864,7 @@
|
||||
{
|
||||
"id": "&Public key:",
|
||||
"message": "&Public key:",
|
||||
"translation": "&Açık anahtar:",
|
||||
"translation": "&Ortak anahtar:",
|
||||
"translatorComment": "Copied from source."
|
||||
},
|
||||
{
|
||||
@@ -876,13 +876,13 @@
|
||||
{
|
||||
"id": "&Block untunneled traffic (kill-switch)",
|
||||
"message": "&Block untunneled traffic (kill-switch)",
|
||||
"translation": "&Tünelden geçmeyen trafiği durdur (kill-switch)",
|
||||
"translation": "&Tünelden geçmeyen trafiği engelle (kill switch)",
|
||||
"translatorComment": "Copied from source."
|
||||
},
|
||||
{
|
||||
"id": "When a configuration has exactly one peer, and that peer has an allowed IPs containing at least one of 0.0.0.0/0 or ::/0, then the tunnel service engages a firewall ruleset to block all traffic that is neither to nor from the tunnel interface or is to the wrong DNS server, with special exceptions for DHCP and NDP.",
|
||||
"message": "When a configuration has exactly one peer, and that peer has an allowed IPs containing at least one of 0.0.0.0/0 or ::/0, then the tunnel service engages a firewall ruleset to block all traffic that is neither to nor from the tunnel interface or is to the wrong DNS server, with special exceptions for DHCP and NDP.",
|
||||
"translation": "Bir yapılandırmada tam bir eş varsa, ve bu eş 0.0.0.0/0 veya ::/0 arasından en az birini içeren izin verilen IPler listesine sahipse, tünel hizmeti DHCP ve NDP için bazı özel istisnalar hariç tünel arabirimine gitmeyen veya bu arabirimden gelmeyen, veya yanlış DNS sunucusuna giden tüm trafiği durdurmak için güvenlik duvarında bir ilke kümesi ayarlar.",
|
||||
"translation": "Yapılandırmada tek bir eş varsa ve bu eşin izinli IP listesinde 0.0.0.0/0 veya ::/0 bulunuyorsa tünel hizmeti, DHCP ve NDP'ye ait istisnalar dışında tünel arabirimine gitmeyen veya bu arabirimden gelmeyen veya yanlış DNS sunucusuna giden tüm trafiği engellemek için güvenlik duvarına bir kural kümesi ekler.",
|
||||
"translatorComment": "Copied from source."
|
||||
},
|
||||
{
|
||||
@@ -912,13 +912,13 @@
|
||||
{
|
||||
"id": "A name is required.",
|
||||
"message": "A name is required.",
|
||||
"translation": "Bir isim gerekli.",
|
||||
"translation": "Bir isim girmelisiniz.",
|
||||
"translatorComment": "Copied from source."
|
||||
},
|
||||
{
|
||||
"id": "Tunnel name ‘{NewName}’ is invalid.",
|
||||
"message": "Tunnel name ‘{NewName}’ is invalid.",
|
||||
"translation": "`{NewName}` geçersiz bir tünel ismi.",
|
||||
"translation": "‘{NewName}’ geçersiz bir tünel ismi.",
|
||||
"translatorComment": "Copied from source.",
|
||||
"placeholders": [
|
||||
{
|
||||
@@ -934,7 +934,7 @@
|
||||
{
|
||||
"id": "Unable to list existing tunnels",
|
||||
"message": "Unable to list existing tunnels",
|
||||
"translation": "Mevcut tüneller listelenemiyor",
|
||||
"translation": "Mevcut tüneller listelenemedi",
|
||||
"translatorComment": "Copied from source."
|
||||
},
|
||||
{
|
||||
@@ -962,7 +962,7 @@
|
||||
{
|
||||
"id": "Unable to create new configuration",
|
||||
"message": "Unable to create new configuration",
|
||||
"translation": "Yeni yapılandırma oluşturulamıyor",
|
||||
"translation": "Yeni yapılandırma oluşturulamadı",
|
||||
"translatorComment": "Copied from source."
|
||||
},
|
||||
{
|
||||
@@ -1002,7 +1002,7 @@
|
||||
{
|
||||
"id": "Inactive",
|
||||
"message": "Inactive",
|
||||
"translation": "Etkin değil",
|
||||
"translation": "Devre dışı",
|
||||
"translatorComment": "Copied from source."
|
||||
},
|
||||
{
|
||||
@@ -1026,25 +1026,25 @@
|
||||
{
|
||||
"id": "&Copy",
|
||||
"message": "&Copy",
|
||||
"translation": "Kopyala (&c)",
|
||||
"translation": "&Kopyala",
|
||||
"translatorComment": "Copied from source."
|
||||
},
|
||||
{
|
||||
"id": "Select &all",
|
||||
"message": "Select &all",
|
||||
"translation": "&tümünü seç",
|
||||
"translation": "&Tümünü seç",
|
||||
"translatorComment": "Copied from source."
|
||||
},
|
||||
{
|
||||
"id": "&Save to file…",
|
||||
"message": "&Save to file…",
|
||||
"translation": "Dosyaya kaydet (&s)…",
|
||||
"translation": "&Dosyaya kaydet…",
|
||||
"translatorComment": "Copied from source."
|
||||
},
|
||||
{
|
||||
"id": "Time",
|
||||
"message": "Time",
|
||||
"translation": "Zaman",
|
||||
"translation": "Saat",
|
||||
"translatorComment": "Copied from source."
|
||||
},
|
||||
{
|
||||
@@ -1056,19 +1056,19 @@
|
||||
{
|
||||
"id": "Text Files (*.txt)|*.txt|All Files (*.*)|*.*",
|
||||
"message": "Text Files (*.txt)|*.txt|All Files (*.*)|*.*",
|
||||
"translation": "Metin Dosyaları (*.txt)|*.txt|Tüm Dosyalar (*.*)|*.*",
|
||||
"translation": "Metin dosyaları (*.txt)|*.txt|Tüm dosyalar (*.*)|*.*",
|
||||
"translatorComment": "Copied from source."
|
||||
},
|
||||
{
|
||||
"id": "Export log to file",
|
||||
"message": "Export log to file",
|
||||
"translation": "Günlük dosyasını dışa aktar",
|
||||
"translation": "Günlüğü dosyaya aktar",
|
||||
"translatorComment": "Copied from source."
|
||||
},
|
||||
{
|
||||
"id": "&About AmneziaWG…",
|
||||
"message": "&About AmneziaWG…",
|
||||
"translation": "AmneziaWG Hakkında (&a)…",
|
||||
"translation": "&AmneziaWG hakkında…",
|
||||
"translatorComment": "Copied from source."
|
||||
},
|
||||
{
|
||||
@@ -1080,7 +1080,7 @@
|
||||
{
|
||||
"id": "{ErrMsg}\n\nPlease consult the log for more information.",
|
||||
"message": "{ErrMsg}\n\nPlease consult the log for more information.",
|
||||
"translation": "{ErrMsg}\n\nLütfen daha fazla bilgi için günlüğe göz atın.",
|
||||
"translation": "{ErrMsg}\n\nDaha fazla bilgi için lütfen günlüğe göz atın.",
|
||||
"translatorComment": "Copied from source.",
|
||||
"placeholders": [
|
||||
{
|
||||
@@ -1152,25 +1152,25 @@
|
||||
{
|
||||
"id": "&Manage tunnels…",
|
||||
"message": "&Manage tunnels…",
|
||||
"translation": "Tünelleri yönet (&m)…",
|
||||
"translation": "&Tünelleri yönet…",
|
||||
"translatorComment": "Copied from source."
|
||||
},
|
||||
{
|
||||
"id": "&Import tunnel(s) from file…",
|
||||
"message": "&Import tunnel(s) from file…",
|
||||
"translation": "Dosyadan tünelleri içe aktar (&i)…",
|
||||
"translation": "Tünelleri dosyadan &içe aktar…",
|
||||
"translatorComment": "Copied from source."
|
||||
},
|
||||
{
|
||||
"id": "E&xit",
|
||||
"message": "E&xit",
|
||||
"translation": "Çık (&x)",
|
||||
"translation": "Çı&kış",
|
||||
"translatorComment": "Copied from source."
|
||||
},
|
||||
{
|
||||
"id": "&Tunnels",
|
||||
"message": "&Tunnels",
|
||||
"translation": "Tüneller (&t)",
|
||||
"translation": "&Tüneller",
|
||||
"translatorComment": "Copied from source."
|
||||
},
|
||||
{
|
||||
@@ -1286,7 +1286,7 @@
|
||||
{
|
||||
"id": "An update to AmneziaWG is now available. You are advised to update as soon as possible.",
|
||||
"message": "An update to AmneziaWG is now available. You are advised to update as soon as possible.",
|
||||
"translation": "AmneziaWG için bir güncelleme mevcut. İlk fırsatta güncelleme yapmanız tavsiye edilir.",
|
||||
"translation": "Yeni bir AmneziaWG güncellemesi yayımlandı. İlk fırsatta güncelleme yapmanız tavsiye edilir.",
|
||||
"translatorComment": "Copied from source."
|
||||
},
|
||||
{
|
||||
@@ -1298,19 +1298,19 @@
|
||||
{
|
||||
"id": "&Edit",
|
||||
"message": "&Edit",
|
||||
"translation": "&Edit",
|
||||
"translation": "&Düzenle",
|
||||
"translatorComment": "Copied from source."
|
||||
},
|
||||
{
|
||||
"id": "Add &empty tunnel…",
|
||||
"message": "Add &empty tunnel…",
|
||||
"translation": "Boş tünel ekle (&e)…",
|
||||
"translation": "Boş tünel &ekle…",
|
||||
"translatorComment": "Copied from source."
|
||||
},
|
||||
{
|
||||
"id": "Add Tunnel",
|
||||
"message": "Add Tunnel",
|
||||
"translation": "Tünel Ekle",
|
||||
"translation": "Tünel ekle",
|
||||
"translatorComment": "Copied from source."
|
||||
},
|
||||
{
|
||||
@@ -1328,7 +1328,7 @@
|
||||
{
|
||||
"id": "&Toggle",
|
||||
"message": "&Toggle",
|
||||
"translation": "&Değiştir",
|
||||
"translation": "&Aç/kapat",
|
||||
"translatorComment": "Copied from source."
|
||||
},
|
||||
{
|
||||
@@ -1374,7 +1374,7 @@
|
||||
{
|
||||
"id": "Could not enumerate existing tunnels: {LastErr}",
|
||||
"message": "Could not enumerate existing tunnels: {LastErr}",
|
||||
"translation": "Mevcut tüneller numaralandırılamadı: {LastErr}",
|
||||
"translation": "Mevcut tüneller sıralanamadı: {LastErr}",
|
||||
"translatorComment": "Copied from source.",
|
||||
"placeholders": [
|
||||
{
|
||||
@@ -1406,7 +1406,7 @@
|
||||
{
|
||||
"id": "Unable to import configuration: {LastErr}",
|
||||
"message": "Unable to import configuration: {LastErr}",
|
||||
"translation": "Yapılandırma içe aktarılamıyor: {LastErr}",
|
||||
"translation": "Yapılandırma içe aktarılamadı: {LastErr}",
|
||||
"translatorComment": "Copied from source.",
|
||||
"placeholders": [
|
||||
{
|
||||
@@ -1492,7 +1492,7 @@
|
||||
{
|
||||
"id": "Unable to create tunnel",
|
||||
"message": "Unable to create tunnel",
|
||||
"translation": "Tünel oluşturulamıyor",
|
||||
"translation": "Tünel oluşturulamadı",
|
||||
"translatorComment": "Copied from source."
|
||||
},
|
||||
{
|
||||
@@ -1602,7 +1602,7 @@
|
||||
{
|
||||
"id": "Unable to delete tunnel",
|
||||
"message": "Unable to delete tunnel",
|
||||
"translation": "Tünel silinemiyor",
|
||||
"translation": "Tünel silinemedi",
|
||||
"translatorComment": "Copied from source."
|
||||
},
|
||||
{
|
||||
@@ -1624,7 +1624,7 @@
|
||||
{
|
||||
"id": "Unable to delete tunnels",
|
||||
"message": "Unable to delete tunnels",
|
||||
"translation": "Tüneller silinemiyor",
|
||||
"translation": "Tüneller silinemedi",
|
||||
"translatorComment": "Copied from source."
|
||||
},
|
||||
{
|
||||
@@ -1658,7 +1658,7 @@
|
||||
{
|
||||
"id": "Configuration Files (*.zip, *.conf)|*.zip;*.conf|All Files (*.*)|*.*",
|
||||
"message": "Configuration Files (*.zip, *.conf)|*.zip;*.conf|All Files (*.*)|*.*",
|
||||
"translation": "Yapılandırma Dosyaları (*.zip, *.conf)|*.zip;*.conf|Tüm Dosyalar (*.*)|*.*",
|
||||
"translation": "Yapılandırma dosyaları (*.zip, *.conf)|*.zip;*.conf|Tüm dosyalar (*.*)|*.*",
|
||||
"translatorComment": "Copied from source."
|
||||
},
|
||||
{
|
||||
@@ -1670,7 +1670,7 @@
|
||||
{
|
||||
"id": "Configuration ZIP Files (*.zip)|*.zip",
|
||||
"message": "Configuration ZIP Files (*.zip)|*.zip",
|
||||
"translation": "Yapılandırma ZIP Dosyası (*.zip)|*.zip",
|
||||
"translation": "Yapılandırma ZIP dosyaları (*.zip)|*.zip",
|
||||
"translatorComment": "Copied from source."
|
||||
},
|
||||
{
|
||||
@@ -1704,7 +1704,7 @@
|
||||
{
|
||||
"id": "Unable to exit service due to: {Err}. You may want to stop AmneziaWG from the service manager.",
|
||||
"message": "Unable to exit service due to: {Err}. You may want to stop AmneziaWG from the service manager.",
|
||||
"translation": "Hizmet şu nedenden dolayı kapatılamıyor: {Err}. AmneziaWG'ı hizmet yöneticisinden durdurabilirsiniz.",
|
||||
"translation": "Şu nedenden dolayı hizmetten çıkılamadı: {Err}. AmneziaWG'ı hizmet yöneticisinden durdurabilirsiniz.",
|
||||
"translatorComment": "Copied from source.",
|
||||
"placeholders": [
|
||||
{
|
||||
@@ -1720,7 +1720,7 @@
|
||||
{
|
||||
"id": "An update to AmneziaWG is available. It is highly advisable to update without delay.",
|
||||
"message": "An update to AmneziaWG is available. It is highly advisable to update without delay.",
|
||||
"translation": "AmneziaWG için bir güncelleme mevcut. Bekletmeden güncelleme yapmanız önemle tavsiye edilir.",
|
||||
"translation": "Yeni bir AmneziaWG güncellemesi yayımlandı. Vakit kaybetmeden güncelleme yapmanız tavsiye edilir.",
|
||||
"translatorComment": "Copied from source."
|
||||
},
|
||||
{
|
||||
@@ -1732,7 +1732,7 @@
|
||||
{
|
||||
"id": "Update Now",
|
||||
"message": "Update Now",
|
||||
"translation": "Şimdi Güncelle",
|
||||
"translation": "Şimdi güncelle",
|
||||
"translatorComment": "Copied from source."
|
||||
},
|
||||
{
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -7,6 +7,36 @@
|
||||
"translation": "Lỗi",
|
||||
"translatorComment": "Copied from source."
|
||||
},
|
||||
{
|
||||
"id": "Usage: {Args0} [\n{String}]",
|
||||
"message": "Usage: {Args0} [\n{String}]",
|
||||
"translation": "Sử dụng: {Args0} [\n{String}]",
|
||||
"translatorComment": "Copied from source.",
|
||||
"placeholders": [
|
||||
{
|
||||
"id": "Args0",
|
||||
"string": "%[1]s",
|
||||
"type": "string",
|
||||
"underlyingType": "string",
|
||||
"argNum": 1,
|
||||
"expr": "os.Args[0]"
|
||||
},
|
||||
{
|
||||
"id": "String",
|
||||
"string": "%[2]s",
|
||||
"type": "string",
|
||||
"underlyingType": "string",
|
||||
"argNum": 2,
|
||||
"expr": "builder.String()"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "Command Line Options",
|
||||
"message": "Command Line Options",
|
||||
"translation": "Tùy chọn dòng lệnh",
|
||||
"translatorComment": "Copied from source."
|
||||
},
|
||||
{
|
||||
"id": "Now",
|
||||
"message": "Now",
|
||||
@@ -154,24 +184,150 @@
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "{Bytes} B",
|
||||
"message": "{Bytes} B",
|
||||
"translation": "{Bytes} B",
|
||||
"translatorComment": "Copied from source.",
|
||||
"placeholders": [
|
||||
{
|
||||
"id": "Bytes",
|
||||
"string": "%[1]d",
|
||||
"type": "golang.zx2c4.com/wireguard/windows/conf.Bytes",
|
||||
"underlyingType": "uint64",
|
||||
"argNum": 1,
|
||||
"expr": "b"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "{Float64b__1024} KiB",
|
||||
"message": "{Float64b__1024} KiB",
|
||||
"translation": "{Float64b__1024} KiB",
|
||||
"translatorComment": "Copied from source.",
|
||||
"placeholders": [
|
||||
{
|
||||
"id": "Float64b__1024",
|
||||
"string": "%.2[1]f",
|
||||
"type": "float64",
|
||||
"underlyingType": "float64",
|
||||
"argNum": 1,
|
||||
"expr": "float64(b) / 1024"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "{Float64b__1024__1024} MiB",
|
||||
"message": "{Float64b__1024__1024} MiB",
|
||||
"translation": "{Float64b__1024__1024} MiB",
|
||||
"translatorComment": "Copied from source.",
|
||||
"placeholders": [
|
||||
{
|
||||
"id": "Float64b__1024__1024",
|
||||
"string": "%.2[1]f",
|
||||
"type": "float64",
|
||||
"underlyingType": "float64",
|
||||
"argNum": 1,
|
||||
"expr": "float64(b) / (1024 * 1024)"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "{Float64b__1024__1024__1024} GiB",
|
||||
"message": "{Float64b__1024__1024__1024} GiB",
|
||||
"translation": "{Float64b__1024__1024__1024} GiB",
|
||||
"translatorComment": "Copied from source.",
|
||||
"placeholders": [
|
||||
{
|
||||
"id": "Float64b__1024__1024__1024",
|
||||
"string": "%.2[1]f",
|
||||
"type": "float64",
|
||||
"underlyingType": "float64",
|
||||
"argNum": 1,
|
||||
"expr": "float64(b) / (1024 * 1024 * 1024)"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "{Float64b__1024__1024__1024__1024} TiB",
|
||||
"message": "{Float64b__1024__1024__1024__1024} TiB",
|
||||
"translation": "{Float64b__1024__1024__1024__1024} TiB",
|
||||
"translatorComment": "Copied from source.",
|
||||
"placeholders": [
|
||||
{
|
||||
"id": "Float64b__1024__1024__1024__1024",
|
||||
"string": "%.2[1]f",
|
||||
"type": "float64",
|
||||
"underlyingType": "float64",
|
||||
"argNum": 1,
|
||||
"expr": "float64(b) / (1024 * 1024 * 1024) / 1024"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "Invalid IP address",
|
||||
"message": "Invalid IP address",
|
||||
"translation": "Địa chỉ IP không hợp lệ",
|
||||
"translatorComment": "Copied from source."
|
||||
},
|
||||
{
|
||||
"id": "Invalid MTU",
|
||||
"message": "Invalid MTU",
|
||||
"translation": "Khoá không hợp lệ",
|
||||
"translatorComment": "Copied from source."
|
||||
},
|
||||
{
|
||||
"id": "Invalid port",
|
||||
"message": "Invalid port",
|
||||
"translation": "Cổng (port) không hợp lệ",
|
||||
"translatorComment": "Copied from source."
|
||||
},
|
||||
{
|
||||
"id": "Invalid key: {Err}",
|
||||
"message": "Invalid key: {Err}",
|
||||
"translation": "Khoá không hợp lệ: {Err}",
|
||||
"translatorComment": "Copied from source.",
|
||||
"placeholders": [
|
||||
{
|
||||
"id": "Err",
|
||||
"string": "%[1]v",
|
||||
"type": "error",
|
||||
"underlyingType": "interface{Error() string}",
|
||||
"argNum": 1,
|
||||
"expr": "err"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "Tunnel name is not valid",
|
||||
"message": "Tunnel name is not valid",
|
||||
"translation": "Tên VPN không hợp lệ",
|
||||
"translatorComment": "Copied from source."
|
||||
},
|
||||
{
|
||||
"id": "[none specified]",
|
||||
"message": "[none specified]",
|
||||
"translation": "Ko có Chỉ định",
|
||||
"translatorComment": "Copied from source."
|
||||
},
|
||||
{
|
||||
"id": "Error in getting configuration",
|
||||
"message": "Error in getting configuration",
|
||||
"translation": "Lỗi khi lưu cấu hình",
|
||||
"translatorComment": "Copied from source."
|
||||
},
|
||||
{
|
||||
"id": "[EnumerationSeparator]",
|
||||
"message": "[EnumerationSeparator]",
|
||||
"translation": ",",
|
||||
"comment": "Text to insert between items when listing - most western languages will translate ‘[EnumerationSeparator]’ into ‘, ’ to produce lists like ‘apple, orange, strawberry’. Eastern languages might translate into ‘、’ to produce lists like ‘リンゴ、オレンジ、イチゴ’."
|
||||
},
|
||||
{
|
||||
"id": "[UnitSeparator]",
|
||||
"message": "[UnitSeparator]",
|
||||
"translation": ",",
|
||||
"comment": "Text to insert when combining units of a measure - most languages will translate ‘[UnitSeparator]’ into ‘ ’ (space) to produce lists like ‘2 minuti 30 sekund’, or empty string ‘’ to produce ‘2分30秒’."
|
||||
},
|
||||
{
|
||||
"id": "About AmneziaWG",
|
||||
"message": "About AmneziaWG",
|
||||
@@ -196,6 +352,18 @@
|
||||
"translation": "Trạng thái:",
|
||||
"translatorComment": "Copied from source."
|
||||
},
|
||||
{
|
||||
"id": "&Deactivate",
|
||||
"message": "&Deactivate",
|
||||
"translation": "Đã hủy kích hoạt",
|
||||
"translatorComment": "Copied from source."
|
||||
},
|
||||
{
|
||||
"id": "&Activate",
|
||||
"message": "&Activate",
|
||||
"translation": "Kích hoạt",
|
||||
"translatorComment": "Copied from source."
|
||||
},
|
||||
{
|
||||
"id": "Endpoint:",
|
||||
"message": "Endpoint:",
|
||||
|
||||
@@ -465,7 +465,7 @@
|
||||
{
|
||||
"id": "Two commas in a row",
|
||||
"message": "Two commas in a row",
|
||||
"translation": "一行中有两个逗号",
|
||||
"translation": "存在多余的逗号",
|
||||
"translatorComment": "Copied from source."
|
||||
},
|
||||
{
|
||||
|
||||
@@ -1146,6 +1146,12 @@
|
||||
"translation": "離開 (&X)",
|
||||
"translatorComment": "Copied from source."
|
||||
},
|
||||
{
|
||||
"id": "&Tunnels",
|
||||
"message": "&Tunnels",
|
||||
"translation": "隧道(&T)",
|
||||
"translatorComment": "Copied from source."
|
||||
},
|
||||
{
|
||||
"id": "AmneziaWG Activated",
|
||||
"message": "AmneziaWG Activated",
|
||||
|
||||
6805
zgotext.go
6805
zgotext.go
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user