Compare commits

..

13 Commits

Author SHA1 Message Date
Jason A. Donenfeld 0a8de709b6 version: bump
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2023-10-18 14:26:45 +02:00
Jason A. Donenfeld 83c382b6cc tools: bump go
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2023-10-18 14:26:41 +02:00
Jason A. Donenfeld 9453b6c0e2 ui: sync with crowdin
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2023-10-18 14:26:41 +02:00
Jason A. Donenfeld 8390553850 QuickTileService: require SYSTEM_ALERT_WINDOW to start background activity
Due to buggy changes in Android 14, we now need to bother the user about
enabling "draw over other apps" for the quick settings toggle to work
when the app isn't already running.

Link: https://issuetracker.google.com/issues/305035828
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2023-10-18 14:26:41 +02:00
Jason A. Donenfeld db7f70736f gradle: bump many deps
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2023-10-13 21:32:16 +02:00
Jason A. Donenfeld d4c8f1dfdd gradle: update to agp 8.2.0-beta06
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2023-10-13 21:24:42 +02:00
Harsh Shandilya db52515dc6 gradle: upgrade to 8.3
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2023-09-12 12:28:02 +05:30
SlipkHunter 0be12b8d07 ui: only show a snackbar for Android 12 and lower
Signed-off-by: SlipkHunter <abrito025@gmail.com>
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2023-09-12 12:23:46 +05:30
Harsh Shandilya 56be913fa4 gradle: upgrade AGP and Kotlin
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2023-08-04 20:20:46 +05:30
Harsh Shandilya 82bcac55fb gradle: upgrade to 8.2.1
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2023-08-04 20:20:46 +05:30
Jason A. Donenfeld 04e503c9db version: bump
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2023-07-07 05:06:04 +02:00
Jason A. Donenfeld 434534ac59 ui: hide corrupted message if no installer
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2023-07-07 05:06:04 +02:00
Jason A. Donenfeld 0f77af85d3 ui: sync with crowdin
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2023-07-07 04:24:14 +02:00
26 changed files with 338 additions and 44 deletions
+2 -2
View File
@@ -7,7 +7,7 @@ plugins {
tasks {
wrapper {
gradleVersion = "8.1.1"
distributionSha256Sum = "e111cb9948407e26351227dabce49822fb88c37ee72f1d1582a69c68af2e702f"
gradleVersion = "8.3"
distributionSha256Sum = "591855b517fc635b9e04de1d05d5e76ada3f89f5fc76f87978d1b245b4f69225"
}
}
+2 -2
View File
@@ -1,5 +1,5 @@
wireguardVersionCode=507
wireguardVersionName=1.0.20230706
wireguardVersionCode=510
wireguardVersionName=1.0.20231018
wireguardPackageName=com.wireguard.android
# When configured, Gradle will run in incubating parallel mode.
+10 -10
View File
@@ -1,22 +1,22 @@
[versions]
agp = "8.2.0-alpha10"
kotlin = "1.8.21"
agp = "8.2.0-beta06"
kotlin = "1.9.0"
[libraries]
androidx-activity-ktx = "androidx.activity:activity-ktx:1.7.1"
androidx-annotation = "androidx.annotation:annotation:1.6.0"
androidx-activity-ktx = "androidx.activity:activity-ktx:1.8.0"
androidx-annotation = "androidx.annotation:annotation:1.7.0"
androidx-appcompat = "androidx.appcompat:appcompat:1.6.1"
androidx-biometric = "androidx.biometric:biometric:1.1.0"
androidx-collection = "androidx.collection:collection:1.2.0"
androidx-collection = "androidx.collection:collection:1.3.0"
androidx-constraintlayout = "androidx.constraintlayout:constraintlayout:2.1.4"
androidx-coordinatorlayout = "androidx.coordinatorlayout:coordinatorlayout:1.2.0"
androidx-core-ktx = "androidx.core:core-ktx:1.10.1"
androidx-core-ktx = "androidx.core:core-ktx:1.12.0"
androidx-datastore-preferences = "androidx.datastore:datastore-preferences:1.0.0"
androidx-fragment-ktx = "androidx.fragment:fragment-ktx:1.5.7"
androidx-lifecycle-runtime-ktx = "androidx.lifecycle:lifecycle-runtime-ktx:2.6.1"
androidx-preference-ktx = "androidx.preference:preference-ktx:1.2.0"
androidx-fragment-ktx = "androidx.fragment:fragment-ktx:1.6.1"
androidx-lifecycle-runtime-ktx = "androidx.lifecycle:lifecycle-runtime-ktx:2.6.2"
androidx-preference-ktx = "androidx.preference:preference-ktx:1.2.1"
desugarJdkLibs = "com.android.tools:desugar_jdk_libs:2.0.3"
google-material = "com.google.android.material:material:1.9.0"
google-material = "com.google.android.material:material:1.10.0"
jsr305 = "com.google.code.findbugs:jsr305:3.0.2"
junit = "junit:junit:4.13.2"
kotlinx-coroutines-android = "org.jetbrains.kotlinx:kotlinx-coroutines-android:1.7.0"
Binary file not shown.
+3 -2
View File
@@ -1,7 +1,8 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionSha256Sum=e111cb9948407e26351227dabce49822fb88c37ee72f1d1582a69c68af2e702f
distributionUrl=https\://services.gradle.org/distributions/gradle-8.1.1-bin.zip
distributionSha256Sum=591855b517fc635b9e04de1d05d5e76ada3f89f5fc76f87978d1b245b4f69225
distributionUrl=https\://services.gradle.org/distributions/gradle-8.3-bin.zip
networkTimeout=10000
validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
Vendored
+6 -2
View File
@@ -83,7 +83,8 @@ done
# This is normally unused
# shellcheck disable=SC2034
APP_BASE_NAME=${0##*/}
APP_HOME=$( cd "${APP_HOME:-./}" && pwd -P ) || exit
# Discard cd standard output in case $CDPATH is set (https://github.com/gradle/gradle/issues/25036)
APP_HOME=$( cd "${APP_HOME:-./}" > /dev/null && pwd -P ) || exit
# Use the maximum available, or set MAX_FD != -1 to use that value.
MAX_FD=maximum
@@ -130,10 +131,13 @@ location of your Java installation."
fi
else
JAVACMD=java
which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
if ! command -v java >/dev/null 2>&1
then
die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
Please set the JAVA_HOME variable in your environment to match the
location of your Java installation."
fi
fi
# Increase the maximum file descriptors if we can.
+4 -4
View File
@@ -20,12 +20,12 @@ export GOARCH := $(NDK_GO_ARCH_MAP_$(ANDROID_ARCH_NAME))
export GOOS := android
export CGO_ENABLED := 1
GO_VERSION := 1.20.3
GO_VERSION := 1.21.3
GO_PLATFORM := $(shell uname -s | tr '[:upper:]' '[:lower:]')-$(NDK_GO_ARCH_MAP_$(shell uname -m))
GO_TARBALL := go$(GO_VERSION).$(GO_PLATFORM).tar.gz
GO_HASH_darwin-amd64 := c1e1161d6d859deb576e6cfabeb40e3d042ceb1c6f444f617c3c9d76269c3565
GO_HASH_darwin-arm64 := 86b0ed0f2b2df50fa8036eea875d1cf2d76cefdacf247c44639a1464b7e36b95
GO_HASH_linux-amd64 := 979694c2c25c735755bf26f4f45e19e64e4811d661dd07b8c010f7a8e18adfca
GO_HASH_darwin-amd64 := 27014fc69e301d7588a169ca239b3cc609f0aa1abf38528bf0d20d3b259211eb
GO_HASH_darwin-arm64 := 65302a7a9f7a4834932b3a7a14cb8be51beddda757b567a2f9e0cbd0d7b5a6ab
GO_HASH_linux-amd64 := 1241381b2843fae5a9707eec1f8fb2ef94d827990582c7c7c32f5bdfbfd420c8
default: $(DESTDIR)/libwg-go.so
+3
View File
@@ -7,6 +7,9 @@
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
<uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" />
<uses-permission
android:name="android.permission.SYSTEM_ALERT_WINDOW"
android:minSdkVersion="34" />
<uses-permission
android:name="android.permission.WRITE_EXTERNAL_STORAGE"
android:maxSdkVersion="28"
@@ -9,8 +9,10 @@ import android.content.Intent
import android.graphics.Bitmap
import android.graphics.Canvas
import android.graphics.drawable.Icon
import android.net.Uri
import android.os.Build
import android.os.IBinder
import android.provider.Settings
import android.service.quicksettings.Tile
import android.service.quicksettings.TileService
import android.util.Log
@@ -55,7 +57,7 @@ class QuickTileService : TileService() {
val intent = Intent(this, MainActivity::class.java)
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.UPSIDE_DOWN_CAKE) {
startActivityAndCollapse(PendingIntent.getActivity(this, 0, intent, PendingIntent.FLAG_IMMUTABLE))
startActivityAndCollapse(PendingIntent.getActivity(this, 0, intent, PendingIntent.FLAG_IMMUTABLE))
} else {
@Suppress("DEPRECATION")
startActivityAndCollapse(intent)
@@ -68,6 +70,12 @@ class QuickTileService : TileService() {
tunnel.setStateAsync(Tunnel.State.TOGGLE)
updateTile()
} catch (_: Throwable) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.UPSIDE_DOWN_CAKE && !Settings.canDrawOverlays(this@QuickTileService)) {
val permissionIntent = Intent(Settings.ACTION_MANAGE_OVERLAY_PERMISSION, Uri.parse("package:$packageName"))
permissionIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
startActivityAndCollapse(PendingIntent.getActivity(this@QuickTileService, 0, permissionIntent, PendingIntent.FLAG_IMMUTABLE))
return@launch
}
val toggleIntent = Intent(this@QuickTileService, TunnelToggleActivity::class.java)
toggleIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
startActivity(toggleIntent)
@@ -223,7 +223,7 @@ class LogViewerActivity : AppCompatActivity() {
} else {
if (bufferedLogLines.isNotEmpty()) {
bufferedLogLines.last().msg += "\n$line"
} else if (!logLines.isEmpty) {
} else if (!logLines.isEmpty()) {
logLines[logLines.size() - 1].msg += "\n$line"
priorModified = true
}
@@ -383,13 +383,15 @@ object Updater {
context.packageManager.getPackageInfo(context.packageName, PackageManager.PackageInfoFlags.of(PackageManager.GET_PERMISSIONS.toLong()))
}.requestedPermissions.contains(Manifest.permission.REQUEST_INSTALL_PACKAGES)
) {
updaterScope.launch {
val update = try {
checkForUpdates()
} catch (_: Throwable) {
null
if (installer(context).isNotEmpty()) {
updaterScope.launch {
val update = try {
checkForUpdates()
} catch (_: Throwable) {
null
}
emitProgress(Progress.Corrupt(update?.fileName))
}
emitProgress(Progress.Corrupt(update?.fileName))
}
return
}
@@ -6,6 +6,7 @@ package com.wireguard.android.util
import android.content.ClipData
import android.content.ClipboardManager
import android.os.Build
import android.view.View
import android.widget.TextView
import androidx.core.content.getSystemService
@@ -29,6 +30,8 @@ object ClipboardUtils {
}
val service = view.context.getSystemService<ClipboardManager>() ?: return
service.setPrimaryClip(ClipData.newPlainText(data.second, data.first))
Snackbar.make(view, view.context.getString(R.string.copied_to_clipboard, data.second), Snackbar.LENGTH_LONG).show()
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.TIRAMISU) {
Snackbar.make(view, view.context.getString(R.string.copied_to_clipboard, data.second), Snackbar.LENGTH_LONG).show()
}
}
}
+68
View File
@@ -1,5 +1,13 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<plurals name="delete_error">
<item quantity="zero">غير قادر على حذف %d النفق: %s</item>
<item quantity="one">غير قادر على حذف %d النفق: %s</item>
<item quantity="two">غير قادر على حذف %d النفق: %s</item>
<item quantity="few">غير قادر على حذف %d أنفاق: %s</item>
<item quantity="many">غير قادر على حذف %d أنفاق: %s</item>
<item quantity="other">غير قادر على حذف %d أنفاق: %s</item>
</plurals>
<plurals name="delete_success">
<item quantity="zero">تم حذف %d من الأنفاق بنجاح</item>
<item quantity="one">تم حذف %d من الأنفاق بنجاح</item>
@@ -24,6 +32,30 @@
<item quantity="many">تم استيراد %1$d من %2$d من الأنفاق</item>
<item quantity="other">تم استيراد %1$d من %2$d من الأنفاق</item>
</plurals>
<plurals name="import_total_success">
<item quantity="zero">تم استيراد %d نفق</item>
<item quantity="one">تم استيراد %d نفق</item>
<item quantity="two">تم استيراد نفقين</item>
<item quantity="few">تم استيراد %d أنفاق</item>
<item quantity="many">تم استيراد %d أنفاق</item>
<item quantity="other">تم استيراد %d أنفاق</item>
</plurals>
<plurals name="set_excluded_applications">
<item quantity="zero">%d تطبيقات مستبعدة</item>
<item quantity="one">%d تطبيق مستبعد</item>
<item quantity="two">تطبيقين مستبعدين</item>
<item quantity="few">%d تطبيقات مستبعدة</item>
<item quantity="many">%d تطبيقات مستبعدة</item>
<item quantity="other">%d تطبيقات مستبعدة</item>
</plurals>
<plurals name="set_included_applications">
<item quantity="zero">%d تطبيق مضمن</item>
<item quantity="one">%d تطبيق مضمن</item>
<item quantity="two">تطبيقين مضمننين</item>
<item quantity="few">%d تطبيقات مضمنة</item>
<item quantity="many">%d تطبيقات مضمنة</item>
<item quantity="other">%d تطبيقات مضمنة</item>
</plurals>
<plurals name="n_excluded_applications">
<item quantity="zero">تم استبعاد %d</item>
<item quantity="one">تم استبعاد %d</item>
@@ -51,6 +83,14 @@
<item quantity="many">تضمين %d من التطبيقات</item>
<item quantity="other">تضمين %d من التطبيقات</item>
</plurals>
<plurals name="exclude_n_applications">
<item quantity="zero">استبعاد %d تطبيقات</item>
<item quantity="one">استبعاد %d تطبيقات</item>
<item quantity="two">استبعاد طبيقين</item>
<item quantity="few">استبعاد %d تطبيقات</item>
<item quantity="many">استبعاد %d تطبيقات</item>
<item quantity="other">استبعاد %d تطبيقات</item>
</plurals>
<plurals name="persistent_keepalive_seconds_unit">
<item quantity="zero">كل %d ثانية</item>
<item quantity="one">كل ثانية</item>
@@ -59,6 +99,14 @@
<item quantity="many">كل %d ثوانٍ</item>
<item quantity="other">كل %d ثوانٍ</item>
</plurals>
<plurals name="persistent_keepalive_seconds_suffix">
<item quantity="zero">لا ثانية</item>
<item quantity="one">ثانية</item>
<item quantity="two">ثنيتين</item>
<item quantity="few">ثواني</item>
<item quantity="many">ثواني</item>
<item quantity="other">ثوان</item>
</plurals>
<string name="use_all_applications">استخدام جميع التطبيقات</string>
<string name="add_peer">إضافة ند</string>
<string name="addresses">العناوين</string>
@@ -113,6 +161,7 @@
<string name="tv_add_tunnel_get_started">أضف نفقاً لتبدأ</string>
<string name="donate_title">♥️ تبرع لمشروع وايرجارد</string>
<string name="donate_summary">كل مساهمة تساعد</string>
<string name="donate_google_play_disappointment">شكرًا لك على دعم مشروع\n\nWireGuard! للأسف، نظرًا لسياسات Google، لا يُسمح لنا بالارتباط بجزء من صفحة الويب الخاصة بالمشروع حيث يمكنك التبرع. نأمل أن تتمكن من معرفة ذلك!\n\nشكرًا مرة أخرى على مساهمتك.</string>
<string name="disable_config_export_title">تعطيل تصدير التكوين</string>
<string name="disable_config_export_description">تعطيل تصدير الإعدادات يجعل المفاتيح الخاصة غير متاحة</string>
<string name="dns_servers">خوادم DNS</string>
@@ -142,6 +191,8 @@
<string name="key_length_explanation_base64">: مفاتيح وايرجارد في الأساس 64 (base64) يجب أن تكون 44 حرفاً (32 بايت)</string>
<string name="key_length_explanation_binary">: مفاتيح وايرجارد يجب أن تكون 32 بايت</string>
<string name="key_length_explanation_hex">: مفاتيح وايرجارد في نظام عد ستة عشري (hexadecimal) يجب أن تكون 64 حرفاً (32 بايت)</string>
<string name="latest_handshake">أحدث مصافحة</string>
<string name="latest_handshake_ago">منذ %s</string>
<string name="listen_port">منفذ الاستماع</string>
<string name="log_export_error">غير قادر على تصدير السجل: %s</string>
<string name="log_export_subject">ملف سجل اندرويد وايرجارد</string>
@@ -177,6 +228,7 @@
<string name="parse_error_integer">رقم</string>
<string name="parse_error_reason">لا يمكن تحليل %1$s \"%2$s\"</string>
<string name="peer">ند</string>
<string name="permission_description">التحكم في أنفاق WireGuard، وتمكين الأنفاق وتعطيلها حسب الرغبة، مما قد يؤدي إلى تضليل حركة مرور الإنترنت</string>
<string name="permission_label">التحكم في أنفاق وايرجارد</string>
<string name="persistent_keepalive">الحفاظ المستمر</string>
<string name="pre_shared_key">مفتاح مسبق التشارك (Pre-shared key)</string>
@@ -184,6 +236,10 @@
<string name="private_key">مفتاح خاص</string>
<string name="public_key">مفتاح عام</string>
<string name="qr_code_hint">نصيحة: إنشاء بواسطة `qrencode -t ansiutf8 &lt; tunnel.conf`.</string>
<string name="quick_settings_tile_add_title">إضافة بلاطة إلى لوحة الإعدادات السريعة</string>
<string name="quick_settings_tile_add_summary">بلاطة الاختصار تستبدل أحدث نفق</string>
<string name="quick_settings_tile_add_failure">تعذر إضافة لوحة الاختصار: خطأ %d</string>
<string name="quick_settings_tile_action">تبديل النفق</string>
<string name="restore_on_boot_summary_off">لن تجلب الأنفاق المفعلة عند التمهيد</string>
<string name="restore_on_boot_summary_on">سوف تجلب الأنفاق المفعلة عند التمهيد</string>
<string name="restore_on_boot_title">الإستعادة عند تشغيل الجهاز</string>
@@ -211,6 +267,7 @@
<string name="transfer_gibibytes">%.2f جيبي بايت</string>
<string name="transfer_kibibytes">%.2f كيبيبايت</string>
<string name="transfer_mibibytes">%.2f مبيبايت</string>
<string name="transfer_rx_tx">rx: %1$s, tx: %2$s</string>
<string name="transfer_tibibytes">%.2f تيبي بايت</string>
<string name="tun_create_error">غير قادر على إنشاء جهاز tun</string>
<string name="tunnel_config_error">غير قادر على تكوين النفق (wg-quick أعاد %d)</string>
@@ -224,8 +281,19 @@
<string name="tunnel_dns_failure">غير قادر على حل اسم مضيف نظام أسماء النطاقات (DNS hostname): \"%s\"</string>
<string name="tunnel_rename_error">غير قادر على إعادة تسمية النفق: %s</string>
<string name="tunnel_rename_success">تمت إعادة تسمية النفق بنجاح إلى \"%s\"</string>
<string name="type_name_go_userspace">انتقل مساحة المستخدمين</string>
<string name="type_name_kernel_module">وحدة النواة</string>
<string name="unknown_error">خطأ غير معروف</string>
<string name="updater_avalable">يتوفر تحديث للتطبيق. الرجاء التحديث الآن.</string>
<string name="updater_action">تنزيل &amp; تحديث</string>
<string name="updater_rechecking">جارِ جلب تحديث البيانات الوصفية…</string>
<string name="updater_download_progress">جارِ تنزيل التحديث: %1$s / %2$s (%3$.2f%%)</string>
<string name="updater_download_progress_nototal">جارِ تنزيل التحديث: %s</string>
<string name="updater_installing">جارِ تثبيت التحديث…</string>
<string name="updater_failure">فشل التحديث: %s. ستتم إعادة المحاولة للحظات…</string>
<string name="updater_corrupt_title">التطبيق تالف</string>
<string name="updater_corrupt_message">هذا التطبيق تالف. يرجى إعادة تنزيل APK من موقع الويب المرتبط أدناه. بعد ذلك، قم بإلغاء تثبيت هذا التطبيق، وأعِد تثبيته من ملف APK الذي تم تنزيله.</string>
<string name="updater_corrupt_navigate">فتح الموقع</string>
<string name="version_summary">%1$s خلفية %2$s</string>
<string name="version_summary_checking">التحقق من إصدار خلفية %s</string>
<string name="version_summary_unknown">إصدار %s غير معروف</string>
+20
View File
@@ -20,6 +20,14 @@
<item quantity="one">Importeret %d tunnel</item>
<item quantity="other">Importeret %d tunneler</item>
</plurals>
<plurals name="set_excluded_applications">
<item quantity="one">%d Ekskluderet Applikation</item>
<item quantity="other">%d Ekskluderet Applikationer</item>
</plurals>
<plurals name="set_included_applications">
<item quantity="one">%d Inkluderet Applikation</item>
<item quantity="other">%d Inkluderet Applikationer</item>
</plurals>
<plurals name="n_excluded_applications">
<item quantity="one">%d ekskluderet</item>
<item quantity="other">%d ekskluderet</item>
@@ -51,6 +59,9 @@
<string name="add_peer">Tilføj modpart</string>
<string name="addresses">Adresser</string>
<string name="applications">Applikationer</string>
<string name="allow_remote_control_intents_summary_off">Eksterne apps kan ikke slå tunneler til/fra (Anbefales)</string>
<string name="allow_remote_control_intents_summary_on">Eksterne apps må slå tunneler til/fra (Avanceret)</string>
<string name="allow_remote_control_intents_title">Tillad fjernstyring fra eksterne apps</string>
<string name="allowed_ips">Tilladte IP-adresser</string>
<string name="bad_config_context">%1$s\'s %2$s</string>
<string name="bad_config_context_top_level">%s</string>
@@ -80,11 +91,14 @@
<string name="create_from_qr_code">Scan fra QR-kode</string>
<string name="create_tunnel">Opret Tunnel</string>
<string name="copied_to_clipboard">%s kopieret til udklipsholder</string>
<string name="dark_theme_summary_off">Bruger lige nu lyst (dag) tema</string>
<string name="dark_theme_summary_on">Bruger lige nu mørkt (nat) tema</string>
<string name="dark_theme_title">Brug mørkt tema</string>
<string name="delete">Slet</string>
<string name="tv_delete">Vælg tunnel du vil slette</string>
<string name="tv_select_a_storage_drive">Vælg et lagerdrev</string>
<string name="tv_add_tunnel_get_started">Tilføj en tunnel for at komme i gang</string>
<string name="donate_title">♥ Donér til WireGuard projektet</string>
<string name="disable_config_export_title">Deaktivér eksportering af konfiguration</string>
<string name="dns_servers">DNS-servere</string>
<string name="dns_search_domains">DNS-søgedomæner</string>
@@ -107,6 +121,7 @@
<string name="interface_title">Grænseflade</string>
<string name="key_contents_error">Ugyldige tegn i nøgle</string>
<string name="key_length_error">Forkert længde på nøgle</string>
<string name="latest_handshake_ago">%s siden</string>
<string name="listen_port">Lytteport</string>
<string name="log_export_error">Kunne ikke eksportere log: %s</string>
<string name="log_export_subject">WireGuard Android Log-fil</string>
@@ -162,6 +177,11 @@
<string name="tunnel_rename_success">Tunnel blev succesfuldt omdøbt til \"%s\"</string>
<string name="type_name_kernel_module">Kerne modul</string>
<string name="unknown_error">Ukendt fejl</string>
<string name="updater_avalable">En applikationsopdatering er tilgængelig. Opdatér venligst nu.</string>
<string name="updater_action">Hent &amp; Opdatér</string>
<string name="updater_download_progress">Henter opdatering: %1$s / %2$s (%3$.2f%%)</string>
<string name="updater_download_progress_nototal">Henter opdatering: %s</string>
<string name="updater_installing">Installerer opdatering…</string>
<string name="version_summary_unknown">Ukendt %s version</string>
<string name="version_title">WireGuard for Android v%s</string>
<string name="zip_export_error">Ikke i stand til at eksportere tunneler: %s</string>
+4 -4
View File
@@ -99,8 +99,8 @@
<string name="create_temp_dir_error">Lokales temporäres Verzeichnis kann nicht erstellt werden</string>
<string name="create_tunnel">Tunnel erstellen</string>
<string name="copied_to_clipboard">%s in die Zwischenanlage kopiert</string>
<string name="dark_theme_summary_off">Verwende helles Design (Tag)</string>
<string name="dark_theme_summary_on">Verwende dunkles Design (Nacht)</string>
<string name="dark_theme_summary_off">Helles (Tag) Design in Verwendung</string>
<string name="dark_theme_summary_on">Dunkles (Nacht) Design in Verwendung</string>
<string name="dark_theme_title">Dunkles Design verwenden</string>
<string name="delete">Entfernen</string>
<string name="tv_delete">Wählen Sie den zu löschenden Tunnel aus</string>
@@ -202,14 +202,14 @@
<string name="toggle_error">Fehler beim Umschalten des WireGuard-Tunnels: %s</string>
<string name="tools_installer_already">wg und wg-quick sind bereits installiert</string>
<string name="tools_installer_failure">Kommandozeilenwerkzeuge konnten nicht installiert werden (kein Root?)</string>
<string name="tools_installer_initial">Optionale Tools für Skripte installieren</string>
<string name="tools_installer_initial">Optionale Werkzeuge für Skripte installieren</string>
<string name="tools_installer_initial_magisk">Optionale Werkzeuge für das Skripten als Magisk-Modul installieren</string>
<string name="tools_installer_initial_system">Optionale Werkzeuge für Skripte auf der Systempartition installieren</string>
<string name="tools_installer_success_magisk">wg und wg-quick als Magisk-Modul installiert (Neustart erforderlich)</string>
<string name="tools_installer_success_system">wg und wg-quick auf der Systempartition installiert</string>
<string name="tools_installer_title">Kommandozeilenwerkzeuge installieren</string>
<string name="tools_installer_working">Installiere wg und wg-quick</string>
<string name="tools_unavailable_error">Erforderliche Tools nicht verfügbar</string>
<string name="tools_unavailable_error">Erforderliche Werkzeuge nicht verfügbar</string>
<string name="transfer">Transfer</string>
<string name="transfer_bytes">%d B</string>
<string name="transfer_gibibytes">%.2f GiB</string>
@@ -185,6 +185,7 @@ Aitäh veelkord sinu panuse eest.</string>
<string name="private_key">Privaatvõti</string>
<string name="public_key">Avalik võti</string>
<string name="qr_code_hint">Vihje: tekita käsuga `qrencode -t ansiutf8 &lt; tunnel.conf`.</string>
<string name="quick_settings_tile_action">Lülita tunnel</string>
<string name="restore_on_boot_summary_off">Ei lülita seadme käivitumisel lubatud tunneleid sisse</string>
<string name="restore_on_boot_summary_on">Lülitab seadme käivitumisel lubatud tunnelid sisse</string>
<string name="restore_on_boot_title">Taasta seadme käivitumisel</string>
@@ -236,6 +237,9 @@ Aitäh veelkord sinu panuse eest.</string>
<string name="updater_download_progress_nototal">Uuenduse allalaadimine: %s</string>
<string name="updater_installing">Uuenduse paigaldamine…</string>
<string name="updater_failure">Uuendamine ebaõnnestus: %s. Uus katse hetke pärast…</string>
<string name="updater_corrupt_title">Rakendus rikutud</string>
<string name="updater_corrupt_message">See rakendus on rikutud. Palun laadi APK uuesti allpool lingitud veebilehelt. Pärast seda desinstalli rakendus ja installi allalaaditud APK uuesti.</string>
<string name="updater_corrupt_navigate">Ava veebileht</string>
<string name="version_summary">%1$s taustsüsteem %2$s</string>
<string name="version_summary_checking">Kontrollin %s taustsüsteemi versiooni</string>
<string name="version_summary_unknown">Tundmatu %s versioon</string>
+1 -1
View File
@@ -99,7 +99,7 @@
<string name="create_output_dir_error">نمی‌توان دایرکتوری خروجی را ایجاد کرد</string>
<string name="create_temp_dir_error">نمی‌توان دایرکتوری موقت محلی را ساخت</string>
<string name="create_tunnel">ساختن تونل</string>
<string name="copied_to_clipboard">متن در کلیپ‌بورد کپی شد</string>
<string name="copied_to_clipboard">%s در کلیپ‌بورد کپی شد</string>
<string name="dark_theme_summary_off">اکنون از پوسته روشن(روز) استفاده می‌شود</string>
<string name="dark_theme_summary_on">اکنون از پوسته تاریک(شب) استفاده می‌شود</string>
<string name="dark_theme_title">استفاده از پوسته تاریک</string>
+36
View File
@@ -0,0 +1,36 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="all_applications">Minden alkalmazás</string>
<string name="exclude_from_tunnel">Kizárás</string>
<string name="addresses">Címek</string>
<string name="applications">Alkalmazások</string>
<string name="allowed_ips">Engedélyezett IP-k</string>
<string name="bad_config_reason_invalid_key">Érvénytelen kulcs</string>
<string name="bad_config_reason_invalid_value">Helytelen érték</string>
<string name="bad_config_reason_syntax_error">Szintaktikai hiba</string>
<string name="bad_config_reason_unknown_section">Ismeretlen szekció</string>
<string name="bad_config_reason_value_out_of_range">Az érték a megengedett tartományon kívül van</string>
<string name="bad_extension_error">A fájl .conf vagy .zip legyen</string>
<string name="config_not_found_error">Konfigurációs állomány \"%s\" nem található meg</string>
<string name="dns_servers">DNS szerverek</string>
<string name="dns_search_domains">Domain keresés</string>
<string name="edit">Szerkesztés</string>
<string name="endpoint">Végpont</string>
<string name="log_saver_activity_label">Log mentése</string>
<string name="log_viewer_pref_title">Alkalmazás log megtekintése</string>
<string name="name">Név</string>
<string name="parse_error_inet_address">IP cím</string>
<string name="parse_error_inet_network">IP hálózat</string>
<string name="parse_error_integer">szám</string>
<string name="pre_shared_key_enabled">engedélyezve</string>
<string name="public_key">Nyilvános kulcs</string>
<string name="quick_settings_tile_action">Csatorna átkapcsolása</string>
<string name="save">Mentés</string>
<string name="select_all">Összes kijelölése</string>
<string name="settings">Beállítások</string>
<string name="toggle_all">Összes átkapcsolása</string>
<string name="tunnel_name">Csatorna neve</string>
<string name="type_name_kernel_module">Kernel modul</string>
<string name="unknown_error">Ismeretlen hiba</string>
<string name="updater_corrupt_navigate">Weboldal megnyitása</string>
</resources>
+15
View File
@@ -96,6 +96,7 @@
<string name="tv_add_tunnel_get_started">トンネルを追加して開始する</string>
<string name="donate_title">♥ WireGuard プロジェクトに寄付する</string>
<string name="donate_summary">すべての貢献が役立ちます</string>
<string name="donate_google_play_disappointment">WireGuard プロジェクトを支援していただきありがとうございます!\n\n残念ながら、Google のポリシーの影響で寄付のページへのリンクを記載することができません。見つけていただけることを願っています。\n\nもう一度、あなたの貢献に深く感謝します。</string>
<string name="disable_config_export_title">設定のエクスポートを無効にする</string>
<string name="disable_config_export_description">設定のエクスポートを無効にすると、秘密鍵にアクセスされにくくなります</string>
<string name="dns_servers">DNS サーバ</string>
@@ -170,6 +171,10 @@
<string name="private_key">秘密鍵</string>
<string name="public_key">公開鍵</string>
<string name="qr_code_hint">Tip: `qrencode -t ansiutf8 &lt; tunnel.conf` で生成できます</string>
<string name="quick_settings_tile_add_title">クイック設定パネルを追加</string>
<string name="quick_settings_tile_add_summary">ショートカットタイルを使用すると、最新のトンネルに切り替わります</string>
<string name="quick_settings_tile_add_failure">ショートカットタイルを追加できません: エラー %d</string>
<string name="quick_settings_tile_action">トンネルを切り替え</string>
<string name="restore_on_boot_summary_off">起動時にトンネルを有効化しない</string>
<string name="restore_on_boot_summary_on">起動時に、前回有効だったトンネルを有効化する</string>
<string name="restore_on_boot_title">起動時に復元</string>
@@ -214,6 +219,16 @@
<string name="type_name_go_userspace">Go ユーザースペース</string>
<string name="type_name_kernel_module">カーネルモジュール</string>
<string name="unknown_error">未知のエラー</string>
<string name="updater_avalable">アプリを更新できます。今すぐ更新してください。</string>
<string name="updater_action">ダウンロードして更新</string>
<string name="updater_rechecking">更新のメタデータを取得しています…</string>
<string name="updater_download_progress">更新のダウンロード中: %1$s / %2$s (%3$.2f%%)</string>
<string name="updater_download_progress_nototal">更新のダウンロード中: %s</string>
<string name="updater_installing">更新をインストール中…</string>
<string name="updater_failure">更新に失敗しました: %s. 一定時間後に再試行します…</string>
<string name="updater_corrupt_title">アプリケーションが破損しています</string>
<string name="updater_corrupt_message">このアプリケーションは破損しています。下記のリンク先のウェブサイトから APK を再ダウンロードしてください。その後、このアプリケーションをアンインストールし、ダウンロードした APK を再インストールしてください。</string>
<string name="updater_corrupt_navigate">ウェブサイトを開く</string>
<string name="version_summary">%1$s バックエンド %2$s</string>
<string name="version_summary_checking">%s バックエンドのバージョンを確認中</string>
<string name="version_summary_unknown">未知の %s バージョン</string>
+32
View File
@@ -24,6 +24,10 @@
<item quantity="one">%d uitgesloten applicatie(s)</item>
<item quantity="other">%d uitgesloten applicaties</item>
</plurals>
<plurals name="set_included_applications">
<item quantity="one">%d inbegrepen applicatie</item>
<item quantity="other">%d inbegrepen applicaties</item>
</plurals>
<plurals name="n_excluded_applications">
<item quantity="one">%d uitgesloten</item>
<item quantity="other">%d uitgesloten</item>
@@ -47,6 +51,10 @@
<item quantity="one">iedere seconde</item>
<item quantity="other">iedere %d seconden</item>
</plurals>
<plurals name="persistent_keepalive_seconds_suffix">
<item quantity="one">seconde</item>
<item quantity="other">seconden</item>
</plurals>
<string name="use_all_applications">Gebruik alle applicaties</string>
<string name="add_peer">Peer toevoegen</string>
<string name="addresses">Adressen</string>
@@ -168,19 +176,32 @@
<string name="parse_error_integer">nummer</string>
<string name="parse_error_reason">Kan %1$s%2$s niet parsen</string>
<string name="peer">Peer</string>
<string name="permission_description">beheer WireGuard tunnels, zet tunnels naar keuze aan en uit, en misleid mogelijk het Internetverkeer</string>
<string name="permission_label">WireGuard tunnels beheren</string>
<string name="persistent_keepalive">Voortdurende verbindingstest</string>
<string name="pre_shared_key">Gedeelde sleutel</string>
<string name="pre_shared_key_enabled">ingeschakeld</string>
<string name="private_key">Privésleutel</string>
<string name="public_key">Publieke sleutel</string>
<string name="qr_code_hint">Tip: genereer met `qrencode -t ansiutf8 &lt; tunnel.conf`.</string>
<string name="quick_settings_tile_add_title">Voeg tegel toe aan snelle instellingen</string>
<string name="quick_settings_tile_add_summary">De sneltoets schakelt de meest recente tunnel aan</string>
<string name="quick_settings_tile_add_failure">Kan geen sneltoets toevoegen: fout %d</string>
<string name="quick_settings_tile_action">tunnel in-/uitschakelen</string>
<string name="restore_on_boot_summary_off">Zal ingeschakelde tunnels niet aanzetten bij opstarten</string>
<string name="restore_on_boot_summary_on">Zal ingeschakelde tunnels aanzetten bij opstarten</string>
<string name="restore_on_boot_title">Tunnel starten bij herstart</string>
<string name="save">Opslaan</string>
<string name="select_all">Selecteer alles</string>
<string name="settings">Instellingen</string>
<string name="shell_exit_status_read_error">Shell kan de exitstatus niet lezen</string>
<string name="shell_marker_count_error">Shell verwachtte 4 markeringen, ontving er %d</string>
<string name="shell_start_error">Shell kon niet starten: %d</string>
<string name="success_application_will_restart">Succes. De toepassing zal nu herstarten…</string>
<string name="toggle_all">Alles wisselen</string>
<string name="toggle_error">Fout bij omschakelen Wireguard tunnel: %s</string>
<string name="tools_installer_already">wg and wg-quick zijn al geïnstalleerd</string>
<string name="tools_installer_failure">Kan de command-line tools niet installeren (geen root?)</string>
<string name="tools_installer_initial">Optionele tools voor scripts installeren</string>
<string name="tools_installer_title">Installeer command line tools</string>
<string name="tools_installer_working">Installeren van wg en wg-quick</string>
@@ -194,13 +215,24 @@
<string name="tunnel_error_invalid_name">Ongeldige naam</string>
<string name="tunnel_list_placeholder">Voeg een tunnel toe met de knop hieronder</string>
<string name="tunnel_name">Tunnelnaam</string>
<string name="tunnel_rename_error">Kan tunnel niet hernoemen: %s</string>
<string name="tunnel_rename_success">Tunnel succesvol hernoemd naar \"%s\"</string>
<string name="type_name_go_userspace">Go userspace</string>
<string name="type_name_kernel_module">Kernel module</string>
<string name="unknown_error">Onbekende fout</string>
<string name="updater_avalable">Er is een nieuwe versie beschikbaar. Werk het programma s.v.p. bij.</string>
<string name="updater_action">Download &amp; installeer updates</string>
<string name="updater_rechecking">Update metadata downloaden…</string>
<string name="updater_download_progress">Ophalen nieuwe versie: %1$s / %2$s (%3$.2f%%)</string>
<string name="updater_download_progress_nototal">Updates downloaden: %s</string>
<string name="updater_installing">Update wordt geïnstalleerd…</string>
<string name="updater_failure">Bijwerken mislukt: %s. Zal het zo opnieuw proberen…</string>
<string name="updater_corrupt_title">Toepassing beschadigd</string>
<string name="updater_corrupt_message">De toepassing is beschadigd. Download de APK opnieuw van de onderstaande website. De-installeer daarna het programma, en herinstalleer het met de gedownloade APK.</string>
<string name="updater_corrupt_navigate">Open website</string>
<string name="version_title">WireGuard voor Android v%s</string>
<string name="zip_export_summary">Zip-bestand wordt opgeslagen in de downloadmap</string>
<string name="zip_export_title">Exporteer tunnels naar zip-bestand</string>
<string name="biometric_prompt_zip_exporter_title">Authenticeer om de tunnel configuratie te exporteren</string>
<string name="biometric_prompt_private_key_title">Authenticeer om de persoonlijke sleutel te bekijken</string>
<string name="biometric_auth_error">Authenticatiefout</string>
+33 -1
View File
@@ -27,9 +27,13 @@
<string name="all_applications">Todos as aplicativos</string>
<string name="exclude_from_tunnel">Retirar</string>
<string name="include_in_tunnel">Incluir somente</string>
<plurals name="persistent_keepalive_seconds_suffix">
<item quantity="one">segundo</item>
<item quantity="other">segundos</item>
</plurals>
<string name="use_all_applications">Usar todas aplicações</string>
<string name="add_peer">Adicionar Par</string>
<string name="addresses">Endereço:</string>
<string name="addresses">Endereço</string>
<string name="applications">Aplicativo</string>
<string name="allow_remote_control_intents_summary_off">Aplicativos externos podem não alternar túneis (recomendado)</string>
<string name="allow_remote_control_intents_summary_on">Aplicativos externos podem alternar túneis (avançado)</string>
@@ -80,6 +84,8 @@
<string name="tv_no_file_picker">Por favor, instale um utilitário de gerenciamento de arquivos para procurar arquivos</string>
<string name="tv_add_tunnel_get_started">Adicione um túnel para começar</string>
<string name="donate_title">♥️ Doar para o projeto WireGuard</string>
<string name="donate_summary">Todas as contribuições ajudam</string>
<string name="donate_google_play_disappointment">Obrigado por apoiar o Projeto WireGuard!\n\nInfelizmente, devido às políticas do Google, não temos permissão para vincular a parte da página do projeto onde você pode fazer uma doação. Esperamos que você consiga descobrir isso!\n\nObrigado novamente pela sua contribuição.</string>
<string name="disable_config_export_title">Desativar exportação de configuração</string>
<string name="disable_config_export_description">Desativar a exportação de configuração torna as chaves privadas menos acessíveis</string>
<string name="dns_servers">Servidores DNS</string>
@@ -89,6 +95,7 @@
<string name="error_down">Erro ao derrubar o túnel: %s</string>
<string name="error_fetching_apps">Erro ao obter lista de apps: %s</string>
<string name="error_root">Por favor, obtenha acesso root e tente novamente</string>
<string name="error_prepare">Erro ao preparar o túnel: %s</string>
<string name="error_up">Erro ao criar túnel: %s</string>
<string name="exclude_private_ips">Excluir IPs privados</string>
<string name="generate_new_private_key">Gerar uma nova chave privada</string>
@@ -108,6 +115,8 @@
<string name="key_length_explanation_base64">: Chaves base64 do WireGuard devem ter 44 caracteres (32 bytes)</string>
<string name="key_length_explanation_binary">: Chaves do WireGuard devem ter 32 bytes</string>
<string name="key_length_explanation_hex">: Chaves hex do WireGuard devem ter 64 caracteres (32 bytes)</string>
<string name="latest_handshake">Último handshake</string>
<string name="latest_handshake_ago">%s atrás</string>
<string name="listen_port">Porta de escuta</string>
<string name="log_export_error">Não foi possível exportar o log: %s</string>
<string name="log_export_subject">Arquivo de log do WireGuard Android</string>
@@ -149,6 +158,9 @@
<string name="private_key">Chave Privada</string>
<string name="public_key">Chave pública</string>
<string name="qr_code_hint">Dica: gerar com `qrencode -t ansiutf8 &lt; tunnel.conf`.</string>
<string name="quick_settings_tile_add_title">Adicionar botão ao painel de configurações rápidas</string>
<string name="quick_settings_tile_add_summary">A tecla de atalho alterna o túnel mais recente</string>
<string name="quick_settings_tile_add_failure">Não foi possível adicionar o atalho de botão: erro %d</string>
<string name="restore_on_boot_title">Restaurar na inicialização</string>
<string name="save">Salvar</string>
<string name="select_all">Selecionar tudo</string>
@@ -162,6 +174,7 @@
<string name="tools_installer_failure">Não foi possível instalar ferramentas de linha de comando (sem root?)</string>
<string name="tools_installer_initial">Instalar ferramentas opcionais para scripting</string>
<string name="tools_installer_initial_magisk">Instalar ferramentas opcionais para scripting como o módulo Magisk</string>
<string name="tools_installer_initial_system">Instalar ferramentas opcionais para escrever na partição do sistema</string>
<string name="tools_installer_success_magisk">wg e wg-quick instalado como um módulo Magisk (é necessário reiniciar)</string>
<string name="tools_installer_success_system">wg e wg-quick instalados na partição do sistema</string>
<string name="tools_installer_title">Instalar ferramentas de linha de comando</string>
@@ -179,8 +192,27 @@
<string name="tunnel_create_success">Túnel criado com sucesso “%s”</string>
<string name="tunnel_error_already_exists">Túnel “%s” já existe</string>
<string name="tunnel_error_invalid_name">Nome inválido</string>
<string name="tunnel_list_placeholder">Adicionar um túnel usando o botão abaixo</string>
<string name="tunnel_name">Nome do túnel</string>
<string name="tunnel_on_error">Não foi possível ativar o túnel (wgTurnOn retornou %d)</string>
<string name="tunnel_dns_failure">Não foi possível resolver host DNS: \"%s\"</string>
<string name="tunnel_rename_error">Não foi possível renomear o túnel: %s</string>
<string name="tunnel_rename_success">Renomeado com sucesso o túnel para “%s”</string>
<string name="type_name_kernel_module">Modo de Kernel</string>
<string name="unknown_error">Erro desconhecido</string>
<string name="updater_avalable">Uma atualização do aplicativo está disponível. Pôr favor atualize agora.</string>
<string name="updater_action">Baixar &amp; Atualizar</string>
<string name="updater_rechecking">Obtendo metadados de atualização…</string>
<string name="updater_download_progress">Baixando a atualização: %1$s / %2$s (%3$.2f%%)</string>
<string name="updater_download_progress_nototal">Baixando atualização: %s</string>
<string name="updater_installing">Instalando atualização…</string>
<string name="updater_failure">Falha na atualização: %s. Tentaremos novamente em breve…</string>
<string name="updater_corrupt_title">Aplicativo corrompido</string>
<string name="updater_corrupt_message">Este aplicativo está corrompido. Por favor, baixe novamente o APK do site vinculado abaixo. Depois disso, desinstale o aplicativo e reinstale-o a partir do APK baixado.</string>
<string name="updater_corrupt_navigate">Abrir site</string>
<string name="version_summary_checking">Verificando a versão do backend %s</string>
<string name="version_summary_unknown">Versão %s desconhecida</string>
<string name="version_title">WireGuard para Android v%s</string>
<string name="vpn_not_authorized_error">Serviço de VPN não autorizado pelo usuário</string>
<string name="vpn_start_error">Não foi possível iniciar o serviço de VPN do Android</string>
<string name="zip_export_error">Não foi possível exportar túneis: %s</string>
+2 -2
View File
@@ -88,7 +88,7 @@
<string name="allow_remote_control_intents_summary_off">Внешние приложения не могут переключать туннели (рекомендуется)</string>
<string name="allow_remote_control_intents_summary_on">Внешние приложения могут переключать туннели (продвинутые)</string>
<string name="allow_remote_control_intents_title">Разрешить управление через внешние приложения</string>
<string name="allowed_ips">Разрешенные IP-адреса</string>
<string name="allowed_ips">Разрешенные IP</string>
<string name="bad_config_context">%1$s из %2$s</string>
<string name="bad_config_context_top_level">%s</string>
<string name="bad_config_error">%1$s в %2$s</string>
@@ -135,7 +135,7 @@
<string name="tv_add_tunnel_get_started">Добавьте туннель, чтобы начать</string>
<string name="donate_title">♥ Пожертвовать проекту WireGuard</string>
<string name="donate_summary">Каждое пожертвование помогает</string>
<string name="donate_google_play_disappointment">Спасибо за поддержку проекта WireGuard!\n\nК сожалению, из-за политики Google, нельзя размещать ссылку на тот раздел сайта проекта, где можно сделать пожертвование. Надеемся, вы сможете разобраться самостоятельно!\n\nЕщё раз спасибо за ваш вклад.</string>
<string name="donate_google_play_disappointment">Спасибо за поддержку проекта WireGuard!\n\nК сожалению, из-за политики Google, нельзя размещать ссылку на тот раздел сайта проекта, где можно сделать пожертвование. Надеемся, вы сможете разобраться самостоятельно!\n\nЕщераз спасибо за ваш вклад.</string>
<string name="disable_config_export_title">Отключить экспорт конфигурации</string>
<string name="disable_config_export_description">Отключение экспорта конфигурации делает приватные ключи менее доступными</string>
<string name="dns_servers">DNS-серверы</string>
+21
View File
@@ -107,6 +107,9 @@
<string name="tv_select_a_storage_drive">Välj en lagringsenhet</string>
<string name="tv_no_file_picker">Installera ett filhanteringsverktyg för att bläddra bland filer</string>
<string name="tv_add_tunnel_get_started">Lägg till en tunnel för att komma igång</string>
<string name="donate_title">♥ Donera till WireGuard Projektet</string>
<string name="donate_summary">Varje bidrag hjälper</string>
<string name="donate_google_play_disappointment">Tack för att du stödjer WireGuard Projektet!\n\nPå grund av Googles policyer får vi dessvärre inte till den del av projektets webbsida där du kan göra en donation. Förhoppningsvis kan du hitta dit ändå!\n\nTack igen för ditt bidrag.</string>
<string name="disable_config_export_title">Inaktivera export av konfiguration</string>
<string name="disable_config_export_description">Inaktivering av konfigurationsexport gör privata nycklar mindre tillgängliga</string>
<string name="dns_servers">DNS-servrar</string>
@@ -116,6 +119,7 @@
<string name="error_down">Fel vid nedtagning av tunnel: %s</string>
<string name="error_fetching_apps">Fel vid hämtning av applista: %s</string>
<string name="error_root">Vänligen få rootbehörighet och försök igen</string>
<string name="error_prepare">Fel vid förberedelse av tunnel: %s</string>
<string name="error_up">Fel vid uppstart av tunnel: %s</string>
<string name="exclude_private_ips">Uteslut privata IP-adresser</string>
<string name="generate_new_private_key">Skapa ny privat nyckel</string>
@@ -135,6 +139,8 @@
<string name="key_length_explanation_base64">: WireGuard base64 nycklar måste vara 44 tecken (32 bytes)</string>
<string name="key_length_explanation_binary">: WireGuard nycklar måste vara 32 bytes</string>
<string name="key_length_explanation_hex">: WireGuard hex nycklar måste vara 64 tecken (32 bytes)</string>
<string name="latest_handshake">Senaste handskakning</string>
<string name="latest_handshake_ago">%s sedan</string>
<string name="listen_port">Lyssningsport</string>
<string name="log_export_error">Kan inte exportera loggen: %s</string>
<string name="log_export_subject">WireGuard Android loggfil</string>
@@ -178,6 +184,10 @@
<string name="private_key">Privat nyckel</string>
<string name="public_key">Offentlig nyckel</string>
<string name="qr_code_hint">Tips: generera med `qrencode -t ansiutf8 &lt; tunnel.conf`.</string>
<string name="quick_settings_tile_add_title">Lägg till tile i snabbinställningarna</string>
<string name="quick_settings_tile_add_summary">Tilen växlar din senaste tunnel mellan på och av</string>
<string name="quick_settings_tile_add_failure">Misslyckades med att skapa tile: fel %d</string>
<string name="quick_settings_tile_action">Växla tunnel på/av</string>
<string name="restore_on_boot_summary_off">Kommer inte ta upp aktiverade tunnlar vid uppstart</string>
<string name="restore_on_boot_summary_on">Kommer ta upp aktiverade tunnlar vid uppstart</string>
<string name="restore_on_boot_title">Återställ vid uppstart</string>
@@ -213,6 +223,7 @@
<string name="tunnel_create_success">Lyckades skapa tunnel “%s”</string>
<string name="tunnel_error_already_exists">Tunnel ”%s” finns redan</string>
<string name="tunnel_error_invalid_name">Ogiltigt namn</string>
<string name="tunnel_list_placeholder">Lägg till en tunnel med knappen nedan</string>
<string name="tunnel_name">Tunnelns namn</string>
<string name="tunnel_on_error">Kunde inte aktivera tunneln (wgTurnOn returnerade %d)</string>
<string name="tunnel_dns_failure">Det går inte att lösa DNS-värdnamn: ”%s”</string>
@@ -221,6 +232,16 @@
<string name="type_name_go_userspace">Användarutrymme för Go</string>
<string name="type_name_kernel_module">Kärnmodul</string>
<string name="unknown_error">Okänt fel</string>
<string name="updater_avalable">Det finns en uppdatering till appen. Vänligen uppdatera nu.</string>
<string name="updater_action">Ladda ner &amp; uppdatera</string>
<string name="updater_rechecking">Hämtar uppdateringens metadata…</string>
<string name="updater_download_progress">Laddar ner uppdatering: %1$s / %2$s (%3$.2f%%)</string>
<string name="updater_download_progress_nototal">Laddar ner uppdatering: %s</string>
<string name="updater_installing">Installerar uppdatering…</string>
<string name="updater_failure">Uppdatering misslyckades: %s. Försöker igen inom kort…</string>
<string name="updater_corrupt_title">Applikationen är korrupt</string>
<string name="updater_corrupt_message">Applikationen är korrupt. Vänligen ladda ner en APK från hemsidan länkad nedan. Avinstallera därefter denna applikation och installera den nerladdade APKn.</string>
<string name="updater_corrupt_navigate">Öppna hemsida</string>
<string name="version_summary">%1$s bakstycke %2$s</string>
<string name="version_summary_checking">Kontrollerar %s backstycke utgåva</string>
<string name="version_summary_unknown">Okänd %s utgåva</string>
+17
View File
@@ -119,6 +119,7 @@
<string name="error_down">Tünel kapatılırken hata oluştu: %s</string>
<string name="error_fetching_apps">Uygulama listesi getirilirken hata oluştu: %s</string>
<string name="error_root">Lütfen root erişimi elde edin ve tekrar deneyin</string>
<string name="error_prepare">Tünel hazırlanırken hata oluştu: %s</string>
<string name="error_up">Tünel açılırken hata oluştu: %s</string>
<string name="exclude_private_ips">Özel IP’leri hariç tut</string>
<string name="generate_new_private_key">Yeni özel anahtar oluştur</string>
@@ -138,6 +139,8 @@
<string name="key_length_explanation_base64">: WireGuard base64 anahtarları 44 karakter (32 bayt) olmalıdır</string>
<string name="key_length_explanation_binary">: WireGuard anahtarları 32 bayt olmalıdır</string>
<string name="key_length_explanation_hex">: WireGuard onaltılık anahtarları 64 karakter (32 bayt) olmalıdır</string>
<string name="latest_handshake">En son el sıkışma</string>
<string name="latest_handshake_ago">%s önce</string>
<string name="listen_port">Dinlenen port</string>
<string name="log_export_error">Günlük dışa aktarılamıyor: %s</string>
<string name="log_export_subject">WireGuard Android Günlük Dosyası</string>
@@ -181,6 +184,10 @@
<string name="private_key">Özel anahtar</string>
<string name="public_key">Genel anahtar</string>
<string name="qr_code_hint">İpucu: `qrencode -t ansiutf8 &lt; tunnel.conf` ile oluşturun.</string>
<string name="quick_settings_tile_add_title">Hızlı ayarlar paneline kutucuk ekle</string>
<string name="quick_settings_tile_add_summary">Kısayol kutucuğu en son tüneli değiştirir</string>
<string name="quick_settings_tile_add_failure">Kısayol kutucuğu eklenemiyor: hata %d</string>
<string name="quick_settings_tile_action">Tüneli aç/kapat</string>
<string name="restore_on_boot_summary_off">Önyüklemede etkin tünelleri açmayacak</string>
<string name="restore_on_boot_summary_on">Önyüklemede etkin tünelleri açacak</string>
<string name="restore_on_boot_title">Cihaz açılırken başlat</string>
@@ -225,6 +232,16 @@
<string name="type_name_go_userspace">Kullanıcı alanına git</string>
<string name="type_name_kernel_module">Çekirdek modülü</string>
<string name="unknown_error">Bilinmeyen hata</string>
<string name="updater_avalable">Bir uygulama güncellemesi mevcut. Lütfen şimdi güncelleyin.</string>
<string name="updater_action">İndir &amp; Güncelle</string>
<string name="updater_rechecking">Güncelleme meta verileri getiriliyor…</string>
<string name="updater_download_progress">Güncelleme indiriliyor: %1$s / %2$s (%3$.2f%%)</string>
<string name="updater_download_progress_nototal">Güncelleme indiriliyor: %s</string>
<string name="updater_installing">Güncelleme yükleniyor…</string>
<string name="updater_failure">Güncelleme hatası: %s. Kısa bir süre sonra tekrar denenecek…</string>
<string name="updater_corrupt_title">Uygulama Bozuk</string>
<string name="updater_corrupt_message">Bu uygulama bozuk. Lütfen APK\'yı aşağıda bağlantısı verilen web sitesinden yeniden indirin. Daha sonra bu uygulamayı kaldırın ve indirilen APK\'dan yeniden yükleyin.</string>
<string name="updater_corrupt_navigate">Web Sitesini Aç</string>
<string name="version_summary">%1$s arka uç %2$s</string>
<string name="version_summary_checking">%s arka uç sürümü kontrol ediliyor</string>
<string name="version_summary_unknown">Bilinmeyen %s sürümü</string>
+28
View File
@@ -94,6 +94,9 @@
<string name="tv_select_a_storage_drive">Chọn bộ lưu trữ</string>
<string name="tv_no_file_picker">Vui lòng cài đặt tệp tiện ích lưu trữ để tìm kiếm các tệp</string>
<string name="tv_add_tunnel_get_started">Thêm một tunnel để bắt đầu</string>
<string name="donate_title">❤️ Đóng góp cho Dự án Wireguard</string>
<string name="donate_summary">Mọi đóng góp đều giúp ích</string>
<string name="donate_google_play_disappointment">Cảm ơn bạn đã ủng hộ WireGuard!\n\nThật tiếc, dựa trên điều khoản của Google, chúng tôi không thể đưa vào liên kết dẫn đến trang đóng góp ở trang chủ của dự án. Mong rằng bạn có thể tìm cách cho việc này!\n\nXin cảm ơn bạn một lần nữa vì đã đóng góp.</string>
<string name="disable_config_export_title">Vô hiệu hóa xuất cấu hình</string>
<string name="disable_config_export_description">Vô hiệu hóa xuất cấu hình sẽ giúp giảm khả năng truy cập vào private keys</string>
<string name="dns_servers">DNS servers</string>
@@ -103,9 +106,34 @@
<string name="error_down">Có lỗi khi tắt tunnel: %s</string>
<string name="error_fetching_apps">Lỗi khi lấy danh sách ứng dụng: %s</string>
<string name="error_root">Vui lòng truy cập bằng quyền root và thử lại</string>
<string name="error_prepare">Lỗi khi chuẩn bị tunnel: %s</string>
<string name="error_up">Có lỗi khi bật tunnel: %s</string>
<string name="exclude_private_ips">Loại trừ IPs private</string>
<string name="generate_new_private_key">Tạo private key mới</string>
<string name="generic_error">Lỗi \"%s\" không xác định</string>
<string name="hint_automatic">(tự động)</string>
<string name="hint_generated">(được tạo tự động)</string>
<string name="hint_optional">(tùy chọn)</string>
<string name="hint_optional_discouraged">(tùy chọn, không khuyến khích)</string>
<string name="hint_random">(ngẫu nhiên)</string>
<string name="illegal_filename_error">Tên file không hợp lệ \"%s\"</string>
<string name="import_error">Không thể nhập tunnel: %s</string>
<string name="import_from_qr_code">Nhập tunnel từ mã QR</string>
<string name="import_success">Đã nhập \"%s\"</string>
<string name="interface_title">Giao diện</string>
<string name="key_contents_error">Kí tự không hợp lệ trong khoá</string>
<string name="key_length_error">Độ dài khoá không hợp lệ</string>
<string name="key_length_explanation_base64">: Khoá WireGuard base64 phải đủ 44 ký tự (32 bytes)</string>
<string name="key_length_explanation_binary">: Khoá WireGuard phải đủ 32 bytes</string>
<string name="key_length_explanation_hex">: Khoá WireGuard hex phải đủ 64 ký tự (32 bytes)</string>
<string name="latest_handshake">Lần bắt tay cuối</string>
<string name="latest_handshake_ago">%s giây trước</string>
<string name="listen_port">Cổng</string>
<string name="log_export_error">Không thể xuất nhật ký: %s</string>
<string name="log_export_subject">File nhật ký WireGuard Android</string>
<string name="log_export_success">Đã lưu vào \"%s\"</string>
<string name="log_export_title">Xuất file nhật ký</string>
<string name="log_saver_activity_label">Lưu nhật ký</string>
<string name="parse_error_inet_address">Địa chỉ IP</string>
<string name="peer">Đồng trang lứa</string>
</resources>
+5 -5
View File
@@ -172,9 +172,9 @@
<string name="public_key">公钥</string>
<string name="qr_code_hint">提示:使用命令 `qrencode -t ansiutf8 &lt; tunnel.conf` 生成二维码</string>
<string name="quick_settings_tile_add_title">添加磁贴到快速设置面板</string>
<string name="quick_settings_tile_add_summary">快捷方式磁贴开/关最近使用的隧道。</string>
<string name="quick_settings_tile_add_failure">无法添加快捷方式磁贴:错误 %d</string>
<string name="quick_settings_tile_action">开/关隧道</string>
<string name="quick_settings_tile_add_summary">通过快捷磁贴开启/关闭上次使用的隧道</string>
<string name="quick_settings_tile_add_failure">无法添加快捷磁贴:错误 %d</string>
<string name="quick_settings_tile_action">开启/关闭隧道</string>
<string name="restore_on_boot_summary_off">未启用</string>
<string name="restore_on_boot_summary_on">设备启动时自动开启上次使用的隧道</string>
<string name="restore_on_boot_title">启动时恢复</string>
@@ -226,8 +226,8 @@
<string name="updater_download_progress_nototal">正在下载更新:%s</string>
<string name="updater_installing">正在安装更新…</string>
<string name="updater_failure">更新失败:%s。将在稍后重试…</string>
<string name="updater_corrupt_title">应用程序损坏</string>
<string name="updater_corrupt_message">此应用程序已损坏。请从下面链接的网站重新下载APK。然后卸载此应用程序并从下载的APK重新安装它。</string>
<string name="updater_corrupt_title">应用损坏</string>
<string name="updater_corrupt_message">此应用已损坏。请从下方链接的网站中重新下载 APK,然后卸载此应用并重新安装。</string>
<string name="updater_corrupt_navigate">打开网站</string>
<string name="version_summary">%1$s backend %2$s</string>
<string name="version_summary_checking">正在检查 %s backend 版本</string>