diff --git a/.github/workflows/build-darwin.yml b/.github/workflows/build-darwin.yml index 29f248501..5c50a5a7b 100644 --- a/.github/workflows/build-darwin.yml +++ b/.github/workflows/build-darwin.yml @@ -86,6 +86,7 @@ jobs: - uses: subosito/flutter-action@v2 with: channel: "stable" + flutter-version-file: pubspec.yaml - run: flutter --version diff --git a/.github/workflows/build-linux.yml b/.github/workflows/build-linux.yml index bc42c13f4..c7ad5a1bb 100644 --- a/.github/workflows/build-linux.yml +++ b/.github/workflows/build-linux.yml @@ -67,6 +67,7 @@ jobs: - uses: subosito/flutter-action@v2 with: channel: "stable" + flutter-version-file: pubspec.yaml - run: flutter --version diff --git a/.github/workflows/build-windows.yml b/.github/workflows/build-windows.yml index 5bdbade5e..dd841fbc3 100644 --- a/.github/workflows/build-windows.yml +++ b/.github/workflows/build-windows.yml @@ -102,7 +102,7 @@ jobs: - uses: actions/setup-python@v4 with: - python-version: "3.8" + python-version: "3.12" - name: Install s3cmd run: pip install s3cmd @@ -129,11 +129,13 @@ jobs: - uses: actions/checkout@v3 with: lfs: true - + # Using flutter-version-file requires yq, which is not pre-installed in windows images + - run: choco install yq # Install Flutter - - uses: subosito/flutter-action@v2.12.0 + - uses: subosito/flutter-action@v2 with: channel: "stable" + flutter-version-file: pubspec.yaml - run: flutter --version diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 51b49a243..1ff993ce7 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -2,7 +2,7 @@ name: Publish releases on: push: - branches: [ atavism/pro-client-updates ] + branches: [ main ] tags: - '*' @@ -119,6 +119,8 @@ jobs: - uses: subosito/flutter-action@v2 with: channel: "stable" + flutter-version-file: pubspec.yaml + - run: flutter --version - name: Setup Go diff --git a/Makefile b/Makefile index 823735cb7..35b443981 100644 --- a/Makefile +++ b/Makefile @@ -94,7 +94,9 @@ STAGING = false UPDATE_SERVER_URL ?= VERSION ?= 9999.99.99 # Note - we don't bother stripping symbols or DWARF table as Android's packaging seems to take care of that for us -LDFLAGS := -X github.com/getlantern/lantern-client/internalsdk/common.RevisionDate=$(REVISION_DATE) -X github.com/getlantern/lantern-client/internalsdk/common.ApplicationVersion=$(VERSION) +LDFLAGS := -X github.com/getlantern/lantern-client/internalsdk/common.RevisionDate=$(REVISION_DATE) \ +-X github.com/getlantern/lantern-client/internalsdk/common.ApplicationVersion=$(VERSION) \ +-X github.com/getlantern/lantern-client/internalsdk/common.BuildDate=$(BUILD_DATE) # Ref https://pkg.go.dev/cmd/link # -w omits the DWARF table @@ -672,7 +674,7 @@ build-framework: assert-go-version install-gomobile -tags='headless lantern ios netgo' \ -ldflags="$(LDFLAGS)" \ $(GOMOBILE_EXTRA_BUILD_FLAGS) \ - github.com/getlantern/lantern-client/internalsdk github.com/getlantern/pathdb/testsupport github.com/getlantern/pathdb/minisql github.com/getlantern/flashlight/v7/ios + github.com/getlantern/lantern-client/internalsdk github.com/getlantern/pathdb/testsupport github.com/getlantern/pathdb/minisql github.com/getlantern/lantern-client/internalsdk/ios @echo "moving framework" mkdir -p $(INTERNALSDK_FRAMEWORK_DIR) mv ./$(INTERNALSDK_FRAMEWORK_NAME) $(INTERNALSDK_FRAMEWORK_DIR)/$(INTERNALSDK_FRAMEWORK_NAME) diff --git a/README.md b/README.md index 987201f7f..52cb04b1d 100644 --- a/README.md +++ b/README.md @@ -26,17 +26,17 @@ Note - you might see an error like `Can't load Kernel binary: Invalid SDK hash.` ### Dependencies -All those dependencies must be in your PATH +All these dependencies must be in your PATH. Some of this is Android specific, see below for other platforms. * Java 11 or greater -* [Android Studio](https://developer.android.com/studio) +* [Android Studio](https://developer.android.com/studio?_gl=1*1wowe6v*_up*MQ..&gclid=Cj0KCQjw6auyBhDzARIsALIo6v-bn0juONfkfmQAJtwssRCQWADJMgGfRBisMNTSXHt5CZnyZVSK2Y8aAgCmEALw_wcB&gclsrc=aw.ds) (Android Studio Jellyfish | 2023.3.1 Patch 1) * [Xcode](https://developer.apple.com/xcode/resources/) * [Git](https://git-scm.com/downloads) * [Android NDK](#steps-to-run-the-project) * NDK should be version 26.x, for example 26.0.10792818. * [Git LFS](https://git-lfs.github.com) - more information in [Usage](#usage) -* [Flutter (3.13.5)](https://flutter.dev) +* [Flutter (3.19.6)](https://flutter.dev) * [sentry-cli](https://docs.sentry.io/product/cli/installation/) - This is used for uploading native debug symbols to Sentry * [gomobile](https://github.com/golang/go/wiki/Mobile#tools) @@ -44,13 +44,15 @@ All those dependencies must be in your PATH * Only necessary for testing Replica * CMake 3.22.1 * You can get this from Android SDK Manager - +* [CocoaPods](https://cocoapods.org/) + * Possibly this is only needed on Apple platforms. ### 🚀 Setup Project: * Install all prerequisites * Run `git submodule update --init --recursive` -* Run `git lfs install && git pull` +* Run `git lfs install && git pull`. +* Put the [app.env](https://my.1password.com/vaults/all/allitems/adqasjh2hspgjgvgfllyekhcrq) file from 1Password in the repo root. * Go to the **SDK MANAGER** * Select **Android SDK** * Check the SDK from android 5.0(LOLLIPOP) up to the Latest Version at the moment. @@ -59,13 +61,13 @@ All those dependencies must be in your PATH * On the NDK(Side by side) check the latest version of 22.x (not anything newer) * Make sure that you have the latest **Android SDK Command-line Tools** * Finally select the following: - - Android Emulator - - Android SDK Platform-Tools - - Google play APK Expansion Library - - Google play Instant Development SDK - - Google Play Licensing Library - - Google Play Services - - Intel x86 Emulator Accelerator (HAXM installer) + - Android Emulator + - Android SDK Platform-Tools + - Google play APK Expansion Library + - Google play Instant Development SDK + - Google Play Licensing Library + - Google Play Services + - Intel x86 Emulator Accelerator (HAXM installer) * Click on Apply and accept the Terms and Conditions. * If you are opening Xcode first time open Xcode and install necessary components * Lastly `Flutter Doctor` to confirm that your setup is correct and ready! @@ -76,7 +78,6 @@ All those dependencies must be in your PATH * `flutter pub get` * `flutter run --flavor prod` - ### 🍏 Running the project on iOS * `make build-framework` (you need to generated Internalsdk.xcframework. containing the Go backend code in order for the project to compile.) @@ -85,7 +86,25 @@ All those dependencies must be in your PATH **Note**: If you're using an M1 or M2 chip, navigate to the ios folder and run `arch -x86_64 pod install` +### 💻 Running the Project on Desktop + +**Note**: Make sure to run all the commands from the root of the project. + +#### macOS + +* `make darwin` +* `make ffigen` +* `flutter run -d macos` + +#### Other OS + +* Windows run `make windows` Linux run `linux-amd64` +* `make ffigen` +* `flutter pub get` +* `flutter run --flavor prod` or if you are using android studio use desktop configuration + ### Running on emulators + You can easily run emulators directly from the command line with the following: * `flutter devices` @@ -98,46 +117,43 @@ We've got you covered! If you prefer using Android Studio, we have already set u You can build an emulator with `./scripts/run_avd.rb`. Here's an example run: `./scripts/run_avd.rb --level=30 --abi=x86 --use_google_apis --window`. You'll need Ruby >= 2.3 installed and `colorize` gem (i.e., `gem install colorize`). -#### Flutter Logging +[//]: # (#### Flutter Logging) -The Flutter component uses [logger](https://pub.dev/packages/logger) package for logging. -See `home.dart#build()` to know where it's configured. +[//]: # () +[//]: # (The Flutter component uses [logger](https://pub.dev/packages/logger) package for logging.) -During development, you'll notice a lot of `GoLog`-tagged code. Feel-free to comment that out during your flutter work. -A sane terminal command (using [pidcat](https://github.com/JakeWharton/pidcat)) is `pidcat org.getlantern.lantern -i GoLog -i System.out -w 3`. +[//]: # (See `home.dart#build()` to know where it's configured.) -### Building the InternalSdk (AKA Lantern Core) as a library +[//]: # () +[//]: # (During development, you'll notice a lot of `GoLog`-tagged code. Feel-free to comment that out during your flutter work.) + +[//]: # (A sane terminal command (using [pidcat](https://github.com/JakeWharton/pidcat)) is `pidcat org.getlantern.lantern -i GoLog -i System.out -w 3`.) +### Building the InternalSdk (AKA Lantern Core) as a library The core Lantern functionality is written in Go and lives in `./internalsdk`. -It is compiled from Go using [Gomobile](https://github.com/golang/mobile) to an AAR file that +It is compiled from Go using [Gomobile](https://github.com/golang/mobile) to appropriate formats for each platform. #### Android -For compiled code lives in `./android/app/libs` and is called `liblantern-ARCH.aar`. +* To generate AAR run `make android-lib ANDROID_ARCH=all` -Package the AAR with `make android-lib ANDROID_ARCH=all` +* For compiled code lives in `./android/app/libs` and is called `liblantern-ARCH.aar`. #### IOS -For compiled code lives in `./ios/internalsdk/` and is called `Internalsdk.xcframework`. +* To generate XCodeFramework run `make build-framework` +For compiled code lives in `./ios/internalsdk/` and is called `Internalsdk.xcframework`. #### Desktop - The desktop app lives under `desktop` .. To build the Go shared library on macOS: -``` -make darwin ffigen -``` - -Then to run the Flutter app on macOS: +* To build for desktop `make darwin` for macOS, `make windows` for Windows, and `make linux-amd64` for Linux. +* Generate the FFI bindings `make ffigen` -``` -flutter run -d macOS -``` - -#### Testing against Lantern's staging servers +[//]: # (#### Testing against Lantern's staging servers) -Package the AAR with `make android-lib ANDROID_ARCH=all STAGING=true` +[//]: # () +[//]: # (Package the AAR with `make android-lib ANDROID_ARCH=all STAGING=true`) ### Making Android debug builds (Not yet implemented on IOS) @@ -159,16 +175,21 @@ or make android-release-install ``` -### 🚧 Making Staging Builds +[//]: # (### 🚧 Making Staging Builds) +[//]: # () +[//]: # () +[//]: # (To build mobile for staging, use the STAGING command line argument:) -To build mobile for staging, use the STAGING command line argument: +[//]: # () +[//]: # (```) -``` -STAGING=true make android-debug android-install -``` +[//]: # (STAGING=true make android-debug android-install) + +[//]: # (```) -This will build Flashlight with the same [STAGING flag](https://github.com/getlantern/flashlight/v7/blob/9eb8abbe036e86b9e72a1a938f29e59f75391676/common/const.go#L43), which allows your client to use the [staging pro-server](https://github.com/getlantern/pro-server-neu/blob/fa2859edf213998e15cd7c00461e52fd97a9e570/README.md#L125) instance instead of the production one. +[//]: # () +[//]: # (This will build Flashlight with the same [STAGING flag](https://github.com/getlantern/flashlight/v7/blob/9eb8abbe036e86b9e72a1a938f29e59f75391676/common/const.go#L43), which allows your client to use the [staging pro-server](https://github.com/getlantern/pro-server-neu/blob/fa2859edf213998e15cd7c00461e52fd97a9e570/README.md#L125) instance instead of the production one.) ### 🎉 Making Release Builds @@ -178,7 +199,7 @@ Do this to make a release build: ``` VERSION=x.x.x make ios-release ``` - **Note**: Replace x.x.x with the version number of your release. +**Note**: Replace x.x.x with the version number of your release. This will - Set the version number in the info.plist file and increment the build number 1 @@ -300,10 +321,10 @@ You can run integration tests from the integration_test directory against a live 5. All tests should start with testing device showing Chats tab. 6. Start by running test `1A`. 7. A handful of tests have specific requirements, marked by a "Test requirements" comment at the start of the test: - 1. `6A_scan_QR_code_test` needs another phone to do the QR scanning process with - 2. `6B_request_flow_test` requires a message request to have just been received - 3. `6C_introductions_test` requires the testing device/emulator to have received an introduction to another contact - 4. `17C_verify_contact_test` requires the most recent message to have been shared in conversation with an unverified contact + 1. `6A_scan_QR_code_test` needs another phone to do the QR scanning process with + 2. `6B_request_flow_test` requires a message request to have just been received + 3. `6C_introductions_test` requires the testing device/emulator to have received an introduction to another contact + 4. `17C_verify_contact_test` requires the most recent message to have been shared in conversation with an unverified contact 8. We will have some duplicate screenshots in there - run `python3 scripts/screenshot_generation_assets/remove_dups.py [your android-lantern-path]/screenshots/` to deduplicate. 9. To generate stitched landscape images for all screenshots in a given test folder, run `python3 scripts/screenshot_generation_assets/merge_screenshots.py [your android-lantern-path]/screenshots/[a locale e.g. en_US]` @@ -400,7 +421,7 @@ appium driver install espresso ``` 3. Generate a debug build with `CI=true make android-debug ANDROID_ARCH=all` ... CI needs to be set to true to enable the -Flutter driver extension. + Flutter driver extension. 4. Modify [local_config.json](appium_kotlin/app/src/test/resources/local/local_config.json) to specify the path of a debug build APK on your system, and change `appium:udid` to specify your device ID (you can get this from `adb devices`) diff --git a/android/app/src/main/java/org/getlantern/lantern/model/ProPlan.java b/android/app/src/main/java/org/getlantern/lantern/model/ProPlan.java index eacabf998..8e6e92ecc 100644 --- a/android/app/src/main/java/org/getlantern/lantern/model/ProPlan.java +++ b/android/app/src/main/java/org/getlantern/lantern/model/ProPlan.java @@ -235,6 +235,10 @@ public String getDescription() { return description; } + public void setDescription(String desc) { + description = desc; + } + public String getCostStr() { return costStr; } diff --git a/android/app/src/main/kotlin/io/lantern/model/SessionModel.kt b/android/app/src/main/kotlin/io/lantern/model/SessionModel.kt index 413b73bc6..ca8d64fd6 100644 --- a/android/app/src/main/kotlin/io/lantern/model/SessionModel.kt +++ b/android/app/src/main/kotlin/io/lantern/model/SessionModel.kt @@ -33,7 +33,6 @@ import org.getlantern.lantern.plausible.Plausible import org.getlantern.lantern.util.AutoUpdater import org.getlantern.lantern.util.PaymentsUtil import org.getlantern.lantern.util.PermissionUtil -import org.getlantern.lantern.util.PlansUtil import org.getlantern.lantern.util.castToBoolean import org.getlantern.lantern.util.restartApp import org.getlantern.lantern.util.showErrorDialog @@ -288,7 +287,7 @@ class SessionModel( } } - fun updatePaymentMethods(result: MethodChannel.Result?) { + private fun updatePaymentMethods(result: MethodChannel.Result?) { val userId = LanternApp.getSession().userId() //Check if not found then call createUserAndFetchPaymentMethods if (userId == 0L) { @@ -352,10 +351,8 @@ class SessionModel( paymentMethods: List, ) { - for (planId in proPlans.keys) { - proPlans[planId]?.let { PlansUtil.updatePrice(activity, it) } - } - LanternApp.getSession().setUserPlans(proPlans) + + LanternApp.getSession().setUserPlans(activity, proPlans) LanternApp.getSession().setPaymentMethods(paymentMethods) } diff --git a/android/app/src/main/kotlin/org/getlantern/lantern/LanternApp.kt b/android/app/src/main/kotlin/org/getlantern/lantern/LanternApp.kt index 8cc8f3ff0..ac1ebe3cf 100644 --- a/android/app/src/main/kotlin/org/getlantern/lantern/LanternApp.kt +++ b/android/app/src/main/kotlin/org/getlantern/lantern/LanternApp.kt @@ -49,13 +49,13 @@ open class LanternApp : Application() { LanternProxySelector(session) - inAppBilling = InAppBilling(this) - lanternHttpClient = LanternHttpClient() // When the app starts, reset our "hasSucceedingProxy" flag to clear any old warnings // about proxies being unavailable. session.resetHasSucceedingProxy() + + inAppBilling = InAppBilling(this) } companion object { diff --git a/android/app/src/main/kotlin/org/getlantern/lantern/MainActivity.kt b/android/app/src/main/kotlin/org/getlantern/lantern/MainActivity.kt index 3c6d57354..bdbcd0a12 100644 --- a/android/app/src/main/kotlin/org/getlantern/lantern/MainActivity.kt +++ b/android/app/src/main/kotlin/org/getlantern/lantern/MainActivity.kt @@ -9,12 +9,12 @@ import android.os.Bundle import android.text.Html import android.view.LayoutInflater import android.view.View -import android.view.WindowManager import android.widget.TextView import androidx.annotation.NonNull import androidx.appcompat.app.AlertDialog import androidx.core.app.ActivityCompat import androidx.core.content.ContextCompat +import com.google.gson.JsonObject import io.flutter.embedding.android.FlutterActivity import io.flutter.embedding.engine.FlutterEngine import io.flutter.plugin.common.MethodCall @@ -30,6 +30,7 @@ import org.getlantern.lantern.activity.WebViewActivity_ import org.getlantern.lantern.event.EventManager import org.getlantern.lantern.model.AccountInitializationStatus import org.getlantern.lantern.model.Bandwidth +import org.getlantern.lantern.model.LanternHttpClient import org.getlantern.lantern.model.LanternHttpClient.PlansV3Callback import org.getlantern.lantern.model.LanternHttpClient.ProUserCallback import org.getlantern.lantern.model.LanternStatus @@ -45,8 +46,6 @@ import org.getlantern.lantern.notification.NotificationReceiver import org.getlantern.lantern.plausible.Plausible import org.getlantern.lantern.service.LanternService_ import org.getlantern.lantern.util.PermissionUtil -import org.getlantern.lantern.util.PlansUtil -import org.getlantern.lantern.util.restartApp import org.getlantern.lantern.util.showAlertDialog import org.getlantern.lantern.vpn.LanternVpnService import org.getlantern.mobilesdk.Logger @@ -276,6 +275,7 @@ class MainActivity : FlutterActivity(), MethodChannel.MethodCallHandler, fun lanternStarted(status: LanternStatus) { updateUserData() updatePaymentMethods() + updateCurrencyList(); } @Subscribe(sticky = true, threadMode = ThreadMode.MAIN) @@ -334,26 +334,45 @@ class MainActivity : FlutterActivity(), MethodChannel.MethodCallHandler, paymentMethods: List, ) { - Logger.debug(TAG, "Successfully fetched payment methods with payment methods: $paymentMethods and plans $proPlans") - processPaymentMethods(proPlans, paymentMethods) + Logger.debug( + TAG, + "Successfully fetched payment methods with payment methods: $paymentMethods and plans $proPlans" + ) + sessionModel.processPaymentMethods(proPlans, paymentMethods) } } ) } + private fun updateCurrencyList() { + val url = LanternHttpClient.createProUrl("/supported-currencies") + lanternClient.get(url, object : LanternHttpClient.ProCallback { + override fun onFailure(throwable: Throwable?, error: ProError?) { + Logger.error(TAG, "Unable to fetch currency list: $error", throwable) + /* + retry to fetch currency list again + fetch until we get the currency list + retry after 5 seconds + */ + CoroutineScope(Dispatchers.IO).launch { + delay(5000) + updateCurrencyList() + } + } - fun processPaymentMethods( - proPlans: Map, - paymentMethods: List, + override fun onSuccess(response: Response?, result: JsonObject?) { + val currencies = result?.getAsJsonArray("supported-currencies") + val currencyList = mutableListOf() + currencies?.forEach { + currencyList.add(it.asString.lowercase()) + } + LanternApp.getSession().setCurrencyList(currencyList) + } - ) { - for (planId in proPlans.keys) { - proPlans[planId]?.let { PlansUtil.updatePrice(activity, it) } - } - LanternApp.getSession().setUserPlans(proPlans) - LanternApp.getSession().setPaymentMethods(paymentMethods) + }) } + @Subscribe(threadMode = ThreadMode.MAIN) fun processLoconf(loconf: LoConf) { doProcessLoconf(loconf) diff --git a/android/app/src/main/kotlin/org/getlantern/lantern/model/InAppBilling.kt b/android/app/src/main/kotlin/org/getlantern/lantern/model/InAppBilling.kt index 936faf38f..ec812afb5 100644 --- a/android/app/src/main/kotlin/org/getlantern/lantern/model/InAppBilling.kt +++ b/android/app/src/main/kotlin/org/getlantern/lantern/model/InAppBilling.kt @@ -5,7 +5,6 @@ import android.content.Context import android.os.Handler import android.os.Looper import androidx.annotation.UiThread -import com.android.billingclient.api.AcknowledgePurchaseParams import com.android.billingclient.api.BillingClient import com.android.billingclient.api.BillingClientStateListener import com.android.billingclient.api.BillingFlowParams @@ -19,6 +18,9 @@ import com.android.billingclient.api.QueryProductDetailsParams import com.android.billingclient.api.QueryPurchasesParams import com.google.android.gms.common.ConnectionResult import com.google.android.gms.common.GoogleApiAvailability +import com.google.gson.JsonObject +import okhttp3.Response +import org.getlantern.lantern.LanternApp import org.getlantern.mobilesdk.Logger import java.util.concurrent.ConcurrentHashMap @@ -30,12 +32,15 @@ class InAppBilling( ) : PurchasesUpdatedListener, InAppBillingInterface { companion object { private val TAG = InAppBilling::class.java.simpleName + private val lanternClient: LanternHttpClient = LanternApp.getLanternHttpClient() + } init { initConnection() } + @get:Synchronized @set:Synchronized @Volatile @@ -127,6 +132,8 @@ class InAppBilling( activity, BillingFlowParams.newBuilder() .setProductDetailsParamsList(productDetailsParamsList) + .setObfuscatedAccountId(LanternApp.getSession().getDeviceID())// add device-od + .setObfuscatedProfileId(LanternApp.getSession().userID.toString()) .build(), ) } @@ -194,16 +201,20 @@ class InAppBilling( // Todo no originalPriceAmountMicros found in latest lib val priceWithoutTax = it.oneTimePurchaseOfferDetails!!.priceAmountMicros / 10000 - plans[id] = ProPlan( + val proModel = ProPlan( id, hashMapOf(currency to price.toLong()), hashMapOf(currency to priceWithoutTax.toLong()), "2" == years, hashMapOf("years" to years.toInt()), ) + proModel.description = it.description + + plans[id] = proModel skus[id] = it } } + } } @@ -254,22 +265,23 @@ class InAppBilling( private fun handleAcknowledgedPurchases(purchases: List) { for (purchase in purchases) { + Logger.debug(TAG, "Purchase: $purchase") ensureConnected { - /// if not acknowledged form server, acknowledge it if (purchase.purchaseState == Purchase.PurchaseState.PURCHASED) { if (!purchase.isAcknowledged) { - val acknowledgePurchaseParams = AcknowledgePurchaseParams.newBuilder() - .setPurchaseToken(purchase.purchaseToken) - acknowledgePurchase(acknowledgePurchaseParams.build()) { billingResult -> - if (!billingResult.responseCodeOK()) { - isRetriable(billingResult).then { handlePurchases() } - return@acknowledgePurchase - } - Logger.d( - TAG, - "Acknowledged purchase ${purchase.purchaseToken}" - ) - } + /* + * Important: acknowledgement need to happen only on server + * if the purchase are not acknowledged from server + * then make purchase request it mark purchase as isAcknowledged + */ + val currency = LanternApp.getSession().deviceCurrencyCode() + val planID = "${purchase.products[0]}-$currency" + + addAcknowledgePurchase( + planID = planID, + currency = currency, + token = purchase.purchaseToken + ) } } @@ -318,4 +330,36 @@ class InAppBilling( } } } + + private fun addAcknowledgePurchase(planID: String, currency: String, token: String) { + val session = LanternApp.getSession() + val json = JsonObject() + json.addProperty("idempotencyKey", System.currentTimeMillis().toString()) + json.addProperty("provider", PaymentProvider.GooglePlay.toString().lowercase()) + json.addProperty("email", session.email()) + json.addProperty("plan", planID) + json.addProperty("currency", currency.lowercase()) + json.addProperty("deviceName", session.deviceName()) + json.addProperty("token", token) + + lanternClient.post( + LanternHttpClient.createProUrl("/purchase"), + LanternHttpClient.createJsonBody(json), + object : LanternHttpClient.ProCallback { + override fun onSuccess( + response: Response?, + result: JsonObject?, + ) { + Logger.debug(TAG, "Making server acknowledgement response: $response") + } + + override fun onFailure( + t: Throwable?, + error: ProError?, + ) { + Logger.error(TAG, "Error while making server acknowledgement: $error") + } + }, + ) + } } diff --git a/android/app/src/main/kotlin/org/getlantern/lantern/model/LanternSessionManager.kt b/android/app/src/main/kotlin/org/getlantern/lantern/model/LanternSessionManager.kt index f2fcd651b..08102c5ea 100644 --- a/android/app/src/main/kotlin/org/getlantern/lantern/model/LanternSessionManager.kt +++ b/android/app/src/main/kotlin/org/getlantern/lantern/model/LanternSessionManager.kt @@ -1,7 +1,11 @@ package org.getlantern.lantern.model import android.app.Application +import android.content.Context +import android.content.res.Resources +import android.os.Build import io.lantern.model.Vpn +import org.getlantern.lantern.util.PlansUtil import org.getlantern.mobilesdk.Logger import org.getlantern.mobilesdk.model.SessionManager import org.greenrobot.eventbus.EventBus @@ -17,6 +21,7 @@ class LanternSessionManager(application: Application) : SessionManager(applicati private var referral: String? = null private var verifyCode: String? = null + private var supportedCurrencyList: List = listOf() override fun isProUser(): Boolean { return prefs.getBoolean(PRO_USER, false) @@ -34,7 +39,7 @@ class LanternSessionManager(application: Application) : SessionManager(applicati return prefs.getBoolean(PRO_EXPIRED, false) } - fun getCurrency(): Currency? { + private fun getCurrency(): Currency { try { val lang = language val parts = lang.split("_".toRegex()).toTypedArray() @@ -50,7 +55,40 @@ class LanternSessionManager(application: Application) : SessionManager(applicati } override fun currency(): String { - return getCurrency()?.let { it.currencyCode } ?: "usd" + return getCurrency().currencyCode ?: "usd" + } + + fun deviceCurrencyCode(): String { + return if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) { + val localList = Resources.getSystem().configuration.locales + for (i in 0 until localList.size()) { + val locale = localList.get(i) + val tempLocal = Currency.getInstance(locale).currencyCode.lowercase() + return if (supportedCurrencyList.contains(tempLocal)) { + tempLocal + } else { + "usd" + } + } + "usd" // Default to "usd" if no supported currency found + } else { + val local = Resources.getSystem().configuration.locale + val deviceLocal = Currency.getInstance(local).currencyCode.lowercase() + + return if (supportedCurrencyList.contains(deviceLocal)) { + deviceLocal + } else { + "usd" + } + } + } + + fun setCurrencyList(currencyList: List) { + supportedCurrencyList = currencyList + } + + fun getCurrencyList(): List { + return supportedCurrencyList } fun setRemoteConfigPaymentProvider(provider: String?) { @@ -294,23 +332,33 @@ class LanternSessionManager(application: Application) : SessionManager(applicati return null } - fun setUserPlans(proPlans: Map) { + fun setUserPlans(context: Context, proPlans: Map) { + for (planId in proPlans.keys) { + proPlans[planId]?.let { PlansUtil.updatePrice(context, it) } + } + plans.clear() plans.putAll(proPlans) db.mutate { tx -> proPlans.values.forEach { - val planID = it.id.substringBefore('-') - val path = PLANS + planID - tx.put( - path, - Vpn.Plan.newBuilder().setId(it.id) + try { + val planID = it.id.substringBefore('-') + val path = PLANS + planID + + val planItem = Vpn.Plan.newBuilder().setId(it.id) .setDescription(it.description).setBestValue(it.bestValue) - .setUsdPrice(it.usdEquivalentPrice) .putAllPrice(it.price).setTotalCostBilledOneTime(it.totalCostBilledOneTime) .setOneMonthCost(it.oneMonthCost) .setTotalCost(it.totalCost).setFormattedBonus(it.formattedBonus) - .setRenewalText(it.renewalText).build(), - ) + .setRenewalText(it.renewalText).build() + + tx.put( + path, + planItem, + ) + } catch (e: Exception) { + Logger.error(TAG, e.message) + } } } } diff --git a/android/app/src/main/kotlin/org/getlantern/lantern/util/PaymentsUtil.kt b/android/app/src/main/kotlin/org/getlantern/lantern/util/PaymentsUtil.kt index 0044486e7..24176f0d2 100644 --- a/android/app/src/main/kotlin/org/getlantern/lantern/util/PaymentsUtil.kt +++ b/android/app/src/main/kotlin/org/getlantern/lantern/util/PaymentsUtil.kt @@ -199,12 +199,7 @@ class PaymentsUtil(private val activity: Activity) { planID: String, methodCallResult: MethodChannel.Result, ) { - val inAppBilling = LanternApp.getInAppBilling() - val currency = - LanternApp.getSession().planByID(planID)?.let { - it.currency - } ?: "usd" val plan = getPlanYear(planID) Logger.debug(TAG, "Starting in-app purchase for plan with ID $plan") inAppBilling.startPurchase( @@ -216,7 +211,6 @@ class PaymentsUtil(private val activity: Activity) { purchases: MutableList?, ) { if (billingResult.responseCode != BillingClient.BillingResponseCode.OK) { - methodCallResult.error( "unknownError", activity.resources.getString(R.string.error_making_purchase), @@ -244,12 +238,47 @@ class PaymentsUtil(private val activity: Activity) { return } + + if (purchases[0].purchaseState != Purchase.PurchaseState.PURCHASED) { + /* + * if the purchase state is not purchased then do not call api + * make user pro temporary next user open app it will check the purchase state and call api accordingly + * */ + session.linkDevice() + session.setIsProUser(true) + lanternClient.userData(object : LanternHttpClient.ProUserCallback { + override fun onSuccess(response: Response, userData: ProUser) { + Logger.e(TAG, "User detail : $userData") + activity.runOnUiThread { + methodCallResult.success("purchaseSuccessful") + } + } + + override fun onFailure(throwable: Throwable?, error: ProError?) { + Logger.error(TAG, "Unable to fetch user data: $throwable.message") + /* Regardless of failure send success coz purchase has been processed */ + activity.runOnUiThread { + methodCallResult.success("purchaseSuccessful") + } + + } + }) + return + } + + /* + * Important: Google Play payment ignores the app-selected locale and currency + * It always uses the device's locale so + * We need to pass device local it does not mismatch to server while acknolgment*/ + val defaultLocale = LanternApp.getSession().deviceCurrencyCode() sendPurchaseRequest( - "$plan-$currency", + "$plan-$defaultLocale", email, tokens[0], PaymentProvider.GooglePlay, methodCallResult, + defaultLocale + ) } }, @@ -330,11 +359,13 @@ class PaymentsUtil(private val activity: Activity) { token: String, provider: PaymentProvider, methodCallResult: MethodChannel.Result, + deviceLocal: String = "", ) { - val currency = + val currency = deviceLocal.ifEmpty { LanternApp.getSession().planByID(planID)?.let { it.currency } ?: "usd" + } Logger.d( TAG, "Sending purchase request: provider $provider; plan ID: $planID; currency: $currency" @@ -386,16 +417,13 @@ class PaymentsUtil(private val activity: Activity) { Logger.e(TAG, "User detail : $userData") session.setIsProUser(true) activity.runOnUiThread { - methodCallResult.success("purchaseSuccessful") } - } override fun onFailure(throwable: Throwable?, error: ProError?) { Logger.error(TAG, "Unable to fetch user data: $throwable.message") activity.runOnUiThread { - methodCallResult.success("purchaseSuccessful") } diff --git a/android/app/src/main/kotlin/org/getlantern/lantern/util/PlansUtil.kt b/android/app/src/main/kotlin/org/getlantern/lantern/util/PlansUtil.kt index 61bd57bde..35196828a 100644 --- a/android/app/src/main/kotlin/org/getlantern/lantern/util/PlansUtil.kt +++ b/android/app/src/main/kotlin/org/getlantern/lantern/util/PlansUtil.kt @@ -1,6 +1,7 @@ package org.getlantern.lantern.util import android.app.Activity +import android.content.Context import android.content.res.Resources import android.text.TextUtils import org.getlantern.lantern.LanternApp @@ -12,7 +13,7 @@ import org.joda.time.LocalDateTime object PlansUtil { @JvmStatic - fun updatePrice(activity: Activity, plan: ProPlan) { + fun updatePrice(activity: Context, plan: ProPlan) { val formattedBonus = formatRenewalBonusExpected(activity, plan.renewalBonusExpected, false) val totalCost = plan.costWithoutTaxStr var totalCostBilledOneTime = activity.resources.getString(R.string.total_cost, totalCost) @@ -58,7 +59,7 @@ object PlansUtil { // longForm == false -> a day-only format (e.g. "45 days") // longForm == true -> month and day format (e.g. "1 month and 15 days" private fun formatRenewalBonusExpected( - activity: Activity, planBonus: MutableMap, + activity: Context, planBonus: MutableMap, longForm: Boolean ): String { val bonusMonths: Int? = planBonus["months"] diff --git a/android/build.gradle b/android/build.gradle index 149b84540..c2a9824e1 100644 --- a/android/build.gradle +++ b/android/build.gradle @@ -16,7 +16,7 @@ buildscript { dependencies { classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" - classpath 'com.android.tools.build:gradle:8.4.0-alpha13' + classpath 'com.android.tools.build:gradle:8.4.0' classpath "com.google.protobuf:protobuf-gradle-plugin:0.9.1" classpath 'com.google.gms:google-services:4.4.0' classpath("org.jlleitschuh.gradle:ktlint-gradle:11.3.1") diff --git a/android/settings.gradle b/android/settings.gradle index 44b8dec9f..d270bff46 100644 --- a/android/settings.gradle +++ b/android/settings.gradle @@ -18,7 +18,7 @@ pluginManagement { plugins { id "dev.flutter.flutter-plugin-loader" version "1.0.0" - id "com.android.application" version '8.4.0-alpha13' apply false + id "com.android.application" version '8.4.0' apply false id "org.jetbrains.kotlin.android" version "1.9.23" apply false } diff --git a/assets/locales/ar.po b/assets/locales/ar-eg.po similarity index 100% rename from assets/locales/ar.po rename to assets/locales/ar-eg.po diff --git a/assets/locales/bn.po b/assets/locales/bn-bd.po similarity index 100% rename from assets/locales/bn.po rename to assets/locales/bn-bd.po diff --git a/assets/locales/en.po b/assets/locales/en-us.po similarity index 100% rename from assets/locales/en.po rename to assets/locales/en-us.po diff --git a/assets/locales/es.po b/assets/locales/es-cu.po similarity index 100% rename from assets/locales/es.po rename to assets/locales/es-cu.po diff --git a/assets/locales/fa.po b/assets/locales/fa-ir.po similarity index 100% rename from assets/locales/fa.po rename to assets/locales/fa-ir.po diff --git a/assets/locales/fr.po b/assets/locales/fr-fr.po similarity index 100% rename from assets/locales/fr.po rename to assets/locales/fr-fr.po diff --git a/assets/locales/hi.po b/assets/locales/hi-in.po similarity index 100% rename from assets/locales/hi.po rename to assets/locales/hi-in.po diff --git a/assets/locales/ms.po b/assets/locales/ms-my.po similarity index 100% rename from assets/locales/ms.po rename to assets/locales/ms-my.po diff --git a/assets/locales/my.po b/assets/locales/my-mm.po similarity index 100% rename from assets/locales/my.po rename to assets/locales/my-mm.po diff --git a/assets/locales/ru.po b/assets/locales/ru-ru.po similarity index 100% rename from assets/locales/ru.po rename to assets/locales/ru-ru.po diff --git a/assets/locales/tr.po b/assets/locales/tr-tr.po similarity index 100% rename from assets/locales/tr.po rename to assets/locales/tr-tr.po diff --git a/assets/locales/ur.po b/assets/locales/ur-in.po similarity index 100% rename from assets/locales/ur.po rename to assets/locales/ur-in.po diff --git a/assets/locales/vi.po b/assets/locales/vi-vn.po similarity index 100% rename from assets/locales/vi.po rename to assets/locales/vi-vn.po diff --git a/desktop/app/app.go b/desktop/app/app.go index 9e45bddbf..ff62e2e3c 100644 --- a/desktop/app/app.go +++ b/desktop/app/app.go @@ -22,7 +22,6 @@ import ( "github.com/getlantern/flashlight/v7/bandit" "github.com/getlantern/flashlight/v7/browsers/simbrowser" flashlightClient "github.com/getlantern/flashlight/v7/client" - "github.com/getlantern/flashlight/v7/common" "github.com/getlantern/flashlight/v7/config" "github.com/getlantern/flashlight/v7/email" "github.com/getlantern/flashlight/v7/geolookup" @@ -38,11 +37,12 @@ import ( "github.com/getlantern/lantern-client/desktop/analytics" "github.com/getlantern/lantern-client/desktop/autoupdate" - uicommon "github.com/getlantern/lantern-client/desktop/common" + "github.com/getlantern/lantern-client/desktop/datacap" "github.com/getlantern/lantern-client/desktop/features" "github.com/getlantern/lantern-client/desktop/notifier" "github.com/getlantern/lantern-client/desktop/settings" "github.com/getlantern/lantern-client/desktop/ws" + "github.com/getlantern/lantern-client/internalsdk/common" proclient "github.com/getlantern/lantern-client/internalsdk/pro" ) @@ -53,7 +53,7 @@ var ( ) func init() { - autoupdate.Version = ApplicationVersion + autoupdate.Version = common.ApplicationVersion autoupdate.PublicKey = []byte(packagePublicKey) } @@ -128,7 +128,7 @@ func NewApp(flags flashlight.Flags, configDir string, proClient proclient.ProCli func newAnalyticsSession(settings *settings.Settings) analytics.Session { if settings.IsAutoReport() { - session := analytics.Start(settings.GetDeviceID(), ApplicationVersion) + session := analytics.Start(settings.GetDeviceID(), common.ApplicationVersion) go func() { session.SetIP(geolookup.GetIP(eventual.Forever)) }() @@ -204,8 +204,8 @@ func (app *App) Run(isMain bool) { app.flashlight, err = flashlight.New( common.DefaultAppName, - ApplicationVersion, - RevisionDate, + common.ApplicationVersion, + common.RevisionDate, app.configDir, app.Flags.VPN, func() bool { return app.settings.GetDisconnected() }, // check whether we're disconnected @@ -337,10 +337,19 @@ func (app *App) beforeStart(listenAddr string) { return } - app.AddExitFunc("stopping loconf scanner", LoconfScanner(app.settings, app.configDir, 4*time.Hour, - func() (bool, bool) { return app.IsProUser(context.Background()) }, func() string { - return "/img/lantern_logo.png" - })) + isProUser := func() (bool, bool) { + return app.IsProUser(context.Background()) + } + + if err := datacap.ServeDataCap(app.ws, func() string { + return "/img/lantern_logo.png" + }, func() string { return "" }, isProUser); err != nil { + log.Errorf("Unable to serve bandwidth to UI: %v", err) + } + + app.AddExitFunc("stopping loconf scanner", LoconfScanner(app.settings, app.configDir, 4*time.Hour, isProUser, func() string { + return "/img/lantern_logo.png" + })) app.AddExitFunc("stopping notifier", notifier.NotificationsLoop(app.analyticsSession)) } @@ -366,6 +375,7 @@ func (app *App) GetLanguage() string { // SetLanguage sets the user language func (app *App) SetLanguage(lang string) { app.settings.SetLanguage(lang) + log.Debugf("Setting language to %v", lang) if app.ws != nil { app.ws.SendMessage("pro", map[string]interface{}{ "type": "pro", @@ -596,7 +606,7 @@ func recordStopped() { // ShouldReportToSentry determines if we should report errors/panics to Sentry func ShouldReportToSentry() bool { - return !uicommon.IsDevEnvironment() + return !common.IsDevEnvironment() } // GetTranslations accesses translations with the given filename diff --git a/desktop/app/issue.go b/desktop/app/issue.go index 141bc86be..8b89cbba9 100644 --- a/desktop/app/issue.go +++ b/desktop/app/issue.go @@ -6,9 +6,9 @@ import ( "strconv" "github.com/getlantern/lantern-client/desktop/settings" + "github.com/getlantern/lantern-client/internalsdk/common" "github.com/getlantern/lantern-client/internalsdk/pro" - "github.com/getlantern/flashlight/v7/common" "github.com/getlantern/flashlight/v7/issue" "github.com/getlantern/flashlight/v7/util" "github.com/getlantern/osversion" @@ -54,7 +54,7 @@ func newIssueReporter(app *App) *issueReporter { // lantern-cloud/issue service, which is then forwarded to the ticket system via API func (reporter *issueReporter) sendIssueReport(msg *issueMessage) error { settings := reporter.settings - uc := common.NewUserConfigData( + uc := common.NewUserConfig( common.DefaultAppName, settings.GetDeviceID(), settings.GetUserID(), @@ -114,7 +114,7 @@ func (reporter *issueReporter) sendIssueReport(msg *issueMessage) error { msg.Note, subscriptionLevel, msg.Email, - ApplicationVersion, + common.ApplicationVersion, "", "", osVersion, diff --git a/desktop/app/version.go b/desktop/app/version.go deleted file mode 100644 index 090423fed..000000000 --- a/desktop/app/version.go +++ /dev/null @@ -1,12 +0,0 @@ -package app - -var ( - // This gets set at build time - ApplicationVersion = "9999.99.99" - - // This gets set at build time - RevisionDate = "" - - // This gets set at build time - BuildDate = "" -) diff --git a/desktop/datacap/datacap.go b/desktop/datacap/datacap.go new file mode 100644 index 000000000..62a6fc5fb --- /dev/null +++ b/desktop/datacap/datacap.go @@ -0,0 +1,161 @@ +package datacap + +import ( + "strconv" + "strings" + "sync" + "time" + + "github.com/getlantern/flashlight/v7/bandwidth" + "github.com/getlantern/flashlight/v7/common" + "github.com/getlantern/golog" + "github.com/getlantern/i18n" + notify "github.com/getlantern/notifier" + + "github.com/getlantern/lantern-client/desktop/notifier" + "github.com/getlantern/lantern-client/desktop/ws" +) + +var ( + // These just make sure we only sent a single notification at each percentage + // level. + oneFifty = &sync.Once{} + oneEighty = &sync.Once{} + oneFull = &sync.Once{} + + dataCapListeners = make([]func(hitDataCap bool), 0) + dataCapListenersMx sync.RWMutex + log = golog.LoggerFor("lantern-desktop.datacap") + + translationAppName = strings.ToUpper(common.DefaultAppName) + + uncapped = &bandwidth.Quota{ + MiBAllowed: 0, + MiBUsed: 0, + AsOf: time.Now(), + TTLSeconds: 0, + } +) + +type dataCap struct { + iconURL func() string + clickURL func() string + isPro func() (bool, bool) +} + +// ServeDataCap starts serving data cap data to the frontend. +func ServeDataCap(channel ws.UIChannel, iconURL func() string, clickURL func() string, isPro func() (bool, bool)) error { + helloFn := func(write func(interface{})) { + q, _ := bandwidth.GetQuota() + if q == nil { + // On client first connecting, if we don't have a datacap, assume we're uncapped + q = uncapped + } + log.Debugf("Sending current bandwidth quota to new client: %v", q) + write(q) + } + bservice, err := channel.Register("bandwidth", helloFn) + if err != nil { + log.Errorf("Error registering with UI? %v", err) + return err + } + dc := &dataCap{iconURL: iconURL, clickURL: clickURL, isPro: isPro} + go func() { + for quota := range bandwidth.Updates { + dc.processQuota(bservice.Out, quota) + } + }() + return nil +} + +func (dc *dataCap) processQuota(out chan<- interface{}, quota *bandwidth.Quota) { + log.Debugf("Sending update...%+v", quota) + out <- quota + isFull := dc.isFull(quota) + dataCapListenersMx.RLock() + listeners := dataCapListeners + dataCapListenersMx.RUnlock() + for _, l := range listeners { + l(isFull) + } + if isFull { + oneFull.Do(func() { + go dc.notifyCapHit() + }) + } else if dc.isEightyOrMore(quota) { + oneEighty.Do(func() { + go dc.notifyEighty() + }) + } else if dc.isFiftyOrMore(quota) { + oneFifty.Do(func() { + go dc.notifyFifty() + }) + } +} + +// AddDataCapListener adds a listener for any updates to the data cap. +func AddDataCapListener(l func(hitDataCap bool)) { + dataCapListenersMx.Lock() + dataCapListeners = append(dataCapListeners, l) + dataCapListenersMx.Unlock() +} + +func (dc *dataCap) isEightyOrMore(quota *bandwidth.Quota) bool { + return dc.checkPercent(quota, 0.8) +} + +func (dc *dataCap) isFiftyOrMore(quota *bandwidth.Quota) bool { + return dc.checkPercent(quota, 0.5) +} + +func (dc *dataCap) isFull(quota *bandwidth.Quota) bool { + return (quota.MiBUsed > 0 && quota.MiBAllowed <= quota.MiBUsed) +} + +func (dc *dataCap) checkPercent(quota *bandwidth.Quota, percent float64) bool { + return (float64(quota.MiBUsed) / float64(quota.MiBAllowed)) > percent +} + +func (dc *dataCap) notifyEighty() { + dc.notifyPercent(80) +} + +func (dc *dataCap) notifyFifty() { + dc.notifyPercent(50) +} + +func (dc *dataCap) percentFormatted(percent int) string { + return strconv.Itoa(percent) + "%" +} + +func (dc *dataCap) notifyPercent(percent int) { + title := i18n.T("BACKEND_DATA_PERCENT_TITLE", dc.percentFormatted(percent), i18n.T(translationAppName)) + msg := i18n.T("BACKEND_DATA_PERCENT_MESSAGE", dc.percentFormatted(percent), i18n.T(translationAppName)) + + dc.notifyFreeUser(title, msg, "data-cap-"+strconv.Itoa(percent)) +} + +func (dc *dataCap) notifyCapHit() { + title := i18n.T("BACKEND_DATA_TITLE", i18n.T(translationAppName)) + msg := i18n.T("BACKEND_DATA_MESSAGE", i18n.T(translationAppName)) + + dc.notifyFreeUser(title, msg, "data-cap-100") +} + +func (dc *dataCap) notifyFreeUser(title, msg, campaign string) { + if isPro, ok := dc.isPro(); !ok { + log.Debug("user status is unknown, skip showing notification") + return + } else if isPro { + log.Debug("Not showing desktop notification for pro user") + return + } + + note := ¬ify.Notification{ + Title: title, + Message: msg, + ClickURL: dc.clickURL(), + IconURL: dc.iconURL(), + } + notifier.ShowNotification(note, campaign) +} diff --git a/desktop/datacap/datacap_test.go b/desktop/datacap/datacap_test.go new file mode 100644 index 000000000..37fa5e8d8 --- /dev/null +++ b/desktop/datacap/datacap_test.go @@ -0,0 +1,70 @@ +package datacap + +import ( + "fmt" + "strconv" + "testing" + "time" + + "github.com/stretchr/testify/assert" + + "github.com/getlantern/flashlight/v7/bandwidth" + "github.com/getlantern/lantern-client/desktop/ws" +) + +func TestServeCap(t *testing.T) { + err := ServeDataCap(ws.NewUIChannel(), func() string { + return "" + }, func() string { + return "" + }, func() (bool, bool) { + return false, false + }) + assert.NoError(t, err) + + dc := &dataCap{iconURL: func() string { + return "" + }, clickURL: func() string { + return "" + }, isPro: func() (bool, bool) { + return false, false + }} + + hit := false + listener := func(hitDataCap bool) { + hit = hitDataCap + } + AddDataCapListener(listener) + out := make(chan<- interface{}, 2) + quota := &bandwidth.Quota{MiBAllowed: 10, MiBUsed: 10, AsOf: time.Now()} + dc.processQuota(out, quota) + + assert.True(t, hit) + + quota = &bandwidth.Quota{MiBAllowed: 10, MiBUsed: 1, AsOf: time.Now()} + dc.processQuota(out, quota) +} + +func TestPercents(t *testing.T) { + ns := dataCap{} + + quota := &bandwidth.Quota{ + MiBAllowed: 1000, + MiBUsed: 801, + } + + assert.True(t, ns.isEightyOrMore(quota)) + + quota.MiBUsed = 501 + assert.False(t, ns.isEightyOrMore(quota)) + assert.True(t, ns.isFiftyOrMore(quota)) + + msg := "you have used %s of your data" + expected := "you have used 80% of your data" + assert.Equal(t, expected, percentMsg(msg, 80)) +} + +func percentMsg(msg string, percent int) string { + str := strconv.Itoa(percent) + "%" + return fmt.Sprintf(msg, str) +} diff --git a/desktop/lib.go b/desktop/lib.go index 6431ee066..54ce8ab6a 100644 --- a/desktop/lib.go +++ b/desktop/lib.go @@ -24,7 +24,6 @@ import ( "github.com/getlantern/flashlight/v7/ops" "github.com/getlantern/flashlight/v7/proxied" "github.com/getlantern/golog" - "github.com/getlantern/i18n" "github.com/getlantern/jibber_jabber" "github.com/getlantern/lantern-client/desktop/app" "github.com/getlantern/lantern-client/desktop/autoupdate" @@ -119,7 +118,7 @@ func start() { go func() { defer logging.Close() - i18nInit(a) + // i18nInit(a) a.Run(true) err := a.WaitForExit() @@ -435,7 +434,8 @@ func storeVersion() *C.char { //export lang func lang() *C.char { - lang := a.Settings().GetLanguage() + lang := a.GetLanguage() + log.Debugf("DEBUG: Language is %v", lang) if lang == "" { // Default language is English lang = defaultLocale @@ -598,7 +598,7 @@ func reportIssue(email, issueType, description *C.char) (*C.char, *C.char) { C.GoString(description), subscriptionLevel, C.GoString(email), - app.ApplicationVersion, + common.ApplicationVersion, deviceID, osVersion, "", @@ -620,7 +620,7 @@ func checkUpdates() *C.char { op := ops.Begin("check_update"). Set("user_id", userID). Set("device_id", deviceID). - Set("current_version", app.ApplicationVersion) + Set("current_version", common.ApplicationVersion) defer op.End() updateURL, err := autoupdate.CheckUpdates() if err != nil { @@ -634,11 +634,11 @@ func checkUpdates() *C.char { // loadSettings loads the initial settings at startup, either from disk or using defaults. func loadSettings(configDir string) *settings.Settings { path := filepath.Join(configDir, "settings.yaml") - if common.Staging { + if common.IsStagingEnvironment() { path = filepath.Join(configDir, "settings-staging.yaml") } - settings := settings.LoadSettingsFrom(app.ApplicationVersion, app.RevisionDate, app.BuildDate, path) - if common.Staging { + settings := settings.LoadSettingsFrom(common.ApplicationVersion, common.RevisionDate, common.BuildDate, path) + if common.IsStagingEnvironment() { settings.SetUserIDAndToken(9007199254740992, "OyzvkVvXk7OgOQcx-aZpK5uXx6gQl5i8BnOuUkc0fKpEZW6tc8uUvA") } return settings @@ -673,25 +673,27 @@ func useOSLocale() (string, error) { return userLocale, nil } -func i18nInit(a *app.App) { - i18n.SetMessagesFunc(func(filename string) ([]byte, error) { - return a.GetTranslations(filename) - }) - locale := a.GetLanguage() - log.Debugf("Using locale: %v", locale) - if _, err := i18n.SetLocale(locale); err != nil { - log.Debugf("i18n.SetLocale(%s) failed, fallback to OS default: %q", locale, err) - - // On startup GetLanguage will return '' We use the OS locale instead and make sure the language is - // populated. - if locale, err := useOSLocale(); err != nil { - log.Debugf("i18n.UseOSLocale: %q", err) - a.SetLanguage(defaultLocale) - } else { - a.SetLanguage(locale) - } - } -} +//Do not need to call this function +// Since localisation is happing on client side +// func i18nInit(a *app.App) { +// i18n.SetMessagesFunc(func(filename string) ([]byte, error) { +// return a.GetTranslations(filename) +// }) +// locale := a.GetLanguage() +// log.Debugf("Using locale: %v", locale) +// if _, err := i18n.SetLocale(locale); err != nil { +// log.Debugf("i18n.SetLocale(%s) failed, fallback to OS default: %q", locale, err) + +// // On startup GetLanguage will return '' We use the OS locale instead and make sure the language is +// // populated. +// if locale, err := useOSLocale(); err != nil { +// log.Debugf("i18n.UseOSLocale: %q", err) +// a.SetLanguage(defaultLocale) +// } else { +// a.SetLanguage(locale) +// } +// } +// } // Handle system signals for clean exit func handleSignals(a *app.App) { diff --git a/go.mod b/go.mod index 4405dfcc0..4ce65a67d 100644 --- a/go.mod +++ b/go.mod @@ -30,15 +30,20 @@ replace github.com/eycorsican/go-tun2socks => github.com/getlantern/go-tun2socks require ( github.com/blang/semver v3.5.1+incompatible + github.com/dustin/go-humanize v1.0.1 + github.com/eycorsican/go-tun2socks v1.16.12-0.20201107203946-301549c435ff + github.com/fsnotify/fsnotify v1.6.0 github.com/getlantern/appdir v0.0.0-20200615192800-a0ef1968f4da github.com/getlantern/autoupdate v0.0.0-20211217175350-d0b211f39ba7 + github.com/getlantern/common v1.2.1-0.20230427204521-6ac18c21db39 github.com/getlantern/diagnostics v0.0.0-20230503185158-c2fc28ed22fe github.com/getlantern/dnsgrab v0.0.0-20240124035712-497ccf435858 github.com/getlantern/errors v1.0.5-0.20240410211607-f268a297d5d1 github.com/getlantern/eventual v1.0.0 github.com/getlantern/eventual/v2 v2.0.2 github.com/getlantern/filepersist v0.0.0-20210901195658-ed29a1cb0b7c - github.com/getlantern/flashlight/v7 v7.6.75 + github.com/getlantern/flashlight/v7 v7.6.79 + github.com/getlantern/fronted v0.0.0-20230601004823-7fec719639d8 github.com/getlantern/golog v0.0.0-20230503153817-8e72de7e0a65 github.com/getlantern/i18n v0.0.0-20181205222232-2afc4f49bb1c github.com/getlantern/idletiming v0.0.0-20231030193830-6767b09f86db @@ -48,11 +53,12 @@ require ( github.com/getlantern/memhelper v0.0.0-20220104170102-df557102babd github.com/getlantern/mtime v0.0.0-20200417132445-23682092d1f7 github.com/getlantern/netx v0.0.0-20240124040039-163b1628a66b - github.com/getlantern/notifier v0.0.0-20220715102006-f432f7e83f94 + github.com/getlantern/notifier v0.0.0-20240529182616-a162ef2bc966 github.com/getlantern/osversion v0.0.0-20240418205916-2e84a4a4e175 github.com/getlantern/pathdb v0.0.0-20231026090702-54ee1ddd99eb github.com/getlantern/profiling v0.0.0-20160317154340-2a15afbadcff github.com/getlantern/replica v0.14.3 + github.com/getlantern/safechannels v0.0.0-20201218194342-b4e5383e9627 github.com/getlantern/sysproxy v0.0.0-20230319110552-63a8cacb7b9b github.com/getlantern/timezone v0.0.0-20210901200113-3f9de9d360c9 github.com/getlantern/yaml v0.0.0-20190801163808-0c9bb1ebf426 @@ -65,11 +71,11 @@ require ( github.com/jackpal/gateway v1.0.13 github.com/leekchan/accounting v1.0.0 github.com/shopspring/decimal v1.4.0 - github.com/stretchr/testify v1.8.4 + github.com/stretchr/testify v1.9.0 golang.org/x/mobile v0.0.0-20240404231514-09dbf07665ed golang.org/x/net v0.24.0 - golang.org/x/sys v0.19.0 - google.golang.org/protobuf v1.32.0 + golang.org/x/sys v0.20.0 + google.golang.org/protobuf v1.33.0 nhooyr.io/websocket v1.8.10 ) @@ -125,7 +131,6 @@ require ( github.com/dsoprea/go-logging v0.0.0-20200710184922-b02d349568dd // indirect github.com/dsoprea/go-png-image-structure v0.0.0-20210512210324-29b889a6093d // indirect github.com/dsoprea/go-utility v0.0.0-20221003172846-a3e1774ef349 // indirect - github.com/dustin/go-humanize v1.0.1 // indirect github.com/dvyukov/go-fuzz v0.0.0-20240203152606-b1ce7bc07150 // indirect github.com/edsrzf/mmap-go v1.1.0 // indirect github.com/enobufs/go-nats v0.0.1 // indirect @@ -139,7 +144,6 @@ require ( github.com/getlantern/cmux v0.0.0-20230301223233-dac79088a4c0 // indirect github.com/getlantern/cmux/v2 v2.0.0-20230301223233-dac79088a4c0 // indirect github.com/getlantern/cmuxprivate v0.0.0-20231025143958-503c5330c30b // indirect - github.com/getlantern/common v1.2.1-0.20230427204521-6ac18c21db39 // indirect github.com/getlantern/context v0.0.0-20220418194847-3d5e7a086201 // indirect github.com/getlantern/detour v0.0.0-20230503144615-d3106a68f79e // indirect github.com/getlantern/dhtup v0.0.0-20230218071625-e78bcd432e4b // indirect @@ -151,7 +155,6 @@ require ( github.com/getlantern/event v0.0.0-20210901195647-a7e3145142e6 // indirect github.com/getlantern/fdcount v0.0.0-20210503151800-5decd65b3731 // indirect github.com/getlantern/framed v0.0.0-20190601192238-ceb6431eeede // indirect - github.com/getlantern/fronted v0.0.0-20230601004823-7fec719639d8 // indirect github.com/getlantern/geo v0.0.0-20240108161311-50692a1b69a9 // indirect github.com/getlantern/geolookup v0.0.0-20230327091034-aebe73c6eef4 // indirect github.com/getlantern/go-socks5 v0.0.0-20171114193258-79d4dd3e2db5 // indirect @@ -198,7 +201,7 @@ require ( github.com/go-errors/errors v1.5.1 // indirect github.com/go-llsqlite/adapter v0.0.0-20230927005056-7f5ce7f0c916 // indirect github.com/go-llsqlite/crawshaw v0.5.1 // indirect - github.com/go-logr/logr v1.4.1 // indirect + github.com/go-logr/logr v1.4.2 // indirect github.com/go-logr/stdr v1.2.2 // indirect github.com/go-ole/go-ole v1.2.6 // indirect github.com/go-redis/redis/v8 v8.11.5 // indirect @@ -281,7 +284,7 @@ require ( github.com/skratchdot/open-golang v0.0.0-20200116055534-eef842397966 // indirect github.com/songgao/water v0.0.0-20200317203138-2b4b6d7c09d8 // indirect github.com/spaolacci/murmur3 v1.1.0 // indirect - github.com/stretchr/objx v0.5.0 // indirect + github.com/stretchr/objx v0.5.2 // indirect github.com/tchap/go-patricia/v2 v2.3.1 // indirect github.com/templexxx/cpu v0.1.0 // indirect github.com/templexxx/xorsimd v0.4.2 // indirect @@ -301,20 +304,20 @@ require ( gitlab.com/yawning/obfs4.git v0.0.0-20220204003609-77af0cba934d // indirect go.etcd.io/bbolt v1.3.7 // indirect go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.44.0 // indirect - go.opentelemetry.io/otel v1.22.0 // indirect + go.opentelemetry.io/otel v1.27.0 // indirect go.opentelemetry.io/otel/exporters/otlp/otlpmetric v0.42.0 // indirect go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp v0.42.0 // indirect go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.21.0 // indirect go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.21.0 // indirect - go.opentelemetry.io/otel/metric v1.22.0 // indirect - go.opentelemetry.io/otel/sdk v1.21.0 // indirect + go.opentelemetry.io/otel/metric v1.27.0 // indirect + go.opentelemetry.io/otel/sdk v1.27.0 // indirect go.opentelemetry.io/otel/sdk/metric v1.19.0 // indirect - go.opentelemetry.io/otel/trace v1.22.0 // indirect + go.opentelemetry.io/otel/trace v1.27.0 // indirect go.opentelemetry.io/proto/otlp v1.0.0 // indirect go.uber.org/atomic v1.11.0 // indirect go.uber.org/mock v0.4.0 // indirect go.uber.org/multierr v1.11.0 // indirect - go.uber.org/zap v1.26.0 // indirect + go.uber.org/zap v1.27.0 // indirect golang.org/x/crypto v0.22.0 // indirect golang.org/x/exp v0.0.0-20240103183307-be819d1f06fc // indirect golang.org/x/mod v0.17.0 // indirect diff --git a/go.sum b/go.sum index 679a97e27..0d403fdf1 100644 --- a/go.sum +++ b/go.sum @@ -280,8 +280,8 @@ github.com/getlantern/fdcount v0.0.0-20210503151800-5decd65b3731/go.mod h1:XZwE+ github.com/getlantern/filepersist v0.0.0-20160317154340-c5f0cd24e799/go.mod h1:8DGAx0LNUfXNnEH+fXI0s3OCBA/351kZCiz/8YSK3i8= github.com/getlantern/filepersist v0.0.0-20210901195658-ed29a1cb0b7c h1:mcz27xtAkb1OuOLBct/uFfL1p3XxAIcFct82GbT+UZM= github.com/getlantern/filepersist v0.0.0-20210901195658-ed29a1cb0b7c/go.mod h1:8DGAx0LNUfXNnEH+fXI0s3OCBA/351kZCiz/8YSK3i8= -github.com/getlantern/flashlight/v7 v7.6.75 h1:wIGWerqUtifHwtmuMAW0nrViTUUCMMrdR7y/mZ/wsFk= -github.com/getlantern/flashlight/v7 v7.6.75/go.mod h1:GQtpdfigs9k+aoqSdxh2qTdRtAbktJSE5u1Sx3IsgW0= +github.com/getlantern/flashlight/v7 v7.6.79 h1:GAvX9yuCJ3S8qB680gFYM6D/zwmAEk9FcC+LE8hgEGQ= +github.com/getlantern/flashlight/v7 v7.6.79/go.mod h1:1zs3W2WkM5eqJ2fhEsMa8lo6hqmDW8EwokpT7TQ/MrI= github.com/getlantern/framed v0.0.0-20190601192238-ceb6431eeede h1:yrU6Px3ZkvCsDLPryPGi6FN+2iqFPq+JeCb7EFoDBhw= github.com/getlantern/framed v0.0.0-20190601192238-ceb6431eeede/go.mod h1:nhnoiS6DE6zfe+BaCMU4YI01UpsuiXnDqM5S8jxHuuI= github.com/getlantern/fronted v0.0.0-20230601004823-7fec719639d8 h1:r/Z/SPPIfLXDI3QA7/tE6nOfPncrqeUPDjiFjnNGP50= @@ -292,6 +292,8 @@ github.com/getlantern/geolookup v0.0.0-20230327091034-aebe73c6eef4 h1:Ju9l1RretV github.com/getlantern/geolookup v0.0.0-20230327091034-aebe73c6eef4/go.mod h1:4UNvIsawdB8WclVxqYv46Oe1zzWJ8wMhUO+q6tUzATo= github.com/getlantern/go-socks5 v0.0.0-20171114193258-79d4dd3e2db5 h1:RBKofGGMt2k6eGBwX8mky9qunjL+KnAp9JdzXjiRkRw= github.com/getlantern/go-socks5 v0.0.0-20171114193258-79d4dd3e2db5/go.mod h1:kGHRXch95rnGLHjER/GhhFiHvfnqNz7KqWD9kGfATHY= +github.com/getlantern/go-tun2socks v1.16.12-0.20201218023150-b68f09e5ae93 h1:CFLw2b6vgOmpxsRWRiTd46tiR6YKg2crIuTu4cINYcY= +github.com/getlantern/go-tun2socks v1.16.12-0.20201218023150-b68f09e5ae93/go.mod h1:wgB2BFT8ZaPKyKOQ/5dljMG/YIow+AIXyq4KBwJ5sGQ= github.com/getlantern/go-update v0.0.0-20230221120840-8d795213a8bc h1:qZ/HlURAOgGRKtqDGimPwL2w5PkvW7Ap+c1bGRK0pzU= github.com/getlantern/go-update v0.0.0-20230221120840-8d795213a8bc/go.mod h1:DQAFBxfQlSru9Loud3pLM+rF//qf0FQBtB//grF89IA= github.com/getlantern/golog v0.0.0-20190809085441-26e09e6dd330/go.mod h1:zx/1xUUeYPy3Pcmet8OSXLbF47l+3y6hIPpyLWoR9oc= @@ -376,8 +378,8 @@ github.com/getlantern/netx v0.0.0-20190110220209-9912de6f94fd/go.mod h1:wKdY0ikO github.com/getlantern/netx v0.0.0-20211206143627-7ccfeb739cbd/go.mod h1:WEXF4pfIfnHBUAKwLa4DW7kcEINtG6wjUkbL2btwXZQ= github.com/getlantern/netx v0.0.0-20240124040039-163b1628a66b h1:PD3SpvkPDevU1eNXdN0DgPq3tMtXScBseftntHezDuY= github.com/getlantern/netx v0.0.0-20240124040039-163b1628a66b/go.mod h1:of3zrQoL7Av3VzWiRXz4vSbnnUyJLMr5lIQ1vPRA4FA= -github.com/getlantern/notifier v0.0.0-20220715102006-f432f7e83f94 h1:cFjb6KVuCqSlyhj8uRfIcrbnKdP2uUpSjHZ9NCb4zHc= -github.com/getlantern/notifier v0.0.0-20220715102006-f432f7e83f94/go.mod h1:ohU+3pliOCY7Kirkbdzbe6mhBJj/gjx8nKHCD6l9GOo= +github.com/getlantern/notifier v0.0.0-20240529182616-a162ef2bc966 h1:FfQrVyTbxJOLD08Us4QzY1LOPl5FbfqLfRvigfV9/xc= +github.com/getlantern/notifier v0.0.0-20240529182616-a162ef2bc966/go.mod h1:n7hX6x/5Fy7R1zPhCzoKB6cdwEFMofoDwWvfJq4qp44= github.com/getlantern/ops v0.0.0-20190325191751-d70cb0d6f85f/go.mod h1:D5ao98qkA6pxftxoqzibIBBrLSUli+kYnJqrgBf9cIA= github.com/getlantern/ops v0.0.0-20200403153110-8476b16edcd6/go.mod h1:D5ao98qkA6pxftxoqzibIBBrLSUli+kYnJqrgBf9cIA= github.com/getlantern/ops v0.0.0-20231025133620-f368ab734534 h1:3BwvWj0JZzFEvNNiMhCu4bf60nqcIuQpTYb00Ezm1ag= @@ -413,6 +415,8 @@ github.com/getlantern/rot13 v0.0.0-20220822172233-370767b2f782 h1:A1+qM0Dqm0no8A github.com/getlantern/rot13 v0.0.0-20220822172233-370767b2f782/go.mod h1:O0dNqH9hbXlOa9OpVdbACmTBfDPD+ENjbY0cPkzBd9g= github.com/getlantern/rotator v0.0.0-20160829164113-013d4f8e36a2 h1:smFR/kESUKlcdyatoOO3HngBzzrUU6S0LRw2vCBYQPg= github.com/getlantern/rotator v0.0.0-20160829164113-013d4f8e36a2/go.mod h1:Ap+QTDJeA24+0jjPHReq/LyP3ugEEDYvncluEgsm60A= +github.com/getlantern/safechannels v0.0.0-20201218194342-b4e5383e9627 h1:eYXtxjRyiP9f1rMvbnyT4DBWFEiIPY3zzMA5KqVshyc= +github.com/getlantern/safechannels v0.0.0-20201218194342-b4e5383e9627/go.mod h1:QJUudepmTj/KQXnReV6DZSJY/xO05fnfcZf3t8zkNLg= github.com/getlantern/shortcut v0.0.0-20211026183428-bf59a137fdec h1:8TfjIMydnhBs4edmXu2Nz1f2P0QOcXfol2rR1cxfrSs= github.com/getlantern/shortcut v0.0.0-20211026183428-bf59a137fdec/go.mod h1:3VQ6qvEBehqDBNbEKfNtSjK6MR5ydOdjMPgKjKay7vo= github.com/getlantern/sysproxy v0.0.0-20230319110552-63a8cacb7b9b h1:sn68kKTXZ6k7vyhPfYvjtoDSMufTlvvkAZ6Y+VJ25ZA= @@ -470,8 +474,8 @@ github.com/go-llsqlite/crawshaw v0.5.1/go.mod h1:/YJdV7uBQaYDE0fwe4z3wwJIZBJxdYz github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9GBnD5lWE= github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V4qmtdjCk= github.com/go-logr/logr v1.2.2/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= -github.com/go-logr/logr v1.4.1 h1:pKouT5E8xu9zeFC39JXRDukb6JFQPXM5p5I91188VAQ= -github.com/go-logr/logr v1.4.1/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= +github.com/go-logr/logr v1.4.2 h1:6pFjapn8bFcIbiKo3XT4j/BhANplGihG6tvd+8rYgrY= +github.com/go-logr/logr v1.4.2/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= github.com/go-ole/go-ole v1.2.6 h1:/Fpf6oFPoeFik9ty7siob0G6Ke8QvQEuVcuChpwXzpY= @@ -817,8 +821,6 @@ github.com/prometheus/procfs v0.0.11/go.mod h1:lV6e/gmhEcM9IjHGsFOCxxuZ+z1YqCvr4 github.com/prometheus/procfs v0.12.0 h1:jluTpSng7V9hY0O2R9DzzJHYb2xULk9VTR1V1R/k6Bo= github.com/prometheus/procfs v0.12.0/go.mod h1:pcuDEFsWDnvcgNzo4EEweacyhjeA9Zk3cnaOZAZEfOo= github.com/prometheus/tsdb v0.7.1/go.mod h1:qhTCs0VvXwvX/y3TZrWD7rabWM+ijKTux40TwIPHuXU= -github.com/quic-go/quic-go v0.41.0 h1:aD8MmHfgqTURWNJy48IYFg2OnxwHT3JL7ahGs73lb4k= -github.com/quic-go/quic-go v0.41.0/go.mod h1:qCkNjqczPEvgsOnxZ0eCD14lv+B2LHlFAB++CNOh9hA= github.com/quic-go/quic-go v0.42.0 h1:uSfdap0eveIl8KXnipv9K7nlwZ5IqLlYOpJ58u5utpM= github.com/quic-go/quic-go v0.42.0/go.mod h1:132kz4kL3F9vxhW3CtQJLDVwcFe5wdWeJXXijhsO57M= github.com/rcrowley/go-metrics v0.0.0-20181016184325-3113b8401b8a/go.mod h1:bCqnVzQkZxMG4s8nGwiZ5l3QUCyqpo9Y+/ZMZ9VjZe4= @@ -864,6 +866,7 @@ github.com/smartystreets/assertions v0.0.0-20190215210624-980c5ac6f3ac/go.mod h1 github.com/smartystreets/goconvey v0.0.0-20181108003508-044398e4856c/go.mod h1:XDJAKZRPZ1CvBcN2aX5YOUTYGHki24fSF0Iv48Ibg0s= github.com/smartystreets/goconvey v0.0.0-20190306220146-200a235640ff/go.mod h1:KSQcGKpxUMHk3nbYzs/tIBAM2iDooCn0BmttHOJEbLs= github.com/soheilhy/cmux v0.1.4/go.mod h1:IM3LyeVVIOuxMH7sFAkER9+bJ4dT7Ms6E4xg4kGIyLM= +github.com/songgao/water v0.0.0-20190725173103-fd331bda3f4b/go.mod h1:P5HUIBuIWKbyjl083/loAegFkfbFNx5i2qEP4CNbm7E= github.com/songgao/water v0.0.0-20200317203138-2b4b6d7c09d8 h1:TG/diQgUe0pntT/2D9tmUCz4VNwm9MfrtPr0SU2qSX8= github.com/songgao/water v0.0.0-20200317203138-2b4b6d7c09d8/go.mod h1:P5HUIBuIWKbyjl083/loAegFkfbFNx5i2qEP4CNbm7E= github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= @@ -886,8 +889,9 @@ github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+ github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.2.0/go.mod h1:qt09Ya8vawLte6SNmTgCsAVtYtaKzEcn8ATUoHMkEqE= github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= -github.com/stretchr/objx v0.5.0 h1:1zr/of2m5FGMsad5YfcqgdqdWrIhu+EBEJRhR1U7z/c= github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= +github.com/stretchr/objx v0.5.2 h1:xuMeJ0Sdp5ZMRXx/aWO6RZxdr3beISkG5/G/aIRr3pY= +github.com/stretchr/objx v0.5.2/go.mod h1:FRsXN1f5AsAjCGJKqEizvkpNtU+EGNCLh3NxZ/8L+MA= github.com/stretchr/testify v1.2.1/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= @@ -899,8 +903,9 @@ github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/ github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= github.com/stretchr/testify v1.8.3/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= -github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk= github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= +github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg= +github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= github.com/tchap/go-patricia/v2 v2.3.1 h1:6rQp39lgIYZ+MHmdEq4xzuk1t7OdC35z/xm0BGhTkes= github.com/tchap/go-patricia/v2 v2.3.1/go.mod h1:VZRHKAb53DLaG+nA9EaYYiaEx6YztwDlLElMsnSHD4k= github.com/templexxx/cpu v0.1.0 h1:wVM+WIJP2nYaxVxqgHPD4wGA2aJ9rvrQRV8CvFzNb40= @@ -962,12 +967,10 @@ go.etcd.io/bbolt v1.3.7/go.mod h1:N9Mkw9X8x5fupy0IKsmuqVtoGDyxsaDlbk4Rd05IAQw= go.opencensus.io v0.20.1/go.mod h1:6WKK9ahsWS3RSO+PY9ZHZUfv2irvY6gN279GOPZjmmk= go.opencensus.io v0.20.2/go.mod h1:6WKK9ahsWS3RSO+PY9ZHZUfv2irvY6gN279GOPZjmmk= go.opencensus.io v0.22.3/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= -go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.42.0 h1:pginetY7+onl4qN1vl0xW/V/v6OBZ0vVdH+esuJgvmM= -go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.42.0/go.mod h1:XiYsayHc36K3EByOO6nbAXnAWbrUxdjUROCEeeROOH8= go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.44.0 h1:KfYpVmrjI7JuToy5k8XV3nkapjWx48k4E4JOtVstzQI= go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.44.0/go.mod h1:SeQhzAEccGVZVEy7aH87Nh0km+utSpo1pTv6eMMop48= -go.opentelemetry.io/otel v1.22.0 h1:xS7Ku+7yTFvDfDraDIJVpw7XPyuHlB9MCiqqX5mcJ6Y= -go.opentelemetry.io/otel v1.22.0/go.mod h1:eoV4iAi3Ea8LkAEI9+GFT44O6T/D0GWAVFyZVCC6pMI= +go.opentelemetry.io/otel v1.27.0 h1:9BZoF3yMK/O1AafMiQTVu0YDj5Ea4hPhxCs7sGva+cg= +go.opentelemetry.io/otel v1.27.0/go.mod h1:DMpAK8fzYRzs+bi3rS5REupisuqTheUlSZJ1WnZaPAQ= go.opentelemetry.io/otel/exporters/otlp/otlpmetric v0.42.0 h1:ZtfnDL+tUrs1F0Pzfwbg2d59Gru9NCH3bgSHBM6LDwU= go.opentelemetry.io/otel/exporters/otlp/otlpmetric v0.42.0/go.mod h1:hG4Fj/y8TR/tlEDREo8tWstl9fO9gcFkn4xrx0Io8xU= go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp v0.42.0 h1:wNMDy/LVGLj2h3p6zg4d0gypKfWKSWI14E1C4smOgl8= @@ -976,14 +979,14 @@ go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.21.0 h1:cl5P5/GIfFh4t6xyruO go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.21.0/go.mod h1:zgBdWWAu7oEEMC06MMKc5NLbA/1YDXV1sMpSqEeLQLg= go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.21.0 h1:digkEZCJWobwBqMwC0cwCq8/wkkRy/OowZg5OArWZrM= go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.21.0/go.mod h1:/OpE/y70qVkndM0TrxT4KBoN3RsFZP0QaofcfYrj76I= -go.opentelemetry.io/otel/metric v1.22.0 h1:lypMQnGyJYeuYPhOM/bgjbFM6WE44W1/T45er4d8Hhg= -go.opentelemetry.io/otel/metric v1.22.0/go.mod h1:evJGjVpZv0mQ5QBRJoBF64yMuOf4xCWdXjK8pzFvliY= -go.opentelemetry.io/otel/sdk v1.21.0 h1:FTt8qirL1EysG6sTQRZ5TokkU8d0ugCj8htOgThZXQ8= -go.opentelemetry.io/otel/sdk v1.21.0/go.mod h1:Nna6Yv7PWTdgJHVRD9hIYywQBRx7pbox6nwBnZIxl/E= +go.opentelemetry.io/otel/metric v1.27.0 h1:hvj3vdEKyeCi4YaYfNjv2NUje8FqKqUY8IlF0FxV/ik= +go.opentelemetry.io/otel/metric v1.27.0/go.mod h1:mVFgmRlhljgBiuk/MP/oKylr4hs85GZAylncepAX/ak= +go.opentelemetry.io/otel/sdk v1.27.0 h1:mlk+/Y1gLPLn84U4tI8d3GNJmGT/eXe3ZuOXN9kTWmI= +go.opentelemetry.io/otel/sdk v1.27.0/go.mod h1:Ha9vbLwJE6W86YstIywK2xFfPjbWlCuwPtMkKdz/Y4A= go.opentelemetry.io/otel/sdk/metric v1.19.0 h1:EJoTO5qysMsYCa+w4UghwFV/ptQgqSL/8Ni+hx+8i1k= go.opentelemetry.io/otel/sdk/metric v1.19.0/go.mod h1:XjG0jQyFJrv2PbMvwND7LwCEhsJzCzV5210euduKcKY= -go.opentelemetry.io/otel/trace v1.22.0 h1:Hg6pPujv0XG9QaVbGOBVHunyuLcCC3jN7WEhPx83XD0= -go.opentelemetry.io/otel/trace v1.22.0/go.mod h1:RbbHXVqKES9QhzZq/fE5UnOSILqRt40a21sPw2He1xo= +go.opentelemetry.io/otel/trace v1.27.0 h1:IqYb813p7cmbHk0a5y6pD5JPakbVfftRXABGt5/Rscw= +go.opentelemetry.io/otel/trace v1.27.0/go.mod h1:6RiD1hkAprV4/q+yd2ln1HG9GoPx39SuvvstaLBl+l4= go.opentelemetry.io/proto/otlp v1.0.0 h1:T0TX0tmXU8a3CbNXzEKGeU5mIVOdf0oykP+u2lIVU/I= go.opentelemetry.io/proto/otlp v1.0.0/go.mod h1:Sy6pihPLfYHkr3NkUbEhGHFhINUSI/v80hjKIs5JXpM= go.uber.org/atomic v1.4.0/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= @@ -991,8 +994,8 @@ go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= go.uber.org/atomic v1.11.0 h1:ZvwS0R+56ePWxUNi+Atn9dWONBPp/AUETXlHW0DxSjE= go.uber.org/atomic v1.11.0/go.mod h1:LUxbIzbOniOlMKjJjyPfpl4v+PKK2cNJn91OQbhoJI0= go.uber.org/goleak v1.1.11-0.20210813005559-691160354723/go.mod h1:cwTWslyiVhfpKIDGSZEM2HlOvcqm+tG4zioyIeLoqMQ= -go.uber.org/goleak v1.2.0 h1:xqgm/S+aQvhWFTtR0XK3Jvg7z8kGV8P4X14IzwN3Eqk= -go.uber.org/goleak v1.2.0/go.mod h1:XJYK+MuIchqpmGmUSAzotztawfKvYLUIgg7guXrwVUo= +go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= +go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= go.uber.org/mock v0.4.0 h1:VcM4ZOtdbR4f6VXfiOpwpVJDL6lCReaZ6mw31wqh7KU= go.uber.org/mock v0.4.0/go.mod h1:a6FSlNadKUHUa9IP5Vyt1zh4fC7uAwxMutEAscFbkZc= go.uber.org/multierr v1.1.0/go.mod h1:wR5kodmAFQ0UK8QlbwjlSNy0Z68gJhDJUG5sjR94q/0= @@ -1001,8 +1004,8 @@ go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0= go.uber.org/multierr v1.11.0/go.mod h1:20+QtiLqy0Nd6FdQB9TLXag12DsQkrbs3htMFfDN80Y= go.uber.org/zap v1.10.0/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q= go.uber.org/zap v1.19.1/go.mod h1:j3DNczoxDZroyBnOT1L/Q79cfUMGZxlv/9dzN7SM1rI= -go.uber.org/zap v1.26.0 h1:sI7k6L95XOKS281NhVKOFCUNIvv9e0w4BF8N3u+tCRo= -go.uber.org/zap v1.26.0/go.mod h1:dtElttAiwGvoJ/vj4IwHBS/gXsEu/pZ50mUIRWuG0so= +go.uber.org/zap v1.27.0 h1:aJMhYGrd5QSmlpLMr2MftRKl7t8J8PTZPA732ud/XR8= +go.uber.org/zap v1.27.0/go.mod h1:GB2qFLM7cTU87MWRP2mPIjqfIDnGu+VIO4V/SdhGo2E= golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20190211182817-74369b46fc67/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= @@ -1057,6 +1060,7 @@ golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLL golang.org/x/net v0.0.0-20190827160401-ba9fcec4b297/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20190912160710-24e19bdeb0f2/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20191007182048-72f939374954/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20191021144547-ec77196f6094/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20191209160850-c0dbc17a3553/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200202094626-16171245cfb2/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200320220750-118fecf932d8/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= @@ -1140,6 +1144,7 @@ golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220908164124-27713097b956/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.2.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= @@ -1151,8 +1156,8 @@ golang.org/x/sys v0.11.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.16.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/sys v0.17.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/sys v0.18.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/sys v0.19.0 h1:q5f1RH2jigJ1MoAWp2KTp3gm5zAGFUTarQZ5U386+4o= -golang.org/x/sys v0.19.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.20.0 h1:Od9JTbYCk261bKm4M/mw7AklTlFYIa0bIp9BgSm1S8Y= +golang.org/x/sys v0.20.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= @@ -1238,8 +1243,8 @@ google.golang.org/protobuf v1.21.0/go.mod h1:47Nbq4nVaFHyn7ilMalzfO3qCViNmqZ2kzi google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= -google.golang.org/protobuf v1.32.0 h1:pPC6BG5ex8PDFnkbrGU3EixyhKcQ2aDuBS36lqK/C7I= -google.golang.org/protobuf v1.32.0/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos= +google.golang.org/protobuf v1.33.0 h1:uNO2rsAINq/JlFpSdYEKIZ0uKD/R9cpdv0T+yoGwGmI= +google.golang.org/protobuf v1.33.0/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos= gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= diff --git a/internalsdk/analytics/analytics.go b/internalsdk/analytics/analytics.go index 0c4bc4572..9f3c33e23 100644 --- a/internalsdk/analytics/analytics.go +++ b/internalsdk/analytics/analytics.go @@ -216,6 +216,8 @@ func getExecutableHash() string { // bad happening here. if common.Platform == "android" { return "android" + } else if common.Platform == "ios" { + return "ios" } if lanternPath, err := os.Executable(); err != nil { log.Debugf("Could not get path to executable %v", err) diff --git a/internalsdk/android.go b/internalsdk/android.go index be35e2b78..8505aeb25 100644 --- a/internalsdk/android.go +++ b/internalsdk/android.go @@ -95,8 +95,8 @@ type Session interface { SerializedInternalHeaders() (string, error) } -// panickingSession wraps the Session interface but panics instead of returning errors -type panickingSession interface { +// PanickingSession wraps the Session interface but panics instead of returning errors +type PanickingSession interface { common.AuthConfig SetCountry(string) UpdateAdSettings(AdSettings) @@ -127,11 +127,15 @@ type panickingSession interface { Wrapped() Session } -// panickingSessionImpl implements panickingSession +// panickingSessionImpl implements PanickingSession type panickingSessionImpl struct { wrapped Session } +func NewPanickingSession(s *SessionModel) PanickingSession { + return &panickingSessionImpl{s} +} + func (s *panickingSessionImpl) Wrapped() Session { return s.wrapped } @@ -274,18 +278,18 @@ func (s *panickingSessionImpl) SerializedInternalHeaders() string { return result } -type userConfig struct { - session panickingSession +type UserConfig struct { + session PanickingSession } -func (uc *userConfig) GetAppName() string { return common.DefaultAppName } -func (uc *userConfig) GetDeviceID() string { return uc.session.GetDeviceID() } -func (uc *userConfig) GetUserID() int64 { return uc.session.GetUserID() } -func (uc *userConfig) GetToken() string { return uc.session.GetToken() } -func (uc *userConfig) GetEnabledExperiments() []string { return nil } -func (uc *userConfig) GetLanguage() string { return uc.session.Locale() } -func (uc *userConfig) GetTimeZone() (string, error) { return uc.session.GetTimeZone(), nil } -func (uc *userConfig) GetInternalHeaders() map[string]string { +func (uc *UserConfig) GetAppName() string { return common.DefaultAppName } +func (uc *UserConfig) GetDeviceID() string { return uc.session.GetDeviceID() } +func (uc *UserConfig) GetUserID() int64 { return uc.session.GetUserID() } +func (uc *UserConfig) GetToken() string { return uc.session.GetToken() } +func (uc *UserConfig) GetEnabledExperiments() []string { return nil } +func (uc *UserConfig) GetLanguage() string { return uc.session.Locale() } +func (uc *UserConfig) GetTimeZone() (string, error) { return uc.session.GetTimeZone(), nil } +func (uc *UserConfig) GetInternalHeaders() map[string]string { h := make(map[string]string) var f interface{} @@ -306,8 +310,8 @@ func (uc *userConfig) GetInternalHeaders() map[string]string { return h } -func newUserConfig(session panickingSession) *userConfig { - return &userConfig{session: session} +func NewUserConfig(session PanickingSession) *UserConfig { + return &UserConfig{session: session} } func getClient(ctx context.Context) *client.Client { @@ -343,8 +347,7 @@ type StartResult struct { DNSGrabAddr string } -// AdSettings is an interface for retrieving mobile ad settings from the -// global config +// AdSettings is an interface for retrieving mobile ad settings from the global config type AdSettings interface { // GetAdProvider gets an ad provider if and only if ads are enabled based on the passed parameters. GetAdProvider(isPro bool, countryCode string, daysSinceInstalled int) (AdProvider, error) @@ -423,7 +426,7 @@ func Start(configDir string, da.(string)}, nil } -func newAnalyticsSession(session panickingSession) analytics.Session { +func newAnalyticsSession(session PanickingSession) analytics.Session { analyticsSession := analytics.Start(session.GetDeviceID(), common.ApplicationVersion) go func() { ipAddress := geolookup.GetIP(forever) @@ -433,13 +436,59 @@ func newAnalyticsSession(session panickingSession) analytics.Session { return analyticsSession } -func run(configDir, locale string, - settings Settings, session panickingSession) { +func InitDnsGrab(configDir string, session PanickingSession) (dnsgrab.Server, error) { + cache, err := persistentcache.New(filepath.Join(configDir, "dnsgrab.cache"), maxDNSGrabAge) + if err != nil { + log.Errorf("unable to open dnsgrab cache: %v", err) + return nil, err + } + grabber, err := dnsgrab.ListenWithCache( + "127.0.0.1:0", + session.GetDNSServer, + cache, + ) + if err != nil { + log.Errorf("unable to start dnsgrab: %v", err) + return nil, err + } + dnsGrabEventual.Set(grabber) + dnsGrabAddrEventual.Set(grabber.LocalAddr().String()) + go func() { + serveErr := grabber.Serve() + if serveErr != nil { + log.Errorf("error serving dns: %v", serveErr) + } + }() + return grabber, nil +} + +func ReverseDns(grabber dnsgrab.Server) func(string) (string, error) { + return func(addr string) (string, error) { + op := ops.Begin("reverse_dns") + defer op.End() + + host, port, splitErr := net.SplitHostPort(addr) + if splitErr != nil { + host = addr + } + ip := net.ParseIP(host) + if ip == nil { + log.Debugf("Unable to parse IP %v, passing through address as is", host) + return addr, nil + } + updatedHost, ok := grabber.ReverseLookup(ip) + if !ok { + return "", op.FailIf(errors.New("unknown IP address %v", ip)) + } + if splitErr != nil { + return updatedHost, nil + } + return fmt.Sprintf("%v:%v", updatedHost, port), nil + } +} + +func run(configDir, locale string, settings Settings, session PanickingSession) { - // memhelper won't build for iOS right now - // memhelper.Track(15*time.Second, 15*time.Second, func(err error) { - // log.Debugf("Unable to track memory stats: %v", err) - // }) appdir.SetHomeDir(configDir) session.SetStaging(false) @@ -465,29 +514,10 @@ func run(configDir, locale string, log.Debugf("Writing log messages to %s/lantern.log", configDir) - cache, err := persistentcache.New(filepath.Join(configDir, "dnsgrab.cache"), maxDNSGrabAge) - if err != nil { - log.Errorf("unable to open dnsgrab cache: %v", err) - return - } - - grabber, err := dnsgrab.ListenWithCache( - "127.0.0.1:0", - session.GetDNSServer, - cache, - ) + grabber, err := InitDnsGrab(configDir, session) if err != nil { - log.Errorf("unable to start dnsgrab: %v", err) return } - dnsGrabEventual.Set(grabber) - dnsGrabAddrEventual.Set(grabber.LocalAddr().String()) - go func() { - serveErr := grabber.Serve() - if serveErr != nil { - log.Errorf("error serving dns: %v", serveErr) - } - }() httpProxyAddr := fmt.Sprintf("%s:%d", settings.GetHttpProxyHost(), @@ -498,7 +528,7 @@ func run(configDir, locale string, config.ForceCountry(forcedCountryCode) } - userConfig := newUserConfig(session) + userConfig := NewUserConfig(session) globalConfigChanged := make(chan interface{}) geoRefreshed := geolookup.OnRefresh() @@ -533,28 +563,7 @@ func run(configDir, locale string, NewStatsTracker(session), session.IsProUser, func() string { return "" }, // only used for desktop - func(addr string) (string, error) { - op := ops.Begin("reverse_dns") - defer op.End() - - host, port, splitErr := net.SplitHostPort(addr) - if splitErr != nil { - host = addr - } - ip := net.ParseIP(host) - if ip == nil { - log.Debugf("Unable to parse IP %v, passing through address as is", host) - return addr, nil - } - updatedHost, ok := grabber.ReverseLookup(ip) - if !ok { - return "", op.FailIf(errors.New("unknown IP address %v", ip)) - } - if splitErr != nil { - return updatedHost, nil - } - return fmt.Sprintf("%v:%v", updatedHost, port), nil - }, + ReverseDns(grabber), func(category, action, label string) {}, ) if err != nil { @@ -619,7 +628,7 @@ func run(configDir, locale string, ) } -func bandwidthUpdates(session panickingSession) { +func bandwidthUpdates(session PanickingSession) { go func() { for quota := range bandwidth.Updates { percent, remaining, allowed := getBandwidth(quota) @@ -650,13 +659,13 @@ func getBandwidth(quota *bandwidth.Quota) (int, int, int) { return percent, remaining, int(quota.MiBAllowed) } -func geoLookup(session panickingSession) { +func geoLookup(session PanickingSession) { country := geolookup.GetCountry(0) log.Debugf("Successful geolookup: country %s", country) session.SetCountry(country) } -func afterStart(session panickingSession) { +func afterStart(session PanickingSession) { bandwidthUpdates(session) go func() { diff --git a/internalsdk/android_test.go b/internalsdk/android_test.go index 1e27da7c2..8dd92db26 100644 --- a/internalsdk/android_test.go +++ b/internalsdk/android_test.go @@ -93,7 +93,7 @@ func TestProxying(t *testing.T) { require.NoError(t, err, "Proxying request via HTTP should have worked") err = testProxiedRequest(helper, result.SOCKS5Addr, result.DNSGrabAddr, true) assert.NoError(t, err, "Proxying request via SOCKS should have worked") - testRelay(t) + // testRelay(t) } } @@ -235,7 +235,7 @@ func TestInternalHeaders(t *testing.T) { } for _, test := range tests { - s := userConfig{&panickingSessionImpl{testSession{serializedInternalHeaders: test.input}}} + s := UserConfig{&panickingSessionImpl{testSession{serializedInternalHeaders: test.input}}} got := s.GetInternalHeaders() assert.Equal(t, test.expected, got, "Headers did not decode as expected") } diff --git a/desktop/common/common.go b/internalsdk/common/common.go similarity index 51% rename from desktop/common/common.go rename to internalsdk/common/common.go index 551a0defc..18688e119 100644 --- a/desktop/common/common.go +++ b/internalsdk/common/common.go @@ -6,11 +6,9 @@ import ( "strings" fcommon "github.com/getlantern/flashlight/v7/common" - "github.com/getlantern/golog" ) -// Environment represents the different -// environment modes Lantern may be running in +// Environment represents different environments Lantern may be running in type Environment int const ( @@ -19,14 +17,6 @@ const ( Staging ) -// ServerType is a type that represents different Lantern -// back-end services -type ServerType int - -const ( - AuthServer ServerType = iota -) - var ( // EnvMapping is a mapping for the Environment enum EnvMapping = map[string]Environment{ @@ -35,23 +25,19 @@ var ( Staging.String(): Staging, } - // AuthServerAddr is the auth server address to use - AuthServerAddr = "https://auth4.lantern.network" - // DisablePort is a boolean flag that corresponds with the DISABLE_PORT_RANDOMIZATION env var DisablePort bool // Environment is the environment flashlight is currently running in env Environment - - // ZipkinEndpoint specifies the URL to which zipkin spans should be sent - ZipkinEndpoint = "https://zipkin-pro-server-neu.128.network/api/v2/spans" - // ZipkinAPIKey specifies the API key to use when sending spans to Zipkin, should match https://github.com/getlantern/pro-server-neu-infrastructure-zipkin/blob/main/.codedeploy/default#L30 - ZipkinAPIKey = "38249ee3-ca14-45b7-9c58-3e668c3e6791" - - log = golog.LoggerFor("lantern-desktop.common") ) +func init() { + DisablePort, _ = strconv.ParseBool(os.Getenv("DISABLE_PORT_RANDOMIZATION")) + envVar := strings.ToLower(os.Getenv("ENVIRONMENT")) + env = EnvMapping[envVar] +} + func (e Environment) String() string { switch e { case Development: @@ -73,42 +59,6 @@ func (e Environment) IsStaging() bool { return e == Staging } -func (s ServerType) String() string { - switch s { - case AuthServer: - return "auth" - default: - return "" - } -} - -func init() { - DisablePort, _ = strconv.ParseBool(os.Getenv("DISABLE_PORT_RANDOMIZATION")) - envVar := strings.ToLower(os.Getenv("ENVIRONMENT")) - env = EnvMapping[envVar] - - if env.IsStaging() { - AuthServerAddr = "https://auth-staging.lantern.network" - } -} - -// GetAPIAddr returns the API address to use for the given -// server type. If an address is specified with a command line flag -// that value overides the default -func GetAPIAddr(serverType ServerType, flagAddr string) string { - var defaultAddr string - switch serverType { - case AuthServer: - defaultAddr = AuthServerAddr - } - addr := flagAddr - if addr == "" { - addr = defaultAddr - } - log.Debugf("Using %s server at %s", serverType.String(), addr) - return addr -} - // IsDevEnvironment checks if flashlight is currently being run in development mode func IsDevEnvironment() bool { return DisablePort && env.IsDevelopment() diff --git a/internalsdk/common/const.go b/internalsdk/common/const.go index e386aa34e..65798315b 100644 --- a/internalsdk/common/const.go +++ b/internalsdk/common/const.go @@ -40,22 +40,11 @@ var ( // GlobalStagingURL is the URL for fetching the global config in a staging environment. GlobalStagingURL = "https://globalconfig.flashlightproxy.com/global.yaml.gz" - // StagingMode if true, run Lantern against our staging infrastructure. - // This is set by the linker using -ldflags - StagingMode = "false" - - Staging = false - ProAPIHost = "api.getiantem.org" log = golog.LoggerFor("flashlight.common") forceAds bool - - // Set by the linker using -ldflags in the project's Makefile. - // Defaults to 'production' so as not to mistakingly push development work - // to a production environment - Environment = "production" ) func init() { @@ -64,19 +53,14 @@ func init() { // ForceStaging forces staging mode. func ForceStaging() { - StagingMode = "true" + env = Staging initInternal() } func initInternal() { - var err error - log.Debugf("****************************** stagingMode: %v", StagingMode) - Staging, err = strconv.ParseBool(StagingMode) - if err != nil { - log.Errorf("Error parsing boolean flag: %v", err) - return - } - if Staging { + isStaging := IsStagingEnvironment() + log.Debugf("****************************** stagingMode: %v", isStaging) + if isStaging { ProAPIHost = "api-staging.getiantem.org" } forceAds, _ = strconv.ParseBool(os.Getenv("FORCEADS")) diff --git a/internalsdk/common/version.go b/internalsdk/common/version.go index 79626e803..89e4fb48c 100644 --- a/internalsdk/common/version.go +++ b/internalsdk/common/version.go @@ -16,6 +16,9 @@ var ( // This gets set at build time RevisionDate = "" + + // This gets set at build time + BuildDate = "" ) func init() { diff --git a/internalsdk/ios/config.go b/internalsdk/ios/config.go new file mode 100644 index 000000000..d54fab260 --- /dev/null +++ b/internalsdk/ios/config.go @@ -0,0 +1,429 @@ +package ios + +import ( + "bytes" + "compress/gzip" + "crypto/md5" + "encoding/hex" + "fmt" + "io" + "io/ioutil" + "net" + "net/http" + "net/http/httputil" + "os" + "path/filepath" + "time" + + "github.com/getlantern/errors" + "github.com/getlantern/fronted" + "github.com/getlantern/yaml" + + commonconfig "github.com/getlantern/common/config" + "github.com/getlantern/flashlight/v7/config" + "github.com/getlantern/flashlight/v7/email" + "github.com/getlantern/flashlight/v7/embeddedconfig" + "github.com/getlantern/flashlight/v7/geolookup" + "github.com/getlantern/lantern-client/internalsdk/common" +) + +const ( + userConfigYaml = "userconfig.yaml" + globalYaml = "global.yaml" + proxiesYaml = "proxies.yaml" +) + +// ConfigResult captures the result of calling Configure() +type ConfigResult struct { + // VPNNeedsReconfiguring indicates that something in the config changed and + // that the VPN needs to be reconfigured. + VPNNeedsReconfiguring bool + + // IPSToExcludeFromVPN lists all IPS that should be excluded from the VPNS's + // routes in a comma-delimited string + IPSToExcludeFromVPN string +} + +// Configure fetches updated configuration from the cloud and stores it in +// configFolderPath. There are 5 files that must be initialized in +// configFolderPath - global.yaml, global.yaml.etag, proxies.yaml, +// proxies.yaml.etag and masquerade_cache. deviceID should be a string that +// uniquely identifies the current device. hardcodedProxies allows manually specifying +// a proxies.yaml configuration that overrides whatever we fetch from the cloud. +func Configure(configFolderPath string, userID int, proToken, deviceID string, refreshProxies bool, hardcodedProxies string) (*ConfigResult, error) { + log.Debugf("Configuring client for device '%v' at config path '%v' userid '%v' token '%v'", deviceID, configFolderPath, userID, proToken) + defer log.Debug("Finished configuring client") + uc := userConfigFor(userID, proToken, deviceID) + cf := &configurer{ + configFolderPath: configFolderPath, + hardcodedProxies: hardcodedProxies, + uc: uc, + } + return cf.configure(userID, proToken, refreshProxies) +} + +type UserConfig struct { + common.UserConfigData + Country string + AllowProbes bool +} + +type configurer struct { + configFolderPath string + hardcodedProxies string + uc *UserConfig + rt http.RoundTripper +} + +// Important: +// This method is responsible for potentially delaying the UI startup process. +// Occasionally, the execution time of this method varies significantly, sometimes completing within 5 seconds, while other times taking more than 30 seconds. +// For instance, examples from my running +// config.go:167 Configured completed in 35.8970435s +// config.go:167 Configured completed in 4.0234035s +// config.go:176 Configured completed in 3.700574125s + +// TODO: Implement a timeout mechanism to handle prolonged execution times and potentially execute this method in the background to maintain smooth UI startup performance. +func (cf *configurer) configure(userID int, proToken string, refreshProxies bool) (*ConfigResult, error) { + result := &ConfigResult{} + start := time.Now() + if err := cf.writeUserConfig(); err != nil { + return nil, err + } + + global, globalEtag, globalInitialized, err := cf.openGlobal() + if err != nil { + return nil, err + } + + proxies, proxiesEtag, proxiesInitialized, err := cf.openProxies() + if err != nil { + return nil, err + } + + result.VPNNeedsReconfiguring = globalInitialized || proxiesInitialized + + var globalUpdated, proxiesUpdated bool + + setupFronting := func() error { + log.Debug("Setting up fronting") + defer log.Debug("Set up fronting") + if frontingErr := cf.configureFronting(global, shortFrontedAvailableTimeout); frontingErr != nil { + log.Errorf("Unable to configure fronting on first try, update global config directly from GitHub and try again: %v", frontingErr) + global, globalUpdated = cf.updateGlobal(&http.Transport{}, global, globalEtag, "https://raw.githubusercontent.com/getlantern/lantern-binaries/main/cloud.yaml.gz") + return cf.configureFronting(global, longFrontedAvailableTimeout) + } + return nil + } + + if frontingErr := setupFronting(); frontingErr != nil { + log.Errorf("Unable to configure fronting, sticking with embedded configuration: %v", err) + } else { + log.Debug("Refreshing geolookup") + geolookup.Refresh() + + go func() { + cf.uc.Country = geolookup.GetCountry(1 * time.Minute) + log.Debugf("Successful geolookup: country %s", cf.uc.Country) + cf.uc.AllowProbes = global.FeatureEnabled( + config.FeatureProbeProxies, + common.Platform, + cf.uc.AppName, + "", + int64(cf.uc.UserID), + cf.uc.Token != "", + cf.uc.Country) + log.Debugf("Allow probes?: %v", cf.uc.AllowProbes) + if err := cf.writeUserConfig(); err != nil { + log.Errorf("Unable to save updated UserConfig with country and allow probes: %v", err) + } + }() + + log.Debug("Updating global config") + global, globalUpdated = cf.updateGlobal(cf.rt, global, globalEtag, "https://globalconfig.flashlightproxy.com/global.yaml.gz") + log.Debug("Updated global config") + if refreshProxies { + log.Debug("Refreshing proxies") + proxies, proxiesUpdated = cf.updateProxies(proxies, proxiesEtag) + log.Debug("Refreshed proxies") + } + + result.VPNNeedsReconfiguring = result.VPNNeedsReconfiguring || globalUpdated || proxiesUpdated + } + + for _, provider := range global.Client.Fronted.Providers { + for _, masquerade := range provider.Masquerades { + if len(result.IPSToExcludeFromVPN) == 0 { + result.IPSToExcludeFromVPN = masquerade.IpAddress + } else { + result.IPSToExcludeFromVPN = fmt.Sprintf("%v,%v", result.IPSToExcludeFromVPN, masquerade.IpAddress) + } + } + } + + for _, proxy := range proxies { + if proxy.Addr != "" { + host, _, _ := net.SplitHostPort(proxy.Addr) + result.IPSToExcludeFromVPN = fmt.Sprintf("%v,%v", host, result.IPSToExcludeFromVPN) + log.Debugf("Added %v", host) + } + if proxy.MultiplexedAddr != "" { + host, _, _ := net.SplitHostPort(proxy.MultiplexedAddr) + result.IPSToExcludeFromVPN = fmt.Sprintf("%v,%v", host, result.IPSToExcludeFromVPN) + log.Debugf("Added %v", host) + } + } + seconds := time.Since(start).Seconds() + log.Debugf("Configured completed in %v seconds", seconds) + + email.SetDefaultRecipient(global.ReportIssueEmail) + + return result, nil +} + +func (cf *configurer) writeUserConfig() error { + bytes, err := yaml.Marshal(cf.uc) + if err != nil { + return errors.New("Unable to marshal user config: %v", err) + } + if writeErr := ioutil.WriteFile(cf.fullPathTo(userConfigYaml), bytes, 0644); writeErr != nil { + return errors.New("Unable to save userconfig.yaml: %v", err) + } + return nil +} + +func (cf *configurer) readUserConfig() (*UserConfig, error) { + bytes, err := ioutil.ReadFile(cf.fullPathTo(userConfigYaml)) + if err != nil { + return nil, errors.New("Unable to read userconfig.yaml: %v", err) + } + if len(bytes) == 0 { + return nil, errors.New("Empty userconfig.yaml") + } + uc := &UserConfig{} + if parseErr := yaml.Unmarshal(bytes, uc); parseErr != nil { + return nil, errors.New("Unable to parse userconfig.yaml: %v", err) + } + return uc, nil +} + +func (cf *configurer) openGlobal() (*config.Global, string, bool, error) { + cfg := &config.Global{} + etag, updated, err := cf.openConfig(globalYaml, cfg, embeddedconfig.Global) + return cfg, etag, updated, err +} + +func (cf *configurer) openProxies() (map[string]*commonconfig.ProxyConfig, string, bool, error) { + cfg := make(map[string]*commonconfig.ProxyConfig) + etag, updated, err := cf.openConfig(proxiesYaml, cfg, embeddedconfig.Proxies) + return cfg, etag, updated, err +} + +func (cf *configurer) updateFromHardcodedProxies() ([]byte, string, error) { + return []byte(cf.hardcodedProxies), "hardcoded", nil +} + +func (cf *configurer) openConfig(name string, cfg interface{}, embedded []byte) (string, bool, error) { + var initialized bool + configFile := cf.fullPathTo(name) + log.Debugf("Opening config file at %s", configFile) + bytes, err := ioutil.ReadFile(configFile) + if err == nil && len(bytes) > 0 { + log.Debugf("Loaded %v from file", name) + } else { + log.Debugf("Initializing %v from embedded", name) + bytes = embedded + initialized = true + if writeErr := ioutil.WriteFile(configFile, bytes, 0644); writeErr != nil { + return "", false, errors.New("Unable to write embedded %v to disk: %v", name, writeErr) + } + } + if parseErr := yaml.Unmarshal(bytes, cfg); parseErr != nil { + return "", false, errors.New("Unable to parse %v: %v", name, parseErr) + } + etagBytes, err := ioutil.ReadFile(cf.fullPathTo(name + ".etag")) + if err != nil { + log.Debugf("No known etag for %v", name) + etagBytes = []byte{} + } + return string(etagBytes), initialized, nil +} + +func (cf *configurer) updateGlobal(rt http.RoundTripper, cfg *config.Global, etag string, url string) (*config.Global, bool) { + updated := &config.Global{} + didFetch, err := cf.updateFromWeb(rt, globalYaml, etag, updated, url) + if err != nil { + log.Error(err) + } + if didFetch { + cfg = updated + } + return cfg, didFetch +} + +func (cf *configurer) updateProxies(cfg map[string]*commonconfig.ProxyConfig, etag string) (map[string]*commonconfig.ProxyConfig, bool) { + updated := make(map[string]*commonconfig.ProxyConfig) + didFetch, err := cf.updateFromWeb(cf.rt, proxiesYaml, etag, updated, "http://config.getiantem.org/proxies.yaml.gz") + if err != nil { + log.Error(err) + } + if len(updated) == 0 { + log.Error("Proxies returned by config server was empty, ignoring") + didFetch = false + } + if didFetch { + cfg = updated + } + return cfg, didFetch +} + +func (cf *configurer) updateFromWeb(rt http.RoundTripper, name string, etag string, cfg interface{}, url string) (bool, error) { + var bytes []byte + var newETag string + var err error + + if name == proxiesYaml && cf.hardcodedProxies != "" { + bytes, newETag, err = cf.updateFromHardcodedProxies() + } else { + bytes, newETag, err = cf.doUpdateFromWeb(rt, name, etag, cfg, url) + } + if err != nil { + return false, err + } + + if bytes == nil { + // config unchanged + return false, nil + } + + cf.saveConfig(name, bytes) + cf.saveEtag(name, newETag) + + if name == proxiesYaml { + log.Debugf("Updated proxies.yaml from cloud:\n%v", string(bytes)) + } else { + log.Debugf("Updated %v from cloud", name) + } + + return newETag != etag, nil +} + +func (cf *configurer) doUpdateFromWeb(rt http.RoundTripper, name string, etag string, cfg interface{}, url string) ([]byte, string, error) { + req, err := http.NewRequest(http.MethodGet, url, nil) + if err != nil { + return nil, "", errors.New("Unable to construct request to fetch %v from %v: %v", name, url, err) + } + + if etag != "" { + req.Header.Set(common.IfNoneMatchHeader, etag) + } + req.Header.Set("Accept", "application/x-gzip") + // Prevents intermediate nodes (domain-fronters) from caching the content + req.Header.Set("Cache-Control", "no-cache") + common.AddCommonHeaders(cf.uc, req) + + // make sure to close the connection after reading the Body + // this prevents the occasional EOFs errors we're seeing with + // successive requests + req.Close = true + + resp, err := rt.RoundTrip(req) + if err != nil { + return nil, "", errors.New("Unable to fetch cloud config at %s: %s", url, err) + } + dump, dumperr := httputil.DumpResponse(resp, false) + if dumperr != nil { + log.Errorf("Could not dump response: %v", dumperr) + } else { + log.Debugf("Response headers from %v:\n%v", url, string(dump)) + } + defer func() { + if closeerr := resp.Body.Close(); closeerr != nil { + log.Errorf("Error closing response body: %v", closeerr) + } + }() + + if resp.StatusCode == 304 { + log.Debugf("%v unchanged in cloud", name) + return nil, "", nil + } else if resp.StatusCode != 200 { + if dumperr != nil { + return nil, "", errors.New("Bad config response code for %v: %v", name, resp.StatusCode) + } + return nil, "", errors.New("Bad config resp for %v:\n%v", name, string(dump)) + } + + newEtag := resp.Header.Get(common.EtagHeader) + buf := &bytes.Buffer{} + body := io.TeeReader(resp.Body, buf) + gzReader, err := gzip.NewReader(body) + if err != nil { + return nil, "", errors.New("Unable to open gzip reader: %s", err) + } + + defer func() { + if err := gzReader.Close(); err != nil { + log.Errorf("Unable to close gzip reader: %v", err) + } + }() + + bytes, err := ioutil.ReadAll(gzReader) + if err != nil { + return nil, "", errors.New("Unable to read response for %v: %v", name, err) + } + + if parseErr := yaml.Unmarshal(bytes, cfg); parseErr != nil { + return nil, "", errors.New("Unable to parse update for %v: %v", name, parseErr) + } + + if newEtag == "" { + sum := md5.Sum(buf.Bytes()) + newEtag = hex.EncodeToString(sum[:]) + } + + return bytes, newEtag, nil +} + +func (cf *configurer) configureFronting(global *config.Global, timeout time.Duration) error { + log.Debug("Configuring fronting") + certs, err := global.TrustedCACerts() + if err != nil { + return errors.New("Unable to read trusted CAs from global config, can't configure domain fronting: %v", err) + } + + fronted.Configure(certs, global.Client.FrontedProviders(), "cloudfront", cf.fullPathTo("masquerade_cache")) + rt, ok := fronted.NewDirect(timeout) + if !ok { + return errors.New("Timed out waiting for fronting to finish configuring") + } + + cf.rt = rt + log.Debug("Configured fronting") + return nil +} + +func (cf *configurer) openFile(filename string) (*os.File, error) { + file, err := os.Open(cf.fullPathTo(filename)) + if err != nil { + err = errors.New("Unable to open %v: %v", filename, err) + } + return file, err +} + +func (cf *configurer) saveConfig(name string, bytes []byte) { + err := ioutil.WriteFile(cf.fullPathTo(name), bytes, 0644) + if err != nil { + log.Errorf("Unable to save config for %v: %v", name, err) + } +} + +func (cf *configurer) saveEtag(name string, etag string) { + err := ioutil.WriteFile(cf.fullPathTo(name+".etag"), []byte(etag), 0644) + if err != nil { + log.Errorf("Unable to save etag for %v: %v", name, err) + } +} + +func (cf *configurer) fullPathTo(filename string) string { + return filepath.Join(cf.configFolderPath, filename) +} diff --git a/internalsdk/ios/config_test.go b/internalsdk/ios/config_test.go new file mode 100644 index 000000000..742883f0e --- /dev/null +++ b/internalsdk/ios/config_test.go @@ -0,0 +1,70 @@ +package ios + +import ( + "os" + "path/filepath" + "sort" + "strings" + "testing" + "time" + + "github.com/fsnotify/fsnotify" + "github.com/getlantern/flashlight/v7/common" + "github.com/stretchr/testify/require" +) + +const ( + testDeviceID1 = "test1" + testDeviceID2 = "test2" +) + +func TestConfigure(t *testing.T) { + common.CompileTimeApplicationVersion = "8.0.0" + common.LibraryVersion = "8.0.0" + tmpDir, err := os.MkdirTemp("", "config_test") + require.NoError(t, err) + defer os.RemoveAll(tmpDir) + + os.WriteFile(filepath.Join(tmpDir, "global.yaml"), []byte{}, 0644) + os.WriteFile(filepath.Join(tmpDir, "global.yaml.etag"), []byte{}, 0644) + os.WriteFile(filepath.Join(tmpDir, "proxies.yaml"), []byte{}, 0644) + os.WriteFile(filepath.Join(tmpDir, "proxies.yaml.etag"), []byte{}, 0644) + os.WriteFile(filepath.Join(tmpDir, "masquerade_cache"), []byte{}, 0644) + os.WriteFile(filepath.Join(tmpDir, "userconfig.yaml"), []byte{}, 0644) + + const testUserId = 83901 + const testToken = "testToken" + result1, err := Configure(tmpDir, testUserId, testToken, testDeviceID1, true, "") + require.NoError(t, err) + + require.True(t, result1.VPNNeedsReconfiguring) + require.NotEmpty(t, result1.IPSToExcludeFromVPN) + + c := &configurer{configFolderPath: tmpDir} + uc, err := c.readUserConfig() + require.NoError(t, err) + require.Equal(t, testDeviceID1, uc.GetDeviceID()) + + time.Sleep(1 * time.Second) + watcher, err := fsnotify.NewWatcher() + require.NoError(t, err) + err = watcher.Add(c.fullPathTo(userConfigYaml)) + require.NoError(t, err) + result2, err := Configure(tmpDir, testUserId, testToken, testDeviceID2, true, "") + require.NoError(t, err) + ips1 := strings.Split(result1.IPSToExcludeFromVPN, ",") + ips2 := strings.Split(result2.IPSToExcludeFromVPN, ",") + sort.Strings(ips1) + sort.Strings(ips2) + if result2.VPNNeedsReconfiguring { + require.NotEqual(t, ips1, ips2) + } else { + require.Equal(t, ips1, ips2) + } + + // make sure the config file has been changed + <-watcher.Events + uc, err = c.readUserConfig() + require.NoError(t, err) + require.Equal(t, testDeviceID2, uc.GetDeviceID()) +} diff --git a/internalsdk/ios/ios.go b/internalsdk/ios/ios.go new file mode 100644 index 000000000..925a8b7fe --- /dev/null +++ b/internalsdk/ios/ios.go @@ -0,0 +1,300 @@ +package ios + +import ( + "io" + "path/filepath" + "sync" + "time" + + tun2socks "github.com/eycorsican/go-tun2socks/core" + + "github.com/getlantern/common/config" + "github.com/getlantern/dnsgrab" + "github.com/getlantern/dnsgrab/persistentcache" + "github.com/getlantern/errors" + "github.com/getlantern/flashlight/v7/bandit" + "github.com/getlantern/flashlight/v7/chained" + "github.com/getlantern/flashlight/v7/stats" + "github.com/getlantern/ipproxy" + "github.com/getlantern/lantern-client/internalsdk/common" +) + +const ( + maxDNSGrabAge = 1 * time.Hour // this doesn't need to be long because our fake DNS records have a TTL of only 1 second. We use a smaller value than on Android to be conservative with memory usag. + + quotaSaveInterval = 1 * time.Minute + shortFrontedAvailableTimeout = 30 * time.Second + longFrontedAvailableTimeout = 5 * time.Minute + + logMemoryInterval = 5 * time.Second + forceGCInterval = 250 * time.Millisecond + + dialTimeout = 30 * time.Second + shortIdleTimeout = 5 * time.Second + closeTimeout = 1 * time.Second + + maxConcurrentDials = 2 + ipWriteBufferDepth = 100 + downstreamWriteBufferDepth = 100 +) + +type Writer interface { + Write([]byte) bool +} + +type writeRequest struct { + b []byte + ok chan bool +} + +type writerAdapter struct { + writer Writer + requests chan *writeRequest + closeOnce sync.Once +} + +func newWriterAdapter(writer Writer) io.WriteCloser { + wa := &writerAdapter{ + writer: writer, + requests: make(chan *writeRequest, ipWriteBufferDepth), + } + + // MEMORY_OPTIMIZATION - handle all writing of output packets on a single goroutine to avoid creating more native threads + go wa.handleWrites() + return wa +} + +func (wa *writerAdapter) Write(b []byte) (int, error) { + req := &writeRequest{ + b: b, + ok: make(chan bool), + } + wa.requests <- req + ok := <-req.ok + if !ok { + return 0, errors.New("error writing") + } + return len(b), nil +} + +func (wa *writerAdapter) handleWrites() { + for req := range wa.requests { + req.ok <- wa.writer.Write(req.b) + } +} + +func (wa *writerAdapter) Close() error { + wa.closeOnce.Do(func() { + close(wa.requests) + }) + return nil +} + +type ClientWriter interface { + // Write writes the given bytes. As a side effect of writing, we periodically + // record updated bandwidth quota information in the configured quota.txt file. + // If user has exceeded bandwidth allowance, returns a positive integer + // representing the bandwidth allowance. + Write([]byte) (int, error) + + // Reconfigure forces the ClientWriter to update its configuration + Reconfigure() + + Close() error +} + +type StatsTracker interface { + UpdateStats(string, string, string, int, int, bool) +} + +type cw struct { + ipStack io.WriteCloser + client *iosClient + dialer *bandit.BanditDialer + ipp ipproxy.Proxy + quotaTextPath string + lastSavedQuota time.Time +} + +func (c *cw) Write(b []byte) (int, error) { + _, err := c.ipStack.Write(b) + + result := 0 + return result, err +} + +func (c *cw) Reconfigure() { + dialers, err := c.client.loadDialers() + if err != nil { + // this causes the NetworkExtension process to die. Since the VPN is configured as "on-demand", + // the OS will automatically restart the service, at which point we'll read the new config anyway. + panic(log.Errorf("Unable to load dialers on reconfigure: %v", err)) + } + + c.dialer, err = bandit.New(dialers) + if err != nil { + log.Errorf("Unable to create dialer on reconfigure: %v", err) + } +} + +func (c *cw) Close() error { + if c.client != nil { + c.client.packetsOut.Close() + } + return nil +} + +type iosClient struct { + packetsOut io.WriteCloser + udpDialer UDPDialer + + memChecker MemChecker + configDir string + ipp ipproxy.Proxy + mtu int + capturedDNSHost string + realDNSHost string + uc common.UserConfig + tcpHandler *proxiedTCPHandler + udpHandler *directUDPHandler + + clientWriter *cw + memoryAvailable int64 + started time.Time + statsTracker StatsTracker +} + +func Client(packetsOut Writer, udpDialer UDPDialer, memChecker MemChecker, configDir string, mtu int, capturedDNSHost, realDNSHost string, statsTracker StatsTracker) (ClientWriter, error) { + log.Debug("Creating new iOS client") + if mtu <= 0 { + log.Debug("Defaulting MTU to 1500") + mtu = 1500 + } + + c := &iosClient{ + packetsOut: newWriterAdapter(packetsOut), + memChecker: memChecker, + configDir: configDir, + //ipp: ipp, + mtu: mtu, + udpDialer: udpDialer, + capturedDNSHost: capturedDNSHost, + realDNSHost: realDNSHost, + started: time.Now(), + statsTracker: statsTracker, + } + optimizeMemoryUsage(&c.memoryAvailable) + go c.gcPeriodically() + go c.logMemory() + + return c.start() +} + +func (c *iosClient) start() (ClientWriter, error) { + if err := c.loadUserConfig(); err != nil { + return nil, log.Errorf("error loading user config: %v", err) + } + log.Debugf("Running client at config path '%v'", c.configDir) + start := time.Now() + log.Debugf("User config process start at %v", start) + dialers, err := c.loadDialers() + if err != nil { + return nil, err + } + if len(dialers) == 0 { + return nil, errors.New("No dialers found") + } + tracker := stats.NewTracker() + dialer, err := bandit.NewWithStats(dialers, tracker) + if err != nil { + return nil, err + } + go func() { + tracker.AddListener(func(st stats.Stats) { + if st.City != "" && st.Country != "" && st.CountryCode != "" { + start := time.Now() + log.Debugf("Stats update at %v", start) + c.statsTracker.UpdateStats(st.City, st.Country, st.CountryCode, st.HTTPSUpgrades, st.AdsBlocked, st.HasSucceedingProxy) + } + }) + }() + + // We use a persistent cache for dnsgrab because some clients seem to hang on to our fake IP addresses for a while, even though we set a TTL of 1 second. + // That can be a problem when the network extension is automatically restarted. Caching the dns cache on disk allows us to successfully reverse look up + // those IP addresses even after a restart. + cacheFile := filepath.Join(c.configDir, "dnsgrab.cache") + cache, err := persistentcache.New(cacheFile, maxDNSGrabAge) + if err != nil { + return nil, errors.New("Unable to initialize dnsgrab cache at %v: %v", cacheFile, err) + } + + grabber, err := dnsgrab.ListenWithCache( + "127.0.0.1:0", + func() string { return c.realDNSHost }, + cache, + ) + if err != nil { + return nil, errors.New("Unable to start dnsgrab: %v", err) + } + + c.tcpHandler = newProxiedTCPHandler(c, dialer, grabber) + c.udpHandler = newDirectUDPHandler(c, c.udpDialer, grabber, c.capturedDNSHost) + + ipStack := tun2socks.NewLWIPStack() + tun2socks.RegisterOutputFn(c.packetsOut.Write) + tun2socks.RegisterTCPConnHandler(c.tcpHandler) + tun2socks.RegisterUDPConnHandler(c.udpHandler) + + freeMemory() + + c.clientWriter = &cw{ + ipStack: ipStack, + client: c, + quotaTextPath: filepath.Join(c.configDir, "quota.txt"), + } + + return c.clientWriter, nil +} + +func (c *iosClient) loadUserConfig() error { + cf := &configurer{configFolderPath: c.configDir} + uc, err := cf.readUserConfig() + if err != nil { + return err + } + c.uc = uc + return nil +} + +func (c *iosClient) loadDialers() ([]bandit.Dialer, error) { + cf := &configurer{configFolderPath: c.configDir} + chained.PersistSessionStates(c.configDir) + + proxies := make(map[string]*config.ProxyConfig) + _, _, err := cf.openConfig(proxiesYaml, proxies, []byte{}) + if err != nil { + return nil, err + } + + dialers := chained.CreateDialers(c.configDir, proxies, c.uc) + chained.TrackStatsFor(dialers, c.configDir) + return dialers, nil +} + +func partialUserConfigFor(deviceID string) *UserConfig { + return userConfigFor(0, "", deviceID) +} + +func userConfigFor(userID int, proToken, deviceID string) *UserConfig { + // TODO: plug in implementation of fetching timezone for iOS to work around https://github.com/golang/go/issues/20455 + return &UserConfig{ + UserConfigData: *common.NewUserConfig( + "Lantern", + deviceID, + int64(userID), + proToken, + nil, // Headers currently unused + "", // Language currently unused + ), + } +} diff --git a/internalsdk/ios/log.go b/internalsdk/ios/log.go new file mode 100644 index 000000000..e059e0c3e --- /dev/null +++ b/internalsdk/ios/log.go @@ -0,0 +1,29 @@ +package ios + +import ( + "github.com/getlantern/golog" + "github.com/getlantern/lantern-client/internalsdk/ios/logger" +) + +var ( + log = golog.LoggerFor("ios") + statsLog = golog.LoggerFor("ios.stats") + swiftLog = golog.LoggerFor("ios.swift") +) + +// ConfigureFileLogging configures logging to log to files at the given fullLogFilePath +// and capture heap and goroutine profiles at the given profile path. +func ConfigureFileLogging(fullLogFilePath string, profilePath string) error { + SetProfilePath(profilePath) + return logger.ConfigureFileLogging(fullLogFilePath) +} + +// LogDebug logs the given msg to the swift logger at debug level +func LogDebug(msg string) { + swiftLog.Debug(msg) +} + +// LogError logs the given msg to the swift logger at error level +func LogError(msg string) { + swiftLog.Error(msg) +} diff --git a/internalsdk/ios/logger/logger_darwin.go b/internalsdk/ios/logger/logger_darwin.go new file mode 100644 index 000000000..2437b0608 --- /dev/null +++ b/internalsdk/ios/logger/logger_darwin.go @@ -0,0 +1,86 @@ +package logger + +// #include +// +// void log_debug(const char *msg) +// { +// os_log_debug(OS_LOG_DEFAULT, "%{public}s", msg); +// } +// +// void log_error(const char *msg) +// { +// os_log_error(OS_LOG_DEFAULT, "%{public}s", msg); +// } +import "C" + +import ( + "io" + "os" + "path/filepath" + "strings" + + "github.com/getlantern/flashlight/v7/logging" + "github.com/getlantern/golog" +) + +func init() { + golog.SetOutputs(defaultLoggers()) +} + +// ConfigureFileLogging configures file logging to use the lantern.log file at +// the given path. It is required that the file, as well as files lantern.log.1 +// through lantern.log.5 already exist so that they are writeable from the Go +// side. +func ConfigureFileLogging(fullLogFilePath string) error { + logFileDirectory, filename := filepath.Split(fullLogFilePath) + appName := strings.Split(filename, ".")[0] + werr, wout := defaultLoggers() + return logging.EnableFileLoggingWith(werr, wout, appName, logFileDirectory, 10, 10) +} + +func defaultLoggers() (io.WriteCloser, io.WriteCloser) { + return &dualWriter{os.Stderr, loggerWith(func(msg string) { + C.log_error(C.CString(msg)) + })}, + &dualWriter{os.Stdout, loggerWith(func(msg string) { + C.log_debug(C.CString(msg)) + })} +} + +type dualWriter struct { + w1 io.Writer + w2 io.WriteCloser +} + +func (dw *dualWriter) Write(b []byte) (int, error) { + n, err := dw.w1.Write(b) + n2, err2 := dw.w2.Write(b) + if n2 < n { + n = n2 + } + if err == nil { + err = err2 + } + return n, err +} + +func (dw *dualWriter) Close() error { + return dw.w2.Close() +} + +func loggerWith(fn func(string)) io.WriteCloser { + return &loggerFn{fn} +} + +type loggerFn struct { + log func(string) +} + +func (lf *loggerFn) Write(msg []byte) (int, error) { + lf.log(string(msg)) + return len(msg), nil +} + +func (lf *loggerFn) Close() error { + return nil +} diff --git a/internalsdk/ios/logger/logger_other.go b/internalsdk/ios/logger/logger_other.go new file mode 100644 index 000000000..647d4e8f6 --- /dev/null +++ b/internalsdk/ios/logger/logger_other.go @@ -0,0 +1,12 @@ +//go:build !windows && !darwin +// +build !windows,!darwin + +package logger + +import ( + "github.com/getlantern/errors" +) + +func ConfigureFileLogging(fullLogFilePath string) error { + return errors.New("ConfigureFileLogging is only supported on darwin") +} diff --git a/internalsdk/ios/memory.go b/internalsdk/ios/memory.go new file mode 100644 index 000000000..81fb7ba67 --- /dev/null +++ b/internalsdk/ios/memory.go @@ -0,0 +1,185 @@ +package ios + +import ( + "context" + "net" + "os" + "path/filepath" + "runtime" + "runtime/debug" + "runtime/pprof" + "sync" + "sync/atomic" + "time" + + "github.com/dustin/go-humanize" + "github.com/getlantern/flashlight/v7/chained" + "github.com/getlantern/netx" +) + +// Memory management on iOS is critical because we're running in a network extension that's limited to 15 MB of memory. We handle this using several techniques. +// +// All places in the code that do odd stuff in order to help with memory optimization are marked with MEMORY_OPTIMIZATION +// +// 1. Limit the number of goroutines that write to/from lwip in order to limit the number of OS threads (each OS thread has 0.5MB of stack allocated to it, which gets big pretty quickly) +// 2. Limit concurrency for dialing upstream in order to limit the memory involved with public key cryptography +// 3. Use a fork of go-tun2socks tuned for low memory usage (see https://lwip.fandom.com/wiki/Tuning_TCP and https://lwip.fandom.com/wiki/Lwipopts.h) +// 4. Set an aggressive GCPercent +// 5. Use Go 1.14 instead of 1.15 (seems to have lower memory usage for some reason) +// 6. Use short idle timeouts to reduce the number of simultaneously open connections +// 7. Use small send and receive buffers for upstream TCP connections, adapting to the available amount of system memory + +var ( + profilePath string + profilePathMx sync.RWMutex +) + +func SetProfilePath(path string) { + profilePathMx.Lock() + defer profilePathMx.Unlock() + profilePath = path +} + +func getProfilePath() string { + profilePathMx.Lock() + defer profilePathMx.Unlock() + return profilePath +} + +// MemChecker checks the system's memory level +type MemChecker interface { + // BytesRemain returns the number of bytes of memory left before we hit the system limit + BytesRemain() int +} + +func optimizeMemoryUsage(memoryAvailable *int64) { + // MEMORY_OPTIMIZATION - limit the number of CPUs used to reduce the number of OS threads (and associated stack) to keep memory usage down + runtime.GOMAXPROCS(1) + + // MEMORY_OPTIMIZATION - set very aggressive IdleTimeout to help deal with memory constraints on iOS + chained.IdleTimeout = shortIdleTimeout + + // MEMORY_OPTIMIZATION - set an aggressive target for triggering GC after new allocations reach 20% of heap + debug.SetGCPercent(20) + + var dialer net.Dialer + netx.OverrideDial(func(ctx context.Context, network, addr string) (net.Conn, error) { + conn, err := dialer.DialContext(ctx, network, addr) + if err == nil { + tcpConn, ok := conn.(*net.TCPConn) + if ok { + // MEMORY_OPTIMIZATION - set small send and receive buffers for cases where we have lots of connections and a flaky network + // This can reduce throughput, especially on networks with high packet loss. + bytesRemain := int(atomic.LoadInt64(memoryAvailable)) + bufferSize := bytesRemain / 25 // this factor gives us a buffer size of about 80KB when remaining memory is about 2MB. + if bufferSize < 4096 { + // never go smaller than 4096 + bufferSize = 4096 + } + tcpConn.SetWriteBuffer(bufferSize) + tcpConn.SetReadBuffer(bufferSize) + } + } + return conn, err + }) +} + +func (c *iosClient) logMemory() { + for { + c.doLogMemory() + time.Sleep(logMemoryInterval) + } +} + +func (c *iosClient) gcPeriodically() { + ticker := time.NewTicker(forceGCInterval) + for range ticker.C { + // this select ensures that if ticker fired while we were checking memory (i.e. it took longer than forceGCInterval), we wait until the ticket fires again to check memory + select { + case <-ticker.C: + continue + default: + freeMemory() + atomic.StoreInt64(&c.memoryAvailable, int64(c.memChecker.BytesRemain())) + } + } +} + +func (c *iosClient) doLogMemory() { + bytesRemain := atomic.LoadInt64(&c.memoryAvailable) + if bytesRemain < 0 { + bytesRemain = 0 + } + + memstats := &runtime.MemStats{} + runtime.ReadMemStats(memstats) + + numOSThreads, _ := runtime.ThreadCreateProfile(nil) + log.Debugf("Memory System Bytes Remain: %v Num OS Threads: %d Go InUse: %v", + humanize.Bytes(uint64(bytesRemain)), + numOSThreads, + humanize.Bytes(memstats.HeapInuse)) + + stats := debug.GCStats{ + PauseQuantiles: make([]time.Duration, 10), + } + debug.ReadGCStats(&stats) + + elapsed := time.Now().Sub(c.started) + log.Debugf("Memory GC num: %v total pauses: %v (%.2f%%) pause percentiles: %v", stats.NumGC, stats.PauseTotal, float64(stats.PauseTotal)*100/float64(elapsed), stats.PauseQuantiles) +} + +func freeMemory() { + debug.FreeOSMemory() // this calls garbage collection before freeing memory to the OS +} + +func captureProfiles() { + log.Debug("Capturing profiles") + + // always free memory before capturing profiles because we need at least one GC before capturing heap data to get appropriate stats + freeMemory() + + path := getProfilePath() + if path == "" { + log.Error("No profile path set, can't capture profiles") + return + } + + heap, err := os.OpenFile(filepath.Join(path, "heap.profile.tmp"), os.O_TRUNC|os.O_CREATE|os.O_RDWR|os.O_SYNC, 0644) + if err != nil { + log.Errorf("Unable to open heap profile file %v for writing: %v", path, err) + return + } + defer heap.Close() + + goroutine, err := os.OpenFile(filepath.Join(path, "goroutine_profile.txt.tmp"), os.O_TRUNC|os.O_CREATE|os.O_RDWR|os.O_SYNC, 0644) + if err != nil { + log.Errorf("Unable to open heap profile file %v for writing: %v", path, err) + return + } + defer goroutine.Close() + + err = pprof.WriteHeapProfile(heap) + if err != nil { + log.Errorf("Unable to capture heap profile: %v", err) + } else { + err = os.Rename(filepath.Join(path, "heap.profile.tmp"), filepath.Join(path, "heap.profile")) + if err != nil { + log.Errorf("Unable to rename heap profile: %v", err) + } else { + log.Debugf("Captured heap profile") + } + } + + err = pprof.Lookup("goroutine").WriteTo(goroutine, 1) + if err != nil { + log.Errorf("Unable to capture goroutine profile: %v", err) + } else { + err = os.Rename(filepath.Join(path, "goroutine_profile.txt.tmp"), filepath.Join(path, "goroutine_profile.txt")) + if err != nil { + log.Errorf("Unable to rename goroutine profile: %v", err) + } else { + log.Debugf("Captured goroutine profile") + } + } +} diff --git a/internalsdk/ios/service.go b/internalsdk/ios/service.go new file mode 100644 index 000000000..e793a5fd7 --- /dev/null +++ b/internalsdk/ios/service.go @@ -0,0 +1,83 @@ +package ios + +// var ( +// clEventual = eventual.NewValue() +// startOnce sync.Once +// ) + +// type LanternService struct { +// memoryAvailable int64 +// sessionModel *internalsdk.SessionModel +// } + +// func newService(sessionModel *internalsdk.SessionModel) *LanternService { +// return &LanternService{ +// sessionModel: sessionModel, +// } +// } + +// func (s *LanternService) Start(configDir string, locale string, settings internalsdk.Settings) { +// optimizeMemoryUsage(&s.memoryAvailable) +// logging.EnableFileLogging(common.DefaultAppName, filepath.Join(configDir, "logs")) +// session := internalsdk.NewPanickingSession(s.sessionModel) +// startOnce.Do(func() { +// go run(configDir, locale, settings, session) +// }) +// } + +// func run(configDir, locale string, settings internalsdk.Settings, session internalsdk.PanickingSession) { +// log.Debugf("Starting lantern: configDir %s locale %s sticky config %t", +// configDir, locale, settings.StickyConfig()) + +// // Set home directory prior to starting Lantern +// appdir.SetHomeDir(configDir) + +// _, err := flashlight.New( +// common.DefaultAppName, +// common.ApplicationVersion, +// common.RevisionDate, +// configDir, // place to store lantern configuration +// false, // don't enable vpn mode for iOS (VPN is handled in the Swift layer) +// func() bool { return false }, // always connected +// func() bool { return true }, +// func() bool { return false }, // do not proxy private hosts on iOS +// func() bool { return true }, // auto report +// map[string]interface{}{}, +// func(cfg *config.Global, src config.Source) { +// b, err := yaml.Marshal(cfg) +// if err != nil { +// log.Errorf("Unable to marshal user config: %v", err) +// } else { +// log.Debugf("Got new global config %s", string(b)) +// } +// }, // onConfigUpdate +// func(proxies []bandit.Dialer, src config.Source) { + +// }, // onProxiesUpdate +// internalsdk.NewUserConfig(session), +// internalsdk.NewStatsTracker(session), +// session.IsProUser, +// func() string { return "" }, // only used for desktop +// func(addr string) (string, error) { +// return "", nil +// }, +// func(category, action, label string) {}, +// ) +// if err != nil { +// log.Fatalf("failed to create new instance of flashlight: %v", err) +// } +// } + +// func HTTPProxyPort() int { +// if addr, ok := client.Addr(6 * time.Second); ok { +// if _, p, err := net.SplitHostPort(addr.(string)); err == nil { +// port, _ := strconv.Atoi(p) +// return port +// } +// } +// log.Errorf("Couldn't retrieve HTTP proxy addr in time") +// return 0 +// } +func main() { + +} diff --git a/internalsdk/ios/tcp.go b/internalsdk/ios/tcp.go new file mode 100644 index 000000000..44cfd9f5f --- /dev/null +++ b/internalsdk/ios/tcp.go @@ -0,0 +1,214 @@ +package ios + +import ( + "context" + "fmt" + "io" + "net" + "runtime" + "sync" + "sync/atomic" + "time" + + "github.com/getlantern/dnsgrab" + "github.com/getlantern/flashlight/v7/bandit" + "github.com/getlantern/idletiming" + "github.com/getlantern/netx" +) + +type dialRequest struct { + ctx context.Context + addr string + upstream chan net.Conn + err chan error +} + +// proxiedTCPHandler implements TCPConnHandler from go-tun2socks by routing TCP connections +// via our proxies. +type proxiedTCPHandler struct { + dialOut func(ctx context.Context, network, addr string) (net.Conn, error) + client *iosClient + grabber dnsgrab.Server + mtu int + dialRequests chan *dialRequest + downstreamWriteWorker *worker + upstreams map[io.Closer]io.Closer + dialingConns int64 + copyingConns int64 + mx sync.RWMutex +} + +func newProxiedTCPHandler(c *iosClient, dialer *bandit.BanditDialer, grabber dnsgrab.Server) *proxiedTCPHandler { + result := &proxiedTCPHandler{ + dialOut: dialer.DialContext, + client: c, + grabber: grabber, + mtu: c.mtu, + dialRequests: make(chan *dialRequest), + downstreamWriteWorker: newWorker(downstreamWriteBufferDepth), + upstreams: make(map[io.Closer]io.Closer), + } + go result.trackStats() + result.handleDials() + return result +} + +// dialing is very memory intensive because of the cryptography involved, so we limit the concurrency of dialing to keep our memory usage +// under control +func (h *proxiedTCPHandler) handleDials() { + for i := 0; i < maxConcurrentDials; i++ { + go h.handleDial() + } +} + +func (h *proxiedTCPHandler) handleDial() { + // MEMORY_OPTIMIZATION - locking to the OS thread seems to help keep Go from spawning more OS threads when cgo calls are blocked + runtime.LockOSThread() + + for req := range h.dialRequests { + upstream, err := h.dialOut(req.ctx, bandit.NetworkConnect, req.addr) + if err == nil { + req.upstream <- upstream + } else { + req.err <- err + } + } +} + +func (h *proxiedTCPHandler) Handle(_downstream net.Conn, addr *net.TCPAddr) error { + host, ok := h.grabber.ReverseLookup(addr.IP) + if !ok { + return log.Errorf("Invalid ip address %v, will not connect", addr.IP) + } + + ctx, cancelContext := context.WithTimeout(context.Background(), dialTimeout) + addrString := fmt.Sprintf("%v:%d", host, addr.Port) + + // MEMORY_OPTIMIZATION - dialing is very memory intensive because of the cryptography involved, so we limit the + // concurrency of dialing to keep our memory usage under control + req := &dialRequest{ + ctx: ctx, + addr: addrString, + upstream: make(chan net.Conn), + err: make(chan error), + } + var upstream net.Conn + var err error + + atomic.AddInt64(&h.dialingConns, 1) + h.dialRequests <- req + + select { + case upstream = <-req.upstream: + // okay + case err = <-req.err: + // error + } + atomic.AddInt64(&h.dialingConns, -1) + + if err != nil { + cancelContext() + return log.Errorf("Unable to dial %v: %v", addrString, err) + } + + downstream := newThreadLimitingTCPConn(_downstream, h.downstreamWriteWorker) + + h.mx.Lock() + h.upstreams[downstream] = upstream + h.mx.Unlock() + + go func() { + h.copy(downstream, upstream) + cancelContext() + }() + + return nil +} + +func (h *proxiedTCPHandler) copy(downstream net.Conn, upstream net.Conn) { + atomic.AddInt64(&h.copyingConns, 1) + defer atomic.AddInt64(&h.copyingConns, -1) + + defer downstream.Close() + defer upstream.Close() + defer func() { + h.mx.Lock() + delete(h.upstreams, downstream) + h.mx.Unlock() + }() + + // MEMORY_OPTIMIZATION - we don't pool these as pooling seems to create additional memory pressure somehow + bufOut := make([]byte, h.mtu) + bufIn := make([]byte, h.mtu) + + closeTimer := time.NewTimer(closeTimeout) + keepFresh := func(_ int) { + if !closeTimer.Stop() { + <-closeTimer.C + } + closeTimer.Reset(closeTimeout) + } + + // MEMORY_OPTIMIZATION - use a threadLimitingTCPConn to limit the number of goroutines that write to lwip + outErrCh, inErrCh := netx.BidiCopyWithOpts(upstream, downstream, &netx.CopyOpts{ + BufOut: bufOut, + BufIn: bufIn, + OnOut: keepFresh, + OnIn: keepFresh, + }) + + logError := func(err error) { + if err == nil { + return + } else if idletiming.IsIdled(upstream) { + log.Debug(err) + } else { + log.Error(err) + } + } + + var wg sync.WaitGroup + wg.Add(2) + + go func() { + defer wg.Done() + + outErr := <-outErrCh + logError(outErr) + select { + case inErr := <-inErrCh: + logError(inErr) + case <-closeTimer.C: + log.Trace("opposite direction idle for more than closeTimeout, close everything") + upstream.Close() + downstream.Close() + } + }() + + go func() { + defer wg.Done() + + inErr := <-inErrCh + logError(inErr) + select { + case outErr := <-outErrCh: + logError(outErr) + case <-closeTimer.C: + log.Trace("opposite direction idle for more than closeTimeout, close everything") + upstream.Close() + downstream.Close() + } + }() + + wg.Wait() +} + +func (h *proxiedTCPHandler) trackStats() { + for { + h.mx.RLock() + numUpstreams := len(h.upstreams) + h.mx.RUnlock() + statsLog.Debugf("TCP Conns Upstreams: %d Dialing: %d Copying: %d", numUpstreams, atomic.LoadInt64(&h.dialingConns), atomic.LoadInt64(&h.copyingConns)) + time.Sleep(1 * time.Second) + } +} diff --git a/internalsdk/ios/thread_limiting_conn.go b/internalsdk/ios/thread_limiting_conn.go new file mode 100644 index 000000000..09c58626c --- /dev/null +++ b/internalsdk/ios/thread_limiting_conn.go @@ -0,0 +1,98 @@ +package ios + +import ( + "errors" + "net" + "runtime" + "sync" + + "github.com/eycorsican/go-tun2socks/core" + + "github.com/getlantern/safechannels" +) + +var ( + errWriteOnClosedConn = errors.New("write on closed threadLimitingTCPConn") +) + +type worker struct { + tasks chan func() +} + +func newWorker(bufferDepth int) *worker { + w := &worker{ + tasks: make(chan func(), bufferDepth), + } + go w.work() + return w +} + +func (w *worker) work() { + // MEMORY_OPTIMIZATION - locking to the OS thread seems to help keep Go from spawning more OS threads when cgo calls are blocked + runtime.LockOSThread() + + for task := range w.tasks { + task() + } +} + +type threadLimitingTCPConn struct { + net.Conn + writeWorker *worker + writeResult safechannels.IO + closeOnce sync.Once +} + +func newThreadLimitingTCPConn(wrapped net.Conn, writeWorker *worker) net.Conn { + return &threadLimitingTCPConn{ + Conn: wrapped, + writeWorker: writeWorker, + writeResult: safechannels.NewIO(1), + } +} + +func (c *threadLimitingTCPConn) Write(b []byte) (int, error) { + c.writeWorker.tasks <- func() { + c.writeResult.Write(c.Conn.Write(b)) + } + result, ok := <-c.writeResult.Read() + if !ok { + return 0, errWriteOnClosedConn + } + return result.N, result.Err +} + +func (c *threadLimitingTCPConn) Close() (err error) { + c.closeOnce.Do(func() { + c.writeResult.Close() + err = c.Conn.Close() + }) + return +} + +// Wrapped implements the interface netx.WrappedConn +func (c *threadLimitingTCPConn) Wrapped() net.Conn { + return c.Conn +} + +type threadLimitingUDPConn struct { + core.UDPConn + writeWorker *worker +} + +func newThreadLimitingUDPConn(wrapped core.UDPConn, writeWorker *worker) core.UDPConn { + return &threadLimitingUDPConn{ + UDPConn: wrapped, + writeWorker: writeWorker, + } +} + +func (c *threadLimitingUDPConn) WriteFrom(b []byte, addr *net.UDPAddr) (int, error) { + writeResult := make(chan *safechannels.IOResult) + c.writeWorker.tasks <- func() { + n, err := c.UDPConn.WriteFrom(b, addr) + writeResult <- &safechannels.IOResult{n, err} + } + result := <-writeResult + return result.N, result.Err +} diff --git a/internalsdk/ios/thread_limiting_conn_test.go b/internalsdk/ios/thread_limiting_conn_test.go new file mode 100644 index 000000000..ef78b475e --- /dev/null +++ b/internalsdk/ios/thread_limiting_conn_test.go @@ -0,0 +1,54 @@ +package ios + +import ( + "io" + "net" + "sync" + "testing" + + "github.com/stretchr/testify/require" +) + +func TestThreadLimitingConn(t *testing.T) { + const msg = "echo me" + + l, err := net.Listen("tcp", "127.0.0.1:0") + require.NoError(t, err) + + go func() { + for { + conn, err := l.Accept() + if err == nil { + go func() { + io.Copy(conn, conn) + }() + } + } + }() + + worker := newWorker(1) + + readers := 100 + var wg sync.WaitGroup + wg.Add(readers) + for i := 0; i < readers; i++ { + go func() { + defer wg.Done() + _conn, err := net.Dial("tcp", l.Addr().String()) + require.NoError(t, err) + conn := newThreadLimitingTCPConn(_conn, worker) + n, err := conn.Write([]byte(msg)) + require.Equal(t, n, len(msg)) + b := make([]byte, 1024) + n, err = conn.Read(b) + require.Equal(t, n, len(msg)) + require.Equal(t, msg, string(b[:n])) + + conn.Close() + _, err = conn.Write([]byte("extra")) + require.Equal(t, errWriteOnClosedConn, err) + }() + } + + wg.Wait() +} diff --git a/internalsdk/ios/udp.go b/internalsdk/ios/udp.go new file mode 100644 index 000000000..efadd5049 --- /dev/null +++ b/internalsdk/ios/udp.go @@ -0,0 +1,241 @@ +package ios + +import ( + "net" + "sync" + "sync/atomic" + "time" + + "github.com/eycorsican/go-tun2socks/core" + + "github.com/getlantern/dnsgrab" + "github.com/getlantern/flashlight/v7/chained" +) + +// UDPDialer provides a mechanism for dialing outbound UDP connections that bypass the VPN. +// The returned UDPConn is not immediately ready for use, only once the UDPCallbacks receive +// OnDialSuccess is the UDPConn ready for use. +type UDPDialer interface { + Dial(host string, port int) UDPConn +} + +// UDPConn is a UDP connection that bypasses the VPN. It is backed by an NWConnection on the +// Swift side. +// +// See https://developer.apple.com/documentation/network/nwconnection. +type UDPConn interface { + // RegisterCallbacks registers lifecycle callbacks for the connection. Clients of the UDPConn + // must call this before trying to use WriteDatagram and ReceiveDatagram. + RegisterCallbacks(cb *UDPCallbacks) + + // WriteDatagram writes one datagram to the UDPConn. Any resulting error from the right will + // be reported to UDPCallbacks.OnError. + WriteDatagram([]byte) + + // ReceiveDatagram requests receipt of the next datagram from the UDPConn. Once the datagram is received, + // it's sent to UDPCallbacks.OnReceive. + ReceiveDatagram() + + // Close closes the UDPConn + Close() +} + +type UDPCallbacks struct { + h *directUDPHandler + downstream core.UDPConn + upstream UDPConn + target *net.UDPAddr + dialSucceeded chan interface{} + dialFailed chan interface{} + received chan interface{} + wrote chan interface{} +} + +// OnConn is called once a connection is successfully dialed +func (cb *UDPCallbacks) OnDialSucceeded() { + close(cb.dialSucceeded) +} + +func (cb *UDPCallbacks) OnError(err error) { + log.Errorf("Error communicating with %v: %v", cb.target, err) +} + +// OnClose is called when the connection is closed. +func (cb *UDPCallbacks) OnClose() { + cb.h.Lock() + delete(cb.h.upstreams, cb.downstream) + cb.h.Unlock() + cb.downstream.Close() +} + +func (cb *UDPCallbacks) OnReceive(dgram []byte) { + // Request receive of next datagram + cb.upstream.ReceiveDatagram() + + // Forward datagram downstream + _, writeErr := cb.downstream.WriteFrom(dgram, cb.target) + if writeErr != nil { + log.Errorf("Unable to write UDP packet downstream: %v", writeErr) + cb.upstream.Close() + } + + cb.received <- nil +} + +func (cb *UDPCallbacks) OnWritten() { + cb.wrote <- nil +} + +func (cb *UDPCallbacks) idleTiming() { + t := time.NewTimer(chained.IdleTimeout) + resetTimer := func() { + if !t.Stop() { + <-t.C + } + next := time.Duration(chained.IdleTimeout) + t.Reset(next) + } + + for { + select { + case <-cb.received: + resetTimer() + case <-cb.wrote: + resetTimer() + case <-t.C: + log.Debugf("Timing out idle connection to %v", cb.target) + cb.upstream.Close() // we don't close downstream because that'll happen automatically once upstream finishes closing + return + } + } +} + +// directUDPHandler implements UDPConnHandler from go-tun2socks by sending UDP traffic directly to +// the origin. It is loosely based on https://github.com/eycorsican/go-tun2socks/blob/master/proxy/socks/udp.go +type directUDPHandler struct { + sync.RWMutex + + client *iosClient + dialer UDPDialer + grabber dnsgrab.Server + capturedDNSHost string + + downstreamWriteWorker *worker + upstreams map[core.UDPConn]UDPConn + dialingConns int64 +} + +func newDirectUDPHandler(client *iosClient, dialer UDPDialer, grabber dnsgrab.Server, capturedDNSHost string) *directUDPHandler { + result := &directUDPHandler{ + client: client, + dialer: dialer, + capturedDNSHost: capturedDNSHost, + grabber: grabber, + downstreamWriteWorker: newWorker(100), + upstreams: make(map[core.UDPConn]UDPConn), + } + go result.trackStats() + return result +} + +func (h *directUDPHandler) Connect(downstream core.UDPConn, target *net.UDPAddr) error { + if target.IP.String() == h.capturedDNSHost && target.Port == 53 { + // Captured dns, handle internally with dnsgrab + return nil + } + + // Since UDP traffic is sent directly, do a reverse lookup of the IP and then resolve the UDP address + host, found := h.grabber.ReverseLookup(target.IP) + if !found { + return log.Errorf("Unknown IP %v, not connecting", target.IP) + } + if found { + ip, err := net.ResolveIPAddr("ip", host) + if err != nil { + return log.Errorf("Unable to resolve IP address for %v, not connecting: %v", host, err) + } + target.IP = ip.IP + } + + // Dial + atomic.AddInt64(&h.dialingConns, 1) + defer atomic.AddInt64(&h.dialingConns, -1) + + // note - the below convoluted flow is necessary because of limitations in what kind + // of APIs can be bound to Swift using gomobile. + upstream := h.dialer.Dial(target.IP.String(), target.Port) + + cb := &UDPCallbacks{ + h: h, + // MEMORY_OPTIMIZATION - use a threadLimitingUDPConn to limit the number of goroutines that are writing to LWIP + downstream: newThreadLimitingUDPConn(downstream, h.downstreamWriteWorker), + upstream: upstream, + target: target, + dialSucceeded: make(chan interface{}), + dialFailed: make(chan interface{}), + received: make(chan interface{}, 10), + wrote: make(chan interface{}, 10), + } + + upstream.RegisterCallbacks(cb) + + select { + case <-cb.dialFailed: + return log.Errorf("Failed to dial %v", target) + case <-cb.dialSucceeded: + h.Lock() + h.upstreams[downstream] = upstream + h.Unlock() + + // Request to receive first datagram + upstream.ReceiveDatagram() + case <-time.After(dialTimeout): + upstream.Close() + return log.Errorf("Timed out dialing %v", target) + } + + go cb.idleTiming() + + return nil +} + +func (h *directUDPHandler) ReceiveTo(downstream core.UDPConn, data []byte, addr *net.UDPAddr) error { + h.RLock() + upstream := h.upstreams[downstream] + h.RUnlock() + + if upstream == nil { + // if there's no upstream, that means this is a DNS query + return h.receiveDNS(downstream, data, addr) + } + + upstream.WriteDatagram(data) + return nil +} + +func (h *directUDPHandler) receiveDNS(downstream core.UDPConn, data []byte, addr *net.UDPAddr) error { + response, numAnswers, err := h.grabber.ProcessQuery(data) + if err != nil { + return log.Errorf("Unable to process dns query: %v", err) + } + + if numAnswers == 0 { + // nothing to write + return nil + } + + // MEMORY_OPTIMIZATION - use a threadLimitingUDPConn to limit the number of goroutines that are writing to LWIP + _, writeErr := newThreadLimitingUDPConn(downstream, h.downstreamWriteWorker).WriteFrom(response, addr) + return writeErr +} + +func (h *directUDPHandler) trackStats() { + for { + h.RLock() + activeConns := len(h.upstreams) + h.RUnlock() + + statsLog.Debugf("UDP Conns Active: %d Dialing: %d", activeConns, atomic.LoadInt64(&h.dialingConns)) + time.Sleep(1 * time.Second) + } +} diff --git a/internalsdk/issue.go b/internalsdk/issue.go index f09e844a7..c5ed11561 100644 --- a/internalsdk/issue.go +++ b/internalsdk/issue.go @@ -35,7 +35,7 @@ func SendIssueReport( return err } return issue.SendReport( - newUserConfig(&panickingSessionImpl{session}), + NewUserConfig(&panickingSessionImpl{session}), issueTypeInt, description, subscriptionLevel, diff --git a/internalsdk/protos/vpn.pb.go b/internalsdk/protos/vpn.pb.go index c9cc0aefc..39be32da6 100644 --- a/internalsdk/protos/vpn.pb.go +++ b/internalsdk/protos/vpn.pb.go @@ -467,9 +467,8 @@ type PaymentProviders struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` - Data map[string]string `protobuf:"bytes,2,rep,name=data,proto3" json:"data,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` - LogoUrls []string `protobuf:"bytes,3,rep,name=logoUrls,proto3" json:"logoUrls,omitempty"` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + LogoUrls []string `protobuf:"bytes,3,rep,name=logoUrls,proto3" json:"logoUrls,omitempty"` } func (x *PaymentProviders) Reset() { @@ -511,13 +510,6 @@ func (x *PaymentProviders) GetName() string { return "" } -func (x *PaymentProviders) GetData() map[string]string { - if x != nil { - return x.Data - } - return nil -} - func (x *PaymentProviders) GetLogoUrls() []string { if x != nil { return x.LogoUrls @@ -1188,97 +1180,91 @@ var file_protos_shared_vpn_proto_rawDesc = []byte{ 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, - 0x22, 0xac, 0x01, 0x0a, 0x10, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x50, 0x72, 0x6f, 0x76, - 0x69, 0x64, 0x65, 0x72, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x2f, 0x0a, 0x04, 0x64, 0x61, 0x74, - 0x61, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, - 0x74, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x45, - 0x6e, 0x74, 0x72, 0x79, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, - 0x67, 0x6f, 0x55, 0x72, 0x6c, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x6f, - 0x67, 0x6f, 0x55, 0x72, 0x6c, 0x73, 0x1a, 0x37, 0x0a, 0x09, 0x44, 0x61, 0x74, 0x61, 0x45, 0x6e, - 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, - 0x58, 0x0a, 0x0d, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, - 0x12, 0x16, 0x0a, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x2f, 0x0a, 0x09, 0x70, 0x72, 0x6f, 0x76, - 0x69, 0x64, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x50, 0x61, - 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x52, 0x09, - 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x22, 0xf1, 0x02, 0x0a, 0x04, 0x55, 0x73, - 0x65, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x03, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x6d, - 0x61, 0x69, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, - 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x09, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x12, 0x1e, - 0x0a, 0x0a, 0x75, 0x73, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0a, 0x75, 0x73, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1c, - 0x0a, 0x09, 0x75, 0x73, 0x65, 0x72, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x09, 0x75, 0x73, 0x65, 0x72, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x16, 0x0a, 0x06, - 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6c, 0x6f, - 0x63, 0x61, 0x6c, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x65, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x65, 0x78, 0x70, 0x69, 0x72, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x21, 0x0a, 0x07, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x73, 0x18, - 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x07, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x52, 0x07, - 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, - 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x65, - 0x78, 0x70, 0x69, 0x72, 0x65, 0x41, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x65, - 0x78, 0x70, 0x69, 0x72, 0x65, 0x41, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x66, 0x65, 0x72, - 0x72, 0x61, 0x6c, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x65, 0x66, 0x65, 0x72, - 0x72, 0x61, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x0c, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x22, 0x0a, 0x0c, 0x79, 0x69, 0x6e, - 0x62, 0x69, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x0c, 0x79, 0x69, 0x6e, 0x62, 0x69, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x22, 0x56, 0x0a, - 0x0c, 0x42, 0x61, 0x73, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, - 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x65, - 0x72, 0x72, 0x6f, 0x72, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x65, 0x72, - 0x72, 0x6f, 0x72, 0x49, 0x64, 0x22, 0xd4, 0x01, 0x0a, 0x16, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, - 0x74, 0x52, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x12, 0x0a, 0x04, 0x70, 0x6c, 0x61, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, - 0x70, 0x6c, 0x61, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, - 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x08, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x12, 0x14, 0x0a, 0x05, - 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x6d, 0x61, - 0x69, 0x6c, 0x12, 0x1e, 0x0a, 0x0a, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x61, - 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x43, 0x6f, 0x64, - 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, - 0x43, 0x6f, 0x64, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x65, 0x18, 0x07, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x65, 0x22, 0xd5, 0x01, 0x0a, - 0x19, 0x52, 0x65, 0x64, 0x65, 0x65, 0x6d, 0x52, 0x65, 0x73, 0x65, 0x6c, 0x6c, 0x65, 0x72, 0x43, - 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x6d, - 0x61, 0x69, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, - 0x12, 0x22, 0x0a, 0x0c, 0x72, 0x65, 0x73, 0x65, 0x6c, 0x6c, 0x65, 0x72, 0x43, 0x6f, 0x64, 0x65, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x72, 0x65, 0x73, 0x65, 0x6c, 0x6c, 0x65, 0x72, - 0x43, 0x6f, 0x64, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x61, - 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, - 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, - 0x12, 0x26, 0x0a, 0x0e, 0x69, 0x64, 0x65, 0x6d, 0x70, 0x6f, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x4b, - 0x65, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x69, 0x64, 0x65, 0x6d, 0x70, 0x6f, - 0x74, 0x65, 0x6e, 0x63, 0x79, 0x4b, 0x65, 0x79, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x76, - 0x69, 0x64, 0x65, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x76, - 0x69, 0x64, 0x65, 0x72, 0x22, 0x7d, 0x0a, 0x17, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, - 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x18, 0x0a, - 0x07, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, - 0x65, 0x72, 0x72, 0x6f, 0x72, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x64, 0x69, 0x72, - 0x65, 0x63, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x65, 0x64, 0x69, 0x72, - 0x65, 0x63, 0x74, 0x22, 0x84, 0x01, 0x0a, 0x0c, 0x4c, 0x69, 0x6e, 0x6b, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x44, 0x12, 0x14, 0x0a, 0x05, - 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x6f, 0x6b, - 0x65, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x03, 0x20, 0x01, + 0x22, 0x42, 0x0a, 0x10, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x50, 0x72, 0x6f, 0x76, 0x69, + 0x64, 0x65, 0x72, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x67, 0x6f, + 0x55, 0x72, 0x6c, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x6f, 0x67, 0x6f, + 0x55, 0x72, 0x6c, 0x73, 0x22, 0x58, 0x0a, 0x0d, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x4d, + 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x2f, 0x0a, + 0x09, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x11, 0x2e, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, + 0x65, 0x72, 0x73, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x22, 0xf1, + 0x02, 0x0a, 0x04, 0x55, 0x73, 0x65, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, + 0x14, 0x0a, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, + 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x68, 0x6f, + 0x6e, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x68, + 0x6f, 0x6e, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x75, 0x73, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x75, 0x73, 0x65, 0x72, 0x53, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x75, 0x73, 0x65, 0x72, 0x4c, 0x65, 0x76, 0x65, 0x6c, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x75, 0x73, 0x65, 0x72, 0x4c, 0x65, 0x76, 0x65, + 0x6c, 0x12, 0x16, 0x0a, 0x06, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x06, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x65, 0x78, 0x70, + 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x65, + 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x21, 0x0a, 0x07, 0x64, 0x65, 0x76, + 0x69, 0x63, 0x65, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x07, 0x2e, 0x44, 0x65, 0x76, + 0x69, 0x63, 0x65, 0x52, 0x07, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x73, 0x12, 0x12, 0x0a, 0x04, + 0x63, 0x6f, 0x64, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, + 0x12, 0x1a, 0x0a, 0x08, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x41, 0x74, 0x18, 0x0a, 0x20, 0x01, + 0x28, 0x03, 0x52, 0x08, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x41, 0x74, 0x12, 0x1a, 0x0a, 0x08, + 0x72, 0x65, 0x66, 0x65, 0x72, 0x72, 0x61, 0x6c, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, + 0x72, 0x65, 0x66, 0x65, 0x72, 0x72, 0x61, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, + 0x6e, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x22, + 0x0a, 0x0c, 0x79, 0x69, 0x6e, 0x62, 0x69, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x0d, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x79, 0x69, 0x6e, 0x62, 0x69, 0x45, 0x6e, 0x61, 0x62, 0x6c, + 0x65, 0x64, 0x22, 0x56, 0x0a, 0x0c, 0x42, 0x61, 0x73, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x72, - 0x72, 0x6f, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, - 0x12, 0x18, 0x0a, 0x07, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x49, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x07, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x49, 0x64, 0x42, 0x1b, 0x0a, 0x10, 0x69, 0x6f, - 0x2e, 0x6c, 0x61, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5a, 0x07, - 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x72, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, + 0x12, 0x18, 0x0a, 0x07, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x07, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x49, 0x64, 0x22, 0xd4, 0x01, 0x0a, 0x16, 0x50, + 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x6c, 0x61, 0x6e, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x6c, 0x61, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x6f, + 0x76, 0x69, 0x64, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x72, 0x6f, + 0x76, 0x69, 0x64, 0x65, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, + 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, + 0x79, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x1e, 0x0a, 0x0a, 0x64, 0x65, 0x76, 0x69, 0x63, + 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x64, 0x65, 0x76, + 0x69, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x72, 0x79, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x72, 0x79, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x6c, 0x6f, 0x63, + 0x61, 0x6c, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6c, 0x6f, 0x63, 0x61, 0x6c, + 0x65, 0x22, 0xd5, 0x01, 0x0a, 0x19, 0x52, 0x65, 0x64, 0x65, 0x65, 0x6d, 0x52, 0x65, 0x73, 0x65, + 0x6c, 0x6c, 0x65, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x14, 0x0a, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, + 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x22, 0x0a, 0x0c, 0x72, 0x65, 0x73, 0x65, 0x6c, 0x6c, 0x65, + 0x72, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x72, 0x65, 0x73, + 0x65, 0x6c, 0x6c, 0x65, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x64, 0x65, 0x76, + 0x69, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x64, + 0x65, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x75, 0x72, + 0x72, 0x65, 0x6e, 0x63, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x75, 0x72, + 0x72, 0x65, 0x6e, 0x63, 0x79, 0x12, 0x26, 0x0a, 0x0e, 0x69, 0x64, 0x65, 0x6d, 0x70, 0x6f, 0x74, + 0x65, 0x6e, 0x63, 0x79, 0x4b, 0x65, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x69, + 0x64, 0x65, 0x6d, 0x70, 0x6f, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x4b, 0x65, 0x79, 0x12, 0x1a, 0x0a, + 0x08, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x08, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x22, 0x7d, 0x0a, 0x17, 0x50, 0x61, 0x79, + 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x14, 0x0a, 0x05, + 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x72, 0x72, + 0x6f, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x49, 0x64, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x07, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, + 0x72, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, + 0x72, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x22, 0x84, 0x01, 0x0a, 0x0c, 0x4c, 0x69, 0x6e, + 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, + 0x72, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, + 0x44, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, + 0x14, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, + 0x65, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x49, 0x64, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x49, 0x64, 0x42, + 0x1b, 0x0a, 0x10, 0x69, 0x6f, 0x2e, 0x6c, 0x61, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x2e, 0x6d, 0x6f, + 0x64, 0x65, 0x6c, 0x5a, 0x07, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x62, 0x06, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -1293,7 +1279,7 @@ func file_protos_shared_vpn_proto_rawDescGZIP() []byte { return file_protos_shared_vpn_proto_rawDescData } -var file_protos_shared_vpn_proto_msgTypes = make([]protoimpl.MessageInfo, 17) +var file_protos_shared_vpn_proto_msgTypes = make([]protoimpl.MessageInfo, 16) var file_protos_shared_vpn_proto_goTypes = []interface{}{ (*ServerInfo)(nil), // 0: ServerInfo (*Bandwidth)(nil), // 1: Bandwidth @@ -1311,20 +1297,18 @@ var file_protos_shared_vpn_proto_goTypes = []interface{}{ (*LinkResponse)(nil), // 13: LinkResponse nil, // 14: Plan.PriceEntry nil, // 15: Plan.ExpectedMonthlyPriceEntry - nil, // 16: PaymentProviders.DataEntry } var file_protos_shared_vpn_proto_depIdxs = []int32{ 3, // 0: Devices.devices:type_name -> Device 14, // 1: Plan.price:type_name -> Plan.PriceEntry 15, // 2: Plan.expectedMonthlyPrice:type_name -> Plan.ExpectedMonthlyPriceEntry - 16, // 3: PaymentProviders.data:type_name -> PaymentProviders.DataEntry - 6, // 4: PaymentMethod.providers:type_name -> PaymentProviders - 3, // 5: User.devices:type_name -> Device - 6, // [6:6] is the sub-list for method output_type - 6, // [6:6] is the sub-list for method input_type - 6, // [6:6] is the sub-list for extension type_name - 6, // [6:6] is the sub-list for extension extendee - 0, // [0:6] is the sub-list for field type_name + 6, // 3: PaymentMethod.providers:type_name -> PaymentProviders + 3, // 4: User.devices:type_name -> Device + 5, // [5:5] is the sub-list for method output_type + 5, // [5:5] is the sub-list for method input_type + 5, // [5:5] is the sub-list for extension type_name + 5, // [5:5] is the sub-list for extension extendee + 0, // [0:5] is the sub-list for field type_name } func init() { file_protos_shared_vpn_proto_init() } @@ -1508,7 +1492,7 @@ func file_protos_shared_vpn_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_protos_shared_vpn_proto_rawDesc, NumEnums: 0, - NumMessages: 17, + NumMessages: 16, NumExtensions: 0, NumServices: 0, }, diff --git a/internalsdk/session_model.go b/internalsdk/session_model.go index ab6fd5bf1..822fccf39 100644 --- a/internalsdk/session_model.go +++ b/internalsdk/session_model.go @@ -3,14 +3,13 @@ package internalsdk import ( "context" "fmt" - "net/http" - "path/filepath" "strconv" "time" "github.com/getlantern/errors" - "github.com/getlantern/flashlight/v7/logging" "github.com/getlantern/flashlight/v7/proxied" + + //"github.com/getlantern/flashlight/v7/proxied" "github.com/getlantern/lantern-client/internalsdk/common" "github.com/getlantern/lantern-client/internalsdk/pro" "github.com/getlantern/lantern-client/internalsdk/protos" @@ -86,17 +85,15 @@ func NewSessionModel(mdb minisql.DB, opts *SessionModelOpts) (*SessionModel, err if err != nil { return nil, err } + dialTimeout := 30 * time.Second if opts.Platform == "ios" { + dialTimeout = 20 * time.Second base.db.RegisterType(1000, &protos.ServerInfo{}) base.db.RegisterType(2000, &protos.Devices{}) } m := &SessionModel{baseModel: base} - m.proClient = pro.NewClient(fmt.Sprintf("https://%s", common.ProAPIHost), &pro.Opts{ - HttpClient: &http.Client{ - Transport: proxied.ParallelForIdempotent(), - Timeout: 30 * time.Second, - }, + HttpClient: proxied.DirectThenFrontedClient(dialTimeout), UserConfig: func() common.UserConfig { deviceID, _ := m.GetDeviceID() userID, _ := m.GetUserID() @@ -114,7 +111,8 @@ func NewSessionModel(mdb minisql.DB, opts *SessionModelOpts) (*SessionModel, err }) m.baseModel.doInvokeMethod = m.doInvokeMethod - return m, m.initSessionModel(context.Background(), opts) + go m.initSessionModel(context.Background(), opts) + return m, nil } func (m *SessionModel) doInvokeMethod(method string, arguments Arguments) (interface{}, error) { @@ -184,7 +182,7 @@ func (m *SessionModel) doInvokeMethod(method string, arguments Arguments) (inter case "createUser": err := m.userCreate(context.Background(), arguments.Scalar().String()) if err != nil { - return nil, err + log.Error(err) } return true, nil case "hasAllNetworkPermssion": @@ -196,23 +194,23 @@ func (m *SessionModel) doInvokeMethod(method string, arguments Arguments) (inter } checkAdsEnabled(m) return true, nil + case "updateStats": + city := arguments.Get("city").String() + country := arguments.Get("country").String() + serverCountryCode := arguments.Get("serverCountryCode").String() + httpsUpgrades := arguments.Get("httpsUpgrades").Int() + adsBlocked := arguments.Get("adsBlocked").Int() + hasSucceedingProxy := arguments.Get("hasSucceedingProxy").Bool() + err := m.UpdateStats(city, country, serverCountryCode, httpsUpgrades, adsBlocked, hasSucceedingProxy) + if err != nil { + return nil, err + } + return true, nil default: return m.methodNotImplemented(method) } } -// Internal functions that manage method -func (m *SessionModel) StartService(configDir string, - locale string, - settings Settings) { - logging.EnableFileLogging(common.DefaultAppName, filepath.Join(configDir, "logs")) - session := &panickingSessionImpl{m} - startOnce.Do(func() { - go run(configDir, locale, settings, session) - }) - -} - // InvokeMethod handles method invocations on the SessionModel. func (m *SessionModel) initSessionModel(ctx context.Context, opts *SessionModelOpts) error { // Check if email if empty @@ -275,19 +273,20 @@ func (m *SessionModel) initSessionModel(ctx context.Context, opts *SessionModelO if userId == 0 { local, err := m.Locale() if err != nil { - return err - } - // Create user - err = m.userCreate(ctx, local) - if err != nil { - return err + log.Error(err) + } else { + // Create user + err = m.userCreate(ctx, local) + if err != nil { + log.Error(err) + } } } // Get all user details err = m.userDetail(ctx) if err != nil { - return err + log.Error(err) } return checkAdsEnabled(m) } diff --git a/internalsdk/stats_tracker.go b/internalsdk/stats_tracker.go index ed9faaddb..7b3da7807 100644 --- a/internalsdk/stats_tracker.go +++ b/internalsdk/stats_tracker.go @@ -6,10 +6,10 @@ import ( type statsTracker struct { stats.Tracker - session panickingSession + session PanickingSession } -func NewStatsTracker(session panickingSession) *statsTracker { +func NewStatsTracker(session PanickingSession) *statsTracker { s := &statsTracker{ Tracker: stats.NewTracker(), session: session, diff --git a/ios/.swiftlint.yml b/ios/.swiftlint.yml index 056efef3e..ec05fd9ad 100644 --- a/ios/.swiftlint.yml +++ b/ios/.swiftlint.yml @@ -1,9 +1,15 @@ disabled_rules: - trailing_whitespace - identifier_name +- line_length opt_in_rules: - empty_count - empty_string +- vertical_whitespace_closing_braces +- redundant_optional_initialization +- explicit_self +- vertical_parameter_alignment +- weak_delegate included: # paths to include during linting. `--path` is ignored if present. - Source - Runner diff --git a/ios/Podfile.lock b/ios/Podfile.lock index e2abbaaf6..b70495750 100644 --- a/ios/Podfile.lock +++ b/ios/Podfile.lock @@ -4,41 +4,38 @@ PODS: - Flutter - audioplayers_darwin (0.0.1): - Flutter - - clever_ads_solutions (0.0.1): - - CleverAdsSolutions-Base (~> 3.5.2) - - Flutter - CleverAdsSolutions-Base (3.5.6) - device_info_plus (0.0.1): - Flutter - - DKImagePickerController/Core (4.3.4): + - DKImagePickerController/Core (4.3.9): - DKImagePickerController/ImageDataManager - DKImagePickerController/Resource - - DKImagePickerController/ImageDataManager (4.3.4) - - DKImagePickerController/PhotoGallery (4.3.4): + - DKImagePickerController/ImageDataManager (4.3.9) + - DKImagePickerController/PhotoGallery (4.3.9): - DKImagePickerController/Core - DKPhotoGallery - - DKImagePickerController/Resource (4.3.4) - - DKPhotoGallery (0.0.17): - - DKPhotoGallery/Core (= 0.0.17) - - DKPhotoGallery/Model (= 0.0.17) - - DKPhotoGallery/Preview (= 0.0.17) - - DKPhotoGallery/Resource (= 0.0.17) + - DKImagePickerController/Resource (4.3.9) + - DKPhotoGallery (0.0.19): + - DKPhotoGallery/Core (= 0.0.19) + - DKPhotoGallery/Model (= 0.0.19) + - DKPhotoGallery/Preview (= 0.0.19) + - DKPhotoGallery/Resource (= 0.0.19) - SDWebImage - SwiftyGif - - DKPhotoGallery/Core (0.0.17): + - DKPhotoGallery/Core (0.0.19): - DKPhotoGallery/Model - DKPhotoGallery/Preview - SDWebImage - SwiftyGif - - DKPhotoGallery/Model (0.0.17): + - DKPhotoGallery/Model (0.0.19): - SDWebImage - SwiftyGif - - DKPhotoGallery/Preview (0.0.17): + - DKPhotoGallery/Preview (0.0.19): - DKPhotoGallery/Model - DKPhotoGallery/Resource - SDWebImage - SwiftyGif - - DKPhotoGallery/Resource (0.0.17): + - DKPhotoGallery/Resource (0.0.19): - SDWebImage - SwiftyGif - emoji_picker_flutter (0.0.1): @@ -68,59 +65,13 @@ PODS: - fluttertoast (0.0.2): - Flutter - Toast - - Google-Mobile-Ads-SDK (10.11.0): - - GoogleAppMeasurement (< 11.0, >= 7.0) + - Google-Mobile-Ads-SDK (11.2.0): - GoogleUserMessagingPlatform (>= 1.1) - google_mobile_ads (1.0.0): - Flutter - - Google-Mobile-Ads-SDK (~> 10.11.0) + - Google-Mobile-Ads-SDK (~> 11.2.0) - webview_flutter_wkwebview - - GoogleAppMeasurement (10.23.0): - - GoogleAppMeasurement/AdIdSupport (= 10.23.0) - - GoogleUtilities/AppDelegateSwizzler (~> 7.11) - - GoogleUtilities/MethodSwizzler (~> 7.11) - - GoogleUtilities/Network (~> 7.11) - - "GoogleUtilities/NSData+zlib (~> 7.11)" - - nanopb (< 2.30911.0, >= 2.30908.0) - - GoogleAppMeasurement/AdIdSupport (10.23.0): - - GoogleAppMeasurement/WithoutAdIdSupport (= 10.23.0) - - GoogleUtilities/AppDelegateSwizzler (~> 7.11) - - GoogleUtilities/MethodSwizzler (~> 7.11) - - GoogleUtilities/Network (~> 7.11) - - "GoogleUtilities/NSData+zlib (~> 7.11)" - - nanopb (< 2.30911.0, >= 2.30908.0) - - GoogleAppMeasurement/WithoutAdIdSupport (10.23.0): - - GoogleUtilities/AppDelegateSwizzler (~> 7.11) - - GoogleUtilities/MethodSwizzler (~> 7.11) - - GoogleUtilities/Network (~> 7.11) - - "GoogleUtilities/NSData+zlib (~> 7.11)" - - nanopb (< 2.30911.0, >= 2.30908.0) - - GoogleUserMessagingPlatform (2.3.0) - - GoogleUtilities/AppDelegateSwizzler (7.13.0): - - GoogleUtilities/Environment - - GoogleUtilities/Logger - - GoogleUtilities/Network - - GoogleUtilities/Privacy - - GoogleUtilities/Environment (7.13.0): - - GoogleUtilities/Privacy - - PromisesObjC (< 3.0, >= 1.2) - - GoogleUtilities/Logger (7.13.0): - - GoogleUtilities/Environment - - GoogleUtilities/Privacy - - GoogleUtilities/MethodSwizzler (7.13.0): - - GoogleUtilities/Logger - - GoogleUtilities/Privacy - - GoogleUtilities/Network (7.13.0): - - GoogleUtilities/Logger - - "GoogleUtilities/NSData+zlib" - - GoogleUtilities/Privacy - - GoogleUtilities/Reachability - - "GoogleUtilities/NSData+zlib (7.13.0)": - - GoogleUtilities/Privacy - - GoogleUtilities/Privacy (7.13.0) - - GoogleUtilities/Reachability (7.13.0): - - GoogleUtilities/Logger - - GoogleUtilities/Privacy + - GoogleUserMessagingPlatform (2.4.0) - integration_test (0.0.1): - Flutter - libwebp (1.3.2): @@ -136,11 +87,6 @@ PODS: - libwebp/webp (1.3.2): - libwebp/sharpyuv - MTBBarcodeScanner (5.0.11) - - nanopb (2.30910.0): - - nanopb/decode (= 2.30910.0) - - nanopb/encode (= 2.30910.0) - - nanopb/decode (2.30910.0) - - nanopb/encode (2.30910.0) - OrderedSet (5.0.0) - package_info_plus (0.4.5): - Flutter @@ -149,13 +95,12 @@ PODS: - FlutterMacOS - permission_handler_apple (9.1.1): - Flutter - - PromisesObjC (2.4.0) - qr_code_scanner (0.2.0): - Flutter - MTBBarcodeScanner - - SDWebImage (5.19.1): - - SDWebImage/Core (= 5.19.1) - - SDWebImage/Core (5.19.1) + - SDWebImage (5.19.2): + - SDWebImage/Core (= 5.19.2) + - SDWebImage/Core (5.19.2) - Sentry/HybridSDK (8.21.0): - SentryPrivate (= 8.21.0) - sentry_flutter (0.0.1): @@ -171,8 +116,8 @@ PODS: - sqflite (0.0.3): - Flutter - FlutterMacOS - - SwiftyGif (5.4.4) - - Toast (4.1.0) + - SwiftyGif (5.4.5) + - Toast (4.1.1) - Toast-Swift (5.0.1) - url_launcher_ios (0.0.1): - Flutter @@ -190,7 +135,6 @@ PODS: DEPENDENCIES: - app_links (from `.symlinks/plugins/app_links/ios`) - audioplayers_darwin (from `.symlinks/plugins/audioplayers_darwin/ios`) - - clever_ads_solutions (from `.symlinks/plugins/clever_ads_solutions/ios`) - CleverAdsSolutions-Base (~> 3.5.1) - device_info_plus (from `.symlinks/plugins/device_info_plus/ios`) - emoji_picker_flutter (from `.symlinks/plugins/emoji_picker_flutter/ios`) @@ -228,14 +172,10 @@ SPEC REPOS: - DKImagePickerController - DKPhotoGallery - Google-Mobile-Ads-SDK - - GoogleAppMeasurement - GoogleUserMessagingPlatform - - GoogleUtilities - libwebp - MTBBarcodeScanner - - nanopb - OrderedSet - - PromisesObjC - SDWebImage - Sentry - SentryPrivate @@ -248,8 +188,6 @@ EXTERNAL SOURCES: :path: ".symlinks/plugins/app_links/ios" audioplayers_darwin: :path: ".symlinks/plugins/audioplayers_darwin/ios" - clever_ads_solutions: - :path: ".symlinks/plugins/clever_ads_solutions/ios" device_info_plus: :path: ".symlinks/plugins/device_info_plus/ios" emoji_picker_flutter: @@ -307,11 +245,10 @@ SPEC CHECKSUMS: Alamofire: 814429acc853c6c54ff123fc3d2ef66803823ce0 app_links: e70ca16b4b0f88253b3b3660200d4a10b4ea9795 audioplayers_darwin: 877d9a4d06331c5c374595e46e16453ac7eafa40 - clever_ads_solutions: 4329310a15fd616aee3de8f208018fa1621e7c66 CleverAdsSolutions-Base: b2b98815a732a72d75dadfde430c5f24eafafdd5 device_info_plus: c6fb39579d0f423935b0c9ce7ee2f44b71b9fce6 - DKImagePickerController: b512c28220a2b8ac7419f21c491fc8534b7601ac - DKPhotoGallery: fdfad5125a9fdda9cc57df834d49df790dbb4179 + DKImagePickerController: 946cec48c7873164274ecc4624d19e3da4c1ef3c + DKPhotoGallery: b3834fecb755ee09a593d7c9e389d8b5d6deed60 emoji_picker_flutter: fe2e6151c5b548e975d546e6eeb567daf0962a58 file_picker: ce3938a0df3cc1ef404671531facef740d03f920 Flutter: e0871f40cf51350855a761d2e70bf5af5b9b5de7 @@ -322,30 +259,26 @@ SPEC CHECKSUMS: flutter_pdfview: 25f53dd6097661e6395b17de506e6060585946bd flutter_uploader: 2b07c4d41cf1218f25e6d5b8bcfa2d913838e27c fluttertoast: 31b00dabfa7fb7bacd9e7dbee580d7a2ff4bf265 - Google-Mobile-Ads-SDK: 58b4fda3f9758fc1ed210aa5cf7777b5eb55d47e - google_mobile_ads: 511febb4768edc860ee455a9e201ff52de385908 - GoogleAppMeasurement: 453eb0de99fcf2bdec9403e9ac5d7871fdba3e3f - GoogleUserMessagingPlatform: b1ad7bb1ee3ce64749d4fec24f667b36e45c396c - GoogleUtilities: d053d902a8edaa9904e1bd00c37535385b8ed152 + Google-Mobile-Ads-SDK: 5a6d005a6cb5b5e8f4c7b69ca05cdea79c181139 + google_mobile_ads: 5698dd1cd5a3cfc6688abec7db5428f237d6b1ac + GoogleUserMessagingPlatform: f131fa7978d2ba88d7426702b057c2cc318e6595 integration_test: 13825b8a9334a850581300559b8839134b124670 libwebp: 1786c9f4ff8a279e4dac1e8f385004d5fc253009 MTBBarcodeScanner: f453b33c4b7dfe545d8c6484ed744d55671788cb - nanopb: 438bc412db1928dac798aa6fd75726007be04262 OrderedSet: aaeb196f7fef5a9edf55d89760da9176ad40b93c package_info_plus: 115f4ad11e0698c8c1c5d8a689390df880f47e85 path_provider_foundation: 3784922295ac71e43754bd15e0653ccfd36a147c permission_handler_apple: e76247795d700c14ea09e3a2d8855d41ee80a2e6 - PromisesObjC: f5707f49cb48b9636751c5b2e7d227e43fba9f47 qr_code_scanner: bb67d64904c3b9658ada8c402e8b4d406d5d796e - SDWebImage: 40b0b4053e36c660a764958bff99eed16610acbb + SDWebImage: dfe95b2466a9823cf9f0c6d01217c06550d7b29a Sentry: ebc12276bd17613a114ab359074096b6b3725203 sentry_flutter: dff1df05dc39c83d04f9330b36360fc374574c5e SentryPrivate: d651efb234cf385ec9a1cdd3eff94b5e78a0e0fe share_plus: c3fef564749587fc939ef86ffb283ceac0baf9f5 shared_preferences_foundation: b4c3b4cddf1c21f02770737f147a3f5da9d39695 sqflite: 673a0e54cc04b7d6dba8d24fb8095b31c3a99eec - SwiftyGif: 93a1cc87bf3a51916001cf8f3d63835fb64c819f - Toast: ec33c32b8688982cecc6348adeae667c1b9938da + SwiftyGif: 706c60cf65fa2bc5ee0313beece843c8eb8194d4 + Toast: 1f5ea13423a1e6674c4abdac5be53587ae481c4e Toast-Swift: 9b6a70f28b3bf0b96c40d46c0c4b9d6639846711 url_launcher_ios: 6116280ddcfe98ab8820085d8d76ae7449447586 video_player_avfoundation: 02011213dab73ae3687df27ce441fbbcc82b5579 @@ -355,4 +288,4 @@ SPEC CHECKSUMS: PODFILE CHECKSUM: f41df053e13795ca3bec060038c249ef06910792 -COCOAPODS: 1.15.2 +COCOAPODS: 1.14.3 diff --git a/ios/Runner.xcodeproj/project.pbxproj b/ios/Runner.xcodeproj/project.pbxproj index 206da089f..1f90cf6e9 100644 --- a/ios/Runner.xcodeproj/project.pbxproj +++ b/ios/Runner.xcodeproj/project.pbxproj @@ -14,12 +14,12 @@ 0308A1312AAEF3B00086157A /* Event.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0308A12F2AAEF3AA0086157A /* Event.swift */; }; 0308A1342AAEF5130086157A /* VPNBase.swift in Sources */ = {isa = PBXBuildFile; fileRef = 03A1AB152AA88BF200FB41B2 /* VPNBase.swift */; }; 0308A1392AAEF8DE0086157A /* FlashlightManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0321C3F82AA9D8DF00D462C1 /* FlashlightManager.swift */; }; - 0308A13D2AAF39F80086157A /* FlashlightManagerExtension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0308A13C2AAF39F80086157A /* FlashlightManagerExtension.swift */; }; 0308A13E2AAF43A10086157A /* UserNotificationsManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0308A12B2AAEEE2C0086157A /* UserNotificationsManager.swift */; }; 0321C3F72AA9D84700D462C1 /* Process.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0321C3F62AA9D84700D462C1 /* Process.swift */; }; 0321C3F92AA9D8DF00D462C1 /* FlashlightManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0321C3F82AA9D8DF00D462C1 /* FlashlightManager.swift */; }; 0324CC302AE279CF00490B46 /* SentryUtils.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0324CC2F2AE279CF00490B46 /* SentryUtils.swift */; }; 032A43582AA6F8AA00EF442B /* DnsDetector.swift in Sources */ = {isa = PBXBuildFile; fileRef = 032A43572AA6F8AA00EF442B /* DnsDetector.swift */; }; + 0332DD612BFF809C0007240D /* StatsTracker.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0332DD602BFF809C0007240D /* StatsTracker.swift */; }; 0333203B2AC698FA00333DA9 /* MockVPNManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0333203A2AC698FA00333DA9 /* MockVPNManager.swift */; }; 03567DBB2AA9F15100A233EA /* Constants.swift in Sources */ = {isa = PBXBuildFile; fileRef = 03A1AB432AA8946400FB41B2 /* Constants.swift */; }; 03567DBC2AA9F18D00A233EA /* Process.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0321C3F62AA9D84700D462C1 /* Process.swift */; }; @@ -44,6 +44,7 @@ 03FAF1B42AA1E9F40063580C /* VpnModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 03FAF1B32AA1E9F40063580C /* VpnModel.swift */; }; 1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */ = {isa = PBXBuildFile; fileRef = 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */; }; 3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */ = {isa = PBXBuildFile; fileRef = 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */; }; + 5FA8BFF12BFB34F80097D1B9 /* FlashlightManagerExtension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5FA8BFF02BFB34F80097D1B9 /* FlashlightManagerExtension.swift */; }; 74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74858FAE1ED2DC5600515810 /* AppDelegate.swift */; }; 97C146FC1CF9000F007C117D /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FA1CF9000F007C117D /* Main.storyboard */; }; 97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FD1CF9000F007C117D /* Assets.xcassets */; }; @@ -94,12 +95,12 @@ 0308A12B2AAEEE2C0086157A /* UserNotificationsManager.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = UserNotificationsManager.swift; sourceTree = ""; }; 0308A12D2AAEEF410086157A /* Events.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Events.swift; sourceTree = ""; }; 0308A12F2AAEF3AA0086157A /* Event.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Event.swift; sourceTree = ""; }; - 0308A13C2AAF39F80086157A /* FlashlightManagerExtension.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = FlashlightManagerExtension.swift; sourceTree = ""; }; 0315F55C2AC1C1A500D49F7B /* DatabaseFramework.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = DatabaseFramework.framework; path = "../../../../../Library/Developer/Xcode/DerivedData/DatabaseFramework-csnjouuwjwleiddbptbupimqigld/Build/Products/Debug-iphoneos/DatabaseFramework.framework"; sourceTree = ""; }; 0321C3F62AA9D84700D462C1 /* Process.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Process.swift; sourceTree = ""; }; 0321C3F82AA9D8DF00D462C1 /* FlashlightManager.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = FlashlightManager.swift; sourceTree = ""; }; 0324CC2F2AE279CF00490B46 /* SentryUtils.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SentryUtils.swift; sourceTree = ""; }; 032A43572AA6F8AA00EF442B /* DnsDetector.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DnsDetector.swift; sourceTree = ""; }; + 0332DD602BFF809C0007240D /* StatsTracker.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StatsTracker.swift; sourceTree = ""; }; 0333203A2AC698FA00333DA9 /* MockVPNManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MockVPNManager.swift; sourceTree = ""; }; 03567DBF2AA9F47200A233EA /* FileUtils.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FileUtils.swift; sourceTree = ""; }; 03567DC22AA9F77000A233EA /* NEProviderStopReason.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NEProviderStopReason.swift; sourceTree = ""; }; @@ -137,6 +138,7 @@ 40CA215A5360960236859E29 /* Pods-Runner.debug-prod.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug-prod.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug-prod.xcconfig"; sourceTree = ""; }; 41DDE2A6029CFDB93A269403 /* Pods-LanternTests.debug-runner-appium-test.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-LanternTests.debug-runner-appium-test.xcconfig"; path = "Target Support Files/Pods-LanternTests/Pods-LanternTests.debug-runner-appium-test.xcconfig"; sourceTree = ""; }; 4C199F107C36A050FA0BD82A /* Pods-Runner.debug-appium-test.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug-appium-test.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug-appium-test.xcconfig"; sourceTree = ""; }; + 5FA8BFF02BFB34F80097D1B9 /* FlashlightManagerExtension.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = FlashlightManagerExtension.swift; sourceTree = ""; }; 607A0530FA4F0B857B847CC5 /* Pods-Runner.profile-prod.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile-prod.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile-prod.xcconfig"; sourceTree = ""; }; 639C2FD1FB8C2B8BA0BC8FA2 /* Pods-LanternTests.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-LanternTests.profile.xcconfig"; path = "Target Support Files/Pods-LanternTests/Pods-LanternTests.profile.xcconfig"; sourceTree = ""; }; 74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Runner-Bridging-Header.h"; sourceTree = ""; }; @@ -231,9 +233,9 @@ 03A1AB122AA88BB400FB41B2 /* Vpn */ = { isa = PBXGroup; children = ( - 0308A13C2AAF39F80086157A /* FlashlightManagerExtension.swift */, 0308A1272AAEED7E0086157A /* VpnHelper.swift */, 0321C3F82AA9D8DF00D462C1 /* FlashlightManager.swift */, + 5FA8BFF02BFB34F80097D1B9 /* FlashlightManagerExtension.swift */, 03A1AB152AA88BF200FB41B2 /* VPNBase.swift */, 03A1AB132AA88BDA00FB41B2 /* VPNManager.swift */, 0333203A2AC698FA00333DA9 /* MockVPNManager.swift */, @@ -249,6 +251,7 @@ 03A1AB342AA890AB00FB41B2 /* PacketTunnelProvider.swift */, 03A1AB362AA890AB00FB41B2 /* Info.plist */, 03A1AB372AA890AB00FB41B2 /* Tunnel.entitlements */, + 0332DD602BFF809C0007240D /* StatsTracker.swift */, ); path = Tunnel; sourceTree = ""; @@ -464,7 +467,6 @@ 97C146EC1CF9000F007C117D /* Resources */, 03A1AB3F2AA890AB00FB41B2 /* Embed Foundation Extensions */, 3B06AD1E1E4923F5004D2608 /* Thin Binary */, - 3F72706DAEB45E756D135F84 /* [CP] Embed Pods Frameworks */, 8CFC94838D10599DD335E9EC /* [CP] Copy Pods Resources */, 03ACAAB62AC5B7ED00D74DD4 /* ShellScript */, ); @@ -506,7 +508,7 @@ isa = PBXProject; attributes = { LastSwiftUpdateCheck = 1430; - LastUpgradeCheck = 1430; + LastUpgradeCheck = 1510; ORGANIZATIONNAME = ""; TargetAttributes = { 03A1AB2F2AA890AB00FB41B2 = { @@ -668,6 +670,7 @@ 03567DBE2AA9F31200A233EA /* Logger.swift in Sources */, 0308A13E2AAF43A10086157A /* UserNotificationsManager.swift in Sources */, 0308A1312AAEF3B00086157A /* Event.swift in Sources */, + 0332DD612BFF809C0007240D /* StatsTracker.swift in Sources */, 03A1AB352AA890AB00FB41B2 /* PacketTunnelProvider.swift in Sources */, 03567DBB2AA9F15100A233EA /* Constants.swift in Sources */, 03567DC12AA9F47200A233EA /* FileUtils.swift in Sources */, @@ -700,11 +703,11 @@ 0308A1302AAEF3AA0086157A /* Event.swift in Sources */, 74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */, 03A1AB142AA88BDA00FB41B2 /* VPNManager.swift in Sources */, - 0308A13D2AAF39F80086157A /* FlashlightManagerExtension.swift in Sources */, 03567DC02AA9F47200A233EA /* FileUtils.swift in Sources */, 03802FA32A98C9B000DACDFC /* SubscriberRequest.swift in Sources */, 03A1AB422AA8930A00FB41B2 /* Result.swift in Sources */, 0324CC302AE279CF00490B46 /* SentryUtils.swift in Sources */, + 5FA8BFF12BFB34F80097D1B9 /* FlashlightManagerExtension.swift in Sources */, 0308A1282AAEED7E0086157A /* VpnHelper.swift in Sources */, 03F00B5F2AB07C8000E991E2 /* LoadingIndicatorManager.swift in Sources */, EC6155E92ACC8FF70015527E /* NavigationModel.swift in Sources */, diff --git a/ios/Runner.xcodeproj/xcshareddata/xcschemes/prod.xcscheme b/ios/Runner.xcodeproj/xcshareddata/xcschemes/prod.xcscheme index 6abe0af3c..fdd117926 100644 --- a/ios/Runner.xcodeproj/xcshareddata/xcschemes/prod.xcscheme +++ b/ios/Runner.xcodeproj/xcshareddata/xcschemes/prod.xcscheme @@ -49,6 +49,13 @@ ReferencedContainer = "container:Runner.xcodeproj"> + + + + - - - - PreviewsEnabled - - - diff --git a/ios/Runner/AppDelegate.swift b/ios/Runner/AppDelegate.swift index a544c5741..0bfefe967 100644 --- a/ios/Runner/AppDelegate.swift +++ b/ios/Runner/AppDelegate.swift @@ -4,20 +4,16 @@ import SQLite import Toast_Swift import UIKit -//know Issue -//  CFPrefsPlistSource<0x28281e580> (Domain: group.getlantern.lantern, User: kCFPreferencesAnyUser, ByHost: Yes, Container: (null), Contents Need Refresh: Yes): Using kCFPreferencesAnyUser with a container is only allowed for System Containers, - @UIApplicationMain @objc class AppDelegate: FlutterAppDelegate { // Flutter Properties var flutterViewController: FlutterViewController! var flutterbinaryMessenger: FlutterBinaryMessenger! // Model Properties - var sessionModel: SessionModel! - var lanternModel: LanternModel! - // var navigationModel: NavigationModel! - var vpnModel: VpnModel! - var messagingModel: MessagingModel! + private var sessionModel: SessionModel! + private var lanternModel: LanternModel! + private var vpnModel: VpnModel! + private var messagingModel: MessagingModel! // IOS var loadingManager: LoadingIndicatorManager? @@ -25,7 +21,6 @@ import UIKit _ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]? ) -> Bool { - // SentryUtils.startSentry(); initializeFlutterComponents() do { try setupAppComponents() @@ -45,20 +40,9 @@ import UIKit // Intlize this GO model and callback private func setupAppComponents() throws { - DispatchQueue.global(qos: .userInitiated).async { - do { - try self.setupModels() - DispatchQueue.main.async { - self.startUpSequency() - self.setupLoadingBar() - } - } catch { - DispatchQueue.main.async { - logger.error("Unexpected error setting up models: \(error)") - } - } - } - + try self.setupModels() + self.startUpSequency() + self.setupLoadingBar() } // Init all the models diff --git a/ios/Runner/Lantern/Core/Vpn/VPNManager.swift b/ios/Runner/Lantern/Core/Vpn/VPNManager.swift index f806af644..7f4efdc6c 100644 --- a/ios/Runner/Lantern/Core/Vpn/VPNManager.swift +++ b/ios/Runner/Lantern/Core/Vpn/VPNManager.swift @@ -3,6 +3,7 @@ // Lantern // +import Internalsdk import Network import NetworkExtension @@ -208,6 +209,18 @@ class VPNManager: VPNBase { let config = NETunnelProviderProtocol() config.providerBundleIdentifier = Constants.netExBundleId config.serverAddress = "0.0.0.0" // needs to be set but purely 8.8.8.8 + + // var conf = [String: AnyObject]() + // + // let httpPort = IosHTTPProxyPort() + // + // logger.log("HTTP proxy port is \(httpPort)") + // + // conf["proxyHost"] = "127.0.0.1" as AnyObject + // conf["proxyPort"] = String(httpPort) as AnyObject + + // config.providerConfiguration = conf + provider.protocolConfiguration = config provider.isEnabled = true // calling start when disabled crashes // Set rules for onDemand... diff --git a/ios/Runner/Lantern/Core/Vpn/VpnHelper.swift b/ios/Runner/Lantern/Core/Vpn/VpnHelper.swift index e5c9c600b..e10f71a22 100644 --- a/ios/Runner/Lantern/Core/Vpn/VpnHelper.swift +++ b/ios/Runner/Lantern/Core/Vpn/VpnHelper.swift @@ -61,7 +61,6 @@ class VpnHelper: NSObject { } } - static let hasFetchedConfigDefaultsKey = "Lantern.hasConfig" // Apple let fileManager: FileManager let userDefaults: UserDefaults @@ -70,11 +69,12 @@ class VpnHelper: NSObject { let constants: Constants let flashlightManager: FlashlightManager let vpnManager: VPNBase - var configFetchTimer: Timer! + // var configFetchTimer: Timer! var hasConfiguredThisSession = false - var hasFetchedConfigOnce: Bool { - return (userDefaults.value(forKey: VpnHelper.hasFetchedConfigDefaultsKey) as? Bool) ?? false - } + var configFetchInProcess: Bool = false + + private var configFetchTimer: DispatchSourceTimer? + private let fetchQueue = DispatchQueue(label: "org.getlantern.configfetch", qos: .background) init( constants: Constants, @@ -94,7 +94,7 @@ class VpnHelper: NSObject { configuring = true _state = .idle(nil) super.init() - if self.hasFetchedConfigOnce { + if self.hasConfiguredThisSession { self.configuring = false } performAppSetUp() @@ -126,7 +126,7 @@ class VpnHelper: NSObject { // create process-specific directory @ ~/app do { - try fileManager.ensureDirectoryExists(at: Constants.lanternDirectory) + try fileManager.ensureDirectoryExists(at: Constants.lanternDirectory) } catch { logger.error("Failed to create directory @ \(Constants.lanternDirectory.path)") } @@ -166,7 +166,7 @@ class VpnHelper: NSObject { onSuccess: (() -> Void)? = nil ) { guard state.isIdle else { return } - if !hasFetchedConfigOnce { + if !hasConfiguredThisSession { initiateConfigFetching(onError: onError, onSuccess: onSuccess) } else { initiateVPNStart(onError: onError, onSuccess: onSuccess) @@ -237,25 +237,112 @@ class VpnHelper: NSObject { } func fetchConfigIfNecessary() { - logger.debug("Checking if config fetch is needed") - guard !self.hasConfiguredThisSession else { return } - logger.debug("Will fetch config") - self.hasConfiguredThisSession = true - let hasFetchedConfigOnce = self.hasFetchedConfigOnce + guard configFetchInProcess == false else { + logger.debug("Config fetch is already in progress.") + return + } + logger.debug("Checking if config fetch is needed for state: \(state)") + if !self.hasConfiguredThisSession { + logger.debug("Config fetch is needed for first time") + self.fetchAndSetUpTimer() + return + } + + guard state == .connected else { + logger.debug("Config fetch not needed: state is not connected.") + return + } + + logger.debug("State is connected, will fetch config") + self.fetchAndSetUpTimer() + } + + private func fetchAndSetUpTimer() { + configFetchInProcess = true + logger.debug("Starting config fetch...") fetchConfig { [weak self] result in - self?.setUpConfigFetchTimer() DispatchQueue.main.async { - self?.configuring = false - if let state = self?.state { - guard state.isIdle else { return } + guard let strongSelf = self else { return } + switch result { + case .success: + logger.debug("Config fetch succeeded.") + strongSelf.configuring = false + strongSelf.hasConfiguredThisSession = true + strongSelf.configFetchInProcess = false + case .failure(let error): + logger.error("Config fetch failed: \(error.localizedDescription)") + if !strongSelf.hasConfiguredThisSession { + strongSelf.state = .configuring + // if the config not fetched we need to try again + strongSelf.fetchAndSetUpTimer() + return + } } - if !result.isSuccess && !hasFetchedConfigOnce { - self?.state = .idle(.unableToFetchConfig) + // Start the timer to fetch config periodically if connected + strongSelf.setUpConfigFetchTimer() + } + } + } + + // this use DispatchSource more efficient method + func setUpConfigFetchTimer() { + // Cancel any existing timer + configFetchTimer?.cancel() + configFetchTimer = nil + + // Create a new DispatchSourceTimer + configFetchTimer = DispatchSource.makeTimerSource(queue: fetchQueue) + + let time: Double = 60 + configFetchTimer?.schedule(deadline: .now() + time, repeating: time) + + configFetchTimer?.setEventHandler { [weak self] in + // Only auto-fetch new config when VPN is on + guard self?.state == .connected else { + logger.debug("Skipping config fetch because state is not connected.") + return + } + logger.debug("Config Fetch timer fired after \(time) seconds, fetching...") + self?.fetchConfig { result in + switch result { + case .success: + logger.debug("Auto-config fetch success") + case .failure(let error): + logger.error("Auto-config fetch failed: \(error.localizedDescription)") } } } + + // Start the timer + configFetchTimer?.resume() } + // private func startConfigFetchTimer() { + // DispatchQueue.main.async { [weak self] in + // guard let strongSelf = self else { return } + // let time: TimeInterval = 60 + // strongSelf.configFetchTimer?.invalidate() // Invalidate any existing timer + // logger.debug("Setting up config fetch timer with interval: \(time) seconds") + // strongSelf.configFetchTimer = Timer.scheduledTimer(withTimeInterval: time, repeats: true) { + // [weak self] _ in + // guard let strongSelf = self else { return } + // guard strongSelf.state == .connected else { + // logger.debug("Skipping config fetch because state is not connected.") + // return + // } + // logger.debug("Config fetch timer fired, fetching config...") + // strongSelf.fetchConfig { result in + // switch result { + // case .success: + // logger.debug("Auto-config fetch succeeded.") + // case .failure(let error): + // logger.error("Auto-config fetch failed: \(error.localizedDescription)") + // } + // } + // } + // } + // } + func fetchConfig( refreshProxies: Bool = true, _ completion: @escaping (Result) -> Void ) { @@ -268,7 +355,6 @@ class VpnHelper: NSObject { if vpnNeedsReconfiguring { self?.messageNetExToUpdateExcludedIPs() } - self?.userDefaults.set(refreshProxies, forKey: VpnHelper.hasFetchedConfigDefaultsKey) logger.debug("Successfully fetched new config with \(result)") completion(.success(())) case .failure(let error): @@ -279,29 +365,6 @@ class VpnHelper: NSObject { } } - func setUpConfigFetchTimer() { - // set up timer on Main queue's runloop - // FlashlightManager will automatically use its designated goQueue when fetching - DispatchQueue.main.async { [weak self] in - let time: Double = 60 - self?.configFetchTimer = Timer.scheduledTimer( - withTimeInterval: time, repeats: true, - block: { [weak self] _ in - // Only auto-fetch new config when VPN is on - guard self?.state == .connected else { return } - logger.debug("Config Fetch timer fired after \(time), fetching...") - self?.fetchConfig { result in - switch result { - case .success: - logger.debug("Auto-config fetch success") - case .failure(let error): - logger.error("Auto-config fetch failed: \(error.localizedDescription)") - } - } - }) - } - } - private func messageNetExToUpdateExcludedIPs() { logger.debug("Notifying network extension of updated config") do { diff --git a/ios/Runner/Lantern/Models/BaseModel.swift b/ios/Runner/Lantern/Models/BaseModel.swift index b9d733160..410acc48f 100644 --- a/ios/Runner/Lantern/Models/BaseModel.swift +++ b/ios/Runner/Lantern/Models/BaseModel.swift @@ -22,6 +22,7 @@ open class BaseModel: NSObject, FlutterStreamHandle var activeSubscribers: Set = [] private let mainHandler = DispatchQueue.main private let asyncHandler = DispatchQueue(label: "BaseModel-AsyncHandler") + private let invokeBackgroundQueue = DispatchQueue.global(qos: .background) init(_ flutterBinary: FlutterBinaryMessenger, _ model: M) throws { self.model = model @@ -186,8 +187,23 @@ open class BaseModel: NSObject, FlutterStreamHandle return FlutterError(code: code, message: message, details: details) } - internal func invoke(_ name: String, _ arguments: Any = "") throws -> MinisqlValue? { - return try model.invokeMethod(name, arguments: try Arguments(arguments)) + internal func invoke( + _ name: String, arguments: Any = "", + completion: @escaping (MinisqlValue?, Error?) -> Void + ) { + // Dispatch the invoke call asynchronously on the custom queue + invokeBackgroundQueue.async { + do { + let result = try self.model.invokeMethod(name, arguments: try Arguments(arguments)) + DispatchQueue.main.async { + completion(result, nil) + } + } catch { + DispatchQueue.main.async { + completion(nil, error) + } + } + } } } diff --git a/ios/Runner/Lantern/Models/SessionModel.swift b/ios/Runner/Lantern/Models/SessionModel.swift index 1cac33004..6bbff6b8c 100644 --- a/ios/Runner/Lantern/Models/SessionModel.swift +++ b/ios/Runner/Lantern/Models/SessionModel.swift @@ -15,12 +15,14 @@ class SessionModel: BaseModel { lazy var notificationsManager: UserNotificationsManager = { return UserNotificationsManager() }() + let emptyCompletion: (MinisqlValue?, Error?) -> Void = { _, _ in } + private let sessionAsyncHandler = DispatchQueue.global(qos: .background) init(flutterBinary: FlutterBinaryMessenger) throws { let opts = InternalsdkSessionModelOpts() let device = UIDevice.current let deviceId = device.identifierForVendor!.uuidString - let model = device.model + let deviceModel = device.model let systemName = device.systemName let systemVersion = device.systemVersion opts.deviceID = deviceId @@ -30,11 +32,10 @@ class SessionModel: BaseModel { opts.playVersion = (isRunningFromAppStore() || isRunningInTestFlightEnvironment()) opts.timeZone = TimeZone.current.identifier opts.device = systemName // IOS does not provide Device name directly - opts.model = systemName + opts.model = deviceModel opts.osVersion = systemVersion opts.paymentTestMode = AppEnvironment.current == AppEnvironment.appiumTest opts.platform = "ios" - var error: NSError? guard let model = InternalsdkNewSessionModel( @@ -43,94 +44,101 @@ class SessionModel: BaseModel { throw error! } try super.init(flutterBinary, model) -// DispatchQueue.global(qos: .userInitiated).async { -// self.startService() -// } - } - - func startService() { - // let configDir = configDirFor(suffix: "service") - (model as! InternalsdkSessionModel).startService( - Constants.lanternDirectory.path, locale: "en", settings: Settings()) - logger.error("Service Started successfully") + observeStatsUpdates() + getUserId() + getProToken() } func hasAllPermssion() { do { - let result = try invoke("hasAllNetworkPermssion") + let result = try invoke("hasAllNetworkPermssion", completion: emptyCompletion) logger.log("Sucessfully given all permssion") } catch { logger.log("Error while setting hasAllPermssion") SentryUtils.caputure(error: error as NSError) } } - - func getBandwidth() { - // TODO: we should do this reactively by subscribing - do { - let result = try invoke("getBandwidth") - let newValue = ValueUtil.convertFromMinisqlValue(from: result!) - let limit = newValue as! Int - if limit == 100 { - // if user has reached limit show the notificaiton - notificationsManager.scheduleDataCapLocalNotification(withDataLimit: limit) + private func getUserId() { + sessionAsyncHandler.async { + do { + var userID: Int64 = 0 + try self.model.getUserID(&userID) + DispatchQueue.main.async { + if userID != 0 { + Constants.appGroupDefaults.set(userID, forKey: Constants.userID) + logger.log("Successfully got user id \(userID)") + } else { + logger.log("Failed to get user id") + } + } + } catch { + DispatchQueue.main.async { + SentryUtils.caputure(error: error as NSError) + } } - logger.log("Sucessfully getbandwidth \(newValue)") - } catch { - logger.log("Error while getting bandwidth") - SentryUtils.caputure(error: error as NSError) } } - private func setDNS() { - // TODO: why are we setting timezone in setDNS()? - // let timeZoneId = TimeZone.current.identifier - // let miniSqlValue = ValueUtil.convertToMinisqlValue(DnsDetector.DEFAULT_DNS_SERVER) - // if miniSqlValue != nil { - // do { - // let result = try invokeMethodOnGo("setTimeZone", miniSqlValue!) - // logger.log("Sucessfully set timezone with id \(timeZoneId) result \(result)") - // } catch { - // logger.log("Error while setting timezone") - // } - // } - } + private func getProToken() { + sessionAsyncHandler.async { + do { + var error: NSError? + let proToken = try self.model.getToken(&error) + DispatchQueue.main.async { + if proToken != nil && proToken != "" { + Constants.appGroupDefaults.set(proToken, forKey: Constants.proToken) + logger.log("Sucessfully got protoken \(proToken)") + } else { + logger.log("Failed to get user id") + } + } + } catch { + DispatchQueue.main.async { + SentryUtils.caputure(error: error as NSError) + } + } + } -// public func configDirFor(suffix: String) -> String { -// let filesDirectory = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask) -// .first! -// -// let fileURL = filesDirectory.appendingPathComponent(".lantern" + suffix) -// -// if !FileManager.default.fileExists(atPath: fileURL.path) { -// do { -// try FileManager.default.createDirectory( -// at: fileURL, withIntermediateDirectories: true, attributes: nil) -// } catch { -// -// print(error.localizedDescription) -// SentryUtils.caputure(error: error as NSError) -// } -// } -// return fileURL.path -// } -} + } -class Settings: NSObject, InternalsdkSettingsProtocol { - func getHttpProxyHost() -> String { - return "127.0.0.1" + func observeStatsUpdates() { + logger.debug("observesing stats udpates") + Constants.appGroupDefaults.addObserver( + self, forKeyPath: Constants.statsData, options: [.new], context: nil) } - func getHttpProxyPort() -> Int { - return 49125 + // System method that observe value user default path + override func observeValue( + forKeyPath keyPath: String?, of object: Any?, change: [NSKeyValueChangeKey: Any]?, + context: UnsafeMutableRawPointer? + ) { + logger.debug("observeValue call with key \(keyPath)") + if keyPath == Constants.statsData { + logger.debug("Message comming from tunnel") + if let statsData = change![.newKey] as? Data { + updateStats(stats: statsData) + } + } } - func stickyConfig() -> Bool { - return false + func updateStats(stats: Data) { + do { + // Convert the JSON data back to a dictionary + if let dataDict = try JSONSerialization.jsonObject(with: stats, options: []) + as? [String: Any] + { + try invoke( + "updateStats", arguments: dataDict, completion: emptyCompletion) + logger.debug("updateStats data received: \(dataDict)") + } + } catch { + logger.debug("Failed to deserialize JSON data: \(error)") + } } - func timeoutMillis() -> Int { - return 60000 + deinit { + // Remove observer when the observer is deallocated + Constants.appGroupDefaults.removeObserver(self, forKeyPath: Constants.statsData) } } diff --git a/ios/Runner/Lantern/Models/VpnModel.swift b/ios/Runner/Lantern/Models/VpnModel.swift index e6b86677e..5faf5ab97 100644 --- a/ios/Runner/Lantern/Models/VpnModel.swift +++ b/ios/Runner/Lantern/Models/VpnModel.swift @@ -25,6 +25,7 @@ class VpnModel: BaseModel, InternalsdkVPNManagerProtocol { self.sessionModel = sessionModel try super.init(flutterBinary, model) model.setManager(self) + } private func saveVPNStatus(status: String) { diff --git a/ios/Runner/Lantern/Utils/Constants.swift b/ios/Runner/Lantern/Utils/Constants.swift index 2fa2aa695..f524a5c95 100644 --- a/ios/Runner/Lantern/Utils/Constants.swift +++ b/ios/Runner/Lantern/Utils/Constants.swift @@ -14,6 +14,7 @@ struct Constants { static let appBundleId = "org.getlantern.lantern" static let netExBundleId = "org.getlantern.lantern.Tunnel" static let appGroupName = "group.getlantern.lantern" + static let statsData = "statsData" // MARK: App Group static let appGroupDefaults = UserDefaults(suiteName: appGroupName)! static var appGroupContainerURL: URL { @@ -21,10 +22,10 @@ struct Constants { return FileManager.default.containerURL(forSecurityApplicationGroupIdentifier: appGroupName)! } - // Create lantern dir at start all other sub folder can create by other service - // All folder creation should happnen at only once place + // Create lantern dir at start all other sub folder can create by other service + // All folder creation should happnen at only once place static var lanternDirectory: URL { - + return FileManager.default.urls(for: .documentDirectory, in: .userDomainMask) .first!.appendingPathComponent(".lanternservice") } diff --git a/ios/Tunnel/LanternAdapter.swift b/ios/Tunnel/LanternAdapter.swift new file mode 100644 index 000000000..8e787f535 --- /dev/null +++ b/ios/Tunnel/LanternAdapter.swift @@ -0,0 +1,26 @@ +import Foundation +import NetworkExtension + +public class LanternAdapter { + public typealias LogHandler = (String) -> Void + + /// Packet tunnel provider. + private weak var packetTunnelProvider: NEPacketTunnelProvider? + + /// Log handler closure. + private let logHandler: LogHandler + + /// - Parameter packetTunnelProvider: an instance of `NEPacketTunnelProvider`. Internally stored + /// as a weak reference. + /// - Parameter logHandler: a log handler closure. + public init(with packetTunnelProvider: NEPacketTunnelProvider, logHandler: @escaping LogHandler) { + self.packetTunnelProvider = packetTunnelProvider + self.logHandler = logHandler + } + + /// Tunnel device file descriptor. + public var tunnelFileDescriptor: Int32 { + return self.packetTunnelProvider?.packetFlow.value(forKeyPath: "socket.fileDescriptor") + as! Int32 + } +} diff --git a/ios/Tunnel/PacketTunnelProvider.swift b/ios/Tunnel/PacketTunnelProvider.swift index 30d3bb369..9a0bfff85 100644 --- a/ios/Tunnel/PacketTunnelProvider.swift +++ b/ios/Tunnel/PacketTunnelProvider.swift @@ -120,7 +120,7 @@ extension PacketTunnelProvider { var error: NSError? welf.client = IosClient( welf, UDPDialer(), MemChecker(), welf.constants.configDirectoryURL.path, welf.mtu, - Constants.capturedDNSHost, Constants.realDNSHost, &error) + Constants.capturedDNSHost, Constants.realDNSHost, StatsTracker(), &error) if let err = error { logger.error(err.localizedDescription) diff --git a/ios/Tunnel/StatsTracker.swift b/ios/Tunnel/StatsTracker.swift new file mode 100644 index 000000000..3318eafe9 --- /dev/null +++ b/ios/Tunnel/StatsTracker.swift @@ -0,0 +1,37 @@ +// +// StatsTracker.swift +// Tunnel +// +// Created by jigar fumakiya on 23/05/24. +// + +import Foundation +import Internalsdk + +// StatsTracker serves as an abstraction for tracking statistics relevant to the VPN connection. +// It is responsible for updating statistics data received from the server when the user connects to the VPN. +// The updated statistics data is stored in a shared container accessible across the application, +// facilitating data exchange between different components depending on the VPN status. +class StatsTracker: NSObject, IosStatsTrackerProtocol { + func updateStats(_ p0: String?, p1: String?, p2: String?, p3: Int, p4: Int, p5: Bool) { + logger.debug( + "UpdateStats city \(p0) country \(p1) servercountrycode \(p3) hasSucceedingProxy \(p5)") + //Save data comming from server + let dataDict: [String: Any] = [ + "city": p0 ?? "", + "country": p1 ?? "", + "serverCountryCode": p2 ?? "", + "httpsUpgrades": p3, + "adsBlocked": p4, + "hasSucceedingProxy": p5, + ] + do { + // Convert the dictionary to JSON data + let jsonData = try JSONSerialization.data(withJSONObject: dataDict, options: []) + Constants.appGroupDefaults.set(jsonData, forKey: Constants.statsData) + logger.debug("Stats data has been saved") + } catch { + logger.error("Failed to serialize stats data to JSON: \(error)") + } + } +} diff --git a/lib/account/device_linking/approve_device.dart b/lib/account/device_linking/approve_device.dart index 4bd7fe4a0..9411c03da 100644 --- a/lib/account/device_linking/approve_device.dart +++ b/lib/account/device_linking/approve_device.dart @@ -1,5 +1,6 @@ import 'package:lantern/common/common.dart'; import 'package:lantern/plans/utils.dart'; + import 'explanation_step.dart'; @RoutePage(name: 'ApproveDevice') diff --git a/lib/account/language.dart b/lib/account/language.dart index 5dc1a97bd..cf6fc0a59 100644 --- a/lib/account/language.dart +++ b/lib/account/language.dart @@ -4,7 +4,7 @@ import 'package:lantern/i18n/localization_constants.dart'; @RoutePage(name: 'Language') class Language extends StatelessWidget { - Language({Key? key}) : super(key: key); + const Language({Key? key}) : super(key: key); @override Widget build(BuildContext context) { @@ -14,7 +14,7 @@ class Language extends StatelessWidget { body: sessionModel .language((BuildContext context, String currentLang, Widget? child) { // Splint language by just code - final countryCode= currentLang; + final countryCode= checkSupportedLanguages(currentLang) ; return ListView.builder( itemCount: languages.length, itemBuilder: (BuildContext context, int index) { @@ -30,14 +30,20 @@ class Language extends StatelessWidget { ), value: lang, groupValue: countryCode, - onChanged: (String? value) async { - await sessionModel.setLanguage(lang); - Navigator.pop(context); - }, + onChanged: (newLocal) => onLocalChange(newLocal!,context) ); }, ); }), ); } + + Future onLocalChange(String newLocal, BuildContext context) async { + await sessionModel.setLanguage(newLocal); + Navigator.pop(context); + } + + + + } diff --git a/lib/account/settings.dart b/lib/account/settings.dart index 4736bc04c..1cdead378 100644 --- a/lib/account/settings.dart +++ b/lib/account/settings.dart @@ -1,15 +1,12 @@ -import 'package:catcher_2/core/catcher_2.dart'; +import 'package:flutter_inappwebview/flutter_inappwebview.dart'; import 'package:intl/intl.dart'; import 'package:lantern/common/app_methods.dart'; -import 'package:lantern/common/app_secret.dart'; import 'package:lantern/common/common.dart'; import 'package:lantern/common/common_desktop.dart'; import 'package:lantern/common/ui/app_loading_dialog.dart'; import 'package:lantern/i18n/localization_constants.dart'; import 'package:lantern/messaging/messaging_model.dart'; import 'package:package_info_plus/package_info_plus.dart'; -import 'package:sentry_flutter/sentry_flutter.dart'; -import 'package:flutter_inappwebview/flutter_inappwebview.dart'; @RoutePage(name: 'Settings') class Settings extends StatelessWidget { diff --git a/lib/account/support.dart b/lib/account/support.dart index 022ab72e6..d66eb1afa 100644 --- a/lib/account/support.dart +++ b/lib/account/support.dart @@ -1,4 +1,5 @@ import 'package:url_launcher/url_launcher.dart'; + import '../common/common.dart'; @RoutePage(name: 'Support') diff --git a/lib/app.dart b/lib/app.dart index 1ba60806b..89b91cd77 100644 --- a/lib/app.dart +++ b/lib/app.dart @@ -123,7 +123,7 @@ class _LanternAppState extends State { } return sessionModel.language( (context, lang, child) { - Localization.locale = lang; + Localization.locale = lang.startsWith('en')?'en_us':lang; return GlobalLoaderOverlay( useDefaultLoading: false, overlayColor: Colors.black.withOpacity(0.5), @@ -178,6 +178,8 @@ class _LanternAppState extends State { Locale('tr', 'TR'), Locale('vi', 'VN'), Locale('my', 'MM'), + Locale('hi', 'IN'), + Locale('bn', 'BD'), ], ), ), diff --git a/lib/catcher_setup.dart b/lib/catcher_setup.dart index ad89850ea..f3c6cbfae 100644 --- a/lib/catcher_setup.dart +++ b/lib/catcher_setup.dart @@ -1,4 +1,5 @@ import 'dart:io'; + import 'package:catcher_2/catcher_2.dart'; import 'package:flutter/material.dart'; import 'package:sentry_flutter/sentry_flutter.dart'; diff --git a/lib/common/common.dart b/lib/common/common.dart index 238c7feff..71883d4d7 100644 --- a/lib/common/common.dart +++ b/lib/common/common.dart @@ -19,7 +19,7 @@ export 'package:flutter_keyboard_visibility/flutter_keyboard_visibility.dart'; export 'package:flutter_localizations/flutter_localizations.dart'; export 'package:flutter_svg/flutter_svg.dart'; export 'package:flutter_switch/flutter_switch.dart'; -export 'package:i18n_extension/i18n_widget.dart'; +export 'package:i18n_extension/src/i18n_widget.dart'; export 'package:lantern/core/router/router.gr.dart'; export 'package:lantern/event_extension.dart'; export 'package:lantern/event_manager.dart'; @@ -33,6 +33,7 @@ export 'package:stop_watch_timer/stop_watch_timer.dart'; export 'add_nonbreaking_spaces.dart'; export 'app_keys.dart'; +export 'app_secret.dart'; export 'disable_back_button.dart'; export 'iterable_extension.dart'; export 'list_subscriber.dart'; @@ -51,7 +52,6 @@ export 'ui/continue_arrow.dart'; export 'ui/copy_text.dart'; export 'ui/countdown_min_sec.dart'; export 'ui/countdown_stopwatch.dart'; - // custom components export 'ui/custom/asset_image.dart'; export 'ui/custom/badge.dart'; @@ -62,10 +62,10 @@ export 'ui/custom/fullscreen_video_viewer.dart'; export 'ui/custom/fullscreen_viewer.dart'; export 'ui/custom/ink_well.dart'; export 'ui/custom/list_item_factory.dart'; +export 'ui/custom/retry_widget.dart'; export 'ui/custom/rounded_rectangle_border.dart'; export 'ui/custom/text.dart'; export 'ui/custom/text_field.dart'; -export 'ui/custom/retry_widget.dart'; export 'ui/dimens.dart'; export 'ui/focused_menu.dart'; export 'ui/full_screen_dialog.dart'; @@ -87,11 +87,9 @@ export 'ui/round_button.dart'; export 'ui/search_field.dart'; export 'ui/show_bottom_modal.dart'; export 'ui/show_snackbar.dart'; - export 'ui/text_highlighter.dart'; export 'ui/text_styles.dart'; export 'ui/transitions.dart'; -export 'app_secret.dart'; final appLogger = Logger( printer: PrettyPrinter( diff --git a/lib/common/common_desktop.dart b/lib/common/common_desktop.dart index 8c3388445..cef3aa28b 100644 --- a/lib/common/common_desktop.dart +++ b/lib/common/common_desktop.dart @@ -1,67 +1,10 @@ -import 'package:lantern/common/common.dart'; -import 'package:tray_manager/tray_manager.dart'; -import 'package:lantern/ffi.dart'; -import 'package:ffi/ffi.dart'; -import 'dart:ffi'; -import 'package:lantern/common/ui/websocket.dart'; -import 'package:web_socket_channel/io.dart'; -import 'package:web_socket_channel/web_socket_channel.dart'; - export 'dart:convert'; export 'dart:ffi'; // For FFI + export 'package:ffi/ffi.dart'; export 'package:ffi/src/utf8.dart'; -export 'package:lantern/ffi.dart'; +export 'package:lantern/common/tray_handler.dart'; export 'package:lantern/common/ui/websocket.dart'; +export 'package:lantern/ffi.dart'; export 'package:web_socket_channel/io.dart'; export 'package:web_socket_channel/web_socket_channel.dart'; - -// Include resources here just for desktop compatibility or use - -String systemTrayIcon(bool connected) { - if (connected) { - return Platform.isWindows - ? 'assets/images/lantern_connected_32.ico' - : 'assets/images/lantern_connected_32.png'; - } - return Platform.isWindows - ? 'assets/images/lantern_disconnected_32.ico' - : 'assets/images/lantern_disconnected_32.png'; -} - -// void setSelectedTab(BuildContext context, String name) { -// final tab = name.toNativeUtf8(); -// final currentTab = ffiSelectedTab().toDartString(); -// setSelectTab(tab); -// // when the user clicks on the active tab again, do nothing -// if (currentTab == name) return; -// // context.pushRoute(Home()); -// } - -Future setupMenu(bool isConnected) async { - Menu menu = Menu( - items: [ - MenuItem( - key: 'status', - disabled: true, - label: isConnected ? 'status_on'.i18n : 'status_off'.i18n, - ), - MenuItem( - key: 'status', - label: isConnected ? 'disconnect'.i18n : 'connect'.i18n, - ), - MenuItem.separator(), - MenuItem( - key: 'show_window', - label: 'show'.i18n, - ), - MenuItem.separator(), - MenuItem( - key: 'exit', - label: 'exit'.i18n, - ), - ], - ); - await trayManager.setContextMenu(menu); - await trayManager.setIcon(systemTrayIcon(isConnected)); -} diff --git a/lib/common/ffi_list_subscriber.dart b/lib/common/ffi_list_subscriber.dart index 0de3db544..36d290ced 100644 --- a/lib/common/ffi_list_subscriber.dart +++ b/lib/common/ffi_list_subscriber.dart @@ -2,10 +2,6 @@ import 'dart:collection'; import 'common.dart'; import 'common_desktop.dart'; -import 'list_subscriber.dart'; -import 'package:lantern/i18n/i18n.dart'; -import 'package:fixnum/fixnum.dart'; -import 'package:intl/intl.dart'; class FfiListNotifier extends SubscribedNotifier> { FfiListNotifier( diff --git a/lib/common/ffi_subscriber.dart b/lib/common/ffi_subscriber.dart index 912160359..26271b42f 100644 --- a/lib/common/ffi_subscriber.dart +++ b/lib/common/ffi_subscriber.dart @@ -1,9 +1,7 @@ +import 'package:web_socket_channel/status.dart' as status; + import 'common.dart'; import 'common_desktop.dart'; -import 'dart:convert'; -import 'package:web_socket_channel/io.dart'; -import 'package:web_socket_channel/status.dart' as status; -import 'package:web_socket_channel/web_socket_channel.dart'; extension BoolParsing on String { bool parseBool() { @@ -13,7 +11,7 @@ extension BoolParsing on String { class FfiValueNotifier extends SubscribedNotifier { FfiValueNotifier( - Pointer Function() ffiFunction, + Pointer Function()? ffiFunction, String path, T? defaultValue, void Function() removeFromCache, { @@ -28,6 +26,7 @@ class FfiValueNotifier extends SubscribedNotifier { value = newValue; }); } + if (ffiFunction == null) return; if (defaultValue is int) { value = null; //value = int.parse(ffiFunction().toDartString()) as T?; diff --git a/lib/common/model.dart b/lib/common/model.dart index cc8e702cd..0472643b6 100644 --- a/lib/common/model.dart +++ b/lib/common/model.dart @@ -1,10 +1,10 @@ import 'dart:collection'; -import 'package:lantern/common/ffi_subscriber.dart'; import 'package:lantern/common/ffi_list_subscriber.dart'; +import 'package:lantern/common/ffi_subscriber.dart'; import 'package:lantern/messaging/messaging.dart'; + import 'common_desktop.dart'; -import 'package:web_socket_channel/web_socket_channel.dart'; abstract class Model { late MethodChannel methodChannel; @@ -56,7 +56,7 @@ abstract class Model { ValueListenableBuilder ffiValueBuilder( String path, - Pointer Function() ffiFunction, { + Pointer Function()? ffiFunction, { T? defaultValue, required ValueWidgetBuilder builder, bool details = false, @@ -95,7 +95,7 @@ abstract class Model { } ValueNotifier ffiValueNotifier( - Pointer Function() ffiFunction, + Pointer Function()? ffiFunction, String path, T? defaultValue, { bool details = false, diff --git a/lib/common/session_model.dart b/lib/common/session_model.dart index aad3552b2..fec3ab30d 100644 --- a/lib/common/session_model.dart +++ b/lib/common/session_model.dart @@ -84,11 +84,17 @@ class SessionModel extends Model { // listenWebsocket listens for websocket messages from the server. If a message matches the given message type, // the onMessage callback is triggered with the given property value void listenWebsocket(WebsocketImpl? websocket, String messageType, - property, void Function(T?) onMessage) { + String? property, void Function(T?) onMessage) { if (websocket == null) return; websocket.messageStream.listen( (json) { - if (json["type"] == messageType) onMessage(json["message"][property]); + if (json["type"] == messageType) { + if (property != null) { + onMessage(json["message"][property]); + } else { + onMessage(json["message"]); + } + } }, onError: (error) => appLogger.i("websocket error: ${error.description}"), ); @@ -533,6 +539,11 @@ class SessionModel extends Model { ); } + Future>> paymentMethodsv4() async { + final res = await ffiPaymentMethodsV4(); + return paymentMethodFromJson(jsonDecode(res.toDartString())); + } + Widget paymentMethods({ required ValueWidgetBuilder>> builder, }) { @@ -707,13 +718,13 @@ class SessionModel extends Model { } Future paymentRedirectForDesktop(BuildContext context, String planID, - String email, String provider) async { + String email, Providers provider) async { String os = Platform.operatingSystem; Locale locale = Localizations.localeOf(context); final format = NumberFormat.simpleCurrency(locale: locale.toString()); final currencyName = format.currencyName ?? "USD"; return await compute( - ffiPaymentRedirect, [planID, currencyName, provider, email, os]); + ffiPaymentRedirect, [planID, currencyName, provider.name, email, os]); } Future submitStripePayment( diff --git a/lib/common/tray_handler.dart b/lib/common/tray_handler.dart new file mode 100644 index 000000000..84825e2d6 --- /dev/null +++ b/lib/common/tray_handler.dart @@ -0,0 +1,95 @@ +import 'package:lantern/common/common.dart'; +import 'package:lantern/common/common_desktop.dart'; +import 'package:tray_manager/tray_manager.dart'; +import 'package:window_manager/window_manager.dart'; + +String systemTrayIcon(bool connected) { + if (connected) { + return Platform.isWindows + ? 'assets/images/lantern_connected_32.ico' + : 'assets/images/lantern_connected_32.png'; + } + return Platform.isWindows + ? 'assets/images/lantern_disconnected_32.ico' + : 'assets/images/lantern_disconnected_32.png'; +} + + +class TrayHandler with TrayListener { + factory TrayHandler() => _getInstance(); + + static TrayHandler get instance => _getInstance(); + static TrayHandler? _instance; + + static TrayHandler _getInstance() { + _instance ??= TrayHandler._internal(); + return _instance!; + } + + TrayHandler._internal() { + if (isDesktop()) { + setupTray(false); + } + } + + Future setupTray(bool isConnected) async { + await trayManager.setIcon(systemTrayIcon(isConnected)); + Menu menu = Menu( + items: [ + MenuItem( + key: 'status', + disabled: true, + label: isConnected ? 'status_on'.i18n : 'status_off'.i18n, + ), + MenuItem( + key: 'status', + label: isConnected ? 'disconnect'.i18n : 'connect'.i18n, + ), + MenuItem.separator(), + MenuItem( + key: 'show_window', + label: 'show'.i18n, + ), + MenuItem.separator(), + MenuItem( + key: 'exit', + label: 'exit'.i18n, + ), + ], + ); + await trayManager.setContextMenu(menu); + } + + @override + void onTrayMenuItemClick(MenuItem menuItem) { + switch (menuItem.key) { + case 'show': + windowManager.focus(); + windowManager.setSkipTaskbar(false); + case 'exit': + windowManager.destroy(); + ffiExit(); + case 'status': + final status = ffiVpnStatus().toDartString(); + bool isConnected = status == "connected"; + if (isConnected) { + sysProxyOff(); + setupTray(false); + } else { + sysProxyOn(); + setupTray(true); + } + } + } + + @override + Future onTrayIconMouseDown() async { + windowManager.show(); + trayManager.popUpContextMenu(); + } + + @override + void onTrayIconRightMouseDown() { + trayManager.popUpContextMenu(); + } +} \ No newline at end of file diff --git a/lib/common/ui/app_webview.dart b/lib/common/ui/app_webview.dart index 9b9cefc5c..df88cf6f2 100644 --- a/lib/common/ui/app_webview.dart +++ b/lib/common/ui/app_webview.dart @@ -1,7 +1,6 @@ import 'package:flutter_inappwebview/flutter_inappwebview.dart'; import 'package:flutter_windows_webview/flutter_windows_webview.dart'; import 'package:lantern/common/common.dart'; -import 'package:lantern/common/ui/app_loading_dialog.dart'; @RoutePage(name: 'AppWebview') class AppWebView extends StatefulWidget { diff --git a/lib/common/ui/custom/text.dart b/lib/common/ui/custom/text.dart index eabe25901..23107fbea 100644 --- a/lib/common/ui/custom/text.dart +++ b/lib/common/ui/custom/text.dart @@ -1,5 +1,3 @@ -import 'dart:ui'; - import 'package:lantern/common/common.dart'; class CText extends StatelessWidget { diff --git a/lib/common/ui/websocket.dart b/lib/common/ui/websocket.dart index 0be4e530b..116b7a0f5 100644 --- a/lib/common/ui/websocket.dart +++ b/lib/common/ui/websocket.dart @@ -1,6 +1,5 @@ import 'dart:async'; -import 'dart:convert'; -import 'package:flutter/foundation.dart'; + import 'package:lantern/common/common_desktop.dart'; abstract class WebsocketService { diff --git a/lib/core/router/router.dart b/lib/core/router/router.dart index 56039368c..02d265aac 100644 --- a/lib/core/router/router.dart +++ b/lib/core/router/router.dart @@ -1,7 +1,4 @@ -import 'package:auto_route/auto_route.dart'; import 'package:lantern/common/common.dart'; -import 'package:lantern/common/ui/transitions.dart'; -import 'package:lantern/core/router/router.gr.dart'; @AutoRouterConfig( replaceInRouteName: 'Page,Route,Screen', diff --git a/lib/home.dart b/lib/home.dart index 930b837e0..b2956bcb7 100644 --- a/lib/home.dart +++ b/lib/home.dart @@ -47,23 +47,27 @@ class _HomePageState extends State with TrayListener, WindowListener { } void channelListener() { + if(Platform.isIOS) return; + const mainMethodChannel = MethodChannel('lantern_method_channel'); const navigationChannel = MethodChannel('navigation'); - sessionModel.getChatEnabled().then((chatEnabled) { - if (chatEnabled) { - messagingModel - .shouldShowTryLanternChatModal() - .then((shouldShowModal) async { - if (shouldShowModal) { - // open VPN tab - sessionModel.setSelectedTab(context,TAB_VPN); - // show Try Lantern Chat dialog - await context.router - .push(FullScreenDialogPage(widget: TryLanternChat())); - } - }); - } - }); + if (Platform.isAndroid) { + sessionModel.getChatEnabled().then((chatEnabled) { + if (chatEnabled) { + messagingModel + .shouldShowTryLanternChatModal() + .then((shouldShowModal) async { + if (shouldShowModal) { + // open VPN tab + sessionModel.setSelectedTab(context,TAB_VPN); + // show Try Lantern Chat dialog + await context.router + .push(FullScreenDialogPage(widget: TryLanternChat())); + } + }); + } + }); + } navigationChannel.setMethodCallHandler(_handleNativeNavigationRequest); // Let back-end know that we're ready to handle navigation @@ -97,39 +101,7 @@ class _HomePageState extends State with TrayListener, WindowListener { } void setupTrayManager() async { - trayManager.addListener(this); - await setupMenu(false); - } - - @override - void onTrayIconMouseDown() { - windowManager.show(); - trayManager.popUpContextMenu(); - } - - @override - void onTrayIconRightMouseDown() { - trayManager.popUpContextMenu(); - } - - @override - void onTrayMenuItemClick(MenuItem menuItem) async { - switch (menuItem.key) { - case 'show': - windowManager.focus(); - case 'exit': - ffiExit(); - case 'status': - final status = ffiVpnStatus().toDartString(); - bool isConnected = status == "connected"; - if (isConnected) { - sysProxyOff(); - await setupMenu(false); - } else { - sysProxyOn(); - await setupMenu(true); - } - } + trayManager.addListener(TrayHandler.instance); } @override @@ -181,7 +153,7 @@ class _HomePageState extends State with TrayListener, WindowListener { @override void dispose() { if (isDesktop()) { - trayManager.removeListener(this); + trayManager.removeListener(TrayHandler.instance); windowManager.removeListener(this); } if (_cancelEventSubscription != null) { diff --git a/lib/i18n/i18n.dart b/lib/i18n/i18n.dart index b07597a24..a24578b83 100644 --- a/lib/i18n/i18n.dart +++ b/lib/i18n/i18n.dart @@ -1,19 +1,19 @@ import 'package:i18n_extension/i18n_extension.dart'; -import 'package:i18n_extension/io/import.dart'; +import 'package:i18n_extension_importer/src/io/import.dart'; import 'package:lantern/common/common.dart'; extension Localization on String { static String defaultLocale = 'en'; static String locale = defaultLocale; - static TranslationsByLocale translations = + static Translations translations = Translations.byLocale(defaultLocale); - static Future Function( - Future Function(), - ) loadTranslationsOnce = once>(); + static Future Function( + Future Function(), + ) loadTranslationsOnce = once>(); - static Future ensureInitialized() async { + static Future ensureInitialized() async { return loadTranslationsOnce(() { return GettextImporter() .fromAssetDirectory('assets/locales') @@ -26,10 +26,10 @@ extension Localization on String { static String get localeShort => locale.split('_')[0]; - String doLocalize() => localize(this, translations, locale: locale.replaceAll('_', '-')); + String doLocalize() => localize(this, translations, locale: locale); - String get i18n => - localize(this, translations, locale: locale.replaceAll('_', '-')); + String get i18n => localize(this, translations, locale: locale.replaceFirst('_', '-').toLowerCase()); + // String get i18n => localize(this, translations, locale: 'hi'); String fill(List params) => localizeFill(this, params); } diff --git a/lib/i18n/localization_constants.dart b/lib/i18n/localization_constants.dart index 73a10c396..9624b464b 100644 --- a/lib/i18n/localization_constants.dart +++ b/lib/i18n/localization_constants.dart @@ -18,6 +18,13 @@ const languages = [ 'bn_BD', ]; +String checkSupportedLanguages(String language){ + if(languages.contains(language)){ + return language; + } + return 'en_Us'; +} + String displayLanguage(String languageCode) { if (languageCode == 'ar_EG') { return 'العربية'; diff --git a/lib/messaging/messaging_model.dart b/lib/messaging/messaging_model.dart index c16236b58..b9e97ba65 100644 --- a/lib/messaging/messaging_model.dart +++ b/lib/messaging/messaging_model.dart @@ -1,7 +1,8 @@ // import 'calls/signaling.dart'; -import 'messaging.dart'; import 'package:lantern/common/common_desktop.dart'; +import 'messaging.dart'; + final messagingModel = MessagingModel(); class MessagingModel extends Model { diff --git a/lib/messaging/protos_flutteronly/messaging.pbenum.dart b/lib/messaging/protos_flutteronly/messaging.pbenum.dart index 2941f5be8..9b52e6f35 100644 --- a/lib/messaging/protos_flutteronly/messaging.pbenum.dart +++ b/lib/messaging/protos_flutteronly/messaging.pbenum.dart @@ -7,6 +7,7 @@ // ignore_for_file: UNDEFINED_SHOWN_NAME import 'dart:core' as $core; + import 'package:protobuf/protobuf.dart' as $pb; class MessageDirection extends $pb.ProtobufEnum { diff --git a/lib/messaging/protos_flutteronly/messaging.pbjson.dart b/lib/messaging/protos_flutteronly/messaging.pbjson.dart index 7a83913f0..3e5ead132 100644 --- a/lib/messaging/protos_flutteronly/messaging.pbjson.dart +++ b/lib/messaging/protos_flutteronly/messaging.pbjson.dart @@ -1,4 +1,5 @@ /// +import 'dart:convert' as $convert; // Generated code. Do not modify. // source: protos_flutteronly/messaging.proto // @@ -6,7 +7,6 @@ // ignore_for_file: annotate_overrides,camel_case_types,constant_identifier_names,deprecated_member_use_from_same_package,directives_ordering,library_prefixes,non_constant_identifier_names,prefer_final_fields,return_of_invalid_type,unnecessary_const,unnecessary_import,unnecessary_this,unused_import,unused_shown_name import 'dart:core' as $core; -import 'dart:convert' as $convert; import 'dart:typed_data' as $typed_data; @$core.Deprecated('Use messageDirectionDescriptor instead') const MessageDirection$json = const { diff --git a/lib/plans/checkout.dart b/lib/plans/checkout.dart index 0d17978a6..d968e23f8 100644 --- a/lib/plans/checkout.dart +++ b/lib/plans/checkout.dart @@ -238,22 +238,27 @@ class _CheckoutState extends State widgets.add(options()); if (!showMoreOptions) break; } - for (final provider in paymentMethod.value.providers) { - widgets.add( - PaymentProvider( - logoPaths: provider.logoUrls, - onChanged: () => - selectPaymentProvider(provider.name.toPaymentEnum()), - selectedPaymentProvider: selectedPaymentProvider!, - paymentType: provider.name.toPaymentEnum(), - useNetwork: true, - ), - ); - } + widgets.addAll(paymentProviders(paymentMethod.value)); } return widgets; } + List paymentProviders(PaymentMethod paymentMethods) { + var providers = []; + for (final provider in paymentMethods.providers) { + providers.add( + PaymentProvider( + logoPaths: provider.logoUrls, + onChanged: () => selectPaymentProvider(provider.name.toPaymentEnum()), + selectedPaymentProvider: selectedPaymentProvider!, + paymentType: provider.name.toPaymentEnum(), + useNetwork: true, + ), + ); + } + return providers; + } + bool enableContinueButton() { if (emailFieldKey.currentState == null) { return false; @@ -285,14 +290,14 @@ class _CheckoutState extends State switch (selectedPaymentProvider!) { case Providers.stripe: if (isDesktop()) { - _proceedWithPaymentRedirect(Providers.stripe.name); + _proceedWithPaymentRedirect(Providers.stripe); return; } _proceedWithStripe(); break; case Providers.btcpay: if (isDesktop()) { - _proceedWithPaymentRedirect(Providers.btcpay.name); + _proceedWithPaymentRedirect(Providers.btcpay); return; } _proceedWithBTCPay(); @@ -302,13 +307,13 @@ class _CheckoutState extends State break; case Providers.fropay: if (isDesktop()) { - _proceedWithPaymentRedirect(Providers.fropay.name); + _proceedWithPaymentRedirect(Providers.fropay); return; } _proceedWithFroPay(); case Providers.paymentwall: if (isDesktop()) { - _proceedWithPaymentRedirect(Providers.paymentwall.name); + _proceedWithPaymentRedirect(Providers.paymentwall); return; } _proceedWithPaymentWall(); @@ -362,7 +367,30 @@ class _CheckoutState extends State } } - void _proceedWithPaymentRedirect(String provider) async { + // This methods is responsible for polling for user data + // so if user has done payment or renew plans and show + void hasPlansUpdateOrBuy() { + appLogger.i("calling hasPlansUpdateOrBuy to update plans or buy"); + try { + retry( + () async { + /// Polling for userData that user has updates plans or buy + final plansUpdated = await sessionModel.hasUpdatePlansOrBuy(); + if (plansUpdated) { + if (mounted) { + showSuccessDialog(context, widget.isPro); + } + } + }, + delayFactor: const Duration(seconds: 2), + retryIf: (e) => e is NoPlansUpdate, + ); + } catch (e) { + appLogger.e('Error while polling for plans update or buy', error: e); + } + } + + void _proceedWithPaymentRedirect(Providers provider) async { try { context.loaderOverlay.show(); final redirectUrl = await sessionModel.paymentRedirectForDesktop( @@ -371,14 +399,13 @@ class _CheckoutState extends State emailController.text, provider, ); - context.loaderOverlay.hide(); openDesktopWebview( context: context, provider: provider, redirectUrl: redirectUrl, onClose: checkProUser); - //as soon user click we should start polling userData + // as soon user click we should start polling userData Future.delayed(const Duration(seconds: 2), hasPlansUpdateOrBuy); } catch (error, stackTrace) { context.loaderOverlay.hide(); @@ -468,27 +495,4 @@ class _CheckoutState extends State return false; } } - - ///This methods is responsible for polling for user data - ///so if user has done payment or renew plans and show - void hasPlansUpdateOrBuy() { - appLogger.i("calling hasPlansUpdateOrBuy to update plans or buy"); - try { - retry( - () async { - /// Polling for userData that user has updates plans or buy - final plansUpdated = await sessionModel.hasUpdatePlansOrBuy(); - if (plansUpdated) { - if (mounted) { - showSuccessDialog(context, widget.isPro); - } - } - }, - delayFactor: const Duration(seconds: 2), - retryIf: (e) => e is NoPlansUpdate, - ); - } catch (e) { - appLogger.e('Error while polling for plans update or buy', error: e); - } - } } diff --git a/lib/plans/plan_details.dart b/lib/plans/plan_details.dart index 2d92f3f6a..c4077bbed 100644 --- a/lib/plans/plan_details.dart +++ b/lib/plans/plan_details.dart @@ -1,4 +1,5 @@ import 'package:lantern/common/common.dart'; +import 'package:lantern/plans/utils.dart'; class PlanCard extends StatelessWidget { final Plan plan; @@ -131,6 +132,18 @@ class PlanCard extends StatelessWidget { } } + // paymentProvidersFromMethods returns a list of payment providers that correspond with payment methods available to a user + List paymentProvidersFromMethods( + Iterable> paymentMethods) { + var providers = []; + for (final paymentMethod in paymentMethods) { + for (final provider in paymentMethod.value.providers) { + providers.add(provider); + } + } + return providers; + } + Future _checkOut(BuildContext context) async { final isPlayVersion = sessionModel.isPlayVersion.value ?? false; final inRussia = sessionModel.country.value == 'RU'; @@ -142,15 +155,32 @@ class PlanCard extends StatelessWidget { isPro: isPro, ), ); - } else { - // * Proceed to our own Checkout - await context.pushRoute( - Checkout( - plan: plan, - isPro: isPro, - ), - ); + return; + } else if (isDesktop()) { + final paymentMethods = await sessionModel.paymentMethodsv4(); + final providers = paymentProvidersFromMethods(paymentMethods); + // if only one payment provider is returned, bypass the last checkout screen + // Note: as of now, we only do this for Stripe since it is the only payment provider that collects email + if (providers.length == 1 && providers[0].name.toPaymentEnum() == Providers.stripe) { + final providerName = providers[0].name.toPaymentEnum(); + final redirectUrl = await sessionModel.paymentRedirectForDesktop( + context, + plan.id, + "", + providerName, + ); + await openDesktopWebview( + context: context, provider: providerName, redirectUrl: redirectUrl); + return; + } } + // * Proceed to our own Checkout + await context.pushRoute( + Checkout( + plan: plan, + isPro: isPro, + ), + ); } } diff --git a/lib/plans/play_checkout.dart b/lib/plans/play_checkout.dart index d631d863c..a59d59596 100644 --- a/lib/plans/play_checkout.dart +++ b/lib/plans/play_checkout.dart @@ -29,11 +29,6 @@ class _PlayCheckoutState extends State : 'please_enter_a_valid_email_address'.i18n, ); - @override - void dispose() { - emailController.dispose(); - super.dispose(); - } @override Widget build(BuildContext context) { diff --git a/lib/plans/reseller_checkout.dart b/lib/plans/reseller_checkout.dart index 4d3c77eb2..60f3e4a02 100644 --- a/lib/plans/reseller_checkout.dart +++ b/lib/plans/reseller_checkout.dart @@ -1,9 +1,9 @@ import 'package:email_validator/email_validator.dart'; +import 'package:intl/intl.dart'; import 'package:lantern/common/common.dart'; import 'package:lantern/plans/plan_details.dart'; import 'package:lantern/plans/tos.dart'; import 'package:lantern/plans/utils.dart'; -import 'package:intl/intl.dart'; class ResellerCodeFormatter extends TextInputFormatter { @override diff --git a/lib/plans/utils.dart b/lib/plans/utils.dart index a9ddf49e4..b8a5bfe40 100644 --- a/lib/plans/utils.dart +++ b/lib/plans/utils.dart @@ -76,19 +76,18 @@ enum Providers { stripe, btcpay, freekassa, fropay, paymentwall } extension ProviderExtension on String { Providers toPaymentEnum() { - if (this == "stripe") { - return Providers.stripe; + switch (this) { + case "btcpay": + return Providers.btcpay; + case "freekassa": + return Providers.freekassa; + case "fropay": + return Providers.fropay; + case "paymentwall": + return Providers.paymentwall; + default: + return Providers.stripe; } - if (this == "freekassa") { - return Providers.freekassa; - } - if (this == "fropay") { - return Providers.fropay; - } - if (this == "paymentwall") { - return Providers.paymentwall; - } - return Providers.btcpay; } } @@ -105,14 +104,14 @@ extension PlansExtension on Plan { Future openDesktopWebview( {required BuildContext context, required String redirectUrl, - required String provider, - required VoidCallback onClose}) async { + required Providers provider, + VoidCallback? onClose}) async { switch (Platform.operatingSystem) { case 'windows': await AppBrowser.openWindowsWebview(redirectUrl); break; case 'macos': - if (provider == Providers.fropay.name) { + if (provider == Providers.fropay) { // Open with system browser browser on mac due to not able to by pass human verification. await InAppBrowser.openWithSystemBrowser(url: WebUri(redirectUrl)); } else { diff --git a/lib/replica/logic/uploader.dart b/lib/replica/logic/uploader.dart index 43d4d961f..7196824c5 100644 --- a/lib/replica/logic/uploader.dart +++ b/lib/replica/logic/uploader.dart @@ -1,7 +1,7 @@ import 'package:flutter_uploader/flutter_uploader.dart'; +import 'package:http/http.dart' as http; import 'package:lantern/common/common.dart'; import 'package:lantern/messaging/notifications.dart'; -import 'package:http/http.dart' as http; /// ReplicaUploader is a singleton class. Use it like this: /// - Initialize ReplicaUploader by calling ReplicaUploader.inst.init() diff --git a/lib/vpn/protos_shared/vpn.pb.dart b/lib/vpn/protos_shared/vpn.pb.dart index 1b3ced5ad..8f5193f73 100644 --- a/lib/vpn/protos_shared/vpn.pb.dart +++ b/lib/vpn/protos_shared/vpn.pb.dart @@ -579,16 +579,12 @@ class Plan extends $pb.GeneratedMessage { class PaymentProviders extends $pb.GeneratedMessage { factory PaymentProviders({ $core.String? name, - $core.Map<$core.String, $core.String>? data, $core.Iterable<$core.String>? logoUrls, }) { final $result = create(); if (name != null) { $result.name = name; } - if (data != null) { - $result.data.addAll(data); - } if (logoUrls != null) { $result.logoUrls.addAll(logoUrls); } @@ -600,7 +596,6 @@ class PaymentProviders extends $pb.GeneratedMessage { static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'PaymentProviders', createEmptyInstance: create) ..aOS(1, _omitFieldNames ? '' : 'name') - ..m<$core.String, $core.String>(2, _omitFieldNames ? '' : 'data', entryClassName: 'PaymentProviders.DataEntry', keyFieldType: $pb.PbFieldType.OS, valueFieldType: $pb.PbFieldType.OS) ..pPS(3, _omitFieldNames ? '' : 'logoUrls', protoName: 'logoUrls') ..hasRequiredFields = false ; @@ -635,11 +630,8 @@ class PaymentProviders extends $pb.GeneratedMessage { @$pb.TagNumber(1) void clearName() => clearField(1); - @$pb.TagNumber(2) - $core.Map<$core.String, $core.String> get data => $_getMap(1); - @$pb.TagNumber(3) - $core.List<$core.String> get logoUrls => $_getList(2); + $core.List<$core.String> get logoUrls => $_getList(1); } class PaymentMethod extends $pb.GeneratedMessage { diff --git a/lib/vpn/protos_shared/vpn.pbjson.dart b/lib/vpn/protos_shared/vpn.pbjson.dart index 4e537294d..a437ed37a 100644 --- a/lib/vpn/protos_shared/vpn.pbjson.dart +++ b/lib/vpn/protos_shared/vpn.pbjson.dart @@ -147,28 +147,14 @@ const PaymentProviders$json = { '1': 'PaymentProviders', '2': [ {'1': 'name', '3': 1, '4': 1, '5': 9, '10': 'name'}, - {'1': 'data', '3': 2, '4': 3, '5': 11, '6': '.PaymentProviders.DataEntry', '10': 'data'}, {'1': 'logoUrls', '3': 3, '4': 3, '5': 9, '10': 'logoUrls'}, ], - '3': [PaymentProviders_DataEntry$json], -}; - -@$core.Deprecated('Use paymentProvidersDescriptor instead') -const PaymentProviders_DataEntry$json = { - '1': 'DataEntry', - '2': [ - {'1': 'key', '3': 1, '4': 1, '5': 9, '10': 'key'}, - {'1': 'value', '3': 2, '4': 1, '5': 9, '10': 'value'}, - ], - '7': {'7': true}, }; /// Descriptor for `PaymentProviders`. Decode as a `google.protobuf.DescriptorProto`. final $typed_data.Uint8List paymentProvidersDescriptor = $convert.base64Decode( - 'ChBQYXltZW50UHJvdmlkZXJzEhIKBG5hbWUYASABKAlSBG5hbWUSLwoEZGF0YRgCIAMoCzIbLl' - 'BheW1lbnRQcm92aWRlcnMuRGF0YUVudHJ5UgRkYXRhEhoKCGxvZ29VcmxzGAMgAygJUghsb2dv' - 'VXJscxo3CglEYXRhRW50cnkSEAoDa2V5GAEgASgJUgNrZXkSFAoFdmFsdWUYAiABKAlSBXZhbH' - 'VlOgI4AQ=='); + 'ChBQYXltZW50UHJvdmlkZXJzEhIKBG5hbWUYASABKAlSBG5hbWUSGgoIbG9nb1VybHMYAyADKA' + 'lSCGxvZ29Vcmxz'); @$core.Deprecated('Use paymentMethodDescriptor instead') const PaymentMethod$json = { diff --git a/lib/vpn/vpn_model.dart b/lib/vpn/vpn_model.dart index 01a9caafd..88f8547d2 100644 --- a/lib/vpn/vpn_model.dart +++ b/lib/vpn/vpn_model.dart @@ -1,5 +1,5 @@ -import 'package:lantern/vpn/vpn.dart'; import 'package:lantern/common/common_desktop.dart'; +import 'package:lantern/vpn/vpn.dart'; final vpnModel = VpnModel(); @@ -20,13 +20,6 @@ class VpnModel extends Model { }); } - Future handleWebSocketMessage(Map data, Function setValue) async { - if (data["type"] != "vpnstatus") return; - final updated = data["message"]["connected"]; - final isConnected = updated != null && updated.toString() == "true"; - setValue(isConnected ? "connected" : "disconnected"); - } - Widget vpnStatus(ValueWidgetBuilder builder) { if (isMobile()) { return subscribedSingleValueBuilder( @@ -38,31 +31,48 @@ class VpnModel extends Model { return ffiValueBuilder( 'vpnStatus', defaultValue: '', - onChanges: (setValue) { - if (websocket == null) return; - /// Listen for all incoming data - websocket.messageStream.listen( - (json) => handleWebSocketMessage(json, setValue), - onError: (error) => print(error), - ); - }, + onChanges: (setValue) => sessionModel + .listenWebsocket(websocket, "vpnstatus", "connected", (value) { + final isConnected = value != null && value.toString() == "true"; + setValue(isConnected ? "connected" : "disconnected"); + }), ffiVpnStatus, builder: builder, ); } - + Future isVpnConnected() async { final vpnStatus = await methodChannel.invokeMethod('getVpnStatus'); return vpnStatus == 'connected'; } Widget bandwidth(ValueWidgetBuilder builder) { - return subscribedSingleValueBuilder( - '/bandwidth', + if (isMobile()) { + return subscribedSingleValueBuilder( + '/bandwidth', + builder: builder, + deserialize: (Uint8List serialized) { + return Bandwidth.fromBuffer(serialized); + }, + ); + } + final websocket = WebsocketImpl.instance(); + return ffiValueBuilder( + 'bandwidth', + defaultValue: null, + onChanges: (setValue) => + sessionModel.listenWebsocket(websocket, "bandwidth", null, (value) { + if (value != null) { + final Map res = jsonDecode(jsonEncode(value)); + setValue(Bandwidth.create() + ..mergeFromProto3Json({ + 'allowed': res['mibAllowed'], + 'remaining': res['mibUsed'], + })); + } + }), + null, builder: builder, - deserialize: (Uint8List serialized) { - return Bandwidth.fromBuffer(serialized); - }, ); } } diff --git a/lib/vpn/vpn_server_location.dart b/lib/vpn/vpn_server_location.dart index 34f15c737..c35a815af 100644 --- a/lib/vpn/vpn_server_location.dart +++ b/lib/vpn/vpn_server_location.dart @@ -1,6 +1,8 @@ import 'package:lantern/vpn/vpn.dart'; class ServerLocationWidget extends StatelessWidget { + const ServerLocationWidget({super.key}); + @override Widget build(BuildContext context) { return CInkWell( diff --git a/lib/vpn/vpn_status.dart b/lib/vpn/vpn_status.dart index c39987978..5f843fe37 100644 --- a/lib/vpn/vpn_status.dart +++ b/lib/vpn/vpn_status.dart @@ -1,5 +1,4 @@ import 'package:lantern/vpn/vpn.dart'; -import 'package:lantern/common/common_desktop.dart'; class VPNStatus extends StatelessWidget { @override diff --git a/lib/vpn/vpn_switch.dart b/lib/vpn/vpn_switch.dart index 3df9fc576..88728e3b9 100644 --- a/lib/vpn/vpn_switch.dart +++ b/lib/vpn/vpn_switch.dart @@ -21,10 +21,10 @@ class _VPNSwitchState extends State { bool isConnected = vpnStatus == 'connected'; if (isConnected) { sysProxyOff(); - await setupMenu(false); + await TrayHandler.instance.setupTray(false); } else { sysProxyOn(); - await setupMenu(true); + await TrayHandler.instance.setupTray(true); } } diff --git a/lib/vpn/vpn_tab.dart b/lib/vpn/vpn_tab.dart index 1c3bdf261..435222e93 100644 --- a/lib/vpn/vpn_tab.dart +++ b/lib/vpn/vpn_tab.dart @@ -1,6 +1,7 @@ import 'package:lantern/account/split_tunneling.dart'; import 'package:lantern/messaging/messaging.dart'; import 'package:lantern/vpn/vpn.dart'; + import 'vpn_bandwidth.dart'; import 'vpn_pro_banner.dart'; import 'vpn_server_location.dart'; @@ -8,12 +9,12 @@ import 'vpn_status.dart'; import 'vpn_switch.dart'; class VPNTab extends StatelessWidget { - VPNTab({Key? key}) : super(key: key); + const VPNTab({Key? key}) : super(key: key); @override Widget build(BuildContext context) { - return sessionModel.proUser( - (BuildContext context, bool proUser, Widget? child) { + return sessionModel + .proUser((BuildContext context, bool proUser, Widget? child) { return BaseScreen( title: SvgPicture.asset( proUser ? ImagePaths.pro_logo : ImagePaths.free_logo, @@ -26,7 +27,7 @@ class VPNTab extends StatelessWidget { body: Column( mainAxisAlignment: MainAxisAlignment.spaceBetween, children: [ - if (!proUser && !Platform.isIOS) ProBanner() else const SizedBox(), + if (!proUser && !Platform.isIOS) const ProBanner() else const SizedBox(), const VPNSwitch(), Container( padding: const EdgeInsetsDirectional.all(16), @@ -44,12 +45,12 @@ class VPNTab extends StatelessWidget { children: [ VPNStatus(), const CDivider(height: 32.0), - ServerLocationWidget(), + const ServerLocationWidget(), if (Platform.isAndroid) ...{ const CDivider(height: 32.0), SplitTunnelingWidget(), - if (!proUser) const VPNBandwidth(), - } + }, + if (!proUser&& Platform.isAndroid) const VPNBandwidth(), ], ), ), diff --git a/locale/translation/ar.json b/locale/translation/ar.json deleted file mode 100644 index fb9974f5e..000000000 --- a/locale/translation/ar.json +++ /dev/null @@ -1,797 +0,0 @@ -{ - "LANTERN": "لانترن", - "pro": "Pro", - "BEAM": "شعاع", - "TRAY_STATUS": "الحالة: %v", - "TRAY_CONNECT": "اتصال", - "TRAY_DISCONNECT": "قطع الاتصال", - "TRAY_SHOW": "إظهار%s", - "TRAY_UPGRADE_TO_PRO": "الترقية الى برو", - "TRAY_QUIT": "إنهاء%s", - "BACKEND_DATA_TITLE": "لا مزيد من البيانات %sعالية السرعة", - "BACKEND_DATA_MESSAGE": "يرجى التحديث إلى Pro للحفاظ على استخدام %s بأقصى سرعة!", - "BACKEND_DATA_PERCENT_TITLE": "تم الوصول إلى %s من %s البيانات الخاصة بك", - "BACKEND_DATA_PERCENT_MESSAGE": "لقد استهلكت %s من بيانات السرعة العالية %s الخاصة بك. قم بالتحديث الآن!", - "BACKEND_CLICK_LABEL": "مفتوح", - "BACKEND_CLICK_LABEL_OPEN": "مفتوح", - "BACKEND_CLICK_LABEL_HELP": "مساعدة", - "BACKEND_CLICK_LABEL_GOT_IT": "فهمت", - "BACKEND_AUTOUPDATED_TITLE": "تحديث %sإلى الإصدار %s", - "BACKEND_AUTOUPDATED_MESSAGE": "تم تنزيل %s%s. الرجاء إعادة تشغيل %s من أجل الاستخدام.", - "BACKEND_MITM_INSTALL_CERT": "%s يريد تثبيت شهادة مخصصة لتحسين الأداء", - "BACKEND_MITM_INSTALL_CERT_WINDOWS_BODY": "يرجى السماح لـ %v باجراء التغييرات على نظامك.", - "BACKEND_ALERT_TITLE": "تنبيه مهم يحتاج إلى اهتمامك", - "BACKEND_INSTALL_DIAGNOSTIC_TOOLS": "يحتاج%s إلى إذنك لتثبيت أدوات التشخيص. سيساعدنا ذلك على تحسين تجربتك%s", - "BACKEND_CONFIG_SAVE_ERROR_TITLE": "يتعذر حفظ التهيئة", - "BACKEND_CONFIG_SAVE_ERROR_MESSAGE": "يتعذر حفظ تهيئة التطبيق. %s يتعذر ضمان أن يتم إنشاء وكيل للزيارة بشكل صحيح.", - "about.content": "لانترن هو تطبيق يقدم وصول آمن وموثوق وسريع الى الانترنت المفتوح.", - "app.error": "حدث خطأ ما!", - "about.faq": "اقرأ الأسئلة الشائعة حول تطبيق لانترن", - "about.open": "انترنت مفتوح للجميع", - "about.questions": "هل لديك أسئلة؟", - "about.title": "حول", - "account.add.password": "إضافة كلمة مرور الحساب", - "account.agree.terms": "أفهم أن فقدان كلمة المرور يعني فقدان\nالوصول إلى الحساب. لا يمكن لـ Lantern أن يساعدك على استرجاع\nكلمة السر الخاصة بك.", - "account.agree.terms.error": "يجب أن توافق أولًا على الشروط", - "account.cancel": "إلغاء حساب برو", - "account.created": "تم إنشاء الحساب!", - "account.create.pro.account.header": "إنشاء حساب Pro", - "account.create.pro.account.text": "يقوم Lantern بتغيير طريقة التعامل مع حسابات المستخدمين. من الآن فصاعدا سيحتاج مستخدمو Pro إلى إنشاء اسم مستخدم وكلمة مرور. سيتم استخدام بيانات الاعتماد هذه لتسجيل الدخول إلى أجهزة أخرى، وتوفير الوصول إلى ميزات جديدة.", - "account.have.a.account": "هل لديك حساب؟", - "account.link.username.pro": "ربط اسم المستخدم بحساب Pro", - "account.recovery": "استرداد الحساب", - "account.recovery.link.device": "ربط الجهاز", - "account.recovery.device.code": "كود ربط الجهاز", - "account.recovery.device.enter.code": "أدخل أو الصق رمز ربط الجهاز", - "account.recovery.device.instructions.header": "لربط هذا الجهاز مع حساب برو  الخاص بك:", - "account.recovery.device.instructions.step.one": "1. اختر \"ربط جهاز\" من بند شاشة إدارة الحساب على جهاز Desktop Pro، أو من القائمة الموجودة على جهاز Mobile Pro خاصتك.", - "account.recovery.device.instructions.step.two": "2. أدخل رمز ربط الجهاز واضغط على تسليم.", - "account.recovery.device.instructions.part.three": "* تأكد من أن كلا الجهازين يعملان بأحدث إصدار من Lantern", - "account.recovery.method": "الرجاء اختيار طريقة لاسترداد حسابك", - "account.recovery.send.email": "أرسل بريدا الكترونيا", - "account.recovery.submit": "ارسال", - "account.recovery.success": "تم الربط بنجاح!", - "account.pro_management": "إدارة حساب برو", - "account.free_management": "ادارة الحساب", - "account.free.cap": "متبقي{{mb}} ميغابايت من البيانات الحرة. تتم إعادة التعيين عند {{reset}}", - "account.free.cap.upgrade": "الترقية الى حساب برو لبيانات عالية السرعة وغير محدودة", - "account.freelink.validFor": "صالح لـ %s", - "account.freelink.desc": "لتخويل هذا الجهاز لاستخدام حساب Pro الخاص بك:", - "account.freelink.step1": "1. اختر خيار \"ربط جهاز\" من القائمة على جهاز Pro الخاص بك", - "account.freelink.step2": "2. أدخل رمز ربط الجهاز واضغط على تسليم.", - "account.freelink.reminder": "* تأكد من أن كلا الجهازين يعملان بأحدث إصدار من Lantern", - "account.freelink.errorTitle": "خطأ في الربط", - "account.freelink.errorText": "هل أنت متأكد أنك أدخلت الرمز الى جهاز برو الخاص بك؟", - "account.freelink.headerDesc": "اربط هذا الجهاز الى حساب برو الخاص بك", - "account.freelink.title": "كود ربط الجهاز", - "account.pro.charge": "سيتم فرض عمولة على حسابك تلقائياً لسنة أخرى لتطبيق لانترن برو في نهاية دورة الفاتورة الخاصة بك.", - "account.upgrade_pro": "الترقية الى برو", - "account.upgrade": "إشترك", - "account.upgrade_platinum": "الترقية إلى Platinum", - "account.create": "إنشاء حساب", - "account.email": "البريد الاكتروني", - "account.confirm.password": "تأكيد كلمة المرور", - "account.password": "كلمة المرور", - "account.pro.email": "البريد الإلكتروني:", - "account.pro.expiration": "انتهاء صلاحية حساب Pro", - "account.platinum.expiration": "انتهاء صلاحية حساب Platinum ", - "account.pro.expired": "لقد انت صلاحية حساب البرو الخاص بك. قم بتجديد البيانات الشهرية اللامحدودة.", - "account.pro.expiry": "تنتهي صلاحية حساب برو الخاص بك خلال %s يوماً بتاريخ %s.", - "account.pro.bonusMonths": "هذا يتضمن {{bonusMonths}} شهور مجانية!", - "account.pro.thisdevice": "(هذا الجهاز)", - "account.pro.logout": "تسجيل الخروج", - "account.pro.removedevice": "ازالة", - "account.pro.devices": "أجهزة Lantern Pro (تصل إلى 3)", - "account.pro.device.confirm.title": "إلغاء مصادقة الجهاز", - "account.pro.device.confirm": "هل أنت متأكد أنك تريد إزالة \"{{device}}\" من حساب Lantern Pro الخاص بك؟", - "account.pro.device.one.title": "جهاز واحد فقط", - "account.pro.device.one": "عذراً، لا يمكنك ازالة الجهاز الأخير الذي تم المصادقة عليه", - "account.pro.linkingcode": "رمز ربط الجهاز:", - "account.pro.renew": "تجديد حساب Pro", - "account.platinum.renew": "تجديد حساب Platinum", - "account.pro.renew_CN": "اعادة التجديد", - "account.prolink.errorTitle": "خطأ في الربط", - "account.prolink.errorText": "هل أنت متاكد من أنك نسخت الرمز بشكل صحيح من جهازك الآخر؟", - "account.prolink.successTitle": "الجهاز الذي تم ربطه", - "account.prolink.successText": "لقد تم ربط جهازك بنجاح! يرجى الانتظار للحظة على جهازك الآخر ليصبح حساب برو تلقائياً.", - "account.signin": "تسجيل الدخول", - "account.signout": "تسجيل الخروج", - "account.submit": "ارسال", - "account.username": "إسم المستخدم", - "account.switch.to.register": "التبديل إلى إنشاء حساب", - "account.switch.to.signin": "التبديل إلى تسجيل الدخول", - "account.invalid.username": "اسم المستخدم غير صالح", - "account.invalid.email": "البريد الإلكتروني غير صالح", - "account.password.mismatch": "تأكيد كلمة المرور لا يطابق كلمة المرور", - "account.password.short": "كلمة المرور قصيرة جدا", - "account.password.lowercase": "يجب أن تحتوي كلمة المرور على حرف صغير واحد على الأقل", - "account.password.uppercase": "يجب أن تحتوي كلمة المرور على حرف واحد على الأقل", - "account.password.number": "يجب أن تحتوي كلمة المرور على رقم واحد على الأقل", - "account.password.compromised": "كلمة المرور تظهر على قائمة كلمات المرور التي تم اختراقها", - "modal.register.free.header": "التسجيل أو تسجيل الدخول للدخول إلى محفظة Yinbi", - "modal.register.pro.header": "إضافة كلمة مرور الحساب للوصول إلى محفظة Yinbi", - "modal.register.pro.signin.header": "تسجيل الدخول للوصول إلى محفظة Yinbi", - "modal.register.free.text": "لاستخدام محفظة Yinbi يجب أن يكون لديك حساب Lantern، يرجى القيام بالتسجيل أو\nتسجيل الدخول للمتابعة.", - "modal.register.pro.text": "لاستخدام محفظة Yinbi، يجب تعيين كلمة مرور لحساب Lantern الخاص بك.", - "modal.register.pro.signin.text": "لاستخدام محفظة Yinbi يجب عليك تسجيل الدخول إلى حساب Lantern الخاص بك", - "adyen.paymentMethods.title": "وسائل الدفع", - "adyen.paymentMethods.storedMethods": "وسائل الدفع الخاصة بك", - "adyen.paymentMethods.otherMethods": "حدد وسيلة دفع أخرى", - "adyen.paymentMethods.moreMethodsButton": "المزيد من وسائل الدفع", - "adyen.payButton": "ادفع", - "adyen.payButton.formatted": "ادفع %@", - "adyen.cancelButton": "إلغاء", - "adyen.dismissButton": "حسناً", - "adyen.storeDetails": "حفظ لدفعتي القادمة", - "adyen.payment.redirecting": "سيتم اعادة توجيهك", - "adyen.payment.processing": "جار معالجة دفعتك", - "adyen.creditCard.title": "تفاصيل البطاقة", - "adyen.creditCard.holderName": "اسم حامل البطاقة", - "adyen.creditCard.holderName.placeholder": "جون سميث", - "adyen.creditCard.numberField.title": "رقم البطاقة", - "adyen.creditCard.numberField.placeholder": "1234 5678 9012 3456", - "adyen.creditCard.numberField.invalid": "رقم بطاقة غير صالح", - "adyen.creditCard.expiryDateField.title": "تاريخ انتهاء الصلاحية", - "adyen.creditCard.expiryDateField.placeholder": "شهر/سنة", - "adyen.creditCard.expiryDateField.invalid": "تاريخ انتهاء صلاحية غير صالح", - "adyen.creditCard.expiryDateField.month": "شهر", - "adyen.creditCard.expiryDateField.month.placeholder": "شهر", - "adyen.creditCard.expiryDateField.year.placeholder": "سنة", - "adyen.creditCard.expiryDateField.year": "سنة", - "adyen.creditCard.cvcField.title": "CVC / CVV", - "adyen.creditCard.cvcField.placeholder": "123", - "adyen.creditCard.installmentsField": "عدد التثبيتات", - "adyen.creditCard.storeDetailsButton": "تذكر هذه البطاقة لعملية الدفع القادمة", - "adyen.creditCard.oneClickVerification.title": "تحقق من بطاقتك", - "adyen.creditCard.oneClickVerification.message": "يرجى ادخال رمز CVC لـ %@", - "adyen.creditCard.oneClickVerification.invalidInput.title": "رمز CVC غير صالح", - "adyen.creditCard.oneClickVerification.invalidInput.message": "يرجى ادخال رمز CVC صالح للمتابعة.", - "adyen.sepaDirectDebit.ibanField.title": "رقم الحساب (IBAN)", - "adyen.sepaDirectDebit.ibanField.placeholder": "NL53 ABNA 1925 1294 122", - "adyen.sepaDirectDebit.ibanField.invalid": "رقم حساب غير صالح", - "adyen.sepaDirectDebit.nameField.title": "اسم حامل البطاقة", - "adyen.sepaDirectDebit.nameField.placeholder": "جون سميث", - "adyen.sepaDirectDebit.consentButton": "أوافق على أن المبلغ أدناه سيتم خصمه من حسابي البنكي.", - "adyen.sepa.ownerName": "اسم حامل البطاقة", - "adyen.sepa.ibanNumber": "رقم الحساب (IBAN)", - "adyen.giropay.searchField.placeholder": "اسم البنك / BIC / Bankleitzahl", - "adyen.giropay.minimumLength": "3 حروف كحد أدنى", - "adyen.giropay.noResults": "لا يوجد نتائج بحث", - "adyen.error.title": "خطأ", - "adyen.error.subtitle.redirect": "فشل اعادة التوجيه", - "adyen.error.subtitle.payment": "فشلت عملية الدفع", - "adyen.error.subtitle.refused": "تم رفض عملية الدفع", - "adyen.error.message.unknown": "حدث خطأ غير معروف", - "adyen.error.message.cannotConnectToInternet": "تعذر الاتصال بالانترنت: يرجى التحقق من اتصالك بالانترنت.", - "adyen.error.message.cannotConnectToHost": "فشل الاتصال بخادم الدفع الخاص بنا.", - "adyen.error.retryButton": "حاول مرة أخرى", - "adyen.idealIssuer.selectField.title": "بنك", - "adyen.idealIssuer.selectField.placeholder": "حدد البنك الخاص بك", - "adyen.creditCard.success": "نجحت عملية الدفع", - "adyen.oneClick.confirmationAlert.title": "تأكيد دفعة %@", - "adyen.redirect.cannotOpenApp.title": "لا يمكن فتح التطبيق", - "adyen.redirect.cannotOpenApp.appNotInstalledMessage": "لا يمكن فتح هذا التطبيق لأنه غير مثبت على هذا الجهاز.", - "adyen.holderName": "اسم حامل البطاقة", - "adyen.countryCode": "رمز البلد", - "adyen.telephone.number": "رقم الهاتف", - "android.download": "لانترن اندرويد", - "android.download.title": "تحميل Lantern لنظام Android", - "authorize.title": "السماح للجهاز بالترقية لحساب برو", - "authorize.step1.have_pro_device": "لدي جهاز بحساب لانترن برو آخر", - "authorize.step1.link": "ربط الجهاز", - "authorize.step1.email_linking": "ربط البريد الإلكتروني", - "authorize.device_linking_explanation": "استخدم هذه الطريقة إذا كنت قد سجلت الدخول إلى جهاز آخر وكان بحوزتك", - "authorize.device_email_explanation": "استخدم هذه الطريقة إذا كنت تريد إرسال رمز ربط الجهاز إلى بريدك الإلكتروني", - "authorize.link_device": "ربط الجهاز", - "authorize.step1.choose": "الرجاء اختيار طريقة لربط حسابك", - "authorize.step1.or": "أو", - "authorize.step1.recover": "أحتاج الى استرداد حساب لانترن برو الخاص بي", - "authorize.step1.start": "بدء الاسترداد", - "authorize.step1.no_mail": "هل لا تستطيع تذكر عنوان البريد الالكتروني الخاص بك؟", - "authorize.step1.description": "أدخل بريدك الإلكتروني وإذا كان الحساب موجودًا سنرسل بريدًا إلكترونيًا مع رمز ربط للجهاز", - "authorize.step2b.enter_code": "أدخل رمز استعادة الحساب الخاص بك", - "authorize.step2b.code": "رمز استرداد الحساب", - "authorize.step2b.instruction": "تم إرسال بريد إلكتروني برمز الاسترداد إلى {{email}} حالة وجود هذا الحساب. قد يستغرق وصول هذا البريد الإلكتروني عدة ساعات. يرجى التحقق من مجلد الرسائل غير المرغوب بها إذا لم تعثر عليه في صندوق الرسائل الواردة.", - "authorize.step2b.no_mail": "لم استلم رسالة", - "authorize.step3.recovery": "استرداد الحساب", - "authorize.step3.no_email": "عفواً! لدينا مشكلة في العثور على عنوان البريد الالكتروني هذا. يرجى اعطائنا المزيد من المعلومات أدناه لتساعدنا في تحديد موقع حسابك.", - "authorize.step3.no_code_received": "هل تواجه مشكلة في استلام بريد الاستعادة؟ أدخل المعلومات أدناه وسوف نتصل بك في غضون 48 ساعة.", - "authorize.step3.your_email": "بريدك الالكتروني", - "authorize.step3.payment_method": "وسيلة الدفع", - "authorize.step3.payment_method_hint": "حدد وسيلة الدفع التي استخدمتها للحصول على حساب برو", - "authorize.step3.credit_card": "بطاقة ائتمانية", - "authorize.step3.alipay": "AliPay", - "authorize.step3.android_pay": "Android Pay", - "authorize.step3.by_referral": "حصلت على حساب برو من خلال الاحالة الى صديق", - "authorize.step3.payment_account": "حساب الدفع", - "authorize.step3.payment_account_hint": "أدخل معلومات حساب Alipay", - "authorize.step3.referral_code": "رمز الإحالة الخاص بك", - "authorize.step3.purchase_date": "تاريخ الشراء", - "authorize.step3.note": "يرجى كتابة أي معلومات أخرى يمكن أن تساعدنا على تحديد موقع حسابك.", - "authorize.step4.title": "استرداد الحساب قيد التقدم", - "authorize.step4.text1": "شكراً لك! لقد استلمنا طلب استعادة حسابك.", - "authorize.step4.text2": "يرجى امهالنا 48 ساعة لاستعادة معلومات حساب البرو  الخاص بك.", - "authorize.step4.text3": "سوف نرسل المعلومات الى عنوان البريد الالكتروني الذي تم ادخاله على الشاشة السابقة.", - "authorized.continue": "المتابعة الى حساب برو", - "authorized.continue.lantern": "المتابعة إلى Lantern", - "authorized.text": "تمت مصادقة هذا الجهاز لستخدام حساب لاتيرن برو الخاص بك!", - "authorized.title": "تم منح الاذن للجهاز", - "button.account": "حساب", - "button.renew": "اعادة التجديد", - "button.upgrade": "إشترك", - "button.upgrade_now": "الترقية الآن", - "button.upgrade_to_lantern_pro": "الترقية الى لاتيرن برو", - "button.copy_your_code": "انسخ الرمز الخاص بك", - "button.try_again": "حاول مرة أخرى", - "button.continue": "واصل", - "button.continue_to": "المتابعة إلى {{planType}}", - "bullet.click_button": "أنقر على الزر أدناه", - "bullet.paste_code": "ألصق الرمز ورابط التنزيل في رسالة", - "bullet.send_to_friends": "ارسال الى أصدقائك", - "cancel": "إلغاء", - "confirm": "تأكيد", - "norecoveryyinbi": "*لا يمكنه استرجاع محفظة Yinbi", - "email.recovery.check.email": "تحقق من بريدك الإلكتروني للحصول على رسالة بها رمز الاسترداد", - "email.recovery.code.label": "أدخل أو الصق رمز الاسترداد", - "email.recovery.no.code": "لم تحصل على رمز؟", - "email.recovery.text": "أدخل بريدك الإلكتروني، وسنرسل لك رمزًا لإعادة تعيين كلمة المرور.\nإذا كان لديك محفظة Yinbi، فلن يمكنك ذلك من استرداد محفظة ينبي الخاصة بك، لاسترداد محفظة ينبي، أدخل عبارة الاسترداد ينبي خاصتك.", - "email.recovery.desc": "استخدم هذة الطريقة في حال رغبتك في إرسال رمز استرداد إلى بريدك الإلكتروني", - "device.recovery.desc": "استخدم هذه الطريقة إذا كنت قد سجلت الدخول إلى جهاز آخر وكان بحوزتك", - "google_search": "البحث على جوجل", - "giveaway.upgrade": "قم بالتحديث لتحصل على التوزيع المجاني اليوم", - "giveaway.title_released_today": "{{formattedTokens}} YNB يتم إصدارها اليوم", - "giveaway.what_is_it": "ما هي هدية Yinbi؟", - "giveaway.description1": "تقوم مؤسسة Yinbi بتقديم 888 مليار عملة مشفرة YNB حصريا من خلال Lantern لمشتري Lantern Pro.", - "giveaway.description2": "سيتم توزيع YNB في نهاية كل يوم، استنادا إلى كمية Yinbi الصادرة في ذلك اليوم، وعدد الأشخاص الذين قاموا بالتحديث/ التجديد، وعدد السنوات أو الحسابات التي تشتريها. سيتم إيداع YNB مباشرة في محفظة Yinbi الخاصة بك في Lantern.", - "giveaway.learn_more": "مزيد من المعلومات", - "link_device": "هل لديم حساب برو بالفعل؟ اربط الجهاز", - "email.recovery": "استرداد البريد الإلكتروني", - "email_taken": "البريد الإلكتروني مسجل بالفعل", - "username_taken": "اسم المستخدم مسجل بالفعل", - "err.unknown_error": "خطأ غير معروف", - "err.internal_error": "خطأ داخلي", - "err.bad_input": "ادخال خاطئ", - "err.not_authorized": "غير مصرح به", - "err.user_exists": "المستخدم موجود", - "err.no_such_user": "لا يوجد مستخدم", - "err.user_already_verified": "لقد تمت مصادقة المستخدم بالفعل", - "err.invalid_user_verification": "تحقق مستخدم غير صالح", - "err.user_unverified": "لم يتم التحقق من المستخدم", - "err.operation_temporarily_unavailable": "العملية غير متاحة مؤقتاً", - "err.wrong_or_inexistent_plan": "خطة خاطئة أو غير موجودة", - "err.user_has_active_subscription": "يمتلك المستخدم حساب نشط", - "err.payment_error": "خطأ في الدفع", - "err.no_codes_left": "لم يتبقى رموز احالات", - "err.wrong_code": "رمز احالة خاطئ", - "err.redeeming_own_code_not_allowed": "لا يسمح باستبدال رموز الشخص نفسه", - "err.wrong_charge_id": "معرف شحن خاطئ", - "err.wrong_link_code": "رمز ارتباط خاطئ", - "err.invalid_credentials": "بيانات اعتماد المستخدم المقدمة غير صالحة", - "footer.reseller": "إجني المال! اصبح بائع تجزئة لدى تطبيق لانترن برو. أنقر هنا", - "footer.reseller.email_subject": "أخبرني عن برنامج البيع بالتجزئة لدى تطبيق لانترن!", - "footer.reseller.email_body": "عندما تصبح بائع بالتجزئة لدى تطبيق لاتيرن، سيكون لديك فرصة كسب 25% على كل بيع لاشتراك لانترن برو. أخبرنا لماذا تود أن تصبح بائع تجزئة أدناه.", - "feature.faster_speed": "أسرع سرعة", - "feature.faster": "مراكز بيانات أكثر سرعة", - "feature.unlimited": "بيانات غير محدودة", - "feature.nologs": "لا توجد سجلات", - "feature.devices": "توصيل ما يصل إلى 3 أجهزة", - "feature.noads": "بدون إعلانات", - "feature.yinbi.tooltip": "ستهدي مؤسسة Yinbi 888 مليارًا من عملة YNB المشفرة حصريًا عبر Lantern لمشتري حسابات Lantern Pro. ستُوزَّع عملات YNB بنهاية كل يوم، بناءً على كمية Yinbi الصادرة في ذلك اليوم، وعدد الأشخاص الذين رقوا حساباتهم أو جددوها، وعدد الأعوام أو الحسابات التي تشتريها، وستودع عملات YNB مباشرة في محفظتك Yinbi Wallet على Lantern!", - "feature.antiblock": "مقاوم للحظر", - "feature.data_center": "مراكز بيانات أفضل", - "feature.free_yinbi": "عملة Yinbi المشفرة بالمجان!", - "free.title": "لانترن برو", - "free.desc": "أسرع. أقوى. غير محدود. آمن.", - "free.link_account": "هل لديك حساب برو بالفعل؟ اربط حسابك.", - "home.get_lantern_pro": "إحصل على لانترن برو", - "home.get_lantern_platinum": "ترقية خطتك", - "home.welcome_popup_subheader": "مرحبا بكم في Lantern الجديد!", - "home.welcome_popup_content_1": "لقد عملنا بجد، وقمنا بتحديث Lantern وإضافة ميزات جديدة.", - "home.welcome_popup_content_2": "في واجهة المستخدم الجديدة، ستجد شريط بحث يسمح لك بالبحث في الملفات المشتركة على شبكة Lantern. يمكنك أيضا المساهمة بالمحتوى عن طريق نشر ملف بنفسك. هذه ميزة تجريبية، لذا قم بتجربتها وأخبرنا برأيك، سنواصل إجراء تحسينات استنادا إلى ملاحظاتك.", - "home.welcome_popup_button": "جربه", - "input.email": "البريد الاكتروني", - "input.your_email": "عنوان البريد الالكتروني الخاص بك", - "input.confirm_email": "تأكيد عنوان البريد الالكتروني", - "input.enter_email": "أدخل بريدك الالكتروني", - "input.use_valid_email": "أكتب عنوان بريد الكتروني صالح", - "input.email_not_match": "حقول البريد الالكتروني غير متطابقة", - "input.existing_email": "البريد الإلكتروني الحالي", - "issue.your_email": "بريدك الالكتروني", - "issue.attach_image_failure": "يتعذّر إرفاق الصورة", - "issue.try_again": "الرجاء المحاولة مجددا", - "issue.select_issue": "يرجى اختيار مشكلة", - "issue.selected_issue": "حدد المشكلة", - "issue.select_issue_hint": "حدد مشكلة من القائمة المنسدلة", - "issue.note": "صِف مشكلتك", - "issue.description": "وصف المشكلة", - "issue.error": "خطأ في ابلاغ عن مشكلة", - "issue.submit": "إرسال تقرير", - "issue.report_screenshot": "اسحب صورة أو اضغط لرفع لقطة شاشة", - "issue.reported": "نشكرك على الإبلاغ عن المشكلة، وسنوافيك برسالة إلكترونية في أقرب فرصة ممكنة", - "issue.report_sent": "تم إرسال التقرير", - "issue.type.no_access": "لا يمكن الوصول الى المواقع المحظورة", - "issue.type.payment_fail": "لا يمكن اكمال الدفع", - "issue.type.cannot_login": "لا يمكن تسجيل الدخول", - "issue.type.always_spinning": "مؤشر التحميل يدور الى ما لا نهاية", - "issue.type.slow": "بطئ", - "issue.type.cannot_link_device": "لا يمكن ربط الأجهزة", - "issue.type.crashes": "فشل في عمل تطبيق لانترن", - "issue.type.other": "أخرى", - "languages.title": "اللغات", - "lantern.email": "البريد الإلكتروني الخاص بـ Lantern", - "mobile.link": "استخدم الرابط لتنزيل تطبيق لانترن على جهاز الأندوريد الخاص بك:", - "mobile.title": "أحصل على اصدار الأندرويد", - "nav.about": "حول", - "nav.account": "ادارة الحساب", - "nav.authorize": "أضف جهاز", - "nav.authorized": "تم منح الاذن للجهاز", - "nav.unauthorized_link": "منح إذن للجهاز لحساب برو", - "nav.language": "لغة", - "nav.lantern": "لانترن", - "nav.mobile": "أحصل على اصدار الهاتف المحمول", - "nav.report_issue": "ابلاغ عن مشكلة", - "nav.settings": "الاعدادات", - "nav.support": "الدعم", - "nav.verify": "تأكيد الحساب", - "nav.yinbi": "استرداد Yinbi", - "nav.home": "الرئيسية", - "nav.discover": "اكتشف", - "nav.wallet": "المحفظة", - "nav.yinbi_wallet": "محفظة Yinbi", - "notification.retry": "إعادة المحاولة", - "notifications": "الإخطارات", - "notifications.whatisnew": "ما أحدث المستجدات؟", - "password.change": "تغيير كلمة المرور", - "password.changed": "تم تغيير كلمة المرور", - "continue.to.pro": "المتابعة الى حساب برو", - "username": "إسم المستخدم", - "password.new": "كلمة مرور جديدة", - "password.requirements": "
يجب أن تحتوي كلمة المرور على ما يلي:
  • 8 أحرف أو أكثر
  • حرف واحد صغير
  • حرف واحد كبير
  • رقم واحد على الأقل
  • ألا يكون ضمن قائمة كلمات المرور التي تمت اختراقها
", - "password.reset": "إعادة تعيين كلمة المرور", - "paxful.buy": "إجراء الشراء", - "paxful.payment": "طريقة الدفع", - "paxful.bitcoin": "بيتكوين (BTC)", - "paxful.tether": "تيثر (USDT)", - "paxful.wallet": "المحفظات عبر الإنرتنت", - "paxful.bank": "التحويلات البنكية", - "paxful.gamer_card": "بطاقات الألعاب", - "paxful.gift_card": "بطاقات الهدايا", - "paxful.cash": "الدفع النقدي", - "paxful.digital_currency": "العملات الرقمية", - "paxful.button": "إظهار أفضل العروض", - "payment.close": "اغلاق", - "payment.redirectErrorTitle": "خطأ في الاتصال بخادم الدفع.", - "payment.redirectErrorText": "نعمل حاليًا على حل هذه المشكلة. يرجى التحقق مرة أخرى في وقت لاحق.", - "payment.wait_for_pro": "نشكرك على شرائك تطبيق لانترن برو! يرجى الانتظار للحظة حتى يتحول حسابك الى حساب لانترن برو تلقائياً.", - "payment.moreOptions": "خيارات إضافية", - "payment.fewerOptions": "خيارات أقل", - "payment_methods.select_name": "حدد وسيلة الدفع", - "payment_methods.alipay": "بطاقة ائتمانية/Alipay", - "payment_methods.shetab": "فاست ورلد باي (شيتاب)", - "payment_methods.shetab.details.header": "لشراء لانترن برو", - "payment_methods.shetab.details.body": "حين تضغط على متابعة للشراء، سيجري توجيهك إلى موقع خارجي لإكمال عملية الدفع والحصول على رمز التنشيط الخاص بك.", - "payment_methods.shetab.details.tutorial_header": "درس تعليمي فارسي", - "payment_methods.shetab.details.purchase_voucher_button": "متابعة للشراء", - "payment_methods.shetab.details.input_code_button": "إدخال رمز التحقق", - "plan.step1": "الخطوة 1", - "plan.apply": "تطبيق", - "plan.step2": "الخطوة 2", - "plan.most_popular": "الأكثر شيوعًا!", - "plan.step3": "الخطوة 3", - "plan.choose_plan": "اختر الخطة", - "plan.enter_email": "أدخل البريد الإلكتروني", - "plan.choose_method": "اختر وسيلة الدفع", - "plan.bestValue": "العرض الأفضل!", - "plan.per_month": "شهريًا", - "plan.yinbi_2x": "+ عملتا Yinbi!", - "plan.oneYear": "1 سنة", - "plan.add_referral": "إضافة رمز الإحالة", - "plan.years": "خطة {{years}} سنوات", - "plan.desc": "تمت فوترة {{price}} مرة واحدة", - "plan.bonus_months": "+ {{bonusMonths}} أشهر", - "plan.price.cny": "ين %.02f", - "plan.price.usd": "دولار %.02f", - "plan.currency.cny": "(رنمينبي)", - "plan.currency.usd": "(دولار أمريكي)", - "plan.time_unit": "\\ريال", - "plan.select": "إختر", - "plan.two_year": "عامان", - "plan.one_year": "عام واحد", - "plan.savings": "وفر {{formattedDiscount}} %", - "plans.title": "خطط لانترن برو", - "plans.lantern_pro": "لانترن برو", - "plans.platforms": "للويندوز، للأندرويد، للماك، للأوبونتو.", - "plans.from_reseller": "هل لديك رمز تنشيط Lantern Pro؟ انقر هنا.", - "plans.with_voucher_code": "ألديك رمز تنشيط؟ اضغط هنا.", - "pro.apply": "سيتم تطبيق رصيدك على حسابك في دورة الفاتورة التالية.", - "pro.title": "ادعوا الأصدقاء واحصل على المزيد من حسابات البرو مجاناً", - "pro.subtitle": "عندما يقوم صديقك بشراء خطة السنتين، سيحصل كل منكما على 3 أشهر اضافية من حساب البرو، خطة السنة الواحدة تمنح كل منكما شهر 1 مجاني.", - "pro.share": "قم بمشاركة الرمز الخاص بك مع أصدقائك لتبدأ في كسب المزيد من الائتمانات!", - "promotion.title": "الدفع لحساب لانترن برو", - "promotion.title.activation": "تفعيل حساب لانترن برو", - "promotion.enter_and_confirm_email": "يرجى ادخال وتأكيد عنوان بريدك الالكتروني", - "promotion.code.hint": "أدخل رمز الاحالة الخاص بصديقك (اختياري)", - "promotion.code.label": "كود الإحالة", - "promotion.payment": "المتابعة في الدفع", - "promotion.payment.btc": "الدفع من خلال ₿", - "promotion.loading": "جاري التحميل...", - "promotion.howto_1y": "اذا قام صديقك بمشاركة رمز الاحالة معك، قم بإدخال الرمز لتتلقى شهر واحد من حساب لانترن برو مجاناً بعد الدفع.", - "promotion.howto_2y": "اذا قام صديقك بمشاركة رمز الاحالة معك، قم بإدخال الرمز لتتلقى ثلاثة أشهر من حساب لاتيرن برو مجاناً بعد الدفع.", - "promotion.pay": "تسديد {{المبلغ}}", - "promotion.select": "إختر", - "promotion.promotion_applied_1y": "+ شهر واحد منحة إضافية", - "promotion.promotion_applied_2y": "+ 3 أشهر منحة إضافية", - "promotion.too_many_referrals": "لقد تم اضافة رمز الاحالة هذا. تحقق الآن كي تتلقى أشهرك الاضافية.", - "promotion.activation.enter_and_confirm_email": "يرجى ادخال وتأكيد عنوان البريد الالكتروني الخاص بك لتسجل حساب لانترن برو الخاص بك.", - "promotion.activation.label": "XXXXX-XXXXX-XXXXX-XXXXX-XXXXX", - "promotion.activation.hint": "رمز التنشيط", - "promotion.activation.instructions": "أدخل بريدك الإلكتروني ورمز التنشيط المكون من 25 رقما الذي تلقيته من البائع لتسجيل حسابك.", - "promotion.activation.howto": "يرجى ادخال رمز تفعيل حساب لانترن برو أعلاة المكون من 25 حرف. اذا لم يكون لديك رمز، يرجى شراء حساب برو من الشاشة السابقة أو قم بالبحث عن بائع تجزئة لحساب لانترن برو على الانترنت.", - "promotion.activation.continue": "التسجيل لـ Pro", - "promotion.voucher.hint": "رمز التنشيط", - "promotion.voucher.howto": "نرجو إدخال رمز تنشيط قسيمة فاست وورلد باي المكوّن من 12 حرفًا أعلاه", - "promotion.voucher.label": "XXXXXXXXXXXX", - "promotion.voucher.error.default": "حدث خطأ أثناء استرداد رمز التنشيط المخصص لك.", - "promotion.voucher.error.invalid_code": "رمز تنشيط غير صالح", - "promotion.voucher.error.invalid_plan": "رمز التنشيط مرتبط بخطة غير صالحة", - "promotion.voucher.error.already_redeemed": "لقد تم استرداد رمز التنشيط بالفعل", - "referral.code": "رمز الإحالة", - "referral.text": "استخدم الرمز الخاص بي %s واحصل على 3 أشهر مجانا عند قيامك بتسجيل اشتراك!", - "referral.description_free": "قم بمشاركة التعليمات البرمجية الخاصة بك مع أصدقائك، واحصل على 1 شهر من خدمة Lantern Pro مجانا عند شراء Pro!", - "referral.description_pro": "قم بمشاركة التعليمات البرمجية الخاصة بك مع أصدقائك واحصل على 1 شهر من خدمة Lantern Pro إضافية مجانا عند شراء Pro!", - "register": "Register", - "renew.subtitle_early": "تجديد لمدة 3 أشهر مجانًا!", - "renew.subtitle_last_day": "تجديد لمدة 3 أشهر مجانًا!", - "renew.subtitle_expired": "قم بالتجديد لمدة 45 يوما مجانًا!", - "renew.details_early": "أوشكت عضويتك بـLantern Pro على الإنتهاء قريبا. جدد الآن واستمتع بما يصل إلى ثلاثة أشهر مجانا!", - "renew.details_last_day": "تنتهي عضويتك في Lantern Pro اليوم! جدد الآن واستمتع بما يصل إلى ثلاثة أشهر مجانًا!", - "renew.details_expired": "انتهت عضويتك في Lantern Pro. جدد الآن واستمتع بما يصل إلى خمسة وأربعين يوما مجانًا!", - "renew.asterisk_early": "* هذا العرض المحدود الوقت صالح فقط للتجديدات المبكرة.", - "renew.asterisk_last_day": "* هذه هي فرصتك الأخيرة لتلقي هذا العرض الخاص!", - "renew.asterisk_expired": "* هذا عرض محدود الوقت!", - "renew.plan_label": "لانترن برو - %s", - "renew.plan_renewal_bonus_1_month": "$%d%s+شهر مجاني واحد", - "renew.plan_renewal_bonus_months": "$%d%s+%dشهور مجانية", - "renew.plan_renewal_bonus_days": "$%d%s+%dأيام مجانية", - "renew.next": "التالي", - "renew.decline": "رفض العرض", - "renew.decline_question": "هل أنت واثق من رفض الطلب؟", - "renew.decline_yes": "التجديد لاحقاً", - "renew.decline_dismiss": "التجديد الآن", - "renew.notification_title_30_days": "تجديد حساب برو الآن لتوفير كبير", - "renew.notification_title_30_days_platinum": "جدد Platinum الآن واحصل على خصومات هائلة!", - "renew.notification_text_30_days": "ستنتهي صلاحية حسابك على {{planName}} في غضون {{remainingDays}} أيام. جدد الآن واحصل على ما يصل إلى 3 أشهر مجانًا.", - "renew.notification_title_2_days": "سينتهي الخصم على {{planName}} غدًا", - "renew.notification_text_2_days": "ستنتهي صلاحية حسابك على {{planName}} غدًا. لا تُضِع فرصة الحصول على خصم كبير.", - "renew.notification_title_last_day": "الفرصة الأخيرة للخصم!", - "renew.notification_text_last_day": "لقد انتهت صلاحية حسابك على {{planName}}. جدد اليوم واحصل على ما يصل إلى 3 أشهر مجانًا.", - "replica.upload": "تحميل", - "replica.favorite": "تفضيل", - "replica.added_to_favorites": "تمت إضافته إلى المفضلة", - "replica.filedrop_error": "خطأ في تحميل هذا الملف", - "replica.filedrop_error.file-too-large": "الحد الأقصى المسموح به لحجم الملف هو {{fileSize}}", - "replica.filedrop_error.file-too-small": "الملف صغير جدا", - "replica.filedrop_error.too-many-files": "ملفات كثيرة جدًا", - "replica.filedrop_error.file-invalid-type": "نوع الملف هذا غير معتمد حاليًا", - "replica.filedrop_remove_file": "إزالة من قائمة الانتظار", - "replica.post": "تحميل ملف", - "replica.relevance": "أهمية", - "replica.upload_date": "تاريخ التحميل", - "replica.gallery_view": "استعراض معرض الصور", - "replica.list_view": "عرض القائمة", - "replica.copy_lantern_link": "نسخ رابط Lantern", - "replica.documents": "الوثائق", - "replica.audio": "صوتي", - "replica.application": "تطبيقات", - "replica.image": "الصور", - "replica.video": "مقاطع فيديو", - "replica.web": "ويب", - "replica.news": "أخبار", - "replica.upload_alert.dont_show": "لا تظهر هذا مرة أخرى", - "replica.upload_alert.cancel": "إلغاء التحميل", - "replica.upload_alert.resume": "استئناف التحميل", - "replica.upload_alert.info": "معلومات هامة!", - "replica.upload_alert.desc1": "يتم توزيع الملفات التي تم تحميلها على Lantern وجعلها لامركزية. بمجرد الوصول إليها من قبل مستخدم آخر لا يمكن حذفها من الشبكة من قبل أي شخص، بما في ذلك Lantern، حتى لو تم حذفها من قائمة \"ملفاتي\".", - "replica.upload_alert.desc2": "يرجى التوقف عن استخدام معلومات التعريف الشخصية في الملف أو اسم الملف عند تحميل محتوى حساس.", - "replica.add_details": "إضافة تفاصيل", - "replica.cannot_edit": "لا يمكن تعديل أسماء الملفات بعد نشرها.", - "replica.next": "التالب", - "replica.previous": "سابق", - "replica.selectAll": "تحديد الكل", - "replica.search_replica": "Search", - "replica.search_results_info": "تظهر علامة التبويب هذه نتائج Lantern فقط .", - "replica.search_results_info_message": "تتألف نتائج Lantern من محتوى تم تحميله من قبل المستخدمين على شبكة Lantern.", - "replica.no_files_found": "لا توجد نتائج", - "replica.or_content": "المحتوى الخاص بك ليجده الآخرون!", - "replica.try_again": "جرب كلمة رئيسية مختلفة، أو", - "replica.upload_success": "تم التحميل بنجاح!", - "replica.cannot_preview": "لا توجد معاينة لهذا النوع من الملفات", - "replica.no_description": "لم يتم توفير وصف", - "replica.size": "الحجم", - "replica.uploaded": "تم التحميل", - "replica.invalid_link": "ارتباط غير صالح", - "replica.close": "اغلاق", - "replica.files": "الملفات", - "replica.upload_history": "تحميل سجل", - "replica.my_favorites": "المفضلة", - "replica.no_uploads": "لا يوجد تحميلات حتى الآن", - "replica.no_favorites": "لا توجد قائمة مفضلات حتى الآن", - "replica.mime_type": "نوع الملف: {{mime}}", - "replica.image_loading_error": "خطأ في تحميل الصورة", - "replica.play": "تشغيل", - "replica.pause": "إيقاف مؤقت", - "replica.scrub": "إلغاء", - "replica.skip_forward": "تخط إلى الأمام", - "replica.skip_backwards": "تخط إلى الخلف", - "replica.trending_videos": "مقاطع الفيديو الرائجة", - "replica.file_uploaded": "تم التحميل: منذ {{days}} من الأيام", - "replica.file_size": "الحجم", - "replica.duration": "المدة", - "replica.filename": "اسم الملف", - "replica.filename_required": "قم بتسمية الملف الخاص بك", - "replica.description_optional": "إضافة وصف", - "replica.expand": "توسيع التفاصيل", - "replica.filetype": "نوع الملف", - "replica.sortby": "الفرز حسب", - "replica.link": "ارتباط نسخة متماثلة", - "replica.collapse": "طي", - "replica.publish": "نشر", - "replica.cancel": "إلغاء", - "replica.progress_current_upload": "تحميل", - "replica.progress_files": "الملفات", - "replica.progress_of": "من", - "replica.progress_upload_complete": "إكمال", - "replica.progress_upload_failure": "فشل التحميل الرجاء المحاولة مرة أخرى.", - "replica.upload_in_progress": "التحميل قيد التقدم", - "replica.upload_pending": "تحميل معلق", - "replica.upload_error": "خطأ في التحميل", - "replica.upload_cancel": "إلغاء التحميل", - "replica.upload_confirm": "هل أنت واثق من إلغاء التحميل؟", - "replica.progress_view": "شاهد", - "replica.delete": "حذف", - "replica.remove": "ازالة", - "replica.delete_file": "حذف الملف", - "replica.remove_favorite": "إزالة من المفضلة", - "replica.failed_to_delete": "فشل الحذف", - "replica.failed_to_remove": "فشل الإزالة", - "replica.link_lookup_failure": "فشل العثور على الرابط", - "replica.delete_file_confirmation_1": "هل تريد الحذف بالتأكيد", - "replica.delete_file_confirmation_2": "من تحميلاتك", - "replica.remove_favorite_confirmation_1": "هل تريد الإزالة", - "replica.remove_favorite_confirmation_2": "من المفضلة لديك", - "replica.share_file": "مشاركة الملف", - "replica.download_and_view": "تنزيل/عرض", - "replica.download": "تحميل", - "replica.copy_link": "نسخ رابط Replica", - "replica.find_file": "البحث عن ملف", - "replica.file_drop_prompt": "قم بإسقاط الملف لبدء التحميل!", - "replica.empty_uploads_text1": "انقر", - "replica.empty_uploads_text2": "هنا", - "replica.empty_uploads_text3": "للقيام بمنشورك الأول.", - "replica.error_header": "عفوًا", - "replica.error": "حدث خطأ أثناء معالجة طلبك. الرجاء المحاولة مرة أخرى.", - "replica.serp_empty": "لم تُرجع Google أية نتائج لهذا الاستعلام.", - "replica.disclaimer": "يخفي Lantern هوية عمليات البحث التي تجريها ويحميها من الجهات الخارجية.", - "settings.general": "عام", - "settings.feedback": "التعليقات", - "settings.autoLaunch": "تشغيل تطبيق لانترن عند بدء النظام", - "settings.autoReport": "قم بالإبلاغ عن احصاءات الاستخدام بأمان للمساهمة في تطبيق لانترن", - "settings.lantern_ads": "عرض إعلانات Lantern", - "settings.lantern_ads_tooltip": "يعرض لك Lantern إعلانات على بعض مواقع الويب للمساعدة في دعم خدمتنا. لا يتم جمع أي معلومات للمستخدم أو تمريرها إلى خوادمنا. إذا قمت بإيقاف تشغيل هذا الخيار، فقد تظل تشاهد الإعلانات، ولكنها لن تكون من شبكة Lantern.", - "settings.proxyAll": "معالجة كل المواقع", - "settings.proxyAllHelpTitle": "ماذا تقوم \"معالجة كل المواقع\"", - "settings.proxyAllHelp1": "اذا قمت بالتمكين، سيتم ارسال جميع الزيارات عبر لانترن (الخيار الأكثر أماناً).", - "settings.proxyAllHelp2": "لو قمت بالتعطيل، سيتم ارسال الزيارات المحظورة فقط عبر تطبيق لانترن (الخيار الأسرع والأكثر شيوعاً).", - "settings.show_advanced": "إظهار الإعدادات المتقدمة", - "settings.hide_advanced": "إخفاء الإعدادات المتقدمة", - "settings.systemProxy": "ادارة بروكسي النظام", - "settings.title": "الاعدادات", - "settings.http_proxy": "وكيل (وكلاء) HTTP:", - "settings.socks_proxy": "بروكسي سوكس:", - "settings.caution": "تحذير:", - "settings.caution_text": "عند عدم فحص \"ادارة خادم النظام\"، فسوف لا يكون متصفحك وتطبيقاتك قادرين على استخدام تطبيق لانترن تلقائياً. اذا كنت تعرف كيفية تكوين هذه الاعدادات يدوياً، فإرجع الى المعلومات أعلاه.", - "settings.select_language": "اختر لغة", - "settings.diagnostics": "إرفاق معلومات التشخيص", - "settings.diagnostics_tooltip": "سيؤدي إرفاق معلومات التشخيص إلى إرسال بيانات فريق Lantern الملتقطة من اتصالك. سيؤدي ذلك إلى زيادة قدرتنا على تحديد مشكلتك وحلها.", - "status.lantern": "تطبيق Lantern هو", - "status.click_reconnect": "انقر هنا لإعادة الاتصال", - "status.server_location": "موقع الخادم", - "status.tooltip1": "يستخدم تطبيق لانترن خيار خادم ذكي للعثور لك تلقائياً على أسرع اتصال ممكن من مراكز البيانات الخاصة بنا.", - "status.tooltip2": "قم بالتحديث إلى Lantern Pro للحصول على سرعة أسرع مع اختيار الخادم الأمثل من مراكز بيانات Lantern Pro الحصرية", - "status.protected_connection": "اتصالك محمي", - "status.please_wait": "قد يستغرق هذا الأمر دقيقة أو دقيقتين...", - "status.connecting": "ربط ...", - "status.no_internet": "إيقاف التشغيل", - "status.no_internet_connection": "لا يوجد اتصال بالإنترنت", - "status.connected": "تشغيل", - "status.disconnected": "إيقاف التشغيل", - "status.throttled": "السرعة محدودة (حد البيانات)", - "status.no_system_proxy": "{{status}}، وليس إدارة وكيل النظام", - "status.fail_to_set_system_proxy": "فشل في تعيين لانترن كوكيل نظام", - "status.fail_to_open_browser": "فشل في فتح نافذة المتصفح لإظهار واجهة مستخدم لانترن", - "support.forum": "منتدى مستخدمي Lantern", - "support.faq": "أسئلة متكررة", - "terms_of_service.acknowledgment": "بالضغط على {{buttonText}}، فأنت توافق على شروط الخدمةلدينا", - "terms_of_service.replica": "من خلال البحث عن منتجاتنا أو تحميلها أو استخدامها بأي شكل من الأشكال، فإنك توافق على شروط الخدمة وسياسة الخصوصية وسياسة DMCA", - "top_sites.google": "Google", - "top_sites.twitter": "تويتر", - "top_sites.youtube": "Youtube", - "top_sites.facebook": "الفيسبوك", - "top_sites.wikipedia": "Wikipedia", - "verify.header": "أدخل أو ألصق رمز ربط الجهاز", - "verify.code": "رمز ربط الجهاز", - "verify.howto_1": "اذا كان لديك حساب لانترن برو على جهاز آخر، فيرجى ادخال عنوان بريدك الالكتروني هنا لتتلقى الرمز للمصادقة على الجهاز", - "verify.howto_1a": "أنت حاليا مستخدم لحساب برو غير مصادق عليه. يرجى إدخال عنوان البريد الإلكتروني الخاص بك لمنح الاذن لحساب برو الخاص بك. سيمكنك ذلك من ربط أجهزة متعددة.", - "verify.howto_2": "لربط جهاز بحسابك في Pro:", - "verify.howto_3": "1. اختر \"تخويل الجهاز لـ Pro\" من قائمة جهازك الآخر.", - "verify.howto_4": "2. أدخل رمز الربط الذي حصلت عليه في الخطوة 1، ومن ثم قم بالتسليم.", - "verify.reminder": "* تأكد من أن كلا الجهازين يعملان بأحدث إصدار من Lantern", - "verify.enter_pin": "أدخل أو الصق رمز ربط الجهاز", - "verify.submit": "ارسال", - "verify.title": "تأكيد الحساب", - "welcomeToPro.continue": "المتابعة الى حساب برو", - "welcomeToPro.invite": "ادعو الأصدقاء وكل منكما سيحصل على 3 شهور مجاناً عندما يقومون بشراء خطة لسنتين، خطة السنة الواحدة تمنح كل منكما شهر 1 مجاني. ابدأ بدعوة أصدقائك!", - "welcomeToPro.thanks": "لديك الآن وصول غير محدود باستخدام أسرع مراكز البيانات لدينا. يمكنك ربط ما يصل إلى ثلاثة أجهزة بحسابك. ", - "welcomeToPro.title": "اهلاً بك في تطبيق لانترن برو", - "welomeToPro.title_exclamation": "مرحبا بك في لانترن برو!", - "purchase.failed": "فشلت عملية الشراء، يرجى إعادة المحاولة فيما بعد.", - "purchase.success": "نجحت عملية الشراء", - "purchase.success_title": "أهلًا بك في Lantern {{planType}}!", - "purchase.success_content_pro": "لديك الآن وصول غير محدود باستخدام أسرع مراكز البيانات لدينا. يمكنك ربط ما يصل إلى ثلاثة أجهزة بحسابك. ", - "purchase.success_content_platinum": "لديك الآن وصول غير محدود باستخدام أسرع الخطوط المخصصة ومراكز البيانات لدينا. يمكنك ربط ما يصل إلى ثلاثة أجهزة بحسابك. ", - "welcomeToPro.description": "يمكنك الآن الوصول غير المقيد إلى المواقع والخدمات المحظورة", - "messages.copied_to_clipboard": "تم نسخ الرمز. شاركه مع أصدقائك!", - "messages.datacap": "لقد استخدمت بيانات السرعة المجانية. قم بالترقية الى برو لبيانات سرعة عالية غير محدودة.", - "messages.fatal_error": "عذراً، لدينا مشكلة في الاتصال بخوادم لانترن. يرجى التحقق من اتصالك بالانترنت وحاول مرة أخرى.", - "messages.backend_gone": "عذراً، يبدو ان تطبيق لانترن لم يعد يعمل. يرجى اعادة تشغيل لانترن وحاول مرة أخرى.", - "messages.get_help": "مساعدة", - "freeProCredits.title": "ادعو أصدقائك", - "freeProCredits.shareWithFriends": "شارك الرمز الخاص بك مع أصدقائك لكسب أشهر مجانية!", - "freeProCredits.shareWithFriendsDesc": "عندما يشتري صديقك خطة السنتين، فكل منكما سيحصل على 3 شهور مجاناً، خطة السنة الواحدة تمنح كل منكما شهر 1 مجاني.", - "cards.serverLocation.unknown": "غير معروف", - "cards.serverLocation.description": "موقع خادم محسّن", - "cards.serverLocation.description-free": "موقع الخادم", - "cards.serverLocation.description-upgrade": "ترقية للخوادم الأسرع", - "cards.serverLocation.title": "الموقع الحالي:", - "cards.serverLocation.location": "%s، %s", - "cards.serverLocation.text": "يستخدم تطبيق لانترن خيار خادم ذكي للعثور لك تلقائياً على أسرع اتصال ممكن من مراكز البيانات لدينا في طوكيو، وسنغافورا، وهونج كونج، وسان فرانسيسكو، ونيويورك، وأمستردام، والبنغالور والكثير من الدول الاخرى.", - "cards.serverLocation.text-free": "يستخدم تطبيق لانترن خيار خادم ذكي للعثور لك تلقائياً على أسرع اتصال ممكن من مراكز البيانات الخاصة بنا.", - "cards.serverLocation.upgrade-link": "قم بالترقية الى لانترن برو للحصول على سرعة أسرع مع خيار الخادم الأمثل من مراكز بيانات حساب لانترن برو الحصرية.", - "cards.httpsUpgrades.description": "ترقيات HTTPS:", - "cards.httpsUpgrades.title": "ترقيات HTTPS: %d", - "cards.httpsUpgrades.text": "يقوم تطبيق لانترن تلقائياً بالترقية الى اتصالات HTTP غير آمنة الى اتصالات HTTP مشفرة عندما يكون ذلك ممكنا للحفاظ على المعلومات الخاصة بك أثناء تصفح الإنترنت.", - "cards.adsBlocked.description": "لقد تم حظر الاعلانات", - "cards.adsBlocked.title": "لقد تم حظر الاعلانات: %d", - "cards.adsBlocked.text": "يقوم لانترن بحظر الاعلانات المتطفلة لتسريع وقت تحميل صفحة الويب، وحفظ النطاق الترددي، وتزويدك بتجربة تصفح أكثر سلاسة.", - "cards.dataUsage.description": "استخدام البيانات", - "cards.dataUsage.upgrade": "قم بالترقية الآن", - "cards.dataUsage.mb-used": "لقد استخدمت %d/%dميجابيت من بيانات السرعة العالية الشهرية.", - "cards.dataUsage.upgrade-link": "قم بالترقية الآن لخدمة سرعة عالية غير محدودة!", - "cards.subscription.description": "اشتراك برو", - "cards.subscription.renew": "اعادة التجديد", - "cards.subscription.months": "لديك %d شهور من حساب لانترن برو المتبقى في اشتراكك.", - "cards.subscription.days": "لديك %dأيام من حساب لانترن برو المتبقي في اشتراكك.", - "cards.subscription.unit.months": "MO", - "cards.subscription.unit.days": "أيام", - "cards.subscription.renew-link": "قم باعادة تجديد اشتراكك لاضافة المزيد من الوقت.", - "auth.email": "البريد الاكتروني", - "auth.username": "إسم المستخدم", - "auth.username.or.email": "اسم المستخدم أو البريد الإلكتروني", - "auth.signin": "تسجيل الدخول", - "current.password": "كلمة المرور الحالية", - "new.password": "كلمة مرور جديدة", - "auth.change.password": "تغيير كلمة المرور", - "confirm.new.password": "تأكيد كلمة المرور الجديدة", - "auth.password": "كلمة المرور", - "auth.have.recovery.phrase": "هل لديك عبارة استرداد؟", - "auth.forgot.password": "هل نسيت أو لم يكن لديك كلمة السر؟", - "auth.create.account": "إنشاء حساب", - "auth.missing.username": "اسم المستخدم المفقود", - "auth.missing.current.password": "فقدان كلمة المرور الحالية", - "auth.missing.new.password": "فقدان كلمة مرور جديدة", - "auth.missing.confirm.password": "تأكيد كلمة السر غير مكتمل", - "invalid_credentials": "بيانات اعتماد غير صالحة", - "yinbi.wallet": "محفظة Yinbi", - "create.wallet": "إنشاء محفظة", - "new.to.yinbi": "هل أنت مستخدم جديد لـ Yinbi؟", - "setup.wallet": "نعم ، لنقم بإنشاء محفظة جديدة!", - "web.wallet": "لا، لدي محفظة على موقع Yin.bi", - "yinbi.next": "التالب", - "yinbi.amount": "مبلغ", - "yinbi.missing.address": "لم يتم توفير عنوان الوجهة", - "yinbi.missing.amount": "لم يتم تحديد مبلغ", - "yinbi.missing.email": "لم يتم تحديد عنوان بريد إلكتروني", - "yinbi.missing.username": "لم يتم تحديد اسم مستخدم", - "yinbi.missing.password": "لم يتم تحديد كلمة مرور", - "yinbi.invalid.address": "{{destination}} عنوان Stellar غير صالح", - "yinbi.send": "إرسال", - "yinbi.to": "لكي:", - "yinbi.try_again": "حاول مرة أخرى؟", - "yinbi.success.transaction": "معاملة ناجحة!", - "yinbi.failure.transaction": "فشل المعاملة", - "yinbi.confirm.transaction": "تأكيد المعاملة", - "yinbi.sent.details": "أرسلت {{amount}} YNB إلى {{destination}}", - "yinbi.sent.failure.details": "فشلت معاملتك للأسباب التالية:", - "yinbi.recipient": "المستلم", - "yinbi.available.send": "لديك {{balance}} YNB متاحة لإرسال", - "yinbi.wallet.header": "المحفظة", - "yinbi.send.header": "أرسل Yinbi", - "yinbi.recovery.phrase": "عبارة استرداد Yinbi", - "yinbi.recover.account": "أدخل أو الصق عبارة استرداد Yinbi لاسترداد محفظة Yinbi وحساب Lantern", - "yinbi.recovery.desc": "استخدم هذه الطريقة إذا كنت ترغب في تسجيل الدخول إلى محفظة Yinbi بالإضافة إلى حساب Lantern الخاص بك", - "yinbi.redeem.codes": "استرداد رموز Yinbi المجمعة", - "yinbi.obtain.codes": "يمكن الحصول على رموز استرداد Yinbi المجمعة من reseller.lantern.io", - "yinbi.receive.header": "استقبال Yinbi", - "yinbi.this.is.your.wallet": "هذا هو عنوان محفظة Yinbi حيث يمكن للناس أن يرسلوا لك YNB.", - "yinbi.your.address": "عنوانك", - "yinbi.no.activity.header": "لا يوجد نشاط", - "yinbi.upgrade.pro.button": "قم بالتحديث إلى Pro واحصل على Yinbi مجانًا", - "yinbi.renew.pro.button": "قم بتجديد Pro والحصول على Yinbi مجانا", - "yinbi.wallet.activity_header": "نشاط", - "yinbi.wallet.send": "إرسال", - "yinbi.wallet.receive": "استلم", - "yinbi.wallet.balance": "رصيد حساب", - "yinbi.wallet.getlantern.pro": "قم بالترقية إلى Lantern Pro واحصل على Yinbi مجانًا", - "yinbi.redemption.codes": "رموز الاسترداد الخاصة بـ Yinbi", - "redeem_codes.title": "استرداد رموز Yinbi", - "redeem_codes.redeem_button_text": "استرداد", - "redeem_codes.cancel_button_text": "إلغاء", - "redeem_codes.success": "تم بنجاح", - "redeem_codes.errors.missing_codes": "لم يتم إدخال أكواد صالحة", - "redeem_codes.errors.invalid_codes": "خطأ، يرجى التحقق من الرموز المميزة. انتهت صلاحية الرموز المشطوبة ولا يمكن استردادها .", - "yinbi.new.account.text": "ستظهر معاملاتك هنا بمجرد إرسال أو استقبال Yinbi .", - "yinbi.createAccount": "إنشاء حساب", - "yinbi.confirm.account.text": "للتأكد من كتابة العبارة بشكل صحيح، يرجى إدخال الكلمات التالية من عبارة الاسترداد الخاصة بك", - "create_account.invalid_words.error": "لم تتطابق الكلمات التي تم إدخالها مع كلمات عبارة مرور الاسترداد", - "yinbi.recovery_text": "هذه هي عبارة استرداد محفظة Yinbi الخاصة بك. إنها الطريقة الوحيدة لاستعادة محفظة Yinbi\nفي حالة نسيان كلمة المرور. استخدم مدير كلمة المرور أو قم بإنشاء نسخة مطبوعة عند\nتخزين هذه العبارة.", - "yinbi.recovery_confirm_text": "هذه هي عبارة استرداد محفظة Yinbi الخاصة بك. إنها الطريقة الوحيدة لاستعادة محفظة Yinbi الخاصة بك في حالة نسيان كلمة المرور. استخدم مدير كلمة المرور أو قم بعمل نسخة مطبوعة عند تخزين هذه العبارة.", - "yinbi.import.wallet": "استيراد المحفظة", - "yinbi.setup.wallet": "إعداد المحفظة", - "yinbi.importWallet": "استيراد محفظة Yin.bi", - "yinbi.import.wallet.continue": "تابع إلى محفظتك", - "yinbi.import.wallet.success": "تم استيراد المحفظة بنجاح!", - "yinbi.wallet.text": "للوصول إلى محفظة Yinbi، يمكنك إنشاء حساب أو تسجيل الدخول أو\nاستيراد محفظتك من Yin.bi في حال قمت بالتسجيل المُسبق في موقع Yin.bi\n.", - "yinbi.wallet.pro.text": "للوصول إلى محفظة Yinbi، يمكنك إنشاء حساب واستيراد محفظتك من Yin.bi إذا كنت قد قمت بالتسجيل المُسبق.", - "yinbi.recovery_subheader": "عبارة استرداد محفظة Yinbi", - "yinbi.import_wallet.subheader": "استيراد محفظة Yinbi", - "yinbi.import_wallet.text": "قم بتسجيل الدخول باستخدام بيانات اعتماد Yin.bi لنقل محفظتك إلى Lantern", - "yinbi.import_wallet.success": "تم استيراد محفظتك بنجاح، يرجى إضافة بريدك الإلكتروني لإكمال تسجيل الحساب.", - "yinbi.import_wallet.success_subheader": "تم الاستيراد بنجاح!", - "yinbi.import_wallet.button": "استيراد محفظة Yin.bi", - "yinbi.import_wallet.success_button": "اكمل التسجيل", - "yinbi.recovery_passphrase.label_text": "عبارة الاسترداد", - "yinbi.recovery_passphrase.copy_button_text": "نسخ", - "terms_of_service.notice": "تنبيه", - "terms_of_service.i_agree": "أوافق", - "platinum": "Platinum", - "platinum.one_year": "سعر شراء عام واحد", - "platinum.two_years": "سعر شراء عامين", - "platinum.save": "تخفيض حتى {{savings}}%!", - "platinum.unlimited": "بيانات غير محدودة", - "platinum.logs": "لا توجد سجلات", - "platinum.devices": "توصيل ما يصل إلى 3 أجهزة", - "platinum.everything_in_pro": "كل شيء مضمن في Pro", - "platinum.faster_data": "مراكز بيانات أكثر سرعة", - "platinum.dedicated": "الخط المخصص", - "platinum.reliability": "الموثوقية الزائدة", - "platinum.platinum_one_year": "Lantern Platinum لعام واحد", - "platinum.platinum_two_years": "Lantern Platinum لعامين", - "platinum.pro_one_year": "Lantern Pro لعام واحد", - "platinum.pro_two_years": "Lantern Pro لعامين", - "platinum.total": "المجموع", - "platinum.free": "مجانًا", - "platinum.credit.days": "+ {{ days }} يوم/أيام", - "platinum.credit.months": "{{ شهور }} شهر(شهور)", - "platinum.upgrade": "ترقية إلى Platinum", - "platinum.upgrade_details": "خط مخصص + مراكز بيانات أسرع!", - "platinum.unused_time_disclaimer": "سيرى مستخدمو Pro الذين يترقون إلى Platinum اشتراكهم بـPro المحول مدرجًا في صورة وقت إضافي بالأعلى.", - "p2p.opt_in_description": "استخدم اتصالك بالإنترنت لمساعدة الناس في الاتصال بالإنترنت دون رقابة", - "p2p.active_sharing_description": "مشاركة الإنترنت قيد التشغيل", - "p2p.dialog.title": "مشاركة الاتصال بالإنترنت", - "p2p.dialog.text.1": "ساعد الآخرين ممن لديهم اتصال محدود بالإنترنت عن طريق مشاركة اتصالك. عندما تسمح باستخدام اتصالك بالإنترنت، ستكون جزءًا من شبكة المتطوعين الذين يعملون على زيادة توفير الإنترنت.", - "p2p.dialog.text.2": "لن تكشف المشاركة عن هويتك أو تؤثر على أمانك. كما يمكنك التوقف عن مشاركة اتصالك بالإنترنت وقتما تشاء.", - "p2p.dialog.yes_button": "نعم، أوافق على بدء المشاركة", - "p2p.dialog.no_button": "إلغاء", - "p2p.banner.introducing": "مقدمة تعريفية", - "top_sites.top_sites": "أفضل المواقع" -} \ No newline at end of file diff --git a/locale/translation/az.json b/locale/translation/az.json deleted file mode 100644 index a99430ba4..000000000 --- a/locale/translation/az.json +++ /dev/null @@ -1,462 +0,0 @@ -{ - "TRAY_LANTERN": "Lantern", - "TRAY_STATUS": "Status: %v", - "TRAY_CONNECT": "Connect", - "TRAY_DISCONNECT": "Disconnect", - "TRAY_SHOW_LANTERN": "Lantern-i Göstər", - "TRAY_UPGRADE_TO_PRO": "Pro-ya yüksəlt", - "TRAY_QUIT": "Lantern Dayansın", - "BACKEND_DATA_TITLE": "Lantenin yüksək sürəti dayandırıldı", - "BACKEND_DATA_MESSAGE": "Lanterni daha yüsək sürətlə əldə etmək üçün Pro versiyasına yüksəldin!", - "BACKEND_DATA_PERCENT_TITLE": "Lanterndə %s istifadə etdiniz", - "BACKEND_DATA_PERCENT_MESSAGE": "Siz bu ayın Lantern yüksək sürətinin %s istifadə etdiniz. İndi yüksəldin!", - "BACKEND_CLICK_LABEL": "Open", - "BACKEND_CLICK_LABEL_OPEN": "Open", - "BACKEND_CLICK_LABEL_HELP": "Help", - "BACKEND_CLICK_LABEL_GOT_IT": "Got it", - "BACKEND_AUTOUPDATED_TITLE": "Update Lantern to version %s", - "BACKEND_AUTOUPDATED_MESSAGE": "Lantern %s has been downloaded. Please restart Lantern to use it.", - "BACKEND_MITM_INSTALL_CERT": "Lantern wants to install a custom certificate in order to unblock your traffic", - "BACKEND_MITM_INSTALL_CERT_WINDOWS_BODY": "Please allow %v to make changes to your system", - "BACKEND_ALERT_TITLE": "Critical alert needs your attention", - "about.content": "Lantern İnternetə sürətli, davamlı və təhlükəsiz qoşulma təmin edir.", - "about.faq": "Lantern-in TTVS-ini oxuyun", - "about.open": "Hər Kəs Üçün Açıq İnternet", - "about.questions": "Suallar?", - "about.title": "Haqqında", - "account.cancel": "Pro hesabını dayandır", - "account.free.cap": "Aylıq pulsuz həcmin {{mb}} qalıb", - "account.free.cap.upgrade": "Limitsiz sürətli həcmi olan Pro versiyasına yüksəlt", - "account.freelink.validFor": "%s üçün uyğun", - "account.freelink.desc": "Pro hesabınızla bu aləti birləşdirmək üçün:", - "account.freelink.step1": "1. \"Alət əLavə et\" menyusunu Pro alətinizdə açın.", - "account.freelink.step2": "2. Alətin qoşma kodunu yazın və göndərin.", - "account.freelink.reminder": "Pro alətinizdə Lanternin son versiyasına yenilədiyinizə əin olun.", - "account.freelink.errorTitle": "Qoşulma xətası", - "account.freelink.errorText": "Pro alətinizdəki kodu əlavə etdiyinizə əminsiniz?", - "account.freelink.headerDesc": "Bu aləti Pro hesabınıza qoşun", - "account.freelink.title": "Alətin qoşulma kodu", - "account.pro.charge": "Ödəmə dövrünün sonunda hesabınızdan avtomatik olaraq daha bir ili ərzində Lantern Pro üçün ödəniş alınacaq.", - "account.upgrade": "Pro-ya yüksəlt", - "account.pro.email": "Email ünvanı:", - "account.pro.expired": "Your Pro account has expired. Renew now for Unlimited monthly data.", - "account.pro.expiry": "Your Pro account expires in %s days on %s.", - "account.pro.bonusMonths": "This includes your {{bonusMonths}} bonus months!", - "account.pro.thisdevice": "(Bu alət)", - "account.pro.logout": "Çıx", - "account.pro.removedevice": "SİL", - "account.pro.devices": "Pro hesabınızı istifadə edən alət:", - "account.pro.device.confirm.title": "Aləti çıxart", - "account.pro.device.confirm": "'{{device}}' Lantern Pro hesabınızdan çıxartmaq istədiyinizə əminsiniz?", - "account.pro.device.one.title": "Yalnız bir alət", - "account.pro.device.one": "Üzr istəyirik, amma siz qeyd olunan aləti çıxara bilməzsiniz.", - "account.pro.linkingcode": "Alətin qoşulma kodu:", - "account.pro.renew": "PRO HESABINI YENİLƏ", - "account.prolink.errorTitle": "Qoşulmada xətası", - "account.prolink.errorText": "Digər alətinizdən kodu düzgün yapışdırdığınıza əminsiniz?", - "account.prolink.successTitle": "Alət qoşuldu", - "account.prolink.successText": "Siz alətinizi uğurla qoşdunuz! Xahiş edirik digər alətinizin avtomatik olaraq pro olmasını gözləyin.", - "adyen.paymentMethods.title": "Payment Methods", - "adyen.paymentMethods.storedMethods": "Your payment methods", - "adyen.paymentMethods.otherMethods": "Select other method", - "adyen.paymentMethods.moreMethodsButton": "More payment methods", - "adyen.payButton": "Pay", - "adyen.payButton.formatted": "Pay %@", - "adyen.cancelButton": "Ləğv et", - "adyen.dismissButton": "OK", - "adyen.storeDetails": "Save for my next payment", - "adyen.payment.redirecting": "You will be redirected", - "adyen.payment.processing": "Your payment is being processed", - "adyen.creditCard.title": "Card Details", - "adyen.creditCard.holderName": "Cardholder name", - "adyen.creditCard.holderName.placeholder": "J. Smith", - "adyen.creditCard.numberField.title": "Kart nömrəsi", - "adyen.creditCard.numberField.placeholder": "1234 5678 9012 3456", - "adyen.creditCard.numberField.invalid": "Invalid card number", - "adyen.creditCard.expiryDateField.title": "Expiry Date", - "adyen.creditCard.expiryDateField.placeholder": "MM/YY", - "adyen.creditCard.expiryDateField.invalid": "Invalid expiration date", - "adyen.creditCard.expiryDateField.month": "Ay", - "adyen.creditCard.expiryDateField.month.placeholder": "MM", - "adyen.creditCard.expiryDateField.year.placeholder": "YY", - "adyen.creditCard.expiryDateField.year": "İl", - "adyen.creditCard.cvcField.title": "CVC / CVV", - "adyen.creditCard.cvcField.placeholder": "123", - "adyen.creditCard.installmentsField": "Number of installments", - "adyen.creditCard.storeDetailsButton": "Remember this card for my next payment", - "adyen.creditCard.oneClickVerification.title": "Verify your card", - "adyen.creditCard.oneClickVerification.message": "Please enter the CVC code for %@", - "adyen.creditCard.oneClickVerification.invalidInput.title": "Invalid CVC", - "adyen.creditCard.oneClickVerification.invalidInput.message": "Please enter a valid CVC to continue.", - "adyen.sepaDirectDebit.ibanField.title": "Account Number (IBAN)", - "adyen.sepaDirectDebit.ibanField.placeholder": "NL53 ABNA 1925 1294 122", - "adyen.sepaDirectDebit.ibanField.invalid": "Invalid account number", - "adyen.sepaDirectDebit.nameField.title": "Holder Name", - "adyen.sepaDirectDebit.nameField.placeholder": "J. Smith", - "adyen.sepaDirectDebit.consentButton": "I agree that the amount below will be debited from my bank account.", - "adyen.sepa.ownerName": "Holder Name", - "adyen.sepa.ibanNumber": "Account Number (IBAN)", - "adyen.giropay.searchField.placeholder": "Bankname / BIC / Bankleitzahl", - "adyen.giropay.minimumLength": "Min. 3 characters", - "adyen.giropay.noResults": "No search results", - "adyen.error.title": "Error", - "adyen.error.subtitle.redirect": "Redirect failed", - "adyen.error.subtitle.payment": "Payment failed", - "adyen.error.subtitle.refused": "Payment refused", - "adyen.error.message.unknown": "An unknown error occurred", - "adyen.error.message.cannotConnectToInternet": "Failed to connect to the internet : please check your internet connection.", - "adyen.error.message.cannotConnectToHost": "Failed to connect to our payment server.", - "adyen.error.retryButton": "Yenidən yoxlayın", - "adyen.idealIssuer.selectField.title": "Bank", - "adyen.idealIssuer.selectField.placeholder": "Select your bank", - "adyen.creditCard.success": "Payment Successful", - "adyen.oneClick.confirmationAlert.title": "Confirm %@ payment", - "adyen.redirect.cannotOpenApp.title": "Cannot Open App", - "adyen.redirect.cannotOpenApp.appNotInstalledMessage": "This app could not be opened because it is not installed on this device.", - "adyen.holderName": "Cardholder name", - "adyen.countryCode": "Country Code", - "adyen.telephone.number": "Telephone number", - "authorize.title": "Alətinizin Pro olması üçün təsdiqləyin", - "authorize.step1.have_pro_device": "Başqa Lantern Pro alətim var", - "authorize.step1.link": "Bu aləti qoş", - "authorize.step1.or": "və ya", - "authorize.step1.recover": "Lantern Pro hesabımı açmaq istəyirəm", - "authorize.step1.start": "yadasalmanı başla", - "authorize.step1.no_mail": "Email ünvanınızı unutmusunuz?", - "authorize.step2b.enter_code": "Hesab yadasalma kodunu yazın", - "authorize.step2b.code": "Hesab yadasalma kodu", - "authorize.step2b.instruction": "{{email}} yadasalma kodu ilə bağlı email alacaq. Bu emailin gəlməsi bir neçə saat çəkə bilər. Onu tapmasanız, zəhmət olmasa spam qutusuna baxın.", - "authorize.step2b.no_mail": "Email almadım", - "authorize.step3.recovery": "Hesabın yadasalınması", - "authorize.step3.no_email": "Ay! Email ünvanını tapmaqda çətinlik çəkirik. Sizin hesabınızı müəyyənləşdirməyimizə yardı etmək üçün aşağıdakı əlavə məlumatları verin.", - "authorize.step3.no_code_received": "Yadasalma emailini almaqda çətinlik çəkirsiniz? Aşağıdakı məlumatları doldurun və biz sizinlə 48 saat ərzində əlaqə saxlayacağıq.", - "authorize.step3.your_email": "Emailiniz", - "authorize.step3.payment_method": "Ödəniş üsulu", - "authorize.step3.payment_method_hint": "Pro əldə etmək üçün ödəniş üsulunu seçin", - "authorize.step3.credit_card": "Kredit Kartı", - "authorize.step3.alipay": "Alipay", - "authorize.step3.android_pay": "Android Pay", - "authorize.step3.by_referral": "Dostunuza məsləhət görməklə Pro əldə edin", - "authorize.step3.payment_account": "Ödəniş hesabı", - "authorize.step3.payment_account_hint": "Alipay ödəniş məlumatlarınızı qeyd edin", - "authorize.step3.referral_code": "Məsləhət kodunuz", - "authorize.step3.purchase_date": "Alınma tarixi", - "authorize.step3.note": "Nəzərə alın ki, başqa digər məlumatlar sizin hesabınızı tapmağa kömək edəcək.", - "authorize.step4.title": "Hesabın yadasalınması baş verir", - "authorize.step4.text1": "Çox sağ olun! Sizin hesab yadasalınması tələbinizi aldıq.", - "authorize.step4.text2": "48 saat ərzində sizn Pro hesabınıın məlumatları yenilənəcək.", - "authorize.step4.text3": "Əvvəlki pəncərədə göstərilən email ünvanına məlumat göndərəcəyik.", - "authorized.continue": "Pro-ya davam et", - "authorized.text": "Alət artıq Lantern Pro hesabını istifadə edə bilər!", - "authorized.title": "Alət təsdiqləndi", - "button.renew": "Renew", - "button.upgrade": "Yüksəlt", - "button.upgrade_now": "Upgrade Now", - "button.upgrade_to_lantern_pro": "Lantern Pro-ya yüksəlt", - "button.copy_your_code": "Kodunuzu kopyalayın", - "button.try_again": "Yenidən yoxlayın", - "button.continue": "Continue", - "bullet.click_button": "Aşağıdakı düyməni basın", - "bullet.paste_code": "İsmarışın içinə kodu və yükləmə linkini yapışdırın", - "bullet.send_to_friends": "Dostkarlnlza göndərin", - "cancel": "Ləğv et", - "confirm": "Təsdiqlə", - "google_search": "Google Search", - "link_device": "Already have a Pro account? Link device", - "err.unknown_error": "Bilinməyən xəta", - "err.internal_error": "Daxili xəta", - "err.bad_input": "Səhv daxiletmə", - "err.not_authorized": "Təsdiqlənməyib", - "err.user_exists": "İstifadəçi vardır", - "err.no_such_user": "Belə istifadəçi yoxdur", - "err.user_already_verified": "İstifadəçi artıq təsdiqlənib", - "err.invalid_user_verification": "İstifadəçinin səhv təsdiqlənməsi", - "err.user_unverified": "İstifadəçi təsdiqlənməyib", - "err.operation_temporarily_unavailable": "Əməliyyat müvəqqəti olaraq mümkün deyil", - "err.wrong_or_inexistent_plan": "Səhv və ya olmayan plan", - "err.user_has_active_subscription": "İstifadəçinin aktiv abunəsi var", - "err.payment_error": "Ödəniş səhvi", - "err.no_codes_left": "Məsləhət kodları bitib", - "err.wrong_code": "Səhv məsləhət kodu", - "err.redeeming_own_code_not_allowed": "Kodların tələb olunmasına icazə verilmir", - "err.wrong_charge_id": "İD dəyişikliyində səhv", - "footer.reseller": "Pul qazan! Lantern Pro satıcısı ol. Kliklə.", - "footer.reseller.email_subject": "Lantern Satıcısı proqramı haqda öyrənmək istəyirəm!", - "footer.reseller.email_body": "Lantern Satıcısı olanda hər Lantern Pro abunəliyi üçün 25% o qazanacaqsınız. Aşağıda özünüz haqqında məlumat verin və niyə satıcı olmağınızı izah edin.", - "feature.faster_speed": "Yüksək sürət", - "feature.faster": "Faster data centers", - "feature.unlimited": "Limitsiz plan", - "feature.nologs": "No Logs", - "feature.devices": "Connect up to 3 devices", - "feature.noads": "Reklamsızdır", - "feature.antiblock": "Qarşısı alınmaz", - "feature.data_center": "Better Data Centers", - "feature.free_yinbi": "Free Yinbi Cryptocurrency!", - "free.title": "Lantern Pro", - "free.desc": "Faster. Stronger. Unlimited. Secure.", - "free.link_account": "Already have a Pro account? Link your account.", - "home.get_lantern_pro": "Lantern Pro əldə et", - "input.email": "Email", - "input.your_email": "Email ünvanınız", - "input.confirm_email": "Email ünvanı təsdiqlə", - "input.enter_email": "Emaili əlavə et", - "input.use_valid_email": "Düzgün email ünvanı yazın", - "input.email_not_match": "Email sahələri uyğun gəlmir", - "issue.your_email": "Emailiniz", - "issue.attach_image_failure": "Cannot attach image", - "issue.try_again": "Yenidən sınayın", - "issue.select_issue": "Hadisəni seç", - "issue.selected_issue": "Select Issue", - "issue.select_issue_hint": "Düşən menyudan seçim edin", - "issue.note": "Describe your Issue", - "issue.description": "Issue Description", - "issue.error": "Xəta haqda məlumat", - "issue.submit": "Send Report", - "issue.report_screenshot": "Drag image or click to upload screenshot", - "issue.reported": "Thank you for reporting your issue, we will get back to you via Email as soon as we are able", - "issue.report_sent": "Report Sent", - "issue.type.no_access": "Bloklanan sayta girmək alınmadı", - "issue.type.payment_fail": "Ödəniş bitmədi", - "issue.type.cannot_login": "Daxil olmaq alınmır", - "issue.type.always_spinning": "Yükləmə dayanmadan fırlanır", - "issue.type.slow": "Yavaş", - "issue.type.cannot_link_device": "Alətləri qoşa bilmir", - "issue.type.crashes": "Lantern işləmədi", - "issue.type.other": "Digər", - "languages.title": "Dillər", - "mobile.link": "Use the link to download Lantern on your Android device:", - "mobile.title": "Get Android Version", - "nav.about": "Haqqında", - "nav.account": "Hesab idarəçiliyi", - "nav.authorize": "Alət artır", - "nav.authorized": "Alət təsdiqlənib", - "nav.unauthorized_link": "Alətinizin Pro olması üçün təsdiqlə", - "nav.language": "Dil", - "nav.lantern": "Lantern", - "nav.mobile": "Mobil versiya əldə et", - "nav.report_issue": "Məsələni xəbər ver", - "nav.settings": "Seçimlər", - "nav.verify": "Hesab təsdiqlənməsi", - "nav.yinbi": "Yinbi Redemption", - "nav.home": "Ev", - "nav.discover": "Discover", - "nav.wallet": "Wallet", - "nav.yinbi_wallet": "Yinbi Wallet", - "notification.retry": "Təkrar Sına", - "notifications.whatisnew": "What's New?", - "payment.close": "Close", - "payment.wait_for_pro": "Lantern Pro aldığınız üçün minnətdarıq! Sizin Lanternin avtomatik Pro olması üçün bir az gözləyin.", - "payment_methods.select_name": "Select payment method", - "payment_methods.alipay": "Credit Card/Alipay", - "payment_methods.shetab": "Fast World Pay (Shetab)", - "payment_methods.shetab.details.header": "To purchase Lantern Pro", - "payment_methods.shetab.details.body": "When you click continue to purchase you will be redirected to an external site to complete payment and collect your activation code.", - "payment_methods.shetab.details.tutorial_header": "Farsi tutorial", - "payment_methods.shetab.details.purchase_voucher_button": "Continue To Purchase", - "payment_methods.shetab.details.input_code_button": "Input Activation Code", - "plan.step1": "Step 1", - "plan.apply": "Apply", - "plan.step2": "Step 2", - "plan.step3": "Step 3", - "plan.choose_plan": "Choose Plan", - "plan.enter_email": "Enter Email", - "plan.bestValue": "Ən ucuz!", - "plan.per_month": "per month", - "plan.yinbi_2x": "+ 2x Yinbi!", - "plan.oneYear": "1 il", - "plan.add_referral": "Add Referral Code", - "plan.years": "{{years}} year plan", - "plan.desc": "{{price}} billed one time", - "plan.price.cny": "¥%.02f", - "plan.price.usd": "$%.02f", - "plan.currency.cny": "(RMB)", - "plan.currency.usd": "(USD)", - "plan.time_unit": "/YR", - "plan.select": "Seç", - "plans.title": "Lanten Pro Planları", - "plans.lantern_pro": "Lantern Pro", - "plans.platforms": "Windows, Android, Mac, Ubuntu üçün.", - "plans.from_reseller": "Have a Lantern Pro activation code? Click here", - "plans.with_voucher_code": "Have an activation code? Click here.", - "pro.apply": "Sizin kreditiniz növbəti ödəniş dövrü üçün hesablanacaq.", - "pro.title": "Dostlarınızı dəvət etməklə, Pro-n pulsuz əldə edin", - "pro.subtitle": "Dostunuz iki illik plan aldıqda hər biriniz əlavə 3 ay Pro-nu əldə edirsiniz. Bir illik planda isə əlavə 1 ayı əldə edirsiniz.", - "pro.share": "Kodu dostlarınızla paylaşın ki, əlavə kreditlər qazanasınız!", - "promotion.title": "Lantern Pro Ödəniş", - "promotion.title.activation": "Lantern Pro aktivasiyası", - "promotion.enter_and_confirm_email": "Ümailnizi əlavə edin və təsdiqləyin", - "promotion.code.hint": "Dostunuzun məsləhət kodunu əlavə edin (məcburi deyil)", - "promotion.code.label": "Məsləhət kodu", - "promotion.payment": "Ödənişə davam", - "promotion.loading": "Yüklənir...", - "promotion.howto_1y": "Əgər dostunuz sizinlə məsləhət kodunu paylaşıbsa, kodu əlavə etdikdə Lantern Pro-nu bir aylıq pulsuz əldə edəcəksiniz.", - "promotion.howto_2y": "Əgər dostunuz sizinlə məsləhət kodunu paylaşıbsa, kodu əlavə etdikdə Lantern Pro-nu üç aylıq pulsuz əldə edəcəksiniz.", - "promotion.pay": "Ödə {{amount}}", - "promotion.select": "Seçim", - "promotion.promotion_applied_1y": "+1 bonus months", - "promotion.promotion_applied_2y": "+3 bonus months", - "promotion.too_many_referrals": "Bu məsləhət kodu tətbiq olundu! Çıxan kimi əlavə aylar əldə edəcəksiniz", - "promotion.activation.enter_and_confirm_email": "Lantern Pro hesabının qeydiyyatı üçün emailinizi əlavə edin və təsdiqləyin.", - "promotion.activation.label": "XXXXX-XXXXX-XXXXX-XXXXX-XXXXX", - "promotion.activation.hint": "Aktivasiya kodunu əlavə edin", - "promotion.activation.howto": "Lantern Pro üçün 25 işarəlik aktivasiya kodunu əlavə edin. Əgər kodunuz yoxdursa, əvvəlki pəncərədən Pro alın və ya Lantern Pro satıcısını onlayn axtarın.", - "promotion.activation.continue": "Pro-ya davam et", - "promotion.voucher.hint": "Activation Code", - "promotion.voucher.howto": "Please enter your 12 character Fast World Pay activation code above", - "promotion.voucher.label": "XXXXXXXXXXXX", - "promotion.voucher.error.default": "Error redeeming your activation code. Please contact contact@fastworldpay.com for assistance.", - "promotion.voucher.error.invalid_code": "Invalid activation code", - "promotion.voucher.error.invalid_plan": "Activation code associated with an invalid plan", - "promotion.voucher.error.already_redeemed": "Activation code has already been redeemed", - "referral.code": "Məsləhət kodunuzu paylaşın", - "referral.text": "Mənim kodumu istifadə et %s və qeydiyyatdan keçdikdən sonra 3 ayı pulsuz əldə et.", - "renew.title_30_days": "Renew now for 3 months free!", - "renew.title_2_days": "Lantern Pro expires tomorrow.\nRenew now for 3 months free!", - "renew.title_last_day": "Lantern Pro expires today.\nDon't miss out on your Pro discount!", - "renew.title_expired": "Lantern Pro has expired", - "renew.details_30_days": "Your Lantern Pro membership is ending soon, renew now and enjoy up to three months free! This limited time offer is only valid for early renewals.", - "renew.details_2_days": "Your Lantern Pro membership is ending soon, renew now and enjoy up to three months free! This limited time offer is only valid for early renewals.", - "renew.details_last_day": "Renew now and enjoy up to three months free!\nThis is the last day to take advantage of this offer.\nLantern Pro users get faster speeds, unlimited data, better blocking resistance, three devices and no ads.", - "renew.details_expired": "Renew now for an extra 45 days free. Limited time only.\nLantern Pro users get faster speeds, unlimited data, better blocking resistance, three devices and no ads.", - "renew.plan_label": "Lantern Pro - %s", - "renew.plan_renewal_bonus_1_month": "$%d%s + 1 FREE MONTH", - "renew.plan_renewal_bonus_months": "$%d%s + %d FREE MONTHS", - "renew.plan_renewal_bonus_days": "$%d%s + %d FREE DAYS", - "renew.next": "next", - "renew.decline": "Decline Offer", - "renew.decline_question": "Are you sure you want to decline this offer?", - "renew.decline_yes": "Renew later", - "renew.decline_dismiss": "Renew now", - "renew.notification_title_30_days": "Renew Pro now for huge savings!", - "renew.notification_text_30_days": "Your Lantern Pro account expires in {{days}} days. Renew now and get up to 3 months free.", - "renew.notification_title_2_days": "Lantern Pro discount ends tomorrow!", - "renew.notification_text_2_days": "Your Pro account expires tomorrow. Don’t miss this opportunity for a huge discount.", - "renew.notification_title_last_day": "Last chance for a discount!", - "renew.notification_text_last_day": "Your Lantern pro account has expired. Renew today and get up to 3 months free.", - "replica.upload": "Upload", - "replica.relevance": "Relevance", - "replica.upload_date": "Upload Date", - "replica.gallery_view": "Gallery View", - "replica.list_view": "List View", - "replica.copy_lantern_link": "Copy Lantern Link", - "replica.delete_file": "Delete File", - "replica.docs": "Sənədlər", - "replica.other": "Digər", - "replica.apps": "Apps", - "replica.images": "Images", - "replica.videos": "Videos", - "replica.next": "Növbəti", - "replica.previous": "Previous", - "replica.select_all": "Select All", - "replica.search_replica": "Search Public Files", - "replica.no_files_found": "No Files Found", - "replica.or_content": "your own content for other people to find!", - "replica.try_again": "Try a different keyword, or", - "replica.upload_success": "Upload Success!", - "replica.cannot_preview": "No preview for this filetype", - "replica.size": "Ölçü", - "replica.uploaded": "Uploaded", - "replica.invalid_link": "Invalid Link", - "replica.close": "Close", - "replica.my_files": "My Files", - "replica.filename": "File Name", - "replica.filename_required": "File Name (required)", - "replica.filetype": "Filetype", - "replica.sortby": "Sort By", - "replica.link": "Replica link", - "replica.collapse": "Collapse", - "replica.publish": "Publish", - "replica.cancel": "Ləğv et", - "replica.delete": "Sil", - "replica.failed_to_delete": "Failed to delete", - "replica.link_lookup_failure": "Failed to find link", - "replica.delete_file_confirmation_1": "Are you sure you want to delete", - "replica.delete_file_confirmation_2": "from your uploads", - "replica.share_file": "Share File", - "replica.download_and_view": "Download/View", - "replica.download": "Download", - "replica.copy_link": "Copy Replica Link", - "replica.find_file": "Find file", - "replica.file_drop_prompt": "Drag file here or browse to post", - "settings.general": "Ümumi", - "settings.feedback": "Feedback", - "settings.autoLaunch": "Sistem başlayandan Lantern işləsin", - "settings.autoReport": "Lanternə yardım etmək üçün istifadə statistikasını təhlükəsiz göndərin", - "settings.proxyAll": "Bütün trafiki proksidən keçir", - "settings.proxyAllHelpTitle": "WHAT DOES \"PROXY ALL TRAFFIC\" DO?", - "settings.proxyAllHelp1": "If enabled, all traffic will be sent through Lantern (most Secure option).", - "settings.proxyAllHelp2": "If disabled, only blocked traffic will be sent through Lantern (fastest option, most common).", - "settings.show_advanced": "Show Advanced Settings", - "settings.hide_advanced": "Hide Advanced Settings", - "settings.systemProxy": "Sistem proksisini idarə et", - "settings.title": "Seçimlər", - "settings.http_proxy": "HTTP(S) proksi:", - "settings.socks_proxy": "SOCKS proksi:", - "settings.caution": "Xəbərdarlıq:", - "settings.caution_text": "\"Sistem proksini idarə et\" seçmədikdə sizin brauzer və tətbiqetmələr Lanterni avtomatik istifadə edə bilməyəcəklər. Əgər bu quraşdırmaları idarə etməyi bacarırsınızsa, yuxarıdakı məlumatlara əsaslanın.", - "settings.select_language": "Select Langauge", - "status.lantern": "Lantern is", - "status.click_reconnect": "Click here to reconnect", - "status.server_location": "Server Location", - "status.tooltip1": "Lantern uses smart server selection to connect you to our best data centers.", - "status.tooltip2": "Upgrade to Lantern Pro for faster speed with optimized server selection from our exclusive Lantern Pro data centers", - "status.protected_connection": "Your Connection is Protected", - "status.please_wait": "This may take a minute or two...", - "status.connecting": "Connecting...", - "status.no_internet": "Off", - "status.no_internet_connection": "No Internet connection", - "status.connected": "On", - "status.disconnected": "Off", - "status.throttled": "Speed Throttled (Data Cap)", - "status.no_system_proxy": "{{status}}, not managing system proxy", - "status.fail_to_set_system_proxy": "Failed to set Lantern as system proxy", - "status.fail_to_open_browser": "Failed to open browser window to show the Lantern user interface", - "terms_of_service.acknowledgment": "By clicking {{buttonText}}, you agree to our Terms of Service", - "verify.header": "Pro hesabına başqa aləti qoşmaq istəyirsiniz? Alət qoşma kodunu aşağıya əlavə et", - "verify.code": "Alətin qoşulması kodu", - "verify.howto_1": "Əgər başqa alətinizdə Lantern Pro hesabınız varsa, burada email ünvanınızı qeyd etməklə alətiniz üçün təsdiqlənməni ala bilərsiniz", - "verify.howto_1a": "Hazırda təsdiqlənməmiş Pro istifadəçisiniz. Təsdiqləmək üçün öz email ünvanınızı qeyd edin. Bunun köməkliyi bir neçə aləti qoşa biləcəksiniz.", - "verify.howto_3": "1. \"Pro üçün aləti təsdiqləyin\" menyusunu təsdiqlənməmiş alətinizdən açın.", - "verify.howto_4": "2. Birinci addımdan alınan kodu aləvə edin və göndərin.", - "verify.reminder": "Təsdiq olunmamış alətinizdə ən son versiya Lanterni yüklədiyinizə əmin olun", - "verify.submit": "Göndər", - "verify.title": "Hesab təsdiqlənməsi", - "welcomeToPro.continue": "Pro-ya davam et", - "welcomeToPro.invite": "Dostlarınızı dəvət edin və 2 illik planı alsalar hər biriniz pulsuz 3 ay, 1 illik planı alsalar 1 ay pulsuz əldə edəcəksiniz. Dəvət etməyə başla!", - "welcomeToPro.thanks": "Lantern Pro aldığınıza görə minnətdarıq!", - "welcomeToPro.title": "Lantern Pro-ya xoş gəlmisiniz", - "messages.copied_to_clipboard": "Kod kopyalanıb. Dostlarınızla paylaşın!", - "messages.datacap": "Pulsuz sürətli planınızı istifadə etdiniz. Yüksək sürət əldə etmək üçün Pro-ya yüksəlt.", - "messages.fatal_error": "Üzr istəyirik, Lantern serverlərinə qoşulmaqda çətinlik çəkirik. İnternet qoşulmanızı yoxlayın və yenidən sınayın.", - "messages.backend_gone": "Üzr istəyirik, Lantern qoşulmayıb. ZƏhmət olmasa Lanterni yenidən yükləyin.", - "messages.get_help": "Get Help", - "freeProCredits.title": "Dostları dəvət et", - "freeProCredits.shareWithFriends": "Kodunuzu dostlarınızla paylaşın və pulsuz üç ay qazanın!", - "freeProCredits.shareWithFriendsDesc": "Dostunuz iki illik plan aldıqda hər ikiniz 3 ay pulsuz əldə edirsiniz, bir illik aldıqda pulsuz 1 ay qazanırsınız.", - "cards.serverLocation.unknown": "Unknown", - "cards.serverLocation.description": "Optimized Server Location", - "cards.serverLocation.description-free": "Server Location", - "cards.serverLocation.description-upgrade": "Upgrade for Faster Servers", - "cards.serverLocation.title": "Current Location:", - "cards.serverLocation.location": "%s, %s", - "cards.serverLocation.text": "Lantern uses smart server selection to automatically find you the fastest connection possible from our data centers in Tokyo, Singapore, Hong Kong, San Francisco, New York, Amsterdam, Bangalore and more.", - "cards.serverLocation.text-free": "Lantern uses smart server selection to connect you to our best data centers.", - "cards.serverLocation.upgrade-link": "Upgrade to Lantern Pro for faster speed with optimized server selection from our exclusive Lantern Pro data centers.", - "cards.httpsUpgrades.description": "HTTPS Upgrades", - "cards.httpsUpgrades.title": "HTTPS Upgrades: %d", - "cards.httpsUpgrades.text": "Lantern automatically upgrades unsecure HTTP connections to encrypted HTTPS connections when possible to keep your information private while surfing the web.", - "cards.adsBlocked.description": "Ads Blocked", - "cards.adsBlocked.title": "Blocked Ads: %d", - "cards.adsBlocked.text": "Lantern blocks intrusive ads to speed up web page loading time, save bandwidth, and to give you a smoother browsing experience.", - "cards.dataUsage.description": "Data Usage", - "cards.dataUsage.upgrade": "Upgrade now", - "cards.dataUsage.mb-used": "You have used %d/%dMB of your monthly high speed data.", - "cards.dataUsage.upgrade-link": "Upgrade now for unlimited high speed service!", - "cards.subscription.description": "Pro Subscription", - "cards.subscription.renew": "Renew", - "cards.subscription.months": "You have %d months of Lantern Pro left in your subscription.", - "cards.subscription.days": "You have %d days of Lantern Pro left in your subscription.", - "cards.subscription.unit.months": "MO", - "cards.subscription.unit.days": "DAYS", - "cards.subscription.renew-link": "Renew your subscription to add more time." -} \ No newline at end of file diff --git a/locale/translation/be.json b/locale/translation/be.json deleted file mode 100644 index 59cc830d4..000000000 --- a/locale/translation/be.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "TRAY_SHOW_LANTERN": "Show Lantern", - "TRAY_QUIT": "Quit Lantern" -} \ No newline at end of file diff --git a/locale/translation/bg.json b/locale/translation/bg.json deleted file mode 100644 index 59cc830d4..000000000 --- a/locale/translation/bg.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "TRAY_SHOW_LANTERN": "Show Lantern", - "TRAY_QUIT": "Quit Lantern" -} \ No newline at end of file diff --git a/locale/translation/bn.json b/locale/translation/bn.json deleted file mode 100644 index 59cc830d4..000000000 --- a/locale/translation/bn.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "TRAY_SHOW_LANTERN": "Show Lantern", - "TRAY_QUIT": "Quit Lantern" -} \ No newline at end of file diff --git a/locale/translation/bs.json b/locale/translation/bs.json deleted file mode 100644 index 59cc830d4..000000000 --- a/locale/translation/bs.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "TRAY_SHOW_LANTERN": "Show Lantern", - "TRAY_QUIT": "Quit Lantern" -} \ No newline at end of file diff --git a/locale/translation/bs_BA.json b/locale/translation/bs_BA.json deleted file mode 100644 index 59cc830d4..000000000 --- a/locale/translation/bs_BA.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "TRAY_SHOW_LANTERN": "Show Lantern", - "TRAY_QUIT": "Quit Lantern" -} \ No newline at end of file diff --git a/locale/translation/ca.json b/locale/translation/ca.json deleted file mode 100644 index 95753aef4..000000000 --- a/locale/translation/ca.json +++ /dev/null @@ -1,462 +0,0 @@ -{ - "TRAY_LANTERN": "Lantern", - "TRAY_STATUS": "Status: %v", - "TRAY_CONNECT": "Connecta", - "TRAY_DISCONNECT": "Desconnecta", - "TRAY_SHOW_LANTERN": "Mostra Lantern", - "TRAY_UPGRADE_TO_PRO": "Upgrade to Pro", - "TRAY_QUIT": "Surt de Lantern", - "BACKEND_DATA_TITLE": "No more high speed Lantern data", - "BACKEND_DATA_MESSAGE": "Please upgrade to Pro to keep using Lantern at full speed!", - "BACKEND_DATA_PERCENT_TITLE": "Reached %s of your Lantern data", - "BACKEND_DATA_PERCENT_MESSAGE": "You have used %s of your Lantern high speed data for the month. Upgrade now!", - "BACKEND_CLICK_LABEL": "Open", - "BACKEND_CLICK_LABEL_OPEN": "Open", - "BACKEND_CLICK_LABEL_HELP": "Ajuda", - "BACKEND_CLICK_LABEL_GOT_IT": "Got it", - "BACKEND_AUTOUPDATED_TITLE": "Update Lantern to version %s", - "BACKEND_AUTOUPDATED_MESSAGE": "Lantern %s has been downloaded. Please restart Lantern to use it.", - "BACKEND_MITM_INSTALL_CERT": "Lantern wants to install a custom certificate in order to unblock your traffic", - "BACKEND_MITM_INSTALL_CERT_WINDOWS_BODY": "Please allow %v to make changes to your system", - "BACKEND_ALERT_TITLE": "Critical alert needs your attention", - "about.content": "El Lantern és una aplicació que proporciona un accés ràpid, segur i de confiança a la Internet oberta.", - "about.faq": "Llegir les preguntes més freqüents", - "about.open": "Internet oberta per a tothom", - "about.questions": "Preguntes?", - "about.title": "Quant a", - "account.cancel": "Cancel·la el compte PRO", - "account.free.cap": "{{mb}} MB remaining of your free monthly data", - "account.free.cap.upgrade": "Upgrade to Pro for unlimited high speed data", - "account.freelink.validFor": "valid for %s", - "account.freelink.desc": "To link this device to your Pro account:", - "account.freelink.step1": "1. Open the 'Add Device' menu item on your Pro device.", - "account.freelink.step2": "2. Enter the device linking code, and submit.", - "account.freelink.reminder": "* Make sure you're updated to the latest version of Lantern on your Pro device", - "account.freelink.errorTitle": "Error Linking", - "account.freelink.errorText": "Are you sure you entered the code on your Pro device?", - "account.freelink.headerDesc": "Link this device to your Pro account", - "account.freelink.title": "Device Linking Code", - "account.pro.charge": "Al finalitzar el cicle de facturació, carregarem automàticament un altre any del Lantern Pro al vostre compte.", - "account.upgrade": "Upgrade to Pro", - "account.pro.email": "Email Address:", - "account.pro.expired": "Your Pro account has expired. Renew now for Unlimited monthly data.", - "account.pro.expiry": "Your Pro account expires in %s days on %s.", - "account.pro.bonusMonths": "This includes your {{bonusMonths}} bonus months!", - "account.pro.thisdevice": "(This Device)", - "account.pro.logout": "LOG OUT", - "account.pro.removedevice": "REMOVE", - "account.pro.devices": "Devices authorized to use your Pro account:", - "account.pro.device.confirm.title": "Deauthorize Device", - "account.pro.device.confirm": "Are you sure you want to remove '{{device}}' from your Lantern Pro account?", - "account.pro.device.one.title": "Only One Device", - "account.pro.device.one": "Sorry, but you cannot remove your last authorized device.", - "account.pro.linkingcode": "Device Linking Code:", - "account.pro.renew": "RENEW PRO ACCOUNT", - "account.prolink.errorTitle": "Error Linking", - "account.prolink.errorText": "Are you sure you copied the code correctly from your other device?", - "account.prolink.successTitle": "Device Linked", - "account.prolink.successText": "You have successfully linked your device! Please wait a moment for your other device to automatically become pro.", - "adyen.paymentMethods.title": "Payment Methods", - "adyen.paymentMethods.storedMethods": "Your payment methods", - "adyen.paymentMethods.otherMethods": "Select other method", - "adyen.paymentMethods.moreMethodsButton": "More payment methods", - "adyen.payButton": "Pay", - "adyen.payButton.formatted": "Pay %@", - "adyen.cancelButton": "Cancel·lar", - "adyen.dismissButton": "D'acord", - "adyen.storeDetails": "Save for my next payment", - "adyen.payment.redirecting": "You will be redirected", - "adyen.payment.processing": "Your payment is being processed", - "adyen.creditCard.title": "Card Details", - "adyen.creditCard.holderName": "Cardholder name", - "adyen.creditCard.holderName.placeholder": "J. Smith", - "adyen.creditCard.numberField.title": "Número de targeta", - "adyen.creditCard.numberField.placeholder": "1234 5678 9012 3456", - "adyen.creditCard.numberField.invalid": "Invalid card number", - "adyen.creditCard.expiryDateField.title": "Expiry Date", - "adyen.creditCard.expiryDateField.placeholder": "MM/YY", - "adyen.creditCard.expiryDateField.invalid": "Invalid expiration date", - "adyen.creditCard.expiryDateField.month": "Month", - "adyen.creditCard.expiryDateField.month.placeholder": "MM", - "adyen.creditCard.expiryDateField.year.placeholder": "YY", - "adyen.creditCard.expiryDateField.year": "Year", - "adyen.creditCard.cvcField.title": "CVC / CVV", - "adyen.creditCard.cvcField.placeholder": "123", - "adyen.creditCard.installmentsField": "Number of installments", - "adyen.creditCard.storeDetailsButton": "Remember this card for my next payment", - "adyen.creditCard.oneClickVerification.title": "Verify your card", - "adyen.creditCard.oneClickVerification.message": "Please enter the CVC code for %@", - "adyen.creditCard.oneClickVerification.invalidInput.title": "Invalid CVC", - "adyen.creditCard.oneClickVerification.invalidInput.message": "Please enter a valid CVC to continue.", - "adyen.sepaDirectDebit.ibanField.title": "Account Number (IBAN)", - "adyen.sepaDirectDebit.ibanField.placeholder": "NL53 ABNA 1925 1294 122", - "adyen.sepaDirectDebit.ibanField.invalid": "Invalid account number", - "adyen.sepaDirectDebit.nameField.title": "Holder Name", - "adyen.sepaDirectDebit.nameField.placeholder": "J. Smith", - "adyen.sepaDirectDebit.consentButton": "I agree that the amount below will be debited from my bank account.", - "adyen.sepa.ownerName": "Holder Name", - "adyen.sepa.ibanNumber": "Account Number (IBAN)", - "adyen.giropay.searchField.placeholder": "Bankname / BIC / Bankleitzahl", - "adyen.giropay.minimumLength": "Min. 3 characters", - "adyen.giropay.noResults": "No search results", - "adyen.error.title": "Error", - "adyen.error.subtitle.redirect": "Redirect failed", - "adyen.error.subtitle.payment": "Payment failed", - "adyen.error.subtitle.refused": "Payment refused", - "adyen.error.message.unknown": "An unknown error occurred", - "adyen.error.message.cannotConnectToInternet": "Failed to connect to the internet : please check your internet connection.", - "adyen.error.message.cannotConnectToHost": "Failed to connect to our payment server.", - "adyen.error.retryButton": "Try again", - "adyen.idealIssuer.selectField.title": "Bank", - "adyen.idealIssuer.selectField.placeholder": "Select your bank", - "adyen.creditCard.success": "Payment Successful", - "adyen.oneClick.confirmationAlert.title": "Confirm %@ payment", - "adyen.redirect.cannotOpenApp.title": "Cannot Open App", - "adyen.redirect.cannotOpenApp.appNotInstalledMessage": "This app could not be opened because it is not installed on this device.", - "adyen.holderName": "Cardholder name", - "adyen.countryCode": "Country Code", - "adyen.telephone.number": "Telephone number", - "authorize.title": "Autoritza dispositiu per a PRO", - "authorize.step1.have_pro_device": "I have another Lantern Pro device", - "authorize.step1.link": "Link this device", - "authorize.step1.or": "o", - "authorize.step1.recover": "I need to recover my Lantern Pro account", - "authorize.step1.start": "start recovery", - "authorize.step1.no_mail": "Don't remember your Email address?", - "authorize.step2b.enter_code": "Enter your Account Recovery Code", - "authorize.step2b.code": "Account Recovery Code", - "authorize.step2b.instruction": "An Email with a recovery code has been sent to {{email}}. This email may take several hours to arrive. Please check your spam folder if you do not find it.", - "authorize.step2b.no_mail": "Didn't receive email", - "authorize.step3.recovery": "Account Recovery", - "authorize.step3.no_email": "Oops! We're having trouble finding that email address. Please provide more information below to help us locate your account.", - "authorize.step3.no_code_received": "Having trouble receiving the recovery email? Enter the information below and we will contact you within 48 hours.", - "authorize.step3.your_email": "Your Email", - "authorize.step3.payment_method": "Payment Method", - "authorize.step3.payment_method_hint": "Select the payment method you used to get Pro", - "authorize.step3.credit_card": "Credit Card", - "authorize.step3.alipay": "AliPay", - "authorize.step3.android_pay": "Android Pay", - "authorize.step3.by_referral": "Received Pro by Referring a friend", - "authorize.step3.payment_account": "Payment Account", - "authorize.step3.payment_account_hint": "Enter your Alipay account information", - "authorize.step3.referral_code": "El vostre codi de referència", - "authorize.step3.purchase_date": "Purchase Date", - "authorize.step3.note": "Please note any other information that may help us locate your account.", - "authorize.step4.title": "Account Recovery In-Progress", - "authorize.step4.text1": "Thank you! We've received your account recovery request.", - "authorize.step4.text2": "Please allow 48 hours to retrieve your Pro account information.", - "authorize.step4.text3": "We will send information to the email address entered on the previous screen.", - "authorized.continue": "Continue to Pro", - "authorized.text": "This device is now authorized to use your Lantern Pro account!", - "authorized.title": "Dispositiu autoritzat", - "button.renew": "Renew", - "button.upgrade": "Actualitza", - "button.upgrade_now": "Upgrade Now", - "button.upgrade_to_lantern_pro": "Actualitza a Lantern Pro", - "button.copy_your_code": "Copieu el vostre codi", - "button.try_again": "Try again", - "button.continue": "Continuar", - "bullet.click_button": "Feu clic al botó d'avall", - "bullet.paste_code": "Enganxa el codi i l'enllaç per descarregar en un missatge", - "bullet.send_to_friends": "Envieu als vostres amics", - "cancel": "Cancel·lar", - "confirm": "Confirm", - "google_search": "Google Search", - "link_device": "Already have a Pro account? Link device", - "err.unknown_error": "Error desconegut", - "err.internal_error": "Error intern", - "err.bad_input": "Entrada incorrecta", - "err.not_authorized": "Not authorized", - "err.user_exists": "L'usuari existeix", - "err.no_such_user": "No aquest usuari", - "err.user_already_verified": "L'usuari ja s'ha verificat", - "err.invalid_user_verification": "Verificació d'usuari invàlida", - "err.user_unverified": "Usuari no verificat", - "err.operation_temporarily_unavailable": "Operació inhabilitada temporalment", - "err.wrong_or_inexistent_plan": "Pla inexistent o erroni", - "err.user_has_active_subscription": "L'usuari disposa d'una subscripció activa", - "err.payment_error": "Error de pagament", - "err.no_codes_left": "No queden codis de referència", - "err.wrong_code": "Codi de referència erroni", - "err.redeeming_own_code_not_allowed": "No està permès reclamar codis d'un mateix", - "err.wrong_charge_id": "ID de càrrec erroni", - "footer.reseller": "Make Money! Become a Lantern Pro reseller. Click Here", - "footer.reseller.email_subject": "Tell me about the Lantern Reseller Program!", - "footer.reseller.email_body": "When you become a Lantern Reseller you will have the opportunity to make up to 25% on every sale of a Lantern Pro subscription. Tell us a bit about why you want to become a reseller below.", - "feature.faster_speed": "Augmentar velocitat", - "feature.faster": "Faster data centers", - "feature.unlimited": "Unlimited data", - "feature.nologs": "No Logs", - "feature.devices": "Connect up to 3 devices", - "feature.noads": "Sense publicitat", - "feature.antiblock": "Blocking Resistant", - "feature.data_center": "Better Data Centers", - "feature.free_yinbi": "Free Yinbi Cryptocurrency!", - "free.title": "Lantern Pro", - "free.desc": "Faster. Stronger. Unlimited. Secure.", - "free.link_account": "Already have a Pro account? Link your account.", - "home.get_lantern_pro": "Obtenir Lantern Pro", - "input.email": "Correu electrònic", - "input.your_email": "Your Email Address", - "input.confirm_email": "Confirm Email Address", - "input.enter_email": "Enter your email", - "input.use_valid_email": "Informeu una adreça electrònica vàlida", - "input.email_not_match": "Email fields do not match", - "issue.your_email": "Your Email", - "issue.attach_image_failure": "Cannot attach image", - "issue.try_again": "Si us plau torneu a provar-ho", - "issue.select_issue": "Please Select an Issue", - "issue.selected_issue": "Select Issue", - "issue.select_issue_hint": "Select an issue from the dropdown menu", - "issue.note": "Describe your Issue", - "issue.description": "Issue Description", - "issue.error": "Error reporting issue", - "issue.submit": "Send Report", - "issue.report_screenshot": "Drag image or click to upload screenshot", - "issue.reported": "Thank you for reporting your issue, we will get back to you via Email as soon as we are able", - "issue.report_sent": "Report Sent", - "issue.type.no_access": "Cannot access blocked sites", - "issue.type.payment_fail": "Cannot complete the payment", - "issue.type.cannot_login": "Cannot log in", - "issue.type.always_spinning": "Loading spinner spins endlessly", - "issue.type.slow": "Slow", - "issue.type.cannot_link_device": "Cannot link devices", - "issue.type.crashes": "Lantern crashes", - "issue.type.other": "Other", - "languages.title": "Idiomes", - "mobile.link": "Use the link to download Lantern on your Android device:", - "mobile.title": "Get Android Version", - "nav.about": "Quant a", - "nav.account": "Gestió del compte", - "nav.authorize": "Add Device", - "nav.authorized": "Dispositiu autoritzat", - "nav.unauthorized_link": "Autoritza dispositiu per a PRO", - "nav.language": "Idioma", - "nav.lantern": "Lantern", - "nav.mobile": "Obtenir versió Mòbil", - "nav.report_issue": "Report an Issue", - "nav.settings": "Paràmetres", - "nav.verify": "Verificació del compte", - "nav.yinbi": "Yinbi Redemption", - "nav.home": "Inici", - "nav.discover": "Discover", - "nav.wallet": "Wallet", - "nav.yinbi_wallet": "Yinbi Wallet", - "notification.retry": "Torna-ho a intentar", - "notifications.whatisnew": "What's New?", - "payment.close": "Tanca", - "payment.wait_for_pro": "Thanks for your purchase of Lantern Pro! Please wait a moment for your Lantern to automatically become Pro.", - "payment_methods.select_name": "Select payment method", - "payment_methods.alipay": "Credit Card/Alipay", - "payment_methods.shetab": "Fast World Pay (Shetab)", - "payment_methods.shetab.details.header": "To purchase Lantern Pro", - "payment_methods.shetab.details.body": "When you click continue to purchase you will be redirected to an external site to complete payment and collect your activation code.", - "payment_methods.shetab.details.tutorial_header": "Farsi tutorial", - "payment_methods.shetab.details.purchase_voucher_button": "Continue To Purchase", - "payment_methods.shetab.details.input_code_button": "Input Activation Code", - "plan.step1": "Step 1", - "plan.apply": "Apply", - "plan.step2": "Step 2", - "plan.step3": "Step 3", - "plan.choose_plan": "Choose Plan", - "plan.enter_email": "Enter Email", - "plan.bestValue": "Best Deal!", - "plan.per_month": "per month", - "plan.yinbi_2x": "+ 2x Yinbi!", - "plan.oneYear": "1 year", - "plan.add_referral": "Add Referral Code", - "plan.years": "{{years}} year plan", - "plan.desc": "{{price}} billed one time", - "plan.price.cny": "¥%.02f", - "plan.price.usd": "$%.02f", - "plan.currency.cny": "(RMB)", - "plan.currency.usd": "(USD)", - "plan.time_unit": "/YR", - "plan.select": "Selecciona", - "plans.title": "Lantern Pro Plans", - "plans.lantern_pro": "Lantern Pro", - "plans.platforms": "For Windows, Android, Mac, Ubuntu.", - "plans.from_reseller": "Have a Lantern Pro activation code? Click here", - "plans.with_voucher_code": "Have an activation code? Click here.", - "pro.apply": "En el proper cicle de facturació aplicarem els crèdits al vostre compte.", - "pro.title": "Invite friends, get more Pro for free", - "pro.subtitle": "When your friend purchases the two year plan you each get 3 additional months of Pro, the one year plan gets you each 1 month free.", - "pro.share": "Compartiu el vostre codi amb amics per començar a guanyar més crèdits.", - "promotion.title": "Lantern Pro Checkout", - "promotion.title.activation": "Lantern Pro Activation", - "promotion.enter_and_confirm_email": "Please enter and confirm your email address", - "promotion.code.hint": "Enter your friend's Referral code (optional)", - "promotion.code.label": "Referral Code", - "promotion.payment": "Continue to Payment", - "promotion.loading": "Loading...", - "promotion.howto_1y": "If a friend shared their referral code with you, enter the code to receive one month of Lantern Pro for free after checkout.", - "promotion.howto_2y": "If a friend shared their referral code with you, enter the code to receive three months of Lantern Pro for free after checkout.", - "promotion.pay": "Pagament {{amount}}", - "promotion.select": "Selecciona", - "promotion.promotion_applied_1y": "+1 bonus months", - "promotion.promotion_applied_2y": "+3 bonus months", - "promotion.too_many_referrals": "This referral code has already been added. Check out now to receive your extra months.", - "promotion.activation.enter_and_confirm_email": "Please enter and confirm your email address to register your Lantern Pro account.", - "promotion.activation.label": "XXXXX-XXXXX-XXXXX-XXXXX-XXXXX", - "promotion.activation.hint": "Enter your Activation Code", - "promotion.activation.howto": "Please enter your 25 character Lantern Pro activation code above. If you do not have a code, please purchase Pro on the previous screen or look for a Lantern Pro reseller online.", - "promotion.activation.continue": "Continue to Pro", - "promotion.voucher.hint": "Activation Code", - "promotion.voucher.howto": "Please enter your 12 character Fast World Pay activation code above", - "promotion.voucher.label": "XXXXXXXXXXXX", - "promotion.voucher.error.default": "Error redeeming your activation code. Please contact contact@fastworldpay.com for assistance.", - "promotion.voucher.error.invalid_code": "Invalid activation code", - "promotion.voucher.error.invalid_plan": "Activation code associated with an invalid plan", - "promotion.voucher.error.already_redeemed": "Activation code has already been redeemed", - "referral.code": "Share your referral code", - "referral.text": "Use my code %s and get 3 months free when you sign up!", - "renew.title_30_days": "Renew now for 3 months free!", - "renew.title_2_days": "Lantern Pro expires tomorrow.\nRenew now for 3 months free!", - "renew.title_last_day": "Lantern Pro expires today.\nDon't miss out on your Pro discount!", - "renew.title_expired": "Lantern Pro has expired", - "renew.details_30_days": "Your Lantern Pro membership is ending soon, renew now and enjoy up to three months free! This limited time offer is only valid for early renewals.", - "renew.details_2_days": "Your Lantern Pro membership is ending soon, renew now and enjoy up to three months free! This limited time offer is only valid for early renewals.", - "renew.details_last_day": "Renew now and enjoy up to three months free!\nThis is the last day to take advantage of this offer.\nLantern Pro users get faster speeds, unlimited data, better blocking resistance, three devices and no ads.", - "renew.details_expired": "Renew now for an extra 45 days free. Limited time only.\nLantern Pro users get faster speeds, unlimited data, better blocking resistance, three devices and no ads.", - "renew.plan_label": "Lantern Pro - %s", - "renew.plan_renewal_bonus_1_month": "$%d%s + 1 FREE MONTH", - "renew.plan_renewal_bonus_months": "$%d%s + %d FREE MONTHS", - "renew.plan_renewal_bonus_days": "$%d%s + %d FREE DAYS", - "renew.next": "next", - "renew.decline": "Decline Offer", - "renew.decline_question": "Are you sure you want to decline this offer?", - "renew.decline_yes": "Renew later", - "renew.decline_dismiss": "Renew now", - "renew.notification_title_30_days": "Renew Pro now for huge savings!", - "renew.notification_text_30_days": "Your Lantern Pro account expires in {{days}} days. Renew now and get up to 3 months free.", - "renew.notification_title_2_days": "Lantern Pro discount ends tomorrow!", - "renew.notification_text_2_days": "Your Pro account expires tomorrow. Don’t miss this opportunity for a huge discount.", - "renew.notification_title_last_day": "Last chance for a discount!", - "renew.notification_text_last_day": "Your Lantern pro account has expired. Renew today and get up to 3 months free.", - "replica.upload": "Upload", - "replica.relevance": "Relevance", - "replica.upload_date": "Upload Date", - "replica.gallery_view": "Gallery View", - "replica.list_view": "List View", - "replica.copy_lantern_link": "Copy Lantern Link", - "replica.delete_file": "Delete File", - "replica.docs": "Documents", - "replica.other": "Other", - "replica.apps": "Apps", - "replica.images": "Images", - "replica.videos": "Videos", - "replica.next": "Següent", - "replica.previous": "Previous", - "replica.select_all": "Select All", - "replica.search_replica": "Search Public Files", - "replica.no_files_found": "No Files Found", - "replica.or_content": "your own content for other people to find!", - "replica.try_again": "Try a different keyword, or", - "replica.upload_success": "Upload Success!", - "replica.cannot_preview": "No preview for this filetype", - "replica.size": "Tamany", - "replica.uploaded": "Uploaded", - "replica.invalid_link": "Invalid Link", - "replica.close": "Tanca", - "replica.my_files": "My Files", - "replica.filename": "File Name", - "replica.filename_required": "File Name (required)", - "replica.filetype": "Filetype", - "replica.sortby": "Sort By", - "replica.link": "Replica link", - "replica.collapse": "Collapse", - "replica.publish": "Publish", - "replica.cancel": "Cancel·lar", - "replica.delete": "Esborra", - "replica.failed_to_delete": "Failed to delete", - "replica.link_lookup_failure": "Failed to find link", - "replica.delete_file_confirmation_1": "Are you sure you want to delete", - "replica.delete_file_confirmation_2": "from your uploads", - "replica.share_file": "Share File", - "replica.download_and_view": "Download/View", - "replica.download": "Descarrega", - "replica.copy_link": "Copy Replica Link", - "replica.find_file": "Find file", - "replica.file_drop_prompt": "Drag file here or browse to post", - "settings.general": "General", - "settings.feedback": "Feedback", - "settings.autoLaunch": "Run Lantern on system start", - "settings.autoReport": "Per contribuir al Lantern, informa de manera segura les estadístiques d'ús", - "settings.proxyAll": "Direcciona/Filtra tot el trànsit", - "settings.proxyAllHelpTitle": "WHAT DOES \"PROXY ALL TRAFFIC\" DO?", - "settings.proxyAllHelp1": "If enabled, all traffic will be sent through Lantern (most Secure option).", - "settings.proxyAllHelp2": "If disabled, only blocked traffic will be sent through Lantern (fastest option, most common).", - "settings.show_advanced": "Show Advanced Settings", - "settings.hide_advanced": "Hide Advanced Settings", - "settings.systemProxy": "Gestiona el servidor intermediari del sistema", - "settings.title": "Paràmetres", - "settings.http_proxy": "HTTP(S) proxy:", - "settings.socks_proxy": "SOCKS proxy:", - "settings.caution": "Caution:", - "settings.caution_text": "When you uncheck \"Manage system proxy\" your browser and applications won't be able to use Lantern automatically. If you know how to manually configure these settings refer to the information above.", - "settings.select_language": "Select Langauge", - "status.lantern": "Lantern is", - "status.click_reconnect": "Click here to reconnect", - "status.server_location": "Server Location", - "status.tooltip1": "Lantern uses smart server selection to connect you to our best data centers.", - "status.tooltip2": "Upgrade to Lantern Pro for faster speed with optimized server selection from our exclusive Lantern Pro data centers", - "status.protected_connection": "Your Connection is Protected", - "status.please_wait": "This may take a minute or two...", - "status.connecting": "Connectant...", - "status.no_internet": "Off", - "status.no_internet_connection": "No Internet connection", - "status.connected": "On", - "status.disconnected": "Off", - "status.throttled": "Speed Throttled (Data Cap)", - "status.no_system_proxy": "{{status}}, not managing system proxy", - "status.fail_to_set_system_proxy": "Failed to set Lantern as system proxy", - "status.fail_to_open_browser": "Failed to open browser window to show the Lantern user interface", - "terms_of_service.acknowledgment": "By clicking {{buttonText}}, you agree to our Terms of Service", - "verify.header": "Want to link another device to this Pro account? Enter your Device Linking Code below", - "verify.code": "Device Linking Code", - "verify.howto_1": "If you have a Lantern Pro account on another device, please enter your e-mail address here to receive a code to authorize the device", - "verify.howto_1a": "You're currently an unauthorized Pro user. Please enter your e-mail address to authorize your Pro account. This will enable you to link multiple devices.", - "verify.howto_3": "1. Open the 'Authorize Device for Pro' menu item on your unauthorized device.", - "verify.howto_4": "2. Enter the linking code obtained from step 1, and submit.", - "verify.reminder": "*Make sure you are updated to the latest version of Lantern on your unauthorized device", - "verify.submit": "Submit", - "verify.title": "Verificació del compte", - "welcomeToPro.continue": "Continue to Pro", - "welcomeToPro.invite": "Invite friends and you will each get 3 months free when they purchase the two-year plan, the one year plan gets you each 1 month free. Start inviting!", - "welcomeToPro.thanks": "Gràcies per adquirir el Lantern Pro!", - "welcomeToPro.title": "Welcome To Lantern Pro", - "messages.copied_to_clipboard": "Code Copied. Share it with your friends!", - "messages.datacap": "You have used your free high speed data. Upgrade to Pro for unlimited high speed data.", - "messages.fatal_error": "Sorry, we're having trouble contacting the Lantern servers. Please check your internet connection and try again.", - "messages.backend_gone": "Sorry, Lantern appears to no longer be running. Please restart Lantern and try again.", - "messages.get_help": "Get Help", - "freeProCredits.title": "Convideu amics", - "freeProCredits.shareWithFriends": "Share your code with friends to earn free months!", - "freeProCredits.shareWithFriendsDesc": "When your friend purchases the two year plan you will each get 3 months free, the one year plan gets you each 1 month free.", - "cards.serverLocation.unknown": "Desconegut", - "cards.serverLocation.description": "Optimized Server Location", - "cards.serverLocation.description-free": "Server Location", - "cards.serverLocation.description-upgrade": "Upgrade for Faster Servers", - "cards.serverLocation.title": "Current Location:", - "cards.serverLocation.location": "%s, %s", - "cards.serverLocation.text": "Lantern uses smart server selection to automatically find you the fastest connection possible from our data centers in Tokyo, Singapore, Hong Kong, San Francisco, New York, Amsterdam, Bangalore and more.", - "cards.serverLocation.text-free": "Lantern uses smart server selection to connect you to our best data centers.", - "cards.serverLocation.upgrade-link": "Upgrade to Lantern Pro for faster speed with optimized server selection from our exclusive Lantern Pro data centers.", - "cards.httpsUpgrades.description": "HTTPS Upgrades", - "cards.httpsUpgrades.title": "HTTPS Upgrades: %d", - "cards.httpsUpgrades.text": "Lantern automatically upgrades unsecure HTTP connections to encrypted HTTPS connections when possible to keep your information private while surfing the web.", - "cards.adsBlocked.description": "Ads Blocked", - "cards.adsBlocked.title": "Blocked Ads: %d", - "cards.adsBlocked.text": "Lantern blocks intrusive ads to speed up web page loading time, save bandwidth, and to give you a smoother browsing experience.", - "cards.dataUsage.description": "Data Usage", - "cards.dataUsage.upgrade": "Upgrade now", - "cards.dataUsage.mb-used": "You have used %d/%dMB of your monthly high speed data.", - "cards.dataUsage.upgrade-link": "Upgrade now for unlimited high speed service!", - "cards.subscription.description": "Pro Subscription", - "cards.subscription.renew": "Renew", - "cards.subscription.months": "You have %d months of Lantern Pro left in your subscription.", - "cards.subscription.days": "You have %d days of Lantern Pro left in your subscription.", - "cards.subscription.unit.months": "MO", - "cards.subscription.unit.days": "DAYS", - "cards.subscription.renew-link": "Renew your subscription to add more time." -} \ No newline at end of file diff --git a/locale/translation/cs.json b/locale/translation/cs.json deleted file mode 100644 index 177b1dea0..000000000 --- a/locale/translation/cs.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "TRAY_SHOW_LANTERN": "Ukázat Lantern", - "TRAY_QUIT": "Zavřít Lantern" -} \ No newline at end of file diff --git a/locale/translation/da.json b/locale/translation/da.json deleted file mode 100644 index 97397ecc8..000000000 --- a/locale/translation/da.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "TRAY_SHOW_LANTERN": "Vis Lantern", - "TRAY_QUIT": "Afslut Lantern" -} \ No newline at end of file diff --git a/locale/translation/de.json b/locale/translation/de.json deleted file mode 100644 index c24f25b8f..000000000 --- a/locale/translation/de.json +++ /dev/null @@ -1,462 +0,0 @@ -{ - "TRAY_LANTERN": "Lantern", - "TRAY_STATUS": "Status: %v", - "TRAY_CONNECT": "Verbinden", - "TRAY_DISCONNECT": "Trennen", - "TRAY_SHOW_LANTERN": "Lantern anzeigenf", - "TRAY_UPGRADE_TO_PRO": "Auf Pro aufrüsten", - "TRAY_QUIT": "Lantern beenden", - "BACKEND_DATA_TITLE": "Keine weiteren Lantern-Hochgeschwindigkeitsdaten", - "BACKEND_DATA_MESSAGE": "Bitte rüsten Sie auf Pro auf, um Lantern weiterhin mit voller Geschwindigkeit nutzen zu können!", - "BACKEND_DATA_PERCENT_TITLE": "%s von Ihren Lantern-Daten erreicht", - "BACKEND_DATA_PERCENT_MESSAGE": "Sie haben %s von Ihren für diesen Monat verfügbaren Lantern-Hochgeschwindigkeitsdaten verbraucht. Rüsten Sie jetzt auf!", - "BACKEND_CLICK_LABEL": "Öffnen", - "BACKEND_CLICK_LABEL_OPEN": "Öffnen", - "BACKEND_CLICK_LABEL_HELP": "Hilfe", - "BACKEND_CLICK_LABEL_GOT_IT": "Verstanden", - "BACKEND_AUTOUPDATED_TITLE": "Update Lantern to version %s", - "BACKEND_AUTOUPDATED_MESSAGE": "Lantern %s has been downloaded. Please restart Lantern to use it.", - "BACKEND_MITM_INSTALL_CERT": "Lantern wants to install a custom certificate in order to unblock your traffic", - "BACKEND_MITM_INSTALL_CERT_WINDOWS_BODY": "Please allow %v to make changes to your system", - "BACKEND_ALERT_TITLE": "Critical alert needs your attention", - "about.content": "Laterne ist eine Anwendung, die einen schnellen, zuverlässigen und sicheren Zugang zum offenen Internet liefert.", - "about.faq": "Lesen Sie die Lantern FAQs", - "about.open": "Offenes Internet für Jeden", - "about.questions": "Fragen?", - "about.title": "Über", - "account.cancel": "Pro-Konto kündigen", - "account.free.cap": "{{mb}} MB verbleiben von Ihren kostenlosen monatlichen Daten", - "account.free.cap.upgrade": "Rüsten Sie auf Pro für unbegrenzte Hochgeschwindigkeitsdaten auf", - "account.freelink.validFor": "gültig für %s", - "account.freelink.desc": "Um dieses Gerät mit Ihrem Pro-Konto zu verknüpfen:", - "account.freelink.step1": "1. Öffnen Sie den Menüpunkt 'Gerät hinzufügen' auf Ihrem Pro-Gerät.", - "account.freelink.step2": "2. Geben Sie den Geräteverknüpfungscode ein und senden Sie ab.", - "account.freelink.reminder": "* Stellen Sie sicher, dass Sie auf die neueste Version von Lantern auf Ihrem Pro-Gerät aktualisiert haben", - "account.freelink.errorTitle": "Fehler beim Verknüpfen", - "account.freelink.errorText": "Sind Sie sicher, dass Sie den Code auf Ihrem Pro-Gerät eingegeben haben?", - "account.freelink.headerDesc": "Verknüpfen Sie dieses Gerät mit Ihrem Pro-Konto", - "account.freelink.title": "Gerätverknüpfungscode", - "account.pro.charge": "Your account will automatically be charged for another year of Lantern Pro at the end of your billing cycle.", - "account.upgrade": "Auf Pro aufrüsten", - "account.pro.email": "E-Mail-Adresse:", - "account.pro.expired": "Your Pro account has expired. Renew now for Unlimited monthly data.", - "account.pro.expiry": "Ihr Pro-Konto läuft in %s Tagen am %s ab.", - "account.pro.bonusMonths": "Dies beinhaltet Ihre {{bonusMonths}} Bonusmonate!", - "account.pro.thisdevice": "(Dieses Gerät)", - "account.pro.logout": "ABMELDEN", - "account.pro.removedevice": "ENTFERNEN", - "account.pro.devices": "Geräte zur Verwendung mit Ihrem Pro-Konto autorisiert:", - "account.pro.device.confirm.title": "Gerät deautorisieren", - "account.pro.device.confirm": "Sind Sie sicher, dass Sie '{{device}}' aus Ihrem Lantern Pro-Konto entfernen möchten?", - "account.pro.device.one.title": "Nur ein Gerät", - "account.pro.device.one": "Entschuldigung, aber Sie können Ihr letztes autorisiertes Gerät nicht entfernen.", - "account.pro.linkingcode": "Gerätverknüpfungscode:", - "account.pro.renew": "PRO-KONTO ERNEUERN", - "account.prolink.errorTitle": "Fehler beim Verknüpfen", - "account.prolink.errorText": "Sind Sie sicher, dass Sie den Code von einem anderen Gerät korrekt kopiert haben?", - "account.prolink.successTitle": "Gerät verknüpft", - "account.prolink.successText": "You have successfully linked your device! Please wait a moment for your other device to automatically become pro.", - "adyen.paymentMethods.title": "Payment Methods", - "adyen.paymentMethods.storedMethods": "Your payment methods", - "adyen.paymentMethods.otherMethods": "Select other method", - "adyen.paymentMethods.moreMethodsButton": "More payment methods", - "adyen.payButton": "Pay", - "adyen.payButton.formatted": "Pay %@", - "adyen.cancelButton": "Abbruch", - "adyen.dismissButton": "OK", - "adyen.storeDetails": "Save for my next payment", - "adyen.payment.redirecting": "You will be redirected", - "adyen.payment.processing": "Your payment is being processed", - "adyen.creditCard.title": "Card Details", - "adyen.creditCard.holderName": "Cardholder name", - "adyen.creditCard.holderName.placeholder": "J. Smith", - "adyen.creditCard.numberField.title": "Kartennummer", - "adyen.creditCard.numberField.placeholder": "1234 5678 9012 3456", - "adyen.creditCard.numberField.invalid": "Ungültige Kartennummer", - "adyen.creditCard.expiryDateField.title": "Ablaufdatum", - "adyen.creditCard.expiryDateField.placeholder": "MM/JJ", - "adyen.creditCard.expiryDateField.invalid": "Invalid expiration date", - "adyen.creditCard.expiryDateField.month": "Monat", - "adyen.creditCard.expiryDateField.month.placeholder": "MM", - "adyen.creditCard.expiryDateField.year.placeholder": "JJ", - "adyen.creditCard.expiryDateField.year": "Jahr", - "adyen.creditCard.cvcField.title": "CVC / CVV", - "adyen.creditCard.cvcField.placeholder": "123", - "adyen.creditCard.installmentsField": "Number of installments", - "adyen.creditCard.storeDetailsButton": "Remember this card for my next payment", - "adyen.creditCard.oneClickVerification.title": "Verify your card", - "adyen.creditCard.oneClickVerification.message": "Please enter the CVC code for %@", - "adyen.creditCard.oneClickVerification.invalidInput.title": "Invalid CVC", - "adyen.creditCard.oneClickVerification.invalidInput.message": "Please enter a valid CVC to continue.", - "adyen.sepaDirectDebit.ibanField.title": "Kontonummer (IBAN)", - "adyen.sepaDirectDebit.ibanField.placeholder": "NL53 ABNA 1925 1294 122", - "adyen.sepaDirectDebit.ibanField.invalid": "Ungültige Kontonummer", - "adyen.sepaDirectDebit.nameField.title": "Holder Name", - "adyen.sepaDirectDebit.nameField.placeholder": "J. Smith", - "adyen.sepaDirectDebit.consentButton": "I agree that the amount below will be debited from my bank account.", - "adyen.sepa.ownerName": "Holder Name", - "adyen.sepa.ibanNumber": "Kontonummer (IBAN)", - "adyen.giropay.searchField.placeholder": "Bankname / BIC / Bankleitzahl", - "adyen.giropay.minimumLength": "Min. 3 characters", - "adyen.giropay.noResults": "No search results", - "adyen.error.title": "Fehler", - "adyen.error.subtitle.redirect": "Redirect failed", - "adyen.error.subtitle.payment": "Payment failed", - "adyen.error.subtitle.refused": "Payment refused", - "adyen.error.message.unknown": "An unknown error occurred", - "adyen.error.message.cannotConnectToInternet": "Failed to connect to the internet : please check your internet connection.", - "adyen.error.message.cannotConnectToHost": "Failed to connect to our payment server.", - "adyen.error.retryButton": "Erneut versuchen", - "adyen.idealIssuer.selectField.title": "Bank", - "adyen.idealIssuer.selectField.placeholder": "Select your bank", - "adyen.creditCard.success": "Payment Successful", - "adyen.oneClick.confirmationAlert.title": "Confirm %@ payment", - "adyen.redirect.cannotOpenApp.title": "Cannot Open App", - "adyen.redirect.cannotOpenApp.appNotInstalledMessage": "This app could not be opened because it is not installed on this device.", - "adyen.holderName": "Cardholder name", - "adyen.countryCode": "Country Code", - "adyen.telephone.number": "Telefonnummer", - "authorize.title": "Gerät für Pro autorisieren", - "authorize.step1.have_pro_device": "Ich habe ein weiteres Lantern Pro-Gerät", - "authorize.step1.link": "Dieses Gerät verknüpfen", - "authorize.step1.or": "oder", - "authorize.step1.recover": "Ich muss mein Lantern Pro-Konto wiederherstellen", - "authorize.step1.start": "Wiederherstellung starten", - "authorize.step1.no_mail": "Sie erinnern sich nicht an Ihre E-Mail-Adresse?", - "authorize.step2b.enter_code": "Geben Sie Ihren Kontowiederherstellungscode ein", - "authorize.step2b.code": "Kontowiederherstellungscode", - "authorize.step2b.instruction": "Eine Email mit dem Wiederherstellungscode wurde gesendet an {{email}}. Es kann mehrere Stunden bis zur Zustellung dieser dauern. Sehen Sie auch im Spam-Order nach.", - "authorize.step2b.no_mail": "Habe die E-Mail nicht erhalten", - "authorize.step3.recovery": "Kontowiederherstellung", - "authorize.step3.no_email": "Hoppla! Wir haben Probleme bei der Suche nach dieser E-Mail-Adresse. Bitte geben unten Sie mehr Informationen an um das Konto zu finden.", - "authorize.step3.no_code_received": "Haben Sie Probleme, die E-Mail zur Kontowiederherstellung zu erhalten? Geben Sie unten die Informationen unten und wir werden Sie innerhalb der nächsten 48 Stunden kontaktieren.", - "authorize.step3.your_email": "Ihre E-Mail-Adresse", - "authorize.step3.payment_method": "Zahlungsmethode", - "authorize.step3.payment_method_hint": "Wählen Sie die Zahlungsmethode aus, mit der Sie Pro erhalten haben", - "authorize.step3.credit_card": "Kreditkarte", - "authorize.step3.alipay": "AliPay", - "authorize.step3.android_pay": "Android Pay", - "authorize.step3.by_referral": "Received Pro by Referring a friend", - "authorize.step3.payment_account": "Zahlungskonto", - "authorize.step3.payment_account_hint": "Geben Sie Ihre Alipay-Kontoinformationen ein", - "authorize.step3.referral_code": "Ihr Empfehlungscode", - "authorize.step3.purchase_date": "Kaufdatum", - "authorize.step3.note": "Bitte geben Sie unten die Informationen an um uns das Finden des Kontos zu erleichtern.", - "authorize.step4.title": "Kontowiederherstellung in Bearbeitung", - "authorize.step4.text1": "Vielen Dank! Wir haben Ihre Kontowiederherstellungsanforderung erhalten.", - "authorize.step4.text2": "Please allow 48 hours to retrieve your Pro account information.", - "authorize.step4.text3": "We will send information to the email address entered on the previous screen.", - "authorized.continue": "Weiter zu Pro", - "authorized.text": "Dieses Gerät ist nun zur Verwendung Ihres Lantern Pro-Kontos autorisiert!", - "authorized.title": "Gerät autorisiert", - "button.renew": "Erneuern", - "button.upgrade": "Aufrüsten", - "button.upgrade_now": "Jetzt aufrüsten", - "button.upgrade_to_lantern_pro": "Auf Lantern PRO aufrüsten", - "button.copy_your_code": "Kopieren Sie Ihren Code", - "button.try_again": "Erneut versuchen", - "button.continue": "Fortsetzen", - "bullet.click_button": "Klicken Sie auf die Schaltfläche unten", - "bullet.paste_code": "Paste the code & download link in a message", - "bullet.send_to_friends": "Senden Sie es an Ihre Freunde", - "cancel": "Abbruch", - "confirm": "Bestätigen", - "google_search": "Google Suche", - "link_device": "Already have a Pro account? Link device", - "err.unknown_error": "Unbekannter Fehler", - "err.internal_error": "Interner Fehler", - "err.bad_input": "Falsche Eingabe", - "err.not_authorized": "Nicht autorisiert", - "err.user_exists": "Benutzer vorhanden", - "err.no_such_user": "Kein solcher Benutzer", - "err.user_already_verified": "Benutzer bereits bestätigt", - "err.invalid_user_verification": "Ungültige Benutzerbestätigung", - "err.user_unverified": "Benutzer unbestätigt", - "err.operation_temporarily_unavailable": "Vorgang vorübergehend nicht erreichbar", - "err.wrong_or_inexistent_plan": "Falscher oder nicht vorhandener Plan", - "err.user_has_active_subscription": "Benutzer hat aktives Abonnement", - "err.payment_error": "Zahlungsfehler", - "err.no_codes_left": "Kein Empfehlungscode übrig", - "err.wrong_code": "Falscher Empfehlungscode", - "err.redeeming_own_code_not_allowed": "Einlösen von Codes auf sich selbst ist nicht erlaubt", - "err.wrong_charge_id": "Falsche Gebührenkennung", - "footer.reseller": "Make Money! Become a Lantern Pro reseller. Click Here", - "footer.reseller.email_subject": "Tell me about the Lantern Reseller Program!", - "footer.reseller.email_body": "When you become a Lantern Reseller you will have the opportunity to make up to 25% on every sale of a Lantern Pro subscription. Tell us a bit about why you want to become a reseller below.", - "feature.faster_speed": "Höhere Geschwindigkeit", - "feature.faster": "Faster data centers", - "feature.unlimited": "Unbegrenzte Daten", - "feature.nologs": "No Logs", - "feature.devices": "Connect up to 3 devices", - "feature.noads": "Keine Werbung", - "feature.antiblock": "Sperrresistenz", - "feature.data_center": "Better Data Centers", - "feature.free_yinbi": "Free Yinbi Cryptocurrency!", - "free.title": "Lantern Pro", - "free.desc": "Schneller. Stärker. Unbegrenzt. Sicher.", - "free.link_account": "Sie haben bereits ein Pro-Konto? Verknüpfen Sie Ihr Konto.", - "home.get_lantern_pro": "Lantern Pro erhalten", - "input.email": "E-Mail", - "input.your_email": "Ihre E-Mail-Adresse", - "input.confirm_email": "E-Mail-Adresse bestätigen", - "input.enter_email": "Geben Sie Ihre E-Mail-Adresse ein", - "input.use_valid_email": "Schreiben Sie eine gültige E-Mail-Adresse", - "input.email_not_match": "E-Mail-Felder stimmen nicht überein", - "issue.your_email": "Ihre E-Mail-Adresse", - "issue.attach_image_failure": "Cannot attach image", - "issue.try_again": "Bitte versuchen Sie es erneut", - "issue.select_issue": "Bitte wählen Sie ein Problem aus", - "issue.selected_issue": "Select Issue", - "issue.select_issue_hint": "Select an issue from the dropdown menu", - "issue.note": "Describe your Issue", - "issue.description": "Issue Description", - "issue.error": "Fehler beim Melden des Problems", - "issue.submit": "Send Report", - "issue.report_screenshot": "Drag image or click to upload screenshot", - "issue.reported": "Thank you for reporting your issue, we will get back to you via Email as soon as we are able", - "issue.report_sent": "Report Sent", - "issue.type.no_access": "Kann nicht auf blockierte Seiten zugreifen", - "issue.type.payment_fail": "Kann die Zahlung nicht abschließen", - "issue.type.cannot_login": "Kann nicht anmelden", - "issue.type.always_spinning": "Loading spinner spins endlessly", - "issue.type.slow": "Langsam", - "issue.type.cannot_link_device": "Kann Geräte nicht verknüpfen", - "issue.type.crashes": "Lantern-Abstürze", - "issue.type.other": "Andere", - "languages.title": "Sprachen", - "mobile.link": "Use the link to download Lantern on your Android device:", - "mobile.title": "Android-Version holen", - "nav.about": "Über", - "nav.account": "Kontoverwaltung", - "nav.authorize": "Gerät hinzufügen", - "nav.authorized": "Gerät autorisiert", - "nav.unauthorized_link": "Gerät für Pro autorisieren", - "nav.language": "Sprache", - "nav.lantern": "Lantern", - "nav.mobile": "Mobile Version erhalten", - "nav.report_issue": "Problem melden", - "nav.settings": "Einstellungen", - "nav.verify": "Kontobestätigung", - "nav.yinbi": "Yinbi Redemption", - "nav.home": "Home", - "nav.discover": "Discover", - "nav.wallet": "Wallet", - "nav.yinbi_wallet": "Yinbi Wallet", - "notification.retry": "Wiederholen", - "notifications.whatisnew": "What's New?", - "payment.close": "Schließen", - "payment.wait_for_pro": "Thanks for your purchase of Lantern Pro! Please wait a moment for your Lantern to automatically become Pro.", - "payment_methods.select_name": "Select payment method", - "payment_methods.alipay": "Credit Card/Alipay", - "payment_methods.shetab": "Fast World Pay (Shetab)", - "payment_methods.shetab.details.header": "To purchase Lantern Pro", - "payment_methods.shetab.details.body": "When you click continue to purchase you will be redirected to an external site to complete payment and collect your activation code.", - "payment_methods.shetab.details.tutorial_header": "Farsi tutorial", - "payment_methods.shetab.details.purchase_voucher_button": "Continue To Purchase", - "payment_methods.shetab.details.input_code_button": "Input Activation Code", - "plan.step1": "Step 1", - "plan.apply": "Apply", - "plan.step2": "Step 2", - "plan.step3": "Step 3", - "plan.choose_plan": "Choose Plan", - "plan.enter_email": "Enter Email", - "plan.bestValue": "Best Deal!", - "plan.per_month": "per month", - "plan.yinbi_2x": "+ 2x Yinbi!", - "plan.oneYear": "1 Jahr", - "plan.add_referral": "Add Referral Code", - "plan.years": "{{years}} year plan", - "plan.desc": "{{price}} billed one time", - "plan.price.cny": "¥%.02f", - "plan.price.usd": "$%.02f", - "plan.currency.cny": "(RMB)", - "plan.currency.usd": "(USD)", - "plan.time_unit": "/YR", - "plan.select": "Auswählen", - "plans.title": "Lantern Pro-Pläne", - "plans.lantern_pro": "Lantern Pro", - "plans.platforms": "Für Windows, Android, Mac, Ubuntu.", - "plans.from_reseller": "Have a Lantern Pro activation code? Click here", - "plans.with_voucher_code": "Have an activation code? Click here.", - "pro.apply": "Your credits will be applied to your account in the next billing cycle.", - "pro.title": "Invite friends, get more Pro for free", - "pro.subtitle": "When your friend purchases the two year plan you each get 3 additional months of Pro, the one year plan gets you each 1 month free.", - "pro.share": "Share your code with friends to start earning more credits!", - "promotion.title": "Lantern Pro Checkout", - "promotion.title.activation": "Lantern-Pro-Aktivierung", - "promotion.enter_and_confirm_email": "Bitte geben Sie Ihre E-Mail-Adresse ein und bestätigen Sie sie", - "promotion.code.hint": "Geben Sie den Empfehlungscode Ihres Freundes ein (optional)", - "promotion.code.label": "Empfehlungscode", - "promotion.payment": "Weiter zur Bezahlung", - "promotion.loading": "Ladevorgang...", - "promotion.howto_1y": "If a friend shared their referral code with you, enter the code to receive one month of Lantern Pro for free after checkout.", - "promotion.howto_2y": "If a friend shared their referral code with you, enter the code to receive three months of Lantern Pro for free after checkout.", - "promotion.pay": "{{amount}} zahlen", - "promotion.select": "Auswählen", - "promotion.promotion_applied_1y": "+1 bonus months", - "promotion.promotion_applied_2y": "+3 bonus months", - "promotion.too_many_referrals": "Dieser Empfehlungscode wurde bereits hinzugefügt. Probieren Sie es jetzt aus, um Ihre zusätzlichen Monate zu erhalten.", - "promotion.activation.enter_and_confirm_email": "Bitte geben Sie Ihre E-Mail-Adresse ein und bestätigen Sie sie, um Ihr Lantern-Pro-Konto zu registrieren.", - "promotion.activation.label": "XXXXX-XXXXX-XXXXX-XXXXX-XXXXX", - "promotion.activation.hint": "Geben Sie Ihren Aktivierungscode ein", - "promotion.activation.howto": "Please enter your 25 character Lantern Pro activation code above. If you do not have a code, please purchase Pro on the previous screen or look for a Lantern Pro reseller online.", - "promotion.activation.continue": "Weiter zu Pro", - "promotion.voucher.hint": "Activation Code", - "promotion.voucher.howto": "Please enter your 12 character Fast World Pay activation code above", - "promotion.voucher.label": "XXXXXXXXXXXX", - "promotion.voucher.error.default": "Error redeeming your activation code. Please contact contact@fastworldpay.com for assistance.", - "promotion.voucher.error.invalid_code": "Invalid activation code", - "promotion.voucher.error.invalid_plan": "Activation code associated with an invalid plan", - "promotion.voucher.error.already_redeemed": "Activation code has already been redeemed", - "referral.code": "Teilen Sie Ihren Empfehlungscode", - "referral.text": "Verwenden Sie meinen Code %s und erhalten Sie 3 Monate kostenlos, wenn Sie sich registrieren!", - "renew.title_30_days": "Renew now for 3 months free!", - "renew.title_2_days": "Lantern Pro expires tomorrow.\nRenew now for 3 months free!", - "renew.title_last_day": "Lantern Pro expires today.\nDon't miss out on your Pro discount!", - "renew.title_expired": "Lantern Pro has expired", - "renew.details_30_days": "Your Lantern Pro membership is ending soon, renew now and enjoy up to three months free! This limited time offer is only valid for early renewals.", - "renew.details_2_days": "Your Lantern Pro membership is ending soon, renew now and enjoy up to three months free! This limited time offer is only valid for early renewals.", - "renew.details_last_day": "Renew now and enjoy up to three months free!\nThis is the last day to take advantage of this offer.\nLantern Pro users get faster speeds, unlimited data, better blocking resistance, three devices and no ads.", - "renew.details_expired": "Renew now for an extra 45 days free. Limited time only.\nLantern Pro users get faster speeds, unlimited data, better blocking resistance, three devices and no ads.", - "renew.plan_label": "Lantern Pro - %s", - "renew.plan_renewal_bonus_1_month": "$%d%s + 1 FREE MONTH", - "renew.plan_renewal_bonus_months": "$%d%s + %d FREE MONTHS", - "renew.plan_renewal_bonus_days": "$%d%s + %d FREE DAYS", - "renew.next": "weiter", - "renew.decline": "Decline Offer", - "renew.decline_question": "Are you sure you want to decline this offer?", - "renew.decline_yes": "Renew later", - "renew.decline_dismiss": "Renew now", - "renew.notification_title_30_days": "Renew Pro now for huge savings!", - "renew.notification_text_30_days": "Your Lantern Pro account expires in {{days}} days. Renew now and get up to 3 months free.", - "renew.notification_title_2_days": "Lantern Pro discount ends tomorrow!", - "renew.notification_text_2_days": "Your Pro account expires tomorrow. Don’t miss this opportunity for a huge discount.", - "renew.notification_title_last_day": "Last chance for a discount!", - "renew.notification_text_last_day": "Your Lantern pro account has expired. Renew today and get up to 3 months free.", - "replica.upload": "Upload", - "replica.relevance": "Relevance", - "replica.upload_date": "Upload Date", - "replica.gallery_view": "Gallery View", - "replica.list_view": "List View", - "replica.copy_lantern_link": "Copy Lantern Link", - "replica.delete_file": "Delete File", - "replica.docs": "Dokumentation", - "replica.other": "Andere", - "replica.apps": "Apps", - "replica.images": "Images", - "replica.videos": "Videos", - "replica.next": "Weiter", - "replica.previous": "Previous", - "replica.select_all": "Select All", - "replica.search_replica": "Search Public Files", - "replica.no_files_found": "No Files Found", - "replica.or_content": "your own content for other people to find!", - "replica.try_again": "Try a different keyword, or", - "replica.upload_success": "Upload Success!", - "replica.cannot_preview": "No preview for this filetype", - "replica.size": "Größe", - "replica.uploaded": "Uploaded", - "replica.invalid_link": "Invalid Link", - "replica.close": "Schließen", - "replica.my_files": "My Files", - "replica.filename": "File Name", - "replica.filename_required": "File Name (required)", - "replica.filetype": "Filetype", - "replica.sortby": "Sort By", - "replica.link": "Replica link", - "replica.collapse": "Collapse", - "replica.publish": "Publish", - "replica.cancel": "Abbruch", - "replica.delete": "Löschen", - "replica.failed_to_delete": "Failed to delete", - "replica.link_lookup_failure": "Failed to find link", - "replica.delete_file_confirmation_1": "Are you sure you want to delete", - "replica.delete_file_confirmation_2": "from your uploads", - "replica.share_file": "Share File", - "replica.download_and_view": "Download/View", - "replica.download": "Herunterladen", - "replica.copy_link": "Copy Replica Link", - "replica.find_file": "Find file", - "replica.file_drop_prompt": "Drag file here or browse to post", - "settings.general": "Allgemein", - "settings.feedback": "Feedback", - "settings.autoLaunch": "Lantern beim Systemstart starten", - "settings.autoReport": "Nutzungsstatistiken sicher berichten, um zu Lantern beizutragen", - "settings.proxyAll": "Kompletten Datenverkehr durch Proxy leiten", - "settings.proxyAllHelpTitle": "WHAT DOES \"PROXY ALL TRAFFIC\" DO?", - "settings.proxyAllHelp1": "If enabled, all traffic will be sent through Lantern (most Secure option).", - "settings.proxyAllHelp2": "If disabled, only blocked traffic will be sent through Lantern (fastest option, most common).", - "settings.show_advanced": "Show Advanced Settings", - "settings.hide_advanced": "Hide Advanced Settings", - "settings.systemProxy": "Systemproxy verwalten", - "settings.title": "Einstellungen", - "settings.http_proxy": "HTTP(S)-Proxy:", - "settings.socks_proxy": "SOCKS-Proxy:", - "settings.caution": "Vorsicht:", - "settings.caution_text": "When you uncheck \"Manage system proxy\" your browser and applications won't be able to use Lantern automatically. If you know how to manually configure these settings refer to the information above.", - "settings.select_language": "Select Langauge", - "status.lantern": "Lantern is", - "status.click_reconnect": "Click here to reconnect", - "status.server_location": "Serverstandort", - "status.tooltip1": "Lantern uses smart server selection to connect you to our best data centers.", - "status.tooltip2": "Upgrade to Lantern Pro for faster speed with optimized server selection from our exclusive Lantern Pro data centers", - "status.protected_connection": "Your Connection is Protected", - "status.please_wait": "This may take a minute or two...", - "status.connecting": "Verbinden …", - "status.no_internet": "Off", - "status.no_internet_connection": "No Internet connection", - "status.connected": "On", - "status.disconnected": "Off", - "status.throttled": "Speed Throttled (Data Cap)", - "status.no_system_proxy": "{{status}}, not managing system proxy", - "status.fail_to_set_system_proxy": "Failed to set Lantern as system proxy", - "status.fail_to_open_browser": "Failed to open browser window to show the Lantern user interface", - "terms_of_service.acknowledgment": "By clicking {{buttonText}}, you agree to our Terms of Service", - "verify.header": "Want to link another device to this Pro account? Enter your Device Linking Code below", - "verify.code": "Gerätverknüpfungscode", - "verify.howto_1": "If you have a Lantern Pro account on another device, please enter your e-mail address here to receive a code to authorize the device", - "verify.howto_1a": "Sie sind momentan an unautorisierter Pro-Benutzer. Bitte geben Sie Ihre E-Mail-Adresse ein, um Ihr Pro-Konto zu autorisieren. Dies ermöglicht es Ihnen, mehrere Geräte zu verknüpfen.", - "verify.howto_3": "1. Öffnen Sie den Menüpunkt 'Gerät für Pro autorisieren' auf Ihrem unautorisierten Gerät.", - "verify.howto_4": "2. Geben Sie den Geräteverknüpfungscode aus Schritt 1 ein und senden Sie ab.", - "verify.reminder": "*Stellen Sie sicher, dass Sie auf die neueste Version von Lantern auf Ihrem unautorisierten Gerät aktualisiert haben", - "verify.submit": "Absenden", - "verify.title": "Kontobestätigung", - "welcomeToPro.continue": "Weiter zu Pro", - "welcomeToPro.invite": "Invite friends and you will each get 3 months free when they purchase the two-year plan, the one year plan gets you each 1 month free. Start inviting!", - "welcomeToPro.thanks": "Vielen Dank für Ihren Kauf von Lantern Pro!", - "welcomeToPro.title": "Willkommen bei Lantern Pro", - "messages.copied_to_clipboard": "Code kopiert. Teilen Sie ihn mit Ihren Freunden!", - "messages.datacap": "Sie haben Ihre kostenlosen Hochgeschwindigkeitsdaten verbraucht. Rüsten Sie auf Pro für unbegrenzte Hochgeschwindigkeitsdaten auf.", - "messages.fatal_error": "Entschuldigung, die Lantern Server konnten nicht erreicht werden. Bitte überprüfen Sie Ihre Netzwerkverbindung und versuchen Sie es erneut.", - "messages.backend_gone": "Entschuldigung, Lantern scheint nicht mehr ausgeführt zu werden. Bitte starten Sie Lantern neu und versuchen Sie es erneut.", - "messages.get_help": "Hilfe", - "freeProCredits.title": "Freunde einladen", - "freeProCredits.shareWithFriends": "Teilen Sie Ihren Code mit Freunden und erhalten Sie drei Monate!", - "freeProCredits.shareWithFriendsDesc": "When your friend purchases the two year plan you will each get 3 months free, the one year plan gets you each 1 month free.", - "cards.serverLocation.unknown": "Unbekannt", - "cards.serverLocation.description": "Optimierter Serverstandort", - "cards.serverLocation.description-free": "Serverstandort", - "cards.serverLocation.description-upgrade": "Upgrade for Faster Servers", - "cards.serverLocation.title": "Aktueller Standort:", - "cards.serverLocation.location": "%s, %s", - "cards.serverLocation.text": "Lantern uses smart server selection to automatically find you the fastest connection possible from our data centers in Tokyo, Singapore, Hong Kong, San Francisco, New York, Amsterdam, Bangalore and more.", - "cards.serverLocation.text-free": "Lantern uses smart server selection to connect you to our best data centers.", - "cards.serverLocation.upgrade-link": "Upgrade to Lantern Pro for faster speed with optimized server selection from our exclusive Lantern Pro data centers.", - "cards.httpsUpgrades.description": "HTTPS Upgrades", - "cards.httpsUpgrades.title": "HTTPS Upgrades: %d", - "cards.httpsUpgrades.text": "Lantern automatically upgrades unsecure HTTP connections to encrypted HTTPS connections when possible to keep your information private while surfing the web.", - "cards.adsBlocked.description": "Anzeigen blockiert", - "cards.adsBlocked.title": "Geblockte Anzeigen: %d", - "cards.adsBlocked.text": "Lantern blocks intrusive ads to speed up web page loading time, save bandwidth, and to give you a smoother browsing experience.", - "cards.dataUsage.description": "Datennutzung", - "cards.dataUsage.upgrade": "Jetzt aufrüsten", - "cards.dataUsage.mb-used": "You have used %d/%dMB of your monthly high speed data.", - "cards.dataUsage.upgrade-link": "Upgrade now for unlimited high speed service!", - "cards.subscription.description": "Pro-Abonnement", - "cards.subscription.renew": "Erneuern", - "cards.subscription.months": "You have %d months of Lantern Pro left in your subscription.", - "cards.subscription.days": "You have %d days of Lantern Pro left in your subscription.", - "cards.subscription.unit.months": "MO", - "cards.subscription.unit.days": "TAGE", - "cards.subscription.renew-link": "Renew your subscription to add more time." -} \ No newline at end of file diff --git a/locale/translation/el.json b/locale/translation/el.json deleted file mode 100644 index 69ac4e052..000000000 --- a/locale/translation/el.json +++ /dev/null @@ -1,462 +0,0 @@ -{ - "TRAY_LANTERN": "Lantern", - "TRAY_STATUS": "Κατάσταση: %v", - "TRAY_CONNECT": "Σύνδεση", - "TRAY_DISCONNECT": "Αποσύνδεση", - "TRAY_SHOW_LANTERN": "Εμφανίστε του Lantern", - "TRAY_UPGRADE_TO_PRO": "Αναβάθμιση σε Pro", - "TRAY_QUIT": "Έξοδος από το Φανάρι", - "BACKEND_DATA_TITLE": "Τελείωσαν τα δεδομένα υψηλής ταχύτητας του Lantern", - "BACKEND_DATA_MESSAGE": "Κάντε αναβάθμιση σε Pro για να συνεχίσετε να χρησιμοποιείτε το Lantern σε μέγιστη ταχύτητα!", - "BACKEND_DATA_PERCENT_TITLE": "Έχετε χρησιμοποιήσει %s των δεδομενων του Lantern", - "BACKEND_DATA_PERCENT_MESSAGE": "Έχετε χρησιμοποιήσει %s των δεδομένων υψηλής ταχύτητας, του Lantern, του μήνα", - "BACKEND_CLICK_LABEL": "Άνοιγμα", - "BACKEND_CLICK_LABEL_OPEN": "Άνοιγμα", - "BACKEND_CLICK_LABEL_HELP": "Βοήθεια", - "BACKEND_CLICK_LABEL_GOT_IT": "Το κατάλαβα", - "BACKEND_AUTOUPDATED_TITLE": "Ενημέρωση του Lantern στην έκδοση %s", - "BACKEND_AUTOUPDATED_MESSAGE": "Ολοκληρώθηκε η λήψη του Lantern %s. Επανεκκινήστε το Lantern για να το χρησιμοποιήσετε.", - "BACKEND_MITM_INSTALL_CERT": "Το Lantern θέλει να εγκαταστήσει ένα προσαρμοσμένο πιστοποιητικό για να ξεμπλοκάρει την κίνηση σας", - "BACKEND_MITM_INSTALL_CERT_WINDOWS_BODY": "Επιτρέψτε στο %v να κάνει αλλαγές στο σύστημά σας", - "BACKEND_ALERT_TITLE": "Κρίσιμη προειδοποίηση χρειάζεται την προσοχή σας", - "about.content": "Το Lantern είναι μια εφαρμογή που παρέχει γρήγορη, αξιόπιστη και ασφαλή πρόσβαση στο ανοικτό διαδίκτυο.", - "about.faq": "Διαβάστε τις συχνές ερωτήσεις του Lantern", - "about.open": "Ανοιχτό διαδίκτυο για όλους.", - "about.questions": "Ερωτήσεις;", - "about.title": "Σχετικά", - "account.cancel": "Ακύρωση λογαριασμού Pro", - "account.free.cap": "Απομένουν {{mb}} MB από τα δωρεάν μηνιαία σας δεδομένα ", - "account.free.cap.upgrade": "Κάντε αναβάθμιση σε Pro για απεριόριστα δεδομένα υψηλής ταχύτητας", - "account.freelink.validFor": "ισχύει για %s", - "account.freelink.desc": "Για να συνδέσετε αυτήν τη συσκευή με τον Pro λογαριασμό σας:", - "account.freelink.step1": "1. Ανοίξτε την επιλογή \"Προσθήκη συσκευής\" στο μενού της Pro συσκευής.", - "account.freelink.step2": "2. Εισάγετε τον κωδικό σύνδεσης συσκευής και πατήστε υποβολή.", - "account.freelink.reminder": "* Βεβαιωθείτε ότι η έχετε την τελευταία έκδοση του Lantern στην Pro συσκευή σας.", - "account.freelink.errorTitle": "Σφάλμα σύνδεσης", - "account.freelink.errorText": "Είστε σίγουρος ότι εισάγατε τον κωδικό στην Pro συσκευή σας;", - "account.freelink.headerDesc": "Σύνδεση αυτής της συσκευής με τον Pro λογαριασμό σας", - "account.freelink.title": "Κωδικός σύνδεσης συσκευής", - "account.pro.charge": "Ο λογαριασμός σας θα χρεωθεί αυτόματα για ένα ακόμα έτος στο τέλος του κύκλου χρέωσης.", - "account.upgrade": "Αναβάθμιση σε Pro", - "account.pro.email": "Διεύθυνση email:", - "account.pro.expired": "Ο Pro λογαριασμός σας έχει λήξει. Ανανεώστε τον τώρα για απεριόριστα μηνιαία δεδομένα.", - "account.pro.expiry": "Ο Pro λογαριασμός σας λήγει σε %s ημέρα/ες στις %s.", - "account.pro.bonusMonths": "Αυτό περιλαμβάνει τους {{bonusMonths}} μήνες μπόνους!", - "account.pro.thisdevice": "(αυτή τη συσκευή)", - "account.pro.logout": "ΑΠΟΣΥΝΔΕΣΗ", - "account.pro.removedevice": "ΑΦΑΙΡΕΣΗ", - "account.pro.devices": "Συσκευές εξουσιοδοτημένες να χρησιμοποιούν τον Pro λογαριασμό σας:", - "account.pro.device.confirm.title": "Κατάργηση εξουσιοδότησης συσκευής", - "account.pro.device.confirm": "Είστε σίγουρος ότι θέλετε να καταργήσετε το '{{device}}' από το λογαριασμό Lantern Pro;", - "account.pro.device.one.title": "Μόνο μία συσκευή", - "account.pro.device.one": "Λυπούμαστε, αλλά δεν μπορείτε να καταργήσετε την τελευταία εξουσιοδοτημένη συσκευή σας.", - "account.pro.linkingcode": "Κωδικός σύνδεσης συσκευής", - "account.pro.renew": "ΑΝΑΝΕΩΣΗ PRO", - "account.prolink.errorTitle": "Σφάλμα σύνδεσης", - "account.prolink.errorText": "Είστε σίγουρος ότι έχετε αντιγράψει σωστά τον κώδικο από την άλλη σας συσκευή;", - "account.prolink.successTitle": "Η συσκευή συνδέθηκε", - "account.prolink.successText": "Η συσκευή σας συνδέθηκε με επιτυχία! Περιμένετε μια στιγμή, ώστε η άλλη συσκευή σας να γίνει αυτόματα pro.", - "adyen.paymentMethods.title": "Μέθοδοι Πληρωμής", - "adyen.paymentMethods.storedMethods": "Οι μέθοδοι πληρωμής σας", - "adyen.paymentMethods.otherMethods": "Επιλέξτε άλλη μέθοδο", - "adyen.paymentMethods.moreMethodsButton": "Περισσότερες μέθοδοι πληρωμής", - "adyen.payButton": "Πληρωμή", - "adyen.payButton.formatted": "Πληρωμή %@", - "adyen.cancelButton": "Ακύρωση", - "adyen.dismissButton": "OK", - "adyen.storeDetails": "Αποθήκευση για την επόμενη πληρωμή μου", - "adyen.payment.redirecting": "Θα μεταφερθείτε", - "adyen.payment.processing": "Η πληρωμή σας είναι υπό επεξεργασία", - "adyen.creditCard.title": "Στοιχεία κάρτας", - "adyen.creditCard.holderName": "Όνομα κατόχου", - "adyen.creditCard.holderName.placeholder": "J. Smith", - "adyen.creditCard.numberField.title": "Αριθμός κάρτας", - "adyen.creditCard.numberField.placeholder": "1234 5678 9012 3456", - "adyen.creditCard.numberField.invalid": "Μη έγκυρος αριθμός κάρτας", - "adyen.creditCard.expiryDateField.title": "Ημερομηνία λήξης", - "adyen.creditCard.expiryDateField.placeholder": "MM/YY", - "adyen.creditCard.expiryDateField.invalid": "Μη έγκυρη ημερομηνία λήξης", - "adyen.creditCard.expiryDateField.month": "Μήνας", - "adyen.creditCard.expiryDateField.month.placeholder": "MM", - "adyen.creditCard.expiryDateField.year.placeholder": "YY", - "adyen.creditCard.expiryDateField.year": "Χρόνος", - "adyen.creditCard.cvcField.title": "CVC / CVV", - "adyen.creditCard.cvcField.placeholder": "123", - "adyen.creditCard.installmentsField": "Αριθμός δόσεων", - "adyen.creditCard.storeDetailsButton": "Αποθήκευση κάρτας για την επόμενη πληρωμή μου", - "adyen.creditCard.oneClickVerification.title": "Επαλήθευση κάρτας", - "adyen.creditCard.oneClickVerification.message": "Εισαγάγετε τον κωδικό CVC της %@", - "adyen.creditCard.oneClickVerification.invalidInput.title": "Μη έγκυρο CVC", - "adyen.creditCard.oneClickVerification.invalidInput.message": "Εισαγάγετε ένα έγκυρο CVC για να συνεχίσετε.", - "adyen.sepaDirectDebit.ibanField.title": "Αριθμός λογαριασμού (IBAN)", - "adyen.sepaDirectDebit.ibanField.placeholder": "NL53 ABNA 1925 1294 122", - "adyen.sepaDirectDebit.ibanField.invalid": "Μη έγκυρος αριθμός λογαριασμού", - "adyen.sepaDirectDebit.nameField.title": "Όνομα κατόχου", - "adyen.sepaDirectDebit.nameField.placeholder": "J. Smith", - "adyen.sepaDirectDebit.consentButton": "Συμφωνώ ότι το παρακάτω ποσό θα χρεωθεί στον τραπεζικό μου λογαριασμό.", - "adyen.sepa.ownerName": "Όνομα κατόχου", - "adyen.sepa.ibanNumber": "Αριθμός λογαριασμού (IBAN)", - "adyen.giropay.searchField.placeholder": "Όνομα Τράπεζας / BIC / Κωδικός τράπεζας", - "adyen.giropay.minimumLength": "Min. 3 χαρακτήρες", - "adyen.giropay.noResults": "Δεν υπάρχουν αποτελέσματα αναζήτησης", - "adyen.error.title": "Σφάλμα", - "adyen.error.subtitle.redirect": "Η ανακατεύθυνση απέτυχε", - "adyen.error.subtitle.payment": "Η πληρωμή απέτυχε", - "adyen.error.subtitle.refused": "Η πληρωμή απορρίφθηκε", - "adyen.error.message.unknown": "Παρουσιάστηκε άγνωστο σφάλμα", - "adyen.error.message.cannotConnectToInternet": "Αποτυχία σύνδεσης στο διαδίκτυο : ελέγξτε τη σύνδεσή σας.", - "adyen.error.message.cannotConnectToHost": "Αποτυχία σύνδεσης με το διακομιστή πληρωμών.", - "adyen.error.retryButton": "Ξαναπροσπαθήστε", - "adyen.idealIssuer.selectField.title": "Τράπεζα", - "adyen.idealIssuer.selectField.placeholder": "Επιλέξτε την τράπεζά σας", - "adyen.creditCard.success": "Επιτυχής Πληρωμή", - "adyen.oneClick.confirmationAlert.title": "Επιβεβαίωση %@ πληρωμής", - "adyen.redirect.cannotOpenApp.title": "Δεν είναι δυνατό το άνοιγμα της εφαρμογής", - "adyen.redirect.cannotOpenApp.appNotInstalledMessage": "Η εφαρμογή δεν μπορούσε να ανοίξει επειδή δεν είναι εγκατεστημένη σε αυτήν τη συσκευή.", - "adyen.holderName": "Όνομα κατόχου", - "adyen.countryCode": "Κωδικός χώρας", - "adyen.telephone.number": "Αριθμός τηλεφώνου", - "authorize.title": "Εξουσιοδότηση συσκευής για Pro", - "authorize.step1.have_pro_device": "Έχω άλλη συσκευή Lantern Pro", - "authorize.step1.link": "Συνδέστε αυτή τη συσκευή", - "authorize.step1.or": "ή", - "authorize.step1.recover": "Πρέπει να ανακτήσω τον λογαριασμό μου Lantern Pro", - "authorize.step1.start": "Έναρξη Ανάκτησης", - "authorize.step1.no_mail": "Ξεχάσατε το email σας;", - "authorize.step2b.enter_code": "Εισαγωγή Κωδικού Ανάκτησης Λογαριασμού", - "authorize.step2b.code": "Κωδικός Ανάκτησης Λογαριασμού", - "authorize.step2b.instruction": "Ένα email με έναν κωδικό ανάκτησης έχει σταλεί στο {{email}}. Το email ίσως να κάνει αρκετές ώρες μέχρι να παραδοθεί. Ελέγξτε το φάκελο ανεπιθύμητης αλληλογραφίας αν δεν το βρείτε.", - "authorize.step2b.no_mail": "Δεν έλαβα email", - "authorize.step3.recovery": "Ανάκτηση Λογαριασμού", - "authorize.step3.no_email": "Ωχ! Δεν μπορούμε να βρούμε αυτή τη διεύθυνση email. Καταχωρίστε τις παρακάτω πληροφορίες για να μας βοηθήσετε να εντοπίσουμε το λογαριασμό σας.", - "authorize.step3.no_code_received": "Δεν μπορείτε να λάβετε το email ανάκτησης; Καταχωρίστε τις παρακάτω πληροφορίες και θα επικοινωνήσουμε μαζί σας εντός 48 ωρών.", - "authorize.step3.your_email": "Το email σας", - "authorize.step3.payment_method": "Τρόπος πληρωμής", - "authorize.step3.payment_method_hint": "Επιλέξτε τη μέθοδο πληρωμής που χρησιμοποιήσατε για να πάρετε το Pro", - "authorize.step3.credit_card": "Πιστωτική κάρτα", - "authorize.step3.alipay": "Alipay", - "authorize.step3.android_pay": "Android Pay", - "authorize.step3.by_referral": "Έλαβα το Pro από προώθηση σε φίλο", - "authorize.step3.payment_account": "Λογαριασμός πληρωμής", - "authorize.step3.payment_account_hint": "Εισάγετε τα στοιχεία του λογαριασμού σας στο Alipay", - "authorize.step3.referral_code": "Ο δικός σας κωδικός προώθησης", - "authorize.step3.purchase_date": "Ημερομηνία αγοράς", - "authorize.step3.note": "Παρακαλώ σημειώστε οποιαδήποτε άλλη πληροφορία που ίσως να μας βοηθήσει να εντοπίσουμε το λογαριασμό σας.", - "authorize.step4.title": "Ανάκτηση λογαριασμού σε εξέλιξη", - "authorize.step4.text1": "Ευχαριστούμε! Λάβαμε το αίτημα ανάκτησης του λογαριασμού σας.", - "authorize.step4.text2": "Αφήστε να περάσουν 48 ώρες για την ανάκτηση των πληροφοριών του Pro λογαριασμού σας.", - "authorize.step4.text3": "Θα στείλουμε πληροφορίες στη διεύθυνση email που καταχωρίσατε στην προηγούμενη οθόνη.", - "authorized.continue": "Συνέχεια στο PRO", - "authorized.text": "Αυτή η συσκευή είναι τώρα εξουσιοδοτημένη να χρησιμοποιεί τον Lantern Pro λογαριασμό σας!", - "authorized.title": "Εξουσιοδοτημένη συσκευή", - "button.renew": "Ανανέωση", - "button.upgrade": "Αναβάθμιση", - "button.upgrade_now": "Αναβάθμιση τώρα", - "button.upgrade_to_lantern_pro": "Αναβαθμίστε σε Lantern Pro", - "button.copy_your_code": "Αντιγράψτε τον κωδικό σας", - "button.try_again": "Ξαναπροσπαθήστε", - "button.continue": "Συνέχεια", - "bullet.click_button": "Πατήστε το παρακάτω κουμπί", - "bullet.paste_code": "Επικολλήστε τον κωδικό & τον σύνδεσμο λήψης σε ένα μήνυμα", - "bullet.send_to_friends": "Αποστολή σε φίλους σας", - "cancel": "Ακύρωση", - "confirm": "Επιβεβαίωση", - "google_search": "Αναζήτηση Google", - "link_device": "Έχετε ήδη λογαριασμό Pro; Σύνδεση συσκευης", - "err.unknown_error": "Άγνωστο σφάλμα", - "err.internal_error": "Εσωτερικό σφάλμα", - "err.bad_input": "Κακή καταχώρηση", - "err.not_authorized": "Not authorized", - "err.user_exists": "Ο χρήστης υπάρχει", - "err.no_such_user": "Δεν υπάρχει αυτός ο χρήστης", - "err.user_already_verified": "Ο χρήστης είναι ήδη επιβεβαιωμένος", - "err.invalid_user_verification": "Μη έγκυρη επαλήθευση χρήστη", - "err.user_unverified": "Ο χρήστης δεν είναι επιβεβαιωμένος", - "err.operation_temporarily_unavailable": "Η λειτουργία δεν είναι προσωρινά διαθέσιμη", - "err.wrong_or_inexistent_plan": "Λανθασμένος ή ανύπαρκτος τύπος συνδρομής", - "err.user_has_active_subscription": "Ο χρήστης έχει ενεργή συνδρομή", - "err.payment_error": "Σφάλμα πληρωμής", - "err.no_codes_left": "Δεν έχουν απομείνει κωδικοί προώθησης", - "err.wrong_code": "Λανθασμένος κωδικός προώθησης", - "err.redeeming_own_code_not_allowed": "Δεν επιτρέπεται η εξαργύρωση από εσάς των δικών σας κωδίκων", - "err.wrong_charge_id": "Wrong charge ID", - "footer.reseller": "Κερδίστε χρήματα! Γίνετε μεταπωλητής Lantern Pro. Πατήστε εδώ", - "footer.reseller.email_subject": "Πείτε μου για το πρόγραμμα μεταπωλητών Lantern!", - "footer.reseller.email_body": "Όταν γίνεστε μεταπωλητής του Lantern θα έχετε την ευκαιρία να κερδίσετε μέχρι και 25% από κάθε πώληση συνδρομής Lantern Pro. Πείτε μας λίγα λογια για το λόγο που θέλετε να γίνετε μεταπωλητής παρακάτω.", - "feature.faster_speed": "Πιο γρήγορη ταχύτητα", - "feature.faster": "Faster data centers", - "feature.unlimited": "Απεριόριστα δεδομένα", - "feature.nologs": "No Logs", - "feature.devices": "Connect up to 3 devices", - "feature.noads": "Χωρίς διαφημίσεις", - "feature.antiblock": "Ανθεκτικό στον αποκλεισμό", - "feature.data_center": "Better Data Centers", - "feature.free_yinbi": "Free Yinbi Cryptocurrency!", - "free.title": "Lantern Pro", - "free.desc": "Γρηγορότερο. Ισχυρότερο. Απεριόριστο. Ασφαλές", - "free.link_account": "Έχετε ήδη λογαριασμό Pro; Σύνδεση λογαριασμού", - "home.get_lantern_pro": "Λήψη Lantern Pro", - "input.email": "Email", - "input.your_email": "Η Διεύθυνση email", - "input.confirm_email": "Επιβεβαίωση διεύθυνσης email", - "input.enter_email": "Εισάγετε το email σας", - "input.use_valid_email": "Γράψτε μια έγκυρη διεύθυνση email", - "input.email_not_match": "Τα πεδία email δεν ταιριάζουν", - "issue.your_email": "Το email σας", - "issue.attach_image_failure": "Cannot attach image", - "issue.try_again": "Προσπαθήστε ξανά", - "issue.select_issue": "Επιλέξτε ένα θέμα", - "issue.selected_issue": "Select Issue", - "issue.select_issue_hint": "Επιλέξτε ένα θέμα από το μενού", - "issue.note": "Describe your Issue", - "issue.description": "Issue Description", - "issue.error": "Σφάλμα αναφοράς προβλήματος ", - "issue.submit": "Send Report", - "issue.report_screenshot": "Drag image or click to upload screenshot", - "issue.reported": "Thank you for reporting your issue, we will get back to you via Email as soon as we are able", - "issue.report_sent": "Report Sent", - "issue.type.no_access": "Δεν είναι δυνατή η πρόσβαση στις αποκλεισμένες ιστοσελίδες", - "issue.type.payment_fail": "Δεν είναι δυνατή η ολοκλήρωση της πληρωμής", - "issue.type.cannot_login": "Δεν μπορώ να συνδεθώ", - "issue.type.always_spinning": "Η ένδειξη φόρτωσης συνεχίζει ατελείωτα", - "issue.type.slow": "Αργά", - "issue.type.cannot_link_device": "Δεν μπορώ να συνδέσω τις συσκευές", - "issue.type.crashes": "Το Lantern κρασάρει", - "issue.type.other": "Άλλο", - "languages.title": "Γλώσσες", - "mobile.link": "Χρησιμοποιήστε το σύνδεσμο για να κατεβάσετε Lantern στην Android συσκευή σας:", - "mobile.title": "Λήψη έκδοσης για Android", - "nav.about": "Σχετικά", - "nav.account": "Διαχείριση Λογαριασμού", - "nav.authorize": "Προσθήκη συσκευής", - "nav.authorized": "Εξουσιοδοτημένη συσκευή", - "nav.unauthorized_link": "Εξουσιοδότηση συσκευής για Pro", - "nav.language": "Γλώσσα", - "nav.lantern": "Lantern", - "nav.mobile": "Λήψη έκδοσης για κινητό", - "nav.report_issue": "Αναφορά Προβλήματος", - "nav.settings": "Ρυθμίσεις", - "nav.verify": "Επιβεβαίωση λογαριασμού", - "nav.yinbi": "Yinbi Redemption", - "nav.home": "Home", - "nav.discover": "Discover", - "nav.wallet": "Wallet", - "nav.yinbi_wallet": "Yinbi Wallet", - "notification.retry": "Επαναπροσπάθεια", - "notifications.whatisnew": "What's New?", - "payment.close": "Κλείσιμο", - "payment.wait_for_pro": "Ευχαριστούμε για την αγορά του Lantern Pro! Περιμένετε λίγο για να γίνει αυτόματα το Lantern σας Pro.", - "payment_methods.select_name": "Επιλέξτε μέθοδο πληρωμής", - "payment_methods.alipay": "Πιστωτική Κάρτα/Alipay", - "payment_methods.shetab": "Fast World Pay (Shetab)", - "payment_methods.shetab.details.header": "Αγορά Lantern Pro", - "payment_methods.shetab.details.body": "Όταν πατήσετε στο κουμπί για να προχωρήσετε σε αγορά, θα μεταφερθείτε σε μια εξωτερική ιστοσελίδα για να ολοκληρώσετε την πληρωμή και να πάρετε τον κωδικό ενεργοποίησης.", - "payment_methods.shetab.details.tutorial_header": "Farsi Tutorial", - "payment_methods.shetab.details.purchase_voucher_button": "Συνέχεια σε αγορά", - "payment_methods.shetab.details.input_code_button": "Εισάγετε κωδικό ενεργοποίησης", - "plan.step1": "Step 1", - "plan.apply": "Apply", - "plan.step2": "Step 2", - "plan.step3": "Step 3", - "plan.choose_plan": "Choose Plan", - "plan.enter_email": "Enter Email", - "plan.bestValue": "Καλύτερη προσφορά!", - "plan.per_month": "per month", - "plan.yinbi_2x": "+ 2x Yinbi!", - "plan.oneYear": "1 Έτος ", - "plan.add_referral": "Add Referral Code", - "plan.years": "{{years}} year plan", - "plan.desc": "{{price}} billed one time", - "plan.price.cny": "¥%.02f", - "plan.price.usd": "$%.02f", - "plan.currency.cny": "(RMB)", - "plan.currency.usd": "(USD)", - "plan.time_unit": "/YR", - "plan.select": "Επιλογή", - "plans.title": "Lantern Pro Συνδρομές", - "plans.lantern_pro": "Lantern Pro", - "plans.platforms": "Για Windows, Android, Mac και Ubuntu.", - "plans.from_reseller": "Have a Lantern Pro activation code? Click here", - "plans.with_voucher_code": "Έχετε κωδικό ενεργοποίησης; Πατήστε εδώ.", - "pro.apply": "Οι μονάδες σας θα εφαρμοστούν στον επόμενο κύκλο χρέωσης του λογαριασμού σας.", - "pro.title": "Προσκαλέστε φίλους, κερδίστε περισσότερο Pro δωρεάν", - "pro.subtitle": "Όταν ο φίλος σας αγοράσει τη διετή συνδρομή θα λάβετε ο καθένας 3 μήνες δωρεάν, η ετήσια συνδρομή δίνει στον καθένα σας 1 μήνα δωρεάν", - "pro.share": "Μοιραστείτε τον κωδικό σας με φίλους για να κερδίσετε περισσότερες μονάδες!", - "promotion.title": "Lantern Pro Checkout", - "promotion.title.activation": "Ενεργοποίηση Lantern Pro", - "promotion.enter_and_confirm_email": "Εισαγάγετε, και επιβεβαιώστε τη διεύθυνση email σας.", - "promotion.code.hint": "Εισαγάγετε τον κωδικό προώθησης του φίλου σας (προαιρετικό)", - "promotion.code.label": "Κωδικός προώθησης", - "promotion.payment": "Συνέχεια στην πληρωμή", - "promotion.loading": "Λήψη..", - "promotion.howto_1y": "Αν ένας φίλος μοιράστηκε έναν κωδικό προώθησης μαζί σας, πληκτρολογήστε τον κωδικό για να λάβετε ένα μήνα Lantern Pro δωρεάν μετά το checkout.", - "promotion.howto_2y": "Αν ένας φίλος μοιράστηκε έναν κωδικό προώθησης μαζί σας, πληκτρολογήστε τον κωδικό για να λάβετε τρεις μήνες Lantern Pro δωρεάν μετά το checkout.", - "promotion.pay": "Πληρωμή {{amount}}", - "promotion.select": "Επιλογή", - "promotion.promotion_applied_1y": "+1 bonus months", - "promotion.promotion_applied_2y": "+3 bonus months", - "promotion.too_many_referrals": "Αυτός ο κωδικός προώθησης έχει ήδη προστεθεί. Κάντε Checkout τώρα για να λάβετε τους επιπλέον μήνες σας.", - "promotion.activation.enter_and_confirm_email": "Εισαγάγετε και επιβεβαιώστε τη διεύθυνση email σας για να εγγραφείτε στο Lantern Pro.", - "promotion.activation.label": "XXXXX-XXXXX-XXXXX-XXXXX-XXXXX", - "promotion.activation.hint": "Εισάγετε κωδικό ενεργοποίησης", - "promotion.activation.howto": "Εισαγάγετε τον 25ψηφιο κωδικό ενεργοποίησης του Lantern Pro παραπάνω. Αν δεν έχετε κωδικό, παρακαλούμε να αγοράσετε το Pro στην προηγούμενη οθόνη ή να αναζητήσετε έναν μεταπωλητή του Lantern Pro στο Internet.", - "promotion.activation.continue": "Συνέχεια στο PRO", - "promotion.voucher.hint": "Κωδικός ενεργοποίησης", - "promotion.voucher.howto": "Εισαγάγετε τον 12ψηφιο κωδικό ενεργοποίησης Fast World Pay παραπάνω", - "promotion.voucher.label": "XXXXXXXXXXXX", - "promotion.voucher.error.default": "Σφάλμα εξαργύρωσης του κωδικού ενεργοποίησης. Επικοινωνήστε με το contact@fastworldpay.com για βοήθεια.", - "promotion.voucher.error.invalid_code": "Μη έγκυρος κωδικός ενεργοποίησης", - "promotion.voucher.error.invalid_plan": "Κωδικός ενεργοποίησης που σχετίζεται με μη έγκυρο τύπο συνδρομής", - "promotion.voucher.error.already_redeemed": "Ο κωδικός ενεργοποίησης έχει ήδη εξαργυρωθεί", - "referral.code": "Μοιραστείτε τον κωδικό προώθησης", - "referral.text": "Χρησιμοποιήστε τον κωδικό μου %s και λάβετε 3 μήνες δωρεάν όταν εγγραφείτε!", - "renew.title_30_days": "Κάντε ανανέωση τώρα για να πάρετε 3 μήνες δωρεάν!", - "renew.title_2_days": "Το Lantern Pro λήγει αύριο. Ανανεώστε το τώρα για να πάρετε 3 μήνες δωρεάν!", - "renew.title_last_day": "Το Lantern Pro λήγει σήμερα.\nΜην χάσετε την έκπτωση του Pro!", - "renew.title_expired": "Το Lantern Pro έχει λήξει", - "renew.details_30_days": "Η συνδρομή σας στο Lantern Pro λήγει σύντομα, ανανεώστε τώρα και απολαύστε μέχρι και τρεις μήνες δωρεάν! Αυτή η προσφορά περιορισμένης διάρκειας ισχύει μόνο για έγκαιρες ανανεώσεις.", - "renew.details_2_days": "Η συνδρομή σας στο Lantern Pro λήγει σύντομα, ανανεώστε τώρα και απολαύστε μέχρι και τρεις μήνες δωρεάν! Αυτή η προσφορά περιορισμένης διάρκειας ισχύει μόνο για έγκαιρες ανανεώσεις.", - "renew.details_last_day": "Κάντε ανανέωση τώρα και απολαύστε έως και τρεις μήνες δωρεάν!\nΑυτή είναι η τελευταία μέρα που μπορείτε να επωφεληθείτε από αυτήν την προσφορά.\nΟι χρήστες του Lantern Pro έχουν γρηγορότερες ταχύτητες, απεριόριστα δεδομένα, καλύτερη αντίσταση στον αποκλεισμό, τρεις συσκευές και δεν έχουν διαφημίσεις.", - "renew.details_expired": "Κάντε ανανέωση τώρα για να πάρετε επιπλέον 45 ημέρες δωρεάν. Μόνο για περιορισμένο χρόνο.\nΟι χρήστες του Lantern Pro παίρνουν γρηγορότερες ταχύτητες, απεριόριστα δεδομένα, καλύτερη αντίσταση στον αποκλεισμό, τρεις συσκευές και δεν έχουν διαφημίσεις.", - "renew.plan_label": "Lantern Pro - %s", - "renew.plan_renewal_bonus_1_month": "$%d%s + 1 ΔΩΡΕΑΝ ΜΗΝΑ", - "renew.plan_renewal_bonus_months": "$%d%s + %dΔΩΡΕΑΝ ΜΗΝΕΣ", - "renew.plan_renewal_bonus_days": "$%d%s + %d ΔΩΡΕΑΝ ΗΜΕΡΕΣ", - "renew.next": "επόμενο", - "renew.decline": "Απόρριψη προσφοράς", - "renew.decline_question": "Σίγουρα θέλετε να απορρίψετε αυτή την προσφορά;", - "renew.decline_yes": "Ανανέωση αργότερα", - "renew.decline_dismiss": "Ανανέωση τώρα", - "renew.notification_title_30_days": "Ανανέωση του Pro τώρα για τεράστια εξοικονόμηση χρημάτων!", - "renew.notification_text_30_days": "Ο Pro λογαριασμός σας λήγει σε {{days}} ημέρα/ες. Ανανεώστε τον τώρα και πάρτε έως και 3 μήνες δωρεάν.", - "renew.notification_title_2_days": "Η έκπτωση του Lantern Pro τελειώνει αύριο!", - "renew.notification_text_2_days": "Ο Pro λογαριασμός σας λήγει αύριο. Μην χάσετε την ευκαιρία για μια τεράστια έκπτωση.", - "renew.notification_title_last_day": "Τελευταία ευκαιρία για έκπτωση!", - "renew.notification_text_last_day": "Ο Lantern Pro λογαριασμός σας έληξε. Ανανεώστε τον σήμερα και πάρτε έως και 3 μήνες δωρεάν.", - "replica.upload": "Upload", - "replica.relevance": "Relevance", - "replica.upload_date": "Upload Date", - "replica.gallery_view": "Gallery View", - "replica.list_view": "List View", - "replica.copy_lantern_link": "Copy Lantern Link", - "replica.delete_file": "Delete File", - "replica.docs": "Έγγραφα", - "replica.other": "Άλλο", - "replica.apps": "Apps", - "replica.images": "Images", - "replica.videos": "Videos", - "replica.next": "Επόμενο", - "replica.previous": "Previous", - "replica.select_all": "Select All", - "replica.search_replica": "Search Public Files", - "replica.no_files_found": "No Files Found", - "replica.or_content": "your own content for other people to find!", - "replica.try_again": "Try a different keyword, or", - "replica.upload_success": "Upload Success!", - "replica.cannot_preview": "No preview for this filetype", - "replica.size": "Size", - "replica.uploaded": "Uploaded", - "replica.invalid_link": "Invalid Link", - "replica.close": "Κλείσιμο", - "replica.my_files": "My Files", - "replica.filename": "File Name", - "replica.filename_required": "File Name (required)", - "replica.filetype": "Filetype", - "replica.sortby": "Sort By", - "replica.link": "Replica link", - "replica.collapse": "Collapse", - "replica.publish": "Publish", - "replica.cancel": "Ακύρωση", - "replica.delete": "Delete", - "replica.failed_to_delete": "Failed to delete", - "replica.link_lookup_failure": "Failed to find link", - "replica.delete_file_confirmation_1": "Are you sure you want to delete", - "replica.delete_file_confirmation_2": "from your uploads", - "replica.share_file": "Share File", - "replica.download_and_view": "Download/View", - "replica.download": "Κατέβασμα", - "replica.copy_link": "Copy Replica Link", - "replica.find_file": "Find file", - "replica.file_drop_prompt": "Drag file here or browse to post", - "settings.general": "Γενικά", - "settings.feedback": "Feedback", - "settings.autoLaunch": "Αυτόματη εκκίνηση του Lantern κατά την εκκίνηση του συστήματος", - "settings.autoReport": "Αναφέρετε με ασφάλεια τα στατιστικά στοιχεία χρήσης για να συμβάλλετε στο Lantern", - "settings.proxyAll": "Διαμεσολάβηση όλης της κίνησης", - "settings.proxyAllHelpTitle": "ΤΙ ΚΑΝΕΙ Η \"ΔΙΑΜΕΣΟΛΑΒΗΣΗ ΟΛΗΣ ΤΗΣ ΚΙΝΗΣΗΣ\";", - "settings.proxyAllHelp1": "Αν είναι ενεργοποιημένο, όλη η κίνηση θα στέλνεται μέσω του Lantern (η πιο ασφαλής επιλογή).", - "settings.proxyAllHelp2": "Αν είναι απενεργοποιημένο, μόνο η κίνηση προς αποκλεισμένες ιστοσελίδες θα στέλνεται μέσω του Lantern (ταχύτερη επιλογή, πιο συνηθισμένη).", - "settings.show_advanced": "Show Advanced Settings", - "settings.hide_advanced": "Hide Advanced Settings", - "settings.systemProxy": "Διαχείριση διαμεσολαβητή συστήματος", - "settings.title": "Ρυθμίσεις", - "settings.http_proxy": "HTTP(S) proxy:", - "settings.socks_proxy": "SOCKS proxy:", - "settings.caution": "Προσοχή:", - "settings.caution_text": "Όταν καταργήσετε την επιλογή \"Διαχείριση του μεσολαβητή συστήματος\", ο περιηγητής και οι εφαρμογές σας δεν θα μπορούν να χρησιμοποιήσουν αυτόματα το Lantern. Εάν γνωρίζετε πώς να διαμορφώσετε με μη αυτόματο τρόπο αυτές τις ρυθμίσεις, ανατρέξτε στις παραπάνω πληροφορίες", - "settings.select_language": "Select Langauge", - "status.lantern": "Lantern is", - "status.click_reconnect": "Click here to reconnect", - "status.server_location": "Τοποθεσία διακομιστή", - "status.tooltip1": "Το Lantern χρησιμοποιεί έξυπνη επιλογή διακομιστή για να σας συνδέει στα καλύτερα κέντρα δεδομένων μας.", - "status.tooltip2": "Upgrade to Lantern Pro for faster speed with optimized server selection from our exclusive Lantern Pro data centers", - "status.protected_connection": "Your Connection is Protected", - "status.please_wait": "This may take a minute or two...", - "status.connecting": "Γίνεται σύνδεση...", - "status.no_internet": "Off", - "status.no_internet_connection": "Δεν υπάρχει σύνδεση στο Internet", - "status.connected": "On", - "status.disconnected": "Off", - "status.throttled": "Μειωμένη ταχύτητα (Data Cap)", - "status.no_system_proxy": "{{status}}, δεν γίνεται διαχείριση του διαμεσολαβητή συστήματος", - "status.fail_to_set_system_proxy": "Δεν ήταν δυνατή η ρύθμιση του Lantern ως διαμεσολαβητή συστήματος", - "status.fail_to_open_browser": "Δεν ήταν δυνατό το άνοιγμα του παραθύρου του περιηγητή για να εμφανιστεί το user interface του Lantern", - "terms_of_service.acknowledgment": "By clicking {{buttonText}}, you agree to our Terms of Service", - "verify.header": "Θέλετε να συνδέσετε μια άλλη συσκευή με αυτόν τον λογαριασμό Pro; Εισάγετε τον κωδικό σύνδεσης συσκευής παρακάτω", - "verify.code": "Κωδικός σύνδεσης συσκευής", - "verify.howto_1": "Αν έχετε λογαριασμό Lantern Pro σε άλλη συσκευή, εισάγετε τη διεύθυνση email σας εδώ για να λάβετε έναν κωδικό για να εξουσιοδοτήσετε τη συσκευή", - "verify.howto_1a": "Είστε μη εξουσιοδοτημένος χρήστης του Pro. Εισάγετε τη διεύθυνση email σας για να εξουσιοδοτήσετε τον Pro λογαριασμό σας. Αυτό θα σας επιτρέψει να συνδέσετε πολλαπλές συσκευές.", - "verify.howto_3": "1. Ανοίξτε την επιλογή \"Προσθήκη συσκευής\" στο μενού της μη εξουσιοδοτημένης συσκευής.", - "verify.howto_4": "2. Εισάγετε τον κωδικό σύνδεσης συσκευής του βήματος 1, και πατήστε υποβολή.", - "verify.reminder": "* Βεβαιωθείτε ότι έχετε την τελευταία έκδοση του Lantern στη μη εξουσιοδοτημένη συσκευή σας.", - "verify.submit": "Υποβολή", - "verify.title": "Επιβεβαίωση λογαριασμού", - "welcomeToPro.continue": "Συνέχεια στο PRO", - "welcomeToPro.invite": "Προσκαλέστε τους φίλους σας και θα πάρετε ο καθένας 3 μήνες δωρεάν όταν αγοράσουν τη διετη συνδρομή, η ετησία συνδρομή δίνει στον καθένα σας 1 μήνα δωρεάν. Ξεκινήστε να προσκαλείτε!", - "welcomeToPro.thanks": "Σας ευχαριστούμε που αγοράσατε το Lantern Pro!", - "welcomeToPro.title": "Καλώς ήλθατε στο Lantern Pro", - "messages.copied_to_clipboard": "Ο κωδικός αντιγράφηκε. Μοιραστείτε τον με τους φίλους σας!", - "messages.datacap": "Έχετε χρησιμοποιήσει τα δωρεάν δεδομένα υψηλής ταχύτητας. Κάντε αναβάθμιση σε Pro για απεριόριστα δεδομένα υψηλής ταχύτητας.", - "messages.fatal_error": "Λυπούμαστε, άλλα δεν μπορούμε να επικοινωνήσουμε με τους διακομιστές του Lantern. Ελέγξτε τη σύνδεση σας στο Internet και δοκιμάστε ξανά.", - "messages.backend_gone": "Λυπούμαστε, το Lantern φαίνεται έχει σταματήσει να λειτουργεί. Κάντε επανεκκίνηση του Lantern και δοκιμάστε ξανά.", - "messages.get_help": "Ζητήστε Βοήθεια", - "freeProCredits.title": "Προσκαλέστε φίλους", - "freeProCredits.shareWithFriends": "Μοιραστείτε τον κωδικό σας με τους φίλους σας για να κερδίσετε δωρεάν μήνες!", - "freeProCredits.shareWithFriendsDesc": "Όταν ο φίλος σας αγοράσει τη διετή συνδρομή θα λάβετε ο καθένας 3 μήνες δωρεάν, η ετήσια συνδρομή δίνει στον καθένα σας 1 μήνα δωρεάν", - "cards.serverLocation.unknown": "Άγνωστο ", - "cards.serverLocation.description": "Βελτιστοποιημένη τοποθεσία διακομιστή", - "cards.serverLocation.description-free": "Τοποθεσία διακομιστή", - "cards.serverLocation.description-upgrade": "Αναβαθμίστε για γρηγορότερους διακομιστές", - "cards.serverLocation.title": "Τρέχουσα τοποθεσία:", - "cards.serverLocation.location": "%s,%s", - "cards.serverLocation.text": "Το Lantern χρησιμοποιεί έξυπνη επιλογή διακομιστή για να σας βρει αυτόματα την ταχύτερη δυνατή σύνδεση από τα κέντρα δεδομένων μας στο Τόκιο, τη Σιγκαπούρη, το Χονγκ Κονγκ, το Σαν Φρανσίσκο, τη Νέα Υόρκη, το Άμστερνταμ, το Μπανγκαλόρ και πολλά άλλα.", - "cards.serverLocation.text-free": "Το Lantern χρησιμοποιεί έξυπνη επιλογή διακομιστή για να σας συνδέει στα καλύτερα κέντρα δεδομένων μας.", - "cards.serverLocation.upgrade-link": "Κάντε αναβάθμιση σε Lantern Pro για μεγαλύτερη ταχύτητα με βελτιστοποιημένη επιλογή διακομιστή από τα αποκλειστικά κέντρα δεδομένων του Lantern Pro.", - "cards.httpsUpgrades.description": "HTTPS Αναβαθμίσεις", - "cards.httpsUpgrades.title": "HTTPS Αναβαθμίσεις: %d", - "cards.httpsUpgrades.text": "Το Lantern αναβαθμίζει αυτόματα τις μη ασφαλείς συνδέσεις HTTP σε κρυπτογραφημένες συνδέσεις HTTPS, όταν είναι δυνατόν, για να διατηρήσετε τις πληροφορίες σας ιδιωτικές κατά την περιήγηση σας στο διαδίκτυο.", - "cards.adsBlocked.description": "Αποκλεισμένες Διαφημίσεις", - "cards.adsBlocked.title": "Αποκλεισμένες Διαφημίσεις: %d", - "cards.adsBlocked.text": "Το Lantern μπλοκάρει τις ενοχλητικές διαφημίσεις για να επιταχύνει τον χρόνο φόρτωσης των ιστοσελίδων, να εξοικονομήσει bandwidth και να σας δώσει μια πιο ομαλή εμπειρία περιήγησης.", - "cards.dataUsage.description": "Χρήση δεδομένων", - "cards.dataUsage.upgrade": "Αναβάθμιση τώρα", - "cards.dataUsage.mb-used": "Έχετε χρησιμοποιήσει %d/%dMB από τα μηνιαία σας δεδομένων υψηλής ταχύτητας.", - "cards.dataUsage.upgrade-link": "Κάντε αναβάθμιση τώρα για απεριόριστα δεδομένα υψηλής ταχύτητας!", - "cards.subscription.description": "Pro συνδρομή", - "cards.subscription.renew": "Ανανέωση", - "cards.subscription.months": "Απομένουν %d μήνας/ες του Lantern Pro στη συνδρομή σας", - "cards.subscription.days": "Απομένουν %d ήμερα/ες του Lantern Pro στη συνδρομή σας", - "cards.subscription.unit.months": "MO", - "cards.subscription.unit.days": "ΗΜΕΡΕΣ", - "cards.subscription.renew-link": "Ανανεώστε το λογαριασμό σας για να προσθέσετε περισσότερο χρόνο" -} \ No newline at end of file diff --git a/locale/translation/en-US.json b/locale/translation/en-US.json deleted file mode 100644 index f866742a0..000000000 --- a/locale/translation/en-US.json +++ /dev/null @@ -1,797 +0,0 @@ -{ - "LANTERN": "Lantern", - "pro": "Pro", - "BEAM": "Beam", - "TRAY_STATUS": "Status: %v", - "TRAY_CONNECT": "Connect", - "TRAY_DISCONNECT": "Disconnect", - "TRAY_SHOW": "Show %s", - "TRAY_UPGRADE_TO_PRO": "Upgrade to Pro", - "TRAY_QUIT": "Quit %s", - "BACKEND_DATA_TITLE": "No more high speed %s data", - "BACKEND_DATA_MESSAGE": "Please upgrade to Pro to keep using %s at full speed!", - "BACKEND_DATA_PERCENT_TITLE": "Reached %s of your %s data", - "BACKEND_DATA_PERCENT_MESSAGE": "You have used %s of your %s high speed data. Upgrade now!", - "BACKEND_CLICK_LABEL": "Open", - "BACKEND_CLICK_LABEL_OPEN": "Open", - "BACKEND_CLICK_LABEL_HELP": "Help", - "BACKEND_CLICK_LABEL_GOT_IT": "Got it", - "BACKEND_AUTOUPDATED_TITLE": "Update %s to version %s", - "BACKEND_AUTOUPDATED_MESSAGE": "%s %s has been downloaded. Please restart %s to use it.", - "BACKEND_MITM_INSTALL_CERT": "%s wants to install a custom certificate to improve performance", - "BACKEND_MITM_INSTALL_CERT_WINDOWS_BODY": "Please allow %v to make changes to your system", - "BACKEND_ALERT_TITLE": "Critical alert needs your attention", - "BACKEND_INSTALL_DIAGNOSTIC_TOOLS": "%s needs your permission to install diagnostic tools. This will help us improve your %s experience.", - "BACKEND_CONFIG_SAVE_ERROR_TITLE": "Unable to save configuration", - "BACKEND_CONFIG_SAVE_ERROR_MESSAGE": "Unable to save application configuration. %s cannot guarantee that traffic will be correctly proxied.", - "about.content": "Lantern is an application that delivers fast, reliable and secure access to the open Internet.", - "app.error": "Something went wrong!", - "about.faq": "Read the Lantern FAQs", - "about.open": "Open Internet for Everyone", - "about.questions": "Questions?", - "about.title": "About", - "account.add.password": "Add Account Password", - "account.agree.terms": "I understand that losing my password means losing\naccount access. Lantern cannot help you recover\nyour password.", - "account.agree.terms.error": "Must first agree to terms", - "account.cancel": "Cancel Pro Account", - "account.created": "Account Created!", - "account.create.pro.account.header": "Create Pro Account", - "account.create.pro.account.text": "Lantern is changing the way user accounts are handled. From now on Pro users will need to create a username and password. These credentials will be used to sign in to other devices, and provide access to new features.", - "account.have.a.account": "Have an Account?", - "account.link.username.pro": "Link username to Pro Account", - "account.recovery": "Account Recovery", - "account.recovery.link.device": "Link Device", - "account.recovery.device.code": "Device Linking Code", - "account.recovery.device.enter.code": "Enter or Paste Device Linking Pin", - "account.recovery.device.instructions.header": "To link this device to your Pro account:", - "account.recovery.device.instructions.step.one": "1. Choose the ‘Link a Device’ option from the Account Management screen item on your Desktop Pro device, or From the menu on you Mobile Pro Device.", - "account.recovery.device.instructions.step.two": "2. Enter the device linking code, and submit.", - "account.recovery.device.instructions.part.three": "*Ensure both devices are running the most recent version of Lantern", - "account.recovery.method": "Please Choose a method to recover your account", - "account.recovery.send.email": "Send Email", - "account.recovery.submit": "Submit", - "account.recovery.success": "Linking Success!", - "account.pro_management": "Pro Account Management", - "account.free_management": "Account Management", - "account.free.cap": "{{mb}} MB of free data remaining. Resets at {{reset}}", - "account.free.cap.upgrade": "Upgrade to Pro for unlimited high speed data", - "account.freelink.validFor": "valid for %s", - "account.freelink.desc": "To Authorize this device to use your Pro account:", - "account.freelink.step1": "1. Choose the 'Link a Device' option from the Menu on your Pro Device", - "account.freelink.step2": "2. Enter the device linking code, and submit.", - "account.freelink.reminder": "* Ensure both devices are running the most recent version of Lantern", - "account.freelink.errorTitle": "Error Linking", - "account.freelink.errorText": "Are you sure you entered the code on your Pro device?", - "account.freelink.headerDesc": "Link this device to your Pro account", - "account.freelink.title": "Device Linking Code", - "account.pro.charge": "Your account will automatically be charged for another year of Lantern Pro at the end of your billing cycle.", - "account.upgrade_pro": "Upgrade to Pro", - "account.upgrade": "Upgrade", - "account.upgrade_platinum": "Upgrade to Platinum", - "account.create": "Create Account", - "account.email": "Email", - "account.confirm.password": "Confirm Password", - "account.password": "Password", - "account.pro.email": "Email:", - "account.pro.expiration": "Pro Account Expiration", - "account.platinum.expiration": "Platinum Account Expiration", - "account.pro.expired": "Your Pro account has expired. Renew now for Unlimited monthly data.", - "account.pro.expiry": "Your Pro account expires in %s days on %s.", - "account.pro.bonusMonths": "This includes your {{bonusMonths}} bonus months!", - "account.pro.thisdevice": "(This Device)", - "account.pro.logout": "LOG OUT", - "account.pro.removedevice": "REMOVE", - "account.pro.devices": "Lantern Pro Devices (up to 3)", - "account.pro.device.confirm.title": "Deauthorize Device", - "account.pro.device.confirm": "Are you sure you want to remove '{{device}}' from your Lantern Pro account?", - "account.pro.device.one.title": "Only One Device", - "account.pro.device.one": "Sorry, but you cannot remove your last authorized device.", - "account.pro.linkingcode": "Device Linking Code:", - "account.pro.renew": "Renew Pro Account", - "account.platinum.renew": "Renew Platinum Account", - "account.pro.renew_CN": "Renew", - "account.prolink.errorTitle": "Error Linking", - "account.prolink.errorText": "Are you sure you copied the code correctly from your other device?", - "account.prolink.successTitle": "Device Linked", - "account.prolink.successText": "You have successfully linked your device! Please wait a moment for your other device to automatically become pro.", - "account.signin": "Sign In", - "account.signout": "Sign Out", - "account.submit": "Submit", - "account.username": "Username", - "account.switch.to.register": "Switch to Create Account", - "account.switch.to.signin": "Switch to Sign In", - "account.invalid.username": "Username is invalid", - "account.invalid.email": "Email is invalid", - "account.password.mismatch": "Confirm Password doesn't match password", - "account.password.short": "Password is too short", - "account.password.lowercase": "Password must contain at least one lowercase letter", - "account.password.uppercase": "Password must contain at least one uppercase letter", - "account.password.number": "Password must contain at least one number", - "account.password.compromised": "Password appears on a list of compromised passwords", - "modal.register.free.header": "Register or Sign in to access Yinbi Wallet", - "modal.register.pro.header": "Add account password to access Yinbi Wallet", - "modal.register.pro.signin.header": "Sign in to access Yinbi Wallet", - "modal.register.free.text": "To use the Yinbi Wallet you must have a Lantern Account, please Register or\nSign in to Continue.", - "modal.register.pro.text": "To use the Yinbi wallet you must add a password to your Lantern account.", - "modal.register.pro.signin.text": "To use the Yinbi wallet you must sign in to your Lantern account", - "adyen.paymentMethods.title": "Payment Methods", - "adyen.paymentMethods.storedMethods": "Your payment methods", - "adyen.paymentMethods.otherMethods": "Select other method", - "adyen.paymentMethods.moreMethodsButton": "More payment methods", - "adyen.payButton": "Pay", - "adyen.payButton.formatted": "Pay %@", - "adyen.cancelButton": "Cancel", - "adyen.dismissButton": "OK", - "adyen.storeDetails": "Save for my next payment", - "adyen.payment.redirecting": "You will be redirected", - "adyen.payment.processing": "Your payment is being processed", - "adyen.creditCard.title": "Card Details", - "adyen.creditCard.holderName": "Cardholder name", - "adyen.creditCard.holderName.placeholder": "J. Smith", - "adyen.creditCard.numberField.title": "Card Number", - "adyen.creditCard.numberField.placeholder": "1234 5678 9012 3456", - "adyen.creditCard.numberField.invalid": "Invalid card number", - "adyen.creditCard.expiryDateField.title": "Expiry Date", - "adyen.creditCard.expiryDateField.placeholder": "MM/YY", - "adyen.creditCard.expiryDateField.invalid": "Invalid expiration date", - "adyen.creditCard.expiryDateField.month": "Month", - "adyen.creditCard.expiryDateField.month.placeholder": "MM", - "adyen.creditCard.expiryDateField.year.placeholder": "YY", - "adyen.creditCard.expiryDateField.year": "Year", - "adyen.creditCard.cvcField.title": "CVC / CVV", - "adyen.creditCard.cvcField.placeholder": "123", - "adyen.creditCard.installmentsField": "Number of installments", - "adyen.creditCard.storeDetailsButton": "Remember this card for my next payment", - "adyen.creditCard.oneClickVerification.title": "Verify your card", - "adyen.creditCard.oneClickVerification.message": "Please enter the CVC code for %@", - "adyen.creditCard.oneClickVerification.invalidInput.title": "Invalid CVC", - "adyen.creditCard.oneClickVerification.invalidInput.message": "Please enter a valid CVC to continue.", - "adyen.sepaDirectDebit.ibanField.title": "Account Number (IBAN)", - "adyen.sepaDirectDebit.ibanField.placeholder": "NL53 ABNA 1925 1294 122", - "adyen.sepaDirectDebit.ibanField.invalid": "Invalid account number", - "adyen.sepaDirectDebit.nameField.title": "Holder Name", - "adyen.sepaDirectDebit.nameField.placeholder": "J. Smith", - "adyen.sepaDirectDebit.consentButton": "I agree that the amount below will be debited from my bank account.", - "adyen.sepa.ownerName": "Holder Name", - "adyen.sepa.ibanNumber": "Account Number (IBAN)", - "adyen.giropay.searchField.placeholder": "Bankname / BIC / Bankleitzahl", - "adyen.giropay.minimumLength": "Min. 3 characters", - "adyen.giropay.noResults": "No search results", - "adyen.error.title": "Error", - "adyen.error.subtitle.redirect": "Redirect failed", - "adyen.error.subtitle.payment": "Payment failed", - "adyen.error.subtitle.refused": "Payment refused", - "adyen.error.message.unknown": "An unknown error occurred", - "adyen.error.message.cannotConnectToInternet": "Failed to connect to the internet : please check your internet connection.", - "adyen.error.message.cannotConnectToHost": "Failed to connect to our payment server.", - "adyen.error.retryButton": "Try again", - "adyen.idealIssuer.selectField.title": "Bank", - "adyen.idealIssuer.selectField.placeholder": "Select your bank", - "adyen.creditCard.success": "Payment Successful", - "adyen.oneClick.confirmationAlert.title": "Confirm %@ payment", - "adyen.redirect.cannotOpenApp.title": "Cannot Open App", - "adyen.redirect.cannotOpenApp.appNotInstalledMessage": "This app could not be opened because it is not installed on this device.", - "adyen.holderName": "Cardholder name", - "adyen.countryCode": "Country Code", - "adyen.telephone.number": "Telephone number", - "android.download": "Lantern Android", - "android.download.title": "Download Lantern Android", - "authorize.title": "Authorize Device for Pro", - "authorize.step1.have_pro_device": "I have another Lantern Pro device", - "authorize.step1.link": "Device Linking", - "authorize.step1.email_linking": "Email Linking", - "authorize.device_linking_explanation": "Use this method if you are signed into another device and have it with you", - "authorize.device_email_explanation": "Use this method if you want a Device linking pin sent to your email", - "authorize.link_device": "Link Device", - "authorize.step1.choose": "Please choose a method to Link your account", - "authorize.step1.or": "or", - "authorize.step1.recover": "I need to recover my Lantern Pro account", - "authorize.step1.start": "start recovery", - "authorize.step1.no_mail": "Don't remember your Email address?", - "authorize.step1.description": "Enter your email and if the account exists we will send an email with a device linking code", - "authorize.step2b.enter_code": "Enter your Account Recovery Code", - "authorize.step2b.code": "Account Recovery Code", - "authorize.step2b.instruction": "An email with a recovery code has been sent to {{email}} if this account exists. This email may take several hours to arrive. Please check your spam folder if you do not find it.", - "authorize.step2b.no_mail": "Didn't receive email", - "authorize.step3.recovery": "Account Recovery", - "authorize.step3.no_email": "Oops! We're having trouble finding that email address. Please provide more information below to help us locate your account.", - "authorize.step3.no_code_received": "Having trouble receiving the recovery email? Enter the information below and we will contact you within 48 hours.", - "authorize.step3.your_email": "Your Email", - "authorize.step3.payment_method": "Payment Method", - "authorize.step3.payment_method_hint": "Select the payment method you used to get Pro", - "authorize.step3.credit_card": "Credit Card", - "authorize.step3.alipay": "AliPay", - "authorize.step3.android_pay": "Android Pay", - "authorize.step3.by_referral": "Received Pro by Referring a friend", - "authorize.step3.payment_account": "Payment Account", - "authorize.step3.payment_account_hint": "Enter your Alipay account information", - "authorize.step3.referral_code": "Your Referral Code", - "authorize.step3.purchase_date": "Purchase Date", - "authorize.step3.note": "Please note any other information that may help us locate your account.", - "authorize.step4.title": "Account Recovery In-Progress", - "authorize.step4.text1": "Thank you! We've received your account recovery request.", - "authorize.step4.text2": "Please allow 48 hours to retrieve your Pro account information.", - "authorize.step4.text3": "We will send information to the email address entered on the previous screen.", - "authorized.continue": "Continue to Pro", - "authorized.continue.lantern": "Continue to Lantern", - "authorized.text": "This device is now authorized to use your Lantern Pro account!", - "authorized.title": "Device Authorized", - "button.account": "Account", - "button.renew": "Renew", - "button.upgrade": "Upgrade", - "button.upgrade_now": "Upgrade Now", - "button.upgrade_to_lantern_pro": "Upgrade to Lantern Pro", - "button.copy_your_code": "Copy your code", - "button.try_again": "Try again", - "button.continue": "Continue", - "button.continue_to": "Continue to {{planType}}", - "bullet.click_button": "Click on the button below", - "bullet.paste_code": "Paste the code & download link in a message", - "bullet.send_to_friends": "Send to your friends", - "cancel": "Cancel", - "confirm": "Confirm", - "norecoveryyinbi": "*Does not recover Yinbi Wallet", - "email.recovery.check.email": "Check your email for a message with a Recovery Code", - "email.recovery.code.label": "Enter or Paste Recovery Code", - "email.recovery.no.code": "Didnt get a Code?", - "email.recovery.text": "Enter your email, and we will send you a code to reset your password.\nIf you have a Yinbi Wallet, this will NOT recover your Yinbi wallet, to recover your Yinbi Wallet enter your Yinbi Recovery Phrase.", - "email.recovery.desc": "Use this method if you want a recovery code sent to your email", - "device.recovery.desc": "Use this method if you are signed in to another device and have it with you", - "google_search": "Google Search", - "giveaway.upgrade": "Upgrade to receive today's free distribution", - "giveaway.title_released_today": "{{formattedTokens}} YNB being released today", - "giveaway.what_is_it": "What is the Yinbi Giveaway?", - "giveaway.description1": "The Yinbi foundation is giving away 888 billion YNB cryptocurrency exclusively through Lantern to purchasers of Lantern Pro.", - "giveaway.description2": "YNB will be distributed at the end of every day, based on the quantity of Yinbi released that day, the number of people that upgrade/renew, and the number of years or accounts you purchase. YNB will be deposited directly into your Yinbi Wallet in Lantern.", - "giveaway.learn_more": "Learn More", - "link_device": "Already have a Pro account? Link device", - "email.recovery": "Email Recovery", - "email_taken": "Email already registered", - "username_taken": "Username already registered", - "err.unknown_error": "Unknown error", - "err.internal_error": "Internal error", - "err.bad_input": "Bad input", - "err.not_authorized": "Not authorized", - "err.user_exists": "User exists", - "err.no_such_user": "No such user", - "err.user_already_verified": "User already verified", - "err.invalid_user_verification": "Invalid user verification", - "err.user_unverified": "User Unverified", - "err.operation_temporarily_unavailable": "Operation temporarily unavailable", - "err.wrong_or_inexistent_plan": "Wrong or inexistent plan", - "err.user_has_active_subscription": "User has active subscription", - "err.payment_error": "Payment error", - "err.no_codes_left": "No referral codes left", - "err.wrong_code": "Wrong referral code", - "err.redeeming_own_code_not_allowed": "Redeeming codes of oneself is not allowed", - "err.wrong_charge_id": "Wrong charge ID", - "err.wrong_link_code": "Wrong link code", - "err.invalid_credentials": "The supplied user credentials were invalid", - "footer.reseller": "Make Money! Become a Lantern Pro reseller. Click Here", - "footer.reseller.email_subject": "Tell me about the Lantern Reseller Program!", - "footer.reseller.email_body": "When you become a Lantern Reseller you will have the opportunity to make up to 25% on every sale of a Lantern Pro subscription. Tell us a bit about why you want to become a reseller below.", - "feature.faster_speed": "Faster Speed", - "feature.faster": "Faster Data Centers", - "feature.unlimited": "Unlimited Data", - "feature.nologs": "No Logs", - "feature.devices": "Connect up to 3 devices", - "feature.noads": "No Ads", - "feature.yinbi.tooltip": "The Yinbi foundation is giving away 888 billion YNB cryptocurrency exclusively through Lantern to purchasers of Lantern Pro. YNB will be distributed at the end of every day, based on the quantity of Yinbi released that day, the number of people that upgrade/renew, and the number of years or accounts you purchase. YNB will be deposited directly into your Yinbi Wallet in Lantern!", - "feature.antiblock": "Blocking Resistant", - "feature.data_center": "Better Data Centers", - "feature.free_yinbi": "Free Yinbi Cryptocurrency!", - "free.title": "Lantern Pro", - "free.desc": "Faster. Stronger. Unlimited. Secure.", - "free.link_account": "Already have a Pro account? Link your account.", - "home.get_lantern_pro": "Get Lantern Pro", - "home.get_lantern_platinum": "Upgrade your plan", - "home.welcome_popup_subheader": "Welcome to the new Lantern!", - "home.welcome_popup_content_1": "We have been hard at work, updating Lantern and adding new features.", - "home.welcome_popup_content_2": "In our new UI, you will find a search bar that allows you to search shared files on the Lantern network. You can also contribute content by posting a file yourself. This is a Beta feature, so try it out, and tell us what you think, we will continue to make improvements based on your feedback.", - "home.welcome_popup_button": "Try it out", - "input.email": "Email", - "input.your_email": "Your Email Address", - "input.confirm_email": "Confirm Email Address", - "input.enter_email": "Enter your email", - "input.use_valid_email": "Write a valid email address", - "input.email_not_match": "Email fields do not match", - "input.existing_email": "Existing email", - "issue.your_email": "Your Email", - "issue.attach_image_failure": "Cannot attach image", - "issue.try_again": "Please try again", - "issue.select_issue": "Please Select an Issue", - "issue.selected_issue": "Select Issue", - "issue.select_issue_hint": "Select an issue from the dropdown menu", - "issue.note": "Describe your Issue", - "issue.description": "Issue Description", - "issue.error": "Error reporting issue", - "issue.submit": "Send Report", - "issue.report_screenshot": "Drag image or click to upload screenshot", - "issue.reported": "Thank you for reporting your issue. Due to volume, we cannot respond to most issues, but we assure you we are working hard to improve Lantern based on your reports.", - "issue.report_sent": "Report Sent", - "issue.type.no_access": "Cannot access blocked sites", - "issue.type.payment_fail": "Cannot complete the payment", - "issue.type.cannot_login": "Cannot log in", - "issue.type.always_spinning": "Loading spinner spins endlessly", - "issue.type.slow": "Slow", - "issue.type.cannot_link_device": "Cannot link devices", - "issue.type.crashes": "Lantern crashes", - "issue.type.other": "Other", - "languages.title": "Languages", - "lantern.email": "Lantern Email", - "mobile.link": "Use the link to download Lantern on your Android device:", - "mobile.title": "Get Android Version", - "nav.about": "About", - "nav.account": "Account Management", - "nav.authorize": "Add Device", - "nav.authorized": "Device Authorized", - "nav.unauthorized_link": "Authorize Device for Pro", - "nav.language": "Language", - "nav.lantern": "Lantern", - "nav.mobile": "Get Mobile Version", - "nav.report_issue": "Report an Issue", - "nav.settings": "Settings", - "nav.support": "Support", - "nav.verify": "Account Verification", - "nav.yinbi": "Yinbi Redemption", - "nav.home": "Home", - "nav.discover": "Discover", - "nav.wallet": "Wallet", - "nav.yinbi_wallet": "Yinbi Wallet", - "notification.retry": "Retry", - "notifications": "Notifications", - "notifications.whatisnew": "What's New?", - "password.change": "Change Password", - "password.changed": "Password Changed", - "continue.to.pro": "Continue to Pro", - "username": "Username", - "password.new": "New Password", - "password.requirements": "
Password must contain the following:
  • 8 or more characters
  • 1 lowercase letter
  • 1 uppercase letter
  • At least 1 number
  • Not on a list of compromised passwords
", - "password.reset": "Reset Password", - "paxful.buy": "Buy", - "paxful.payment": "Payment method", - "paxful.bitcoin": "Bitcoin (BTC)", - "paxful.tether": "Tether (USDT)", - "paxful.wallet": "Online Wallets", - "paxful.bank": "Bank Transfers", - "paxful.gamer_card": "Game Cards", - "paxful.gift_card": "Gift Cards", - "paxful.cash": "Cash Payment", - "paxful.digital_currency": "Digital Currencies", - "paxful.button": "Show Best Deals", - "payment.close": "Close", - "payment.redirectErrorTitle": "Error connecting to payment server", - "payment.redirectErrorText": "We are currently working on resolving this issue. Please check back later.", - "payment.wait_for_pro": "Thanks for your purchase of Lantern Pro! Please wait a moment for your Lantern to automatically become Pro.", - "payment.moreOptions": "More Options", - "payment.fewerOptions": "Fewer Options", - "payment_methods.select_name": "Select payment method", - "payment_methods.alipay": "Credit Card/Alipay", - "payment_methods.shetab": "Fast World Pay (Shetab)", - "payment_methods.shetab.details.header": "To purchase Lantern Pro", - "payment_methods.shetab.details.body": "When you click continue to purchase you will be redirected to an external site to complete payment and collect your activation code.", - "payment_methods.shetab.details.tutorial_header": "Farsi tutorial", - "payment_methods.shetab.details.purchase_voucher_button": "Continue To Purchase", - "payment_methods.shetab.details.input_code_button": "Input Activation Code", - "plan.step1": "Step 1", - "plan.apply": "Apply", - "plan.step2": "Step 2", - "plan.most_popular": "Most Popular!", - "plan.step3": "Step 3", - "plan.choose_plan": "Choose Plan", - "plan.enter_email": "Enter Email", - "plan.choose_method": "Choose Payment Method", - "plan.bestValue": "Best Deal!", - "plan.per_month": "per month", - "plan.yinbi_2x": "+ 2x Yinbi!", - "plan.oneYear": "1 year", - "plan.add_referral": "Add Referral Code", - "plan.years": "{{years}} year plan", - "plan.desc": "{{price}} billed one time", - "plan.bonus_months": "+ {{bonusMonths}} months", - "plan.price.cny": "¥%.02f", - "plan.price.usd": "$%.02f", - "plan.currency.cny": "(RMB)", - "plan.currency.usd": "(USD)", - "plan.time_unit": "/YR", - "plan.select": "Select", - "plan.two_year": "Two Year", - "plan.one_year": "One Year", - "plan.savings": "Save {{formattedDiscount}} %", - "plans.title": "Lantern Pro Plans", - "plans.lantern_pro": "Lantern Pro", - "plans.platforms": "For Windows, Android, Mac, Ubuntu.", - "plans.from_reseller": "Have a Lantern Pro activation code? Click here.", - "plans.with_voucher_code": "Have an activation code? Click here.", - "pro.apply": "Your credits will be applied to your account in the next billing cycle.", - "pro.title": "Invite friends, get more Pro for free", - "pro.subtitle": "When your friend purchases the two year plan you each get 3 additional months of Pro, the one year plan gets you each 1 month free.", - "pro.share": "Share your code with friends to start earning more credits!", - "promotion.title": "Lantern Pro Checkout", - "promotion.title.activation": "Lantern Pro Activation", - "promotion.enter_and_confirm_email": "Please enter and confirm your email address", - "promotion.code.hint": "Enter your friend's Referral code (optional)", - "promotion.code.label": "Referral Code", - "promotion.payment": "Continue to Payment", - "promotion.payment.btc": "Pay with ₿", - "promotion.loading": "Loading...", - "promotion.howto_1y": "If a friend shared their referral code with you, enter the code to receive one month of Lantern Pro for free after checkout.", - "promotion.howto_2y": "If a friend shared their referral code with you, enter the code to receive three months of Lantern Pro for free after checkout.", - "promotion.pay": "Pay {{amount}}", - "promotion.select": "Select", - "promotion.promotion_applied_1y": "+1 bonus months", - "promotion.promotion_applied_2y": "+3 bonus months", - "promotion.too_many_referrals": "This referral code has already been added. Check out now to receive your extra months.", - "promotion.activation.enter_and_confirm_email": "Please enter and confirm your email address to register your Lantern Pro account.", - "promotion.activation.label": "XXXXX-XXXXX-XXXXX-XXXXX-XXXXX", - "promotion.activation.hint": "Activation Code", - "promotion.activation.instructions": "Enter your email and the 25 digit activation code received from the reseller to register your account.", - "promotion.activation.howto": "Please enter your 25 character Lantern Pro activation code above. If you do not have a code, please purchase Pro on the previous screen or look for a Lantern Pro reseller online.", - "promotion.activation.continue": "Register for Pro", - "promotion.voucher.hint": "Activation Code", - "promotion.voucher.howto": "Please enter your 12 character Fast World Pay activation code above", - "promotion.voucher.label": "XXXXXXXXXXXX", - "promotion.voucher.error.default": "Error redeeming your activation code.", - "promotion.voucher.error.invalid_code": "Invalid activation code", - "promotion.voucher.error.invalid_plan": "Activation code associated with an invalid plan", - "promotion.voucher.error.already_redeemed": "Activation code has already been redeemed", - "referral.code": "Referral code", - "referral.text": "Use my code %s and get 3 months free when you sign up!", - "referral.description_free": "Share your code with your friends, and get 1 month of Lantern Pro service for free when they purchase Pro!", - "referral.description_pro": "Share your code with your friends and get 1 month of Additional Lantern Pro service for free when they purchase Pro!", - "register": "Register", - "renew.subtitle_early": "Renew for 3 free months!", - "renew.subtitle_last_day": "Renew for 3 free months!", - "renew.subtitle_expired": "Renew for 45 free days!", - "renew.details_early": "Your Lantern Pro membership is ending soon. Renew now and enjoy up to three months free!", - "renew.details_last_day": "Your Lantern Pro membership ends today! Renew now and enjoy up to three months free!", - "renew.details_expired": "Your Lantern Pro membership has expired. Renew now and enjoy up to forty-five days free!", - "renew.asterisk_early": "* This limited time offer is only valid for early renewals.", - "renew.asterisk_last_day": "* This is your last chance to receive this special offer!", - "renew.asterisk_expired": "* This is a limited time offer!", - "renew.plan_label": "Lantern Pro - %s", - "renew.plan_renewal_bonus_1_month": "$%d%s + 1 FREE MONTH", - "renew.plan_renewal_bonus_months": "$%d%s + %d FREE MONTHS", - "renew.plan_renewal_bonus_days": "$%d%s + %d FREE DAYS", - "renew.next": "next", - "renew.decline": "Decline Offer", - "renew.decline_question": "Are you sure you want to decline this offer?", - "renew.decline_yes": "Renew later", - "renew.decline_dismiss": "Renew now", - "renew.notification_title_30_days": "Renew Pro now for huge savings!", - "renew.notification_title_30_days_platinum": "Renew Platinum now for huge savings!", - "renew.notification_text_30_days": "Your {{planName}} account expires in {{remainingDays}} days. Renew now and get up to 3 months free.", - "renew.notification_title_2_days": "{{planName}} discount ends tomorrow!", - "renew.notification_text_2_days": "Your {{planName}} account expires tomorrow. Don’t miss this opportunity for a huge discount.", - "renew.notification_title_last_day": "Last chance for a discount!", - "renew.notification_text_last_day": "Your {{planName}} account has expired. Renew today and get up to 3 months free.", - "replica.upload": "Upload", - "replica.favorite": "Favorite", - "replica.added_to_favorites": "Added to Favorites", - "replica.filedrop_error": "Error uploading this file", - "replica.filedrop_error.file-too-large": "Maximum allowed file size is {{fileSize}}", - "replica.filedrop_error.file-too-small": "File is too small", - "replica.filedrop_error.too-many-files": "Too many files", - "replica.filedrop_error.file-invalid-type": "This file type is not currently supported", - "replica.filedrop_remove_file": "Remove from queue", - "replica.post": "Upload File", - "replica.relevance": "Relevance", - "replica.upload_date": "Upload Date", - "replica.gallery_view": "Gallery View", - "replica.list_view": "List View", - "replica.copy_lantern_link": "Copy Lantern Link", - "replica.documents": "Documents", - "replica.audio": "Audio", - "replica.application": "Apps", - "replica.image": "Images", - "replica.video": "Videos", - "replica.web": "Web", - "replica.news": "News", - "replica.upload_alert.dont_show": "Don't show this again", - "replica.upload_alert.cancel": "Cancel Upload", - "replica.upload_alert.resume": "Resume Upload", - "replica.upload_alert.info": "Important Information!", - "replica.upload_alert.desc1": "Files uploaded to Lantern are distributed and decentralized. Once they are accessed by another user they cannot be deleted from the network by anyone, including Lantern, even if they are deleted from your 'My Files' list.", - "replica.upload_alert.desc2": "Please refrain from using personal identifying information in the file or filename when uploading sensitive content.", - "replica.add_details": "Add details", - "replica.cannot_edit": "Filenames cannot be edited once published.", - "replica.next": "Next", - "replica.previous": "Previous", - "replica.selectAll": "Select All", - "replica.search_replica": "Search", - "replica.search_results_info": "This tab only shows Lantern results.", - "replica.search_results_info_message": "Lantern results are comprised of content uploaded by users to the Lantern network.", - "replica.no_files_found": "No Results", - "replica.or_content": "your own content for other people to find!", - "replica.try_again": "Try a different keyword, or", - "replica.upload_success": "Upload Success!", - "replica.cannot_preview": "No preview for this file type", - "replica.no_description": "No description provided", - "replica.size": "Size", - "replica.uploaded": "Uploaded", - "replica.invalid_link": "Invalid Link", - "replica.close": "Close", - "replica.files": "Files", - "replica.upload_history": "Upload history", - "replica.my_favorites": "Favorites", - "replica.no_uploads": "No Uploads Yet", - "replica.no_favorites": "No Favorites Yet", - "replica.mime_type": "File type: {{mime}}", - "replica.image_loading_error": "Error loading image", - "replica.play": "Play", - "replica.pause": "Pause", - "replica.scrub": "Scrub", - "replica.skip_forward": "Skip forward", - "replica.skip_backwards": "Skip backwards", - "replica.trending_videos": "Trending Videos", - "replica.file_uploaded": "Uploaded: {{days}} days ago", - "replica.file_size": "Size", - "replica.duration": "Duration", - "replica.filename": "File Name", - "replica.filename_required": "Name Your File", - "replica.description_optional": "Add Description", - "replica.expand": "Expand details", - "replica.filetype": "File type", - "replica.sortby": "Sort By", - "replica.link": "Replica link", - "replica.collapse": "Collapse", - "replica.publish": "Publish", - "replica.cancel": "Cancel", - "replica.progress_current_upload": "Upload of", - "replica.progress_files": "files", - "replica.progress_of": "of", - "replica.progress_upload_complete": "Complete", - "replica.progress_upload_failure": "Upload failed please try again.", - "replica.upload_in_progress": "Upload in progress", - "replica.upload_pending": "Upload pending", - "replica.upload_error": "Upload error", - "replica.upload_cancel": "Cancel upload", - "replica.upload_confirm": "Are you sure you want to cancel the upload?", - "replica.progress_view": "View", - "replica.delete": "Delete", - "replica.remove": "Remove", - "replica.delete_file": "Delete File", - "replica.remove_favorite": "Remove from Favorites", - "replica.failed_to_delete": "Failed to delete", - "replica.failed_to_remove": "Failed to remove", - "replica.link_lookup_failure": "Failed to find link", - "replica.delete_file_confirmation_1": "Are you sure you want to delete", - "replica.delete_file_confirmation_2": "from your uploads", - "replica.remove_favorite_confirmation_1": "Are you sure you want to remove", - "replica.remove_favorite_confirmation_2": "from your favorites", - "replica.share_file": "Share File", - "replica.download_and_view": "Download/View", - "replica.download": "Download", - "replica.copy_link": "Copy Replica Link", - "replica.find_file": "Find file", - "replica.file_drop_prompt": "Drop file to begin upload!", - "replica.empty_uploads_text1": "Click", - "replica.empty_uploads_text2": "here", - "replica.empty_uploads_text3": "to make your first post.", - "replica.error_header": "Oops", - "replica.error": "There was an error processing your request. Please try again.", - "replica.serp_empty": "Google has not returned any results for this query.", - "replica.disclaimer": "Lantern anonymizes your searches and protects them from third parties", - "settings.general": "General", - "settings.feedback": "Feedback", - "settings.autoLaunch": "Run Lantern on system start", - "settings.autoReport": "Securely report usage statistics to contribute to Lantern", - "settings.lantern_ads": "Show Lantern Ads", - "settings.lantern_ads_tooltip": "Lantern shows you ads on some websites to help support our service. No user information is collected or passed to our servers. If you turn this option off, you may still see ads, but they will not be from the Lantern network.", - "settings.proxyAll": "Proxy all traffic", - "settings.proxyAllHelpTitle": "WHAT DOES \"PROXY ALL TRAFFIC\" DO?", - "settings.proxyAllHelp1": "If enabled, all traffic will be sent through Lantern (most Secure option).", - "settings.proxyAllHelp2": "If disabled, only blocked traffic will be sent through Lantern (fastest option, most common).", - "settings.show_advanced": "Show Advanced Settings", - "settings.hide_advanced": "Hide Advanced Settings", - "settings.systemProxy": "Manage system proxy", - "settings.title": "Settings", - "settings.http_proxy": "HTTP(S) proxy:", - "settings.socks_proxy": "SOCKS proxy:", - "settings.caution": "Caution:", - "settings.caution_text": "When you uncheck \"Manage system proxy\" your browser and applications won't be able to use Lantern automatically. If you know how to manually configure these settings refer to the information above.", - "settings.select_language": "Select Language", - "settings.diagnostics": "Attach Diagnostic Information", - "settings.diagnostics_tooltip": "Attaching diagnostic information will send the Lantern team data captured from your connection. This will increase our ability to identify and solve your issue.", - "status.lantern": "Lantern is", - "status.click_reconnect": "Click here to reconnect", - "status.server_location": "Server Location", - "status.tooltip1": "Lantern uses smart server selection to connect you to our best data centers.", - "status.tooltip2": "Upgrade to Lantern Pro for faster speed with optimized server selection from our exclusive Lantern Pro data centers", - "status.protected_connection": "Your Connection is Protected", - "status.please_wait": "This may take a minute or two...", - "status.connecting": "Connecting...", - "status.no_internet": "Off", - "status.no_internet_connection": "No Internet connection", - "status.connected": "On", - "status.disconnected": "Off", - "status.throttled": "Speed Throttled (Data Cap)", - "status.no_system_proxy": "{{status}}, not managing system proxy", - "status.fail_to_set_system_proxy": "Failed to set Lantern as system proxy", - "status.fail_to_open_browser": "Failed to open browser window to show the Lantern user interface", - "support.forum": "Lantern User Forum", - "support.faq": "FAQ", - "terms_of_service.acknowledgment": "By clicking {{buttonText}}, you agree to our Terms of Service", - "terms_of_service.replica": "By Searching, uploading or using our products in any way, you agree to our Terms of Service, Privacy Policy and DMCA Policy", - "top_sites.google": "Google", - "top_sites.twitter": "Twitter", - "top_sites.youtube": "Youtube", - "top_sites.facebook": "Facebook", - "top_sites.wikipedia": "Wikipedia", - "verify.header": "Enter or Paste Device Linking Pin", - "verify.code": "Device Linking Code", - "verify.howto_1": "If you have a Lantern Pro account on another device, please enter your e-mail address here to receive a code to authorize the device", - "verify.howto_1a": "You're currently an unauthorized Pro user. Please enter your e-mail address to authorize your Pro account. This will enable you to link multiple devices.", - "verify.howto_2": "To Link a Device to your Pro Account:", - "verify.howto_3": "1. Choose ‘Authorize Device for Pro from the Menu of your other device.", - "verify.howto_4": "2. Enter the linking pin obtained from step 1, and submit.", - "verify.reminder": "*Ensure both devices are running the most recent version of Lantern", - "verify.enter_pin": "Enter or Paste Device Linking Pin", - "verify.submit": "Submit", - "verify.title": "Account Verification", - "welcomeToPro.continue": "Continue to Pro", - "welcomeToPro.invite": "Invite friends and you will each get 3 months free when they purchase the two-year plan, the one year plan gets you each 1 month free. Start inviting!", - "welcomeToPro.thanks": "You now have unlimited access using our fastest data centers. Up to three devices can be connected to your account.", - "welcomeToPro.title": "Welcome To Lantern Pro", - "welomeToPro.title_exclamation": "Welcome to Lantern Pro!", - "purchase.failed": "Purchase failed. Please try again later.", - "purchase.success": "Purchase Success", - "purchase.success_title": "Welcome to Lantern {{planType}}!", - "purchase.success_content_pro": "You now have unlimited access using our fastest data centers. Up to three devices can be connected to your account.", - "purchase.success_content_platinum": "You now have unlimited access using our dedicated lines and fastest data centers. Up to three devices can be connected to your account.", - "welcomeToPro.description": "You now have unrestricted access to blocked sites and services", - "messages.copied_to_clipboard": "Code Copied. Share it with your friends!", - "messages.datacap": "You have used your free high speed data. Upgrade to Pro for unlimited high speed data.", - "messages.fatal_error": "Sorry, we're having trouble contacting the Lantern servers. Please check your internet connection and try again.", - "messages.backend_gone": "Sorry, Lantern appears to no longer be running. Please restart Lantern and try again.", - "messages.get_help": "Get Help", - "freeProCredits.title": "Invite Friends", - "freeProCredits.shareWithFriends": "Share your code with friends to earn free months!", - "freeProCredits.shareWithFriendsDesc": "When your friend purchases the two year plan you will each get 3 months free, the one year plan gets you each 1 month free.", - "cards.serverLocation.unknown": "Unknown", - "cards.serverLocation.description": "Optimized Server Location", - "cards.serverLocation.description-free": "Server Location", - "cards.serverLocation.description-upgrade": "Upgrade for Faster Servers", - "cards.serverLocation.title": "Current Location:", - "cards.serverLocation.location": "%s, %s", - "cards.serverLocation.text": "Lantern uses smart server selection to automatically find you the fastest connection possible from our data centers in Tokyo, Singapore, Hong Kong, San Francisco, New York, Amsterdam, Bangalore and more.", - "cards.serverLocation.text-free": "Lantern uses smart server selection to connect you to our best data centers.", - "cards.serverLocation.upgrade-link": "Upgrade to Lantern Pro for faster speed with optimized server selection from our exclusive Lantern Pro data centers.", - "cards.httpsUpgrades.description": "HTTPS Upgrades", - "cards.httpsUpgrades.title": "HTTPS Upgrades: %d", - "cards.httpsUpgrades.text": "Lantern automatically upgrades unsecure HTTP connections to encrypted HTTPS connections when possible to keep your information private while surfing the web.", - "cards.adsBlocked.description": "Ads Blocked", - "cards.adsBlocked.title": "Blocked Ads: %d", - "cards.adsBlocked.text": "Lantern blocks intrusive ads to speed up web page loading time, save bandwidth, and to give you a smoother browsing experience.", - "cards.dataUsage.description": "Data Usage", - "cards.dataUsage.upgrade": "Upgrade now", - "cards.dataUsage.mb-used": "You have used %d/%dMB of your monthly high speed data.", - "cards.dataUsage.upgrade-link": "Upgrade now for unlimited high speed service!", - "cards.subscription.description": "Pro Subscription", - "cards.subscription.renew": "Renew", - "cards.subscription.months": "You have %d months of Lantern Pro left in your subscription.", - "cards.subscription.days": "You have %d days of Lantern Pro left in your subscription.", - "cards.subscription.unit.months": "MO", - "cards.subscription.unit.days": "DAYS", - "cards.subscription.renew-link": "Renew your subscription to add more time.", - "auth.email": "Email", - "auth.username": "Username", - "auth.username.or.email": "Username or Email", - "auth.signin": "Sign In", - "current.password": "Current Password", - "new.password": "New Password", - "auth.change.password": "Change Password", - "confirm.new.password": "Confirm New Password", - "auth.password": "Password", - "auth.have.recovery.phrase": "Have a Recovery Phrase?", - "auth.forgot.password": "Forgot or do not have password?", - "auth.create.account": "Create Account", - "auth.missing.username": "Missing username", - "auth.missing.current.password": "Missing current password", - "auth.missing.new.password": "Missing new password", - "auth.missing.confirm.password": "Missing confirm password", - "invalid_credentials": "Invalid Credentials", - "yinbi.wallet": "Yinbi Wallet", - "create.wallet": "Create Wallet", - "new.to.yinbi": "New to Yinbi?", - "setup.wallet": "Yes, lets set up a new wallet!", - "web.wallet": "No, I have a Wallet on the Yin.bi Website", - "yinbi.next": "Next", - "yinbi.amount": "Amount", - "yinbi.missing.address": "No destination address provided", - "yinbi.missing.amount": "No amount specified", - "yinbi.missing.email": "No email address specified", - "yinbi.missing.username": "No username specified", - "yinbi.missing.password": "No password specified", - "yinbi.invalid.address": "{{destination}} is not a valid Stellar address", - "yinbi.send": "Send", - "yinbi.to": "To:", - "yinbi.try_again": "Try again?", - "yinbi.success.transaction": "Transaction Successful!", - "yinbi.failure.transaction": "Transaction Failed", - "yinbi.confirm.transaction": "Confirm Transaction", - "yinbi.sent.details": "You sent {{amount}} YNB to {{destination}}", - "yinbi.sent.failure.details": "Your Transaction failed for the following reasons:", - "yinbi.recipient": "Recipient", - "yinbi.available.send": "You have {{balance}} YNB available to send", - "yinbi.wallet.header": "Wallet", - "yinbi.send.header": "Send Yinbi", - "yinbi.recovery.phrase": "Yinbi Recovery Phrase", - "yinbi.recover.account": "Enter or Paste your Yinbi Recovery Phrase to recover your Yinbi Wallet, and Lantern account", - "yinbi.recovery.desc": "Use this method if you want to sign in to a Yinbi Wallet in addition to your Lantern account", - "yinbi.redeem.codes": "Redeem Bulk Yinbi Codes", - "yinbi.obtain.codes": "Bulk Yinbi Redemption codes can be obtained from reseller.lantern.io", - "yinbi.receive.header": "Receive Yinbi", - "yinbi.this.is.your.wallet": "This is your Yinbi wallet address where people can send you YNB.", - "yinbi.your.address": "Your Address", - "yinbi.no.activity.header": "No Activity", - "yinbi.upgrade.pro.button": "Upgrade to Pro and Get Free Yinbi", - "yinbi.renew.pro.button": "Renew Pro and Get Free Yinbi", - "yinbi.wallet.activity_header": "Activity", - "yinbi.wallet.send": "Send", - "yinbi.wallet.receive": "Receive", - "yinbi.wallet.balance": "Balance", - "yinbi.wallet.getlantern.pro": "Get Lantern Pro + Free Yinbi", - "yinbi.redemption.codes": "Yinbi Redemption Codes", - "redeem_codes.title": "Redeem Yinbi Codes", - "redeem_codes.redeem_button_text": "Redeem", - "redeem_codes.cancel_button_text": "Cancel", - "redeem_codes.success": "Success", - "redeem_codes.errors.missing_codes": "No valid codes entered", - "redeem_codes.errors.invalid_codes": "Error, please check the highlighted codes. Crossed out codes are expired and can no longer be redeemed.", - "yinbi.new.account.text": "Once you send or receive Yinbi your transactions will appear here.", - "yinbi.createAccount": "Create Account", - "yinbi.confirm.account.text": "To make sure that you wrote the phrase down correctly, please enter the following words from your recovery phrase", - "create_account.invalid_words.error": "The words entered didn't match those of the recovery passphrase", - "yinbi.recovery_text": "This is your Yinbi Wallet Recovery Phrase. It is the ONLY way to recover your Yinbi Wallet\nin case of a forgotten password. Use a password manager or make a hard copy when\nstoring this phrase.", - "yinbi.recovery_confirm_text": "This is your Yinbi Wallet Recovery Phrase. It is the ONLY way to recover your Yinbi Wallet in case of a forgotten password. Use a password manager or make a hard copy when storing this phrase.", - "yinbi.import.wallet": "Import Wallet", - "yinbi.setup.wallet": "Set up Wallet", - "yinbi.importWallet": "Import Yin.bi Wallet", - "yinbi.import.wallet.continue": "Continue to Your Wallet", - "yinbi.import.wallet.success": "Import Wallet Success!", - "yinbi.wallet.text": "To access the Yinbi Wallet, you can Create an Account, Sign In or\nImport your wallet from Yin.bi if you have signed up on the Yin.bi\nwebsite before.", - "yinbi.wallet.pro.text": "To access the Yinbi Wallet, you can Create an Account, Import your wallet from Yin.bi if you have signed up before.", - "yinbi.recovery_subheader": "Yinbi Wallet Recovery Phrase", - "yinbi.import_wallet.subheader": "Import Yinbi Wallet", - "yinbi.import_wallet.text": "Sign in using your Yin.bi credentials to transfer your wallet to Lantern", - "yinbi.import_wallet.success": "Your Wallet has been imported successfully please add your email to complete account registration.", - "yinbi.import_wallet.success_subheader": "Import Success!", - "yinbi.import_wallet.button": "Import Yin.bi Wallet", - "yinbi.import_wallet.success_button": "Complete Registration", - "yinbi.recovery_passphrase.label_text": "Recovery Phrase", - "yinbi.recovery_passphrase.copy_button_text": "Copy", - "terms_of_service.notice": "Notice", - "terms_of_service.i_agree": "I agree", - "platinum": "Platinum", - "platinum.one_year": "1 year pricing", - "platinum.two_years": "2 year pricing", - "platinum.save": "Up to {{savings}}% savings!", - "platinum.unlimited": "Unlimited Data", - "platinum.logs": "No logs", - "platinum.devices": "Connect up to 3 devices", - "platinum.everything_in_pro": "Everything included in Pro", - "platinum.faster_data": "Faster data centers", - "platinum.dedicated": "Dedicated line", - "platinum.reliability": "Increased Reliability", - "platinum.platinum_one_year": "Lantern Platinum 1 year", - "platinum.platinum_two_years": "Lantern Platinum 2 years", - "platinum.pro_one_year": "Lantern Pro 1 year", - "platinum.pro_two_years": "Lantern Pro 2 years", - "platinum.total": "Total", - "platinum.free": "Free", - "platinum.credit.days": " + {{ days }} days", - "platinum.credit.months": "{{ months }} month(s)", - "platinum.upgrade": "Upgrade to Platinum", - "platinum.upgrade_details": "Dedicated Line + Faster Data centers!", - "platinum.unused_time_disclaimer": "Pro users upgrading to Platinum will see their converted Pro subscription listed as added time above.", - "p2p.opt_in_description": "Use your internet to help people access the internet uncensored", - "p2p.active_sharing_description": "Your internet sharing is on", - "p2p.dialog.title": "Share internet access", - "p2p.dialog.text.1": "Help others with restricted access to the internet by sharing your connection. By allowing access to your internet, you will be part of a network of volunteers that makes the internet more open.", - "p2p.dialog.text.2": "Sharing will not compromise your identity or safety. You can stop sharing your internet whenever you want.", - "p2p.dialog.yes_button": "YES, START SHARING", - "p2p.dialog.no_button": "CANCEL", - "p2p.banner.introducing": "INTRODUCING", - "top_sites.top_sites": "Top Sites" -} diff --git a/locale/translation/en.json b/locale/translation/en.json deleted file mode 100644 index f866742a0..000000000 --- a/locale/translation/en.json +++ /dev/null @@ -1,797 +0,0 @@ -{ - "LANTERN": "Lantern", - "pro": "Pro", - "BEAM": "Beam", - "TRAY_STATUS": "Status: %v", - "TRAY_CONNECT": "Connect", - "TRAY_DISCONNECT": "Disconnect", - "TRAY_SHOW": "Show %s", - "TRAY_UPGRADE_TO_PRO": "Upgrade to Pro", - "TRAY_QUIT": "Quit %s", - "BACKEND_DATA_TITLE": "No more high speed %s data", - "BACKEND_DATA_MESSAGE": "Please upgrade to Pro to keep using %s at full speed!", - "BACKEND_DATA_PERCENT_TITLE": "Reached %s of your %s data", - "BACKEND_DATA_PERCENT_MESSAGE": "You have used %s of your %s high speed data. Upgrade now!", - "BACKEND_CLICK_LABEL": "Open", - "BACKEND_CLICK_LABEL_OPEN": "Open", - "BACKEND_CLICK_LABEL_HELP": "Help", - "BACKEND_CLICK_LABEL_GOT_IT": "Got it", - "BACKEND_AUTOUPDATED_TITLE": "Update %s to version %s", - "BACKEND_AUTOUPDATED_MESSAGE": "%s %s has been downloaded. Please restart %s to use it.", - "BACKEND_MITM_INSTALL_CERT": "%s wants to install a custom certificate to improve performance", - "BACKEND_MITM_INSTALL_CERT_WINDOWS_BODY": "Please allow %v to make changes to your system", - "BACKEND_ALERT_TITLE": "Critical alert needs your attention", - "BACKEND_INSTALL_DIAGNOSTIC_TOOLS": "%s needs your permission to install diagnostic tools. This will help us improve your %s experience.", - "BACKEND_CONFIG_SAVE_ERROR_TITLE": "Unable to save configuration", - "BACKEND_CONFIG_SAVE_ERROR_MESSAGE": "Unable to save application configuration. %s cannot guarantee that traffic will be correctly proxied.", - "about.content": "Lantern is an application that delivers fast, reliable and secure access to the open Internet.", - "app.error": "Something went wrong!", - "about.faq": "Read the Lantern FAQs", - "about.open": "Open Internet for Everyone", - "about.questions": "Questions?", - "about.title": "About", - "account.add.password": "Add Account Password", - "account.agree.terms": "I understand that losing my password means losing\naccount access. Lantern cannot help you recover\nyour password.", - "account.agree.terms.error": "Must first agree to terms", - "account.cancel": "Cancel Pro Account", - "account.created": "Account Created!", - "account.create.pro.account.header": "Create Pro Account", - "account.create.pro.account.text": "Lantern is changing the way user accounts are handled. From now on Pro users will need to create a username and password. These credentials will be used to sign in to other devices, and provide access to new features.", - "account.have.a.account": "Have an Account?", - "account.link.username.pro": "Link username to Pro Account", - "account.recovery": "Account Recovery", - "account.recovery.link.device": "Link Device", - "account.recovery.device.code": "Device Linking Code", - "account.recovery.device.enter.code": "Enter or Paste Device Linking Pin", - "account.recovery.device.instructions.header": "To link this device to your Pro account:", - "account.recovery.device.instructions.step.one": "1. Choose the ‘Link a Device’ option from the Account Management screen item on your Desktop Pro device, or From the menu on you Mobile Pro Device.", - "account.recovery.device.instructions.step.two": "2. Enter the device linking code, and submit.", - "account.recovery.device.instructions.part.three": "*Ensure both devices are running the most recent version of Lantern", - "account.recovery.method": "Please Choose a method to recover your account", - "account.recovery.send.email": "Send Email", - "account.recovery.submit": "Submit", - "account.recovery.success": "Linking Success!", - "account.pro_management": "Pro Account Management", - "account.free_management": "Account Management", - "account.free.cap": "{{mb}} MB of free data remaining. Resets at {{reset}}", - "account.free.cap.upgrade": "Upgrade to Pro for unlimited high speed data", - "account.freelink.validFor": "valid for %s", - "account.freelink.desc": "To Authorize this device to use your Pro account:", - "account.freelink.step1": "1. Choose the 'Link a Device' option from the Menu on your Pro Device", - "account.freelink.step2": "2. Enter the device linking code, and submit.", - "account.freelink.reminder": "* Ensure both devices are running the most recent version of Lantern", - "account.freelink.errorTitle": "Error Linking", - "account.freelink.errorText": "Are you sure you entered the code on your Pro device?", - "account.freelink.headerDesc": "Link this device to your Pro account", - "account.freelink.title": "Device Linking Code", - "account.pro.charge": "Your account will automatically be charged for another year of Lantern Pro at the end of your billing cycle.", - "account.upgrade_pro": "Upgrade to Pro", - "account.upgrade": "Upgrade", - "account.upgrade_platinum": "Upgrade to Platinum", - "account.create": "Create Account", - "account.email": "Email", - "account.confirm.password": "Confirm Password", - "account.password": "Password", - "account.pro.email": "Email:", - "account.pro.expiration": "Pro Account Expiration", - "account.platinum.expiration": "Platinum Account Expiration", - "account.pro.expired": "Your Pro account has expired. Renew now for Unlimited monthly data.", - "account.pro.expiry": "Your Pro account expires in %s days on %s.", - "account.pro.bonusMonths": "This includes your {{bonusMonths}} bonus months!", - "account.pro.thisdevice": "(This Device)", - "account.pro.logout": "LOG OUT", - "account.pro.removedevice": "REMOVE", - "account.pro.devices": "Lantern Pro Devices (up to 3)", - "account.pro.device.confirm.title": "Deauthorize Device", - "account.pro.device.confirm": "Are you sure you want to remove '{{device}}' from your Lantern Pro account?", - "account.pro.device.one.title": "Only One Device", - "account.pro.device.one": "Sorry, but you cannot remove your last authorized device.", - "account.pro.linkingcode": "Device Linking Code:", - "account.pro.renew": "Renew Pro Account", - "account.platinum.renew": "Renew Platinum Account", - "account.pro.renew_CN": "Renew", - "account.prolink.errorTitle": "Error Linking", - "account.prolink.errorText": "Are you sure you copied the code correctly from your other device?", - "account.prolink.successTitle": "Device Linked", - "account.prolink.successText": "You have successfully linked your device! Please wait a moment for your other device to automatically become pro.", - "account.signin": "Sign In", - "account.signout": "Sign Out", - "account.submit": "Submit", - "account.username": "Username", - "account.switch.to.register": "Switch to Create Account", - "account.switch.to.signin": "Switch to Sign In", - "account.invalid.username": "Username is invalid", - "account.invalid.email": "Email is invalid", - "account.password.mismatch": "Confirm Password doesn't match password", - "account.password.short": "Password is too short", - "account.password.lowercase": "Password must contain at least one lowercase letter", - "account.password.uppercase": "Password must contain at least one uppercase letter", - "account.password.number": "Password must contain at least one number", - "account.password.compromised": "Password appears on a list of compromised passwords", - "modal.register.free.header": "Register or Sign in to access Yinbi Wallet", - "modal.register.pro.header": "Add account password to access Yinbi Wallet", - "modal.register.pro.signin.header": "Sign in to access Yinbi Wallet", - "modal.register.free.text": "To use the Yinbi Wallet you must have a Lantern Account, please Register or\nSign in to Continue.", - "modal.register.pro.text": "To use the Yinbi wallet you must add a password to your Lantern account.", - "modal.register.pro.signin.text": "To use the Yinbi wallet you must sign in to your Lantern account", - "adyen.paymentMethods.title": "Payment Methods", - "adyen.paymentMethods.storedMethods": "Your payment methods", - "adyen.paymentMethods.otherMethods": "Select other method", - "adyen.paymentMethods.moreMethodsButton": "More payment methods", - "adyen.payButton": "Pay", - "adyen.payButton.formatted": "Pay %@", - "adyen.cancelButton": "Cancel", - "adyen.dismissButton": "OK", - "adyen.storeDetails": "Save for my next payment", - "adyen.payment.redirecting": "You will be redirected", - "adyen.payment.processing": "Your payment is being processed", - "adyen.creditCard.title": "Card Details", - "adyen.creditCard.holderName": "Cardholder name", - "adyen.creditCard.holderName.placeholder": "J. Smith", - "adyen.creditCard.numberField.title": "Card Number", - "adyen.creditCard.numberField.placeholder": "1234 5678 9012 3456", - "adyen.creditCard.numberField.invalid": "Invalid card number", - "adyen.creditCard.expiryDateField.title": "Expiry Date", - "adyen.creditCard.expiryDateField.placeholder": "MM/YY", - "adyen.creditCard.expiryDateField.invalid": "Invalid expiration date", - "adyen.creditCard.expiryDateField.month": "Month", - "adyen.creditCard.expiryDateField.month.placeholder": "MM", - "adyen.creditCard.expiryDateField.year.placeholder": "YY", - "adyen.creditCard.expiryDateField.year": "Year", - "adyen.creditCard.cvcField.title": "CVC / CVV", - "adyen.creditCard.cvcField.placeholder": "123", - "adyen.creditCard.installmentsField": "Number of installments", - "adyen.creditCard.storeDetailsButton": "Remember this card for my next payment", - "adyen.creditCard.oneClickVerification.title": "Verify your card", - "adyen.creditCard.oneClickVerification.message": "Please enter the CVC code for %@", - "adyen.creditCard.oneClickVerification.invalidInput.title": "Invalid CVC", - "adyen.creditCard.oneClickVerification.invalidInput.message": "Please enter a valid CVC to continue.", - "adyen.sepaDirectDebit.ibanField.title": "Account Number (IBAN)", - "adyen.sepaDirectDebit.ibanField.placeholder": "NL53 ABNA 1925 1294 122", - "adyen.sepaDirectDebit.ibanField.invalid": "Invalid account number", - "adyen.sepaDirectDebit.nameField.title": "Holder Name", - "adyen.sepaDirectDebit.nameField.placeholder": "J. Smith", - "adyen.sepaDirectDebit.consentButton": "I agree that the amount below will be debited from my bank account.", - "adyen.sepa.ownerName": "Holder Name", - "adyen.sepa.ibanNumber": "Account Number (IBAN)", - "adyen.giropay.searchField.placeholder": "Bankname / BIC / Bankleitzahl", - "adyen.giropay.minimumLength": "Min. 3 characters", - "adyen.giropay.noResults": "No search results", - "adyen.error.title": "Error", - "adyen.error.subtitle.redirect": "Redirect failed", - "adyen.error.subtitle.payment": "Payment failed", - "adyen.error.subtitle.refused": "Payment refused", - "adyen.error.message.unknown": "An unknown error occurred", - "adyen.error.message.cannotConnectToInternet": "Failed to connect to the internet : please check your internet connection.", - "adyen.error.message.cannotConnectToHost": "Failed to connect to our payment server.", - "adyen.error.retryButton": "Try again", - "adyen.idealIssuer.selectField.title": "Bank", - "adyen.idealIssuer.selectField.placeholder": "Select your bank", - "adyen.creditCard.success": "Payment Successful", - "adyen.oneClick.confirmationAlert.title": "Confirm %@ payment", - "adyen.redirect.cannotOpenApp.title": "Cannot Open App", - "adyen.redirect.cannotOpenApp.appNotInstalledMessage": "This app could not be opened because it is not installed on this device.", - "adyen.holderName": "Cardholder name", - "adyen.countryCode": "Country Code", - "adyen.telephone.number": "Telephone number", - "android.download": "Lantern Android", - "android.download.title": "Download Lantern Android", - "authorize.title": "Authorize Device for Pro", - "authorize.step1.have_pro_device": "I have another Lantern Pro device", - "authorize.step1.link": "Device Linking", - "authorize.step1.email_linking": "Email Linking", - "authorize.device_linking_explanation": "Use this method if you are signed into another device and have it with you", - "authorize.device_email_explanation": "Use this method if you want a Device linking pin sent to your email", - "authorize.link_device": "Link Device", - "authorize.step1.choose": "Please choose a method to Link your account", - "authorize.step1.or": "or", - "authorize.step1.recover": "I need to recover my Lantern Pro account", - "authorize.step1.start": "start recovery", - "authorize.step1.no_mail": "Don't remember your Email address?", - "authorize.step1.description": "Enter your email and if the account exists we will send an email with a device linking code", - "authorize.step2b.enter_code": "Enter your Account Recovery Code", - "authorize.step2b.code": "Account Recovery Code", - "authorize.step2b.instruction": "An email with a recovery code has been sent to {{email}} if this account exists. This email may take several hours to arrive. Please check your spam folder if you do not find it.", - "authorize.step2b.no_mail": "Didn't receive email", - "authorize.step3.recovery": "Account Recovery", - "authorize.step3.no_email": "Oops! We're having trouble finding that email address. Please provide more information below to help us locate your account.", - "authorize.step3.no_code_received": "Having trouble receiving the recovery email? Enter the information below and we will contact you within 48 hours.", - "authorize.step3.your_email": "Your Email", - "authorize.step3.payment_method": "Payment Method", - "authorize.step3.payment_method_hint": "Select the payment method you used to get Pro", - "authorize.step3.credit_card": "Credit Card", - "authorize.step3.alipay": "AliPay", - "authorize.step3.android_pay": "Android Pay", - "authorize.step3.by_referral": "Received Pro by Referring a friend", - "authorize.step3.payment_account": "Payment Account", - "authorize.step3.payment_account_hint": "Enter your Alipay account information", - "authorize.step3.referral_code": "Your Referral Code", - "authorize.step3.purchase_date": "Purchase Date", - "authorize.step3.note": "Please note any other information that may help us locate your account.", - "authorize.step4.title": "Account Recovery In-Progress", - "authorize.step4.text1": "Thank you! We've received your account recovery request.", - "authorize.step4.text2": "Please allow 48 hours to retrieve your Pro account information.", - "authorize.step4.text3": "We will send information to the email address entered on the previous screen.", - "authorized.continue": "Continue to Pro", - "authorized.continue.lantern": "Continue to Lantern", - "authorized.text": "This device is now authorized to use your Lantern Pro account!", - "authorized.title": "Device Authorized", - "button.account": "Account", - "button.renew": "Renew", - "button.upgrade": "Upgrade", - "button.upgrade_now": "Upgrade Now", - "button.upgrade_to_lantern_pro": "Upgrade to Lantern Pro", - "button.copy_your_code": "Copy your code", - "button.try_again": "Try again", - "button.continue": "Continue", - "button.continue_to": "Continue to {{planType}}", - "bullet.click_button": "Click on the button below", - "bullet.paste_code": "Paste the code & download link in a message", - "bullet.send_to_friends": "Send to your friends", - "cancel": "Cancel", - "confirm": "Confirm", - "norecoveryyinbi": "*Does not recover Yinbi Wallet", - "email.recovery.check.email": "Check your email for a message with a Recovery Code", - "email.recovery.code.label": "Enter or Paste Recovery Code", - "email.recovery.no.code": "Didnt get a Code?", - "email.recovery.text": "Enter your email, and we will send you a code to reset your password.\nIf you have a Yinbi Wallet, this will NOT recover your Yinbi wallet, to recover your Yinbi Wallet enter your Yinbi Recovery Phrase.", - "email.recovery.desc": "Use this method if you want a recovery code sent to your email", - "device.recovery.desc": "Use this method if you are signed in to another device and have it with you", - "google_search": "Google Search", - "giveaway.upgrade": "Upgrade to receive today's free distribution", - "giveaway.title_released_today": "{{formattedTokens}} YNB being released today", - "giveaway.what_is_it": "What is the Yinbi Giveaway?", - "giveaway.description1": "The Yinbi foundation is giving away 888 billion YNB cryptocurrency exclusively through Lantern to purchasers of Lantern Pro.", - "giveaway.description2": "YNB will be distributed at the end of every day, based on the quantity of Yinbi released that day, the number of people that upgrade/renew, and the number of years or accounts you purchase. YNB will be deposited directly into your Yinbi Wallet in Lantern.", - "giveaway.learn_more": "Learn More", - "link_device": "Already have a Pro account? Link device", - "email.recovery": "Email Recovery", - "email_taken": "Email already registered", - "username_taken": "Username already registered", - "err.unknown_error": "Unknown error", - "err.internal_error": "Internal error", - "err.bad_input": "Bad input", - "err.not_authorized": "Not authorized", - "err.user_exists": "User exists", - "err.no_such_user": "No such user", - "err.user_already_verified": "User already verified", - "err.invalid_user_verification": "Invalid user verification", - "err.user_unverified": "User Unverified", - "err.operation_temporarily_unavailable": "Operation temporarily unavailable", - "err.wrong_or_inexistent_plan": "Wrong or inexistent plan", - "err.user_has_active_subscription": "User has active subscription", - "err.payment_error": "Payment error", - "err.no_codes_left": "No referral codes left", - "err.wrong_code": "Wrong referral code", - "err.redeeming_own_code_not_allowed": "Redeeming codes of oneself is not allowed", - "err.wrong_charge_id": "Wrong charge ID", - "err.wrong_link_code": "Wrong link code", - "err.invalid_credentials": "The supplied user credentials were invalid", - "footer.reseller": "Make Money! Become a Lantern Pro reseller. Click Here", - "footer.reseller.email_subject": "Tell me about the Lantern Reseller Program!", - "footer.reseller.email_body": "When you become a Lantern Reseller you will have the opportunity to make up to 25% on every sale of a Lantern Pro subscription. Tell us a bit about why you want to become a reseller below.", - "feature.faster_speed": "Faster Speed", - "feature.faster": "Faster Data Centers", - "feature.unlimited": "Unlimited Data", - "feature.nologs": "No Logs", - "feature.devices": "Connect up to 3 devices", - "feature.noads": "No Ads", - "feature.yinbi.tooltip": "The Yinbi foundation is giving away 888 billion YNB cryptocurrency exclusively through Lantern to purchasers of Lantern Pro. YNB will be distributed at the end of every day, based on the quantity of Yinbi released that day, the number of people that upgrade/renew, and the number of years or accounts you purchase. YNB will be deposited directly into your Yinbi Wallet in Lantern!", - "feature.antiblock": "Blocking Resistant", - "feature.data_center": "Better Data Centers", - "feature.free_yinbi": "Free Yinbi Cryptocurrency!", - "free.title": "Lantern Pro", - "free.desc": "Faster. Stronger. Unlimited. Secure.", - "free.link_account": "Already have a Pro account? Link your account.", - "home.get_lantern_pro": "Get Lantern Pro", - "home.get_lantern_platinum": "Upgrade your plan", - "home.welcome_popup_subheader": "Welcome to the new Lantern!", - "home.welcome_popup_content_1": "We have been hard at work, updating Lantern and adding new features.", - "home.welcome_popup_content_2": "In our new UI, you will find a search bar that allows you to search shared files on the Lantern network. You can also contribute content by posting a file yourself. This is a Beta feature, so try it out, and tell us what you think, we will continue to make improvements based on your feedback.", - "home.welcome_popup_button": "Try it out", - "input.email": "Email", - "input.your_email": "Your Email Address", - "input.confirm_email": "Confirm Email Address", - "input.enter_email": "Enter your email", - "input.use_valid_email": "Write a valid email address", - "input.email_not_match": "Email fields do not match", - "input.existing_email": "Existing email", - "issue.your_email": "Your Email", - "issue.attach_image_failure": "Cannot attach image", - "issue.try_again": "Please try again", - "issue.select_issue": "Please Select an Issue", - "issue.selected_issue": "Select Issue", - "issue.select_issue_hint": "Select an issue from the dropdown menu", - "issue.note": "Describe your Issue", - "issue.description": "Issue Description", - "issue.error": "Error reporting issue", - "issue.submit": "Send Report", - "issue.report_screenshot": "Drag image or click to upload screenshot", - "issue.reported": "Thank you for reporting your issue. Due to volume, we cannot respond to most issues, but we assure you we are working hard to improve Lantern based on your reports.", - "issue.report_sent": "Report Sent", - "issue.type.no_access": "Cannot access blocked sites", - "issue.type.payment_fail": "Cannot complete the payment", - "issue.type.cannot_login": "Cannot log in", - "issue.type.always_spinning": "Loading spinner spins endlessly", - "issue.type.slow": "Slow", - "issue.type.cannot_link_device": "Cannot link devices", - "issue.type.crashes": "Lantern crashes", - "issue.type.other": "Other", - "languages.title": "Languages", - "lantern.email": "Lantern Email", - "mobile.link": "Use the link to download Lantern on your Android device:", - "mobile.title": "Get Android Version", - "nav.about": "About", - "nav.account": "Account Management", - "nav.authorize": "Add Device", - "nav.authorized": "Device Authorized", - "nav.unauthorized_link": "Authorize Device for Pro", - "nav.language": "Language", - "nav.lantern": "Lantern", - "nav.mobile": "Get Mobile Version", - "nav.report_issue": "Report an Issue", - "nav.settings": "Settings", - "nav.support": "Support", - "nav.verify": "Account Verification", - "nav.yinbi": "Yinbi Redemption", - "nav.home": "Home", - "nav.discover": "Discover", - "nav.wallet": "Wallet", - "nav.yinbi_wallet": "Yinbi Wallet", - "notification.retry": "Retry", - "notifications": "Notifications", - "notifications.whatisnew": "What's New?", - "password.change": "Change Password", - "password.changed": "Password Changed", - "continue.to.pro": "Continue to Pro", - "username": "Username", - "password.new": "New Password", - "password.requirements": "
Password must contain the following:
  • 8 or more characters
  • 1 lowercase letter
  • 1 uppercase letter
  • At least 1 number
  • Not on a list of compromised passwords
", - "password.reset": "Reset Password", - "paxful.buy": "Buy", - "paxful.payment": "Payment method", - "paxful.bitcoin": "Bitcoin (BTC)", - "paxful.tether": "Tether (USDT)", - "paxful.wallet": "Online Wallets", - "paxful.bank": "Bank Transfers", - "paxful.gamer_card": "Game Cards", - "paxful.gift_card": "Gift Cards", - "paxful.cash": "Cash Payment", - "paxful.digital_currency": "Digital Currencies", - "paxful.button": "Show Best Deals", - "payment.close": "Close", - "payment.redirectErrorTitle": "Error connecting to payment server", - "payment.redirectErrorText": "We are currently working on resolving this issue. Please check back later.", - "payment.wait_for_pro": "Thanks for your purchase of Lantern Pro! Please wait a moment for your Lantern to automatically become Pro.", - "payment.moreOptions": "More Options", - "payment.fewerOptions": "Fewer Options", - "payment_methods.select_name": "Select payment method", - "payment_methods.alipay": "Credit Card/Alipay", - "payment_methods.shetab": "Fast World Pay (Shetab)", - "payment_methods.shetab.details.header": "To purchase Lantern Pro", - "payment_methods.shetab.details.body": "When you click continue to purchase you will be redirected to an external site to complete payment and collect your activation code.", - "payment_methods.shetab.details.tutorial_header": "Farsi tutorial", - "payment_methods.shetab.details.purchase_voucher_button": "Continue To Purchase", - "payment_methods.shetab.details.input_code_button": "Input Activation Code", - "plan.step1": "Step 1", - "plan.apply": "Apply", - "plan.step2": "Step 2", - "plan.most_popular": "Most Popular!", - "plan.step3": "Step 3", - "plan.choose_plan": "Choose Plan", - "plan.enter_email": "Enter Email", - "plan.choose_method": "Choose Payment Method", - "plan.bestValue": "Best Deal!", - "plan.per_month": "per month", - "plan.yinbi_2x": "+ 2x Yinbi!", - "plan.oneYear": "1 year", - "plan.add_referral": "Add Referral Code", - "plan.years": "{{years}} year plan", - "plan.desc": "{{price}} billed one time", - "plan.bonus_months": "+ {{bonusMonths}} months", - "plan.price.cny": "¥%.02f", - "plan.price.usd": "$%.02f", - "plan.currency.cny": "(RMB)", - "plan.currency.usd": "(USD)", - "plan.time_unit": "/YR", - "plan.select": "Select", - "plan.two_year": "Two Year", - "plan.one_year": "One Year", - "plan.savings": "Save {{formattedDiscount}} %", - "plans.title": "Lantern Pro Plans", - "plans.lantern_pro": "Lantern Pro", - "plans.platforms": "For Windows, Android, Mac, Ubuntu.", - "plans.from_reseller": "Have a Lantern Pro activation code? Click here.", - "plans.with_voucher_code": "Have an activation code? Click here.", - "pro.apply": "Your credits will be applied to your account in the next billing cycle.", - "pro.title": "Invite friends, get more Pro for free", - "pro.subtitle": "When your friend purchases the two year plan you each get 3 additional months of Pro, the one year plan gets you each 1 month free.", - "pro.share": "Share your code with friends to start earning more credits!", - "promotion.title": "Lantern Pro Checkout", - "promotion.title.activation": "Lantern Pro Activation", - "promotion.enter_and_confirm_email": "Please enter and confirm your email address", - "promotion.code.hint": "Enter your friend's Referral code (optional)", - "promotion.code.label": "Referral Code", - "promotion.payment": "Continue to Payment", - "promotion.payment.btc": "Pay with ₿", - "promotion.loading": "Loading...", - "promotion.howto_1y": "If a friend shared their referral code with you, enter the code to receive one month of Lantern Pro for free after checkout.", - "promotion.howto_2y": "If a friend shared their referral code with you, enter the code to receive three months of Lantern Pro for free after checkout.", - "promotion.pay": "Pay {{amount}}", - "promotion.select": "Select", - "promotion.promotion_applied_1y": "+1 bonus months", - "promotion.promotion_applied_2y": "+3 bonus months", - "promotion.too_many_referrals": "This referral code has already been added. Check out now to receive your extra months.", - "promotion.activation.enter_and_confirm_email": "Please enter and confirm your email address to register your Lantern Pro account.", - "promotion.activation.label": "XXXXX-XXXXX-XXXXX-XXXXX-XXXXX", - "promotion.activation.hint": "Activation Code", - "promotion.activation.instructions": "Enter your email and the 25 digit activation code received from the reseller to register your account.", - "promotion.activation.howto": "Please enter your 25 character Lantern Pro activation code above. If you do not have a code, please purchase Pro on the previous screen or look for a Lantern Pro reseller online.", - "promotion.activation.continue": "Register for Pro", - "promotion.voucher.hint": "Activation Code", - "promotion.voucher.howto": "Please enter your 12 character Fast World Pay activation code above", - "promotion.voucher.label": "XXXXXXXXXXXX", - "promotion.voucher.error.default": "Error redeeming your activation code.", - "promotion.voucher.error.invalid_code": "Invalid activation code", - "promotion.voucher.error.invalid_plan": "Activation code associated with an invalid plan", - "promotion.voucher.error.already_redeemed": "Activation code has already been redeemed", - "referral.code": "Referral code", - "referral.text": "Use my code %s and get 3 months free when you sign up!", - "referral.description_free": "Share your code with your friends, and get 1 month of Lantern Pro service for free when they purchase Pro!", - "referral.description_pro": "Share your code with your friends and get 1 month of Additional Lantern Pro service for free when they purchase Pro!", - "register": "Register", - "renew.subtitle_early": "Renew for 3 free months!", - "renew.subtitle_last_day": "Renew for 3 free months!", - "renew.subtitle_expired": "Renew for 45 free days!", - "renew.details_early": "Your Lantern Pro membership is ending soon. Renew now and enjoy up to three months free!", - "renew.details_last_day": "Your Lantern Pro membership ends today! Renew now and enjoy up to three months free!", - "renew.details_expired": "Your Lantern Pro membership has expired. Renew now and enjoy up to forty-five days free!", - "renew.asterisk_early": "* This limited time offer is only valid for early renewals.", - "renew.asterisk_last_day": "* This is your last chance to receive this special offer!", - "renew.asterisk_expired": "* This is a limited time offer!", - "renew.plan_label": "Lantern Pro - %s", - "renew.plan_renewal_bonus_1_month": "$%d%s + 1 FREE MONTH", - "renew.plan_renewal_bonus_months": "$%d%s + %d FREE MONTHS", - "renew.plan_renewal_bonus_days": "$%d%s + %d FREE DAYS", - "renew.next": "next", - "renew.decline": "Decline Offer", - "renew.decline_question": "Are you sure you want to decline this offer?", - "renew.decline_yes": "Renew later", - "renew.decline_dismiss": "Renew now", - "renew.notification_title_30_days": "Renew Pro now for huge savings!", - "renew.notification_title_30_days_platinum": "Renew Platinum now for huge savings!", - "renew.notification_text_30_days": "Your {{planName}} account expires in {{remainingDays}} days. Renew now and get up to 3 months free.", - "renew.notification_title_2_days": "{{planName}} discount ends tomorrow!", - "renew.notification_text_2_days": "Your {{planName}} account expires tomorrow. Don’t miss this opportunity for a huge discount.", - "renew.notification_title_last_day": "Last chance for a discount!", - "renew.notification_text_last_day": "Your {{planName}} account has expired. Renew today and get up to 3 months free.", - "replica.upload": "Upload", - "replica.favorite": "Favorite", - "replica.added_to_favorites": "Added to Favorites", - "replica.filedrop_error": "Error uploading this file", - "replica.filedrop_error.file-too-large": "Maximum allowed file size is {{fileSize}}", - "replica.filedrop_error.file-too-small": "File is too small", - "replica.filedrop_error.too-many-files": "Too many files", - "replica.filedrop_error.file-invalid-type": "This file type is not currently supported", - "replica.filedrop_remove_file": "Remove from queue", - "replica.post": "Upload File", - "replica.relevance": "Relevance", - "replica.upload_date": "Upload Date", - "replica.gallery_view": "Gallery View", - "replica.list_view": "List View", - "replica.copy_lantern_link": "Copy Lantern Link", - "replica.documents": "Documents", - "replica.audio": "Audio", - "replica.application": "Apps", - "replica.image": "Images", - "replica.video": "Videos", - "replica.web": "Web", - "replica.news": "News", - "replica.upload_alert.dont_show": "Don't show this again", - "replica.upload_alert.cancel": "Cancel Upload", - "replica.upload_alert.resume": "Resume Upload", - "replica.upload_alert.info": "Important Information!", - "replica.upload_alert.desc1": "Files uploaded to Lantern are distributed and decentralized. Once they are accessed by another user they cannot be deleted from the network by anyone, including Lantern, even if they are deleted from your 'My Files' list.", - "replica.upload_alert.desc2": "Please refrain from using personal identifying information in the file or filename when uploading sensitive content.", - "replica.add_details": "Add details", - "replica.cannot_edit": "Filenames cannot be edited once published.", - "replica.next": "Next", - "replica.previous": "Previous", - "replica.selectAll": "Select All", - "replica.search_replica": "Search", - "replica.search_results_info": "This tab only shows Lantern results.", - "replica.search_results_info_message": "Lantern results are comprised of content uploaded by users to the Lantern network.", - "replica.no_files_found": "No Results", - "replica.or_content": "your own content for other people to find!", - "replica.try_again": "Try a different keyword, or", - "replica.upload_success": "Upload Success!", - "replica.cannot_preview": "No preview for this file type", - "replica.no_description": "No description provided", - "replica.size": "Size", - "replica.uploaded": "Uploaded", - "replica.invalid_link": "Invalid Link", - "replica.close": "Close", - "replica.files": "Files", - "replica.upload_history": "Upload history", - "replica.my_favorites": "Favorites", - "replica.no_uploads": "No Uploads Yet", - "replica.no_favorites": "No Favorites Yet", - "replica.mime_type": "File type: {{mime}}", - "replica.image_loading_error": "Error loading image", - "replica.play": "Play", - "replica.pause": "Pause", - "replica.scrub": "Scrub", - "replica.skip_forward": "Skip forward", - "replica.skip_backwards": "Skip backwards", - "replica.trending_videos": "Trending Videos", - "replica.file_uploaded": "Uploaded: {{days}} days ago", - "replica.file_size": "Size", - "replica.duration": "Duration", - "replica.filename": "File Name", - "replica.filename_required": "Name Your File", - "replica.description_optional": "Add Description", - "replica.expand": "Expand details", - "replica.filetype": "File type", - "replica.sortby": "Sort By", - "replica.link": "Replica link", - "replica.collapse": "Collapse", - "replica.publish": "Publish", - "replica.cancel": "Cancel", - "replica.progress_current_upload": "Upload of", - "replica.progress_files": "files", - "replica.progress_of": "of", - "replica.progress_upload_complete": "Complete", - "replica.progress_upload_failure": "Upload failed please try again.", - "replica.upload_in_progress": "Upload in progress", - "replica.upload_pending": "Upload pending", - "replica.upload_error": "Upload error", - "replica.upload_cancel": "Cancel upload", - "replica.upload_confirm": "Are you sure you want to cancel the upload?", - "replica.progress_view": "View", - "replica.delete": "Delete", - "replica.remove": "Remove", - "replica.delete_file": "Delete File", - "replica.remove_favorite": "Remove from Favorites", - "replica.failed_to_delete": "Failed to delete", - "replica.failed_to_remove": "Failed to remove", - "replica.link_lookup_failure": "Failed to find link", - "replica.delete_file_confirmation_1": "Are you sure you want to delete", - "replica.delete_file_confirmation_2": "from your uploads", - "replica.remove_favorite_confirmation_1": "Are you sure you want to remove", - "replica.remove_favorite_confirmation_2": "from your favorites", - "replica.share_file": "Share File", - "replica.download_and_view": "Download/View", - "replica.download": "Download", - "replica.copy_link": "Copy Replica Link", - "replica.find_file": "Find file", - "replica.file_drop_prompt": "Drop file to begin upload!", - "replica.empty_uploads_text1": "Click", - "replica.empty_uploads_text2": "here", - "replica.empty_uploads_text3": "to make your first post.", - "replica.error_header": "Oops", - "replica.error": "There was an error processing your request. Please try again.", - "replica.serp_empty": "Google has not returned any results for this query.", - "replica.disclaimer": "Lantern anonymizes your searches and protects them from third parties", - "settings.general": "General", - "settings.feedback": "Feedback", - "settings.autoLaunch": "Run Lantern on system start", - "settings.autoReport": "Securely report usage statistics to contribute to Lantern", - "settings.lantern_ads": "Show Lantern Ads", - "settings.lantern_ads_tooltip": "Lantern shows you ads on some websites to help support our service. No user information is collected or passed to our servers. If you turn this option off, you may still see ads, but they will not be from the Lantern network.", - "settings.proxyAll": "Proxy all traffic", - "settings.proxyAllHelpTitle": "WHAT DOES \"PROXY ALL TRAFFIC\" DO?", - "settings.proxyAllHelp1": "If enabled, all traffic will be sent through Lantern (most Secure option).", - "settings.proxyAllHelp2": "If disabled, only blocked traffic will be sent through Lantern (fastest option, most common).", - "settings.show_advanced": "Show Advanced Settings", - "settings.hide_advanced": "Hide Advanced Settings", - "settings.systemProxy": "Manage system proxy", - "settings.title": "Settings", - "settings.http_proxy": "HTTP(S) proxy:", - "settings.socks_proxy": "SOCKS proxy:", - "settings.caution": "Caution:", - "settings.caution_text": "When you uncheck \"Manage system proxy\" your browser and applications won't be able to use Lantern automatically. If you know how to manually configure these settings refer to the information above.", - "settings.select_language": "Select Language", - "settings.diagnostics": "Attach Diagnostic Information", - "settings.diagnostics_tooltip": "Attaching diagnostic information will send the Lantern team data captured from your connection. This will increase our ability to identify and solve your issue.", - "status.lantern": "Lantern is", - "status.click_reconnect": "Click here to reconnect", - "status.server_location": "Server Location", - "status.tooltip1": "Lantern uses smart server selection to connect you to our best data centers.", - "status.tooltip2": "Upgrade to Lantern Pro for faster speed with optimized server selection from our exclusive Lantern Pro data centers", - "status.protected_connection": "Your Connection is Protected", - "status.please_wait": "This may take a minute or two...", - "status.connecting": "Connecting...", - "status.no_internet": "Off", - "status.no_internet_connection": "No Internet connection", - "status.connected": "On", - "status.disconnected": "Off", - "status.throttled": "Speed Throttled (Data Cap)", - "status.no_system_proxy": "{{status}}, not managing system proxy", - "status.fail_to_set_system_proxy": "Failed to set Lantern as system proxy", - "status.fail_to_open_browser": "Failed to open browser window to show the Lantern user interface", - "support.forum": "Lantern User Forum", - "support.faq": "FAQ", - "terms_of_service.acknowledgment": "By clicking {{buttonText}}, you agree to our Terms of Service", - "terms_of_service.replica": "By Searching, uploading or using our products in any way, you agree to our Terms of Service, Privacy Policy and DMCA Policy", - "top_sites.google": "Google", - "top_sites.twitter": "Twitter", - "top_sites.youtube": "Youtube", - "top_sites.facebook": "Facebook", - "top_sites.wikipedia": "Wikipedia", - "verify.header": "Enter or Paste Device Linking Pin", - "verify.code": "Device Linking Code", - "verify.howto_1": "If you have a Lantern Pro account on another device, please enter your e-mail address here to receive a code to authorize the device", - "verify.howto_1a": "You're currently an unauthorized Pro user. Please enter your e-mail address to authorize your Pro account. This will enable you to link multiple devices.", - "verify.howto_2": "To Link a Device to your Pro Account:", - "verify.howto_3": "1. Choose ‘Authorize Device for Pro from the Menu of your other device.", - "verify.howto_4": "2. Enter the linking pin obtained from step 1, and submit.", - "verify.reminder": "*Ensure both devices are running the most recent version of Lantern", - "verify.enter_pin": "Enter or Paste Device Linking Pin", - "verify.submit": "Submit", - "verify.title": "Account Verification", - "welcomeToPro.continue": "Continue to Pro", - "welcomeToPro.invite": "Invite friends and you will each get 3 months free when they purchase the two-year plan, the one year plan gets you each 1 month free. Start inviting!", - "welcomeToPro.thanks": "You now have unlimited access using our fastest data centers. Up to three devices can be connected to your account.", - "welcomeToPro.title": "Welcome To Lantern Pro", - "welomeToPro.title_exclamation": "Welcome to Lantern Pro!", - "purchase.failed": "Purchase failed. Please try again later.", - "purchase.success": "Purchase Success", - "purchase.success_title": "Welcome to Lantern {{planType}}!", - "purchase.success_content_pro": "You now have unlimited access using our fastest data centers. Up to three devices can be connected to your account.", - "purchase.success_content_platinum": "You now have unlimited access using our dedicated lines and fastest data centers. Up to three devices can be connected to your account.", - "welcomeToPro.description": "You now have unrestricted access to blocked sites and services", - "messages.copied_to_clipboard": "Code Copied. Share it with your friends!", - "messages.datacap": "You have used your free high speed data. Upgrade to Pro for unlimited high speed data.", - "messages.fatal_error": "Sorry, we're having trouble contacting the Lantern servers. Please check your internet connection and try again.", - "messages.backend_gone": "Sorry, Lantern appears to no longer be running. Please restart Lantern and try again.", - "messages.get_help": "Get Help", - "freeProCredits.title": "Invite Friends", - "freeProCredits.shareWithFriends": "Share your code with friends to earn free months!", - "freeProCredits.shareWithFriendsDesc": "When your friend purchases the two year plan you will each get 3 months free, the one year plan gets you each 1 month free.", - "cards.serverLocation.unknown": "Unknown", - "cards.serverLocation.description": "Optimized Server Location", - "cards.serverLocation.description-free": "Server Location", - "cards.serverLocation.description-upgrade": "Upgrade for Faster Servers", - "cards.serverLocation.title": "Current Location:", - "cards.serverLocation.location": "%s, %s", - "cards.serverLocation.text": "Lantern uses smart server selection to automatically find you the fastest connection possible from our data centers in Tokyo, Singapore, Hong Kong, San Francisco, New York, Amsterdam, Bangalore and more.", - "cards.serverLocation.text-free": "Lantern uses smart server selection to connect you to our best data centers.", - "cards.serverLocation.upgrade-link": "Upgrade to Lantern Pro for faster speed with optimized server selection from our exclusive Lantern Pro data centers.", - "cards.httpsUpgrades.description": "HTTPS Upgrades", - "cards.httpsUpgrades.title": "HTTPS Upgrades: %d", - "cards.httpsUpgrades.text": "Lantern automatically upgrades unsecure HTTP connections to encrypted HTTPS connections when possible to keep your information private while surfing the web.", - "cards.adsBlocked.description": "Ads Blocked", - "cards.adsBlocked.title": "Blocked Ads: %d", - "cards.adsBlocked.text": "Lantern blocks intrusive ads to speed up web page loading time, save bandwidth, and to give you a smoother browsing experience.", - "cards.dataUsage.description": "Data Usage", - "cards.dataUsage.upgrade": "Upgrade now", - "cards.dataUsage.mb-used": "You have used %d/%dMB of your monthly high speed data.", - "cards.dataUsage.upgrade-link": "Upgrade now for unlimited high speed service!", - "cards.subscription.description": "Pro Subscription", - "cards.subscription.renew": "Renew", - "cards.subscription.months": "You have %d months of Lantern Pro left in your subscription.", - "cards.subscription.days": "You have %d days of Lantern Pro left in your subscription.", - "cards.subscription.unit.months": "MO", - "cards.subscription.unit.days": "DAYS", - "cards.subscription.renew-link": "Renew your subscription to add more time.", - "auth.email": "Email", - "auth.username": "Username", - "auth.username.or.email": "Username or Email", - "auth.signin": "Sign In", - "current.password": "Current Password", - "new.password": "New Password", - "auth.change.password": "Change Password", - "confirm.new.password": "Confirm New Password", - "auth.password": "Password", - "auth.have.recovery.phrase": "Have a Recovery Phrase?", - "auth.forgot.password": "Forgot or do not have password?", - "auth.create.account": "Create Account", - "auth.missing.username": "Missing username", - "auth.missing.current.password": "Missing current password", - "auth.missing.new.password": "Missing new password", - "auth.missing.confirm.password": "Missing confirm password", - "invalid_credentials": "Invalid Credentials", - "yinbi.wallet": "Yinbi Wallet", - "create.wallet": "Create Wallet", - "new.to.yinbi": "New to Yinbi?", - "setup.wallet": "Yes, lets set up a new wallet!", - "web.wallet": "No, I have a Wallet on the Yin.bi Website", - "yinbi.next": "Next", - "yinbi.amount": "Amount", - "yinbi.missing.address": "No destination address provided", - "yinbi.missing.amount": "No amount specified", - "yinbi.missing.email": "No email address specified", - "yinbi.missing.username": "No username specified", - "yinbi.missing.password": "No password specified", - "yinbi.invalid.address": "{{destination}} is not a valid Stellar address", - "yinbi.send": "Send", - "yinbi.to": "To:", - "yinbi.try_again": "Try again?", - "yinbi.success.transaction": "Transaction Successful!", - "yinbi.failure.transaction": "Transaction Failed", - "yinbi.confirm.transaction": "Confirm Transaction", - "yinbi.sent.details": "You sent {{amount}} YNB to {{destination}}", - "yinbi.sent.failure.details": "Your Transaction failed for the following reasons:", - "yinbi.recipient": "Recipient", - "yinbi.available.send": "You have {{balance}} YNB available to send", - "yinbi.wallet.header": "Wallet", - "yinbi.send.header": "Send Yinbi", - "yinbi.recovery.phrase": "Yinbi Recovery Phrase", - "yinbi.recover.account": "Enter or Paste your Yinbi Recovery Phrase to recover your Yinbi Wallet, and Lantern account", - "yinbi.recovery.desc": "Use this method if you want to sign in to a Yinbi Wallet in addition to your Lantern account", - "yinbi.redeem.codes": "Redeem Bulk Yinbi Codes", - "yinbi.obtain.codes": "Bulk Yinbi Redemption codes can be obtained from reseller.lantern.io", - "yinbi.receive.header": "Receive Yinbi", - "yinbi.this.is.your.wallet": "This is your Yinbi wallet address where people can send you YNB.", - "yinbi.your.address": "Your Address", - "yinbi.no.activity.header": "No Activity", - "yinbi.upgrade.pro.button": "Upgrade to Pro and Get Free Yinbi", - "yinbi.renew.pro.button": "Renew Pro and Get Free Yinbi", - "yinbi.wallet.activity_header": "Activity", - "yinbi.wallet.send": "Send", - "yinbi.wallet.receive": "Receive", - "yinbi.wallet.balance": "Balance", - "yinbi.wallet.getlantern.pro": "Get Lantern Pro + Free Yinbi", - "yinbi.redemption.codes": "Yinbi Redemption Codes", - "redeem_codes.title": "Redeem Yinbi Codes", - "redeem_codes.redeem_button_text": "Redeem", - "redeem_codes.cancel_button_text": "Cancel", - "redeem_codes.success": "Success", - "redeem_codes.errors.missing_codes": "No valid codes entered", - "redeem_codes.errors.invalid_codes": "Error, please check the highlighted codes. Crossed out codes are expired and can no longer be redeemed.", - "yinbi.new.account.text": "Once you send or receive Yinbi your transactions will appear here.", - "yinbi.createAccount": "Create Account", - "yinbi.confirm.account.text": "To make sure that you wrote the phrase down correctly, please enter the following words from your recovery phrase", - "create_account.invalid_words.error": "The words entered didn't match those of the recovery passphrase", - "yinbi.recovery_text": "This is your Yinbi Wallet Recovery Phrase. It is the ONLY way to recover your Yinbi Wallet\nin case of a forgotten password. Use a password manager or make a hard copy when\nstoring this phrase.", - "yinbi.recovery_confirm_text": "This is your Yinbi Wallet Recovery Phrase. It is the ONLY way to recover your Yinbi Wallet in case of a forgotten password. Use a password manager or make a hard copy when storing this phrase.", - "yinbi.import.wallet": "Import Wallet", - "yinbi.setup.wallet": "Set up Wallet", - "yinbi.importWallet": "Import Yin.bi Wallet", - "yinbi.import.wallet.continue": "Continue to Your Wallet", - "yinbi.import.wallet.success": "Import Wallet Success!", - "yinbi.wallet.text": "To access the Yinbi Wallet, you can Create an Account, Sign In or\nImport your wallet from Yin.bi if you have signed up on the Yin.bi\nwebsite before.", - "yinbi.wallet.pro.text": "To access the Yinbi Wallet, you can Create an Account, Import your wallet from Yin.bi if you have signed up before.", - "yinbi.recovery_subheader": "Yinbi Wallet Recovery Phrase", - "yinbi.import_wallet.subheader": "Import Yinbi Wallet", - "yinbi.import_wallet.text": "Sign in using your Yin.bi credentials to transfer your wallet to Lantern", - "yinbi.import_wallet.success": "Your Wallet has been imported successfully please add your email to complete account registration.", - "yinbi.import_wallet.success_subheader": "Import Success!", - "yinbi.import_wallet.button": "Import Yin.bi Wallet", - "yinbi.import_wallet.success_button": "Complete Registration", - "yinbi.recovery_passphrase.label_text": "Recovery Phrase", - "yinbi.recovery_passphrase.copy_button_text": "Copy", - "terms_of_service.notice": "Notice", - "terms_of_service.i_agree": "I agree", - "platinum": "Platinum", - "platinum.one_year": "1 year pricing", - "platinum.two_years": "2 year pricing", - "platinum.save": "Up to {{savings}}% savings!", - "platinum.unlimited": "Unlimited Data", - "platinum.logs": "No logs", - "platinum.devices": "Connect up to 3 devices", - "platinum.everything_in_pro": "Everything included in Pro", - "platinum.faster_data": "Faster data centers", - "platinum.dedicated": "Dedicated line", - "platinum.reliability": "Increased Reliability", - "platinum.platinum_one_year": "Lantern Platinum 1 year", - "platinum.platinum_two_years": "Lantern Platinum 2 years", - "platinum.pro_one_year": "Lantern Pro 1 year", - "platinum.pro_two_years": "Lantern Pro 2 years", - "platinum.total": "Total", - "platinum.free": "Free", - "platinum.credit.days": " + {{ days }} days", - "platinum.credit.months": "{{ months }} month(s)", - "platinum.upgrade": "Upgrade to Platinum", - "platinum.upgrade_details": "Dedicated Line + Faster Data centers!", - "platinum.unused_time_disclaimer": "Pro users upgrading to Platinum will see their converted Pro subscription listed as added time above.", - "p2p.opt_in_description": "Use your internet to help people access the internet uncensored", - "p2p.active_sharing_description": "Your internet sharing is on", - "p2p.dialog.title": "Share internet access", - "p2p.dialog.text.1": "Help others with restricted access to the internet by sharing your connection. By allowing access to your internet, you will be part of a network of volunteers that makes the internet more open.", - "p2p.dialog.text.2": "Sharing will not compromise your identity or safety. You can stop sharing your internet whenever you want.", - "p2p.dialog.yes_button": "YES, START SHARING", - "p2p.dialog.no_button": "CANCEL", - "p2p.banner.introducing": "INTRODUCING", - "top_sites.top_sites": "Top Sites" -} diff --git a/locale/translation/es.json b/locale/translation/es.json deleted file mode 100644 index fd753e3d2..000000000 --- a/locale/translation/es.json +++ /dev/null @@ -1,797 +0,0 @@ -{ - "LANTERN": "Lantern", - "pro": "Pro", - "BEAM": "Beam", - "TRAY_STATUS": "Estado: %v", - "TRAY_CONNECT": "Conectar", - "TRAY_DISCONNECT": "Desconectar", - "TRAY_SHOW": "Mostrar %s", - "TRAY_UPGRADE_TO_PRO": "Actualice a PRO", - "TRAY_QUIT": "Salir de %s", - "BACKEND_DATA_TITLE": "No hay más datos de alta velocidad de %s", - "BACKEND_DATA_MESSAGE": "¡Pásese a la versión Pro para seguir usando %s a toda velocidad!", - "BACKEND_DATA_PERCENT_TITLE": "Ha alcanzado %s de sus %s de datos", - "BACKEND_DATA_PERCENT_MESSAGE": "Ha usado %s de sus %s de datos de alta velocidad. ¡Pásese a una versión superior!", - "BACKEND_CLICK_LABEL": "Abrir", - "BACKEND_CLICK_LABEL_OPEN": "Abrir", - "BACKEND_CLICK_LABEL_HELP": "Ayuda", - "BACKEND_CLICK_LABEL_GOT_IT": "Lo tengo", - "BACKEND_AUTOUPDATED_TITLE": "Pasar %s a la versión %s", - "BACKEND_AUTOUPDATED_MESSAGE": "Se ha descargado %s %s. Reinicie %s para usarlo.", - "BACKEND_MITM_INSTALL_CERT": "%s quiere instalar un certificado personalizado para mejorar el rendimiento", - "BACKEND_MITM_INSTALL_CERT_WINDOWS_BODY": "Por favor, permita a %v efectuar cambios en su sistema", - "BACKEND_ALERT_TITLE": "Hay una alerta crítica que debe atender", - "BACKEND_INSTALL_DIAGNOSTIC_TOOLS": "%s necesita su permiso para instalar herramientas de diagnóstico. Esto nos ayudará a mejorar su experiencia con %s.", - "BACKEND_CONFIG_SAVE_ERROR_TITLE": "No se ha podido guardar la configuración", - "BACKEND_CONFIG_SAVE_ERROR_MESSAGE": "No se ha podido guardar la configuración. %s no puede garantizar que el tráfico se dirija mediante proxy correctamente.", - "about.content": "Lantern es una aplicación que proporciona acceso a la Internet abierta rápido, fiable y seguro.", - "app.error": "¡Algo salió mal!", - "about.faq": "Lea las Preguntas Frecuentes (FAQ) de Lantern", - "about.open": "Internet abierta para todos", - "about.questions": "¿Preguntas?", - "about.title": "Acerca de", - "account.add.password": "Añadir la contraseña de la cuenta", - "account.agree.terms": "Soy consciente de que, si pierdo mi contraseña, perderé\ntambién el acceso a la cuenta. Lantern no puede ayudarle\na recuperar la contraseña.", - "account.agree.terms.error": "Primero, debe aceptar las condiciones", - "account.cancel": "Cancelar cuenta Pro", - "account.created": "¡Cuenta creada!", - "account.create.pro.account.header": "Crear cuenta Pro", - "account.create.pro.account.text": "Lantern está cambiando la forma de gestionar las cuentas de usuario. A partir de ahora, los usuarios Pro tendrán que crear un nombre de usuario y una contraseña. Dichas credenciales se usarán para iniciar sesión en otros dispositivos y para acceder a características nuevas.", - "account.have.a.account": "¿Tiene cuenta?", - "account.link.username.pro": "Vincular nombre de usuario con cuenta Pro", - "account.recovery": "Recuperación de cuenta", - "account.recovery.link.device": "Vincular dispositivo", - "account.recovery.device.code": "Código de vinculación del dispositivo", - "account.recovery.device.enter.code": "Introduzca o pegue el PIN de vinculación del dispositivo", - "account.recovery.device.instructions.header": "Para vincular este dispositivo a su cuenta Pro:", - "account.recovery.device.instructions.step.one": "1. Seleccione la opción \"Vincular un dispositivo\" en el elemento de la pantalla Administración de cuenta de su dispositivo de escritorio Pro o en el menú de su dispositivo móvil Pro.", - "account.recovery.device.instructions.step.two": "2. Introduzca el código de vinculación del dispositivo, y envíelo.", - "account.recovery.device.instructions.part.three": "* Asegúrese de que ambos dispositivos tienen la versión más reciente de Lantern", - "account.recovery.method": "Elija un método para recuperar su cuenta", - "account.recovery.send.email": "Enviar correo electrónico", - "account.recovery.submit": "Enviar", - "account.recovery.success": "¡Vinculación completada!", - "account.pro_management": "Gestión de cuenta Pro", - "account.free_management": "Administración de cuenta", - "account.free.cap": "{{mb}} MB de datos gratuitos restantes. Se restablecen a las {{reset}}", - "account.free.cap.upgrade": "Actualice a Pro para datos de alta velocidad ilimitados", - "account.freelink.validFor": "válido para %s", - "account.freelink.desc": "Para autorizar a este dispositivo a utilizar su cuenta Pro:", - "account.freelink.step1": "1. Elija la opción \"Vincular un dispositivo\" en el menú de su dispositivo Pro", - "account.freelink.step2": "2. Introduzca el código de vinculación del dispositivo, y envíelo.", - "account.freelink.reminder": "* Asegúrese de que ambos dispositivos tienen la versión más reciente de Lantern", - "account.freelink.errorTitle": "Error al vincular", - "account.freelink.errorText": "¿Está seguro de que introdujo el código en su dispositivo Pro?", - "account.freelink.headerDesc": "Vincule este dispositivo a su cuenta Pro", - "account.freelink.title": "Código de vinculación del dispositivo", - "account.pro.charge": "Su cuenta será cargada automáticamente por otro año de Lantern Pro al final de su ciclo de facturación.", - "account.upgrade_pro": "Actualice a PRO", - "account.upgrade": "Cambiar a plan superior", - "account.upgrade_platinum": "Actualizar a Platinum", - "account.create": "Crear cuenta", - "account.email": "Correo electrónico", - "account.confirm.password": "Confirmar contraseña", - "account.password": "Contraseña", - "account.pro.email": "Correo electrónico:", - "account.pro.expiration": "Caducidad de la cuenta Pro", - "account.platinum.expiration": "Caducidad de la cuenta Platinum", - "account.pro.expired": "Su cuenta Pro ha caducado. Renuévela ahora para datos mensuales ilimitados.", - "account.pro.expiry": "Su cuenta pro caduca en %s días el %s.", - "account.pro.bonusMonths": "¡Esto incluye sus {{bonusMonths}} meses de bonus!", - "account.pro.thisdevice": "(Este dispositivo)", - "account.pro.logout": "CERRAR SESIÓN", - "account.pro.removedevice": "ELIMINAR", - "account.pro.devices": "Dispositivos Lantern Pro (hasta 3)", - "account.pro.device.confirm.title": "Dispositivo desautorizado", - "account.pro.device.confirm": "¿Está seguro de que quiere eliminar el dispositivo \"{{device}}\" de su cuenta de Lantern Pro?", - "account.pro.device.one.title": "Sólo un dispositivo", - "account.pro.device.one": "Lo sentimos, pero no puede eliminar su último dispositivo autorizado.", - "account.pro.linkingcode": "Código de vinculación de dispositivo:", - "account.pro.renew": "Renovar cuenta Pro", - "account.platinum.renew": "Renovar la cuenta Platinum", - "account.pro.renew_CN": "Renovar", - "account.prolink.errorTitle": "Error al vincular", - "account.prolink.errorText": "¿Está seguro de que copió el código correctamente desde su otro dispositivo?", - "account.prolink.successTitle": "Se ha vinculado el dispositivo", - "account.prolink.successText": "¡Ha vinculado con éxito su dispotivo! Por favor, espere un momento a que su otro dispositivo se transforme en pro automáticamente.", - "account.signin": "Iniciar sesión", - "account.signout": "Cerrar sesión", - "account.submit": "Enviar", - "account.username": "Nombre de usuario", - "account.switch.to.register": "Cambiar a Crear cuenta", - "account.switch.to.signin": "Cambiar a Iniciar sesión", - "account.invalid.username": "El nombre de usuario no es válido", - "account.invalid.email": "El correo electrónico no es válido", - "account.password.mismatch": "Las contraseñas no coinciden", - "account.password.short": "La contraseña es demasiado corta", - "account.password.lowercase": "La contraseña debe contener, al menos, una letra minúscula", - "account.password.uppercase": "La contraseña debe contener, al menos, una letra mayúscula", - "account.password.number": "La contraseña debe contener, al menos, un número", - "account.password.compromised": "La contraseña aparece en la lista de contraseñas no seguras", - "modal.register.free.header": "Regístrese o inicie sesión para acceder a la cartera Yinbi", - "modal.register.pro.header": "Añada la contraseña de la cuenta para acceder a la cartera Yinbi", - "modal.register.pro.signin.header": "Inicie sesión para acceder a la cartera Yinbi", - "modal.register.free.text": "Para usar la cartera Yinbi debe tener una cuenta en Lantern. Regístrese o\ninicie sesión para continuar.", - "modal.register.pro.text": "Para usar la cartera Yinbi debe añadir una contraseña a su cuenta de Lantern.", - "modal.register.pro.signin.text": "Para usar la cartera Yinbi, debe iniciar sesión con su cuenta de Lantern", - "adyen.paymentMethods.title": "Métodos de pago", - "adyen.paymentMethods.storedMethods": "Sus métodos de pago", - "adyen.paymentMethods.otherMethods": "Seleccione otro método de pago", - "adyen.paymentMethods.moreMethodsButton": "Mas métodos de pago", - "adyen.payButton": "Pagar", - "adyen.payButton.formatted": "Pagar %@", - "adyen.cancelButton": "Cancelar", - "adyen.dismissButton": "OK", - "adyen.storeDetails": "Guardar para mi próximo pago", - "adyen.payment.redirecting": "Se le redirigirá", - "adyen.payment.processing": "Su pago está siendo procesado", - "adyen.creditCard.title": "Datos de la tarjeta", - "adyen.creditCard.holderName": "Nombre del titular de la tarjeta", - "adyen.creditCard.holderName.placeholder": "J. Smith", - "adyen.creditCard.numberField.title": "Número de tarjeta", - "adyen.creditCard.numberField.placeholder": "1234 5678 9012 3456", - "adyen.creditCard.numberField.invalid": "Número de tarjeta no válido", - "adyen.creditCard.expiryDateField.title": "Fecha de caducidad", - "adyen.creditCard.expiryDateField.placeholder": "MM/AA", - "adyen.creditCard.expiryDateField.invalid": "Fecha de caducidad no válida", - "adyen.creditCard.expiryDateField.month": "Mes", - "adyen.creditCard.expiryDateField.month.placeholder": "MM", - "adyen.creditCard.expiryDateField.year.placeholder": "AA", - "adyen.creditCard.expiryDateField.year": "Año", - "adyen.creditCard.cvcField.title": "CVC/CVV", - "adyen.creditCard.cvcField.placeholder": "123", - "adyen.creditCard.installmentsField": "Número de cuotas", - "adyen.creditCard.storeDetailsButton": "Guardar esta tarjeta para mi próximo pago", - "adyen.creditCard.oneClickVerification.title": "Verifique su tarjeta", - "adyen.creditCard.oneClickVerification.message": "Introduzca el código CVC para %@", - "adyen.creditCard.oneClickVerification.invalidInput.title": "CVC no válido", - "adyen.creditCard.oneClickVerification.invalidInput.message": "Por favor ingrese un CVC válido para continuar", - "adyen.sepaDirectDebit.ibanField.title": "Número de cuenta (IBAN)", - "adyen.sepaDirectDebit.ibanField.placeholder": "NL53 ABNA 1925 1294 122", - "adyen.sepaDirectDebit.ibanField.invalid": "Número de cuenta no válido", - "adyen.sepaDirectDebit.nameField.title": "Nombre del titular", - "adyen.sepaDirectDebit.nameField.placeholder": "J. Smith", - "adyen.sepaDirectDebit.consentButton": "Acepto que el importe que figura a continuación se cargue en mi cuenta bancaria.", - "adyen.sepa.ownerName": "Nombre del titular", - "adyen.sepa.ibanNumber": "Número de cuenta (IBAN)", - "adyen.giropay.searchField.placeholder": "Nombre del banco / BIC / Código bancario", - "adyen.giropay.minimumLength": "Mínimo 3 caracteres", - "adyen.giropay.noResults": "No hay resultados de búsqueda", - "adyen.error.title": "Error", - "adyen.error.subtitle.redirect": "La redirección falló", - "adyen.error.subtitle.payment": "El pago falló", - "adyen.error.subtitle.refused": "Pago rechazado", - "adyen.error.message.unknown": "Se produjo un error desconocido", - "adyen.error.message.cannotConnectToInternet": "Fallo de conexión a Internet: compruebe su conexión a Internet.", - "adyen.error.message.cannotConnectToHost": "Fallo de conexión a nuestro servidor de pagos.", - "adyen.error.retryButton": "Pruebe de nuevo", - "adyen.idealIssuer.selectField.title": "Banco", - "adyen.idealIssuer.selectField.placeholder": "Seleccione su banco", - "adyen.creditCard.success": "El pago se ha completado", - "adyen.oneClick.confirmationAlert.title": "Confirmar el pago con %@", - "adyen.redirect.cannotOpenApp.title": "No se puede abrir la aplicación", - "adyen.redirect.cannotOpenApp.appNotInstalledMessage": "Esta aplicación no se pudo abrir porque no está instalada en este dispositivo.", - "adyen.holderName": "Nombre del titular de la tarjeta", - "adyen.countryCode": "Código de país", - "adyen.telephone.number": "Número de teléfono", - "android.download": "Lantern para Android", - "android.download.title": "Descargar Lantern para Android", - "authorize.title": "Autorizar dispositivo para Pro", - "authorize.step1.have_pro_device": "Tengo otro dispositivo Lantern Pro", - "authorize.step1.link": "Vinculación de dispositivo", - "authorize.step1.email_linking": "Vinculación de correo electrónico", - "authorize.device_linking_explanation": "Use este método si ha iniciado sesión con otro dispositivo y lo tiene a mano", - "authorize.device_email_explanation": "Use este método si quiere recibir un PIN de vinculación de dispositivo por correo electrónico", - "authorize.link_device": "Vincular dispositivo", - "authorize.step1.choose": "Elija un método para vincular su cuenta", - "authorize.step1.or": "o", - "authorize.step1.recover": "Necesito recuperar mi cuenta de Lantern Pro", - "authorize.step1.start": "iniciar recuperación", - "authorize.step1.no_mail": "¿No recuerda su dirección de correo electrónico?", - "authorize.step1.description": "Introduzca su correo electrónico y, si la cuenta ya existe, le enviaremos un mensaje con un código de vinculación de dispositivo", - "authorize.step2b.enter_code": "Introduzca su código de recuperación de cuenta", - "authorize.step2b.code": "Código de recuperación de cuenta", - "authorize.step2b.instruction": "Si la cuenta {{email}} existe, habrá recibido un código de recuperación. El correo electrónico puede tardar varias horas en llegar. Si no lo encuentra, mire en su carpeta de correo no deseado.", - "authorize.step2b.no_mail": "No recibí el correo", - "authorize.step3.recovery": "Recuperación de cuenta", - "authorize.step3.no_email": "¡Uups! Estamos teniendo problemas para encontrar esa dirección de correo electrónico. Por favor, proporcione más información debajo para ayudarnos a encontrar su cuenta.", - "authorize.step3.no_code_received": "¿Está teniendo problemas para recibir el correo de recuperación? Introduzca la información de debajo y contactaremos con usted en las próximas 48 horas.", - "authorize.step3.your_email": "Su dirección de correo electrónico", - "authorize.step3.payment_method": "Método de pago", - "authorize.step3.payment_method_hint": "Seleccione el método de pago que usó para adquirir Pro", - "authorize.step3.credit_card": "Tarjeta de crédito", - "authorize.step3.alipay": "Alipay", - "authorize.step3.android_pay": "Android Pay", - "authorize.step3.by_referral": "Recibí Pro por referir a un amigo", - "authorize.step3.payment_account": "Cuenta de pago", - "authorize.step3.payment_account_hint": "Introduzca la información de su cuenta de Alipay", - "authorize.step3.referral_code": "Su código de referencia", - "authorize.step3.purchase_date": "Fecha de compra", - "authorize.step3.note": "Por favor, anote cualquier otra información que pueda ayudarnos a encontrar su cuenta.", - "authorize.step4.title": "Recuperación de cuenta en-marcha", - "authorize.step4.text1": "¡Gracias! Hemos recibido su petición de recuperación de cuenta.", - "authorize.step4.text2": "Por favor, permítanos 48 horas para recuperar la información de su cuenta Pro.", - "authorize.step4.text3": "Enviaremos información a la dirección de correo electrónico introducida en la pantalla anterior.", - "authorized.continue": "Continuar hacia Pro", - "authorized.continue.lantern": "Continuar con Lantern", - "authorized.text": "¡Este dispositivo ahora está autorizado para usar su cuenta Lantern Pro!", - "authorized.title": "Dispositivo autorizado", - "button.account": "Cuenta", - "button.renew": "Renovar", - "button.upgrade": "Actualizar", - "button.upgrade_now": "Actualizar ahora", - "button.upgrade_to_lantern_pro": "Actualizar a Lantern Pro", - "button.copy_your_code": "Copiar su código", - "button.try_again": "Pruebe de nuevo", - "button.continue": "Continuar", - "button.continue_to": "Continuar a {{planType}}", - "bullet.click_button": "Haga clic en el botón de debajo", - "bullet.paste_code": "Pegue el código y el enlace de descarga en un mensaje", - "bullet.send_to_friends": "Envíelo a sus amigos", - "cancel": "Cancelar", - "confirm": "Confirmar", - "norecoveryyinbi": "* No recupera la cartera Yinbi", - "email.recovery.check.email": "Revise su correo electrónico para ver si hay un mensaje con un código de recuperación", - "email.recovery.code.label": "Introduzca o pegue el código de recuperación", - "email.recovery.no.code": "¿No ha recibido ningún código?", - "email.recovery.text": "Introduzca su correo electrónico y le enviaremos un código para restablecer su contraseña.\nSi ya cuenta con una cartera Yinbi, NO la recuperará de esta forma. Para ello, deberá introducir su frase de recuperación de Yinbi.", - "email.recovery.desc": "Use este método si quiere recibir un código de recuperación por correo electrónico", - "device.recovery.desc": "Use este método si ha iniciado sesión con otro dispositivo y lo tiene a mano", - "google_search": "Búsqueda en Google", - "giveaway.upgrade": "Mejore su versión para recibir la distribución gratuita de hoy", - "giveaway.title_released_today": "{{formattedTokens}} YNB emitidos hoy", - "giveaway.what_is_it": "¿En qué consiste el sorteo de Yinbi?", - "giveaway.description1": "La fundación Yinbi sortea 888 000 millones de YNB en criptomoneda exclusivamente a través de Lantern a quienes adquieran Lantern Pro.", - "giveaway.description2": "Los YNB se distribuirán al final de cada día en función de la cantidad de Yinbi emitidos ese día, el número de personas que mejoran su versión o la renuevan, y el número de años o cuentas que se adquieren. Los YNB se ingresarán directamente en su cartera Yinbi de Lantern.", - "giveaway.learn_more": "Más información", - "link_device": "¿Tiene ya una cuenta Pro? Vincule el dispositivo", - "email.recovery": "Recuperación de correo electrónico", - "email_taken": "Correo electrónico ya registrado", - "username_taken": "El nombre de usuario ya está registrado", - "err.unknown_error": "Error desconocido", - "err.internal_error": "Error interno", - "err.bad_input": "Entrada errónea", - "err.not_authorized": "No autorizado", - "err.user_exists": "El usuario existe", - "err.no_such_user": "No existe tal usuario", - "err.user_already_verified": "El usuario ya está verificado", - "err.invalid_user_verification": "Verificación de usuario no válida", - "err.user_unverified": "Usuario no verificado", - "err.operation_temporarily_unavailable": "Operación temporalmente no disponible", - "err.wrong_or_inexistent_plan": "Plan erróneo o inexistente", - "err.user_has_active_subscription": "El usuario tiene una suscripción activa", - "err.payment_error": "Error en el pago", - "err.no_codes_left": "No se han dejado códigos de referencia", - "err.wrong_code": "Código de referencia erróneo", - "err.redeeming_own_code_not_allowed": "Los códigos de cupón de uno mismo no están permitidos", - "err.wrong_charge_id": "Identificador (ID) de cargo erróneo", - "err.wrong_link_code": "Código de vinculación erróneo", - "err.invalid_credentials": "Las credenciales de usuario introducidas no eran válidas", - "footer.reseller": "¡Haga negocio! Conviértase en un proveedor de Lantern Pro. Haga clic aquí", - "footer.reseller.email_subject": "¡Hábleme sobre el Programa de Proveedores de Lantern!", - "footer.reseller.email_body": "Cuando se convierta en un Proveedor de Lantern tendrá la oportunidad de cargar hasta un 25% adicional en cada venta de una suscripción a Lantern Pro. Cuéntenos debajo un poco acerca de por qué quiere convertirse en un proveedor.", - "feature.faster_speed": "Mayor velocidad", - "feature.faster": "Centros de datos más rápidos", - "feature.unlimited": "Datos ilimitados", - "feature.nologs": "No hay registros", - "feature.devices": "Conecte hasta 3 dispositivos", - "feature.noads": "Sin publicidad", - "feature.yinbi.tooltip": "La fundación Yinbi va a regalar 888 000 millones de criptomonedas YNB exclusivamente a través de Lantern a todas aquellas personas que adquieran Lantern Pro. Los YNB se distribuirán al final de cada día, en función de la cantidad de Yinbi emitidos ese día, el número de personas que mejoran su versión o la renuevan, y el número de años o cuentas que se adquieren. ¡Los YNB se depositarán directamente en su cartera Yinbi en Lantern!", - "feature.antiblock": "Resistente al bloqueo", - "feature.data_center": "Mejores centros de datos", - "feature.free_yinbi": "¡Criptomonedas Yinbi gratis!", - "free.title": "Lantern Pro", - "free.desc": "Más rápido. Más robusto. Ilimitado. Seguro.", - "free.link_account": "¿Ya tiene una cuenta Pro? Enlace su cuenta.", - "home.get_lantern_pro": "Consiga Lantern Pro", - "home.get_lantern_platinum": "Cambiar a un plan superior", - "home.welcome_popup_subheader": "¡Bienvenido al nuevo Lantern!", - "home.welcome_popup_content_1": "Hemos trabajado duro para actualizar Lantern e incorporar características nuevas.", - "home.welcome_popup_content_2": "Puede usar la barra de búsqueda de nuestra nueva IU para encontrar los archivos compartidos de la red Lantern. También puede publicar un archivo usted mismo para aportar contenido. Se trata de una característica Beta, así que pruébela y díganos qué le parece. Tendremos en cuenta sus comentarios para seguir mejorando.", - "home.welcome_popup_button": "Probar", - "input.email": "Correo electrónico", - "input.your_email": "Su dirección de correo electrónico", - "input.confirm_email": "Confirmar direcciones de correo electrónico", - "input.enter_email": "Introduzca su correo electrónico", - "input.use_valid_email": "Escriba una dirección de correo electrónico válida", - "input.email_not_match": "Los campos de correo electrónico no coinciden", - "input.existing_email": "Correo electrónico existente", - "issue.your_email": "Su dirección de correo electrónico", - "issue.attach_image_failure": "No se puede adjuntar la imagen", - "issue.try_again": "Por favor, inténtelo de nuevo", - "issue.select_issue": "Por favor, seleccione un problema", - "issue.selected_issue": "Seleccione un problema", - "issue.select_issue_hint": "Seleccione un problema del menú desplegable", - "issue.note": "Describa su problema", - "issue.description": "Descripción del problema", - "issue.error": "Problema al informar de error", - "issue.submit": "Enviar informe", - "issue.report_screenshot": "Arrastre la imagen o haga clic para subir la captura de pantalla", - "issue.reported": "Gracias por informarnos sobre su problema. Nos pondremos en contacto con usted por correo electrónico en cuanto podamos", - "issue.report_sent": "Informe enviado", - "issue.type.no_access": "No se puede acceder a sitios bloqueados", - "issue.type.payment_fail": "No se puede completar el pago", - "issue.type.cannot_login": "No se puede iniciar sesión", - "issue.type.always_spinning": "El indicador de carga gira permanentemente", - "issue.type.slow": "Lento", - "issue.type.cannot_link_device": "No se pueden vincular dispositivos", - "issue.type.crashes": "Lantern se cae", - "issue.type.other": "Otro", - "languages.title": "Idiomas", - "lantern.email": "Correo electrónico de Lantern", - "mobile.link": "Use el enlace para descargar Lantern en su dispositivo Android:", - "mobile.title": "Obtenga la versión Android", - "nav.about": "Acerca de", - "nav.account": "Administración de cuenta", - "nav.authorize": "Añadir dispositivo", - "nav.authorized": "Dispositivo autorizado", - "nav.unauthorized_link": "Autorizar dispositivo para Pro", - "nav.language": "Idioma", - "nav.lantern": "Lantern", - "nav.mobile": "Obtener versión móvil", - "nav.report_issue": "Informar de un problema", - "nav.settings": "Configuración", - "nav.support": "Soporte", - "nav.verify": "Verificación de cuenta", - "nav.yinbi": "Canje de Yinbi", - "nav.home": "Principal", - "nav.discover": "Descubrir", - "nav.wallet": "Cartera", - "nav.yinbi_wallet": "Cartera Yinbi", - "notification.retry": "Reintentar", - "notifications": "Notificaciones", - "notifications.whatisnew": "¿Qué novedades hay?", - "password.change": "Cambiar contraseña", - "password.changed": "Contraseña cambiada", - "continue.to.pro": "Continuar hacia Pro", - "username": "Nombre de usuario", - "password.new": "Nueva contraseña", - "password.requirements": "
La contraseña debe:
  • Tener 8 o más caracteres
  • Incluir 1 letra minúscula
  • Incluir 1 letra mayúscula
  • Contener al menos un número
  • No constar en una lista de contraseñas no seguras
", - "password.reset": "Restablecer contraseña", - "paxful.buy": "Comprar", - "paxful.payment": "Método de pago", - "paxful.bitcoin": "Bitcoin (BTC)", - "paxful.tether": "Tether (USDT)", - "paxful.wallet": "Carteras en línea", - "paxful.bank": "Transferencias bancaria", - "paxful.gamer_card": "Tarjetas de juego", - "paxful.gift_card": "Tarjetas regalo", - "paxful.cash": "Pago en efectivo", - "paxful.digital_currency": "Divisas digitales", - "paxful.button": "Mostrar las mejores ofertas", - "payment.close": "Cerrar", - "payment.redirectErrorTitle": "Error al conectarse al servidor de pago", - "payment.redirectErrorText": "Estamos trabajando para resolver el problema. Vuelva a comprobarlo más tarde.", - "payment.wait_for_pro": "¡Gracias por su compra de Lantern Pro! Por favor, espere un momento para que su Lantern cambie automáticamente a Pro.", - "payment.moreOptions": "Más opciones", - "payment.fewerOptions": "Menos opciones", - "payment_methods.select_name": "Seleccione método de pago", - "payment_methods.alipay": "Tarjeta de crédito/Alipay", - "payment_methods.shetab": "Fast World Pay (Shetab)", - "payment_methods.shetab.details.header": "Para adquirir Lantern Pro", - "payment_methods.shetab.details.body": "Cuando haga clic en Continuar con la compra, se le redirigirá a un sitio externo para completar el pago y obtener su código de activación.", - "payment_methods.shetab.details.tutorial_header": "Tutorial persa", - "payment_methods.shetab.details.purchase_voucher_button": "Continuar con la compra", - "payment_methods.shetab.details.input_code_button": "Introduzca el código de activación", - "plan.step1": "Paso 1", - "plan.apply": "Aplicar", - "plan.step2": "Paso 2", - "plan.most_popular": "¡El preferido!", - "plan.step3": "Paso 3", - "plan.choose_plan": "Elegir plan", - "plan.enter_email": "Introducir correo electrónico", - "plan.choose_method": "Elegir método de pago", - "plan.bestValue": "¡La mejor oferta!", - "plan.per_month": "al mes", - "plan.yinbi_2x": "¡Más el doble de Yinbi!", - "plan.oneYear": "1 año", - "plan.add_referral": "Añadir código de referencia", - "plan.years": "Años del plan: {{years}}", - "plan.desc": "Una sola factura de {{price}}", - "plan.bonus_months": "{{bonusMonths}} meses más", - "plan.price.cny": "%.02f ¥", - "plan.price.usd": "%.02f $", - "plan.currency.cny": "(RMB)", - "plan.currency.usd": "(USD)", - "plan.time_unit": "/Año", - "plan.select": "Seleccionar", - "plan.two_year": "Dos años", - "plan.one_year": "Un año", - "plan.savings": "Ahorrar un {{formattedDiscount}} %", - "plans.title": "Tarifas de Lantern Pro", - "plans.lantern_pro": "Lantern Pro", - "plans.platforms": "Para Windows, Android, Mac y Ubuntu.", - "plans.from_reseller": "¿Tiene un código de activación de Lantern Pro? Haga clic aquí.", - "plans.with_voucher_code": "¿Tiene un código de activación? Haga clic aquí.", - "pro.apply": "Sus créditos se aplicarán a su cuenta en el próximo ciclo de facturación.", - "pro.title": "Invite a amigos, obtenga más Pro de forma gratuita", - "pro.subtitle": "Cuando su amigo adquiera la tarifa bianual ambos obtendrán 3 meses adicionales de Pro, la tarifa anual les proporciona a ambos 1 mes gratis.", - "pro.share": "¡Comparta su código con amigos para comenzar a ganar más créditos!", - "promotion.title": "Registro de Lantern Pro", - "promotion.title.activation": "Activación de Lantern Pro", - "promotion.enter_and_confirm_email": "Por favor, introduzca y confirme su correo electrónico", - "promotion.code.hint": "Introduzca el código de referencia de su amigo (opcional)", - "promotion.code.label": "Código de referencia", - "promotion.payment": "Continuar hacia el pago", - "promotion.payment.btc": "Pagar con ₿", - "promotion.loading": "Cargando...", - "promotion.howto_1y": "Si un amigo compartió su código de referencia con usted, introduzca el código para recibir un mes de Lantern Pro gratis tras registrarse.", - "promotion.howto_2y": "Si un amigo compartió su código de referencia con usted, introduzca el código para recibir tres meses de Lantern Pro gratis tras registrarse.", - "promotion.pay": "A pagar {{amount}}", - "promotion.select": "Seleccionar", - "promotion.promotion_applied_1y": "1 mes más de bonificación", - "promotion.promotion_applied_2y": "3 meses más de bonificación", - "promotion.too_many_referrals": "El código de referencia ya ha sido añadido. Regístrese ahora para recibir sus meses extra.", - "promotion.activation.enter_and_confirm_email": "Por favor, introduzca y confirme su dirección de correo electrónico para registrar su cuenta de Lantern Pro.", - "promotion.activation.label": "XXXXX-XXXXX-XXXXX-XXXXX-XXXXX", - "promotion.activation.hint": "Código de Activación", - "promotion.activation.instructions": "Introduzca su correo electrónico y el código de activación de 25 dígitos que le haya mandado el distribuidor para crear una cuenta.", - "promotion.activation.howto": "Por favor, introduzca arriba su código de activación de Lantern Pro de 25 caracteres. Si no tiene un código, por favor, adquiera Pro en la siguiente pantalla o busque un proveedor de Lantern Pro en línea.", - "promotion.activation.continue": "Regístrese en Pro", - "promotion.voucher.hint": "Código de Activación", - "promotion.voucher.howto": "Introduzca el código de activación de 12 caracteres de Fast World Pay que se muestra arriba", - "promotion.voucher.label": "XXXXXXXXXXXX", - "promotion.voucher.error.default": "Error al canjear su código de activación.", - "promotion.voucher.error.invalid_code": "Código de activación invalido", - "promotion.voucher.error.invalid_plan": "Código de activación asociado a un plan no válido", - "promotion.voucher.error.already_redeemed": "El código de activación ya ha sido canjeado", - "referral.code": "Código de referencia", - "referral.text": "¡Use mi código %s y recibirá 3 meses gratis cuando se registre!", - "referral.description_free": "¡Dele su código a sus amigos y obtenga un mes del servicio Lantern Pro gratis cuando compren la versión Pro!", - "referral.description_pro": "¡Dele su código a sus amigos y obtenga un mes más del servicio Lantern Pro gratis cuando compren la versión Pro!", - "register": "Registrarse", - "renew.subtitle_early": "¡Renueve por 3 meses gratis!", - "renew.subtitle_last_day": "¡Renueve por 3 meses gratis!", - "renew.subtitle_expired": "¡Renuévese por 45 días libres!", - "renew.details_early": "Tu membresía de Lantern Pro terminará pronto. ¡Renuévela ahora y disfrute de hasta tres meses gratis!", - "renew.details_last_day": "¡Tu membresía de Lantern Pro termina hoy! ¡Renuévela ahora y disfrute de hasta tres meses gratis!", - "renew.details_expired": "Su membresía de Lantern Pro ha expirado. ¡Renuévela ahora y disfrute de hasta cuarenta y cinco días gratis!", - "renew.asterisk_early": "* Esta oferta de tiempo limitado sólo es válida para renovaciones anticipadas.", - "renew.asterisk_last_day": "* ¡Esta es tu última oportunidad de recibir esta oferta especial!", - "renew.asterisk_expired": "* ¡Esta es una oferta por tiempo limitado!", - "renew.plan_label": "Lantern Pro - %s", - "renew.plan_renewal_bonus_1_month": "$%d%s + 1 MES GRATIS", - "renew.plan_renewal_bonus_months": "$%d%s + %d MESES GRATIS", - "renew.plan_renewal_bonus_days": "$%d%s + %d DÍAS GRATIS", - "renew.next": "siguiente", - "renew.decline": "Declinar oferta", - "renew.decline_question": "¿Está seguro de que quiere declinar esta oferta?", - "renew.decline_yes": "Renovar más tarde", - "renew.decline_dismiss": "Renovar ahora", - "renew.notification_title_30_days": "¡Renueve Pro ahora para obtener enormes descuentos!", - "renew.notification_title_30_days_platinum": "¡Renueve Platinum ahora para obtener enormes descuentos!", - "renew.notification_text_30_days": "Su cuenta de {{planName}} caduca en {{remainingDays}} días. Renueve ahora y obtenga hasta 3 meses gratis.", - "renew.notification_title_2_days": "¡El descuento para {{planName}} finaliza mañana!", - "renew.notification_text_2_days": "Su cuenta de {{planName}} caduca mañana. No deje pasar este fantástico descuento.", - "renew.notification_title_last_day": "¡Última oportunidad para obtener un descuento!", - "renew.notification_text_last_day": "Su cuenta de {{planName}} ha caducado. Renueve hoy y obtenga hasta 3 meses gratis.", - "replica.upload": "Subir", - "replica.favorite": "Marcar favorito", - "replica.added_to_favorites": "Añadido a favoritos", - "replica.filedrop_error": "Error al subir este archivo", - "replica.filedrop_error.file-too-large": "El tamaño máximo de archivo permitido es {{fileSize}}", - "replica.filedrop_error.file-too-small": "El archivo es demasiado pequeño", - "replica.filedrop_error.too-many-files": "Demasiados archivos", - "replica.filedrop_error.file-invalid-type": "No se admite este tipo de archivo en este momento", - "replica.filedrop_remove_file": "Eliminar de la cola", - "replica.post": "Subir archivo", - "replica.relevance": "Relevancia", - "replica.upload_date": "Fecha de subida", - "replica.gallery_view": "Vista de galería", - "replica.list_view": "Vista de lista", - "replica.copy_lantern_link": "Copiar enlace de Lantern", - "replica.documents": "Documentos", - "replica.audio": "Audio", - "replica.application": "Aplicaciones", - "replica.image": "Imágenes", - "replica.video": "Vídeos", - "replica.web": "Web", - "replica.news": "Noticias", - "replica.upload_alert.dont_show": "No volver a mostrar", - "replica.upload_alert.cancel": "Cancelar subida", - "replica.upload_alert.resume": "Reanudar subida", - "replica.upload_alert.info": "¡Información importante!", - "replica.upload_alert.desc1": "Los archivos subidos a Lantern se distribuyen y no están centralizados. Una vez que otro usuario accede a ellos, nadie puede borrarlos de la red, ni siquiera a Lantern, incluso si se borran de su lista de \"Mis archivos\".", - "replica.upload_alert.desc2": "No utilice información de identificación personal en el archivo ni en el nombre de archivo al subir contenido confidencial.", - "replica.add_details": "Añadir datos", - "replica.cannot_edit": "Una vez que se publican los nombres de los archivos, ya no se pueden modificar.", - "replica.next": "Siguiente", - "replica.previous": "Anterior", - "replica.selectAll": "Seleccionar todo", - "replica.search_replica": "Buscar", - "replica.search_results_info": "Esta pestaña solo muestra los resultados de Lantern.", - "replica.search_results_info_message": "Los resultados de Lantern pueden incluir contenidos subidos a la red Lantern por usuarios.", - "replica.no_files_found": "No hay resultados", - "replica.or_content": "su propio contenido para que otras personas lo encuentren", - "replica.try_again": "Pruebe con una palabra clave diferente o", - "replica.upload_success": "¡Subida completada!", - "replica.cannot_preview": "No hay vista previa para este tipo de archivo", - "replica.no_description": "No se ha facilitado ninguna descripción", - "replica.size": "Tamaño", - "replica.uploaded": "Subido", - "replica.invalid_link": "Enlace no válido", - "replica.close": "Cerrar", - "replica.files": "Archivos", - "replica.upload_history": "Historial de subida", - "replica.my_favorites": "Favoritos", - "replica.no_uploads": "Aún no se ha subido nada", - "replica.no_favorites": "Aún no hay favoritos", - "replica.mime_type": "Tipo de archivo: {{mime}}", - "replica.image_loading_error": "Error al cargar la imagen", - "replica.play": "Reproducir", - "replica.pause": "Pausar", - "replica.scrub": "Limpiar", - "replica.skip_forward": "Saltar hacia delante", - "replica.skip_backwards": "Saltar hacia atrás", - "replica.trending_videos": "Vídeos populares", - "replica.file_uploaded": "Subida: hace {{days}} días", - "replica.file_size": "Tamaño", - "replica.duration": "Duración", - "replica.filename": "Nombre del archivo", - "replica.filename_required": "Póngale un nombre a su archivo", - "replica.description_optional": "Añadir descripción", - "replica.expand": "Expandir datos", - "replica.filetype": "Tipo de archivo", - "replica.sortby": "Ordenar por", - "replica.link": "Enlace de la réplica", - "replica.collapse": "Cerrar", - "replica.publish": "Publicar", - "replica.cancel": "Cancelar", - "replica.progress_current_upload": "Subida de", - "replica.progress_files": "archivos", - "replica.progress_of": "de", - "replica.progress_upload_complete": "Finalizar", - "replica.progress_upload_failure": "Error de subida. Por favor, inténtelo de nuevo.", - "replica.upload_in_progress": "Subida en curso", - "replica.upload_pending": "Subida pendiente", - "replica.upload_error": "Error de subida", - "replica.upload_cancel": "Cancelar subida", - "replica.upload_confirm": "¿Seguro que quiere cancelar la subida?", - "replica.progress_view": "Ver", - "replica.delete": "Borrar", - "replica.remove": "Eliminar", - "replica.delete_file": "Eliminar archivo", - "replica.remove_favorite": "Eliminar de favoritos", - "replica.failed_to_delete": "No se ha podido eliminar", - "replica.failed_to_remove": "No se ha podido eliminar", - "replica.link_lookup_failure": "No se encontró el enlace", - "replica.delete_file_confirmation_1": "¿Seguro que quiere borrar", - "replica.delete_file_confirmation_2": "de sus subidas", - "replica.remove_favorite_confirmation_1": "¿Seguro que quiere eliminar esto", - "replica.remove_favorite_confirmation_2": "de sus favoritos?", - "replica.share_file": "Compartir archivo", - "replica.download_and_view": "Descargar/Ver", - "replica.download": "Descargar", - "replica.copy_link": "Copiar enlace de réplica", - "replica.find_file": "Buscar archivo", - "replica.file_drop_prompt": "¡Suelte el archivo para iniciar la subida!", - "replica.empty_uploads_text1": "Haz clic", - "replica.empty_uploads_text2": "aquí", - "replica.empty_uploads_text3": "para elaborar tu primera publicación.", - "replica.error_header": "Vaya", - "replica.error": "Se ha producido un problema al procesar su solicitud. Inténtelo de nuevo.", - "replica.serp_empty": "Google no ha arrojado ningún resultado para esta consulta.", - "replica.disclaimer": "Lantern hace anónimas sus búsquedas y las protege de terceras partes", - "settings.general": "General", - "settings.feedback": "Comentarios", - "settings.autoLaunch": "Ejecutar Lantern en el arranque del sistema", - "settings.autoReport": "Enviar de forma segura las estadísticas de uso para contribuir a Lantern", - "settings.lantern_ads": "Mostrar anuncios de Lantern", - "settings.lantern_ads_tooltip": "Lantern pondrá anuncios en algunos sitios web, ya que esto nos ayuda a financiar nuestro servicio. La información de los usuarios no se recopila ni se almacena en nuestros servidores. Si desactiva esta opción, es posible que siga viendo anuncios, pero no serán los de la red Lantern.", - "settings.proxyAll": "Proxyficar todo", - "settings.proxyAllHelpTitle": "¿QUÉ HACE \"PROXYFICAR TODO\"?", - "settings.proxyAllHelp1": "Si está habilitado, todo el tráfico se enviará a través de Lantern (opción más segura).", - "settings.proxyAllHelp2": "Si está deshabilitado, sólo el tráfico bloqueado se enviará a través de Lantern (opción más rápida, la más común).", - "settings.show_advanced": "Mostrar configuración avanzada", - "settings.hide_advanced": "Ocultar configuración avanzada", - "settings.systemProxy": "Administrar proxy de sistema", - "settings.title": "Configuración", - "settings.http_proxy": "Proxy HTTP(S):", - "settings.socks_proxy": "Proxy SOCKS:", - "settings.caution": "Cuidado:", - "settings.caution_text": "Cuando desmarca \"Administrar proxy de sistema\" su navegador y aplicaciones no podrán usar Lantern automáticamente. Si sabe cómo configurar manualmente estos ajustes, indique la información arriba.", - "settings.select_language": "Seleccionar idioma", - "settings.diagnostics": "Adjuntar información de diagnóstico", - "settings.diagnostics_tooltip": "Si adjunta la información de diagnóstico, el equipo de Lantern recibirá los datos que se hayan recopilado de su conexión. De este modo, usted tendrá más posibilidades de identificar y resolver su problema.", - "status.lantern": "Lantern es", - "status.click_reconnect": "Haga clic aquí para volver a conectarse", - "status.server_location": "Ubicación del servidor", - "status.tooltip1": "Lantern utiliza selección inteligente de servidor para conectarle a nuestros mejores centros de datos.", - "status.tooltip2": "Pásese a Lantern Pro para una mayor velocidad con una selección optimizada de servidores de nuestros exclusivos centros de datos Lantern Pro.", - "status.protected_connection": "Su conexión está protegida", - "status.please_wait": "Puede tardar uno o dos minutos...", - "status.connecting": "Conectando...", - "status.no_internet": "Desconectado", - "status.no_internet_connection": "No hay conexión a Internet", - "status.connected": "Conectado", - "status.disconnected": "Desconectado", - "status.throttled": "Velocidad contenida (tope de datos)", - "status.no_system_proxy": "{{status}}, no se gestiona el proxy del sistema", - "status.fail_to_set_system_proxy": "No se ha podido establecer Lantern como proxy del sistema", - "status.fail_to_open_browser": "No se ha abierto la ventana del navegador para mostrar la interfaz de usuario de Lantern", - "support.forum": "Foro de Lantern", - "support.faq": "Preguntas frecuentes (FAQ)", - "terms_of_service.acknowledgment": "Al hacer clic en {{buttonText}}, acepta nuestras condiciones del servicio", - "terms_of_service.replica": "Al buscar contenido, subir archivos o utilizar nuestros productos de cualquier manera, acepta nuestras condiciones del servicio, nuestra política de privacidad y nuestra política de DMCA", - "top_sites.google": "Google", - "top_sites.twitter": "Twitter", - "top_sites.youtube": "YouTube", - "top_sites.facebook": "Facebook", - "top_sites.wikipedia": "Wikipedia", - "verify.header": "Introduzca o pegue el PIN de vinculación del dispositivo", - "verify.code": "Código de vinculación del dispositivo", - "verify.howto_1": "Si tiene una cuenta Lantern Pro en otro dispositivo, por favor, introduzca su dirección de correo electrónico aquí para reciibir un código con el que autorizar el dispositivo.", - "verify.howto_1a": "Actualmente usted es un usuario Pro no autorizado. Por favor, introduzca su dirección de correo electrónico para autorizar su cuenta Pro. Esto le habilitará para vincular múltiples dispositivos.", - "verify.howto_2": "Para vincular un dispositivo a su cuenta Pro:", - "verify.howto_3": "1. Seleccione \"Autorizar dispositivo para Pro\" en el menú del otro dispositivo.", - "verify.howto_4": "2. Introduzca el PIN de vinculación obtenido en el paso 1 y envíelo.", - "verify.reminder": "* Asegúrese de que ambos dispositivos tienen la versión más reciente de Lantern", - "verify.enter_pin": "Introduzca o pegue el PIN de vinculación del dispositivo", - "verify.submit": "Enviar", - "verify.title": "Verificación de cuenta", - "welcomeToPro.continue": "Continuar hacia Pro", - "welcomeToPro.invite": "Invite a amigos, y por cada uno ambos recibirán 3 meses gratis cuando este adquiera la tarifa bianual, por la tarifa anual ambos recibirán 1 mes gratis. ¡Empiece a invitar!", - "welcomeToPro.thanks": "Ahora dispone de acceso ilimitado con nuestros centros de datos más rápidos. Puede vincular hasta tres dispositivos a su cuenta.", - "welcomeToPro.title": "Bienvenido a Lantern Pro", - "welomeToPro.title_exclamation": "¡Bienvenido a Lantern Pro!", - "purchase.failed": "Error de compra. Inténtelo de nuevo.", - "purchase.success": "Compra realizada", - "purchase.success_title": "¡Le damos la bienvenida a Lantern {{planType}}!", - "purchase.success_content_pro": "Ahora dispone de acceso ilimitado con nuestros centros de datos más rápidos. Puede vincular hasta tres dispositivos a su cuenta.", - "purchase.success_content_platinum": "Ahora dispone de acceso ilimitado con nuestras líneas dedicadas y centros de datos más rápidos. Puede vincular hasta tres dispositivos a su cuenta.", - "welcomeToPro.description": "Ahora tiene acceso sin restricciones a sitios y servicios bloqueados", - "messages.copied_to_clipboard": "Código copiado. ¡Compártalo con sus amigos!", - "messages.datacap": "Ha usado sus datos gratuitos de alta velocidad. Actualice a Pro para datos de alta velocidad ilimitados.", - "messages.fatal_error": "Lo sentimos, estamos teniendo problemas al contactar con los servidores de Lantern. Por favor, compruebe su conexión a Internet e inténtelo de nuevo.", - "messages.backend_gone": "Lo sentimos, Lantern parece que ya no se está ejecutando. Por favor, reinicie Lantern e inténtelo de nuevo.", - "messages.get_help": "Obtener ayuda", - "freeProCredits.title": "Invitar amigos", - "freeProCredits.shareWithFriends": "¡Comparta su código con amigos para obtener meses gratis!", - "freeProCredits.shareWithFriendsDesc": "Cuando su amigo adquiera la tarifa de dos años ambos obtendrán 3 meses gratis, con la tarifa de un año ambos obtendrán 1 mes gratis.", - "cards.serverLocation.unknown": "Desconocido", - "cards.serverLocation.description": "Ubicación optimizada del servidor", - "cards.serverLocation.description-free": "Ubicación del servidor", - "cards.serverLocation.description-upgrade": "Actualice para obtener servidores más rápidos", - "cards.serverLocation.title": "Ubicación actual:", - "cards.serverLocation.location": "%s, %s", - "cards.serverLocation.text": "Lantern utiliza selección inteligente de servidor para encontrarle automáticamente la conexión más rápida posible desde nuestros centros de datos en Tokyo, Singapur, Hong Kong, San Francisco, Nueva York, Amsterdam, Bangalore y otros.", - "cards.serverLocation.text-free": "Lantern utiliza selección inteligente de servidor para conectarle a nuestros mejores centros de datos.", - "cards.serverLocation.upgrade-link": "Actualice a Lantern Pro para una velocidad más rápida con selección optimizada de servidor desde nuestros exclusivos centros de datos de Lantern Pro.", - "cards.httpsUpgrades.description": "Actualizaciones a HTTPS", - "cards.httpsUpgrades.title": "Actualizaciones a HTTPS: %d", - "cards.httpsUpgrades.text": "Lantern actualiza automáticamente las conexiones HTTP no seguras a conexiones HTTPS cifradas cuando sea posible para mantener privada su información mientras navega por la web.", - "cards.adsBlocked.description": "Publicidad bloqueada", - "cards.adsBlocked.title": "Publicidad bloqueada: %d", - "cards.adsBlocked.text": "Lantern bloquea publicidad intrusiva para acortar el tiempo de carga de la web, ahorrar ancho de banda, y darle una experiencia de navegación más suave.", - "cards.dataUsage.description": "Uso de datos", - "cards.dataUsage.upgrade": "Actualizar ahora", - "cards.dataUsage.mb-used": "Ha usado %d/%dMB de sus datos de alta velocidad mensuales.", - "cards.dataUsage.upgrade-link": "¡Actualice ahora para un servicio de alta velocidad ilimitado!", - "cards.subscription.description": "Suscripción Pro", - "cards.subscription.renew": "Renovar", - "cards.subscription.months": "Aún tiene %d meses de Lantern Pro en su suscripción.", - "cards.subscription.days": "Aún tiene %d días de Lantern Pro en su suscripción.", - "cards.subscription.unit.months": "MM", - "cards.subscription.unit.days": "DD", - "cards.subscription.renew-link": "Renueve su suscripción para añadir más tiempo.", - "auth.email": "Correo electrónico", - "auth.username": "Nombre de usuario", - "auth.username.or.email": "Nombre de usuario o correo electrónico", - "auth.signin": "Iniciar sesión", - "current.password": "Contraseña actual", - "new.password": "Nueva contraseña", - "auth.change.password": "Cambiar contraseña", - "confirm.new.password": "Confirmar nueva contraseña", - "auth.password": "Contraseña", - "auth.have.recovery.phrase": "¿Tiene una frase de recuperación?", - "auth.forgot.password": "¿Olvidó la contraseña o no tiene ninguna?", - "auth.create.account": "Crear cuenta", - "auth.missing.username": "Falta el nombre de usuario", - "auth.missing.current.password": "Falta la contraseña actual", - "auth.missing.new.password": "Falta la nueva contraseña", - "auth.missing.confirm.password": "Falta la confirmación de la contraseña", - "invalid_credentials": "Credenciales no válidas", - "yinbi.wallet": "Cartera Yinbi", - "create.wallet": "Crear cartera", - "new.to.yinbi": "¿Es la primera vez que usa Yinbi?", - "setup.wallet": "Sí. ¡Vamos a crear una cartera!", - "web.wallet": "No, tengo ninguna cartera en el sitio web Yin.bi", - "yinbi.next": "Siguiente", - "yinbi.amount": "Cantidad", - "yinbi.missing.address": "No se ha facilitado ninguna dirección de destino", - "yinbi.missing.amount": "No se ha especificado ninguna cantidad", - "yinbi.missing.email": "No se ha especificado ninguna dirección de correo electrónico", - "yinbi.missing.username": "No se ha especificado ningún nombre de usuario", - "yinbi.missing.password": "No se ha especificado ninguna contraseña", - "yinbi.invalid.address": "{{destination}} no es una dirección de Stellar válida", - "yinbi.send": "Enviar", - "yinbi.to": "Para:", - "yinbi.try_again": "¿Intentar de nuevo?", - "yinbi.success.transaction": "¡Transacción completada!", - "yinbi.failure.transaction": "La transacción falló", - "yinbi.confirm.transaction": "Confirmar transacción", - "yinbi.sent.details": "Ha enviado {{amount}} YNB a {{destination}}", - "yinbi.sent.failure.details": "Su transacción falló por las siguientes razones:", - "yinbi.recipient": "Destinatario", - "yinbi.available.send": "Tiene {{balance}} YNB que puede enviar", - "yinbi.wallet.header": "Cartera", - "yinbi.send.header": "Enviar Yinbi", - "yinbi.recovery.phrase": "Frase de recuperación de Yinbi", - "yinbi.recover.account": "Introduzca o pegue su frase de recuperación de Yinbi para recuperar su cartera Yinbi y su cuenta de Lantern", - "yinbi.recovery.desc": "Use este método si quiere acceder a una cartera Yinbi además de su cuenta de Lantern", - "yinbi.redeem.codes": "Canjear códigos de Yinbi en bloque", - "yinbi.obtain.codes": "Los códigos de canje de Yinbi en bloque pueden obtenerse en reseller.lantern.io", - "yinbi.receive.header": "Recibir Yinbi", - "yinbi.this.is.your.wallet": "Esta es la dirección de su cartera Yinbi donde la gente puede enviarle YNB.", - "yinbi.your.address": "Su dirección", - "yinbi.no.activity.header": "No hay actividad", - "yinbi.upgrade.pro.button": "Pásese a Pro y consiga Yinbi gratis", - "yinbi.renew.pro.button": "Renueve Pro y consiga Yinbi gratis", - "yinbi.wallet.activity_header": "Actividad", - "yinbi.wallet.send": "Enviar", - "yinbi.wallet.receive": "Recibir", - "yinbi.wallet.balance": "Saldo", - "yinbi.wallet.getlantern.pro": "Consiga Lantern Pro + Yinbi gratis", - "yinbi.redemption.codes": "Códigos de canje de Yinbi", - "redeem_codes.title": "Canjear códigos de Yinbi", - "redeem_codes.redeem_button_text": "Canjear", - "redeem_codes.cancel_button_text": "Cancelar", - "redeem_codes.success": "Operación completada", - "redeem_codes.errors.missing_codes": "Los códigos introducidos no son válidos", - "redeem_codes.errors.invalid_codes": "Error. Compruebe los códigos resaltados. Los códigos tachados han caducado y ya no pueden ser canjeados.", - "yinbi.new.account.text": "Una vez que envíe o reciba Yinbi, sus operaciones aparecerán aquí.", - "yinbi.createAccount": "Crear cuenta", - "yinbi.confirm.account.text": "Para asegurarse de que ha escrito la frase correctamente, introduzca las siguientes palabras de su frase de recuperación", - "create_account.invalid_words.error": "Las palabras introducidas no coincidían con las de la frase de recuperación", - "yinbi.recovery_text": "Esta es su frase de recuperación de la cartera Yinbi. Es la ÚNICA forma de recuperar su catrera Yinbi\nen caso de que no se acuerde de la contraseña. Use un administrador de contraseñas o anótela en papel para\nguardarla.", - "yinbi.recovery_confirm_text": "Esta es su frase de recuperación de la cartera Yinbi. Es la ÚNICA forma de recuperar su catrera Yinbi en caso de que no se acuerde de la contraseña. Use un administrador de contraseñas o anótela en papel para guardarla.", - "yinbi.import.wallet": "Importar cartera", - "yinbi.setup.wallet": "Configurar cartera", - "yinbi.importWallet": "Importar cartera de Yin.bi", - "yinbi.import.wallet.continue": "Continuar con su cartera", - "yinbi.import.wallet.success": "¡Importación de cartera completada!", - "yinbi.wallet.text": "Para acceder a la cartera Yinbi, puede crear una cuenta, iniciar sesión o\nimportar la cartera de Yin.bi si ya se ha registrado en el sitio web Yin.bi.", - "yinbi.wallet.pro.text": "Para acceder a la cartera Yinbi, puede crear una cuenta e importar la cartera de Yin.bi si ya se ha registrado en el sitio web Yin.bi.", - "yinbi.recovery_subheader": "Frase de recuperación de la cartera Yinbi", - "yinbi.import_wallet.subheader": "Importar cartera Yinbi", - "yinbi.import_wallet.text": "Inicie sesión con sus credenciales de Yin.bi para transferir su cartera a Lantern", - "yinbi.import_wallet.success": "Su cartera se ha importado. Añada su correo electrónico para terminar de registrar la cuenta.", - "yinbi.import_wallet.success_subheader": "¡Importación completada!", - "yinbi.import_wallet.button": "Importar cartera de Yin.bi", - "yinbi.import_wallet.success_button": "Completar registro", - "yinbi.recovery_passphrase.label_text": "Frase de recuperación", - "yinbi.recovery_passphrase.copy_button_text": "Copiar", - "terms_of_service.notice": "Aviso", - "terms_of_service.i_agree": "Acepto", - "platinum": "Platinum", - "platinum.one_year": "Precio por 1 año", - "platinum.two_years": "Precio por 2 años", - "platinum.save": "Descuento de hasta el {{savings}} %", - "platinum.unlimited": "Datos ilimitados", - "platinum.logs": "No hay registros", - "platinum.devices": "Conecte hasta 3 dispositivos", - "platinum.everything_in_pro": "Todo lo incluido con Pro", - "platinum.faster_data": "Centros de datos más rápidos", - "platinum.dedicated": "Línea dedicada", - "platinum.reliability": "Mayor fiabilidad", - "platinum.platinum_one_year": "1 año de Lantern Platinum", - "platinum.platinum_two_years": "2 años de Lantern Platinum", - "platinum.pro_one_year": "1 año de Lantern Pro", - "platinum.pro_two_years": "2 años de Lantern Pro", - "platinum.total": "Total", - "platinum.free": "Gratis", - "platinum.credit.days": "+ {{ days }} días", - "platinum.credit.months": "{{ months }} mes(es)", - "platinum.upgrade": "Actualizar a Platinum", - "platinum.upgrade_details": "Línea dedicada y centros de datos más rápidos", - "platinum.unused_time_disclaimer": "Los usuarios Pro que cambien a Platinum verán su suscripción a Pro convertida a tiempo añadido arriba.", - "p2p.opt_in_description": "Utilice su conexión para que otras personas puedan acceder a Internet sin censura", - "p2p.active_sharing_description": "Su uso compartido de Internet está activado", - "p2p.dialog.title": "Comparta el acceso a Internet", - "p2p.dialog.text.1": "Comparta su conexión para ayudar a personas que tengan acceso restringido a Internet. Al permitir que estas disfruten de su conexión a Internet, pasará a formar parte de una red de voluntarios que hace de Internet un lugar más abierto.", - "p2p.dialog.text.2": "El uso compartido no pondrá en peligro su identidad ni su seguridad. Además, puede dejar de compartir su conexión a Internet cuando quiera.", - "p2p.dialog.yes_button": "SÍ, INICIAR EL USO COMPARTIDO", - "p2p.dialog.no_button": "CANCELAR", - "p2p.banner.introducing": "INTRODUCCIÓN", - "top_sites.top_sites": "Los mejores sitios" -} \ No newline at end of file diff --git a/locale/translation/et.json b/locale/translation/et.json deleted file mode 100644 index 59cc830d4..000000000 --- a/locale/translation/et.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "TRAY_SHOW_LANTERN": "Show Lantern", - "TRAY_QUIT": "Quit Lantern" -} \ No newline at end of file diff --git a/locale/translation/fa.json b/locale/translation/fa.json deleted file mode 100644 index 699274b61..000000000 --- a/locale/translation/fa.json +++ /dev/null @@ -1,797 +0,0 @@ -{ - "LANTERN": "لنترن", - "pro": "Pro", - "BEAM": "Beam", - "TRAY_STATUS": "وضعیت: %v", - "TRAY_CONNECT": "متصل", - "TRAY_DISCONNECT": "قطع شدن", - "TRAY_SHOW": "نمایش %s", - "TRAY_UPGRADE_TO_PRO": "ارتقاء به نسخه ویژه (پرو)", - "TRAY_QUIT": "خروج از %s", - "BACKEND_DATA_TITLE": "داده‌های سرعت بالای %s دیگری وجود ندارد", - "BACKEND_DATA_MESSAGE": "لطفاً برای ادامه استفاده از %s با بیشترین سرعت، به Pro ارتقا دهید!", - "BACKEND_DATA_PERCENT_TITLE": "مصرف شما به %s از %s حجم داده رسیده است", - "BACKEND_DATA_PERCENT_MESSAGE": "%s از داده پرسرعت %s خود را مصرف کرده‌اید. اکنون طرحتان را ارتقا دهید!", - "BACKEND_CLICK_LABEL": "باز کنید", - "BACKEND_CLICK_LABEL_OPEN": "باز کنید", - "BACKEND_CLICK_LABEL_HELP": "کمک", - "BACKEND_CLICK_LABEL_GOT_IT": "فهمیدم/گرفتم", - "BACKEND_AUTOUPDATED_TITLE": "%s را به نسخه %s ارتقا دهید", - "BACKEND_AUTOUPDATED_MESSAGE": "%s %s دانلود شد. لطفاُ برای استفاده از آن، %s را مجدداً راه‌اندازی کنید.", - "BACKEND_MITM_INSTALL_CERT": "%s می‌خواهد برای بهبود عملکرد، گواهینامه‌ای سفارشی را نصب کند", - "BACKEND_MITM_INSTALL_CERT_WINDOWS_BODY": "لطفا اجازه دهیدتا ٪ v در سیستم شما تغییر ایجاد کند.", - "BACKEND_ALERT_TITLE": "هشدار مهم نیازمند توجه شماست", - "BACKEND_INSTALL_DIAGNOSTIC_TOOLS": "%s برای نصب ابزارهای عیب‌یابی به مجوز شما نیاز دارد. این کار به ما در بهبود تجربه %s شما کمک می‌کند.", - "BACKEND_CONFIG_SAVE_ERROR_TITLE": "امکان ذخیره تنظیمات پیکربندی وجود ندارد", - "BACKEND_CONFIG_SAVE_ERROR_MESSAGE": "امکان ذخیره تنظیمات پیکربندی وجود ندارد. %s نمی تواند تضمین کند که ترافیک به درستی پروکسی می شود.", - "about.content": "لنترن یک برنامه‌ای است که اتصال دائم، پر سرعت و امن را با اینترنت ازاد فراهم می‌کند.", - "app.error": "خطایی رخ داده است!", - "about.faq": "پرسشهای متداول لنترن را بخوانید", - "about.open": "اینترنت بدون فیلتر برای همه", - "about.questions": "پرسش ها", - "about.title": "‫‫درباره‬", - "account.add.password": "افزودن گذرواژه حساب", - "account.agree.terms": "می‌دانم درصورت گم کردن گذرواژه‌ام، دیگر به حسابم دسترسی نخواهم داشت. Lantern نمی‌تواند در بازیابی گذرواژه‌تان به شما کمک کند.", - "account.agree.terms.error": "ابتدا باید با شرایط موافقت کنید", - "account.cancel": "لغو حساب ویژه (پرو)", - "account.created": "حساب ایجاد شد!", - "account.create.pro.account.header": "ایجاد حساب Pro", - "account.create.pro.account.text": "Lantern درحال تغییر مدیریت حساب‌های کاربر است. ازحالا به بعد، کاربران Pro باید نام کاربری و گذرواژه ایجاد کنند. از این اطلاعات کاربری برای ورود به سیستم سایر دستگاه‌ها و ارائه دسترسی به ویژگی‌های جدید استفاده خواهد شد.", - "account.have.a.account": "حساب دارید؟", - "account.link.username.pro": "پیوند کردن نام کاربری به حساب Pro", - "account.recovery": "بازیابی حساب", - "account.recovery.link.device": "پیوند دادن دستگاه", - "account.recovery.device.code": "کد اتصال دستگاه‌", - "account.recovery.device.enter.code": "پین پیوند دستگاه را وارد یا پیست کنید", - "account.recovery.device.instructions.header": "برای ارتباط این دستگاه با حساب ویژه (پرو) خود:", - "account.recovery.device.instructions.step.one": "1. گزینه «پیوند دادن دستگاه» را از مورد روی صفحه «مدیریت حساب» در دستگاه Desktop Pro یا از منو در دستگاه Mobile Pro انتخاب کنید.", - "account.recovery.device.instructions.step.two": "کد اتصال دستگاه را وارد و تسلیم کنید.", - "account.recovery.device.instructions.part.three": "*مطمئن شوید هر دو دستگاه از جدیدترین نسخه Lantern استفاده می‌کنند", - "account.recovery.method": "لطفاً روشی را برای بازیابی حساب انتخاب کنید", - "account.recovery.send.email": "ارسال ایمیل", - "account.recovery.submit": "ثبت اطلاعات", - "account.recovery.success": "پیوند دادن با موفقیت انجام شد!", - "account.pro_management": "مدیریت حساب نسخه حرفه‌ای", - "account.free_management": "مدیریت حساب", - "account.free.cap": "{{mb}} مگابایت داده رایگان باقی مانده است. در {{reset}} بازنشانی می‌شود", - "account.free.cap.upgrade": "برای مصرف نامحدود اینترنت پرسرعت به لنترن ویژه (پرو) بپیوندید.", - "account.freelink.validFor": "معتبر برای %s", - "account.freelink.desc": "برای این که به این دستگاه اجازه استفاده از حساب Pro خود را بدهید، کارهای زیر را انجام دهید:", - "account.freelink.step1": "1. گزینه «Link a Device» (پیوند به یک دستگاه) را از منوی موجود در دستگاه Pro خود انتخاب کنید", - "account.freelink.step2": "کد اتصال دستگاه را وارد و تسلیم کنید.", - "account.freelink.reminder": "*مطمئن شوید که هر دو دستگاه دارای آخرین نسخه Lantern هستند", - "account.freelink.errorTitle": "خطا در پیونددِهی", - "account.freelink.errorText": "آیا مطمئن هستید که کد را در دستگاه ویژه خود وارد کردید؟", - "account.freelink.headerDesc": "این دستکاه را به حساب ویژه (پرو) خود متصل کنید", - "account.freelink.title": "کد اتصال دستگاه‌", - "account.pro.charge": "بعد از پایان حساب سالیانه لنترن ویژه (پرو)، حساب کاربری شما به طور خودکار برای یک سال دیگر شارژ می‌شود.", - "account.upgrade_pro": "ارتقاء به نسخه ویژه (پرو)", - "account.upgrade": "ارتقا‌‌ء", - "account.upgrade_platinum": "ارتقا به نسخه Platinum", - "account.create": "ایجاد حساب", - "account.email": "ایمیل", - "account.confirm.password": "تأیید گذرواژه", - "account.password": "رمز ورود", - "account.pro.email": "ایمیل:", - "account.pro.expiration": "انقضای حساب Pro", - "account.platinum.expiration": "انقضای حساب Platinum", - "account.pro.expired": "حساب کاربری شما منقضی شده است .اکنون برای اطلاعات ماهانه ی نامحدود تجدید کنید.", - "account.pro.expiry": "حساب کاربری حرفه ای شما در%s روز منقضی و در %sبه پایان می رسد.", - "account.pro.bonusMonths": " این شامل پاداش {{bonusMonths}} ماهانه شما می‌شود!", - "account.pro.thisdevice": "(این دستگاه)", - "account.pro.logout": "خروج", - "account.pro.removedevice": "حذف", - "account.pro.devices": "دستگاه‌های Lantern Pro (تا 3 دستگاه)", - "account.pro.device.confirm.title": "لغو مجوز دستگاه", - "account.pro.device.confirm": "مطمئن هستید می‌خواهید «{{device}}» را از حساب Lantern Pro خود بردارید؟", - "account.pro.device.one.title": "فقط یک دستگاه", - "account.pro.device.one": "متاسفانه نمی توانید آخرین دستگاه مجاز خود را حذف کنید.", - "account.pro.linkingcode": "کد اتصال دستگاه‌", - "account.pro.renew": "حساب ویژه  خود را تجدید کنید", - "account.platinum.renew": "تمدید حساب Platinum", - "account.pro.renew_CN": "تمید مجدد", - "account.prolink.errorTitle": "خطا در پیونددِهی", - "account.prolink.errorText": "آیا مطمئن هستید که خود کد درست را از دستگاه دیگر کپی کرده‌اید؟", - "account.prolink.successTitle": "دستگاه متصل شده", - "account.prolink.successText": "شما با موفقیت دستگاه خود را به لنترن وصل کردید! لطفا چند لحظه صبر کنید تا دستگاه‌های دیگرتان به صورت خودکار به لنترن ویژه (پرو) ارتقاء یابند.", - "account.signin": "وارد شوید", - "account.signout": "خروج از سیستم", - "account.submit": "ثبت اطلاعات", - "account.username": "نام کاربر", - "account.switch.to.register": "رفتن به «ایجاد حساب»", - "account.switch.to.signin": "رفتن به «ورود به سیستم»", - "account.invalid.username": "نام کاربری نامعتبر است", - "account.invalid.email": "ایمیل نامعتبر است", - "account.password.mismatch": "گذرواژه واردشده برای تأیید با گذرواژه اول مطابقت ندارد", - "account.password.short": "گذرواژه خیلی کوتاه است", - "account.password.lowercase": "گذرواژه باید حداقل یک حرف کوچک داشته باشد", - "account.password.uppercase": "گذرواژه باید حداقل یک حرف بزرگ داشته باشد", - "account.password.number": "گذرواژه باید حداقل یک عدد داشته باشد", - "account.password.compromised": "گذرواژه در فهرستی از گذرواژه‌های لورفته نشان داده می‌شود", - "modal.register.free.header": "ثبت‌نام یا ورود به سیستم برای دسترسی به «کیف پول Yinbi»", - "modal.register.pro.header": "افزودن گذرواژه حساب برای دسترسی به «کیف پول Yinbi»", - "modal.register.pro.signin.header": "برای دسترسی به «کیف پول Yinbi»، به سیستم وارد شوید", - "modal.register.free.text": "برای استفاده از «کیف پول Yinbi»، باید حساب Lantern داشته باشید؛ لطفاً «ثبت‌نام کنید» یا\n«برای ادامه وارد سیستم شوید».", - "modal.register.pro.text": "برای استفاده از «کیف پول Yinbi»، باید گذرواژه‌ای را به حساب Lantern خود اضافه کنید.", - "modal.register.pro.signin.text": "برای استفاده از کیف پول Yinbi، باید به حساب Lantern خود وارد شوید", - "adyen.paymentMethods.title": "روشهای پرداخت", - "adyen.paymentMethods.storedMethods": "روشهای پرداخت شما", - "adyen.paymentMethods.otherMethods": "سایر روشها را انتخاب کنید", - "adyen.paymentMethods.moreMethodsButton": "سایر روشهای پرداخت", - "adyen.payButton": "پرداخت", - "adyen.payButton.formatted": "پرداخت %@", - "adyen.cancelButton": "انصراف", - "adyen.dismissButton": "بسیار خوب", - "adyen.storeDetails": "برای پرداخت بعدی من ذخیره کن", - "adyen.payment.redirecting": "شما منتقل خواهید شد", - "adyen.payment.processing": "پرداخت شما در حال انجام است", - "adyen.creditCard.title": "جزئیات کارت", - "adyen.creditCard.holderName": "نام دارنده کارت", - "adyen.creditCard.holderName.placeholder": "جی. اسمیت", - "adyen.creditCard.numberField.title": "شماره کارت", - "adyen.creditCard.numberField.placeholder": "1234 5678 9012 3456", - "adyen.creditCard.numberField.invalid": "شماره کارت نادرست است", - "adyen.creditCard.expiryDateField.title": "تاریخ انقضا", - "adyen.creditCard.expiryDateField.placeholder": "سال/ماه", - "adyen.creditCard.expiryDateField.invalid": "تاریخ انقضا نادرست است", - "adyen.creditCard.expiryDateField.month": "ماه", - "adyen.creditCard.expiryDateField.month.placeholder": "ماه", - "adyen.creditCard.expiryDateField.year.placeholder": "سال", - "adyen.creditCard.expiryDateField.year": "سال", - "adyen.creditCard.cvcField.title": "CVC / CVV", - "adyen.creditCard.cvcField.placeholder": "123", - "adyen.creditCard.installmentsField": "تعداد اقساط", - "adyen.creditCard.storeDetailsButton": "این کارت را برای پرداخت بعدی من بخاطر بسپار", - "adyen.creditCard.oneClickVerification.title": "کارت خود را وریفای کنید", - "adyen.creditCard.oneClickVerification.message": "لطفا کد CVC را برای %@ وارد کنید", - "adyen.creditCard.oneClickVerification.invalidInput.title": "کد CVC نادرست است", - "adyen.creditCard.oneClickVerification.invalidInput.message": "لطفا برای ادامه، کد CVC معتبر را وارد کنید", - "adyen.sepaDirectDebit.ibanField.title": "شماره حساب (IBAN)", - "adyen.sepaDirectDebit.ibanField.placeholder": "NL53 ABNA 1925 1294 122", - "adyen.sepaDirectDebit.ibanField.invalid": "شماره حساب نادرست است", - "adyen.sepaDirectDebit.nameField.title": "نام صاحب حساب", - "adyen.sepaDirectDebit.nameField.placeholder": "جی. اسمیت", - "adyen.sepaDirectDebit.consentButton": "من موافق کسر مبلغ زیر از حساب بانکی خود هستم.", - "adyen.sepa.ownerName": "نام صاحب حساب", - "adyen.sepa.ibanNumber": "شماره حساب (IBAN)", - "adyen.giropay.searchField.placeholder": "نام بانک / Bankleitzahl / BIC", - "adyen.giropay.minimumLength": "حداقل 3 کاراکتر", - "adyen.giropay.noResults": "جستجو نتیجه ای در بر نداشت", - "adyen.error.title": "خطا", - "adyen.error.subtitle.redirect": "انتقال ناموفق", - "adyen.error.subtitle.payment": "پرداخت ناموفق", - "adyen.error.subtitle.refused": "پرداخت پذیرفته نشد", - "adyen.error.message.unknown": "یک خطای نامعلوم رخ داد", - "adyen.error.message.cannotConnectToInternet": "اتصال به اینترنت انجام نشد: لطفا اتصال اینترنت خود را بررسی کنید.", - "adyen.error.message.cannotConnectToHost": "اتصال به سرور پرداخت ما انجام نشد.", - "adyen.error.retryButton": "دوباره امتحان کنید", - "adyen.idealIssuer.selectField.title": "بانک", - "adyen.idealIssuer.selectField.placeholder": "بانک خود را انتخاب کنید", - "adyen.creditCard.success": "پرداخت موفق", - "adyen.oneClick.confirmationAlert.title": "پرداخت %@ را تایید کنید", - "adyen.redirect.cannotOpenApp.title": "اپلیکیشن باز نمی شود", - "adyen.redirect.cannotOpenApp.appNotInstalledMessage": "این اپلیکیشن نمی تواند باز شود، زیرا بر روی این دستگاه نصب نشده است.", - "adyen.holderName": "نام دارنده کارت", - "adyen.countryCode": "کد کشور", - "adyen.telephone.number": "شماره تلفن", - "android.download": "فانوس آندروید", - "android.download.title": "بارگیری Lantern Android", - "authorize.title": "تایید دستگاه برای نسخه حرفه ای", - "authorize.step1.have_pro_device": "من یک دستگاه لنترن حرفه ای دیگر دارم", - "authorize.step1.link": "پیوند به دستگاه", - "authorize.step1.email_linking": "پیوند به ایمیل", - "authorize.device_linking_explanation": "از این روش درصورتی استفاده کنید که وارد دستگاه دیگری شده‌اید و آن را با خود دارید", - "authorize.device_email_explanation": "از این روش در صورتی استفاده کنید که می‌خواهید پین پیوند دستگاه به ایمیلتان ارسال شود", - "authorize.link_device": "پیوند دادن دستگاه", - "authorize.step1.choose": "لطفاً روشی را برای پیوند حسابتان انتخاب کنید", - "authorize.step1.or": "یا", - "authorize.step1.recover": "لازم دارم که حساب لنترن حرفه ام را بازیابی کنم", - "authorize.step1.start": "شروع به بازیابی کن", - "authorize.step1.no_mail": "ایمیل خود را به یاد نمی آورید؟", - "authorize.step1.description": "ایمیل خود را وارد کنید و اگر حساب وجود دارد، یک ایمیل حاوی کد پیوند دستگاه را برایتان ارسال خواهیم کرد", - "authorize.step2b.enter_code": "کد بازیابی حساب خود را وارد کنید", - "authorize.step2b.code": "کد بازیابی حساب", - "authorize.step2b.instruction": "کد بازیابی در ایمیلی به نشانی ایمیل {{email}} ارسال شده است، البته اگر چنین ایمیلی وجود داشته باشد. ممکن است چند ساعت طول بکشد تا این ایمیل را دریافت کنید. اگر این ایمیل را پیدا نکردید، لطفاً پوشه هرزنامه‌تان را بررسی کنید.", - "authorize.step2b.no_mail": "ایمیلی دریافت نگردید", - "authorize.step3.recovery": "بازیابی حساب", - "authorize.step3.no_email": "آخ! برای پیدا کردن آن نشانی ایمیل به مشکل برخوردیم. لطفاً اطلاعاتی بیشتری در بخش زیر ارائه نموده تا در یافتن حساب شما به ما کمک کند", - "authorize.step3.no_code_received": "مشکلی در دریافت ایمیل بازیابی دارید؟ اطلاعات را در بخش زیر وارد نموده و ما ظرف 48 ساعت به شما تماس می گیریم.", - "authorize.step3.your_email": "ایمیل شما", - "authorize.step3.payment_method": "روش پرداخت", - "authorize.step3.payment_method_hint": "روش پرداختی که برای دریافت نسخه حرفه ای استفاده کردید را انتخاب کنید", - "authorize.step3.credit_card": "کارت اعتباری", - "authorize.step3.alipay": "علیپی", - "authorize.step3.android_pay": "پرداخت اندروید", - "authorize.step3.by_referral": "به واسطه ارجاع یک دوست، نسخه حرفه را گرفته", - "authorize.step3.payment_account": "حساب پرداخت", - "authorize.step3.payment_account_hint": "اطلاعات حساب علیپی خود را وارد کنید", - "authorize.step3.referral_code": "کد ارجاع شما", - "authorize.step3.purchase_date": "تاریخ خرید", - "authorize.step3.note": "لطفاً هر گونه اطلاعاتی که ممکن است در یافتن حساب شما به ما کمک کند را یادداشت کنید.", - "authorize.step4.title": "بازیابی حساب رو به پیشرفت است", - "authorize.step4.text1": "متشکریم! درخواست بازیابی حساب شما را دریافت کرده ایم.", - "authorize.step4.text2": "لطفاً برای بازیابی اطلاعات حساب حرفه ای خود تا 48 ساعت زمان بگذارید", - "authorize.step4.text3": "ما اطلاعات را به نشانی ایمیل وارد شده در صفحه قبلی ارسال خواهیم کرد.", - "authorized.continue": "به استفاده از لنترن ویژه ادامه دهید!", - "authorized.continue.lantern": "ادامه و رفتن به Lantern", - "authorized.text": "این دستگاه اکنون مجاز است که از حساب حرفه ای شما استفاده نماید!", - "authorized.title": "دستگاه مجاز", - "button.account": "حساب کاربری", - "button.renew": "تمدید مجدد", - "button.upgrade": "ارتقا‌‌ء", - "button.upgrade_now": "همین حالاارتقا بدهید", - "button.upgrade_to_lantern_pro": "رتقاء به نسخه Pro فانوس", - "button.copy_your_code": "کد خود را کپی کنید", - "button.try_again": "دوباره امتحان کنید", - "button.continue": "ادامه", - "button.continue_to": "ادامه و رفتن به {{planType}}", - "bullet.click_button": "بر روی دکمه زیر کلیک کنید", - "bullet.paste_code": "لینک دانلود و کد را در یک پیغام وارد کنید", - "bullet.send_to_friends": "به دوستان خود بفرستید", - "cancel": "انصراف", - "confirm": "تایید", - "norecoveryyinbi": "*«کیف پول Yinbi» را بازیابی نمی‌کند", - "email.recovery.check.email": "ایمیل خود را برای پیامی حاوی «کد بازیابی» بررسی کنید", - "email.recovery.code.label": "«کد بازیابی» را وارد یا جای‌گذاری کنید", - "email.recovery.no.code": "کدی دریافت نکردید؟", - "email.recovery.text": "ایمیل خود را وارد کنید و کدی برای بازنشانی گذروا‌ژه برایتان ارسال خواهیم کرد.\nاگر «کیف پول Yinbi» دارید، با این کار «کیف پول Yinbi» بازیابی نخواهد شد، برای بازیابی «کیف پول Yinbi»، «عبارت بازیابی Yinbi» را وارد کنید.", - "email.recovery.desc": "اگر می‌خواهید کد بازیابی به ایمیل شما ارسال شود، از این روش استفاده کنید", - "device.recovery.desc": "اگر در دستگاه دیگری به سیستم وارد شده‌اید و آن را در اختیار دارید، از این روش استفاده کنید", - "google_search": "جستجو در گوگل", - "giveaway.upgrade": "برای دریافت توزیع رایگان امروز، ارتقا دهید", - "giveaway.title_released_today": "‎{{formattedTokens}} YNB امروز منتشر می‌شود", - "giveaway.what_is_it": "«هدیه Yinbi» چیست؟", - "giveaway.description1": "بنیاد Yinbi به‌طور انحصاری 888 میلیارد رمز ارز YNB را از طریق Lantern به خریداران Lantern Pro اعطا می‌کند.", - "giveaway.description2": "YNB در پایان هر روز براساس تعداد کیف پول Yinbi عرضه‌شده در ان روز، تعداد افرادی که حسابشان را تمدید می‌کنند یا ارتقا می‌دهد و تعداد سال‌ها یا حساب‌هایی که خریداری می‌کنید، توزیع خواهد شد.", - "giveaway.learn_more": "بیشتر بدانید", - "link_device": "آیا در حال حاضر حساب کاربری Proدارید؟ لینک دستگاه", - "email.recovery": "بازیابی از طریق ایمیل", - "email_taken": "ایمیل از قبل ثبت شده است", - "username_taken": "نام کاربری از قبل ثبت شده است", - "err.unknown_error": "خطای ناشناخته", - "err.internal_error": "خطای داخلی", - "err.bad_input": "ورودی بد", - "err.not_authorized": "مجاز نیست", - "err.user_exists": "کاربر وجود دارد", - "err.no_such_user": "همچون کاربری موجود نیست", - "err.user_already_verified": "کاربر در حال حاضر تایید شده است", - "err.invalid_user_verification": "تایید کاربر نامعتبر", - "err.user_unverified": "کاربر تایید نشده", - "err.operation_temporarily_unavailable": "موقتا عملیات در دسترس نیست", - "err.wrong_or_inexistent_plan": "نقشه غلط و یا ناموجود", - "err.user_has_active_subscription": "کاربر دارای اشتراک فعال است", - "err.payment_error": "خطای پرداخت", - "err.no_codes_left": "کد ارجاعی باقی نمانده", - "err.wrong_code": "کد ارجاع اشتباه است", - "err.redeeming_own_code_not_allowed": "بازخرید کدها برای خود شخص مجاز نیست", - "err.wrong_charge_id": "شناسه شارژ اشتباه", - "err.wrong_link_code": "کد پیوند نادرست است", - "err.invalid_credentials": "اطلاعات کاربری ارائه‌شده نامعتبر بود", - "footer.reseller": "درآمد سازی کنید! جهت پیوستن به نمایندگان فروش لنترن، اینجا کلیک کنید.", - "footer.reseller.email_subject": "درباره برنامه فروش نمایندگی لنترن توضیح بیشتری بده!", - "footer.reseller.email_body": "وقتی شما عضو نمایندگان فروش لنترن شوید، می توانید با فروش هر لنترن پرو تا حداکثر 25% کمیسیون دریافت کنید. در پایین کمی درباره چرایی پیوستن به نمایندگان لنترن توضیح دهید.", - "feature.faster_speed": "سرعت بیشتر", - "feature.faster": "مراکز داده پرسرعت", - "feature.unlimited": "ترافیک نامحدود", - "feature.nologs": "بدون گزارش وقایع", - "feature.devices": "اتصال تا حداکثر 3 دستگاه", - "feature.noads": "بدون تبلیغ", - "feature.yinbi.tooltip": "بنیاد Yinbi ‏888 میلیارد ارز رمزنگاری‌شده YNB را منحصراً ازطریق Lantern به خریداران Lantern Pro اعطا می‌کند. YNB در پایان هر روز، بر اساس مقدار Yinbi منتشرشده در آن روز، تعداد افرادی که نسخه خود را به‌روزرسانی/تمدید می‌کنند، و تعداد سال‌ها یا حساب‌هایی که شما خریداری می‌کنید توزیع می‌شود. YNB مستقیماً در «کیف پول Yinbi» شما در Lantern واریز می‌شود.", - "feature.antiblock": "مقاومت در برابر فیلتر", - "feature.data_center": "مراکز داده بهتر", - "feature.free_yinbi": "رمزارز Yinbi رایگان!", - "free.title": "فانوس حرفه ای", - "free.desc": "سریعتر، قوی تر، نامحدود، ایمن.", - "free.link_account": "آیا در حال حاضر حساب کاربری ویژه (پرو) دارید؟ حساب کاربری خود را متصل کنید.", - "home.get_lantern_pro": "دریافت فانوس حرفه ای", - "home.get_lantern_platinum": "ارتقای طرح", - "home.welcome_popup_subheader": "به Lantern خوش آمدید!", - "home.welcome_popup_content_1": "سخت درتلاشیم تا Lantern را به‌روزرسانی کنیم و ویژگی‌های جدید اضافه کنیم.", - "home.welcome_popup_content_2": "در رابط کاربری جدید، نوار جستجویی وجود دارد که با کمک آن می‌توانید فایل‌های اشتراک‌گذاری‌شده در شبکه Lantern را پیدا کنید. همچنین می‌توانید با پست کردن فایل، به ایجاد محتوا کمک کنید. این یک ویژگی بتا است، پس آن را امتحان کنید و نظرتان را به ما بگویید، براساس نظرات شما به‌طور مستمر تلاش می‌کنیم خدماتتمان را بهبود ببخشیم.", - "home.welcome_popup_button": "اکنون امتحان کنید", - "input.email": "ایمیل", - "input.your_email": "آدرس ایمیل شما", - "input.confirm_email": "تکرار آدرس ایمیل", - "input.enter_email": "ایمیل خود را وارد کنید", - "input.use_valid_email": "یک ایمیل معتبر وارد کنید", - "input.email_not_match": "ایمیل وارد شده یکسان نمی باشد", - "input.existing_email": "ایمیل موجود", - "issue.your_email": "ایمیل شما", - "issue.attach_image_failure": "نمی‌توانید تصویر را پیوست کنید", - "issue.try_again": "لطفا دوباره تلاش کنید", - "issue.select_issue": "لطفاً یک مشکل را انتخاب کنید", - "issue.selected_issue": "مشکل‌تان را انتخاب کنید", - "issue.select_issue_hint": "یک مشکل را از فهرست کشویی انتخاب نمایید", - "issue.note": "مشکل‌ خود را شرح دهید", - "issue.description": "شرح مشکل", - "issue.error": "گزارش یک مشکل", - "issue.submit": "مشکل را گزارش دهید", - "issue.report_screenshot": "تصویر را به اینجا بکشید یا برای آپلود تصویر صفحه کلیک کنید", - "issue.reported": "سپاسگزاریم که مشکل‌تان را گزارش دادید. ما به محض اینکه بتوانیم با ایمیل به شما پاسخ خواهیم داد.", - "issue.report_sent": "گزارش فرستاده‌شد.", - "issue.type.no_access": "عدم امکان دسترسی به سایت های بسته شده", - "issue.type.payment_fail": "عدم امکان تکمیل نمودن پرداخت", - "issue.type.cannot_login": "عدم امکان ورود", - "issue.type.always_spinning": "نماد چرخنده بارگذاری به طور بی پایان می چرخد", - "issue.type.slow": "کند", - "issue.type.cannot_link_device": "عدم امکان ارتباط دستگاه ها", - "issue.type.crashes": "لنترن متوقف شد", - "issue.type.other": "غیره", - "languages.title": "زبان ها", - "lantern.email": "ایمیل Lantern", - "mobile.link": "از لینک زیر جهت دریافت لنترن در آندروید استفاده کنید:", - "mobile.title": "دریافت نسخه اندروید", - "nav.about": "‫‫درباره‬", - "nav.account": "مدیریت حساب", - "nav.authorize": "افزودن دستگاه جدید", - "nav.authorized": "دستگاه مجاز", - "nav.unauthorized_link": "تایید دستگاه برای استفاده از نسخه ویژه (پرو)", - "nav.language": "زبان", - "nav.lantern": "‫لنترن", - "nav.mobile": "دریافت نسخه موبایل", - "nav.report_issue": "گزارش یک مشکل", - "nav.settings": "تنظیمات", - "nav.support": "پشتیبانی", - "nav.verify": "تایید حساب", - "nav.yinbi": "بازخرید Yinbi", - "nav.home": "خانه", - "nav.discover": "یافتن", - "nav.wallet": "کیف پول", - "nav.yinbi_wallet": "کیف پول Yinbi", - "notification.retry": "دوباره امتحان کنید", - "notifications": "اعلان‌ها", - "notifications.whatisnew": "ویژگی‌های جدید", - "password.change": "تغییر گذرواژه", - "password.changed": "گذرواژه تغییر کرد", - "continue.to.pro": "به استفاده از لنترن ویژه ادامه دهید!", - "username": "نام کاربر", - "password.new": "گذرواژه جدید", - "password.requirements": "
گذرواژه باید حاوی این موارد باشد:
  • 8 نویسه یا بیشتر
  • 1 حرف کوچک
  • 1 حرف بزرگ
  • حداقل 1 عدد
  • در فهرست گذرواژه‌های لورفته نباشد
", - "password.reset": "بازنشانی گذرواژه", - "paxful.buy": "خرید", - "paxful.payment": "روش پرداخت", - "paxful.bitcoin": "Bitcoin (BTC)", - "paxful.tether": "Tether (USDT)", - "paxful.wallet": "کیف‌های پول آنلاین", - "paxful.bank": "انتقال‌های بانکی", - "paxful.gamer_card": "کارت‌های بازی", - "paxful.gift_card": "کارت‌های هدیه", - "paxful.cash": "پرداخت نقدی", - "paxful.digital_currency": "ارزهای دیجیتالی", - "paxful.button": "نمایش بهترین حراج‌ها", - "payment.close": "بستن", - "payment.redirectErrorTitle": "خطا در اتصال به سرور پرداخت", - "payment.redirectErrorText": "در حال حاضر روی حل این مشکل کار می کنیم. لطفاً چند وقت دیگر دوباره بررسی کنید.", - "payment.wait_for_pro": "با تشکر از خرید شما از فانوس Pro ! لطفا کمی منتظر بمانید تا به طور خودکار به فانوس Pro ارتقا یابید", - "payment.moreOptions": "انتخاب‌های بیشتر", - "payment.fewerOptions": "انتخاب‌های کمتر", - "payment_methods.select_name": "روش پرداخت را انتخاب کنید", - "payment_methods.alipay": "کارت اعتباری / Alipay", - "payment_methods.shetab": "پرداخت جهانی سریع (شتاب)", - "payment_methods.shetab.details.header": "برای خرید فانوس pro", - "payment_methods.shetab.details.body": "هنگامی که دکمه تکمیل خرید را کلیک می کنید، برای تکمیل پرداخت و دریافت کد فعالسازی به یک سایت خارجی منتقل می شوید.", - "payment_methods.shetab.details.tutorial_header": "آموزش فارسی", - "payment_methods.shetab.details.purchase_voucher_button": "تکمیل خرید", - "payment_methods.shetab.details.input_code_button": "کد فعالسازی را وارد کنید", - "plan.step1": "مرحله 1", - "plan.apply": "اعمال", - "plan.step2": "مرحله 2", - "plan.most_popular": "محبوب‌ترین!", - "plan.step3": "مرحله 3", - "plan.choose_plan": "انتخاب طرح", - "plan.enter_email": "وارد کردن ایمیل", - "plan.choose_method": "روش پرداخت را انتخاب کنید", - "plan.bestValue": "بهترین معامله!", - "plan.per_month": "هر ماه", - "plan.yinbi_2x": "+ 2 برابر Yinbi!", - "plan.oneYear": "1 سال", - "plan.add_referral": "افزودن کد ارجاع شده", - "plan.years": "طرح داده {{years}} ساله", - "plan.desc": "هربار صورت‌حسابی به مبلغ {{price}} صادر می‌شود", - "plan.bonus_months": "+ {{bonusMonths}} ماه", - "plan.price.cny": "¥%.02f", - "plan.price.usd": "$%.02f", - "plan.currency.cny": "(یوان)", - "plan.currency.usd": "(دلار آمریکا)", - "plan.time_unit": "/سال", - "plan.select": "انتخاب", - "plan.two_year": "دو ساله", - "plan.one_year": "یک ساله", - "plan.savings": "تخفیف {{formattedDiscount}} %", - "plans.title": "طرح های حرفه ای لنترن", - "plans.lantern_pro": "فانوس حرفه ای", - "plans.platforms": "برای ویندوز، اندروید، مک، اوبونتو.", - "plans.from_reseller": "کد فعال‌سازی Lantern Pro دارید؟ اینجا کلیک کنید.", - "plans.with_voucher_code": "آیا کد فعالسازی دارید؟ اینجا کلیک کنید.", - "pro.apply": "اعتبار شما در دوره بعدی صورتحساب به حساب شما اعمال خواهد شد.", - "pro.title": "با دعوت از دوستان، به اعتبار نسخه ویژه (پرو) خود اضافه کنید.", - "pro.subtitle": "هنگامی که دوست‌تان یک بسته‌ی خدماتی دو ساله خریداری کند، شما سه ماه اضافی رایگان دریافت می‌کنید و بسته‌ی یک ساله به شما یک ماه رایگان خواهد داد.", - "pro.share": "کد خود را با دوستان‌تان به اشتراک بگذارید تا ماه‌های رایگان بیشتری به دست آورید.", - "promotion.title": "پرداخت لنترن پرو", - "promotion.title.activation": "فعال سازی لنترن پرو", - "promotion.enter_and_confirm_email": "لطفا وارد کنید و آدرس ایمیل خود را تأیید کنید.", - "promotion.code.hint": "کد ارجاعی دوست‌تان را وارد کنید.(دلخواه)", - "promotion.code.label": "کد ارجاع شده", - "promotion.payment": "ادامه برای پرداخت", - "promotion.payment.btc": "با ₿ پرداخت کنید", - "promotion.loading": "در حال بارگذاری ...", - "promotion.howto_1y": "اگر یک دوست کد ارجاع شان را با شما به اشتراک گذاشته، کد را وارد نمایید تا بعد از صندوق پرداخت یک ماه لنترن حرفه ای دریافت نمایید.", - "promotion.howto_2y": "اگر دوستی کد ارجاعی به شما داده است، این کد را در اینجا وارد کنید، تا پس از پرداخت صورت‌حساب سه ماه استفاده‌ی رایگان از لنترن پرو بهره ببرید.", - "promotion.pay": "پرداخت {{amount}}", - "promotion.select": "انتخاب", - "promotion.promotion_applied_1y": "+1 ماه پاداش", - "promotion.promotion_applied_2y": "+3 ماه پاداش", - "promotion.too_many_referrals": "این کد ارجاعی پیش از این اضافه شده بود. سری به ماه‌های اضافی‌تان بزنید تا از آنها استفاده کنید.", - "promotion.activation.enter_and_confirm_email": "لطفا وارد کنید و آدرس ایمیل خود را برای ثبت لنترن پرو تأیید کنید.", - "promotion.activation.label": "XXXXX-XXXXX-XXXXX-XXXXX-XXXXX", - "promotion.activation.hint": "کد فعالسازی", - "promotion.activation.instructions": "ایمیل خود و کد فعال‌سازی 25 رقمی دریافت‌شده از توزیع‌کننده را وارد کنید تا حسابتان ثبت شود.", - "promotion.activation.howto": "لطفا کد فعال سازی 25 رقمی فانوس Pro خود را در بالا وارد کنید. اگر کد ندارید، لطفا Pro را از صفحه قبلی خریداری کنید یا به نمایندگی فروش Pro در اینترنت جستجو کنید.", - "promotion.activation.continue": "ثبت‌نام برای Pro", - "promotion.voucher.hint": "کد فعالسازی", - "promotion.voucher.howto": "لطفا کد فعالسازی 12 رقمی Fast World Pay را در بالا وارد کنید", - "promotion.voucher.label": "XXXXXXXXXXXX", - "promotion.voucher.error.default": "خطا هنگام پس‌خرید کردن کد فعال‌سازی.", - "promotion.voucher.error.invalid_code": "کد فعالسازی نامعتبر است", - "promotion.voucher.error.invalid_plan": "کد فعالسازی مربوط به یک برنامه نامعتبر است.", - "promotion.voucher.error.already_redeemed": "کد فعالسازی قبلا وارد شده است.", - "referral.code": "کد ارجاع", - "referral.text": "از کد my code %s استفاده کنید واز وقتی ثبت نام می کنید 3 ماه رایگان داشته باشید!", - "referral.description_free": "کدتان را با دوستانتان به اشتراک بگذارید، اگر هریک از آن‌ها اشتراک Pro را خریداری کنند، از ۱ ماه سرویس رایگان Lantern Pro برخوردار می‌شوید!", - "referral.description_pro": "کدتان را با دوستانتان به اشتراک بگذارید، اگر هریک از آن‌ها اشتراک Pro را خریداری کنند، از ۱ ماه سرویس رایگان Lantern Pro دیگر برخوردار می‌شوید!", - "register": "ثبت نام", - "renew.subtitle_early": "تمدید کنید و ۳ ماه رایگان استفاده کنید!", - "renew.subtitle_last_day": "تمدید کنید و ۳ ماه رایگان استفاده کنید!", - "renew.subtitle_expired": "تمدید کنید و ۴۵ روز اشتراک رایگان دریافت کنید!", - "renew.details_early": "عضویت Lantern Pro شما به‌زودی پایان می‌یابد. اکنون آن را تمدید کنید و از اشتراک حداکثر سه ماه رایگان بهره‌مند شوید!", - "renew.details_last_day": "عضویت Lantern Pro شما امروز به پایان می‌رسد! اکنون حسابتان را بررسی کنید و تا سه ماه رایگان از آن لذت ببرید!", - "renew.details_expired": "عضویت Lantern Pro شما منقضی شده است. اکنون آن را تمدید کنید و تا چهل و پنج روز دیگر از آن به‌صورت رایگان استفاده کنید!", - "renew.asterisk_early": "* این پیشنهاد دارای محدودیت زمانی فقط برای افرادی دردسترس است که زودتر اشتراکشان را تمدید کنند.", - "renew.asterisk_last_day": "* این آخرین فرصت شما برای دریافت این پیشنهاد ویژه است!", - "renew.asterisk_expired": "* این یک پیشنهاد دارای محدودیت زمانی است!", - "renew.plan_label": "فانوس Pro %s", - "renew.plan_renewal_bonus_1_month": "$%d%s + 1 ماه رایگان ", - "renew.plan_renewal_bonus_months": "$%d%s + %d چند ماه رایگان", - "renew.plan_renewal_bonus_days": "$%d%s + %d چند روز رایگان", - "renew.next": "بعدی", - "renew.decline": "پیشنهاد را رد کنید", - "renew.decline_question": "آیا مطمئن هستید که میخواهید این پیشنهاد را رد کنید؟", - "renew.decline_yes": "بعدا تجدید کنید.", - "renew.decline_dismiss": "اکنون تجدیدکنید", - "renew.notification_title_30_days": "برای صرفه جویی بیشترPro را حالا تمدید کنید", - "renew.notification_title_30_days_platinum": "برای تخفیف بیشتر، Platinum را حالا تمدید کنید!", - "renew.notification_text_30_days": "حساب {{planName}} شما {{remainingDays}} دیگر منقضی می‌شود. اکنون آن را تمدید کنید و تا 3 ماه رایگان از آن استفاده کنید.", - "renew.notification_title_2_days": "تخفیف {{planName}} فردا به پایان می‌رسد!", - "renew.notification_text_2_days": "حساب {{planName}} شما فردا منقضی می‌شود. این فرصت تخفیف بزرگ را ازدست ندهید.", - "renew.notification_title_last_day": "آخرین شانس برای تخفیف!", - "renew.notification_text_last_day": "حساب {{planName}} شما منقضی شده است. امروز تمدید کنید و تا 3 ماه رایگان استفاده کنید.", - "replica.upload": "آپلود", - "replica.favorite": "پسندیدن", - "replica.added_to_favorites": "به «موارد دلخواه» اضافه شد", - "replica.filedrop_error": "خطا هنگام بارگذاری این فایل", - "replica.filedrop_error.file-too-large": "حداکثر حجم فایل مجاز {{fileSize}} است", - "replica.filedrop_error.file-too-small": "فایل خیلی کوچک است", - "replica.filedrop_error.too-many-files": "تعداد فایل‌ها خیلی زیاد است", - "replica.filedrop_error.file-invalid-type": "این نوع فایل درحال‌حاضر پشتیبانی نمی‌شود", - "replica.filedrop_remove_file": "برداشتن از صف", - "replica.post": "بارگذاری فایل", - "replica.relevance": "رابطه", - "replica.upload_date": "تاریخ آپلود", - "replica.gallery_view": "نمای گالری", - "replica.list_view": "نمای لیستی", - "replica.copy_lantern_link": "کپی لینک Lantern", - "replica.documents": "اسناد", - "replica.audio": "صدا", - "replica.application": "برنامه‌ها", - "replica.image": "تصاویر", - "replica.video": "ویدیوها", - "replica.web": "وب", - "replica.news": "اخبار", - "replica.upload_alert.dont_show": "دیگر این را نشان نده", - "replica.upload_alert.cancel": "لغو آپلود", - "replica.upload_alert.resume": "ازسرگیری آپلود", - "replica.upload_alert.info": "اطلاعات مهم!", - "replica.upload_alert.desc1": "فایل‌های آپلود شده به Lantern پراکنده و غیرمتمرکز هستند. هنگامی که کاربر دیگری به آن‌ها دسترسی می‌یابد، توسط هیچ کسی از جمله Lantern از روی شبکه قابل حذف نیستند، حتی اگر از لیست «My Files» (فایل‌های من) حذف گردند.", - "replica.upload_alert.desc2": "لطفاً هنگام آپلود محتوای حساس، از اطلاعات هویتی شخصی در فایل یا نام فایل استفاده نکنید.", - "replica.add_details": "افزودن جزئیات", - "replica.cannot_edit": "نام فایل‌ها، پس از انتشار قابل ویرایش نیست. ", - "replica.next": "بعدی", - "replica.previous": "قبلی", - "replica.selectAll": "انتخاب همه", - "replica.search_replica": "جستجو", - "replica.search_results_info": "این برگه فقط نتایج Lantern را نشان می‌دهد.", - "replica.search_results_info_message": "نتایج Lantern، محتواهایی هستند که کاربران در شبکه Lantern بارگذاری کردند.", - "replica.no_files_found": "نتیجه‌ای وجود ندارد", - "replica.or_content": "محتوای شما برای بقیه افراد تا آن را پیدا کنند!", - "replica.try_again": "کلیدواژه دیگری امتحان کنید، یا", - "replica.upload_success": "با موفقیت آپلود شد!", - "replica.cannot_preview": "بدون پیش‌نمایش برای نوع فایل", - "replica.no_description": "توضیحی داده نشده است. ", - "replica.size": "ابعاد", - "replica.uploaded": "آپلود شد", - "replica.invalid_link": "لینک نامعتبر", - "replica.close": "بستن", - "replica.files": "فایل‌ها", - "replica.upload_history": "تاریخ آپلود", - "replica.my_favorites": "پسندیده ها", - "replica.no_uploads": "هنوز موردی بارگذاری نشده است", - "replica.no_favorites": "هنوز موردی به «موارد دلخواه» اضافه نشده است", - "replica.mime_type": "نوع فایل: {{mime}}", - "replica.image_loading_error": "خطای بار کردن تصویر", - "replica.play": "پخش", - "replica.pause": "توقف موقت", - "replica.scrub": "تمیز کردن", - "replica.skip_forward": "رد شدن به جلو", - "replica.skip_backwards": "رد شدن به عقب", - "replica.trending_videos": "ویدیوهای پرطرفدار", - "replica.file_uploaded": "آپلودشده: {{days}} روز قبل", - "replica.file_size": "ابعاد", - "replica.duration": "مدت زمان", - "replica.filename": "نام فایل", - "replica.filename_required": "نامی برای فایل انتخاب کنید", - "replica.description_optional": "افزودن توضیحات ", - "replica.expand": "باز شدن توضیحات ", - "replica.filetype": "نوع فایل", - "replica.sortby": "مرتب‌سازی بر اساس", - "replica.link": "لینک المثنی", - "replica.collapse": "جمع شدن", - "replica.publish": "انتشار", - "replica.cancel": "انصراف", - "replica.progress_current_upload": "بارگذاری از", - "replica.progress_files": "فایل‌ها", - "replica.progress_of": "از", - "replica.progress_upload_complete": "تکمیل", - "replica.progress_upload_failure": "بارگذاری انجام نشد، لطفاً دوباره امتحان کنید.", - "replica.upload_in_progress": "بارگذاری درحال انجام", - "replica.upload_pending": "بارگذاری درحالت تعلیق", - "replica.upload_error": "خطای بارگذاری", - "replica.upload_cancel": "لغو بارگذاری", - "replica.upload_confirm": "مطمئنید می‌خواهید بارگذاری را لغو کنید؟", - "replica.progress_view": "مشاهده", - "replica.delete": "حذف", - "replica.remove": "حذف", - "replica.delete_file": "حذف فایل", - "replica.remove_favorite": "برداشتن از «موارد دلخواه»", - "replica.failed_to_delete": "حذف نشد", - "replica.failed_to_remove": "برداشته نشد", - "replica.link_lookup_failure": "لینک یافت نشد", - "replica.delete_file_confirmation_1": "مطمئنید که می‌خواهید از آپلودهای", - "replica.delete_file_confirmation_2": "خود حذف کنید", - "replica.remove_favorite_confirmation_1": "مطمئنید که می‌خواهید برداشته شود؟", - "replica.remove_favorite_confirmation_2": "از موارد دلخواه", - "replica.share_file": "اشتراک‌گذاری فایل", - "replica.download_and_view": "دانلود/مشاهده", - "replica.download": "دانلود", - "replica.copy_link": "کپی لینک المثنی", - "replica.find_file": "یافتن فایل", - "replica.file_drop_prompt": "برای شروع بارگذاری، فایل را بکشید!", - "replica.empty_uploads_text1": "برای ایجاد اولین پستتان،", - "replica.empty_uploads_text2": "اینجا", - "replica.empty_uploads_text3": "کلیک کنید.", - "replica.error_header": "وای", - "replica.error": "هنگام پردازش درخواستتان، خطایی رخ داد. لطفاً دوباره امتحان کنید.", - "replica.serp_empty": "این جستجو در Google هیچ نتیجه‌ای دربرنداشت.", - "replica.disclaimer": "Lantern جستجوهای شما را ناشناس کرد و از آنها در برابر اشخاص ثالث محافظت می کند", - "settings.general": "عمومی", - "settings.feedback": "بازخورد", - "settings.autoLaunch": "لنترن را به صورت خودکار در زمان شروع به کار سیستم اجرا کن", - "settings.autoReport": "آمار استفاده از لنترن را به شکلی مطمئن و امن گزارش کنید تا به لنترن کمک کنم.", - "settings.lantern_ads": "نمایش تبلیغات Lantern", - "settings.lantern_ads_tooltip": "Lantern برای کمک به پشتیبانی از خدمات ما، در برخی وب‌سایت‌ها به شما تبلیغات نشان می‌دهد. هیچ اطلاعات کاربری جمع‌آوری نمی‌شود و به سرورهای ما ارسال نمی‌شود. اگر این گزینه را خاموش کنید، ممکن است همچنان تبلیغات را ببینید اما دیگر تبلیغی از شبکه Lantern به شما نشان داده نخواهد شد.", - "settings.proxyAll": "پروکسی تمام ترافیک", - "settings.proxyAllHelpTitle": "\"تمام ترافیک پروکسی\" چه کاری انجام می دهد؟", - "settings.proxyAllHelp1": "در صورت فعال بودن، تمام ترافیک از طریق فانوس ارسال خواهد شد (گزینه امن ترین).", - "settings.proxyAllHelp2": "اگر غیرفعال باشد، فقط ترافیک مسدود شده از طریق فان,s ارسال خواهد شد (سریعترین گزینه، رایج ترین).", - "settings.show_advanced": "نمایش تنظیمات پیشرفته", - "settings.hide_advanced": "مخفی کردن تنظیمات پیشرفته", - "settings.systemProxy": "مدیریت پراکسی سیستم", - "settings.title": "تنظیمات", - "settings.http_proxy": "پروکسی اچ تی تی پی (اس):", - "settings.socks_proxy": "پروکسی ساکس:", - "settings.caution": "احتیاط:", - "settings.caution_text": "وقتی تیک «مدیریت پروکسی سیستم» را بر می دارید، مرورگر و برنامه های شما قادر نخواهند بود که به طور خودکار از لنترن استفاده نمایند. اگر شما می دانید که چگونه به صورت دستی این تنظیمات را اعمال نمایید به اطلاعات بالا مراجعه نمایید.", - "settings.select_language": "انتخاب زبان", - "settings.diagnostics": "پیوست کردن اطلاعات عیب‌یابی", - "settings.diagnostics_tooltip": "وقتی اطلاعات عیب‌یابی را پیوست می‌کنید، داده‌های ثبت‌شده مربوط به اتصال شما به تیم Lantern ارسال خواهد شد. این کار باعث افزایش توانایی ما در تشخیص و حل مشکلات می‌شود.", - "status.lantern": "Lantern", - "status.click_reconnect": "برای اتصال مجدد، اینجا کلیک کنید", - "status.server_location": "موقعیت سرور", - "status.tooltip1": "فانوس از انتخاب سرور هوشمند برای اتصال شما به بهترین مراکز داده استفاده می کند.", - "status.tooltip2": "برای سرعت بالاتر با انتخاب سرور بهینه از مراکز داده منحصربه‌فرد Lantern Pro، به نسخه Lantern Pro ارتقا دهید", - "status.protected_connection": "اتصال شما محافظت می‌شود", - "status.please_wait": "این کار یک دقیقه یا بیشتر طول می‌کشد...", - "status.connecting": "درحال اتصال...", - "status.no_internet": "خاموش", - "status.no_internet_connection": "ارتباط اینترنی وجود ندارد", - "status.connected": "روشن", - "status.disconnected": "خاموش", - "status.throttled": "سرعت کاهش یافته (محدودیت ظرفیت اطلاعات)", - "status.no_system_proxy": "{{status}}، پراکسی سیستم مدیریت نمی‌شود", - "status.fail_to_set_system_proxy": "ناتوانی در تنظیم فانوس به عنوان پراکسی سیستم", - "status.fail_to_open_browser": "ناتوانی در باز کردن پنجره مرورگر برای نشان دادن رابط کاربر فانوس", - "support.forum": "تالار گفتمان کاربران لنترن", - "support.faq": "‫سوالات متداول", - "terms_of_service.acknowledgment": "با کلیک بر روی {{buttonText}}، شما شرایط استفاهد از خدمات ما را می‌پذیرید", - "terms_of_service.replica": "با جستجو، آپلود یا استفاده از محصولات ما به هر روشی، موافقت خود را با شرایط خدمات، خط مشی حریم خصوصی، و خط مشی DMCA ما اعلام می‌کنید", - "top_sites.google": "Google", - "top_sites.twitter": "توییتر", - "top_sites.youtube": "Youtube", - "top_sites.facebook": "فیسبوک", - "top_sites.wikipedia": "Wikipedia", - "verify.header": "پین پیوند دستگاه را وارد یا پیست کنید", - "verify.code": "کد اتصال دستگاه‌", - "verify.howto_1": "اگر شما یک حساب کاربری ویژه (پرو) در دستگاه دیگری دارید، لطفاً ایمیل خود را وارد کنید تا یک کد دریافت کنید که به دستگاه شما اجازه می‌دهد تا به سیستم وصل شود.", - "verify.howto_1a": "شما مجوز استفاده از یک حساب کاربری ویژه (پرو) ندارید، لطفاً ایمیل خود را وارد کنید تا مجوز لازم را به دست آورید تا بتوانید به چند دستگاه مختلف وصل شوید.", - "verify.howto_2": "برای پیوند دادن دستگاهی با حساب Pro:", - "verify.howto_3": "1. «مجاز کردن دستگاه برای Pro» را از منوی دستگاه دیگر انتخاب کنید.", - "verify.howto_4": "2. پین پیوند به‌دست آمده از مرحله 1 را وارد کنید و ارسال کنید.", - "verify.reminder": "*مطمئن شوید هر دو دستگاه از جدیدترین نسخه Lantern استفاده می‌کنند", - "verify.enter_pin": "پین پیوند دستگاه را وارد یا پیست کنید", - "verify.submit": "ثبت اطلاعات", - "verify.title": "تایید حساب", - "welcomeToPro.continue": "به استفاده از لنترن ویژه ادامه دهید!", - "welcomeToPro.invite": "دوستان‌تان را دعوت کنید و هنگامی که یک بسته‌ی دو ساله خریداری می‌شود، سه ماه رایگان اضافی دریافت کنید. بسته‌ی یک ساله یک ماه رایگاه همراه خواهد داشت. پس شروع به دعوت از دیگران کنید!", - "welcomeToPro.thanks": "حالا شما به سریعترین دیتاسنترهای ما دسترسی دارید. تا سه دستگاه را میتوانید به این اکانت وصل کنید.", - "welcomeToPro.title": "به لنترن ویژه (پرو)‌ خوش آمدید!", - "welomeToPro.title_exclamation": "به فانوس Pro خوش آمدید!", - "purchase.failed": "خرید انجام نشد، لطفاً بعداً دوباره امتحان کنید.", - "purchase.success": "خرید موفق", - "purchase.success_title": "به Lantern {{planType}} خوش آمدید!", - "purchase.success_content_pro": "حالا شما به سریع‌ترین مراکز داده ما دسترسی نامحدود دارید. تا سه دستگاه را می‌توانید به حسابتان وصل کنید.", - "purchase.success_content_platinum": "حالا شما به سریع‌ترین مراکز داده و خطوط اختصاصی ما دسترسی نامحدود دارید. تا سه دستگاه را می‌توانید به حسابتان وصل کنید.", - "welcomeToPro.description": "اکنون دسترسی بدون محدودیتی به سایت‌ها و سرویس‌‌های مسدودشده دارید", - "messages.copied_to_clipboard": "کد ارجاعی کپی شد. آن را با دوستان‌تان به اشتراک بگذارید.", - "messages.datacap": "شما حجم اینترنت پر سرعت خود را مصرف کرده‌اید. برای مصرف نامحدود اینترنت پرسرعت به لنترن ویژه (پرو) بپیوندید.", - "messages.fatal_error": "متأسفیم!‌ در حال حاضر وصل شدن به خدمات لنترن ممکن نیست. لطفاً ارتباط اینترنتی خود را بررسی کنید و دوباره تلاش کنید.", - "messages.backend_gone": "متأسفیم!‌ لنترن در حال حاضر کار نمی‌کند. لطفاً آن را خاموش و مجدداً روشن کنید و دوباره تلاش کنید.", - "messages.get_help": "کمک بگیر", - "freeProCredits.title": "دعوت از دوستان", - "freeProCredits.shareWithFriends": "کد خود را با دوستان‌تان به اشتراک بگذارید تا ماه‌های رایگان بیشتری به دست آورید.", - "freeProCredits.shareWithFriendsDesc": "هنگامی که دوست‌تان یک بسته‌ی خدماتی دو ساله خریداری کند، شما سه ماه اضافی رایگان دریافت می‌کنید و بسته‌ی یک ساله به شما یک ماه رایگان خواهد داد.", - "cards.serverLocation.unknown": "ناشناخته", - "cards.serverLocation.description": "بهینه سازی موقعیت سرور", - "cards.serverLocation.description-free": "موقعیت سرور", - "cards.serverLocation.description-upgrade": "ارتقا برای سرورهای سریعتر", - "cards.serverLocation.title": "موقعیت فعلی:", - "cards.serverLocation.location": "%s%s", - "cards.serverLocation.text": "فانوس از انتخاب سرور هوشمند استفاده می کند تا به طور خودکار سریع ترین ارتباط را از مراکز داده ما در توکیو، سنگاپور، هنگ کنگ، سان فرانسیسکو، نیویورک، آمستردام، بنگلور و غیره پیدا کند.", - "cards.serverLocation.text-free": "فانوس از انتخاب سرور هوشمند برای اتصال شما به بهترین مراکز داده استفاده می کند.", - "cards.serverLocation.upgrade-link": "برای سرعت سریعترو انتخاب سرور بهینه از مرکز دیتای منحصر به فرد فانوس به نسخه فانوس Pro ارتقا یابید.", - "cards.httpsUpgrades.description": "ارتقاء های HTTPS", - "cards.httpsUpgrades.title": "HTTPS به روز رسانی: %d", - "cards.httpsUpgrades.text": "فانوس به طور خودکار ارتباطات HTTP غیر امن را به اتصالات HTTPS رمزگذاری شده ارتقا می دهد تا بتواند اطلاعات خود را در حین گشت و گذار در وب حفظ کند.", - "cards.adsBlocked.description": "تبلیغات مسدود شده", - "cards.adsBlocked.title": "تبلیغات مسدود شده %d", - "cards.adsBlocked.text": "فانوس تبلیغات مزاحم را برای سرعت بخشیدن به زمان بارگذاری صفحه وب، صرفه جویی در پهنای باند، و برای داشتن تجربه مرور راحت تر متوقف می کند.", - "cards.dataUsage.description": "داده های استفاده شده", - "cards.dataUsage.upgrade": "همین حالاارتقا بدهید", - "cards.dataUsage.mb-used": "شما از%d%d مگابایت دیتای ماهانه با سرعت خود استفاده کرده اید.", - "cards.dataUsage.upgrade-link": "برای خدمات با سرعت بالا ی نامحدود همین حالا آپدیت شوید", - "cards.subscription.description": "اشتراک پرو", - "cards.subscription.renew": "تمدید مجدد", - "cards.subscription.months": "شما %dچندماه از فانوس Pro در حسابتان باقی مانده است.", - "cards.subscription.days": "شما%d چندروز از فانوس Pro در حسابتان باقی مانده است.", - "cards.subscription.unit.months": "Mo", - "cards.subscription.unit.days": "روز", - "cards.subscription.renew-link": "تمدید اشتراک جهت اضافه کردن زمان بیشتر به حساب", - "auth.email": "ایمیل", - "auth.username": "نام کاربر", - "auth.username.or.email": "نام کاربری یا ایمیل", - "auth.signin": "وارد شوید", - "current.password": "گذرواژه فعلی", - "new.password": "گذرواژه جدید", - "auth.change.password": "تغییر گذرواژه", - "confirm.new.password": "تأیید گذرواژه جدید", - "auth.password": "رمز ورود", - "auth.have.recovery.phrase": "«عبارت بازیابی» دارید؟", - "auth.forgot.password": "گذرواژه را فراموش کرده‌اید یا گذرواژه ندارید؟", - "auth.create.account": "ایجاد حساب", - "auth.missing.username": "نام کاربری وجود ندارد", - "auth.missing.current.password": "گذرواژه فعلی وجود ندارد", - "auth.missing.new.password": "گذرواژه جدید وجود ندارد", - "auth.missing.confirm.password": "تأیید گذرواژه وجود ندارد", - "invalid_credentials": "اطلاعات کاربری نامعتبر است", - "yinbi.wallet": "کیف پول Yinbi", - "create.wallet": "ایجاد کیف پول", - "new.to.yinbi": "به‌تازگی استفاده از Yinbi را شروع کرده‌اید؟", - "setup.wallet": "بله، بیایید کیف پول جدیدی راه‌اندازی کنیم!", - "web.wallet": "نه، کیف پولی در وب‌سایت Yin.bi دارم", - "yinbi.next": "بعدی", - "yinbi.amount": "مقدار", - "yinbi.missing.address": "نشانی مقصدی ارائه نشده است", - "yinbi.missing.amount": "مقداری مشخص نشده است", - "yinbi.missing.email": "نشانی ایمیلی مشخص نشده است", - "yinbi.missing.username": "نام کاربری مشخص نشده است", - "yinbi.missing.password": "گذرواژه‌ای مشخص نشده است", - "yinbi.invalid.address": "{{destination}} نشانی Stellar معتبری نیست", - "yinbi.send": "ارسال", - "yinbi.to": "به:", - "yinbi.try_again": "دوباره امتحان می‌کنید", - "yinbi.success.transaction": "تراکنش انجام شد!", - "yinbi.failure.transaction": "تراکنش انجام نشد", - "yinbi.confirm.transaction": "تأیید تراکنش", - "yinbi.sent.details": "{{amount}} ‏YNB به {{destination}} ارسال کردید", - "yinbi.sent.failure.details": "تراکنش شما به دلایل زیر انجام نشد:", - "yinbi.recipient": "گیرنده", - "yinbi.available.send": "{{balance}}‏ YNB در دسترس برای ارسال دارید", - "yinbi.wallet.header": "کیف پول", - "yinbi.send.header": "ارسال Yinbi", - "yinbi.recovery.phrase": "عبارت بازیابی Yinbi", - "yinbi.recover.account": "برای بازیابی «کیف پول Yinbi» و حساب Lantern، «عبارت بازیابی Yinbi» را وارد یا جای‌گذاری کنید", - "yinbi.recovery.desc": "اگر می‌خواهید علاوه بر حساب Lantern به سیستم «کیف پول Yinbi» نیز وارد شوید، از این روش استفاده کنید", - "yinbi.redeem.codes": "نقد کردن مجموعه کدهای Yinbi", - "yinbi.obtain.codes": "مجموعه کدهای بازخرید Yinbi را می‌توان از reseller.lantern.io به‌دست آورد", - "yinbi.receive.header": "دریافت Yinbi", - "yinbi.this.is.your.wallet": "این نشانی کیف پول Yinbi شما است که افراد می‌تواند به آن YNB ارسال کنند.", - "yinbi.your.address": "نشانی شما", - "yinbi.no.activity.header": "فعالیتی وجود ندارد", - "yinbi.upgrade.pro.button": "به Pro ارتقا دهید و Yinbi رایگان دریافت کنید", - "yinbi.renew.pro.button": "Pro را تمدید کنید و Yinbi رایگان دریافت کنید", - "yinbi.wallet.activity_header": "فعالیت", - "yinbi.wallet.send": "ارسال", - "yinbi.wallet.receive": "دریافت", - "yinbi.wallet.balance": "تراز", - "yinbi.wallet.getlantern.pro": "دریافت Lantern Pro + ‏Yinbi رایگان", - "yinbi.redemption.codes": "کدهای بازخرید Yinbi", - "redeem_codes.title": "مطالبه کدهای Yinbi", - "redeem_codes.redeem_button_text": "مطالبه", - "redeem_codes.cancel_button_text": "انصراف", - "redeem_codes.success": "با موفقیت انجام شد", - "redeem_codes.errors.missing_codes": "کد معتبری وارد نشده است", - "redeem_codes.errors.invalid_codes": "خطا، لطفاً کدهای برجسته‌شده را بررسی کنید. کدهای خط خورده منقضی شده‌اند و دیگر نمی‌توان آن‌ها را نقد کرد.", - "yinbi.new.account.text": "به‌محض اینکه Yinbi ارسال یا دریافت کنید، تراکنش‌های شما در اینجا نشان داده خواهند شد.", - "yinbi.createAccount": "ایجاد حساب", - "yinbi.confirm.account.text": "برای اینکه مطمئن شوید عبارت را درست نوشته‌اید، لطفاً کلمات زیر را از عبارت بازیابی وارد کنید", - "create_account.invalid_words.error": "کلمات واردشده با کلمات عبارت عبور بازیابی مطابقت نداشتند", - "yinbi.recovery_text": "عبارت بازیابی «کیف پول Yinbi» شما این است. در صورت فراموش کردن گذرواژه، تنها راه\nبازیابی «کیف پول Yinbi» این است. هنگام ذخیره کردن این عبارت، از مدیر گذرواژه استفاده کنید یا نسخه‌ای فیزیکی ایجاد کنید.", - "yinbi.recovery_confirm_text": "عبارت بازیابی «کیف پول Yinbi» شما این است. در صورت فراموش کردن گذرواژه، تنها راه بازیابی «کیف پول Yinbi» این است. هنگام ذخیره کردن این عبارت، از مدیر گذرواژه استفاده کنید یا نسخه‌ای فیزیکی ایجاد کنید.", - "yinbi.import.wallet": "وارد کردن کیف پول", - "yinbi.setup.wallet": "راه‌اندازی کیف‌پول", - "yinbi.importWallet": "وارد کردن کیف پول Yin.bi", - "yinbi.import.wallet.continue": "ادامه دادن و رفتن به «کیف پول شما»", - "yinbi.import.wallet.success": "کیف پول باموفقیت وارد شد!", - "yinbi.wallet.text": "برای دسترسی به «کیف پول Yinbi»، می‌توانید حسابی ایجاد کنید و به سیستم وارد شوید یا\nاگر قبلاً در وب‌سایت Yin.bi ثبت‌نام کرده‌اید، کیف پول را از Yin.bi وارد کنید.", - "yinbi.wallet.pro.text": "برای دسترسی به «کیف پول Yinbi»، می‌توانید حسابی ایحاد کنید یا اگر قبلاً ثبت‌نام کرده‌اید، کیف پول را از Yin.bi وارد کنید.", - "yinbi.recovery_subheader": "عبارت بازیابی «کیف پول Yinbi»", - "yinbi.import_wallet.subheader": "وارد کردن «کیف پول Yinbi»", - "yinbi.import_wallet.text": "برای انتقال کیف پول خود به Lantern، بااستفاده از اطلاعات کاربری Yin.bi به سیستم وارد شوید", - "yinbi.import_wallet.success": "کیف پول شما با موفقیت وارد شد، برای تکمیل ثبت‌نام، ایمیل خود را اضافه کنید.", - "yinbi.import_wallet.success_subheader": "وارد کردن با موفقیت انجام شد!", - "yinbi.import_wallet.button": "وارد کردن کیف پول Yin.bi", - "yinbi.import_wallet.success_button": "تکمیل ثبت‌نام", - "yinbi.recovery_passphrase.label_text": "عبارت بازیابی", - "yinbi.recovery_passphrase.copy_button_text": "کپی کردن", - "terms_of_service.notice": "اخطار", - "terms_of_service.i_agree": "موافقم", - "platinum": "Platinum", - "platinum.one_year": "قیمت یک ساله", - "platinum.two_years": "هزینه دو ساله", - "platinum.save": "تا {{savings}}% تخفیف!", - "platinum.unlimited": "ترافیک نامحدود", - "platinum.logs": "هیچ گزارشی وجود ندارد", - "platinum.devices": "اتصال تا حداکثر 3 دستگاه", - "platinum.everything_in_pro": "همه چیز در نسخه Pro گنجانده شده است", - "platinum.faster_data": "مراکز داده سریع‌تر", - "platinum.dedicated": "خط اختصاصی", - "platinum.reliability": "افزایش اطمینان", - "platinum.platinum_one_year": "Lantern Platinum ‏1 ساله", - "platinum.platinum_two_years": "Lantern Platinum ‏2 ساله", - "platinum.pro_one_year": "Lantern Pro ‏1 ساله", - "platinum.pro_two_years": "Lantern Pro ‏ 2 ساله", - "platinum.total": "مجموع", - "platinum.free": "رایگان", - "platinum.credit.days": "+ {{ days }} روز", - "platinum.credit.months": "{{ months }} ماه", - "platinum.upgrade": "ارتقا به نسخه Platinum", - "platinum.upgrade_details": "خط اختصاصی + مراکز داده سریع‌تر!", - "platinum.unused_time_disclaimer": "کاربران Pro که به نسخه Platinum ارتقا می‌دهند، اشتراک Pro تبدیل‌شده خود را به‌عنوان زمان اضافه‌شده در بالا می‌بینند.", - "p2p.opt_in_description": "از اینترنت خود جهت کمک به مردم برای دسترسی بدون سانسور به اینترنت استفاده کنید", - "p2p.active_sharing_description": "اشتراک‌گذاری اینترنت شما روشن است", - "p2p.dialog.title": "اشتراک‌گذاری دسترسی اینترنت", - "p2p.dialog.text.1": "با اشتراک‌گذاری اتصال خود، به افرادی که دسترسی محدود به اینترنت دارند کمک کنید. با دادن اجازه دسترسی به اینترنت خود، بخشی از شبکه داوطلبانی خواهید بود که اینترنت را آزادتر می‌کنند.", - "p2p.dialog.text.2": "اشتراک‌گذاری موجب به خطر افتادن هویت یا امنیت شما نمی‌شود. هر زمان خواستید می‌توانید اشتراک‌گذاری اینترنت خود را متوقف کنید.", - "p2p.dialog.yes_button": "بله، اشتراک‌گذاری شروع شود", - "p2p.dialog.no_button": "لغو", - "p2p.banner.introducing": "معرفی", - "top_sites.top_sites": "سایت‌های برتر" -} \ No newline at end of file diff --git a/locale/translation/fr.json b/locale/translation/fr.json deleted file mode 100644 index 83a229080..000000000 --- a/locale/translation/fr.json +++ /dev/null @@ -1,797 +0,0 @@ -{ - "LANTERN": "Lantern", - "pro": "Pro", - "BEAM": "Beam", - "TRAY_STATUS": "État : %v", - "TRAY_CONNECT": "Se connecter", - "TRAY_DISCONNECT": "Se déconnecter", - "TRAY_SHOW": "Afficher %s", - "TRAY_UPGRADE_TO_PRO": "Passer à Lantern Pro", - "TRAY_QUIT": "Fermer %s", - "BACKEND_DATA_TITLE": "Il n’y a plus de données %s à grande vitesse", - "BACKEND_DATA_MESSAGE": "Veuillez passer à la version Pro afin de continuer à utiliser %s à pleine vitesse.", - "BACKEND_DATA_PERCENT_TITLE": "Vous avez atteint %s de vos données %s", - "BACKEND_DATA_PERCENT_MESSAGE": "Vous avez utilisé %s de vos %s de données à grande vitesse. Surclassez votre compte maintenant.", - "BACKEND_CLICK_LABEL": "Ouvrir", - "BACKEND_CLICK_LABEL_OPEN": "Ouvrir", - "BACKEND_CLICK_LABEL_HELP": "Aide", - "BACKEND_CLICK_LABEL_GOT_IT": "D’accord", - "BACKEND_AUTOUPDATED_TITLE": "Mettre %s à jour vers la version %s", - "BACKEND_AUTOUPDATED_MESSAGE": "%s%s a été téléchargée. Veuillez redémarrer %s pour l’utiliser.", - "BACKEND_MITM_INSTALL_CERT": "%s veut installer un certificat personnalisé afin d’améliorer les performances", - "BACKEND_MITM_INSTALL_CERT_WINDOWS_BODY": "Veuillez autoriser %v à effectuer des changements à votre système", - "BACKEND_ALERT_TITLE": "Une alerte critique demande votre attention", - "BACKEND_INSTALL_DIAGNOSTIC_TOOLS": "%s a besoin de votre autorisation afin d’installer des outils de diagnostic. Cela nous aidera à améliorer votre expérience avec %s.", - "BACKEND_CONFIG_SAVE_ERROR_TITLE": "Impossible d’enregistrer la configuration", - "BACKEND_CONFIG_SAVE_ERROR_MESSAGE": "Impossible d’enregistrer la configuration de l’application. %s ne peut pas garantir que votre trafic sera relayé correctement.", - "about.content": "Lantern est une application qui fournit un accès rapide, fiable et sûr vers l’internet ouvert.", - "app.error": "Un problème est survenu !", - "about.faq": "Lire les FAQ de Lantern", - "about.open": "L’Internet ouvert pour tous", - "about.questions": "Des questions ?", - "about.title": "À propos", - "account.add.password": "Ajouter un mot de passe au compte", - "account.agree.terms": "Je comprends que la perte de mon mot de passe\nimplique la perte de l’accès au compte. Lantern ne peut\npas m’aider à récupérer mon mot de passe.", - "account.agree.terms.error": "Vous devez d’abord accepter les conditions générales", - "account.cancel": "Annuler le compte Pro", - "account.created": "Le compte a été créé", - "account.create.pro.account.header": "Créer un compte Pro", - "account.create.pro.account.text": "Lantern change la façon dont les comptes sont gérés. À partir de maintenant, les utilisateurs Pro devront créer un nom d’utilisateur et un mot de passe. Ces authentifiants seront utilisés pour se connecter à d’autres appareils et permettre l’accès à de nouvelles fonctions.", - "account.have.a.account": "Avez-vous un compte ?", - "account.link.username.pro": "Relier le nom d’utilisateur au compte Pro", - "account.recovery": "Récupération de compte", - "account.recovery.link.device": "Relier un appareil", - "account.recovery.device.code": "Code de liaison d’appareil", - "account.recovery.device.enter.code": "Saisir ou coller un code de liaison d’appareil", - "account.recovery.device.instructions.header": "Pour relier cet appareil à votre compte Pro :", - "account.recovery.device.instructions.step.one": "1. Sélectionnez l’option « Relier un appareil » dans l’élément Gestion du compte dans votre Lantern Pro pour ordinateur ou dans le menu de votre appareil Lantern mobile Pro.", - "account.recovery.device.instructions.step.two": "2. Saisissez le code de liaison d’appareil et envoyez.", - "account.recovery.device.instructions.part.three": "*Assurez-vous que la version la plus récente de Lantern est utilisée sur les deux appareils", - "account.recovery.method": "Veuillez choisir une méthode pour récupérer votre compte", - "account.recovery.send.email": "Envoyer un courriel", - "account.recovery.submit": "Envoyer", - "account.recovery.success": "La liaison est réussie", - "account.pro_management": "Gestion du compte Pro", - "account.free_management": "Gestion du compte", - "account.free.cap": "Il reste {{mb}} Mo de données gratuites. Réinitialisation à {{reset}}", - "account.free.cap.upgrade": "Passez à la version Pro et obtenez des données à grande vitesse illimitées", - "account.freelink.validFor": "valide pendant %s", - "account.freelink.desc": "Afin d’autoriser cet appareil à utiliser votre compte Pro :", - "account.freelink.step1": "1. Sélectionnez l’option « Relier un appareil » dans le menu sur votre appareil Pro", - "account.freelink.step2": "2. Saisir le code de liaison d’appareil et envoyer.", - "account.freelink.reminder": "* Assurez-vous que la version la plus récente de Lantern est utilisée sur les deux appareils", - "account.freelink.errorTitle": "Erreur de liaison", - "account.freelink.errorText": "Avez-vous vraiment saisi le code sur votre appareil Pro ?", - "account.freelink.headerDesc": "Relier cet appareil à votre compte Pro", - "account.freelink.title": "Code de liaison d’appareil", - "account.pro.charge": "Une autre année de Lantern Pro sera automatiquement imputée à votre compte à la fin de votre cycle de facturation.", - "account.upgrade_pro": "Passer à Lantern Pro", - "account.upgrade": "Passer à la version Pro", - "account.upgrade_platinum": "Passer à Platinum", - "account.create": "Créer un compte", - "account.email": "Adresse courriel", - "account.confirm.password": "Confirmer le mot de passe", - "account.password": "Mot de passe", - "account.pro.email": "Adresse courriel :", - "account.pro.expiration": "Expiration du compte Pro", - "account.platinum.expiration": "Expiration du compte Platinum", - "account.pro.expired": "Votre compte Pro est arrivé à expiration. Renouvelez-le maintenant et obtenez des données mensuelles illimitées.", - "account.pro.expiry": "Votre compte Pro arrivera à expiration dans %s jours, le %s.", - "account.pro.bonusMonths": "Cela inclut vos {{bonusMonths}} mois gratuits supplémentaires !", - "account.pro.thisdevice": "(Cet appareil)", - "account.pro.logout": "DÉCONNEXION", - "account.pro.removedevice": "RETIRER", - "account.pro.devices": "Appareils Lantern Pro (jusqu’à trois)", - "account.pro.device.confirm.title": "Desautoriser l’appareil", - "account.pro.device.confirm": "Voulez-vous vraiment supprimer « {{device}} » de votre compte Lantern Pro ?", - "account.pro.device.one.title": "Un appareil seulement", - "account.pro.device.one": "Désolé, mais vous ne pouvez pas retirer votre dernier apprareil autorisé.", - "account.pro.linkingcode": "Code de liaison d’appareil :", - "account.pro.renew": "Renouveler le compte Pro", - "account.platinum.renew": "Renouveler le compte Platinum", - "account.pro.renew_CN": "Renouveller", - "account.prolink.errorTitle": "Erreur de liaison", - "account.prolink.errorText": "Avez-vous vraiment copié le code correctement de l’autre appareil ?", - "account.prolink.successTitle": "Appareil relié", - "account.prolink.successText": "Vous avez relié votre appareil avec succès. Votre autre appareil passera automatiquement à la version Pro dans quelques instants, veuillez patienter.", - "account.signin": "Se connecter", - "account.signout": "Se déconnecter", - "account.submit": "Envoyer", - "account.username": "Nom d’utilisateur", - "account.switch.to.register": "Passer à la création de compte", - "account.switch.to.signin": "Passer à la connexion", - "account.invalid.username": "Le nom d’utilisateur est invalide", - "account.invalid.email": "L’adresse courriel est invalide", - "account.password.mismatch": "Le mot de passe de confirmation ne correspond pas", - "account.password.short": "Le mot de passe est trop court", - "account.password.lowercase": "Le mot de passe doit comporter au moins une minuscule", - "account.password.uppercase": "Le mot de passe doit comporter au moins une majuscule", - "account.password.number": "Le mot de passe doit comporter au moins un chiffre", - "account.password.compromised": "Le mot de passe fait partie d’une liste de mots de passe compromis", - "modal.register.free.header": "S’inscrire ou se connecter pour accéder à votre porte-monnaie Yinbi", - "modal.register.pro.header": "Ajouter un mot de passe au compte pour accéder à votre porte-monnaie Yinbi", - "modal.register.pro.signin.header": "Se connecter pour accéder au porte-monnaie Yinbi", - "modal.register.free.text": "Afin d’utiliser le porte-monnaie Yinbi, vous devez avoir un compte Lantern. Veuillez vous inscrire ou\nvous connecter afin de poursuivre.", - "modal.register.pro.text": "Afin d’utiliser le porte-monnaie Yinbi, vous devez ajouter un mot de passe à votre compte Lantern.", - "modal.register.pro.signin.text": "Afin d’utiliser le porte-monnaie Yinbi, vous devez vous connecter à votre compte Lantern", - "adyen.paymentMethods.title": "Modes de paiement", - "adyen.paymentMethods.storedMethods": "Vos modes de paiement", - "adyen.paymentMethods.otherMethods": "Sélectionner un autre mode", - "adyen.paymentMethods.moreMethodsButton": "Autres modes de paiement", - "adyen.payButton": "Payer", - "adyen.payButton.formatted": "Payer %@", - "adyen.cancelButton": "Annuler", - "adyen.dismissButton": "Valider", - "adyen.storeDetails": "Enregistrer pour mon prochain paiement", - "adyen.payment.redirecting": "Vous serez redirigé", - "adyen.payment.processing": "Votre paiement est en cours de traitement", - "adyen.creditCard.title": "Détails de la carte", - "adyen.creditCard.holderName": "Nom du détenteur de la carte", - "adyen.creditCard.holderName.placeholder": "É. Grenier", - "adyen.creditCard.numberField.title": "Numéro de carte", - "adyen.creditCard.numberField.placeholder": "1234 5678 9012 3456", - "adyen.creditCard.numberField.invalid": "Le numéro de carte est invalide", - "adyen.creditCard.expiryDateField.title": "Date d’expiration", - "adyen.creditCard.expiryDateField.placeholder": "MM/AA", - "adyen.creditCard.expiryDateField.invalid": "La date d’expiration est invalide", - "adyen.creditCard.expiryDateField.month": "Mois", - "adyen.creditCard.expiryDateField.month.placeholder": "MM", - "adyen.creditCard.expiryDateField.year.placeholder": "AA", - "adyen.creditCard.expiryDateField.year": "Année", - "adyen.creditCard.cvcField.title": "Code de sécurité", - "adyen.creditCard.cvcField.placeholder": "123", - "adyen.creditCard.installmentsField": "Nombre de versements", - "adyen.creditCard.storeDetailsButton": "Mémoriser cette carte pour mon prochain paiement", - "adyen.creditCard.oneClickVerification.title": "Vérifiez votre carte", - "adyen.creditCard.oneClickVerification.message": "Veuillez saisir le CVC pour %@", - "adyen.creditCard.oneClickVerification.invalidInput.title": "Le CVC est invalide", - "adyen.creditCard.oneClickVerification.invalidInput.message": "Veuillez saisir un code de sécurité valide pour continuer.", - "adyen.sepaDirectDebit.ibanField.title": "Numéro de compte (IBAN)", - "adyen.sepaDirectDebit.ibanField.placeholder": "NL53 ABNA 1925 1294 122", - "adyen.sepaDirectDebit.ibanField.invalid": "Le numéro de compte est invalide", - "adyen.sepaDirectDebit.nameField.title": "Non du détenteur", - "adyen.sepaDirectDebit.nameField.placeholder": "É. Grenier", - "adyen.sepaDirectDebit.consentButton": "J’accepte que le montant ci-dessous soit débité de mon compte bancaire.", - "adyen.sepa.ownerName": "Non du détenteur", - "adyen.sepa.ibanNumber": "Numéro de compte (IBAN)", - "adyen.giropay.searchField.placeholder": "Nom de la banque / BIC", - "adyen.giropay.minimumLength": "3 caractères min.", - "adyen.giropay.noResults": "Il n’y a aucun résultat de recherche", - "adyen.error.title": "Erreur", - "adyen.error.subtitle.redirect": "Échec de réacheminement", - "adyen.error.subtitle.payment": "Échec de paiement", - "adyen.error.subtitle.refused": "Le paiement a été refusé", - "adyen.error.message.unknown": "Une erreur inconnue est survenue", - "adyen.error.message.cannotConnectToInternet": "Échec de connexion à Internet, Veuillez vérifier votre connexion à Internet.", - "adyen.error.message.cannotConnectToHost": "Échec de connexion à notre serveur de paiement.", - "adyen.error.retryButton": "Réessayer", - "adyen.idealIssuer.selectField.title": "Banque", - "adyen.idealIssuer.selectField.placeholder": "Sélectionnez votre banque", - "adyen.creditCard.success": "Le paiement est réussi", - "adyen.oneClick.confirmationAlert.title": "Confirmer le paiement de %@", - "adyen.redirect.cannotOpenApp.title": "Impossible d’ouvrir l’appli", - "adyen.redirect.cannotOpenApp.appNotInstalledMessage": ".Il est impossible d’ouvrir cette appli, car elle n’est pas installée sur cet appareil", - "adyen.holderName": "Nom du détenteur de la carte", - "adyen.countryCode": "Indicatif de pays", - "adyen.telephone.number": "Numéro de téléphone", - "android.download": "Lantern pour Android", - "android.download.title": "Télécharger Lantern pour Android", - "authorize.title": "Autoriser l’appareil à la version Pro", - "authorize.step1.have_pro_device": "J’ai un autre appareil Lantern Pro", - "authorize.step1.link": "Liaison par appareil", - "authorize.step1.email_linking": "Liaison par courriel", - "authorize.device_linking_explanation": "Utilisez cette méthode si vous êtes connecté à un autre appareil et que vous l’avez avec vous", - "authorize.device_email_explanation": "Utilisez cette méthode si vous souhaitez qu’un code de liaison d’appareil vous soit envoyé par courriel", - "authorize.link_device": "Relier un appareil", - "authorize.step1.choose": "Veuillez choisir une méthode pour relier votre compte", - "authorize.step1.or": "ou", - "authorize.step1.recover": "Je dois récupérer mon compte Lantern Pro", - "authorize.step1.start": "lancer la récupération", - "authorize.step1.no_mail": "Avez-vous oublié votre adresse courriel ?", - "authorize.step1.description": "Saisissez votre adresse courriel et si le compte existe, nous vous enverrons un courriel avec un code de liaison d’appareil", - "authorize.step2b.enter_code": "Saisissez votre code de récupération de compte", - "authorize.step2b.code": "Code de récupération de compte", - "authorize.step2b.instruction": "Un courriel comprenant un code de récupération a été envoyé à {{email}} si ce compte existe. Ce courriel pourrait prendre plusieurs heures pour vous parvenir. Veuillez vérifier votre dossier des courriels indésirables/pourriels si vous ne le trouvez pas.", - "authorize.step2b.no_mail": "Le courriel n’a pas été reçu", - "authorize.step3.recovery": "Récupération de compte", - "authorize.step3.no_email": "Oups ! Nous avons du mal à trouver votre adresse courriel. Veuillez fournir plus de renseignements ci-dessous pour nous aider à trouver votre compte.", - "authorize.step3.no_code_received": "Vous éprouvez des difficultés à recevoir le courriel de récupération ? Saisissez les renseignements ci-dessous et nous vous contacterons dans les 48 heures.", - "authorize.step3.your_email": "Votre adresse courriel", - "authorize.step3.payment_method": "Mode de paiement", - "authorize.step3.payment_method_hint": "Sélectionner le mode de paiement utilisé pour obtenir la version Pro", - "authorize.step3.credit_card": "Carte de crédit", - "authorize.step3.alipay": "AliPay", - "authorize.step3.android_pay": "Android Pay", - "authorize.step3.by_referral": "J’ai reçu la version Pro en parrainant un ami", - "authorize.step3.payment_account": "Compte de paiement", - "authorize.step3.payment_account_hint": "Saisissez vos renseignements de compte Alipay", - "authorize.step3.referral_code": "Votre code de parrainage", - "authorize.step3.purchase_date": "Date d’achat", - "authorize.step3.note": "Veuillez écrire toute autre renseignement qui pourrait nous aider à trouver votre compte.", - "authorize.step4.title": "Récupération du compte en cours", - "authorize.step4.text1": "Merci. Nous avons bien reçu votre demande de récupération de compte.", - "authorize.step4.text2": "Veuillez prévoir 48 heures pour récupérer les renseignements de votre compte Pro.", - "authorize.step4.text3": "Nous enverrons les renseignements à l’adresse courriel saisie dans l’écran précédent.", - "authorized.continue": "Poursuivre vers la version Pro", - "authorized.continue.lantern": "Poursuivre vers Lantern", - "authorized.text": "Cet appareil est maintenant autorisé à utiliser votre compte Lantern Pro.", - "authorized.title": "L’appareil est autorisé", - "button.account": "Compte", - "button.renew": "Renouveller", - "button.upgrade": "Passer à la version Pro", - "button.upgrade_now": "Passer à la version Pro maintenant", - "button.upgrade_to_lantern_pro": "Passez à Lantern Pro", - "button.copy_your_code": "Copiez votre code", - "button.try_again": "Réessayer", - "button.continue": "Poursuivre", - "button.continue_to": "Poursuivre vers {{planType}}", - "bullet.click_button": "Cliquez sur le bouton ci-dessous", - "bullet.paste_code": "Collez le code et le lien de téléchargement dans un message", - "bullet.send_to_friends": "Envoyez à vos amis", - "cancel": "Annuler", - "confirm": "Confirmer", - "norecoveryyinbi": "*Ne récupère pas le porte-monnaie Yinbi", - "email.recovery.check.email": "Cherchez dans votre boîte de réception un courriel avec un code de récupération", - "email.recovery.code.label": "Saisissez ou collez le code de récupération", - "email.recovery.no.code": "N’avez-vous pas reçu un code ?", - "email.recovery.text": "Saisissez votre adresse courriel et nous vous enverrons un code afin de réinitialiser votre mot de passe.\nSi vous détenez un porte-monnaie Yinbi, ceci NE le récupérera PAS. Afin de récupérer votre porte-monnaie Yinbi, saisissez votre phrase de récupération Yinbi.", - "email.recovery.desc": "Utilisez cette méthode si vous voulez que votre code de récupération vous soit envoyé par courriel", - "device.recovery.desc": "Utilisez cette méthode si vous êtes connecté à un autre appareil et que vous l’avez avec vous", - "google_search": "Recherche Google", - "giveaway.upgrade": "Surclassez votre compte pour recevoir la distribution gratuite du jour", - "giveaway.title_released_today": "{{formattedTokens}} YNB sont mis en circulation aujourd’hui", - "giveaway.what_is_it": "Qu’est-ce que la distribution promotionnelle de yinbis ?", - "giveaway.description1": "La fondation Yinbi distribue gracieusement 888 milliards en cryptomonnaie YNB exclusivement par Lantern aux acheteurs de Lantern Pro.", - "giveaway.description2": "Les yinbis seront distribués à la fin de chaque journée, d’après la quantité de yinbis mis en circulation pendant la journée, d’après le nombre de personnes qui passeront à la version Pro ou renouvelleront, et d’après le nombre d’années ou de comptes que vous achèterez. Les yinbis seront déposés directement dans votre porte-monnaie Yinbi dans Lantern.", - "giveaway.learn_more": "En apprendre davantage", - "link_device": "Avez-vous déjà un compte Pro ? Reliez l’appareil", - "email.recovery": "Récupération par courriel", - "email_taken": "L’adresse courriel est déjà inscrite", - "username_taken": "Le nom d’utilisateur est déjà inscrit", - "err.unknown_error": "Erreur inconnue", - "err.internal_error": "Erreur interne", - "err.bad_input": "Mauvaise entrée", - "err.not_authorized": "Non autorisé", - "err.user_exists": "L’utilisateur existe", - "err.no_such_user": "Utilisateur inconnu", - "err.user_already_verified": "Utilisateur déjà vérifié", - "err.invalid_user_verification": "Vérification d’utilisateur invalide", - "err.user_unverified": "Utilisateur non vérifié", - "err.operation_temporarily_unavailable": "Opération temporairement non disponible", - "err.wrong_or_inexistent_plan": "Forfait erroné ou inexistant", - "err.user_has_active_subscription": "L’utilisateur détient un abonnement actif", - "err.payment_error": "Erreur de paiement", - "err.no_codes_left": "Plus aucun code de parrainage", - "err.wrong_code": "Code de parrainage erroné", - "err.redeeming_own_code_not_allowed": "Il est interdit d’encaisser ses propres codes", - "err.wrong_charge_id": "ID de facturation erroné", - "err.wrong_link_code": "Le code de lien est erroné", - "err.invalid_credentials": "L’identifiant utilisateur indiqué était invalide", - "footer.reseller": "Gagnez de l’argent. Devenez revendeur Lantern Pro. Cliquez ici", - "footer.reseller.email_subject": "Informez-moi sur le programme pour revendeur Lantern.", - "footer.reseller.email_body": "En devenant revendeur Lantern, vous aurez la possibilité de gagner jusqu’à 25 % sur chaque vente d’abonnement Lantern Pro. Expliquez-nous ci-dessous pourquoi vous souhaitez devenir revendeur ?", - "feature.faster_speed": "Vitesse accrue", - "feature.faster": "Des centres de traitement de données plus rapides", - "feature.unlimited": "Données illimitées", - "feature.nologs": "Aucune journalisation", - "feature.devices": "Connectez jusqu’à trois appareils", - "feature.noads": "Sans publicité", - "feature.yinbi.tooltip": "La fondation Yinbi distribue gracieusement 888 milliards en cryptomonnaie YNB exclusivement aux acheteurs de Lantern Pro. Les yinbis seront distribués à la fin de chaque journée, d’après la quantité de yinbis mis en circulation pendant la journée, le nombre de personnes qui passeront à la version Pro ou procéderont au renouvellement, et d’après le nombre d’années ou de comptes que vous achèterez. Les yinbis seront déposés directement dans votre porte-monnaie Yinbi dans Lantern !", - "feature.antiblock": "Résistance aux blocages", - "feature.data_center": "Meilleurs centres de traitement de données", - "feature.free_yinbi": "Cryptomonnaie Yinbi gratuite", - "free.title": "Lantern Pro", - "free.desc": "Plus rapide. Plus robuste. Illimité. Sécurisé.", - "free.link_account": "Avez-vous déjà un compte Pro ? Reliez votre compte.", - "home.get_lantern_pro": "Obtenir Lantern Pro", - "home.get_lantern_platinum": "Passer à l’abonnement supérieur", - "home.welcome_popup_subheader": "Bienvenue à la nouvelle Lantern !", - "home.welcome_popup_content_1": "Nous avons travaillé d’arrache-pied afin de mettre Lantern à jour et d’ajouter de nouvelles fonctions.", - "home.welcome_popup_content_2": "Dans notre nouvelle interface, vous trouverez une barre de recherche qui vous permettra de chercher les fichiers partagés sur le réseau Lantern. Vous pourrez aussi participer au contenu en publiant vous-même un fichier. C’est une fonction bêta. Essayez-la et dites-nous ce que vous en pensez. Nous continuerons à apporter des améliorations d’après vos rétroactions.", - "home.welcome_popup_button": "Essayez-la", - "input.email": "Courriel", - "input.your_email": "Votre adresse courriel", - "input.confirm_email": "Confirmez l’adresse courriel", - "input.enter_email": "Saisissez votre adresse courriel", - "input.use_valid_email": "Saisissez une adresse courriel valide", - "input.email_not_match": "Les champs d’adresse courriel ne correspondent pas", - "input.existing_email": "Adresse courriel existante", - "issue.your_email": "Votre adresse courriel", - "issue.attach_image_failure": "Impossible de joindre une image", - "issue.try_again": "Veuillez réessayer", - "issue.select_issue": "Veuillez choisir un problème", - "issue.selected_issue": "Sélectionner le problème", - "issue.select_issue_hint": "Veuillez choisir un problème dans le menu déroulant", - "issue.note": "Décrire votre problème", - "issue.description": "Description du problème", - "issue.error": "Problème de signalement d’erreur", - "issue.submit": "Envoyer le relevé", - "issue.report_screenshot": "Glisser-déposer une image ou cliquer pour téléverser une capture d’écran", - "issue.reported": "Nous vous remercions d’avoir signalé ce problème. En raison du volume, nous ne pouvons pas répondre à la plupart des problèmes, mais nous nous efforçons d’améliorer Lantern d’après vos signalements.", - "issue.report_sent": "Le relevé a été envoyé", - "issue.type.no_access": "Impossible d’accéder à des sites bloqués", - "issue.type.payment_fail": "Impossible de terminer le paiement", - "issue.type.cannot_login": "Impossible de se connecter", - "issue.type.always_spinning": "L’indicateur de chargement tourne sans fin", - "issue.type.slow": "Lent", - "issue.type.cannot_link_device": "Impossible de relier des appareils", - "issue.type.crashes": "Lantern plante", - "issue.type.other": "Autre", - "languages.title": "Langues", - "lantern.email": "Adresse courriel dans Lantern", - "mobile.link": "Utilisez le lien pour télécharger Lantern sur votre appareil Android :", - "mobile.title": "Obtenir la version pour Android", - "nav.about": "À propos", - "nav.account": "Gestion du compte", - "nav.authorize": "Ajouter un appareil", - "nav.authorized": "L’appareil est autorisé", - "nav.unauthorized_link": "Autoriser l’appareil à la version Pro", - "nav.language": "Langue", - "nav.lantern": "Lantern", - "nav.mobile": "Obtenir la version mobile", - "nav.report_issue": "Signaler un problème", - "nav.settings": "Paramètres", - "nav.support": "Soutien", - "nav.verify": "Vérification de compte", - "nav.yinbi": "Encaissement de yinbis", - "nav.home": "Accueil", - "nav.discover": "Découvrir", - "nav.wallet": "Porte-monnaie", - "nav.yinbi_wallet": "Porte-monnaie Yinbi", - "notification.retry": "Réessayer", - "notifications": "Notifications", - "notifications.whatisnew": "Qu’y a-t-il de nouveau ?", - "password.change": "Changer le mot de passe", - "password.changed": "Le mot de passe a été changé", - "continue.to.pro": "Poursuivre vers la version Pro", - "username": "Nom d’utilisateur", - "password.new": "Nouveau mot de passe", - "password.requirements": "
Le mot de passe doit comporter :
  • Au moins huit caractères
  • Une lettre minuscule
  • Une lettre majuscule
  • Au moins un chiffre
  • Le mot de passe ne doit pas figurer dans la liste des mots de passe compromis
", - "password.reset": "Réinitialiser le mot de passe", - "paxful.buy": "Acheter", - "paxful.payment": "Mode de paiement", - "paxful.bitcoin": "Bitcoin (BTC)", - "paxful.tether": "Tether (USDT)", - "paxful.wallet": "Porte-monnaie en ligne", - "paxful.bank": "Virements bancaires", - "paxful.gamer_card": "Cartes pour joueurs", - "paxful.gift_card": "Cartes-cadeaux", - "paxful.cash": "Paiement comptant", - "paxful.digital_currency": "Monnaies électroniques", - "paxful.button": "Afficher les meilleures offres", - "payment.close": "Fermer", - "payment.redirectErrorTitle": "Erreur de connexion au serveur de paiement", - "payment.redirectErrorText": "Nous nous efforçons actuellement de résoudre ce problème. Veuillez revérifier plus tard.", - "payment.wait_for_pro": "Nous vous remercions d’avoir acheté Lantern Pro. Vous passerez à la version Pro dans quelques instants, veuillez patienter.", - "payment.moreOptions": "Plus d’options", - "payment.fewerOptions": "Moins d’options", - "payment_methods.select_name": "Sélectionner un mode de paiement", - "payment_methods.alipay": "Carte de crédit/Alipay", - "payment_methods.shetab": "Fast World Pay (Shetab)", - "payment_methods.shetab.details.header": "Pour acheter Lantern Pro", - "payment_methods.shetab.details.body": "Après avoir cliqué sur Poursuivre l’achat, vous serez redirigé vers un site externe pour compléter votre paiement et obtenir votre code d’activation.", - "payment_methods.shetab.details.tutorial_header": "Tutoriel en persan", - "payment_methods.shetab.details.purchase_voucher_button": "Poursuivre l’achat", - "payment_methods.shetab.details.input_code_button": "Saisissez le code d’activation", - "plan.step1": "Étape 1", - "plan.apply": "Appliquer", - "plan.step2": "Étape 2", - "plan.most_popular": "Le plus populaire", - "plan.step3": "Étape 3", - "plan.choose_plan": "Choisissez un abonnement", - "plan.enter_email": "Saisissez votre adresse courriel", - "plan.choose_method": "Choisissez un mode de paiement", - "plan.bestValue": "La meilleure offre", - "plan.per_month": "par mois", - "plan.yinbi_2x": "+ 2 x Yinbi !", - "plan.oneYear": "1 an", - "plan.add_referral": "Ajouter un code de parrainage", - "plan.years": "Abonnement de {{years}} an", - "plan.desc": "{{price}} facturés une fois", - "plan.bonus_months": "+ {{bonusMonths}} mois", - "plan.price.cny": "%.02f ¥", - "plan.price.usd": "%.02f $", - "plan.currency.cny": "(CNY)", - "plan.currency.usd": "(USD)", - "plan.time_unit": "/AN", - "plan.select": "Sélectionner", - "plan.two_year": "Deux ans", - "plan.one_year": "Un an", - "plan.savings": "Économisez {{formattedDiscount}} %", - "plans.title": "Forfaits Lantern Pro", - "plans.lantern_pro": "Lantern Pro", - "plans.platforms": "Pour Windows, Android, Mac, Ubuntu.", - "plans.from_reseller": "Vous disposez d’un code d’activation Lantern Pro  ? Cliquez ici.", - "plans.with_voucher_code": "Avez-vous un code d’activation ? Cliquez ici.", - "pro.apply": "Vos crédits seront imputés à votre compte lors du prochain cycle de facturation.", - "pro.title": "Invitez des amis, obtenez plus de crédits Pro gratuitement", - "pro.subtitle": "Si votre ami achète le forfait de deux ans, il obtiendra trois mois supplémentaires gratuits de la version Pro, et vous aussi. Le forfait d’un an vous fera gagner un mois gratuit, ainsi qu’à votre ami.", - "pro.share": "Partagez votre code avec des amis et gagnez plus de crédits.", - "promotion.title": "Paiement de Lantern Pro", - "promotion.title.activation": "Activation de Lantern Pro", - "promotion.enter_and_confirm_email": "Veuillez saisir et confirmer votre adresse courriel.", - "promotion.code.hint": "Saisissez le code de parrainage de votre ami (facultatif)", - "promotion.code.label": "Code de parrainage", - "promotion.payment": "Poursuivre vers le paiement", - "promotion.payment.btc": "Payer en ₿", - "promotion.loading": "Chargement…", - "promotion.howto_1y": "Si un ami a partagé son code de parrainage avec vous, saisissez le code afin de recevoir un mois gratuit de Lantern Pro après votre passage en caisse.", - "promotion.howto_2y": "Si un ami a partagé son code de parrainage avec vous, saisissez le code afin de recevoir trois mois gratuits de Lantern Pro après votre passage en caisse.", - "promotion.pay": "Payer {{amount}}", - "promotion.select": "Sélectionner", - "promotion.promotion_applied_1y": "+un mois en prime", - "promotion.promotion_applied_2y": "+trois mois en prime", - "promotion.too_many_referrals": "Ce code de parrainage a déjà été ajouté. Passez à la caisse maintenant afin de recevoir vos mois supplémentaires.", - "promotion.activation.enter_and_confirm_email": "Veuillez saisir et confirmer votre adresse courriel pour enregistrer votre compte Lantern Pro.", - "promotion.activation.label": "XXXXX-XXXXX-XXXXX-XXXXX-XXXXX", - "promotion.activation.hint": "Code d’activation", - "promotion.activation.instructions": "Afin d’inscrire votre compte, saisissez votre adresse courriel et le code d’activation à 25 chiffres reçu du revendeur.", - "promotion.activation.howto": "Veuillez saisir ci-dessus votre code d’activation de Lantern Pro à 25 caractères. Si vous n’avez pas de code, veuillez acheter la version Pro sur l’écran précédent ou chercher un revendeur Lantern Pro en ligne.", - "promotion.activation.continue": "Passer à un compte Pro", - "promotion.voucher.hint": "Code d’activation", - "promotion.voucher.howto": "Veuillez saisir votre code d’activation Fast World Pay de 12 caractères ci-dessus", - "promotion.voucher.label": "XXXXXXXXXXXX", - "promotion.voucher.error.default": "Erreur lors de l’échange de votre code d’activation.", - "promotion.voucher.error.invalid_code": "Le code d’activation est invalide", - "promotion.voucher.error.invalid_plan": "Le code d’activation est associé à un forfait invalide", - "promotion.voucher.error.already_redeemed": "Le code d’activation a déjà été validé", - "referral.code": "Code de parrainage", - "referral.text": "Utilise mon code %s et gagne trois mois gratuits lors de ton inscription.", - "referral.description_free": "Partagez votre code avec vos amis et obtenez un mois gratuit du service Lantern Pro s’ils achètent Pro.", - "referral.description_pro": "Partagez votre code avec vos amis et obtenez un mois gratuit supplémentaire du service Lantern Pro s’ils achètent Pro", - "register": "S’inscrire", - "renew.subtitle_early": "Renouvelez votre abonnement et obtenez trois mois gratuits", - "renew.subtitle_last_day": "Renouvelez votre abonnement et obtenez trois mois gratuits", - "renew.subtitle_expired": "Renouvelez votre abonnement et obtenez 45 jours gratuits", - "renew.details_early": "Votre abonnement Lantern Pro se terminera bientôt. Renouvelez-le maintenant et obtenez jusqu’à trois mois gratuits.", - "renew.details_last_day": "Votre abonnement Lantern Pro se termine aujourd’hui. Renouvelez-le maintenant et obtenez jusqu’à trois mois gratuits.", - "renew.details_expired": "Votre abonnement Lantern Pro est expiré. Renouvelez-le maintenant et obtenez jusqu’à quarante-cinq jours gratuits.", - "renew.asterisk_early": "* Cette offre à durée limitée n’est valide que pour les renouvellements anticipés.", - "renew.asterisk_last_day": "* Ceci est votre dernière chance de recevoir cette offre spéciale.", - "renew.asterisk_expired": "* Cette offre est à durée limitée.", - "renew.plan_label": "Lantern Pro - %s", - "renew.plan_renewal_bonus_1_month": "$%d%s + UN MOIS GRATUIT", - "renew.plan_renewal_bonus_months": "$%d%s + %d MOIS GRATUITS", - "renew.plan_renewal_bonus_days": "$%d%s + %d JOURS GRATUITS", - "renew.next": "suivant", - "renew.decline": "Refuser l’offre", - "renew.decline_question": "Voulez-vous vraiment refuser cette offre ?", - "renew.decline_yes": "Renouveler ultérieurement", - "renew.decline_dismiss": "Renouveler maintenant", - "renew.notification_title_30_days": "Renouvelez votre version Pro maintenant et réalisez des économies considérables.", - "renew.notification_title_30_days_platinum": "Renouvelez votre abonnement Platinum maintenant et réalisez des économies considérables !", - "renew.notification_text_30_days": "Votre compte {{planName}} arrivera à expiration dans {{remainingDays}} jours. Renouvelez-le maintenant et obtenez jusqu’à trois mois gratuits.", - "renew.notification_title_2_days": "La remise sur {{planName}} se termine demain !", - "renew.notification_text_2_days": "Votre compte {{planName}} arrive à expiration demain. Ne ratez pas l’occasion d’obtenir une remise considérable.", - "renew.notification_title_last_day": "Dernière chance d’obtenir une remise", - "renew.notification_text_last_day": "Votre compte {{planName}} est arrivé à expiration. Renouvelez-le aujourd’hui et obtenez jusqu’à trois mois gratuits.", - "replica.upload": "Téléverser", - "replica.favorite": "Ajouter aux favoris", - "replica.added_to_favorites": "A été ajouté aux favoris", - "replica.filedrop_error": "Erreur de téléversement de ce fichier", - "replica.filedrop_error.file-too-large": "La taille maximale permise est {{fileSize}}", - "replica.filedrop_error.file-too-small": "Le fichier est trop petit", - "replica.filedrop_error.too-many-files": "Il y a trop de fichiers", - "replica.filedrop_error.file-invalid-type": "Ce type de fichier n’est pas pris en charge actuellement", - "replica.filedrop_remove_file": "Supprimer de la file", - "replica.post": "Téléverser un fichier", - "replica.relevance": "Pertinence", - "replica.upload_date": "Date de téléversement", - "replica.gallery_view": "Vue en galerie", - "replica.list_view": "Vue en liste", - "replica.copy_lantern_link": "Copier le lien Lantern", - "replica.documents": "Documents", - "replica.audio": "Son", - "replica.application": "Applis", - "replica.image": "Images", - "replica.video": "Vidéos", - "replica.web": "Web", - "replica.news": "Actualités", - "replica.upload_alert.dont_show": "Ne plus afficher", - "replica.upload_alert.cancel": "Annuler le téléversement", - "replica.upload_alert.resume": "Reprendre le téléversement", - "replica.upload_alert.info": "Renseignements importants", - "replica.upload_alert.desc1": "Les fichiers téléversés vers Lantern sont distribués et décentralisés. Une fois qu’un autre utilisateur y a accédé, personne ne peut les supprimer du réseau, pas même Lantern, même s’ils sont supprimés de votre liste « Mes fichiers ».", - "replica.upload_alert.desc2": "Si vous téléversez du contenu délicat, veuillez vous abstenir d’utiliser dans le fichier ou le nom de fichier des renseignements personnels qui permettraient de vous identifier.", - "replica.add_details": "Ajouter des détails", - "replica.cannot_edit": "Les noms des fichiers ne peuvent pas être modifiés après leur publication.", - "replica.next": "Suivante", - "replica.previous": "Précédente", - "replica.selectAll": "Tout sélectionner", - "replica.search_replica": "Recherche", - "replica.search_results_info": "Cet onglet n’affiche que les résultats de Lantern.", - "replica.search_results_info_message": "Les résultats de Lantern comprennent du contenu téléversé par les utilisateurs vers le réseau Lantern.", - "replica.no_files_found": "Aucun résultat", - "replica.or_content": "votre propre contenu afin qu’il soit trouvé par d’autres.", - "replica.try_again": "Essayez un mot-clé différent ou", - "replica.upload_success": "Le téléversement est réussi", - "replica.cannot_preview": "Il n’y a pas d’aperçu pour ce type de fichier", - "replica.no_description": "Aucune description fournie", - "replica.size": "Taille", - "replica.uploaded": "À été téléversée", - "replica.invalid_link": "Lien invalide", - "replica.close": "Fermer", - "replica.files": "Fichiers", - "replica.upload_history": "Historique de téléversement", - "replica.my_favorites": "Favoris", - "replica.no_uploads": "Pas encore de téléversements", - "replica.no_favorites": "Il n’y a pas encore de favoris", - "replica.mime_type": "Type de fichier : {{mime}}", - "replica.image_loading_error": "Erreur de chargement de l’image", - "replica.play": "Lecture", - "replica.pause": "Pause", - "replica.scrub": "Lecture dynamique", - "replica.skip_forward": "Avance rapide", - "replica.skip_backwards": "Retour rapide", - "replica.trending_videos": "Vidéos tendance", - "replica.file_uploaded": "Téléversement : il y a {{days}} jours", - "replica.file_size": "Taille", - "replica.duration": "Durée", - "replica.filename": "Nom de fichier", - "replica.filename_required": "Nommez votre fichier", - "replica.description_optional": "Ajouter une description", - "replica.expand": "Développer les détails", - "replica.filetype": "Type de fichier", - "replica.sortby": "Trier par", - "replica.link": "Lien de réplique", - "replica.collapse": "Réduire", - "replica.publish": "Publier", - "replica.cancel": "Annuler", - "replica.progress_current_upload": "Téléversement de", - "replica.progress_files": "fichiers", - "replica.progress_of": "de", - "replica.progress_upload_complete": "Terminer", - "replica.progress_upload_failure": "Le téléversement a échoué, veuillez réessayer.", - "replica.upload_in_progress": "Téléversement en cours", - "replica.upload_pending": "Téléversement en attente", - "replica.upload_error": "Erreur de téléversement", - "replica.upload_cancel": "Annuler le téléversement", - "replica.upload_confirm": "Voulez-vous vraiment annuler le téléversement ?", - "replica.progress_view": "Afficher", - "replica.delete": "Supprimer", - "replica.remove": "Retirer", - "replica.delete_file": "Supprimer le fichier", - "replica.remove_favorite": "Supprimer des favoris", - "replica.failed_to_delete": "Échec de suppression", - "replica.failed_to_remove": "Échec de suppression", - "replica.link_lookup_failure": "Échec de découverte du lien", - "replica.delete_file_confirmation_1": "Voulez-vous vraiment supprimer", - "replica.delete_file_confirmation_2": "de vos téléversements", - "replica.remove_favorite_confirmation_1": "Confirmez-vous la suppression ?", - "replica.remove_favorite_confirmation_2": "de vos favoris", - "replica.share_file": "Partager le fichier", - "replica.download_and_view": "Télécharger/visualiser", - "replica.download": "Télécharger", - "replica.copy_link": "Copier le lien de la réplique", - "replica.find_file": "Trouver un fichier", - "replica.file_drop_prompt": "Déposez un fichier pour lancer le téléversement.", - "replica.empty_uploads_text1": "Cliquez", - "replica.empty_uploads_text2": "ici", - "replica.empty_uploads_text3": "pour effectuer votre première publication.", - "replica.error_header": "Oups", - "replica.error": "Le traitement de votre interrogation a généré une erreur. veuillez réessayer", - "replica.serp_empty": "Google n’a retourné aucun résultat pour cette interrogation.", - "replica.disclaimer": "Lantern anonymise vos recherches et les protège contre les tiers", - "settings.general": "Général", - "settings.feedback": "Rétroaction", - "settings.autoLaunch": "Lancer Lantern avec le système", - "settings.autoReport": "Envoyer, en toute sécurité, des statistiques d’utilisation anonymes afin de contribuer à Lantern", - "settings.lantern_ads": "Afficher les publicités de Lantern", - "settings.lantern_ads_tooltip": "Lantern vous présente des publicités sur certains sites Web pour nous aider à financer notre service. Aucun renseignement d’utilisateur n’est recueilli ni transmis à nos serveurs. Si vous désactivez cette option, vous pourriez encore voir des publicités, mais elles ne proviendront pas du réseau Lantern.", - "settings.proxyAll": "Relayer tout le trafic", - "settings.proxyAllHelpTitle": "QUE FAIT L’OPTION « RELAYER TOUT LE TRAFIC » ?", - "settings.proxyAllHelp1": "Si cette option est activée, tout le trafic sera envoyé par Lantern (option la plus sécurisée).", - "settings.proxyAllHelp2": "Si cette option est désactivée, seul le trafic bloqué sera envoyé par Lantern (option la plus rapide, la plus habituelle).", - "settings.show_advanced": "Afficher les paramètres avancés", - "settings.hide_advanced": "Cacher les paramètres avancés", - "settings.systemProxy": "Gérer le mandataire système", - "settings.title": "Paramètres", - "settings.http_proxy": "Mandataire HTTP(S) :", - "settings.socks_proxy": "Mandataire SOCKS :", - "settings.caution": "Attention :", - "settings.caution_text": "Si vous décochez « Gérer le mandataire système », votre navigateur et les applications ne pourront plus utiliser Lantern automatiquement. Si vous savez comment configurer manuellement ces paramètres, référez-vous aux renseignements ci-dessus.", - "settings.select_language": "Sélectionner la langue", - "settings.diagnostics": "Joindre des renseignements de diagnostic", - "settings.diagnostics_tooltip": "Joindre des renseignements de diagnostic enverra à l’équipe de Lantern des données capturées de votre connexion. Cela nous permettra de mieux déterminer et résoudre votre problème.", - "status.lantern": "Lantern est", - "status.click_reconnect": "Cliquez-ici pour vous reconnecter", - "status.server_location": "Emplacement du serveur", - "status.tooltip1": "Lantern utilise une sélection intelligente des serveurs afin de vous connecter à nos meilleurs centres de traitement de données.", - "status.tooltip2": "Passez à Lantern Pro et obtenez un vitesse supérieure ainsi qu’une sélection optimisée des serveurs à partir de nos centres de traitement de données exclusifs à Lantern Pro.", - "status.protected_connection": "Votre connexion est protégée", - "status.please_wait": "Cela pourrait prendre quelques minutes…", - "status.connecting": "Connexion…", - "status.no_internet": "Désactivée", - "status.no_internet_connection": "Aucune connexion à Internet", - "status.connected": "Activée", - "status.disconnected": "Désactivée", - "status.throttled": "Vitesse limitée (plafonnement des données)", - "status.no_system_proxy": "{{status}}, le mandataire système n’est pas géré", - "status.fail_to_set_system_proxy": "Échec de définition de Lantern comme mandataire système", - "status.fail_to_open_browser": "Échec d’ouverture d’une fenêtre de navigateur pour afficher l’interface utilisateur de Lantern", - "support.forum": "Forum des utilisateurs de Lantern", - "support.faq": "FAQ", - "terms_of_service.acknowledgment": "En cliquant sur {{buttonText}}, vous acceptez nos Conditions générales d’utilisation", - "terms_of_service.replica": "En cherchant, en téléversant ou en utilisant nos produits de quelque manière que ce soit, vous acceptez nos Conditions générales d’utilisation, notre Politique de confidentialité ainsi que notre Politique DMCA", - "top_sites.google": "Google", - "top_sites.twitter": "Twitter", - "top_sites.youtube": "Youtube", - "top_sites.facebook": "Facebook", - "top_sites.wikipedia": "Wikipédia", - "verify.header": "Saisir ou coller un code de liaison d’appareil", - "verify.code": "Code de liaison d’appareil", - "verify.howto_1": "Si vous avez un compte Lantern Pro sur un autre appareil, veuillez saisir ici votre adresse courriel afin de recevoir un code pour autoriser l’appareil", - "verify.howto_1a": "Vous êtes actuellement un utilisateur Pro non autorisé. Veuillez saisir votre adresse de courriel afin d’autoriser votre compte Pro. Cela vous permettra de relier plusieurs appareils.", - "verify.howto_2": "Pour relier un appareil à votre compte Pro :", - "verify.howto_3": "1. Choisissez « Autoriser l’appareil à la version Pro » dans le menu de votre autre appareil.", - "verify.howto_4": "2. Saisissez le code de liaison obtenu à l’étape 1 et envoyez.", - "verify.reminder": "*Assurez-vous que la version la plus récente de Lantern est utilisée sur les deux appareils", - "verify.enter_pin": "Saisir ou coller un code de liaison d’appareil", - "verify.submit": "Envoyer", - "verify.title": "Vérification de compte", - "welcomeToPro.continue": "Poursuivre vers la version Pro", - "welcomeToPro.invite": "Invitez des amis et ils obtiendront trois mois gratuits s’ils achètent le forfait de deux ans, et vous aussi. Le forfait d’un an fera gagner un mois gratuit à vous et à vos amis. Lancez les invitations.", - "welcomeToPro.thanks": "Vous disposez désormais d’un accès illimité à l’aide de nos centres de données les plus rapides. Vous pouvez connecter jusqu’à trois appareils à votre compte.", - "welcomeToPro.title": "Bienvenue à Lantern Pro", - "welomeToPro.title_exclamation": "Bienvenue à Lantern Pro !", - "purchase.failed": "L’achat a échoué. Veuillez réessayer ultérieurement.", - "purchase.success": "L’achat a réussi", - "purchase.success_title": "Bienvenue à Lantern {{planType}} !", - "purchase.success_content_pro": "Vous disposez désormais d’un accès illimité à l’aide de nos centres de données les plus rapides. Vous pouvez connecter jusqu’à trois appareils à votre compte.", - "purchase.success_content_platinum": "Vous disposez désormais d’un accès illimité à l’aide de nos lignes dédiées et de nos centres de données les plus rapides. Vous pouvez connecter jusqu’à trois appareils à votre compte.", - "welcomeToPro.description": "Vous avez désormais un accès sans restrictions aux sites et aux services bloqués", - "messages.copied_to_clipboard": "Le code a été copié. Partagez-le avec vos amis.", - "messages.datacap": "Données gratuites à grande vitesse épuisées. Passez à la version Pro pour des données illimitées.", - "messages.fatal_error": "Désolé, nous n’arrivons pas à contacter les serveurs Lantern. Veuillez vérifier votre connexion Internet et réessayer.", - "messages.backend_gone": "Désolé, Lantern ne semble plus être en cours d’exécution. Veuillez redémarrer Lantern et réessayer.", - "messages.get_help": "Obtenir de l’aide", - "freeProCredits.title": "Inviter des amis", - "freeProCredits.shareWithFriends": "Partagez votre code avec des amis pour obtenir des mois gratuits.", - "freeProCredits.shareWithFriendsDesc": "Si votre ami achète le forfait de deux ans, il obtiendra trois mois gratuits et vous aussi. Le forfait d’un an vous fera gagner un mois gratuit, ainsi qu’à votre ami.", - "cards.serverLocation.unknown": "Inconnu", - "cards.serverLocation.description": "Emplacement de serveur optimisé", - "cards.serverLocation.description-free": "Emplacement de serveur", - "cards.serverLocation.description-upgrade": "Passez à Lantern Pro et accédez à des serveurs plus rapides", - "cards.serverLocation.title": "Emplacement actuel :", - "cards.serverLocation.location": "%s, %s", - "cards.serverLocation.text": "Lantern utilise une sélection intelligente des serveurs afin de trouver automatiquement pour vous la connexion la plus rapide possible à partir de nos centres de traitement de données à Tokyo, Singapour, Hong Kong, San Francisco, New York, Amsterdam, Bangalore et plus encore.", - "cards.serverLocation.text-free": "Lantern utilise une sélection intelligente des serveurs afin de vous connecter à nos meilleurs centres de traitement de données.", - "cards.serverLocation.upgrade-link": "Passez à Lantern Pro pour une vitesse supérieure et une sélection optimisée de serveurs de nos centres de traitement de données exclusifs à Lantern Pro.", - "cards.httpsUpgrades.description": "Mises à niveau HTTPS", - "cards.httpsUpgrades.title": "Mises à niveau HTTPS : %d", - "cards.httpsUpgrades.text": "Quand cela est possible, Lantern transforme automatiquement les connexions HTTP non sécurisées en des connexions HTTPS chiffrées, afin de préserver la confidentialité de vos renseignements alors que vous naviguez sur le Web.", - "cards.adsBlocked.description": "Blocage des publicictés", - "cards.adsBlocked.title": "Publicités bloquées : %d", - "cards.adsBlocked.text": "Lantern bloque les publicités envahissantes afin d’accélérer le temps de chargement des pages Web, d’économiser la bande passante et de vous offrir une expérience de navigation plus fluide.", - "cards.dataUsage.description": "Utilisation des données", - "cards.dataUsage.upgrade": "Passez à la version Pro maintenant", - "cards.dataUsage.mb-used": "Vous avez utilisé %d/%d Mo de vos données mensuelles à grande vitesse.", - "cards.dataUsage.upgrade-link": "Passez à la version Pro maintenant et obtenez un service à grande vitesse illimité.", - "cards.subscription.description": "Abonnement Pro", - "cards.subscription.renew": "Renouveller", - "cards.subscription.months": "Il vous reste %d mois de Lantern Pro dans votre abonnement.", - "cards.subscription.days": "Il vous reste %d jours de Lantern Pro dans votre abonnement.", - "cards.subscription.unit.months": " mois", - "cards.subscription.unit.days": " jours", - "cards.subscription.renew-link": "Renouvelez votre abonnement pour ajouter du temps supplémentaire.", - "auth.email": "Adresse courriel", - "auth.username": "Nom d’utilisateur", - "auth.username.or.email": "Nom d’utilisateur ou adresse courriel", - "auth.signin": "Se connecter", - "current.password": "Mot de passe actuel", - "new.password": "Nouveau mot de passe", - "auth.change.password": "Changer le mot de passe", - "confirm.new.password": "Confirmer le nouveau mot de passe", - "auth.password": "Mot de passe", - "auth.have.recovery.phrase": "Avez-vous une phrase de récupération ?", - "auth.forgot.password": "Avez-vous oublié votre mot de passe ou n’en avez-vous pas ?", - "auth.create.account": "Créer un compte", - "auth.missing.username": "Le nom d’utilisateur manque", - "auth.missing.current.password": "Le mot de passe actuel manque", - "auth.missing.new.password": "Le nouveau mot de passe manque", - "auth.missing.confirm.password": "Le mot de passe de confirmation manque", - "invalid_credentials": "Les authentifiants sont invalides", - "yinbi.wallet": "Porte-monnaie Yinbi", - "create.wallet": "Créer un porte-monnaie", - "new.to.yinbi": "Yinbi est-elle une nouveauté pour vous ?", - "setup.wallet": "Oui, configurons un nouveau porte-monnaie", - "web.wallet": "Non, j’ai un porte-monnaie sur le site Web Yin.bi", - "yinbi.next": "Suivante", - "yinbi.amount": "Montant", - "yinbi.missing.address": "Aucune adresse de destination n’a été indiquée", - "yinbi.missing.amount": "Aucun montant n’a été indiqué", - "yinbi.missing.email": "Aucune adresse courriel n’a été indiquée", - "yinbi.missing.username": "Aucun nom d’utilisateur n’a été indiqué", - "yinbi.missing.password": "Aucun mot de passe n’a été indiqué", - "yinbi.invalid.address": "{{destination}} n’est pas une adresse Stellar valide", - "yinbi.send": "Envoyer", - "yinbi.to": "À :", - "yinbi.try_again": "Réessayer ?", - "yinbi.success.transaction": "La transaction est réussie", - "yinbi.failure.transaction": "La transaction a échoué", - "yinbi.confirm.transaction": "Confirmer la transaction", - "yinbi.sent.details": "Vous avez envoyé {{amount}} YNB à {{destination}}", - "yinbi.sent.failure.details": "Votre transaction a échoué pour les raisons suivantes :", - "yinbi.recipient": "Destinataire", - "yinbi.available.send": "{{balance}} YNB sont disponibles pour l’envoi", - "yinbi.wallet.header": "Porte-monnaie", - "yinbi.send.header": "Envoyer des yinbis", - "yinbi.recovery.phrase": "Phrase de récupération Yinbi", - "yinbi.recover.account": "Saisissez ou collez votre phrase de récupération Yinbi afin de récupérer votre porte-monnaie Yinbi et votre compte Lantern", - "yinbi.recovery.desc": "Utilisez cette méthode si vous souhaitez vous connecter à votre compte Lantern et à votre porte-monnaie Yinbi", - "yinbi.redeem.codes": "Encaisser des codes Yinbi en bloc", - "yinbi.obtain.codes": "Les codes Yinbi d’encaissement en bloc peuvent être obtenus sur reseller.lantern.io", - "yinbi.receive.header": "Recevoir des yinbis", - "yinbi.this.is.your.wallet": "Ceci est votre adresse de porte-monnaie Yinbi à laquelle l’on peut vous envoyer des yinbis.", - "yinbi.your.address": "Votre adresse", - "yinbi.no.activity.header": "Aucune activité", - "yinbi.upgrade.pro.button": "Passez à Lantern Pro et obtenez gratuitement des yinbis", - "yinbi.renew.pro.button": "Renouvelez Pro et obtenez gratuitement des yinbis", - "yinbi.wallet.activity_header": "Activité", - "yinbi.wallet.send": "Envoyer", - "yinbi.wallet.receive": "Recevoir", - "yinbi.wallet.balance": "Solde", - "yinbi.wallet.getlantern.pro": "Obtenir Lantern PRO + des yinbis gratuits", - "yinbi.redemption.codes": "Codes d’encaissement de yinbis", - "redeem_codes.title": "Encaisser des codes Yinbi", - "redeem_codes.redeem_button_text": "Encaisser", - "redeem_codes.cancel_button_text": "Annuler", - "redeem_codes.success": "L’opération est réussie", - "redeem_codes.errors.missing_codes": "Aucun code valide n’a été saisi", - "redeem_codes.errors.invalid_codes": "Erreur, veuillez vérifier les codes surlignés. Les codes biffés sont expirés et ne peuvent plus être validés.", - "yinbi.new.account.text": "Une fois que vous aurez envoyé ou reçu des yinbis, vos transactions apparaîtront ici.", - "yinbi.createAccount": "Créer un compte", - "yinbi.confirm.account.text": "Afin de confirmer que vous avez correctement pris la phrase en note, veuillez saisir les mots suivants de votre phrase de récupération", - "create_account.invalid_words.error": "Les mots saisis ne correspondaient pas à ceux de votre phrase de récupération", - "yinbi.recovery_text": "Ceci est la phrase de récupération de votre porte-monnaie Yinbi. Elle constitue la SEULE manière\nde récupérer votre porte-monnaie Yinbi si vous perdiez le mot de passe. Veuillez utiliser un\ngestionnaire de mots de passe ou prendre une copie papier de cette phrase.", - "yinbi.recovery_confirm_text": "Ceci est la phrase de récupération de votre porte-monnaie Yinbi. Elle constitue la SEULE manière de récupérer votre porte-monnaie Yinbi si vous perdiez le mot de passe. Veuillez utiliser un gestionnaire de mots de passe ou prendre une copie papier de cette phrase.", - "yinbi.import.wallet": "Importer un porte-monnaie", - "yinbi.setup.wallet": "Configurer un porte-monnaie", - "yinbi.importWallet": "Importer un porte-monnaie Yin.bi", - "yinbi.import.wallet.continue": "Poursuivre vers votre porte-monnaie", - "yinbi.import.wallet.success": "Le porte-monnaie a été importé avec succès", - "yinbi.wallet.text": "Afin d’accéder au porte-monnaie Yinbi, vous pouvez créer un compte,\nvous connecter ou importer votre porte-monnaie de Yin.bi si vous vous\nêtes inscrits auparavant sur le site Web Yin.bi.", - "yinbi.wallet.pro.text": "Afin d’accéder au porte-monnaie Yinbi, vous pouvez créer un compte, importer votre porte-monnaie de Yin.bi si vous vous y êtes inscrits auparavant.", - "yinbi.recovery_subheader": "Phrase de récupération du porte-monnaie Yinbi", - "yinbi.import_wallet.subheader": "Importer un porte-monnaie Yinbi", - "yinbi.import_wallet.text": "Connectez-vous avec vos identifiants Yin.bi afin de transférer votre porte-monnaie vers Lantern", - "yinbi.import_wallet.success": "Votre porte-monnaie a été importé avec succès. Veuillez ajouter votre adresse courriel afin d’achever l’inscription de votre compte.", - "yinbi.import_wallet.success_subheader": "L’importation est réussie", - "yinbi.import_wallet.button": "Importer un porte-monnaie Yin.bi", - "yinbi.import_wallet.success_button": "Achever l’inscription", - "yinbi.recovery_passphrase.label_text": "Phrase de récupération", - "yinbi.recovery_passphrase.copy_button_text": "Copier", - "terms_of_service.notice": "Avis", - "terms_of_service.i_agree": "J’accepte", - "platinum": "Platinum", - "platinum.one_year": "Tarif pour 1 an", - "platinum.two_years": "Tarif pour 2 ans", - "platinum.save": "Jusqu’à {{savings}} % d’économies !", - "platinum.unlimited": "Données illimitées", - "platinum.logs": "Aucun journaux", - "platinum.devices": "Connectez jusqu’à trois appareils", - "platinum.everything_in_pro": "Tout ce qui est inclus dans Pro", - "platinum.faster_data": "Centres de traitement de données plus rapides", - "platinum.dedicated": "Ligne dédiée", - "platinum.reliability": "Fiabilité accrue", - "platinum.platinum_one_year": "Lantern Platinum pendant 1 an", - "platinum.platinum_two_years": "Lantern Platinum pendant 2 ans", - "platinum.pro_one_year": "Lantern Pro pendant 1 an", - "platinum.pro_two_years": "Lantern Pro pendant 2 ans", - "platinum.total": "Total", - "platinum.free": "Gratuit", - "platinum.credit.days": "+ {{ days }} jours", - "platinum.credit.months": "{{ months }} mois", - "platinum.upgrade": "Passer à Platinum", - "platinum.upgrade_details": "Ligne dédiée + centres de données plus rapides !", - "platinum.unused_time_disclaimer": "Les utilisateurs Pro qui passent à Platinium verront leur abonnement Pro converti indiqué sous forme de temps ci-dessus.", - "p2p.opt_in_description": "Utilisez votre Internet pour aider des personnes à accéder à Internet sans censure", - "p2p.active_sharing_description": "Le partage de votre Internet est activé", - "p2p.dialog.title": "Partager l’accès à Internet", - "p2p.dialog.text.1": "Partagez votre connexion pour aider des personnes disposant d’un accès limité à Internet. En autorisant l’accès à votre Internet, vous ferez partie d’un réseau de volontaires qui permettent à Internet d’être plus ouvert.", - "p2p.dialog.text.2": "Le partage ne compromettra pas votre identité ni votre sécurité. Vous pouvez arrêter de partager votre Internet lorsque vous le souhaitez.", - "p2p.dialog.yes_button": "OUI, COMMENCER LE PARTAGE", - "p2p.dialog.no_button": "ANNULER", - "p2p.banner.introducing": "PRÉSENTATION", - "top_sites.top_sites": "Les premiers sites" -} \ No newline at end of file diff --git a/locale/translation/fr_CA.json b/locale/translation/fr_CA.json deleted file mode 100644 index 9465166bf..000000000 --- a/locale/translation/fr_CA.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "TRAY_SHOW_LANTERN": "Montrer Lantern", - "TRAY_QUIT": "Quitter Lantern" -} \ No newline at end of file diff --git a/locale/translation/fr_FR.json b/locale/translation/fr_FR.json deleted file mode 100644 index a71a76233..000000000 --- a/locale/translation/fr_FR.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "TRAY_SHOW_LANTERN": "Montrer Lanterne", - "TRAY_QUIT": "Quitter Lanterne." -} \ No newline at end of file diff --git a/locale/translation/gl.json b/locale/translation/gl.json deleted file mode 100644 index 59cc830d4..000000000 --- a/locale/translation/gl.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "TRAY_SHOW_LANTERN": "Show Lantern", - "TRAY_QUIT": "Quit Lantern" -} \ No newline at end of file diff --git a/locale/translation/he.json b/locale/translation/he.json deleted file mode 100644 index e3ece900e..000000000 --- a/locale/translation/he.json +++ /dev/null @@ -1,462 +0,0 @@ -{ - "TRAY_LANTERN": "Lantern", - "TRAY_STATUS": "מעמד: %v", - "TRAY_CONNECT": "התחבר", - "TRAY_DISCONNECT": "התנתק", - "TRAY_SHOW_LANTERN": "הראה את Lantern", - "TRAY_UPGRADE_TO_PRO": "שדרג אל מקצועי", - "TRAY_QUIT": "צא מן Lantern", - "BACKEND_DATA_TITLE": "No more high speed Lantern data", - "BACKEND_DATA_MESSAGE": "Please upgrade to Pro to keep using Lantern at full speed!", - "BACKEND_DATA_PERCENT_TITLE": "Reached %s of your Lantern data", - "BACKEND_DATA_PERCENT_MESSAGE": "You have used %s of your Lantern high speed data for the month. Upgrade now!", - "BACKEND_CLICK_LABEL": "Open", - "BACKEND_CLICK_LABEL_OPEN": "Open", - "BACKEND_CLICK_LABEL_HELP": "עזרה", - "BACKEND_CLICK_LABEL_GOT_IT": "הבנתי", - "BACKEND_AUTOUPDATED_TITLE": "Update Lantern to version %s", - "BACKEND_AUTOUPDATED_MESSAGE": "Lantern %s has been downloaded. Please restart Lantern to use it.", - "BACKEND_MITM_INSTALL_CERT": "Lantern wants to install a custom certificate in order to unblock your traffic", - "BACKEND_MITM_INSTALL_CERT_WINDOWS_BODY": "Please allow %v to make changes to your system", - "BACKEND_ALERT_TITLE": "Critical alert needs your attention", - "about.content": "Lantern is an application that delivers fast, reliable and secure access to the open Internet.", - "about.faq": "Read the Lantern FAQs", - "about.open": "Open Internet for Everyone", - "about.questions": "שאלות?", - "about.title": "אודות", - "account.cancel": "בטל חשבון מקצועי", - "account.free.cap": "{{mb}} MB remaining of your free monthly data", - "account.free.cap.upgrade": "Upgrade to Pro for unlimited high speed data", - "account.freelink.validFor": "valid for %s", - "account.freelink.desc": "כדי לקשר מכשיר זה אל חשבון מקצועי שלך:", - "account.freelink.step1": "1. Open the 'Add Device' menu item on your Pro device.", - "account.freelink.step2": "2. Enter the device linking code, and submit.", - "account.freelink.reminder": "* Make sure you're updated to the latest version of Lantern on your Pro device", - "account.freelink.errorTitle": "שגיאה בקישור", - "account.freelink.errorText": "Are you sure you entered the code on your Pro device?", - "account.freelink.headerDesc": "קשר מכשיר זה אל חשבון מקצועי שלך", - "account.freelink.title": "קוד של קישור מכשיר", - "account.pro.charge": "Your account will automatically be charged for another year of Lantern Pro at the end of your billing cycle.", - "account.upgrade": "שדרג אל מקצועי", - "account.pro.email": "Email Address:", - "account.pro.expired": "Your Pro account has expired. Renew now for Unlimited monthly data.", - "account.pro.expiry": "Your Pro account expires in %s days on %s.", - "account.pro.bonusMonths": "This includes your {{bonusMonths}} bonus months!", - "account.pro.thisdevice": "(מכשיר זה)", - "account.pro.logout": "LOG OUT", - "account.pro.removedevice": "הסר", - "account.pro.devices": "Devices authorized to use your Pro account:", - "account.pro.device.confirm.title": "Deauthorize Device", - "account.pro.device.confirm": "Are you sure you want to remove '{{device}}' from your Lantern Pro account?", - "account.pro.device.one.title": "רק מכשיר אחד", - "account.pro.device.one": "Sorry, but you cannot remove your last authorized device.", - "account.pro.linkingcode": "Device Linking Code:", - "account.pro.renew": "RENEW PRO ACCOUNT", - "account.prolink.errorTitle": "שגיאה בקישור", - "account.prolink.errorText": "Are you sure you copied the code correctly from your other device?", - "account.prolink.successTitle": "מכשיר מקושר", - "account.prolink.successText": "You have successfully linked your device! Please wait a moment for your other device to automatically become pro.", - "adyen.paymentMethods.title": "שיטות תשלום", - "adyen.paymentMethods.storedMethods": "שיטות התשלום שלך", - "adyen.paymentMethods.otherMethods": "בחר שיטה אחרת", - "adyen.paymentMethods.moreMethodsButton": "עוד שיטות תשלום", - "adyen.payButton": "שלם", - "adyen.payButton.formatted": "שלם %@", - "adyen.cancelButton": "בטל", - "adyen.dismissButton": "אישור", - "adyen.storeDetails": "שמור עבור התשלום הבא שלי", - "adyen.payment.redirecting": "You will be redirected", - "adyen.payment.processing": "התשלום שלך מעובד", - "adyen.creditCard.title": "פרטי כרטיס", - "adyen.creditCard.holderName": "Cardholder name", - "adyen.creditCard.holderName.placeholder": "J. Smith", - "adyen.creditCard.numberField.title": "מספר כרטיס", - "adyen.creditCard.numberField.placeholder": "1234 5678 9012 3456", - "adyen.creditCard.numberField.invalid": "מספר כרטיס בלתי תקף", - "adyen.creditCard.expiryDateField.title": "תאריך תפוגה", - "adyen.creditCard.expiryDateField.placeholder": "MM/YY", - "adyen.creditCard.expiryDateField.invalid": "תאריך תפוגה בלתי תקף", - "adyen.creditCard.expiryDateField.month": "חודש", - "adyen.creditCard.expiryDateField.month.placeholder": "MM", - "adyen.creditCard.expiryDateField.year.placeholder": "YY", - "adyen.creditCard.expiryDateField.year": "שנה", - "adyen.creditCard.cvcField.title": "CVC / CVV", - "adyen.creditCard.cvcField.placeholder": "123", - "adyen.creditCard.installmentsField": "Number of installments", - "adyen.creditCard.storeDetailsButton": "Remember this card for my next payment", - "adyen.creditCard.oneClickVerification.title": "וודא את הכרטיס שלך", - "adyen.creditCard.oneClickVerification.message": "Please enter the CVC code for %@", - "adyen.creditCard.oneClickVerification.invalidInput.title": "CVC בלתי תקף", - "adyen.creditCard.oneClickVerification.invalidInput.message": "Please enter a valid CVC to continue.", - "adyen.sepaDirectDebit.ibanField.title": "מספר חשבון (IBAN)", - "adyen.sepaDirectDebit.ibanField.placeholder": "NL53 ABNA 1925 1294 122", - "adyen.sepaDirectDebit.ibanField.invalid": "מספר חשבון בלתי תקף", - "adyen.sepaDirectDebit.nameField.title": "Holder Name", - "adyen.sepaDirectDebit.nameField.placeholder": "J. Smith", - "adyen.sepaDirectDebit.consentButton": "I agree that the amount below will be debited from my bank account.", - "adyen.sepa.ownerName": "Holder Name", - "adyen.sepa.ibanNumber": "מספר חשבון (IBAN)", - "adyen.giropay.searchField.placeholder": "Bankname / BIC / Bankleitzahl", - "adyen.giropay.minimumLength": "Min. 3 characters", - "adyen.giropay.noResults": "אין תוצאות חיפוש", - "adyen.error.title": "שגיאה", - "adyen.error.subtitle.redirect": "Redirect failed", - "adyen.error.subtitle.payment": "תשלום נכשל", - "adyen.error.subtitle.refused": "תשלום סורב", - "adyen.error.message.unknown": "שגיאה בלתי ידועה התרחשה", - "adyen.error.message.cannotConnectToInternet": "נכשל בחיבור אל האינטרנט: אנא בדוק את חיבור האינטרנט שלך.", - "adyen.error.message.cannotConnectToHost": "נכשל בחיבור אל שרת התשלומים שלנו.", - "adyen.error.retryButton": "נסה שוב", - "adyen.idealIssuer.selectField.title": "בנק", - "adyen.idealIssuer.selectField.placeholder": "בחר את הבנק שלך", - "adyen.creditCard.success": "תשלום הצליח", - "adyen.oneClick.confirmationAlert.title": "אשר תשלום באמצעות %@", - "adyen.redirect.cannotOpenApp.title": "לא ניתן לפתוח יישום", - "adyen.redirect.cannotOpenApp.appNotInstalledMessage": "This app could not be opened because it is not installed on this device.", - "adyen.holderName": "Cardholder name", - "adyen.countryCode": "קוד מדינה", - "adyen.telephone.number": "מספר טלפון", - "authorize.title": "Authorize Device for Pro", - "authorize.step1.have_pro_device": "יש לי מכשיר Lantern מקצועי נוסף", - "authorize.step1.link": "קשר מכשיר זה", - "authorize.step1.or": "או", - "authorize.step1.recover": "I need to recover my Lantern Pro account", - "authorize.step1.start": "start recovery", - "authorize.step1.no_mail": "Don't remember your Email address?", - "authorize.step2b.enter_code": "Enter your Account Recovery Code", - "authorize.step2b.code": "Account Recovery Code", - "authorize.step2b.instruction": "An Email with a recovery code has been sent to {{email}}. This email may take several hours to arrive. Please check your spam folder if you do not find it.", - "authorize.step2b.no_mail": "לא קיבלתי דוא\"ל", - "authorize.step3.recovery": "Account Recovery", - "authorize.step3.no_email": "Oops! We're having trouble finding that email address. Please provide more information below to help us locate your account.", - "authorize.step3.no_code_received": "Having trouble receiving the recovery email? Enter the information below and we will contact you within 48 hours.", - "authorize.step3.your_email": "הדוא\"ל שלך", - "authorize.step3.payment_method": "שיטת תשלום", - "authorize.step3.payment_method_hint": "Select the payment method you used to get Pro", - "authorize.step3.credit_card": "כרטיס אשראי", - "authorize.step3.alipay": "AliPay", - "authorize.step3.android_pay": "Android Pay", - "authorize.step3.by_referral": "Received Pro by Referring a friend", - "authorize.step3.payment_account": "חשבון תשלום", - "authorize.step3.payment_account_hint": "Enter your Alipay account information", - "authorize.step3.referral_code": "Your Referral Code", - "authorize.step3.purchase_date": "תאריך רכישה", - "authorize.step3.note": "Please note any other information that may help us locate your account.", - "authorize.step4.title": "Account Recovery In-Progress", - "authorize.step4.text1": "Thank you! We've received your account recovery request.", - "authorize.step4.text2": "Please allow 48 hours to retrieve your Pro account information.", - "authorize.step4.text3": "We will send information to the email address entered on the previous screen.", - "authorized.continue": "המשך אל מקצועי", - "authorized.text": "This device is now authorized to use your Lantern Pro account!", - "authorized.title": "מכשיר מורשה", - "button.renew": "חַדֵּשׁ", - "button.upgrade": "שדרג", - "button.upgrade_now": "שדרג כעת", - "button.upgrade_to_lantern_pro": "שדרג אל Lantern מקצועי", - "button.copy_your_code": "העתק את הקוד שלך", - "button.try_again": "נסה שוב", - "button.continue": "המשך", - "bullet.click_button": "לחץ על הכפתור למטה", - "bullet.paste_code": "הדבק את הקוד ואת קישור ההורדה בהודעה", - "bullet.send_to_friends": "שלח לחבריך", - "cancel": "בטל", - "confirm": "אשר", - "google_search": "חיפוש Google", - "link_device": "Already have a Pro account? Link device", - "err.unknown_error": "שגיאה בלתי ידועה", - "err.internal_error": "שגיאה פנימית", - "err.bad_input": "קלט גרוע", - "err.not_authorized": "בלתי מורשה", - "err.user_exists": "משתמש קיים", - "err.no_such_user": "אין משתמש כזה", - "err.user_already_verified": "משתמש מוודא כבר", - "err.invalid_user_verification": "Invalid user verification", - "err.user_unverified": "User Unverified", - "err.operation_temporarily_unavailable": "Operation temporarily unavailable", - "err.wrong_or_inexistent_plan": "Wrong or inexistent plan", - "err.user_has_active_subscription": "User has active subscription", - "err.payment_error": "שגיאת תשלום", - "err.no_codes_left": "No referral codes left", - "err.wrong_code": "Wrong referral code", - "err.redeeming_own_code_not_allowed": "Redeeming codes of oneself is not allowed", - "err.wrong_charge_id": "Wrong charge ID", - "footer.reseller": "Make Money! Become a Lantern Pro reseller. Click Here", - "footer.reseller.email_subject": "Tell me about the Lantern Reseller Program!", - "footer.reseller.email_body": "When you become a Lantern Reseller you will have the opportunity to make up to 25% on every sale of a Lantern Pro subscription. Tell us a bit about why you want to become a reseller below.", - "feature.faster_speed": "מהירות מהירה יותר", - "feature.faster": "Faster data centers", - "feature.unlimited": "נתונים בלתי מוגבלים", - "feature.nologs": "No Logs", - "feature.devices": "Connect up to 3 devices", - "feature.noads": "ללא פרסומות", - "feature.antiblock": "Blocking Resistant", - "feature.data_center": "Better Data Centers", - "feature.free_yinbi": "Free Yinbi Cryptocurrency!", - "free.title": "Lantern מקצועי", - "free.desc": "Faster. Stronger. Unlimited. Secure.", - "free.link_account": "Already have a Pro account? Link your account.", - "home.get_lantern_pro": "Get Lantern Pro", - "input.email": "דוא\"ל", - "input.your_email": "כתובת הדוא\"ל שלך", - "input.confirm_email": "אשר כתובת דוא\"ל", - "input.enter_email": "הכנס את הדוא\"ל שלך", - "input.use_valid_email": "Write a valid email address", - "input.email_not_match": "Email fields do not match", - "issue.your_email": "הדוא\"ל שלך", - "issue.attach_image_failure": "Cannot attach image", - "issue.try_again": "אנא נסה שוב", - "issue.select_issue": "אנא בחר סוגייה", - "issue.selected_issue": "Select Issue", - "issue.select_issue_hint": "Select an issue from the dropdown menu", - "issue.note": "Describe your Issue", - "issue.description": "Issue Description", - "issue.error": "שגיאה בדיווח על סוגייה", - "issue.submit": "Send Report", - "issue.report_screenshot": "Drag image or click to upload screenshot", - "issue.reported": "Thank you for reporting your issue, we will get back to you via Email as soon as we are able", - "issue.report_sent": "Report Sent", - "issue.type.no_access": "Cannot access blocked sites", - "issue.type.payment_fail": "Cannot complete the payment", - "issue.type.cannot_login": "Cannot log in", - "issue.type.always_spinning": "Loading spinner spins endlessly", - "issue.type.slow": "איטי", - "issue.type.cannot_link_device": "Cannot link devices", - "issue.type.crashes": "Lantern crashes", - "issue.type.other": "אחר", - "languages.title": "שפות", - "mobile.link": "Use the link to download Lantern on your Android device:", - "mobile.title": "קבל גרסת Android", - "nav.about": "אודות", - "nav.account": "ניהול חשבון", - "nav.authorize": "הוסף מכשיר", - "nav.authorized": "מכשיר הורשה", - "nav.unauthorized_link": "Authorize Device for Pro", - "nav.language": "שפה", - "nav.lantern": "Lantern", - "nav.mobile": "קבל גרסת טלפון נייד", - "nav.report_issue": "דווח על סוגייה", - "nav.settings": "הגדרות", - "nav.verify": "וידוא חשבון", - "nav.yinbi": "Yinbi Redemption", - "nav.home": "Home", - "nav.discover": "Discover", - "nav.wallet": "Wallet", - "nav.yinbi_wallet": "Yinbi Wallet", - "notification.retry": "נסה שוב", - "notifications.whatisnew": "What's New?", - "payment.close": "סגור", - "payment.wait_for_pro": "Thanks for your purchase of Lantern Pro! Please wait a moment for your Lantern to automatically become Pro.", - "payment_methods.select_name": "בחר שיטת תשלום", - "payment_methods.alipay": "כרטיס אשראי/Alipay", - "payment_methods.shetab": "Fast World Pay (Shetab)", - "payment_methods.shetab.details.header": "To purchase Lantern Pro", - "payment_methods.shetab.details.body": "When you click continue to purchase you will be redirected to an external site to complete payment and collect your activation code.", - "payment_methods.shetab.details.tutorial_header": "Farsi tutorial", - "payment_methods.shetab.details.purchase_voucher_button": "המשך אל רכישה", - "payment_methods.shetab.details.input_code_button": "Input Activation Code", - "plan.step1": "Step 1", - "plan.apply": "Apply", - "plan.step2": "Step 2", - "plan.step3": "Step 3", - "plan.choose_plan": "Choose Plan", - "plan.enter_email": "Enter Email", - "plan.bestValue": "Best Deal!", - "plan.per_month": "per month", - "plan.yinbi_2x": "+ 2x Yinbi!", - "plan.oneYear": "שנה 1", - "plan.add_referral": "Add Referral Code", - "plan.years": "{{years}} year plan", - "plan.desc": "{{price}} billed one time", - "plan.price.cny": "¥%.02f", - "plan.price.usd": "$%.02f", - "plan.currency.cny": "(RMB)", - "plan.currency.usd": "(USD)", - "plan.time_unit": "/שנה", - "plan.select": "בחר", - "plans.title": "תוכניות Lantern מקצועי", - "plans.lantern_pro": "Lantern מקצועי", - "plans.platforms": "For Windows, Android, Mac, Ubuntu.", - "plans.from_reseller": "Have a Lantern Pro activation code? Click here", - "plans.with_voucher_code": "Have an activation code? Click here.", - "pro.apply": "Your credits will be applied to your account in the next billing cycle.", - "pro.title": "Invite friends, get more Pro for free", - "pro.subtitle": "When your friend purchases the two year plan you each get 3 additional months of Pro, the one year plan gets you each 1 month free.", - "pro.share": "Share your code with friends to start earning more credits!", - "promotion.title": "Lantern Pro Checkout", - "promotion.title.activation": "שיפעול Lantern מקצועי", - "promotion.enter_and_confirm_email": "Please enter and confirm your email address", - "promotion.code.hint": "Enter your friend's Referral code (optional)", - "promotion.code.label": "Referral Code", - "promotion.payment": "המשך אל תשלום", - "promotion.loading": "טוען...", - "promotion.howto_1y": "If a friend shared their referral code with you, enter the code to receive one month of Lantern Pro for free after checkout.", - "promotion.howto_2y": "If a friend shared their referral code with you, enter the code to receive three months of Lantern Pro for free after checkout.", - "promotion.pay": "שלם {{amount}}", - "promotion.select": "בחר", - "promotion.promotion_applied_1y": "+1 bonus months", - "promotion.promotion_applied_2y": "+3 bonus months", - "promotion.too_many_referrals": "This referral code has already been added. Check out now to receive your extra months.", - "promotion.activation.enter_and_confirm_email": "Please enter and confirm your email address to register your Lantern Pro account.", - "promotion.activation.label": "XXXXX-XXXXX-XXXXX-XXXXX-XXXXX", - "promotion.activation.hint": "Enter your Activation Code", - "promotion.activation.howto": "Please enter your 25 character Lantern Pro activation code above. If you do not have a code, please purchase Pro on the previous screen or look for a Lantern Pro reseller online.", - "promotion.activation.continue": "המשך אל מקצועי", - "promotion.voucher.hint": "קוד שיפעול", - "promotion.voucher.howto": "Please enter your 12 character Fast World Pay activation code above", - "promotion.voucher.label": "XXXXXXXXXXXX", - "promotion.voucher.error.default": "Error redeeming your activation code. Please contact contact@fastworldpay.com for assistance.", - "promotion.voucher.error.invalid_code": "Invalid activation code", - "promotion.voucher.error.invalid_plan": "Activation code associated with an invalid plan", - "promotion.voucher.error.already_redeemed": "Activation code has already been redeemed", - "referral.code": "Share your referral code", - "referral.text": "Use my code %s and get 3 months free when you sign up!", - "renew.title_30_days": "Renew now for 3 months free!", - "renew.title_2_days": "Lantern Pro expires tomorrow.\nRenew now for 3 months free!", - "renew.title_last_day": "Lantern Pro expires today.\nDon't miss out on your Pro discount!", - "renew.title_expired": "Lantern Pro has expired", - "renew.details_30_days": "Your Lantern Pro membership is ending soon, renew now and enjoy up to three months free! This limited time offer is only valid for early renewals.", - "renew.details_2_days": "Your Lantern Pro membership is ending soon, renew now and enjoy up to three months free! This limited time offer is only valid for early renewals.", - "renew.details_last_day": "Renew now and enjoy up to three months free!\nThis is the last day to take advantage of this offer.\nLantern Pro users get faster speeds, unlimited data, better blocking resistance, three devices and no ads.", - "renew.details_expired": "Renew now for an extra 45 days free. Limited time only.\nLantern Pro users get faster speeds, unlimited data, better blocking resistance, three devices and no ads.", - "renew.plan_label": "Lantern Pro - %s", - "renew.plan_renewal_bonus_1_month": "$%d%s + 1 FREE MONTH", - "renew.plan_renewal_bonus_months": "$%d%s + %d FREE MONTHS", - "renew.plan_renewal_bonus_days": "$%d%s + %d FREE DAYS", - "renew.next": "הבא", - "renew.decline": "Decline Offer", - "renew.decline_question": "Are you sure you want to decline this offer?", - "renew.decline_yes": "Renew later", - "renew.decline_dismiss": "Renew now", - "renew.notification_title_30_days": "Renew Pro now for huge savings!", - "renew.notification_text_30_days": "Your Lantern Pro account expires in {{days}} days. Renew now and get up to 3 months free.", - "renew.notification_title_2_days": "Lantern Pro discount ends tomorrow!", - "renew.notification_text_2_days": "Your Pro account expires tomorrow. Don’t miss this opportunity for a huge discount.", - "renew.notification_title_last_day": "Last chance for a discount!", - "renew.notification_text_last_day": "Your Lantern pro account has expired. Renew today and get up to 3 months free.", - "replica.upload": "Upload", - "replica.relevance": "Relevance", - "replica.upload_date": "Upload Date", - "replica.gallery_view": "Gallery View", - "replica.list_view": "List View", - "replica.copy_lantern_link": "Copy Lantern Link", - "replica.delete_file": "Delete File", - "replica.docs": "תיעוד", - "replica.other": "אחר", - "replica.apps": "Apps", - "replica.images": "Images", - "replica.videos": "Videos", - "replica.next": "הבא", - "replica.previous": "Previous", - "replica.select_all": "Select All", - "replica.search_replica": "Search Public Files", - "replica.no_files_found": "No Files Found", - "replica.or_content": "your own content for other people to find!", - "replica.try_again": "Try a different keyword, or", - "replica.upload_success": "Upload Success!", - "replica.cannot_preview": "No preview for this filetype", - "replica.size": "Size", - "replica.uploaded": "Uploaded", - "replica.invalid_link": "Invalid Link", - "replica.close": "סגור", - "replica.my_files": "My Files", - "replica.filename": "File Name", - "replica.filename_required": "File Name (required)", - "replica.filetype": "Filetype", - "replica.sortby": "Sort By", - "replica.link": "Replica link", - "replica.collapse": "Collapse", - "replica.publish": "Publish", - "replica.cancel": "בטל", - "replica.delete": "Delete", - "replica.failed_to_delete": "Failed to delete", - "replica.link_lookup_failure": "Failed to find link", - "replica.delete_file_confirmation_1": "Are you sure you want to delete", - "replica.delete_file_confirmation_2": "from your uploads", - "replica.share_file": "Share File", - "replica.download_and_view": "Download/View", - "replica.download": "להורדה", - "replica.copy_link": "Copy Replica Link", - "replica.find_file": "Find file", - "replica.file_drop_prompt": "Drag file here or browse to post", - "settings.general": "General", - "settings.feedback": "Feedback", - "settings.autoLaunch": "Run Lantern on system start", - "settings.autoReport": "Securely report usage statistics to contribute to Lantern", - "settings.proxyAll": "יפוי כוח בכל התעבורה", - "settings.proxyAllHelpTitle": "WHAT DOES \"PROXY ALL TRAFFIC\" DO?", - "settings.proxyAllHelp1": "If enabled, all traffic will be sent through Lantern (most Secure option).", - "settings.proxyAllHelp2": "If disabled, only blocked traffic will be sent through Lantern (fastest option, most common).", - "settings.show_advanced": "Show Advanced Settings", - "settings.hide_advanced": "Hide Advanced Settings", - "settings.systemProxy": "Manage system proxy", - "settings.title": "הגדרות", - "settings.http_proxy": "יפוי כוח HTTP(S):", - "settings.socks_proxy": "יפוי כוח SOCKS:", - "settings.caution": "זהירות:", - "settings.caution_text": "When you uncheck \"Manage system proxy\" your browser and applications won't be able to use Lantern automatically. If you know how to manually configure these settings refer to the information above.", - "settings.select_language": "Select Langauge", - "status.lantern": "Lantern is", - "status.click_reconnect": "Click here to reconnect", - "status.server_location": "מיקום שרת", - "status.tooltip1": "Lantern uses smart server selection to connect you to our best data centers.", - "status.tooltip2": "Upgrade to Lantern Pro for faster speed with optimized server selection from our exclusive Lantern Pro data centers", - "status.protected_connection": "Your Connection is Protected", - "status.please_wait": "This may take a minute or two...", - "status.connecting": "מתחבר...", - "status.no_internet": "Off", - "status.no_internet_connection": "אין חיבור אינטרנט", - "status.connected": "On", - "status.disconnected": "Off", - "status.throttled": "Speed Throttled (Data Cap)", - "status.no_system_proxy": "{{status}}, not managing system proxy", - "status.fail_to_set_system_proxy": "Failed to set Lantern as system proxy", - "status.fail_to_open_browser": "Failed to open browser window to show the Lantern user interface", - "terms_of_service.acknowledgment": "By clicking {{buttonText}}, you agree to our Terms of Service", - "verify.header": "Want to link another device to this Pro account? Enter your Device Linking Code below", - "verify.code": "קוד של קישור מכשיר", - "verify.howto_1": "If you have a Lantern Pro account on another device, please enter your e-mail address here to receive a code to authorize the device", - "verify.howto_1a": "You're currently an unauthorized Pro user. Please enter your e-mail address to authorize your Pro account. This will enable you to link multiple devices.", - "verify.howto_3": "1. Open the 'Authorize Device for Pro' menu item on your unauthorized device.", - "verify.howto_4": "2. Enter the linking code obtained from step 1, and submit.", - "verify.reminder": "*Make sure you are updated to the latest version of Lantern on your unauthorized device", - "verify.submit": "הגש", - "verify.title": "וידוא חשבון", - "welcomeToPro.continue": "המשך אל מקצועי", - "welcomeToPro.invite": "Invite friends and you will each get 3 months free when they purchase the two-year plan, the one year plan gets you each 1 month free. Start inviting!", - "welcomeToPro.thanks": "Thanks for your purchase of Lantern Pro!", - "welcomeToPro.title": "ברוך הבא אל Lantern מקצועי", - "messages.copied_to_clipboard": "Code Copied. Share it with your friends!", - "messages.datacap": "You have used your free high speed data. Upgrade to Pro for unlimited high speed data.", - "messages.fatal_error": "Sorry, we're having trouble contacting the Lantern servers. Please check your internet connection and try again.", - "messages.backend_gone": "Sorry, Lantern appears to no longer be running. Please restart Lantern and try again.", - "messages.get_help": "קבל עזרה", - "freeProCredits.title": "הזמן חברים", - "freeProCredits.shareWithFriends": "Share your code with friends to earn free months!", - "freeProCredits.shareWithFriendsDesc": "When your friend purchases the two year plan you will each get 3 months free, the one year plan gets you each 1 month free.", - "cards.serverLocation.unknown": "בלתי ידוע", - "cards.serverLocation.description": "מיקום ממוטב של שרת", - "cards.serverLocation.description-free": "מיקום שרת", - "cards.serverLocation.description-upgrade": "שדרג אל שרתים מהירים יותר", - "cards.serverLocation.title": "מיקום נוכחי:", - "cards.serverLocation.location": "%s, %s", - "cards.serverLocation.text": "Lantern uses smart server selection to automatically find you the fastest connection possible from our data centers in Tokyo, Singapore, Hong Kong, San Francisco, New York, Amsterdam, Bangalore and more.", - "cards.serverLocation.text-free": "Lantern uses smart server selection to connect you to our best data centers.", - "cards.serverLocation.upgrade-link": "Upgrade to Lantern Pro for faster speed with optimized server selection from our exclusive Lantern Pro data centers.", - "cards.httpsUpgrades.description": "שידרוגי HTTPS", - "cards.httpsUpgrades.title": "שידרוגי HTTPS: %d", - "cards.httpsUpgrades.text": "Lantern automatically upgrades unsecure HTTP connections to encrypted HTTPS connections when possible to keep your information private while surfing the web.", - "cards.adsBlocked.description": "פרסומות נחסמו", - "cards.adsBlocked.title": "פרסומות חסומות: %d", - "cards.adsBlocked.text": "Lantern blocks intrusive ads to speed up web page loading time, save bandwidth, and to give you a smoother browsing experience.", - "cards.dataUsage.description": "שימוש בנתונים", - "cards.dataUsage.upgrade": "שדרג כעת", - "cards.dataUsage.mb-used": "You have used %d/%dMB of your monthly high speed data.", - "cards.dataUsage.upgrade-link": "Upgrade now for unlimited high speed service!", - "cards.subscription.description": "מינוי מקצועי", - "cards.subscription.renew": "חַדֵּשׁ", - "cards.subscription.months": "You have %d months of Lantern Pro left in your subscription.", - "cards.subscription.days": "You have %d days of Lantern Pro left in your subscription.", - "cards.subscription.unit.months": "חו'", - "cards.subscription.unit.days": "ימים", - "cards.subscription.renew-link": "Renew your subscription to add more time." -} \ No newline at end of file diff --git a/locale/translation/hi.json b/locale/translation/hi.json deleted file mode 100644 index c6f4ebe9c..000000000 --- a/locale/translation/hi.json +++ /dev/null @@ -1,797 +0,0 @@ -{ - "LANTERN": "लैंटर्न", - "pro": "प्रो", - "BEAM": "बीम", - "TRAY_STATUS": "स्थिति: %v", - "TRAY_CONNECT": "कनेक्ट", - "TRAY_DISCONNECT": "डिस्कनेक्ट", - "TRAY_SHOW": "दिखाएं %s", - "TRAY_UPGRADE_TO_PRO": "प्रो में अपग्रेड", - "TRAY_QUIT": "छोड़ें %s", - "BACKEND_DATA_TITLE": "कोई और अधिक उच्च गति डेटा", - "BACKEND_DATA_MESSAGE": "प्रो करने के लिए अपग्रेड करें पूरी गति से %s का उपयोग कर रखने के लिए!", - "BACKEND_DATA_PERCENT_TITLE": "अपनी %s डाटा %स पहुँचा", - "BACKEND_DATA_PERCENT_MESSAGE": "आपने हाई स्पीड डाटा का %sमें से %s का इस्तेमाल किया है. अभी अपग्रेड करें!", - "BACKEND_CLICK_LABEL": "खोलें", - "BACKEND_CLICK_LABEL_OPEN": "खोलें", - "BACKEND_CLICK_LABEL_HELP": "मदद", - "BACKEND_CLICK_LABEL_GOT_IT": "समझ गया", - "BACKEND_AUTOUPDATED_TITLE": "%s से %s तक अपडेट करें", - "BACKEND_AUTOUPDATED_MESSAGE": "%s %s डाउनलोड किया गया है। कृपया इसे उपयोग करने के लिए %s को पुनः आरंभ करें।", - "BACKEND_MITM_INSTALL_CERT": "%s प्रदर्शन सुधारने के लिए एक कस्टम प्रमाणपत्र स्थापित करना चाहता है", - "BACKEND_MITM_INSTALL_CERT_WINDOWS_BODY": "कृपया %v को अपने सिस्टम में बदलाव करने की अनुमति दें", - "BACKEND_ALERT_TITLE": "गंभीर चेतावनी के लिए आपका ध्यान चाहिए", - "BACKEND_INSTALL_DIAGNOSTIC_TOOLS": "डायग्नोस्टिक टूल इंस्टॉल करने के लिए% s को आपकी अनुमति की आवश्यकता होती है। यह हमें आपके% s अनुभव को बेहतर बनाने में मदद करेगा।", - "BACKEND_CONFIG_SAVE_ERROR_TITLE": "कॉन्फ़िगरेशन सेव नहीं किया जा सका", - "BACKEND_CONFIG_SAVE_ERROR_MESSAGE": "ऐप्लिकेशन का कॉन्फ़िगरेशन सेव नहीं किया जा सका. %s इस बात की गारंटी नहीं दे सकते कि ट्रैफ़िक को सही ढंग से प्रॉक्सी किया जाएगा.", - "about.content": "लालटेन एक आवेदन है कि खुले इंटरनेट से तेज, विश्वसनीय और सुरक्षित उपयोग बचाता है।", - "app.error": "कुछ गड़बड़ी हुई!", - "about.faq": "लालटेन पूछे जाने वाले प्रश्न पढ़ें", - "about.open": "सभी के लिए खुला इंटरनेट", - "about.questions": "प्रशन?", - "about.title": "बारे में", - "account.add.password": "अकाउंट पासवर्ड जोड़ें", - "account.agree.terms": "मैं समझता/समझती हूं कि मेरे पासवर्ड खोने का मतलब है अकाउंट एक्सेस खो देना. Lantern आपके पासवर्ड को वापस पाने में सहायता नहीं कर सकता.", - "account.agree.terms.error": "पहले शर्तों से सहमत होने चाहिए", - "account.cancel": "रद्द प्रो अकाउंट", - "account.created": "अकाउंट बन गया!", - "account.create.pro.account.header": "Pro अकाउंट बनाएं", - "account.create.pro.account.text": "Lantern उपयोगकर्ता अकाउंट को संभालने के तरीके को बदल रहा है. अब से Pro यूज़र्स को यूज़रनेम और पासवर्ड बनाना होगा. इन क्रेडेंशियल्स का उपयोग अन्य डिवाइस में साइन इन करने और नई सुविधाओं तक पहुंच प्रदान करने के लिए किया जाएगा.", - "account.have.a.account": "अकाउंट है?", - "account.link.username.pro": "यूज़र नेम को Pro अकाउंट से लिंक करें", - "account.recovery": "खाता रिकवरी", - "account.recovery.link.device": "डिवाइस को लिंक करें", - "account.recovery.device.code": "डिवाइस जोड़ने संहिता", - "account.recovery.device.enter.code": "डिवाइस लिंकिंग पिन डालें या पेस्ट करें", - "account.recovery.device.instructions.header": "आपके प्रो खाते में इस डिवाइस लिंक करने के लिए:", - "account.recovery.device.instructions.step.one": "1. अपने डेस्कटॉप प्रो डिवाइस पर या आप मोबाइल प्रो डिवाइस पर मेनू से अकाउंट मैनेजमेंट स्क्रीन आइटम से ‘एक डिवाइस लिंक करें’ विकल्प चुनें।", - "account.recovery.device.instructions.step.two": "2. डिवाइस कोड जोड़ने दर्ज करें, और सबमिट करें।", - "account.recovery.device.instructions.part.three": "*सुनिश्चित करें कि दोनों उपकरण लालटेन के सबसे हाल के संस्करण को चला रहे हैं", - "account.recovery.method": "कृपया अपने अकाउंट को बहाल करने के लिए एक विधि चुनें", - "account.recovery.send.email": "ईमेल भेजें", - "account.recovery.submit": "जमा करें", - "account.recovery.success": "लिंकिंग सफल!", - "account.pro_management": "प्रो खाता प्रबंधन", - "account.free_management": "खाता प्रबंधन", - "account.free.cap": "{{mb}} फ़्री डेटा बचा है. {{रिसेट}} पर रिसेट करें", - "account.free.cap.upgrade": "असीमित उच्च गति डेटा के लिए प्रो पर अपग्रेड", - "account.freelink.validFor": "%s के लिए मान्य", - "account.freelink.desc": "आपके प्रो अकाउंट में इस डिवाइस को उपयोग करने के लिए:", - "account.freelink.step1": "1. अपने मोबाइल प्रो डिवाइस पर मेनू से ‘एक डिवाइस लिंक करें’ विकल्प चुनें।", - "account.freelink.step2": "2. डिवाइस कोड जोड़ने दर्ज करें, और सबमिट करें।", - "account.freelink.reminder": "* सुनिश्चित करें कि दोनों उपकरण लालटेन के सबसे हाल के संस्करण को चला रहे हैं", - "account.freelink.errorTitle": "त्रुटि जोड़ने", - "account.freelink.errorText": "क्या आप वाकई अपने डिवाइस पर प्रो कोड दर्ज की गई हैं?", - "account.freelink.headerDesc": "आपके प्रो खाते में इस डिवाइस लिंक", - "account.freelink.title": "डिवाइस जोड़ने संहिता", - "account.pro.charge": "आपका खाता स्वत: ही आपके बिलिंग चक्र के अंत में लालटेन प्रो का एक और साल के लिए शुल्क लिया जाएगा।", - "account.upgrade_pro": "प्रो में अपग्रेड", - "account.upgrade": "अपग्रेड", - "account.upgrade_platinum": "प्लैटिनम में अपग्रेड करें", - "account.create": "अकाउंट बनाएं", - "account.email": "ईमेल", - "account.confirm.password": "पासवर्ड की पुष्टि करें", - "account.password": "पासवर्ड", - "account.pro.email": "ईमेल:", - "account.pro.expiration": "प्रो अकाउंट समाप्ति", - "account.platinum.expiration": "प्लैटिनम खाता समय सीमा समाप्ति", - "account.pro.expired": "आपका प्रो अकाउंट समाप्त हो गया है। असीमित मासिक डेटा के लिए अब नवीनीकृत करें।", - "account.pro.expiry": "आपका प्रो अकाउंट %s पर %s दिनों में समाप्त हो रहा है।", - "account.pro.bonusMonths": "इसमें आपके {{bonusMonths}} बोनस महीने शामिल हैं!", - "account.pro.thisdevice": "(This Device)", - "account.pro.logout": "लॉग आउट", - "account.pro.removedevice": "हटाना", - "account.pro.devices": "लालटेन प्रो डिवाइसेस (3 तक)", - "account.pro.device.confirm.title": "डिवाइस प्राधिकरण रद्द", - "account.pro.device.confirm": "क्या आप वाकई '{{डिवाइस}}' को अपने Latern Pro अकाउंट से हटाना चाहते हैं?", - "account.pro.device.one.title": "केवल एक डिवाइस", - "account.pro.device.one": "क्षमा करें, लेकिन आप अपने पिछले अधिकृत डिवाइस नहीं निकाल सकते।", - "account.pro.linkingcode": "डिवाइस को लिंक करने कोड:", - "account.pro.renew": "Pro खाता नवीनीकृत करें", - "account.platinum.renew": "प्लैटिनम खाता रिन्‍यू करें", - "account.pro.renew_CN": "नवीकरण", - "account.prolink.errorTitle": "त्रुटि जोड़ने", - "account.prolink.errorText": "क्या आप वाकई अपने अन्य डिवाइस से सही ढंग से कोड कॉपी कर रहे हैं?", - "account.prolink.successTitle": "डिवाइस लिंक्ड", - "account.prolink.successText": "You have successfully linked your device! Please wait a moment for your other device to automatically become pro.", - "account.signin": "साइन इन करें", - "account.signout": "साइन आउट करें", - "account.submit": "जमा करें", - "account.username": "उपयोगकर्ता का नाम", - "account.switch.to.register": "अकाउंट बनाने के लिए स्विच करें", - "account.switch.to.signin": "साइन इन करने के लिए स्विच करें", - "account.invalid.username": "यूज़रनेम अमान्य है", - "account.invalid.email": "ईमेल अमान्य है", - "account.password.mismatch": "कंफर्म किया गया पासवर्ड, पासवर्ड से मेल नहीं खाता", - "account.password.short": "पासवर्ड काफ़ी छोटा है", - "account.password.lowercase": "पासवर्ड में कम से कम एक लोअरकेस अक्षर होना चाहिए", - "account.password.uppercase": "पासवर्ड में कम से कम एक अपरकेस अक्षर होना चाहिए", - "account.password.number": "पासवर्ड में कम से कम एक नंबर होना चाहिए", - "account.password.compromised": "पासवर्ड छेड़छाड़ किए गए पासवर्ड की सूची में दिखाई देता है", - "modal.register.free.header": "Yinbi वॉलेट तक पहुंचने के लिए रजिस्टर या साइन इन करें", - "modal.register.pro.header": "Yinbi वॉलेट तक पहुंचने के लिए अकाउंट पासवर्ड शामिल करैं", - "modal.register.pro.signin.header": "Yinbi वॉलेट तक पहुंचने के लिए साइन इन करें", - "modal.register.free.text": "Yinbi वॉलेट का उपयोग करने के लिए आपके पास एक लालटेन अकाउंट होना चाहिए, कृपया रजिस्टर करें\nया जारी रखने के लिए साइन इन करें।", - "modal.register.pro.text": "Yinbi वॉलेट का उपयोग करने के लिए आपको अपने लालटेन अकाउंट में एक पासवर्ड जोड़ना होगा।", - "modal.register.pro.signin.text": "Yinbi वॉलेट का उपयोग करने के लिए आपको अपने Lantern अकाउंट में साइन इन करना होगा", - "adyen.paymentMethods.title": "भुगतान के तरीके", - "adyen.paymentMethods.storedMethods": "आपके भुगतान के तरीके", - "adyen.paymentMethods.otherMethods": "अन्य तरीके का चयन करें", - "adyen.paymentMethods.moreMethodsButton": "अधिक भुगतान के तरीके", - "adyen.payButton": "वेतन", - "adyen.payButton.formatted": "वेतन %@", - "adyen.cancelButton": "रद्द करना", - "adyen.dismissButton": "ठीक है", - "adyen.storeDetails": "मेरे अगले भुगतान के लिए सहेजें", - "adyen.payment.redirecting": "आपको पुनर्निर्देशित किया जाएगा", - "adyen.payment.processing": "आपका भुगतान संसाधित किया जा रहा है", - "adyen.creditCard.title": "कार्ड के विवरण", - "adyen.creditCard.holderName": "कार्ड धारक का नाम", - "adyen.creditCard.holderName.placeholder": "J. Smith", - "adyen.creditCard.numberField.title": "कार्ड नंबर", - "adyen.creditCard.numberField.placeholder": "1234 5678 9012 3456", - "adyen.creditCard.numberField.invalid": "अवैध कार्ड संख्या", - "adyen.creditCard.expiryDateField.title": "समाप्ति तिथि", - "adyen.creditCard.expiryDateField.placeholder": "महीना साल", - "adyen.creditCard.expiryDateField.invalid": "अमान्य समाप्ति तिथि", - "adyen.creditCard.expiryDateField.month": "महीना", - "adyen.creditCard.expiryDateField.month.placeholder": "MM", - "adyen.creditCard.expiryDateField.year.placeholder": "Y Y", - "adyen.creditCard.expiryDateField.year": "साल", - "adyen.creditCard.cvcField.title": "CVC / CVV", - "adyen.creditCard.cvcField.placeholder": "123", - "adyen.creditCard.installmentsField": "किश्तों की संख्या", - "adyen.creditCard.storeDetailsButton": "मेरे अगले भुगतान के लिए इस कार्ड को याद रखें", - "adyen.creditCard.oneClickVerification.title": "अपना कार्ड सत्यापित करें", - "adyen.creditCard.oneClickVerification.message": "कृपया %@ के लिए CVC कोड दर्ज करें", - "adyen.creditCard.oneClickVerification.invalidInput.title": "अमान्य CVC", - "adyen.creditCard.oneClickVerification.invalidInput.message": "कृपया जारी रखने के लिए एक मान्य CVC दर्ज करें।", - "adyen.sepaDirectDebit.ibanField.title": "अकाउंट नंबर (IBAN)", - "adyen.sepaDirectDebit.ibanField.placeholder": "NL53 ABNA 1925 1294 122", - "adyen.sepaDirectDebit.ibanField.invalid": "अमान्य अकाउंट नंबर", - "adyen.sepaDirectDebit.nameField.title": "धारक का नाम", - "adyen.sepaDirectDebit.nameField.placeholder": "J. Smith", - "adyen.sepaDirectDebit.consentButton": "मैं सहमत हूं कि नीचे दी गई राशि मेरे बैंक अकाउंट से डेबिट की जाएगी।", - "adyen.sepa.ownerName": "धारक का नाम", - "adyen.sepa.ibanNumber": "अकाउंट नंबर (IBAN)", - "adyen.giropay.searchField.placeholder": "बैंक का नाम / BIC / Bankleitzahl", - "adyen.giropay.minimumLength": "कम से कम 3 अक्षर", - "adyen.giropay.noResults": "कोई खोज परिणाम नहीं", - "adyen.error.title": "त्रुटि", - "adyen.error.subtitle.redirect": "पुनर्निर्देशन विफल रहा", - "adyen.error.subtitle.payment": "भुगतान असफल हुआ", - "adyen.error.subtitle.refused": "भुगतान से इनकार कर दिया", - "adyen.error.message.unknown": "एक अज्ञात ग़लती हुई", - "adyen.error.message.cannotConnectToInternet": "इंटरनेट से कनेक्ट करने में विफल: कृपया अपना इंटरनेट कनेक्शन चेक करैं।", - "adyen.error.message.cannotConnectToHost": "हमारे भुगतान सर्वर से कनेक्ट करने में विफल।", - "adyen.error.retryButton": "पुनः प्रयास करें", - "adyen.idealIssuer.selectField.title": "बैंक", - "adyen.idealIssuer.selectField.placeholder": "अपना बैंक चुनें", - "adyen.creditCard.success": "भुगतान सफल", - "adyen.oneClick.confirmationAlert.title": "%@ भुगतान की पुष्टि करें", - "adyen.redirect.cannotOpenApp.title": "एप नहीं खोल सक्ते", - "adyen.redirect.cannotOpenApp.appNotInstalledMessage": "यह ऐप खोला नहीं जा सका क्योंकि यह इस डिवाइस पर इंस्टॉल नहीं है।", - "adyen.holderName": "कार्ड धारक का नाम", - "adyen.countryCode": "देश कोड", - "adyen.telephone.number": "टेलीफोन नंबर", - "android.download": "Lantern Android", - "android.download.title": "Lantern Android डाउनलोड करें", - "authorize.title": "प्रो के लिए डिवाइस अधिकृत करें", - "authorize.step1.have_pro_device": "I have another Lantern Pro device", - "authorize.step1.link": "डिवाइस लिंकिंग", - "authorize.step1.email_linking": "ईमेल लिंकिंग", - "authorize.device_linking_explanation": "यदि आप किसी अन्य डिवाइस में साइन इन हैं और इसे अपने पास रखते हैं तो इस विधि का उपयोग करें", - "authorize.device_email_explanation": "यदि आप अपने ईमेल पर भेजा गया डिवाइस लिंकिंग पिन चाहते हैं तो इस विधि का उपयोग करें", - "authorize.link_device": "डिवाइस को लिंक करें", - "authorize.step1.choose": "कृपया अपने अकाउंट को लिंक करने के लिए एक विधि चुनें", - "authorize.step1.or": "या", - "authorize.step1.recover": "मैं अपनी लालटेन प्रो खाते को ठीक करने की जरूरत है", - "authorize.step1.start": "वसूली शुरू", - "authorize.step1.no_mail": "अपना ईमेल पता याद नहीं है?", - "authorize.step1.description": "अपना ईमेल दर्ज करें और यदि अकाउंट मौजूद है तो हम डिवाइस लिंकिंग कोड के साथ एक ईमेल भेजेंगे", - "authorize.step2b.enter_code": "अपने खाता पुनर्प्राप्ति कोड दर्ज", - "authorize.step2b.code": "खाता रिकवरी कोड", - "authorize.step2b.instruction": "यदि यह अकाउंट मौजूद है, तो पुनर्प्राप्ति कोड वाला एक ईमेल {{email}} को भेजा गया है. इस ईमेल को आने में कई घंटे लग सकते हैं. अगर आपको यह नहीं मिला तो कृपया अपना स्पैम फ़ोल्डर देखें.", - "authorize.step2b.no_mail": "Didn't receive email", - "authorize.step3.recovery": "खाता रिकवरी", - "authorize.step3.no_email": "उफ़! हम दिक्कत यह है कि ई-मेल पते खोज कर रहे हैं। हमें अपने खाते का पता लगाने में मदद करने के लिए नीचे और अधिक जानकारी प्रदान करें।", - "authorize.step3.no_code_received": "वसूली ईमेल प्राप्त करने में समस्या हो रही है? नीचे दी गई जानकारी दर्ज करें और हम 48 घंटे के भीतर संपर्क करेंगे।", - "authorize.step3.your_email": "तुम्हारा ईमेल", - "authorize.step3.payment_method": "भुगतान का तरीका", - "authorize.step3.payment_method_hint": "भुगतान विधि प्रो पाने के लिए इस्तेमाल का चयन करें", - "authorize.step3.credit_card": "क्रेडिट कार्ड", - "authorize.step3.alipay": "AliPay", - "authorize.step3.android_pay": "एंड्रॉयड वेतन", - "authorize.step3.by_referral": "एक दोस्त से चर्चा करते हुए प्रो प्राप्त", - "authorize.step3.payment_account": "भुगतान खाता", - "authorize.step3.payment_account_hint": "अपने Alipay खाते की जानकारी दर्ज करें", - "authorize.step3.referral_code": "आपकी सिफ़ारिश के कोड", - "authorize.step3.purchase_date": "खरीद की तारीख", - "authorize.step3.note": "किसी भी अन्य जानकारी हमें अपने खाते का पता लगाने में मदद मिल सकती है कि कृपया ध्यान दें।", - "authorize.step4.title": "खाता पुनर्प्राप्ति में प्रगति", - "authorize.step4.text1": "धन्यवाद! हम आपके खाते वसूली अनुरोध मिला है।", - "authorize.step4.text2": "कृपया अपने 48 घंटे के प्रो खाते की जानकारी को पुन: प्राप्त करने के लिए अनुमति देते हैं।", - "authorize.step4.text3": "हम पिछले स्क्रीन पर दर्ज ईमेल पते पर जानकारी भेज देंगे।", - "authorized.continue": "प्रो करने के लिए जारी", - "authorized.continue.lantern": "Lantern पर जारी रखें", - "authorized.text": "इस डिवाइस को अपनी लालटेन प्रो खाते का उपयोग करने के लिए अधिकृत नहीं है!", - "authorized.title": "डिवाइस अधिकृत", - "button.account": "अकाउंट", - "button.renew": "नवीनीकृत करें", - "button.upgrade": "अपग्रेड", - "button.upgrade_now": "अभी अपग्रेड करें", - "button.upgrade_to_lantern_pro": "लालटेन के लिए प्रो उन्नयन", - "button.copy_your_code": "अपने कोड को कॉपी", - "button.try_again": "पुनः प्रयास करें", - "button.continue": "जारी रखें", - "button.continue_to": "{{planType}} पर जारी रखें", - "bullet.click_button": "नीचे बटन को क्लिक करें", - "bullet.paste_code": "एक संदेश में कोड और डाउनलोड लिंक पेस्ट करें", - "bullet.send_to_friends": "अपने दोस्तों को भेज", - "cancel": "रद्द करना", - "confirm": "पुष्टि करें", - "norecoveryyinbi": "*Yinbi वॉलेट को पुनर्प्राप्त नहीं करता है", - "email.recovery.check.email": "रिकवरी कोड वाले संदेश के लिए अपना ईमेल देखें", - "email.recovery.code.label": "रिकवरी कोड डालें या पेस्ट करें", - "email.recovery.no.code": "कोड नहीं मिला?", - "email.recovery.text": "अपना ईमेल दर्ज करें, और हम आपको अपना पासवर्ड रीसेट करने के लिए एक कोड भेजेंगे।\nयदि आपके पास Yinbi वॉलेट है, तो यह आपके Yinbi वॉलेट को पुनर्प्राप्त नहीं करेगा, अपने यिनबी वॉलेट को पुनर्प्राप्त करने के लिए अपने Yinbi रिकवरी वाक्यांश दर्ज करें।", - "email.recovery.desc": "यदि आप अपने ईमेल पर एक पुनर्प्राप्ति कोड भेजना चाहते हैं, तो इस विधि का उपयोग करें", - "device.recovery.desc": "यदि आप किसी अन्य डिवाइस में साइन इन हैं और आपके पास हैं, तो इस विधि का उपयोग करें", - "google_search": "Google खोज", - "giveaway.upgrade": "आज का निःशुल्क वितरण प्राप्त करने के लिए नवीनीकरण करें", - "giveaway.title_released_today": "{{formattedTokens}} YNB आज रिलीज़ किया जा रहा है", - "giveaway.what_is_it": "Yinbi Giveaway क्या है?", - "giveaway.description1": "Yinbi फाउंडेशन, लालटेन प्रो के खरीदारों को विशेष रूप से 888 बिलियन YNB क्रिप्टोकरेंसी दे रहा है।", - "giveaway.description2": "YNB को हर दिन के अंत में वितरित किया जाएगा, उस दिन जारी Yinbi की मात्रा के आधार पर, अपग्रेड/रिन्यू करने वाले लोगों की संख्या, और आपके द्वारा खरीदे जाने वाले वर्षों या अकाउंट की संख्या के आधार पर .YNB को सीधे आपके Yinbi वॉलेट में Lantern में जमा किया जाएगा.", - "giveaway.learn_more": "और अधिक जानें", - "link_device": "पहले से ही एक प्रो अकाउंट है? डिवाइस लिंक करें", - "email.recovery": "ईमेल पुनर्प्राप्ति", - "email_taken": "ईमेल पहले से ही पंजीकृत है", - "username_taken": "उपयोगकर्ता नाम पहले से ही पंजीकृत है", - "err.unknown_error": "अज्ञात त्रुटि", - "err.internal_error": "आंतरिक त्रुटि", - "err.bad_input": "बुरा इनपुट", - "err.not_authorized": "Not authorized", - "err.user_exists": "उपयोगकर्ता मौजूद", - "err.no_such_user": "ऐसा कोई उपयोगकर्ता नहीं है", - "err.user_already_verified": "उपयोगकर्ता पहले से सत्यापित", - "err.invalid_user_verification": "अमान्य उपयोगकर्ता सत्यापन", - "err.user_unverified": "उपयोगकर्ता असत्यापित", - "err.operation_temporarily_unavailable": "ऑपरेशन अस्थायी रूप से अनुपलब्ध", - "err.wrong_or_inexistent_plan": "गलत या inexistent योजना", - "err.user_has_active_subscription": "उपयोगकर्ता सक्रिय सदस्यता है", - "err.payment_error": "भुगतान त्रुटि", - "err.no_codes_left": "कोई रेफरल कोड छोड़ा", - "err.wrong_code": "गलत रेफरल कोड", - "err.redeeming_own_code_not_allowed": "अपने आप के redeeming कोड अनुमति नहीं है", - "err.wrong_charge_id": "गलत प्रभारी आईडी", - "err.wrong_link_code": "ग़लत लिंक कोड", - "err.invalid_credentials": "आपूर्ति की गई उपयोगकर्ता क्रेडेंशियल्स अमान्य थे", - "footer.reseller": "पैसा बनाएं! एक लालटेन प्रो पुनर्विक्रेता बनें। यहाँ क्लिक करें", - "footer.reseller.email_subject": "मुझे लालटेन पुनर्विक्रेता कार्यक्रम के बारे में बताएं!", - "footer.reseller.email_body": "जब आप एक लालटेन पुनर्विक्रेता बन जाते हैं तो आपके पास लालटेन प्रो सदस्यता की प्रत्येक बिक्री पर 25% तक बनाने का अवसर होगा। हमें थोड़ा बताएं कि आप नीचे पुनर्विक्रेता क्यों बनना चाहते हैं।", - "feature.faster_speed": "तेज गति", - "feature.faster": "तेज़ डेटा सेंटर्स", - "feature.unlimited": "असीमित डेटा", - "feature.nologs": "कोई लॉग नहीं", - "feature.devices": "3 डिवाइस तक कनेक्ट करें", - "feature.noads": "कोई विज्ञापन नहीं", - "feature.yinbi.tooltip": "Yinbi फाउंडेशन, Lantern Pro के खरीदारों को विशेष रूप से Lantern के माध्यम से 888 बिलियन YNB क्रिप्टोकरेंसी दे रहा है। YNB को हर दिन के अंत में, उस दिन जारी की गई Yinbi की मात्रा, उन लोगों की संख्या जो अपग्रेड/रिन्यू करते हैं, और आपके द्वारा ख़रीदे जाने वाले वर्षों या खातों की संख्या के आधार पर वितरित किया जाएगा। YNB को सीधे Lantern में आपके Yinbi वॉलेट में जमा किया जाएगा!", - "feature.antiblock": "अवरोध करनेवाला", - "feature.data_center": "बेहतर डाटा सेंटर्स", - "feature.free_yinbi": "मुफ्त Yinbi क्रिप्टोक्यूरेंसी!", - "free.title": "लालटेन प्रो", - "free.desc": "तेज। मजबूत। असीमित। सुरक्षित।", - "free.link_account": "पहले से ही एक प्रो खाता है? अपना खाता लिंक करें।", - "home.get_lantern_pro": "लालटेन प्रो प्राप्त करें", - "home.get_lantern_platinum": "अपना प्‍लान अपग्रेड करें", - "home.welcome_popup_subheader": "नए Lantern में आपका स्वागत है!", - "home.welcome_popup_content_1": "हम Lantern को अपडेट करने और नई सुविधाओं को जोड़ने के लिए कड़ी मेहनत कर रहे हैं.", - "home.welcome_popup_content_2": "हमारे नए UI में, आपको एक सर्च बार मिलेगा जो आपको Lantern नेटवर्क पर शेयर की गई फ़ाइलों को खोजने देता है. आप खुद भी एक फ़ाइल पोस्ट करके कंटेंट में अपना योगदान दे सकते हैं. यह एक बीटा सुविधा है, इसलिए इसे आज़माएं और हमें बताएं कि आपकी क्या राय है, हम आपके फ़ीडबैक के आधार पर सुधार करना जारी रखेंगे.", - "home.welcome_popup_button": "इसे आज़माएँ", - "input.email": "ईमेल", - "input.your_email": "आपका ईमेल पता", - "input.confirm_email": "ईमेल पते की पुष्टि करें", - "input.enter_email": "अपना ईमेल दर्ज करें", - "input.use_valid_email": "एक मान्य ईमेल पता लिखें", - "input.email_not_match": "ईमेल फ़ील्ड मेल नहीं खाते हैं", - "input.existing_email": "मौजूदा ईमेल", - "issue.your_email": "तुम्हारा ईमेल", - "issue.attach_image_failure": "छवि संलग्न नहीं कर सकता", - "issue.try_again": "कृपया पुन: प्रयास करें", - "issue.select_issue": "कृपया एक मुद्दा चयन", - "issue.selected_issue": "समस्या का चयन करें", - "issue.select_issue_hint": "ड्रॉपडाउन मेनू से किसी समस्या का चयन करें", - "issue.note": "अपनी समस्या का वर्णन करें", - "issue.description": "समस्या का विवरण", - "issue.error": "समस्या की रिपोर्ट करने में त्रुटि", - "issue.submit": "रिपोर्ट भेजो", - "issue.report_screenshot": "छवि खींचें या स्क्रीनशॉट अपलोड करने के लिए क्लिक करें", - "issue.reported": "आपकी समस्या की रिपोर्ट करने के लिए धन्यवाद, जैसे ही हम सक्षम होंगे हम आपको ईमेल के माध्यम से वापस भेज देंगे", - "issue.report_sent": "सूचना भेजी गई", - "issue.type.no_access": "अवरुद्ध साइटों तक नहीं पहुँच सकते", - "issue.type.payment_fail": "भुगतान पूरा नहीं कर सकता", - "issue.type.cannot_login": "लॉग इन नहीं कर सकता", - "issue.type.always_spinning": "स्पिनर स्पिन को अंतहीन रूप से लोड कर रहे हैं", - "issue.type.slow": "धीरे", - "issue.type.cannot_link_device": "डिवाइस को लिंक नहीं कर सकता", - "issue.type.crashes": "लालटेन दुर्घटनाग्रस्त", - "issue.type.other": "अन्य", - "languages.title": "बोली", - "lantern.email": "लालटेन ईमेल", - "mobile.link": "अपने Android डिवाइस पर लालटेन डाउनलोड करने के लिए लिंक का उपयोग करें:", - "mobile.title": "Android संस्करण प्राप्त करें", - "nav.about": "बारे में", - "nav.account": "खाता प्रबंधन", - "nav.authorize": "डिवाइस जोडे", - "nav.authorized": "डिवाइस अधिकृत", - "nav.unauthorized_link": "प्रो के लिए डिवाइस अधिकृत करें", - "nav.language": "भाषा", - "nav.lantern": "लैंटर्न", - "nav.mobile": "मोबाइल संस्करण प्राप्त", - "nav.report_issue": "मामले की रिपोर्ट करें", - "nav.settings": "कोई और अधिक उच्च गति लालटेन डेटा", - "nav.support": "सहायता", - "nav.verify": "खाता सत्यापन", - "nav.yinbi": "यिनबी मोचन", - "nav.home": "होम", - "nav.discover": "डिस्कवर", - "nav.wallet": "वॉलेट", - "nav.yinbi_wallet": "Yinbi वॉलेट", - "notification.retry": "पुन: प्रयास करें", - "notifications": "नोटिफ़िकेशन", - "notifications.whatisnew": "नया क्या है?", - "password.change": "पासवर्ड बदलें", - "password.changed": "पासवर्ड बदला गया", - "continue.to.pro": "प्रो करने के लिए जारी", - "username": "उपयोगकर्ता नाम", - "password.new": "नया पासवर्ड", - "password.requirements": "
पासवर्ड में निम्नलिखित शामिल होना चाहिए:
  • 8 या अधिक वर्ण
  • 1 लोअरकेस अक्षर
  • 1 बड़ा अक्षर
  • कम से कम 1 नंबर
  • समझौता किए गए पासवर्ड की सूची पर नहीं
", - "password.reset": "पासवर्ड रीसेट करें", - "paxful.buy": "खरीदें", - "paxful.payment": "भुगतान का तरीका", - "paxful.bitcoin": "Bitcoin (BTC)", - "paxful.tether": "टेथर (USDT)", - "paxful.wallet": "ऑनलाइन वॉलेट", - "paxful.bank": "बैंक ट्रांसफर", - "paxful.gamer_card": "गेम कार्ड", - "paxful.gift_card": "गिफ़्ट कार्ड", - "paxful.cash": "कैश पेमेंट", - "paxful.digital_currency": "डिजिटल करेंसी", - "paxful.button": "सबसे अच्छा सौदा दिखाएँ", - "payment.close": "बंद करे", - "payment.redirectErrorTitle": "पेमेंट सर्वर से कनेक्ट करने में गड़बड़ी हुई", - "payment.redirectErrorText": "हम फ़िलहाल इस समस्या को हल करने पर काम कर रहे हैं. कृपया बाद में फिर से देखें.", - "payment.wait_for_pro": "लालटेन प्रो की अपनी खरीद के लिए धन्यवाद! कृपया अपने लालटेन के स्वचालित रूप से प्रो बनने के लिए एक क्षण प्रतीक्षा करें।", - "payment.moreOptions": "अन्य विकल्प", - "payment.fewerOptions": "कम विकल्प", - "payment_methods.select_name": "भुगतान का तरीका चुनें", - "payment_methods.alipay": "क्रेडिट कार्ड / Alipay", - "payment_methods.shetab": "फास्ट वर्ल्ड पे (शेटाब)", - "payment_methods.shetab.details.header": "लालटेन प्रो खरीदने के लिए", - "payment_methods.shetab.details.body": "जब आप क्लिक करना जारी रखेंगे तो आप भुगतान को पूरा करने और अपना सक्रियण कोड एकत्र करने के लिए एक बाहरी साइट पर पुनर्निर्देशित हो जाएंगे।", - "payment_methods.shetab.details.tutorial_header": "फ़ारसी ट्यूटोरियल", - "payment_methods.shetab.details.purchase_voucher_button": "खरीद करने के लिए जारी रखें", - "payment_methods.shetab.details.input_code_button": "इनपुट एक्टिवेशन कोड", - "plan.step1": "कदम 1", - "plan.apply": "अप्लाई", - "plan.step2": "कदम 2", - "plan.most_popular": "सबसे लोकप्रिय!", - "plan.step3": "कदम 3", - "plan.choose_plan": "योजना चुनें", - "plan.enter_email": "ईमेल दर्ज करें", - "plan.choose_method": "भुगतान का तरीका चुनें", - "plan.bestValue": "सबसे अच्छा सौदा!", - "plan.per_month": "प्रति माह", - "plan.yinbi_2x": "+ 2x Yinbi!", - "plan.oneYear": "1 साल", - "plan.add_referral": "रेफरल कोड जोड़ें", - "plan.years": "{{सालों}} साल की योजना", - "plan.desc": "{{दाम}} एक बार बिल भेजा गया", - "plan.bonus_months": "+ {{बोनसमहीने}} महीने", - "plan.price.cny": "¥%.02f", - "plan.price.usd": "$%.02f", - "plan.currency.cny": "(RMB)", - "plan.currency.usd": "(USD)", - "plan.time_unit": "/YR", - "plan.select": "चुनते हैं", - "plan.two_year": "दो वर्ष", - "plan.one_year": "एक वर्ष", - "plan.savings": "{{formattedDiscount}} % बचाएं", - "plans.title": "लालटेन प्रो योजनाओं", - "plans.lantern_pro": "लालटेन प्रो", - "plans.platforms": "Windows, Android, Mac, Ubuntu के लिए।", - "plans.from_reseller": "क्या आपके पास Lantern Pro एक्टिवेशन कोड है? यहाँ क्लिक करें।", - "plans.with_voucher_code": "एक सक्रियण कोड है? यहाँ क्लिक करें।", - "pro.apply": "आपका क्रेडिट अगले बिलिंग चक्र में अपने खाते में लागू किया जाएगा।", - "pro.title": "मित्रों को आमंत्रित मिलता है, मुक्त करने के लिए अधिक समर्थक", - "pro.subtitle": "अपने दोस्त को दो साल की योजना खरीदता है तो आप प्रत्येक प्रो के 3 अतिरिक्त महीने, एक साल की योजना आप प्रत्येक 1 महीने मुक्त हो जाता है।", - "pro.share": "दोस्तों के साथ अपने कोड साझा करें अधिक क्रेडिट कमाई शुरू करने के लिए!", - "promotion.title": "लालटेन प्रो चेकआउट", - "promotion.title.activation": "लालटेन प्रो एक्टिवेशन", - "promotion.enter_and_confirm_email": "कृपया अपना ईमेल पता दर्ज करें और पुष्टि करें", - "promotion.code.hint": "अपने मित्र का रेफरल कोड दर्ज करें (वैकल्पिक)", - "promotion.code.label": "रेफरल कोड", - "promotion.payment": "भुगतान जारी रखें", - "promotion.payment.btc": "₿ के ज़रिए भुगतान करें", - "promotion.loading": "लोड हो रहा है...", - "promotion.howto_1y": "एक दोस्त आप के साथ अपने रेफरल कोड साझा करते हैं, जांच के बाद मुक्त करने के लिए लालटेन प्रो के एक माह के प्राप्त करने के लिए कोड दर्ज करें।", - "promotion.howto_2y": "एक दोस्त आप के साथ अपने रेफरल कोड साझा करते हैं, जांच के बाद मुक्त करने के लिए लालटेन प्रो के एक माह के प्राप्त करने के लिए कोड दर्ज करें।", - "promotion.pay": "वेतन {{राशि}}", - "promotion.select": "चुनते हैं", - "promotion.promotion_applied_1y": "+1 बोनस महीने", - "promotion.promotion_applied_2y": "+3 बोनस महीने", - "promotion.too_many_referrals": "इस रेफरल कोड पहले से ही जोड़ा गया है। अब बाहर की जाँच अपने अतिरिक्त महीनों प्राप्त करने के लिए।", - "promotion.activation.enter_and_confirm_email": "अपना लालटेन प्रो अकाउंट पंजीकृत करने के लिए कृपया अपना ईमेल पता दर्ज करें और पुष्टि करें।", - "promotion.activation.label": "XXXXX-XXXXX-XXXXX-XXXXX-XXXXX", - "promotion.activation.hint": "एक्टिवेशन कोड", - "promotion.activation.instructions": "अपना ईमेल और अपना अकाउंट पंजीकृत करने के लिए पुनर्विक्रेता से प्राप्त 25 अंकों का सक्रियण कोड दर्ज करें।", - "promotion.activation.howto": "कृपया ऊपर अपना 25 वर्ण लालटेन प्रो सक्रियण कोड दर्ज करें। यदि आपके पास कोड नहीं है, तो कृपया पिछली स्क्रीन पर प्रो खरीदें या ऑनलाइन एक लालटेन प्रो पुनर्विक्रेता की तलाश करें।", - "promotion.activation.continue": "प्रो के लिए रजिस्टर करें", - "promotion.voucher.hint": "एक्टिवेशन कोड", - "promotion.voucher.howto": "कृपया अपना 12 वर्ण फास्ट वर्ल्ड पे एक्टिवेशन कोड ऊपर दर्ज करें", - "promotion.voucher.label": "XXXXXXXXXXXX", - "promotion.voucher.error.default": "आपका एक्टिवेशन कोड रिडीम करने में त्रुटि हुई है।", - "promotion.voucher.error.invalid_code": "अमान्य सक्रियण कोड", - "promotion.voucher.error.invalid_plan": "अमान्य योजना से संबद्ध सक्रियकरण कोड", - "promotion.voucher.error.already_redeemed": "सक्रियण कोड पहले ही भुनाया जा चुका है", - "referral.code": "रेफरल कोड", - "referral.text": "मेरे कोड का उपयोग करें और जब आप साइन अप 3 महीने मुक्त हो जाओ!", - "referral.description_free": "अपने दोस्तों के साथ अपना कोड शेयर करें और उनके Pro ख़रीदने पर आप 1 महीने की Lantern Pro सेवा फ़्री पाएं!", - "referral.description_pro": "अपने दोस्तों के साथ अपना कोड शेयर करें और उनके Pro ख़रीदने पर आप और 1 महीने और की Lantern Pro सेवा फ़्री पाएं!", - "register": "रजिस्टर करें", - "renew.subtitle_early": "3 मुक्त महीनों के लिए नवीनीकृत!", - "renew.subtitle_last_day": "3 मुक्त महीनों के लिए नवीनीकृत!", - "renew.subtitle_expired": "45 मुक्त दिनों के लिए नवीनीकृत!", - "renew.details_early": "आपकी लालटेन प्रो सदस्यता जल्द ही समाप्त हो रही है। अब नवीनीकृत करें और तीन महीने तक मुफ्त का आनंद लें!", - "renew.details_last_day": "आपकी लालटेन प्रो सदस्यता आज समाप्त हुई! अब नवीनीकृत करें और तीन महीने तक मुफ्त का आनंद लें!", - "renew.details_expired": "आपकी लालटेन प्रो सदस्यता समाप्त हो गई है। अब नवीनीकृत करें और पैंतालीस दिनों तक मुफ्त का आनंद लें!", - "renew.asterisk_early": "* यह सीमित समय की पेशकश केवल शुरुआती नवीनीकरण के लिए ही मान्य है।", - "renew.asterisk_last_day": "* इस विशेष प्रस्ताव को प्राप्त करने का यह आपका अंतिम मौका है!", - "renew.asterisk_expired": "* यह पेशकश सीमित समय के लिए है!", - "renew.plan_label": "लालटेन प्रो -%s", - "renew.plan_renewal_bonus_1_month": "$%d%s + 1 मुफ़्त महीने", - "renew.plan_renewal_bonus_months": "$%d%s + %d मुफ़्त महीने", - "renew.plan_renewal_bonus_days": "$%d%s + %d मुफ़्त दिन", - "renew.next": "अगला", - "renew.decline": "प्रस्ताव को अस्वीकार करें", - "renew.decline_question": "क्या आप वाकई इस ऑफ़र को अस्वीकार करना चाहते हैं?", - "renew.decline_yes": "बाद में नवीनीकृत करें", - "renew.decline_dismiss": "अब नवीनीकृत करें", - "renew.notification_title_30_days": "भारी बचत के लिए अब नवीनीकृत प्रो!", - "renew.notification_title_30_days_platinum": "भारी बचत के लिए अभी प्लैटिनम रिन्‍यू करें!", - "renew.notification_text_30_days": "आपका {{planName}} खाता {{remainingDays}} दिनों में समाप्त हो रहा है। अभी रिन्यू करें और 3 महीने तक फ़्री पाएं।", - "renew.notification_title_2_days": "{{planName}} की छूट कल समाप्त हो रही है!", - "renew.notification_text_2_days": "आपका {{planName}} खाता कल समाप्त हो रहा है। एक बड़ी छूट के लिए इस अवसर को छोड़ें नहीं।", - "renew.notification_title_last_day": "छूट का आखिरी मौका!", - "renew.notification_text_last_day": "आपका {{planName}} खाता समाप्त हो गया है। आज रिन्यू करें और 3 महीने तक फ़्री पाएं।", - "replica.upload": "डालना", - "replica.favorite": "पसंदीदा", - "replica.added_to_favorites": "पसंदीदा में जोड़ा गया", - "replica.filedrop_error": "इस फ़ाइल को अपलोड करने में एरर आई", - "replica.filedrop_error.file-too-large": "अधिकतम अनुमत फ़ाइल साइज़ {{फ़ाइलसाइज़}} है", - "replica.filedrop_error.file-too-small": "फ़ाइल छोटी है", - "replica.filedrop_error.too-many-files": "कई सारी फ़ाइलें", - "replica.filedrop_error.file-invalid-type": "इस तरह की फ़ाइल अभी सपोर्ट नहीं की जाती", - "replica.filedrop_remove_file": "कतार से हटाएँ", - "replica.post": "फ़ाइल अपलोड करें", - "replica.relevance": "प्रासंगिकता", - "replica.upload_date": "अपलोड की तारीख", - "replica.gallery_view": "गैलरी व्यू", - "replica.list_view": "लिस्ट व्यू", - "replica.copy_lantern_link": "लालटेन लिंक कॉपी करें", - "replica.documents": "डॉक्यूमेंट", - "replica.audio": "ऑडियो", - "replica.application": "ऐप्स", - "replica.image": "इमेजिस", - "replica.video": "वीडियो", - "replica.web": "वेब", - "replica.news": "खबरें", - "replica.upload_alert.dont_show": "इसे फिर से न दिखाएं", - "replica.upload_alert.cancel": "अपलोड रद्द करें", - "replica.upload_alert.resume": "अपलोड रिज़्यूमे करें", - "replica.upload_alert.info": "महत्वपूर्ण जानकारी!", - "replica.upload_alert.desc1": "लालटेन पर अपलोड की गई फाइलें वितरित और विकेंद्रीकृत हैं। एक बार जब वे किसी अन्य उपयोगकर्ता द्वारा एक्सेस किए जाते हैं, तो उन्हें लालटेन सहित किसी के द्वारा भी नेटवर्क से हटाया नहीं जा सकता है, भले ही वे आपकी 'मेरी फ़ाइलें' सूची से हटा दिए गए हों।", - "replica.upload_alert.desc2": "कृपया संवेदनशील सामग्री अपलोड करते समय फ़ाइल या फ़ाइल नाम में व्यक्तिगत पहचान की जानकारी का उपयोग करने से बचें।", - "replica.add_details": "विवरण जोड़ें", - "replica.cannot_edit": "एक बार प्रकाशित होने के बाद फाइलों के नाम संपादित नहीं किए जा सकता हैं।", - "replica.next": "आगे", - "replica.previous": "पिछला", - "replica.selectAll": "सभी का चयन करे", - "replica.search_replica": "खोज", - "replica.search_results_info": "यह टैब केवल Lantern से जुड़ा परिणाम दिखाता है.", - "replica.search_results_info_message": "Lantern परिणामों में उपयोगकर्ताओं द्वारा Lantern नेटवर्क पर अपलोड किये गए कंटेंट शामिल होते है.", - "replica.no_files_found": "कोई परिणाम नहीं", - "replica.or_content": "अन्य लोगों को खोजने के लिए आपकी अपनी सामग्री!", - "replica.try_again": "एक अलग कीवर्ड का प्रयास करें, या", - "replica.upload_success": "अपलोड सफल हो गया!", - "replica.cannot_preview": "इस फ़ाइल का पूर्वावलोकन नहीं है", - "replica.no_description": "विवरण खाली छोड़ दिया गया था।", - "replica.size": "आकार", - "replica.uploaded": "अपलोड किए गए", - "replica.invalid_link": "अमान्य लिंक", - "replica.close": "बंद करे", - "replica.files": "फ़ाइलें", - "replica.upload_history": "इतिहास अपलोड करें", - "replica.my_favorites": "पसंदीदा", - "replica.no_uploads": "अभी तक कोई अपलोड नहीं है", - "replica.no_favorites": "अभी तक कोई पसंदीदा नहीं है", - "replica.mime_type": "फ़ाइल का प्रकार: {{mime}}", - "replica.image_loading_error": "छवि लोड करने में त्रुटि", - "replica.play": "प्ले करें/चलाएं", - "replica.pause": "रोकें", - "replica.scrub": "रगड़ें", - "replica.skip_forward": "आगे छोड़ें", - "replica.skip_backwards": "पीछे छोड़ें", - "replica.trending_videos": "ट्रेंडिंग वीडियो", - "replica.file_uploaded": "अपलोड किया गया: {{days}} दिनों पहले", - "replica.file_size": "आकार", - "replica.duration": "अवधि", - "replica.filename": "फ़ाइल का नाम", - "replica.filename_required": "अपनी फ़ाइल को नाम दें", - "replica.description_optional": "कृपया विवरण जोड़ें।", - "replica.expand": "विवरण विस्तृत करें", - "replica.filetype": "फाइल का प्रकार", - "replica.sortby": "इसके अनुसार क्रमबद्ध करें", - "replica.link": "रेप्लिका लिंक", - "replica.collapse": "संकुचित करें", - "replica.publish": "प्रकाशित करें", - "replica.cancel": "रद्द करना", - "replica.progress_current_upload": "का अपलोड करें", - "replica.progress_files": "फ़ाइलें", - "replica.progress_of": "का", - "replica.progress_upload_complete": "पूरा हुआ", - "replica.progress_upload_failure": "अपलोड नहीं हो सका, कृपया दोबारा कोशिश करें.", - "replica.upload_in_progress": "अपलोड हो रहा है", - "replica.upload_pending": "अपलोड पेंडिंग है", - "replica.upload_error": "एरर अपलोड करें", - "replica.upload_cancel": "अपलोड कैंसिल करें", - "replica.upload_confirm": "क्या आप सच में अपलोड कैंसल करना चाहते हैं?", - "replica.progress_view": "देखें", - "replica.delete": "हटाएं", - "replica.remove": "हटाएँ", - "replica.delete_file": "फ़ाइल को हटाएं", - "replica.remove_favorite": "पसंदीदा से हटाएँ", - "replica.failed_to_delete": "हटाने में विफल", - "replica.failed_to_remove": "नहीं हटा पाए", - "replica.link_lookup_failure": "लिंक खोजने में विफल", - "replica.delete_file_confirmation_1": "क्या आप पक्का इसे हटाना चाहते हैं", - "replica.delete_file_confirmation_2": "आपके अपलोड से", - "replica.remove_favorite_confirmation_1": "क्या आप सच में हटाना चाहते हैं", - "replica.remove_favorite_confirmation_2": "आपके पसंदीदा से", - "replica.share_file": "फ़ाइल साझा करें", - "replica.download_and_view": "डाउनलोड/देखें", - "replica.download": "Download", - "replica.copy_link": "रेप्लिका लिंक कॉपी करें", - "replica.find_file": "फ़ाइल ढूंढे", - "replica.file_drop_prompt": "अपलोड करने के लिए फ़ाइल यहाँ डालें!", - "replica.empty_uploads_text1": "अपनी पोस्ट बनाने के लिए यहाँ क्लिक करें.", - "replica.empty_uploads_text2": "यहाँ", - "replica.empty_uploads_text3": "अपना पहला पोस्ट बनाने के लिए", - "replica.error_header": "ओह", - "replica.error": "आपके अनुरोध को प्रोसेस करने में एरर आई. कृपया दोबारा कोशिश करें.", - "replica.serp_empty": "Google ने इस क्वेरी से जुड़ा कोई परिणाम नहीं दिया.", - "replica.disclaimer": "आप जो भी सर्च करते हैं, Lantern उसे गुमनाम कर देता है और थर्ड पार्टियों से सुरक्षित रखता है", - "settings.general": "सामान्य", - "settings.feedback": "प्रतिपुष्टि", - "settings.autoLaunch": "प्रणाली प्रारंभ पर लालटेन भागो", - "settings.autoReport": "सुरक्षित रूप से उपयोग के आंकड़े रिपोर्ट लालटेन में योगदान के लिए", - "settings.lantern_ads": "Lantern Ads दिखाएँ", - "settings.lantern_ads_tooltip": "हमारी सेवा में मदद करने के लिए Lantern आपको कुछ वेबसाइटों पर विज्ञापन दिखाता है. हमारे सर्वर पर कोई उपयोगकर्ता जानकारी इकठ्ठा या आगे नहीं दी जाती है. यदि आप इस विकल्प को बंद कर देते हैं, तब भी आपको विज्ञापन दिखाई दे सकते हैं, लेकिन वे Lantern नेटवर्क से नहीं होंगे.", - "settings.proxyAll": "प्रॉक्सी सभी यातायात", - "settings.proxyAllHelpTitle": "\"PROXY ALL TRAFFIC\" क्या करता है?", - "settings.proxyAllHelp1": "सक्षम होने पर, सभी ट्रैफ़िक को लालटेन (सबसे सुरक्षित विकल्प) के माध्यम से भेजा जाएगा।", - "settings.proxyAllHelp2": "यदि अक्षम किया जाता है, तो केवल अवरुद्ध ट्रैफ़िक को लालटेन (सबसे तेज़ विकल्प, सबसे आम) के माध्यम से भेजा जाएगा।", - "settings.show_advanced": "एडवांस सेटिंग्स दिखाएँ", - "settings.hide_advanced": "एडवांस सेटिंग्स छिपाएँ", - "settings.systemProxy": "सिस्टम प्रॉक्सी प्रबंधित", - "settings.title": "कोई और अधिक उच्च गति लालटेन डेटा", - "settings.http_proxy": "HTTP(S) प्रॉक्सी:", - "settings.socks_proxy": "SOCKS प्रॉक्सी:", - "settings.caution": "सावधान:", - "settings.caution_text": "जब आप अपने ब्राउज़र और एप्लिकेशन को "सिस्टम प्रॉक्सी प्रबंधित करें" अनचेक करते हैं, तो स्वचालित रूप से लालटेन का उपयोग नहीं कर पाएंगे। यदि आप जानते हैं कि इन सेटिंग्स को मैन्युअल रूप से कैसे कॉन्फ़िगर किया जाए तो उपरोक्त जानकारी देखें।", - "settings.select_language": "भाषा का चयन करें", - "settings.diagnostics": "नैदानिक ​​जानकारी अटैच करें", - "settings.diagnostics_tooltip": "नैदानिक ​​जानकारी अटैच करने से आपके कनेक्शन से कैप्चर किया गया डेटा Lantern टीम को भेजा जाएगा. इससे आपकी समस्या को जानने और हल करने की हमारी क्षमता बढ़ेगी.", - "status.lantern": "लालटेन है", - "status.click_reconnect": "फिर से कनेक्ट करने के लिए यहां क्लिक करें", - "status.server_location": "सर्वर स्थान", - "status.tooltip1": "लालटेन आपको हमारे सर्वश्रेष्ठ डेटा केंद्रों से जोड़ने के लिए स्मार्ट सर्वर चयन का उपयोग करता है।", - "status.tooltip2": "हमारे विशेष लालटेन प्रो डेटा केंद्रों से अनुकूलित सर्वर चयन के साथ तेज गति के लिए लालटेन प्रो में अपग्रेड करें", - "status.protected_connection": "आपका कनेक्शन संरक्षित है", - "status.please_wait": "इसमें एक या दो मिनट लग सकते हैं ...", - "status.connecting": "कनेक्ट हो रहा है...", - "status.no_internet": "बंद करें", - "status.no_internet_connection": "कोई इंटरनेट कनेक्शन नहीं", - "status.connected": "खोलें", - "status.disconnected": "बंद करें", - "status.throttled": "स्पीड थ्रॉटलड (डेटा कैप)", - "status.no_system_proxy": "{{status}}, सिस्टम प्रॉक्सी मैनेज नहीं कर रहा है", - "status.fail_to_set_system_proxy": "लालटेन को सिस्टम प्रॉक्सी के रूप में सेट करने में विफल", - "status.fail_to_open_browser": "लालटेन उपयोगकर्ता इंटरफ़ेस को दिखाने के लिए ब्राउज़र विंडो खोलने में विफल", - "support.forum": "Lantern उपयोगकर्ता फोरम", - "support.faq": "सामान्य प्रश्न", - "terms_of_service.acknowledgment": "{{buttonText}} पर क्लिक करके, आप हमारी सेवा की शर्तों से सहमत होते हैं", - "terms_of_service.replica": "किसी भी तरह से हमारे उत्पादों को खोज, अपलोड या उपयोग करके, आप हमारी सेवा की शर्तों, प्राइवेसी पालिसी and DMCA Policy से सहमत होते हैं", - "top_sites.google": "Google", - "top_sites.twitter": "ट्विटर", - "top_sites.youtube": "Youtube", - "top_sites.facebook": "फेसबुक", - "top_sites.wikipedia": "Wikipedia", - "verify.header": "डिवाइस लिंकिंग पिन डालें या पेस्ट करें", - "verify.code": "डिवाइस जोड़ने संहिता", - "verify.howto_1": "यदि आप किसी अन्य डिवाइस पर एक लालटेन प्रो खाता है, तो कृपया डिवाइस अधिकृत करने के लिए एक कोड प्राप्त करने के लिए यहां अपना ई-मेल पता दर्ज", - "verify.howto_1a": "आप वर्तमान में एक अनाधिकृत प्रो उपयोगकर्ता हैं। कृपया अपने प्रो खाते अधिकृत करने के लिए अपना ई मेल पता दर्ज करें। यह कई उपकरणों को जोड़ने के लिए सक्षम हो जाएगा।", - "verify.howto_2": "डिवाइस को अपने प्रोअकाउंट से लिंक करने के लिए:", - "verify.howto_3": "1. अपने अन्य डिवाइस के मेनू से प्रो के लिए अधिकृत डिवाइस चुनें।", - "verify.howto_4": "2. कदम 1 से प्राप्त लिंकिंग पिन दर्ज करें, और सबमिट करें।", - "verify.reminder": "*सुनिश्चित करें कि दोनों उपकरण लालटेन के सबसे हाल के संस्करण को चला रहे हैं", - "verify.enter_pin": "डिवाइस लिंकिंग पिन डालें या पेस्ट करें", - "verify.submit": "जमा करें", - "verify.title": "खाता सत्यापन", - "welcomeToPro.continue": "प्रो करने के लिए जारी", - "welcomeToPro.invite": "मित्र को आमंत्रित करें और आप प्रत्येक 3 महीने मुफ्त मिलता है जब वे खरीद दो साल की योजना, एक साल की योजना आप प्रत्येक 1 महीने मुक्त हो जाता होगा। आमंत्रित शुरू करो!", - "welcomeToPro.thanks": "आपके पास अब हमारे सबसे तेज़ डेटा केंद्रों का उपयोग करके असीमित एक्सेस है। आपके खाते से अधिकतम तीन डिवाइस कनेक्ट किए जा सकते हैं।", - "welcomeToPro.title": "आपका स्वागत है लालटेन के लिए प्रो", - "welomeToPro.title_exclamation": "लालटेन प्रो में आपका स्वागत है!", - "purchase.failed": "खरीद विफल रही। कृपया बाद में पुनः प्रयास करें।", - "purchase.success": "खरीदारी सफल रही", - "purchase.success_title": "Lantern {{planType}} में आपका स्वागत है!", - "purchase.success_content_pro": "आपके पास अब हमारे सबसे तेज़ डेटा केंद्रों का उपयोग करके असीमित एक्सेस है। आपके खाते से अधिकतम तीन डिवाइस कनेक्ट किए जा सकते हैं।", - "purchase.success_content_platinum": "अब आपके पास हमारी समर्पित लाइनों और सबसे तेज़ डेटा केंद्रों का उपयोग करके, असीमित एक्सेस है। आपके खाते से अधिकतम तीन डिवाइस कनेक्ट किए जा सकते हैं।", - "welcomeToPro.description": "अब आपके पास अवरुद्ध साइटों और सेवाओं तक अप्रतिबंधित पहुंच है", - "messages.copied_to_clipboard": "कोड की नकल। इसे अपने दोस्तों के साथ साझा करें!", - "messages.datacap": "आप अपने मुक्त उच्च गति डेटा का इस्तेमाल किया है। असीमित उच्च गति डेटा के लिए प्रो करने के लिए उन्नयन।", - "messages.fatal_error": "क्षमा करें, हम मुसीबत लालटेन सर्वर से संपर्क कर रहे हैं। अपने इंटरनेट कनेक्शन की जाँच करें और पुन: प्रयास करें।", - "messages.backend_gone": "क्षमा करें, लालटेन नहीं चल रहा प्रतीत होता है। लालटेन को पुनः आरंभ और फिर कोशिश करें।", - "messages.get_help": "मदद लें", - "freeProCredits.title": "मित्रों को आमंत्रित करें", - "freeProCredits.shareWithFriends": "मित्र मुक्त महीने कमाने के साथ अपने कोड साझा करें!", - "freeProCredits.shareWithFriendsDesc": "अपने दोस्त को दो साल की योजना खरीदता है तो आप प्रत्येक 3 महीने नि: शुल्क प्राप्त होगा, एक साल की योजना आप प्रत्येक 1 महीने मुक्त हो जाता है।", - "cards.serverLocation.unknown": "अनजान", - "cards.serverLocation.description": "अनुकूलित सर्वर स्थान", - "cards.serverLocation.description-free": "सर्वर स्थान", - "cards.serverLocation.description-upgrade": "तेज़ सर्वर के लिए अपग्रेड करें", - "cards.serverLocation.title": "वर्तमान स्थान:", - "cards.serverLocation.location": "%s, %s", - "cards.serverLocation.text": "लालटेन स्वचालित रूप से टोक्यो, सिंगापुर, हांगकांग, सैन फ्रांसिस्को, न्यूयॉर्क, एम्स्टर्डम, बैंगलोर और अधिक में हमारे डेटा केंद्रों से संभव सबसे तेज़ कनेक्शन खोजने के लिए स्मार्ट सर्वर चयन का उपयोग करता है।", - "cards.serverLocation.text-free": "लालटेन आपको हमारे सर्वश्रेष्ठ डेटा केंद्रों से जोड़ने के लिए स्मार्ट सर्वर चयन का उपयोग करता है।", - "cards.serverLocation.upgrade-link": "हमारे विशेष लालटेन प्रो डेटा केंद्रों से अनुकूलित सर्वर चयन के साथ तेज गति के लिए लालटेन प्रो में अपग्रेड करें।", - "cards.httpsUpgrades.description": "HTTPS उन्नयन", - "cards.httpsUpgrades.title": "HTTPS अपग्रेड: %d", - "cards.httpsUpgrades.text": "लालटेन स्वचालित रूप से असुरक्षित HTTPS कनेक्शन को असुरक्षित HTTP अपग्रेड करता है जब वेब पर सर्फिंग करते समय आपकी जानकारी को निजी रखा जा सकता है।", - "cards.adsBlocked.description": "विज्ञापन अवरोधित किए गए", - "cards.adsBlocked.title": "अवरोधित विज्ञापन: %d", - "cards.adsBlocked.text": "लालटेन ने वेब पेज लोडिंग समय को गति देने, बैंडविड्थ को बचाने और आपको एक चिकनी ब्राउज़िंग अनुभव देने के लिए घुसपैठिए विज्ञापनों को अवरुद्ध किया।", - "cards.dataUsage.description": "डेटा उपयोग", - "cards.dataUsage.upgrade": "अभी अपग्रेड करें", - "cards.dataUsage.mb-used": "आपने अपने मासिक उच्च गति डेटा के %d/%dMB का उपयोग किया है।", - "cards.dataUsage.upgrade-link": "असीमित उच्च गति सेवा के लिए अब अपग्रेड करें!", - "cards.subscription.description": "प्रो सदस्यता", - "cards.subscription.renew": "नवीकरण", - "cards.subscription.months": "आपके पास अपनी सदस्यता में लालटेन प्रो के %d महीने हैं।", - "cards.subscription.days": "आपकी सदस्यता में लालटेन प्रो के %d दिन शेष हैं।", - "cards.subscription.unit.months": "MO", - "cards.subscription.unit.days": "दिन", - "cards.subscription.renew-link": "अधिक समय जोड़ने के लिए अपनी सदस्यता नवीनीकृत करें।", - "auth.email": "ईमेल", - "auth.username": "उपयोगकर्ता का नाम", - "auth.username.or.email": "उपयोगकर्ता का नाम या ईमेल", - "auth.signin": "साइन इन करें", - "current.password": "वर्तमान पासवर्ड", - "new.password": "नया पासवर्ड", - "auth.change.password": "पासवर्ड बदलें", - "confirm.new.password": "नए पासवर्ड की पुष्टि करें", - "auth.password": "कुंजिका", - "auth.have.recovery.phrase": "आपके पास रिकवरी वाक्य है?", - "auth.forgot.password": "पासवर्ड भूल गए या नहीं?", - "auth.create.account": "अकाउंट बनाएं", - "auth.missing.username": "उपयोगकर्ता नाम गुम है", - "auth.missing.current.password": "वर्तमान पासवर्ड गुम है", - "auth.missing.new.password": "नया पासवर्ड गुम है", - "auth.missing.confirm.password": "पासवर्ड की पुष्टि गुम है", - "invalid_credentials": "अवैध प्रत्यय पत्र", - "yinbi.wallet": "Yinbi वॉलेट", - "create.wallet": "वॉलेट बनाएं", - "new.to.yinbi": "Yinbi के लिए नया?", - "setup.wallet": "हाँ, एक नया बटुआ स्थापित करने देता है!", - "web.wallet": "नहीं, मेरे पास Yin.bi वेबसाइट पर एक वॉलेट है", - "yinbi.next": "अगला", - "yinbi.amount": "रकम", - "yinbi.missing.address": "कोई गंतव्य पता नहीं दिया गया है", - "yinbi.missing.amount": "कोई राशि निर्दिष्ट नहीं है", - "yinbi.missing.email": "कोई ईमेल पता निर्दिष्ट नहीं किया गया है", - "yinbi.missing.username": "कोई उपयोगकर्ता नाम निर्दिष्ट नहीं है", - "yinbi.missing.password": "कोई पासवर्ड निर्दिष्ट नहीं है", - "yinbi.invalid.address": "{{destination}} वैध तारकीय पता नहीं है", - "yinbi.send": "भेजना", - "yinbi.to": "सेवा:", - "yinbi.try_again": "फिर से प्रयास करें?", - "yinbi.success.transaction": "लेन-देन सफल!", - "yinbi.failure.transaction": "लेन देन असफल", - "yinbi.confirm.transaction": "लेन-देन की पुष्टि करें", - "yinbi.sent.details": "आपने {{destination}} को {{amount}} YNB भेजा", - "yinbi.sent.failure.details": "निम्नलिखित कारणों से आपका लेन-देन विफल रहा:", - "yinbi.recipient": "प्राप्त करने वाला", - "yinbi.available.send": "आपके पास {{balance}} YNB भेजने के लिए उपलब्ध है", - "yinbi.wallet.header": "बटुआ", - "yinbi.send.header": "Yinbi को भेजें", - "yinbi.recovery.phrase": "Yinbi रिकवरी वाक्यांश", - "yinbi.recover.account": "अपने Yinbi वॉलेट, और लालटेन अकाउंट को पुनर्प्राप्त करने के लिए अपना Yinbi रिकवरी वाक्यांश दर्ज करें या पेस्ट करें", - "yinbi.recovery.desc": "यदि आप अपने लालटेन अकाउंट के अलावा किसी Yinbi वॉलेट में साइन इन करना चाहते हैं तो इस विधि का उपयोग करें", - "yinbi.redeem.codes": "भुनाएँ थोक Yinbi कोड्स", - "yinbi.obtain.codes": "बल्क Yinbi रिडम्पशन कोड reseller.lantern.io से प्राप्त किया जा सकता है", - "yinbi.receive.header": "Yinbi प्राप्त करें", - "yinbi.this.is.your.wallet": "यह आपका Yinbi वॉलेट एड्रेस है जहां लोग आपको YNB भेज सकते हैं।", - "yinbi.your.address": "आपका पता", - "yinbi.no.activity.header": "कोई गतिविधि नहीं", - "yinbi.upgrade.pro.button": "अपग्रेड करने के लिए प्रो और जाओ मुफ्त Yinbi", - "yinbi.renew.pro.button": "रिन्यू प्रो और गेट फ्री Yinbi", - "yinbi.wallet.activity_header": "गतिविधि", - "yinbi.wallet.send": "भेजना", - "yinbi.wallet.receive": "प्राप्त करना", - "yinbi.wallet.balance": "संतुलन", - "yinbi.wallet.getlantern.pro": "लालटेन प्रो + मुफ्त Yinbi प्राप्त करें", - "yinbi.redemption.codes": "Yinbi मोचन कोड", - "redeem_codes.title": "Yinbi कोड्स रिडीम करें", - "redeem_codes.redeem_button_text": "के एवज", - "redeem_codes.cancel_button_text": "रद्द करना", - "redeem_codes.success": "सफलता", - "redeem_codes.errors.missing_codes": "कोई मान्य कोड दर्ज नहीं किया गया", - "redeem_codes.errors.invalid_codes": "त्रुटि, कृपया हाइलाइट किए गए कोड की जांच करें। पार किए गए कोड समाप्त हो गए हैं और अब उन्हें भुनाया नहीं जा सकता है।", - "yinbi.new.account.text": "एक बार जब आप Yinbi भेजते हैं या प्राप्त करते हैं तो आपके लेनदेन यहां दिखाई देंगे।", - "yinbi.createAccount": "अकाउंट बनाएं", - "yinbi.confirm.account.text": "यह सुनिश्चित करने के लिए कि आपने वाक्यांश को सही ढंग से लिखा है, कृपया अपने पुनर्प्राप्ति वाक्यांश से निम्नलिखित शब्दों को दर्ज करें", - "create_account.invalid_words.error": "दर्ज किए गए शब्द रिकवरी पासफ़्रेज़ से मेल नहीं खाते हैं", - "yinbi.recovery_text": "यह आपका Yinbi वॉलेट रिकवरी वाक्यांश है। यह पासवर्ड भूल जाने की स्थिति में अपने Yinbi वॉलेट\n को पुनर्प्राप्त करने का एकमात्र तरीका है। इस वाक्यांश को संग्रहीत करते समय एक पासवर्ड प्रबंधक\n का उपयोग करें या एक हार्ड कॉपी बनाएं।", - "yinbi.recovery_confirm_text": "यह आपका Yinbi वॉलेट रिकवरी वाक्यांश है। यह पासवर्ड भूल जाने की स्थिति में अपने Yinbi वॉलेट को पुनर्प्राप्त करने का एकमात्र तरीका है। इस वाक्यांश को संग्रहीत करते समय एक पासवर्ड प्रबंधक का उपयोग करें या एक हार्ड कॉपी बनाएं।", - "yinbi.import.wallet": "वॉलेट इम्पोर्ट करें", - "yinbi.setup.wallet": "वॉलेट सेट अप करें", - "yinbi.importWallet": "Yinbi वॉलेट आयात करें", - "yinbi.import.wallet.continue": "वॉलेट पर जाना जारी रखें", - "yinbi.import.wallet.success": "वॉलेट इम्पोर्ट सफ़ल रहा!", - "yinbi.wallet.text": "Yinbi वॉलेट का उपयोग करने के लिए, यदि आप Yin.bi आई वेबसाइट पर साइन अप कर चुके हैं,\n तो आप Yin.bi आई से अपना खाता बना सकते हैं, साइन इन\nया आयात कर सकते हैं।", - "yinbi.wallet.pro.text": "Yinbi वॉलेट का उपयोग करने के लिए, आप एक अकाउंट बना सकते हैं, यिन.बी से अपने बटुए को आयात करें यदि आपने पहले साइन अप किया है।", - "yinbi.recovery_subheader": "Yinbi वॉलेट रिकवरी वाक्यांश", - "yinbi.import_wallet.subheader": "Yinbi वॉलेट आयात करें", - "yinbi.import_wallet.text": "अपने वॉलेट को लालटेन में स्थानांतरित करने के लिए अपने Yin.bi क्रेडेंशियल्स का उपयोग करने के लिए साइन इन करें", - "yinbi.import_wallet.success": "आपका वॉलेट सफलतापूर्वक इम्पोर्ट हो गया है कृपया अकाउंट रजिस्ट्रेशन पूरा करने के लिए अपना ईमेल जोड़ें.", - "yinbi.import_wallet.success_subheader": "आयात सफल!", - "yinbi.import_wallet.button": "Yin.bi वॉलेट आयात करें", - "yinbi.import_wallet.success_button": "रजिस्ट्रेशन मुकदमा करें", - "yinbi.recovery_passphrase.label_text": "रिकवरी वाक्यांश", - "yinbi.recovery_passphrase.copy_button_text": "कॉपी करें", - "terms_of_service.notice": "नोटिस", - "terms_of_service.i_agree": "मैं सहमत हूँ", - "platinum": "प्लैटिनम", - "platinum.one_year": "1 वर्ष का मूल्य", - "platinum.two_years": "2 वर्ष का मूल्य", - "platinum.save": "{{savings}}% तक की बचत!", - "platinum.unlimited": "असीमित डेटा", - "platinum.logs": "कोई लॉग नहीं", - "platinum.devices": "3 डिवाइस तक कनेक्ट करें", - "platinum.everything_in_pro": "प्रो में सब कुछ शामिल है", - "platinum.faster_data": "तेज़ डेटा सेंटर्स", - "platinum.dedicated": "समर्पित लाइन", - "platinum.reliability": "बढ़ी हुई विश्वसनीयता", - "platinum.platinum_one_year": "Lantern Platinum 1 वर्ष", - "platinum.platinum_two_years": "Lantern Platinum 2 वर्ष", - "platinum.pro_one_year": "Lantern Pro 1 वर्ष", - "platinum.pro_two_years": "Lantern Pro 2 वर्ष", - "platinum.total": "कुल", - "platinum.free": "फ़्री", - "platinum.credit.days": "+ {{ days }} दिन", - "platinum.credit.months": "{{ months }} महीना(महीने)", - "platinum.upgrade": "प्लैटिनम में अपग्रेड करें", - "platinum.upgrade_details": "समर्पित लाइन + तेज़ डेटा केंद्र!", - "platinum.unused_time_disclaimer": "प्लैटिनम में अपग्रेड करने वाले प्रो उपयोगकर्ता अपनी परिवर्तित प्रो सदस्यता को ऊपर जोड़े गए समय के अनुसार सूचीबद्ध देखेंगे।", - "p2p.opt_in_description": "अपने इंटरनेट का इस्तेमाल करें और बगैर सेंसर वाले इंटरनेट को ऐक्सेस करने में लोगों की मदद करें", - "p2p.active_sharing_description": "आपका इंटरनेट शेयर किया जा रहा है", - "p2p.dialog.title": "इंटरनेट का ऐक्सेस शेयर करें", - "p2p.dialog.text.1": "अपना कनेक्शन शेयर करके उन लोगों की मदद करें, जिनके पास इंटरनेट का सीमित ऐक्सेस है. अपने इंटरनेट का ऐक्सेस देकर, आप स्वयंसेवियों के एक ऐसे नेटवर्क का हिस्सा बनते हैं, जो इंटरनेट में और खुलापन लाते हैं.", - "p2p.dialog.text.2": "शेयर करने से आपकी पहचान या सुरक्षा को कोई खतरा नहीं होगा. आप जब चाहें अपना इंटरनेट शेयर करना बंद कर सकते हैं.", - "p2p.dialog.yes_button": "हाँ, शेयर करना शुरू करें", - "p2p.dialog.no_button": "कैंसिल करें", - "p2p.banner.introducing": "पेश है", - "top_sites.top_sites": "शीर्ष साइट्स" -} \ No newline at end of file diff --git a/locale/translation/hr.json b/locale/translation/hr.json deleted file mode 100644 index 59cc830d4..000000000 --- a/locale/translation/hr.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "TRAY_SHOW_LANTERN": "Show Lantern", - "TRAY_QUIT": "Quit Lantern" -} \ No newline at end of file diff --git a/locale/translation/hu.json b/locale/translation/hu.json deleted file mode 100644 index 9e140afc6..000000000 --- a/locale/translation/hu.json +++ /dev/null @@ -1,462 +0,0 @@ -{ - "TRAY_LANTERN": "Lantern", - "TRAY_STATUS": "Status: %v", - "TRAY_CONNECT": "Connect", - "TRAY_DISCONNECT": "Disconnect", - "TRAY_SHOW_LANTERN": "Lantern megjelenítése", - "TRAY_UPGRADE_TO_PRO": "Frissítés Pro-ra", - "TRAY_QUIT": "Kilépés a Lanternből", - "BACKEND_DATA_TITLE": "No more high speed Lantern data", - "BACKEND_DATA_MESSAGE": "Please upgrade to Pro to keep using Lantern at full speed!", - "BACKEND_DATA_PERCENT_TITLE": "Reached %s of your Lantern data", - "BACKEND_DATA_PERCENT_MESSAGE": "You have used %s of your Lantern high speed data for the month. Upgrade now!", - "BACKEND_CLICK_LABEL": "Open", - "BACKEND_CLICK_LABEL_OPEN": "Open", - "BACKEND_CLICK_LABEL_HELP": "Súgó", - "BACKEND_CLICK_LABEL_GOT_IT": "Got it", - "BACKEND_AUTOUPDATED_TITLE": "Update Lantern to version %s", - "BACKEND_AUTOUPDATED_MESSAGE": "Lantern %s has been downloaded. Please restart Lantern to use it.", - "BACKEND_MITM_INSTALL_CERT": "Lantern wants to install a custom certificate in order to unblock your traffic", - "BACKEND_MITM_INSTALL_CERT_WINDOWS_BODY": "Please allow %v to make changes to your system", - "BACKEND_ALERT_TITLE": "Critical alert needs your attention", - "about.content": "Lantern is an application that delivers fast, reliable and secure access to the open Internet.", - "about.faq": "Read the Lantern FAQs", - "about.open": "Open Internet for Everyone", - "about.questions": "Kérdések?", - "about.title": "Névjegy", - "account.cancel": "Pro fiók felmondása", - "account.free.cap": "{{mb}} MB remaining of your free monthly data", - "account.free.cap.upgrade": "Upgrade to Pro for unlimited high speed data", - "account.freelink.validFor": "valid for %s", - "account.freelink.desc": "To link this device to your Pro account:", - "account.freelink.step1": "1. Open the 'Add Device' menu item on your Pro device.", - "account.freelink.step2": "2. Enter the device linking code, and submit.", - "account.freelink.reminder": "* Make sure you're updated to the latest version of Lantern on your Pro device", - "account.freelink.errorTitle": "Linkelési hiba", - "account.freelink.errorText": "Are you sure you entered the code on your Pro device?", - "account.freelink.headerDesc": "Link this device to your Pro account", - "account.freelink.title": "Eszköz linkelő kód", - "account.pro.charge": "Your account will automatically be charged for another year of Lantern Pro at the end of your billing cycle.", - "account.upgrade": "Frissítés Pro-ra", - "account.pro.email": "Email cím:", - "account.pro.expired": "Your Pro account has expired. Renew now for Unlimited monthly data.", - "account.pro.expiry": "Your Pro account expires in %s days on %s.", - "account.pro.bonusMonths": "This includes your {{bonusMonths}} bonus months!", - "account.pro.thisdevice": "(ez az eszköz)", - "account.pro.logout": "KILÉPÉS", - "account.pro.removedevice": "ELTÁVOLÍTÁS", - "account.pro.devices": "Devices authorized to use your Pro account:", - "account.pro.device.confirm.title": "Deauthorize Device", - "account.pro.device.confirm": "Are you sure you want to remove '{{device}}' from your Lantern Pro account?", - "account.pro.device.one.title": "Csak egy eszköz", - "account.pro.device.one": "Sajnáljuk, de nem távolíthatja el az utolsó azonosított eszközét.", - "account.pro.linkingcode": "Eszköz linkelő kód:", - "account.pro.renew": "PRO FIÓK MEGHOSSZABBÍTÁSA", - "account.prolink.errorTitle": "Linkelési hiba", - "account.prolink.errorText": "Biztos benne, hogy jól másolta le a kódot a másik eszközről?", - "account.prolink.successTitle": "Eszköz linkelve", - "account.prolink.successText": "You have successfully linked your device! Please wait a moment for your other device to automatically become pro.", - "adyen.paymentMethods.title": "Payment Methods", - "adyen.paymentMethods.storedMethods": "Your payment methods", - "adyen.paymentMethods.otherMethods": "Select other method", - "adyen.paymentMethods.moreMethodsButton": "More payment methods", - "adyen.payButton": "Pay", - "adyen.payButton.formatted": "Pay %@", - "adyen.cancelButton": "Mégsem", - "adyen.dismissButton": "OK", - "adyen.storeDetails": "Save for my next payment", - "adyen.payment.redirecting": "You will be redirected", - "adyen.payment.processing": "Your payment is being processed", - "adyen.creditCard.title": "Card Details", - "adyen.creditCard.holderName": "Cardholder name", - "adyen.creditCard.holderName.placeholder": "J. Smith", - "adyen.creditCard.numberField.title": "Kártyaszám", - "adyen.creditCard.numberField.placeholder": "1234 5678 9012 3456", - "adyen.creditCard.numberField.invalid": "Invalid card number", - "adyen.creditCard.expiryDateField.title": "Expiry Date", - "adyen.creditCard.expiryDateField.placeholder": "MM/YY", - "adyen.creditCard.expiryDateField.invalid": "Invalid expiration date", - "adyen.creditCard.expiryDateField.month": "Hónap", - "adyen.creditCard.expiryDateField.month.placeholder": "MM", - "adyen.creditCard.expiryDateField.year.placeholder": "YY", - "adyen.creditCard.expiryDateField.year": "Év", - "adyen.creditCard.cvcField.title": "CVC / CVV", - "adyen.creditCard.cvcField.placeholder": "123", - "adyen.creditCard.installmentsField": "Number of installments", - "adyen.creditCard.storeDetailsButton": "Remember this card for my next payment", - "adyen.creditCard.oneClickVerification.title": "Verify your card", - "adyen.creditCard.oneClickVerification.message": "Please enter the CVC code for %@", - "adyen.creditCard.oneClickVerification.invalidInput.title": "Invalid CVC", - "adyen.creditCard.oneClickVerification.invalidInput.message": "Please enter a valid CVC to continue.", - "adyen.sepaDirectDebit.ibanField.title": "Account Number (IBAN)", - "adyen.sepaDirectDebit.ibanField.placeholder": "NL53 ABNA 1925 1294 122", - "adyen.sepaDirectDebit.ibanField.invalid": "Invalid account number", - "adyen.sepaDirectDebit.nameField.title": "Holder Name", - "adyen.sepaDirectDebit.nameField.placeholder": "J. Smith", - "adyen.sepaDirectDebit.consentButton": "I agree that the amount below will be debited from my bank account.", - "adyen.sepa.ownerName": "Holder Name", - "adyen.sepa.ibanNumber": "Account Number (IBAN)", - "adyen.giropay.searchField.placeholder": "Bankname / BIC / Bankleitzahl", - "adyen.giropay.minimumLength": "Min. 3 characters", - "adyen.giropay.noResults": "No search results", - "adyen.error.title": "Hiba", - "adyen.error.subtitle.redirect": "Redirect failed", - "adyen.error.subtitle.payment": "Payment failed", - "adyen.error.subtitle.refused": "Payment refused", - "adyen.error.message.unknown": "An unknown error occurred", - "adyen.error.message.cannotConnectToInternet": "Failed to connect to the internet : please check your internet connection.", - "adyen.error.message.cannotConnectToHost": "Failed to connect to our payment server.", - "adyen.error.retryButton": "Próbálja újra", - "adyen.idealIssuer.selectField.title": "Bank", - "adyen.idealIssuer.selectField.placeholder": "Select your bank", - "adyen.creditCard.success": "Payment Successful", - "adyen.oneClick.confirmationAlert.title": "Confirm %@ payment", - "adyen.redirect.cannotOpenApp.title": "Cannot Open App", - "adyen.redirect.cannotOpenApp.appNotInstalledMessage": "This app could not be opened because it is not installed on this device.", - "adyen.holderName": "Cardholder name", - "adyen.countryCode": "Country Code", - "adyen.telephone.number": "Telephone number", - "authorize.title": "Az eszköz hozzárandelése a Pro-hoz", - "authorize.step1.have_pro_device": "Van másik Lantern Pro eszközöm", - "authorize.step1.link": "Eszköz linkelése", - "authorize.step1.or": "vagy", - "authorize.step1.recover": "A Lantern Pro fiókom helyreállítására van szükségem", - "authorize.step1.start": "helyreállítás indítása", - "authorize.step1.no_mail": "Nem emlékszik email címére?", - "authorize.step2b.enter_code": "Adja meg fiók helyreállító kódját", - "authorize.step2b.code": "Fiók helyreállító kó", - "authorize.step2b.instruction": "An Email with a recovery code has been sent to {{email}}. This email may take several hours to arrive. Please check your spam folder if you do not find it.", - "authorize.step2b.no_mail": "Nem kapott emailt", - "authorize.step3.recovery": "Fiók helyreállítás", - "authorize.step3.no_email": "Oops! We're having trouble finding that email address. Please provide more information below to help us locate your account.", - "authorize.step3.no_code_received": "Having trouble receiving the recovery email? Enter the information below and we will contact you within 48 hours.", - "authorize.step3.your_email": "Az Ön email címe", - "authorize.step3.payment_method": "Fizetési mód", - "authorize.step3.payment_method_hint": "Select the payment method you used to get Pro", - "authorize.step3.credit_card": "Hitelkártya", - "authorize.step3.alipay": "AliPay", - "authorize.step3.android_pay": "Android Pay", - "authorize.step3.by_referral": "Received Pro by Referring a friend", - "authorize.step3.payment_account": "Fizetési fiók", - "authorize.step3.payment_account_hint": "Enter your Alipay account information", - "authorize.step3.referral_code": "Az Ön ajánló kódja", - "authorize.step3.purchase_date": "Vásárlás dátuma", - "authorize.step3.note": "Please note any other information that may help us locate your account.", - "authorize.step4.title": "Fiók helyreállítás folyamatban", - "authorize.step4.text1": "Thank you! We've received your account recovery request.", - "authorize.step4.text2": "Please allow 48 hours to retrieve your Pro account information.", - "authorize.step4.text3": "We will send information to the email address entered on the previous screen.", - "authorized.continue": "Continue to Pro", - "authorized.text": "This device is now authorized to use your Lantern Pro account!", - "authorized.title": "Eszköz azonosítva", - "button.renew": "Renew", - "button.upgrade": "Frissítés", - "button.upgrade_now": "Upgrade Now", - "button.upgrade_to_lantern_pro": "Frissítés Lantern Pro-ra", - "button.copy_your_code": "Másolja le kódjét", - "button.try_again": "Próbálja újra", - "button.continue": "Folytatás", - "bullet.click_button": "Kattintson a gombra alább", - "bullet.paste_code": "Paste the code & download link in a message", - "bullet.send_to_friends": "Küldje el ismerőseinek", - "cancel": "Mégsem", - "confirm": "Megerősít", - "google_search": "Google Search", - "link_device": "Already have a Pro account? Link device", - "err.unknown_error": "Ismeretlen hiba", - "err.internal_error": "Belső hiba", - "err.bad_input": "Rossz adatbevitel", - "err.not_authorized": "Nem azonosított", - "err.user_exists": "Felhasználó létezik", - "err.no_such_user": "Nincs ilyen felhasználó", - "err.user_already_verified": "Felhasználó ellenőrzött", - "err.invalid_user_verification": "Érvénytelen felhasználó ellenőrzés", - "err.user_unverified": "Ellenőrizetlen felhasználó", - "err.operation_temporarily_unavailable": "Szolgáltatás átmenetileg nem elérhető", - "err.wrong_or_inexistent_plan": "Wrong or inexistent plan", - "err.user_has_active_subscription": "User has active subscription", - "err.payment_error": "Payment error", - "err.no_codes_left": "No referral codes left", - "err.wrong_code": "Wrong referral code", - "err.redeeming_own_code_not_allowed": "Redeeming codes of oneself is not allowed", - "err.wrong_charge_id": "Wrong charge ID", - "footer.reseller": "Make Money! Become a Lantern Pro reseller. Click Here", - "footer.reseller.email_subject": "Tell me about the Lantern Reseller Program!", - "footer.reseller.email_body": "When you become a Lantern Reseller you will have the opportunity to make up to 25% on every sale of a Lantern Pro subscription. Tell us a bit about why you want to become a reseller below.", - "feature.faster_speed": "Gyorsabb sebesség", - "feature.faster": "Faster data centers", - "feature.unlimited": "Korlátlan adat", - "feature.nologs": "No Logs", - "feature.devices": "Connect up to 3 devices", - "feature.noads": "Nincsenek reklámok", - "feature.antiblock": "Blocking Resistant", - "feature.data_center": "Better Data Centers", - "feature.free_yinbi": "Free Yinbi Cryptocurrency!", - "free.title": "Lantern Pro", - "free.desc": "Faster. Stronger. Unlimited. Secure.", - "free.link_account": "Already have a Pro account? Link your account.", - "home.get_lantern_pro": "Lantern Pro beszerzése", - "input.email": "Email", - "input.your_email": "Your Email Address", - "input.confirm_email": "Confirm Email Address", - "input.enter_email": "Enter your email", - "input.use_valid_email": "Write a valid email address", - "input.email_not_match": "Email fields do not match", - "issue.your_email": "Az Ön email címe", - "issue.attach_image_failure": "Cannot attach image", - "issue.try_again": "Kérjük próbálja újra", - "issue.select_issue": "Please Select an Issue", - "issue.selected_issue": "Select Issue", - "issue.select_issue_hint": "Select an issue from the dropdown menu", - "issue.note": "Describe your Issue", - "issue.description": "Issue Description", - "issue.error": "Error reporting issue", - "issue.submit": "Send Report", - "issue.report_screenshot": "Drag image or click to upload screenshot", - "issue.reported": "Thank you for reporting your issue, we will get back to you via Email as soon as we are able", - "issue.report_sent": "Report Sent", - "issue.type.no_access": "Cannot access blocked sites", - "issue.type.payment_fail": "Cannot complete the payment", - "issue.type.cannot_login": "Cannot log in", - "issue.type.always_spinning": "Loading spinner spins endlessly", - "issue.type.slow": "Lassú", - "issue.type.cannot_link_device": "Cannot link devices", - "issue.type.crashes": "Lantern összeomlik", - "issue.type.other": "Egyéb", - "languages.title": "Nyelvek", - "mobile.link": "Use the link to download Lantern on your Android device:", - "mobile.title": "Get Android Version", - "nav.about": "Névjegy", - "nav.account": "Fiók kezelés", - "nav.authorize": "Eszköz hozzáadása", - "nav.authorized": "Eszköz azonosítva", - "nav.unauthorized_link": "Az eszköz hozzárandelése a Pro-hoz", - "nav.language": "Nyelv", - "nav.lantern": "Lantern", - "nav.mobile": "Mobil verzió beszerzése", - "nav.report_issue": "Hiba bejelentése", - "nav.settings": "Beállítások", - "nav.verify": "Fiók ellenőrzés", - "nav.yinbi": "Yinbi Redemption", - "nav.home": "Home", - "nav.discover": "Discover", - "nav.wallet": "Wallet", - "nav.yinbi_wallet": "Yinbi Wallet", - "notification.retry": "Újra", - "notifications.whatisnew": "What's New?", - "payment.close": "Bezár", - "payment.wait_for_pro": "Thanks for your purchase of Lantern Pro! Please wait a moment for your Lantern to automatically become Pro.", - "payment_methods.select_name": "Select payment method", - "payment_methods.alipay": "Credit Card/Alipay", - "payment_methods.shetab": "Fast World Pay (Shetab)", - "payment_methods.shetab.details.header": "To purchase Lantern Pro", - "payment_methods.shetab.details.body": "When you click continue to purchase you will be redirected to an external site to complete payment and collect your activation code.", - "payment_methods.shetab.details.tutorial_header": "Farsi tutorial", - "payment_methods.shetab.details.purchase_voucher_button": "Continue To Purchase", - "payment_methods.shetab.details.input_code_button": "Input Activation Code", - "plan.step1": "Step 1", - "plan.apply": "Apply", - "plan.step2": "Step 2", - "plan.step3": "Step 3", - "plan.choose_plan": "Choose Plan", - "plan.enter_email": "Enter Email", - "plan.bestValue": "Best Deal!", - "plan.per_month": "per month", - "plan.yinbi_2x": "+ 2x Yinbi!", - "plan.oneYear": "1 year", - "plan.add_referral": "Add Referral Code", - "plan.years": "{{years}} year plan", - "plan.desc": "{{price}} billed one time", - "plan.price.cny": "¥%.02f", - "plan.price.usd": "$%.02f", - "plan.currency.cny": "(RMB)", - "plan.currency.usd": "(USD)", - "plan.time_unit": "/YR", - "plan.select": "Válasszon", - "plans.title": "Lantern Pro előfizetések", - "plans.lantern_pro": "Lantern Pro", - "plans.platforms": "For Windows, Android, Mac, Ubuntu.", - "plans.from_reseller": "Have a Lantern Pro activation code? Click here", - "plans.with_voucher_code": "Have an activation code? Click here.", - "pro.apply": "Your credits will be applied to your account in the next billing cycle.", - "pro.title": "Invite friends, get more Pro for free", - "pro.subtitle": "When your friend purchases the two year plan you each get 3 additional months of Pro, the one year plan gets you each 1 month free.", - "pro.share": "Share your code with friends to start earning more credits!", - "promotion.title": "Lantern Pro Fizetés", - "promotion.title.activation": "Lantern Pro Activation", - "promotion.enter_and_confirm_email": "Please enter and confirm your email address", - "promotion.code.hint": "Enter your friend's Referral code (optional)", - "promotion.code.label": "Ajánló kód", - "promotion.payment": "Continue to Payment", - "promotion.loading": "Loading...", - "promotion.howto_1y": "If a friend shared their referral code with you, enter the code to receive one month of Lantern Pro for free after checkout.", - "promotion.howto_2y": "If a friend shared their referral code with you, enter the code to receive three months of Lantern Pro for free after checkout.", - "promotion.pay": "Pay {{amount}}", - "promotion.select": "Válasszon", - "promotion.promotion_applied_1y": "+1 bonus months", - "promotion.promotion_applied_2y": "+3 bonus months", - "promotion.too_many_referrals": "This referral code has already been added. Check out now to receive your extra months.", - "promotion.activation.enter_and_confirm_email": "Please enter and confirm your email address to register your Lantern Pro account.", - "promotion.activation.label": "XXXXX-XXXXX-XXXXX-XXXXX-XXXXX", - "promotion.activation.hint": "Enter your Activation Code", - "promotion.activation.howto": "Please enter your 25 character Lantern Pro activation code above. If you do not have a code, please purchase Pro on the previous screen or look for a Lantern Pro reseller online.", - "promotion.activation.continue": "Continue to Pro", - "promotion.voucher.hint": "Activation Code", - "promotion.voucher.howto": "Please enter your 12 character Fast World Pay activation code above", - "promotion.voucher.label": "XXXXXXXXXXXX", - "promotion.voucher.error.default": "Error redeeming your activation code. Please contact contact@fastworldpay.com for assistance.", - "promotion.voucher.error.invalid_code": "Invalid activation code", - "promotion.voucher.error.invalid_plan": "Activation code associated with an invalid plan", - "promotion.voucher.error.already_redeemed": "Activation code has already been redeemed", - "referral.code": "Share your referral code", - "referral.text": "Use my code %s and get 3 months free when you sign up!", - "renew.title_30_days": "Renew now for 3 months free!", - "renew.title_2_days": "Lantern Pro expires tomorrow.\nRenew now for 3 months free!", - "renew.title_last_day": "Lantern Pro expires today.\nDon't miss out on your Pro discount!", - "renew.title_expired": "Lantern Pro has expired", - "renew.details_30_days": "Your Lantern Pro membership is ending soon, renew now and enjoy up to three months free! This limited time offer is only valid for early renewals.", - "renew.details_2_days": "Your Lantern Pro membership is ending soon, renew now and enjoy up to three months free! This limited time offer is only valid for early renewals.", - "renew.details_last_day": "Renew now and enjoy up to three months free!\nThis is the last day to take advantage of this offer.\nLantern Pro users get faster speeds, unlimited data, better blocking resistance, three devices and no ads.", - "renew.details_expired": "Renew now for an extra 45 days free. Limited time only.\nLantern Pro users get faster speeds, unlimited data, better blocking resistance, three devices and no ads.", - "renew.plan_label": "Lantern Pro - %s", - "renew.plan_renewal_bonus_1_month": "$%d%s + 1 FREE MONTH", - "renew.plan_renewal_bonus_months": "$%d%s + %d FREE MONTHS", - "renew.plan_renewal_bonus_days": "$%d%s + %d FREE DAYS", - "renew.next": "next", - "renew.decline": "Decline Offer", - "renew.decline_question": "Are you sure you want to decline this offer?", - "renew.decline_yes": "Renew later", - "renew.decline_dismiss": "Renew now", - "renew.notification_title_30_days": "Renew Pro now for huge savings!", - "renew.notification_text_30_days": "Your Lantern Pro account expires in {{days}} days. Renew now and get up to 3 months free.", - "renew.notification_title_2_days": "Lantern Pro discount ends tomorrow!", - "renew.notification_text_2_days": "Your Pro account expires tomorrow. Don’t miss this opportunity for a huge discount.", - "renew.notification_title_last_day": "Last chance for a discount!", - "renew.notification_text_last_day": "Your Lantern pro account has expired. Renew today and get up to 3 months free.", - "replica.upload": "Upload", - "replica.relevance": "Relevance", - "replica.upload_date": "Upload Date", - "replica.gallery_view": "Gallery View", - "replica.list_view": "List View", - "replica.copy_lantern_link": "Copy Lantern Link", - "replica.delete_file": "Delete File", - "replica.docs": "Dokumentumok", - "replica.other": "Egyéb", - "replica.apps": "Apps", - "replica.images": "Images", - "replica.videos": "Videos", - "replica.next": "Next", - "replica.previous": "Previous", - "replica.select_all": "Select All", - "replica.search_replica": "Search Public Files", - "replica.no_files_found": "No Files Found", - "replica.or_content": "your own content for other people to find!", - "replica.try_again": "Try a different keyword, or", - "replica.upload_success": "Upload Success!", - "replica.cannot_preview": "No preview for this filetype", - "replica.size": "Size", - "replica.uploaded": "Uploaded", - "replica.invalid_link": "Invalid Link", - "replica.close": "Bezár", - "replica.my_files": "My Files", - "replica.filename": "File Name", - "replica.filename_required": "File Name (required)", - "replica.filetype": "Filetype", - "replica.sortby": "Sort By", - "replica.link": "Replica link", - "replica.collapse": "Collapse", - "replica.publish": "Publish", - "replica.cancel": "Mégsem", - "replica.delete": "Törlés", - "replica.failed_to_delete": "Failed to delete", - "replica.link_lookup_failure": "Failed to find link", - "replica.delete_file_confirmation_1": "Are you sure you want to delete", - "replica.delete_file_confirmation_2": "from your uploads", - "replica.share_file": "Share File", - "replica.download_and_view": "Download/View", - "replica.download": "Letöltés", - "replica.copy_link": "Copy Replica Link", - "replica.find_file": "Find file", - "replica.file_drop_prompt": "Drag file here or browse to post", - "settings.general": "General", - "settings.feedback": "Feedback", - "settings.autoLaunch": "Run Lantern on system start", - "settings.autoReport": "Securely report usage statistics to contribute to Lantern", - "settings.proxyAll": "Minden forgalom proxyzása", - "settings.proxyAllHelpTitle": "WHAT DOES \"PROXY ALL TRAFFIC\" DO?", - "settings.proxyAllHelp1": "If enabled, all traffic will be sent through Lantern (most Secure option).", - "settings.proxyAllHelp2": "If disabled, only blocked traffic will be sent through Lantern (fastest option, most common).", - "settings.show_advanced": "Show Advanced Settings", - "settings.hide_advanced": "Hide Advanced Settings", - "settings.systemProxy": "Manage system proxy", - "settings.title": "Beállítások", - "settings.http_proxy": "HTTP(S) proxy:", - "settings.socks_proxy": "SOCKS proxy:", - "settings.caution": "Caution:", - "settings.caution_text": "When you uncheck \"Manage system proxy\" your browser and applications won't be able to use Lantern automatically. If you know how to manually configure these settings refer to the information above.", - "settings.select_language": "Select Langauge", - "status.lantern": "Lantern is", - "status.click_reconnect": "Click here to reconnect", - "status.server_location": "Server Location", - "status.tooltip1": "Lantern uses smart server selection to connect you to our best data centers.", - "status.tooltip2": "Upgrade to Lantern Pro for faster speed with optimized server selection from our exclusive Lantern Pro data centers", - "status.protected_connection": "Your Connection is Protected", - "status.please_wait": "This may take a minute or two...", - "status.connecting": "Kapcsolódás...", - "status.no_internet": "Off", - "status.no_internet_connection": "No Internet connection", - "status.connected": "On", - "status.disconnected": "Off", - "status.throttled": "Speed Throttled (Data Cap)", - "status.no_system_proxy": "{{status}}, not managing system proxy", - "status.fail_to_set_system_proxy": "Failed to set Lantern as system proxy", - "status.fail_to_open_browser": "Failed to open browser window to show the Lantern user interface", - "terms_of_service.acknowledgment": "By clicking {{buttonText}}, you agree to our Terms of Service", - "verify.header": "Want to link another device to this Pro account? Enter your Device Linking Code below", - "verify.code": "Eszköz linkelő kód", - "verify.howto_1": "If you have a Lantern Pro account on another device, please enter your e-mail address here to receive a code to authorize the device", - "verify.howto_1a": "You're currently an unauthorized Pro user. Please enter your e-mail address to authorize your Pro account. This will enable you to link multiple devices.", - "verify.howto_3": "1. Open the 'Authorize Device for Pro' menu item on your unauthorized device.", - "verify.howto_4": "2. Enter the linking code obtained from step 1, and submit.", - "verify.reminder": "*Make sure you are updated to the latest version of Lantern on your unauthorized device", - "verify.submit": "Elküldés", - "verify.title": "Fiók ellenőrzés", - "welcomeToPro.continue": "Continue to Pro", - "welcomeToPro.invite": "Invite friends and you will each get 3 months free when they purchase the two-year plan, the one year plan gets you each 1 month free. Start inviting!", - "welcomeToPro.thanks": "Köszönjük, hogy megvásárolta a Lantern Pro-t!", - "welcomeToPro.title": "Welcome To Lantern Pro", - "messages.copied_to_clipboard": "Code Copied. Share it with your friends!", - "messages.datacap": "You have used your free high speed data. Upgrade to Pro for unlimited high speed data.", - "messages.fatal_error": "Sorry, we're having trouble contacting the Lantern servers. Please check your internet connection and try again.", - "messages.backend_gone": "Sorry, Lantern appears to no longer be running. Please restart Lantern and try again.", - "messages.get_help": "Segítség kérése", - "freeProCredits.title": "Ismerősök meghívása", - "freeProCredits.shareWithFriends": "Share your code with friends to earn free months!", - "freeProCredits.shareWithFriendsDesc": "When your friend purchases the two year plan you will each get 3 months free, the one year plan gets you each 1 month free.", - "cards.serverLocation.unknown": "Unknown", - "cards.serverLocation.description": "Optimized Server Location", - "cards.serverLocation.description-free": "Server Location", - "cards.serverLocation.description-upgrade": "Upgrade for Faster Servers", - "cards.serverLocation.title": "Current Location:", - "cards.serverLocation.location": "%s, %s", - "cards.serverLocation.text": "Lantern uses smart server selection to automatically find you the fastest connection possible from our data centers in Tokyo, Singapore, Hong Kong, San Francisco, New York, Amsterdam, Bangalore and more.", - "cards.serverLocation.text-free": "Lantern uses smart server selection to connect you to our best data centers.", - "cards.serverLocation.upgrade-link": "Upgrade to Lantern Pro for faster speed with optimized server selection from our exclusive Lantern Pro data centers.", - "cards.httpsUpgrades.description": "HTTPS Upgrades", - "cards.httpsUpgrades.title": "HTTPS Upgrades: %d", - "cards.httpsUpgrades.text": "Lantern automatically upgrades unsecure HTTP connections to encrypted HTTPS connections when possible to keep your information private while surfing the web.", - "cards.adsBlocked.description": "Ads Blocked", - "cards.adsBlocked.title": "Blocked Ads: %d", - "cards.adsBlocked.text": "Lantern blocks intrusive ads to speed up web page loading time, save bandwidth, and to give you a smoother browsing experience.", - "cards.dataUsage.description": "Data Usage", - "cards.dataUsage.upgrade": "Upgrade now", - "cards.dataUsage.mb-used": "You have used %d/%dMB of your monthly high speed data.", - "cards.dataUsage.upgrade-link": "Upgrade now for unlimited high speed service!", - "cards.subscription.description": "Pro Subscription", - "cards.subscription.renew": "Renew", - "cards.subscription.months": "You have %d months of Lantern Pro left in your subscription.", - "cards.subscription.days": "You have %d days of Lantern Pro left in your subscription.", - "cards.subscription.unit.months": "MO", - "cards.subscription.unit.days": "DAYS", - "cards.subscription.renew-link": "Renew your subscription to add more time." -} \ No newline at end of file diff --git a/locale/translation/id.json b/locale/translation/id.json deleted file mode 100644 index 12e8377d1..000000000 --- a/locale/translation/id.json +++ /dev/null @@ -1,462 +0,0 @@ -{ - "TRAY_LANTERN": "Lantern", - "TRAY_STATUS": "Status: %v", - "TRAY_CONNECT": "Sambungkan", - "TRAY_DISCONNECT": "Putuskan", - "TRAY_SHOW_LANTERN": "Tampilkan Lantern", - "TRAY_UPGRADE_TO_PRO": "Upgrade ke Pro", - "TRAY_QUIT": "Keluar Lantern", - "BACKEND_DATA_TITLE": "Tidak ada lagi data Lantern berkecepatan tinggi", - "BACKEND_DATA_MESSAGE": "Silakan upgrade ke Pro untuk terus menggunakan Lantern dengan kecepatan penuh!", - "BACKEND_DATA_PERCENT_TITLE": "Tercapai %s dari data Lantern anda", - "BACKEND_DATA_PERCENT_MESSAGE": "Anda sudah menggunakan %s dari data Lantern berkecepatan tinggi untuk satu bulan. Tingkatkan sekarang!", - "BACKEND_CLICK_LABEL": "Buka", - "BACKEND_CLICK_LABEL_OPEN": "Buka", - "BACKEND_CLICK_LABEL_HELP": "Help", - "BACKEND_CLICK_LABEL_GOT_IT": "Mengerti", - "BACKEND_AUTOUPDATED_TITLE": "Update Lantern ke versi 1%s", - "BACKEND_AUTOUPDATED_MESSAGE": "Lantern %s telah didownload. SIlahkan restart Lantern untuk menggunakan", - "BACKEND_MITM_INSTALL_CERT": "Lantern ingin menginstal sebuah custom certificate untuk unblock trafik Anda", - "BACKEND_MITM_INSTALL_CERT_WINDOWS_BODY": "Harap Izinkan %v untuk membuat perubahan pada sistem", - "BACKEND_ALERT_TITLE": "Critical alert needs your attention", - "about.content": "Lantern adalah aplikasi yang memberikan akses cepat, handal dan aman pada Internet terbuka.", - "about.faq": "Baca FAQ Lantern", - "about.open": "Buka internet untuk semua orang", - "about.questions": "Pertanyaan?", - "about.title": "Tentang", - "account.cancel": "Batalkan akun Pro", - "account.free.cap": "Tersisa {{mb}} MB dari data gratis bulanan anda", - "account.free.cap.upgrade": "Tingkatkan ke Pro untuk data unlimited berkecepatan tinggi", - "account.freelink.validFor": "Berlaku untuk%s", - "account.freelink.desc": "Untuk menghubungkan perangkat ini ke akun Pro anda:", - "account.freelink.step1": "1. Buka menu 'Tambahkan Perangkat' pada perangkat Pro anda.", - "account.freelink.step2": "2. Masukkan kode penghubungan perangkat, dan submit.", - "account.freelink.reminder": "* Pastikan anda sudah mengupdate versi terbaru Lantern pada perangkat Pro anda", - "account.freelink.errorTitle": "Gagal menghubungkan", - "account.freelink.errorText": "Apa anda yakin sudah memasukkan kode pada perangkat Pro anda?", - "account.freelink.headerDesc": "Hubungkan perangkat ini ke akun Pro anda", - "account.freelink.title": "Kode Penghubung Perangkat", - "account.pro.charge": "Akun anda akan dikenai biaya secara otomatis untuk satu tahun Lantern Pro di akhir siklus penagihan anda.", - "account.upgrade": "Tingkatkan ke Pro", - "account.pro.email": "Alamat Email:", - "account.pro.expired": "Akun Pro anda sudah kedaluwarsa. Perbarui sekarang untuk data bulanan unlimited.", - "account.pro.expiry": "Akun Pro anda berakhir dalam %s hari pada %s", - "account.pro.bonusMonths": "Ini termasuk {{bonusMonths}} bonus bulanan anda!", - "account.pro.thisdevice": "(Perangkat ini)", - "account.pro.logout": "KELUAR", - "account.pro.removedevice": "HAPUS", - "account.pro.devices": "Perangkat diizinkan untuk menggunakan akun Pro anda:", - "account.pro.device.confirm.title": "Batalkan Perizinan Perangkat", - "account.pro.device.confirm": "Apa anda yakin ingin menghapus '{{device}}' dari akun Lantern Pro anda?", - "account.pro.device.one.title": "Hanya Satu Perangkat", - "account.pro.device.one": "Maaf, tapi anda tidak bisa menghapus perangkat resmi terakhir anda.", - "account.pro.linkingcode": "Kode Penautan Perangkat:", - "account.pro.renew": "PERBARUI AKUN PRO", - "account.prolink.errorTitle": "Gagal Menghubungkan", - "account.prolink.errorText": "Apa anda yakin telah menyalin kode dengan benar dari perangkat lain anda?", - "account.prolink.successTitle": "Perangkat Terhubung", - "account.prolink.successText": "Anda berhasil menghubungkan perangkat anda! Harap tunggu agar perangkat anda yang lain menjadi pro.", - "adyen.paymentMethods.title": "Metode Pembayaran", - "adyen.paymentMethods.storedMethods": "Metode pembayaran Anda", - "adyen.paymentMethods.otherMethods": "Pilih metode lain", - "adyen.paymentMethods.moreMethodsButton": "Metode pembayaran lainnya", - "adyen.payButton": "Bayar", - "adyen.payButton.formatted": "Bayar %@", - "adyen.cancelButton": "Batalkan", - "adyen.dismissButton": "OK", - "adyen.storeDetails": "Simpan untuk pembayaran berikutnya", - "adyen.payment.redirecting": "Anda akan diarahkan", - "adyen.payment.processing": "Pembayaran Anda sedang diproses", - "adyen.creditCard.title": "Detail Kartu", - "adyen.creditCard.holderName": "Nama pemegang", - "adyen.creditCard.holderName.placeholder": "J. Smith", - "adyen.creditCard.numberField.title": "Nomor Kartu", - "adyen.creditCard.numberField.placeholder": "1234 5678 9012 3456", - "adyen.creditCard.numberField.invalid": "Nomor kartu salah", - "adyen.creditCard.expiryDateField.title": "Tanggal jatuh tempo", - "adyen.creditCard.expiryDateField.placeholder": "MM/YY", - "adyen.creditCard.expiryDateField.invalid": "Tanggal jatuh tempo salah", - "adyen.creditCard.expiryDateField.month": "Bulan", - "adyen.creditCard.expiryDateField.month.placeholder": "MM", - "adyen.creditCard.expiryDateField.year.placeholder": "YY", - "adyen.creditCard.expiryDateField.year": "Tahun", - "adyen.creditCard.cvcField.title": "CVC / CVV", - "adyen.creditCard.cvcField.placeholder": "123", - "adyen.creditCard.installmentsField": "Jumlah angsuran", - "adyen.creditCard.storeDetailsButton": "Ingat kartu ini untuk pembayaran berikutnya", - "adyen.creditCard.oneClickVerification.title": "Verifikasi kartu Anda", - "adyen.creditCard.oneClickVerification.message": "Silahkan maskukkan kode CVC untuk %@", - "adyen.creditCard.oneClickVerification.invalidInput.title": "CVC salah", - "adyen.creditCard.oneClickVerification.invalidInput.message": "Silahkan masukkan CVC yang benar untuk melanjutkan", - "adyen.sepaDirectDebit.ibanField.title": "Nomor Rekening (IBAN)", - "adyen.sepaDirectDebit.ibanField.placeholder": "NL53 ABNA 1925 1294 122", - "adyen.sepaDirectDebit.ibanField.invalid": "Nomor rekening salah", - "adyen.sepaDirectDebit.nameField.title": "Nama Pemegang", - "adyen.sepaDirectDebit.nameField.placeholder": "J. Smith", - "adyen.sepaDirectDebit.consentButton": "Saya setuju jumlah dibawah ini untuk di debit dari rekening bank saya", - "adyen.sepa.ownerName": "Nama Pemegang", - "adyen.sepa.ibanNumber": "Nomor Rekening (IBAN)", - "adyen.giropay.searchField.placeholder": "Namabank / BIC / Bankleitzahl", - "adyen.giropay.minimumLength": "Min. 3 karakter", - "adyen.giropay.noResults": "Hasil pencarian tidak ada", - "adyen.error.title": "Error", - "adyen.error.subtitle.redirect": "Pengarahan gagal", - "adyen.error.subtitle.payment": "Pembayaran gagal", - "adyen.error.subtitle.refused": "Pembayaran ditolak", - "adyen.error.message.unknown": "Error terjadi", - "adyen.error.message.cannotConnectToInternet": "Gagal untuk menghubungkan ke internet : Silahkan periksa koneksi internet anda", - "adyen.error.message.cannotConnectToHost": "Gagal menyambungkan ke server pembayaran kami", - "adyen.error.retryButton": "Coba lagi", - "adyen.idealIssuer.selectField.title": "Bank", - "adyen.idealIssuer.selectField.placeholder": "Pilih bank Anda", - "adyen.creditCard.success": "Pembayaran Berhasil", - "adyen.oneClick.confirmationAlert.title": "Konfirmasi Pembayaran %@", - "adyen.redirect.cannotOpenApp.title": "Tidak dapat membuka aplikasi", - "adyen.redirect.cannotOpenApp.appNotInstalledMessage": "Aplikasi ini tidak dapat dibuka karena tidak terinstal pada perangkat", - "adyen.holderName": "Nama pemegang", - "adyen.countryCode": "Kode Negara", - "adyen.telephone.number": "Nomor telepon", - "authorize.title": "Izinkan Perangkat untuk Pro", - "authorize.step1.have_pro_device": "Saya mempunyai perangkat Lantern Pro lainnya", - "authorize.step1.link": "Hubungkan perangkat", - "authorize.step1.or": "atau", - "authorize.step1.recover": "Saya membutuhkan pemulihan akun Lantern Pro", - "authorize.step1.start": "Mulai pemulihan", - "authorize.step1.no_mail": "Tidak ingat alamat email anda?", - "authorize.step2b.enter_code": "Masukkan Kode Pemulihan Akun Anda", - "authorize.step2b.code": "Kode Pemulihan Akun", - "authorize.step2b.instruction": "Email dengan kode pemulihan telah dikirim ke {{email}}. Email ini mungkin memakan waktu beberapa jam untuk sampai. Silakan cek folder spam anda jika anda tidak menemukannya.", - "authorize.step2b.no_mail": "Tidak menerima email", - "authorize.step3.recovery": "Pemulihan Akun", - "authorize.step3.no_email": "Ups! Kami mengalami masalah dalam menemukan alamat email itu. Berikan informasi lebih lanjut di bawah ini untuk membantu kami menemukan akun anda.", - "authorize.step3.no_code_received": "Mengalami masalah saat menerima email pemulihan? Masukkan informasi di bawah ini dan kami akan menghubungi anda dalam waktu 48 jam.", - "authorize.step3.your_email": "Email anda", - "authorize.step3.payment_method": "Metode Pembayaran", - "authorize.step3.payment_method_hint": "Pilih metode pembayaran yang anda gunakan untuk mendapatkan Pro", - "authorize.step3.credit_card": "Kartu Kredit", - "authorize.step3.alipay": "AliPay", - "authorize.step3.android_pay": "Android Pay", - "authorize.step3.by_referral": "Dapatkan akun Pro dengan mengajak teman", - "authorize.step3.payment_account": "Akun Pembayaran", - "authorize.step3.payment_account_hint": "Masukkan informasi akun Alipay anda", - "authorize.step3.referral_code": "Kode Referal Anda", - "authorize.step3.purchase_date": "Tanggal Pembayaran", - "authorize.step3.note": "Harap catat informasi lain yang dapat membantu kami menemukan akun anda.", - "authorize.step4.title": "Pemulihan akun sedang dalam proses", - "authorize.step4.text1": "Terima kasih! Kami telah menerima permintaan pemulihan akun anda.", - "authorize.step4.text2": "Izinkan 48 jam untuk mengambil informasi akun Pro anda.", - "authorize.step4.text3": "Kami akan mengirimkan informasi ke alamat email yang dimasukkan pada layar sebelumnya.", - "authorized.continue": "Lanjutkan ke Pro", - "authorized.text": "Perangkat ini sekarang diizinkan untuk menggunakan akun Lantern Pro anda!", - "authorized.title": "Perangkat yang diizinkan", - "button.renew": "Perbarui", - "button.upgrade": "Tingkatkan", - "button.upgrade_now": "Tingkatkan Sekarang", - "button.upgrade_to_lantern_pro": "Upgrade ke Lantern Pro", - "button.copy_your_code": "Salin kode anda", - "button.try_again": "Coba lagi", - "button.continue": "Lanjutkan", - "bullet.click_button": "Klik tombol di bawah ini", - "bullet.paste_code": "Tempel kode & unduh tautan dalam pesan", - "bullet.send_to_friends": "Kirim ke teman anda", - "cancel": "Batalkan", - "confirm": "Konfirmasi", - "google_search": "Pencarian Google", - "link_device": "Sudah punya akun Pro? Sambungkan perangkat", - "err.unknown_error": "Kesalahan yang tidak diketahui", - "err.internal_error": "Kesalahan internal", - "err.bad_input": "Input salah", - "err.not_authorized": "Tidak diizinkan", - "err.user_exists": "Pengguna sudah ada", - "err.no_such_user": "Tidak ada pengguna", - "err.user_already_verified": "Pengguna sudah diverifikasi", - "err.invalid_user_verification": "Verifikasi pengguna tidak valid", - "err.user_unverified": "Pengguna belum diverifikasi", - "err.operation_temporarily_unavailable": "Fungsi sementara tidak tersedia", - "err.wrong_or_inexistent_plan": "Perencanaan salah atau tidak ada", - "err.user_has_active_subscription": "Pengguna memiliki langganan aktif", - "err.payment_error": "Kesalahan pembayaran", - "err.no_codes_left": "Tidak ada kode referal yang tersisa", - "err.wrong_code": "Kode referal salah", - "err.redeeming_own_code_not_allowed": "Penarikan kode untuk diri sendiri tidak diperbolehkan", - "err.wrong_charge_id": "Salah ID tagihan", - "footer.reseller": "Hasilkan uang! Jadilah reseller Lantern Pro. Klik disini", - "footer.reseller.email_subject": "Ceritakan tentang Program Reseller Lantern!", - "footer.reseller.email_body": "Saat anda menjadi reseller Lantern,anda akan memiliki kesempatan untuk menghasilkan 25% penjualan setiap langganan Lantern Pro. Ceritakan sedikit tentang mengapa anda ingin menjadi reseller di bawah ini.", - "feature.faster_speed": "Kecepatan Lebih tinggi", - "feature.faster": "Faster data centers", - "feature.unlimited": "Data unlimited", - "feature.nologs": "No Logs", - "feature.devices": "Connect up to 3 devices", - "feature.noads": "Tanpa iklan", - "feature.antiblock": "Menahan pemblokiran", - "feature.data_center": "Better Data Centers", - "feature.free_yinbi": "Free Yinbi Cryptocurrency!", - "free.title": "Lantern Pro", - "free.desc": "Lebih cepat. Lebih kuat. Tak terbatas. Aman.", - "free.link_account": "Sudah punya akun Pro? Tautkan akun anda", - "home.get_lantern_pro": "Dapatkan Lantern Pro", - "input.email": "Email", - "input.your_email": "Alamat email anda", - "input.confirm_email": "Konfirmasi alamat email", - "input.enter_email": "Masukkan email anda", - "input.use_valid_email": "Tulis alamat email yang valid", - "input.email_not_match": "Kolom email tidak sama", - "issue.your_email": "Email anda", - "issue.attach_image_failure": "Cannot attach image", - "issue.try_again": "Silahkan coba lagi", - "issue.select_issue": "Silakan Pilih Masalah", - "issue.selected_issue": "Select Issue", - "issue.select_issue_hint": "Pilih masalah dari menu tarik-turun", - "issue.note": "Describe your Issue", - "issue.description": "Issue Description", - "issue.error": "Kesalahan pelaporan masalah", - "issue.submit": "Send Report", - "issue.report_screenshot": "Drag image or click to upload screenshot", - "issue.reported": "Thank you for reporting your issue, we will get back to you via Email as soon as we are able", - "issue.report_sent": "Report Sent", - "issue.type.no_access": "Tidak dapat mengakses situs yang diblokir", - "issue.type.payment_fail": "Tidak dapat menyelesaikan pembayaran", - "issue.type.cannot_login": "Tidak bisa masuk", - "issue.type.always_spinning": "Memuat terus menerus", - "issue.type.slow": "Lambat", - "issue.type.cannot_link_device": "Tidak dapat menautkan perangkat", - "issue.type.crashes": "Lantern crash", - "issue.type.other": "Lainnya", - "languages.title": "Bahasa", - "mobile.link": "Gunakan tautan untuk mendownload Lantern di perangkat Android anda:", - "mobile.title": "Dapatkan Versi Android", - "nav.about": "Tentang", - "nav.account": "Manajemen akun", - "nav.authorize": "Tambahkan Perangkat", - "nav.authorized": "Perangkat Sah", - "nav.unauthorized_link": "Sahkan Perangkat untuk Pro", - "nav.language": "Bahasa", - "nav.lantern": "Lantern", - "nav.mobile": "Dapatkan Versi Mobile", - "nav.report_issue": "Laporkan Masalah", - "nav.settings": "Pengaturan", - "nav.verify": "Verifikasi akun", - "nav.yinbi": "Yinbi Redemption", - "nav.home": "Home", - "nav.discover": "Discover", - "nav.wallet": "Wallet", - "nav.yinbi_wallet": "Yinbi Wallet", - "notification.retry": "Coba lagi", - "notifications.whatisnew": "What's New?", - "payment.close": "Tutup", - "payment.wait_for_pro": "Terima kasih atas pembelian Lantern Pro! Harap tunggu agar Lantern secara otomatis menjadi Pro.", - "payment_methods.select_name": "Pilih metode pembayaran", - "payment_methods.alipay": "Kartu Kredit/Alipay", - "payment_methods.shetab": "Fast World Pay (Shetab)", - "payment_methods.shetab.details.header": "Untuk membeli Lantern Pro", - "payment_methods.shetab.details.body": "When you click continue to purchase you will be redirected to an external site to complete payment and collect your activation code.", - "payment_methods.shetab.details.tutorial_header": "Tutorial Farsi", - "payment_methods.shetab.details.purchase_voucher_button": "Continue To Purchase", - "payment_methods.shetab.details.input_code_button": "Input Activation Code", - "plan.step1": "Step 1", - "plan.apply": "Apply", - "plan.step2": "Step 2", - "plan.step3": "Step 3", - "plan.choose_plan": "Choose Plan", - "plan.enter_email": "Enter Email", - "plan.bestValue": "Kesepakatan terbaik!", - "plan.per_month": "per month", - "plan.yinbi_2x": "+ 2x Yinbi!", - "plan.oneYear": "1 tahun", - "plan.add_referral": "Add Referral Code", - "plan.years": "{{years}} year plan", - "plan.desc": "{{price}} billed one time", - "plan.price.cny": "¥%.02f", - "plan.price.usd": "$%.02f", - "plan.currency.cny": "(RMB)", - "plan.currency.usd": "(USD)", - "plan.time_unit": "/YR", - "plan.select": "Pilih", - "plans.title": "Rencana Lantern Pro", - "plans.lantern_pro": "Lantern Pro", - "plans.platforms": "Untuk Windows, Android, Mac, Ubuntu.", - "plans.from_reseller": "Have a Lantern Pro activation code? Click here", - "plans.with_voucher_code": "Have an activation code? Click here.", - "pro.apply": "Kredit anda akan diterapkan ke akun anda dalam siklus penagihan berikutnya.", - "pro.title": "Undang teman, dapatkan akun Pro gratis", - "pro.subtitle": "Ketika teman anda membeli rencana dua tahun, anda berdua akan mendapatkan 3 bulan tambahan Pro, rencana satu tahun akan memberi anda masing-masing 1 bulan gratis.", - "pro.share": "Bagikan kode dengan teman anda untuk mulai mendapatkan lebih banyak kredit!", - "promotion.title": "Checkout Lantern Pro ", - "promotion.title.activation": "Aktivasi Lantern Pro", - "promotion.enter_and_confirm_email": "Silahkan masukkan dan konfirmasikan alamat email anda", - "promotion.code.hint": "Masukkan kode referral teman anda (opsional)", - "promotion.code.label": "Kode Referal", - "promotion.payment": "Lanjutkan ke pembayaran", - "promotion.loading": "Memuat...", - "promotion.howto_1y": "Jika seorang teman membagikan kode referal kepada anda, masukkan kode tersebut untuk menerima satu bulan Lantern Pro secara gratis setelah checkout.", - "promotion.howto_2y": "Jika seorang teman membagikan kode referal, masukkan kode tersebut untuk menerima tiga bulan Lantern Pro secara gratis setelah checkout.", - "promotion.pay": "Bayar {{amount}}", - "promotion.select": "Pilih", - "promotion.promotion_applied_1y": "+1 bonus months", - "promotion.promotion_applied_2y": "+3 bonus months", - "promotion.too_many_referrals": "Kode referal ini telah ditambahkan. Check out sekarang untuk menerima bulan tambahan anda.", - "promotion.activation.enter_and_confirm_email": "Harap masukkan dan konfirmasikan alamat email anda untuk mendaftarkan akun Lantern Pro.", - "promotion.activation.label": "XXXXX-XXXXX-XXXXX-XXXXX-XXXXX", - "promotion.activation.hint": "Masukkan kode aktivasi anda", - "promotion.activation.howto": "Masukkan kode aktivasi Lantern Pro 25 karakter di atas. Jika anda tidak memiliki kode, silakan membeli Pro di layar sebelumnya atau mencari reseller Lantern Pro secara online.", - "promotion.activation.continue": "Lanjutkan ke Pro", - "promotion.voucher.hint": "Activation Code", - "promotion.voucher.howto": "Please enter your 12 character Fast World Pay activation code above", - "promotion.voucher.label": "XXXXXXXXXXXX", - "promotion.voucher.error.default": "Error redeeming your activation code. Please contact contact@fastworldpay.com for assistance.", - "promotion.voucher.error.invalid_code": "Invalid activation code", - "promotion.voucher.error.invalid_plan": "Activation code associated with an invalid plan", - "promotion.voucher.error.already_redeemed": "Activation code has already been redeemed", - "referral.code": "Bagikan kode referal", - "referral.text": "Gunakan kode saya %s dan dapatkan 3 bulan gratis saat anda mendaftar!", - "renew.title_30_days": "Perbarui sekarang selama 3 bulan gratis!", - "renew.title_2_days": "Lantern Pro akan berakhir besok.\nPerbarui sekarang untuk 3 bulan gratis!", - "renew.title_last_day": "Lantern Pro akan berakhir hari ini.\nJangan lewatkan diskon Pro anda!", - "renew.title_expired": "Lantern Pro telah berakhir", - "renew.details_30_days": "Keanggotaan Lantern Pro anda akan segera berakhir, perpanjang sekarang dan nikmati hingga tiga bulan gratis! Penawaran berbatas waktu ini hanya berlaku untuk pembaruan awal.", - "renew.details_2_days": "Keanggotaan Lantern Pro anda akan segera berakhir, perpanjang sekarang dan nikmati hingga tiga bulan gratis! Penawaran berbatas waktu ini hanya berlaku untuk pembaruan awal.", - "renew.details_last_day": "Perbarui sekarang dan nikmati hingga tiga bulan gratis!\nIni adalah hari terakhir untuk memanfaatkan penawaran ini.\nPengguna Lantern Pro mendapatkan kecepatan lebih cepat, data unlimited, hambatan pemblokiran yang lebih baik, tiga perangkat dan tidak ada iklan.", - "renew.details_expired": "Perbarui sekarang untuk tambahan 45 hari gratis. Waktu terbatas.\nPengguna Lantern Pro mendapatkan kecepatan lebih cepat, data unlimited, hambatan pemblokiran yang lebih baik, tiga perangkat dan tidak ada iklan.", - "renew.plan_label": "Lantern Pro - %s", - "renew.plan_renewal_bonus_1_month": "$%d%s + 1 BULAN GRATIS", - "renew.plan_renewal_bonus_months": "$%d%s + %d BULANAN GRATIS", - "renew.plan_renewal_bonus_days": "$%d%s + %d HARIAN GRATIS", - "renew.next": "berikutnya", - "renew.decline": "Tolak Penawaran ", - "renew.decline_question": "Yakin ingin menolak penawaran ini?", - "renew.decline_yes": "Perbarui nanti", - "renew.decline_dismiss": "Perbarui sekarang", - "renew.notification_title_30_days": "Perbarui akun Pro sekarang untuk penghematan besar!", - "renew.notification_text_30_days": "Akun Lantern Pro anda akan berakhir dalam {{days}} hari. Perbarui sekarang dan dapatkan gratis 3 bulan.", - "renew.notification_title_2_days": "Diskon Lantern Pro akan berakhir besok!", - "renew.notification_text_2_days": "Akun Pro anda akan berakhir besok. Jangan lewatkan kesempatan ini untuk diskon besar.", - "renew.notification_title_last_day": "Kesempatan terakhir untuk diskon!", - "renew.notification_text_last_day": "Akun Lantern pro anda telah kedaluwarsa. Perbarui hari ini dan dapatkan gratis 3 bulan.", - "replica.upload": "Upload", - "replica.relevance": "Relevance", - "replica.upload_date": "Upload Date", - "replica.gallery_view": "Gallery View", - "replica.list_view": "List View", - "replica.copy_lantern_link": "Copy Lantern Link", - "replica.delete_file": "Delete File", - "replica.docs": "Docs", - "replica.other": "Lainnya", - "replica.apps": "Apps", - "replica.images": "Images", - "replica.videos": "Videos", - "replica.next": "Selanjutnya", - "replica.previous": "Previous", - "replica.select_all": "Select All", - "replica.search_replica": "Search Public Files", - "replica.no_files_found": "No Files Found", - "replica.or_content": "your own content for other people to find!", - "replica.try_again": "Try a different keyword, or", - "replica.upload_success": "Upload Success!", - "replica.cannot_preview": "No preview for this filetype", - "replica.size": "Size", - "replica.uploaded": "Uploaded", - "replica.invalid_link": "Invalid Link", - "replica.close": "Tutup", - "replica.my_files": "My Files", - "replica.filename": "File Name", - "replica.filename_required": "File Name (required)", - "replica.filetype": "Filetype", - "replica.sortby": "Sort By", - "replica.link": "Replica link", - "replica.collapse": "Collapse", - "replica.publish": "Publish", - "replica.cancel": "Batalkan", - "replica.delete": "Delete", - "replica.failed_to_delete": "Failed to delete", - "replica.link_lookup_failure": "Failed to find link", - "replica.delete_file_confirmation_1": "Are you sure you want to delete", - "replica.delete_file_confirmation_2": "from your uploads", - "replica.share_file": "Share File", - "replica.download_and_view": "Download/View", - "replica.download": "Download", - "replica.copy_link": "Copy Replica Link", - "replica.find_file": "Find file", - "replica.file_drop_prompt": "Drag file here or browse to post", - "settings.general": "General", - "settings.feedback": "Feedback", - "settings.autoLaunch": "Jalankan Lantern pada permulaan sistem", - "settings.autoReport": "Laporkan statistik penggunaan dengan aman untuk berkontribusi pada Lantern", - "settings.proxyAll": "Proxy semua traffic", - "settings.proxyAllHelpTitle": "APAKAH \"PROXY SEMUA TRAFFIC\" ?", - "settings.proxyAllHelp1": "Jika diaktifkan, semua lalu lintas akan dikirim melalui Lantern (opsi paling aman).", - "settings.proxyAllHelp2": "Jika dinonaktifkan, hanya lalu lintas yang diblokir akan dikirim melalui Lantern (opsi tercepat, paling umum).", - "settings.show_advanced": "Show Advanced Settings", - "settings.hide_advanced": "Hide Advanced Settings", - "settings.systemProxy": "Kelola proxy sistem", - "settings.title": "Pengaturan", - "settings.http_proxy": "HTTP(S) proxy:", - "settings.socks_proxy": "SOCKS proxy:", - "settings.caution": "Peringatan:", - "settings.caution_text": "Jika anda tidak mencentang \"Kelola sistem proxy \", browser dan aplikasi anda tidak akan dapat menggunakan Lantern secara otomatis. Jika anda tahu cara mengkonfigurasi secara manual pengaturan ini, lihat informasi di atas.", - "settings.select_language": "Select Langauge", - "status.lantern": "Lantern is", - "status.click_reconnect": "Click here to reconnect", - "status.server_location": "Lokasi server", - "status.tooltip1": "Lantern menggunakan pemilihan server cerdas untuk menghubungkan anda ke pusat data terbaik kami.", - "status.tooltip2": "Upgrade to Lantern Pro for faster speed with optimized server selection from our exclusive Lantern Pro data centers", - "status.protected_connection": "Your Connection is Protected", - "status.please_wait": "This may take a minute or two...", - "status.connecting": "Menghubungkan...", - "status.no_internet": "Off", - "status.no_internet_connection": "No Internet connection", - "status.connected": "On", - "status.disconnected": "Off", - "status.throttled": "Speed Throttled (Data Cap)", - "status.no_system_proxy": "{{status}}, not managing system proxy", - "status.fail_to_set_system_proxy": "Failed to set Lantern as system proxy", - "status.fail_to_open_browser": "Failed to open browser window to show the Lantern user interface", - "terms_of_service.acknowledgment": "By clicking {{buttonText}}, you agree to our Terms of Service", - "verify.header": "Ingin menautkan perangkat lain ke akun Pro ini? Masukkan kode penautan perangkat anda di bawah ini", - "verify.code": "Kode Penautan Perangkat", - "verify.howto_1": "Jika anda memiliki akun Lantern Pro di perangkat lain, masukkan alamat e-mail anda di sini untuk menerima kode untuk memberi otorisasi pada perangkat", - "verify.howto_1a": "Saat ini anda adalah pengguna Pro yang tidak sah. Harap masukkan alamat e-mail anda untuk memberi kuasa pada akun Pro anda. Ini akan memungkinkan anda menghubungkan ke beberapa perangkat.", - "verify.howto_3": "1. Buka item menu 'Otorisasi Perangkat untuk akun Pro' pada perangkat yang tidak diotorisasi.", - "verify.howto_4": "2. Masukkan kode penautan yang diperoleh dari langkah 1, dan kirimkan.", - "verify.reminder": "* Pastikan anda memperbarui versi terbaru Lantern pada perangkat tidak sah", - "verify.submit": "Kirimkan", - "verify.title": "Verifikasi akun", - "welcomeToPro.continue": "Lanjutkan ke Pro", - "welcomeToPro.invite": "Undang teman dan masing-masing dari anda akan mendapatkan 3 bulan gratis saat mereka membeli rencana dua tahun tersebut, rencana satu tahun akan memberi masing-masing dari anda 1 bulan gratis. Mulai mengundang!", - "welcomeToPro.thanks": "Terima kasih atas pembelian Lantern Pro!", - "welcomeToPro.title": "Selamat Datang di Lantern Pro", - "messages.copied_to_clipboard": "Kode disalin. Bagikan dengan teman anda!", - "messages.datacap": "Anda menggunakan data gratis. Upgrade ke Pro untuk data berkecepatan tinggi unlimited.", - "messages.fatal_error": "Maaf, kami mengalami masalah saat menghubungi server Lantern. Silakan periksa koneksi internet anda dan coba lagi.", - "messages.backend_gone": "Maaf, nampaknya Lantern tidak bisa berjalan lagi. Silakan restart Lantern dan coba lagi.", - "messages.get_help": "Get Help", - "freeProCredits.title": "Undang teman", - "freeProCredits.shareWithFriends": "Bagikan kode anda dengan teman untuk mendapatkan bulan gratis!", - "freeProCredits.shareWithFriendsDesc": "Ketika teman anda membeli rencana dua tahun, masing-masing dari anda akan mendapatkan 3 bulan gratis, untuk rencana satu tahun, masing-masing dari anda mendapat 1 bulan gratis.", - "cards.serverLocation.unknown": "Tidak diketahui", - "cards.serverLocation.description": "Lokasi Server yang Dioptimalkan", - "cards.serverLocation.description-free": "Lokasi server", - "cards.serverLocation.description-upgrade": "Upgrade untuk Server yang Lebih Cepat", - "cards.serverLocation.title": "Lokasi saat ini:", - "cards.serverLocation.location": "%s, %s", - "cards.serverLocation.text": "Lantern menggunakan seleksi server cerdas untuk secara otomatis menemukan koneksi tercepat dari pusat data kami di Tokyo, Singapura, Hong Kong, San Francisco, New York, Amsterdam, Bangalore dan masih banyak lagi.", - "cards.serverLocation.text-free": "Lantern menggunakan pemilihan server cerdas untuk menghubungkan anda ke pusat data terbaik kami.", - "cards.serverLocation.upgrade-link": "Upgrade ke Lantern Pro untuk kecepatan lebih cepat dengan pemilihan server yang optimal dari pusat data Lantern Pro eksklusif kami.", - "cards.httpsUpgrades.description": "HTTPS Upgrades", - "cards.httpsUpgrades.title": "HTTPS Upgrades: %d", - "cards.httpsUpgrades.text": "Lantern secara otomatis meningkatkan koneksi HTTP yang tidak aman ke koneksi HTTPS terenkripsi bila memungkinkan untuk menyimpan informasi pribadi anda saat berselancar di web.", - "cards.adsBlocked.description": "Iklan Diblokir", - "cards.adsBlocked.title": "Iklan yang Diblokir: %d", - "cards.adsBlocked.text": "Lantern memblokir iklan yang mengganggu untuk mempercepat waktu pemuatan halaman web, menghemat bandwidth, dan memberi anda pengalaman browsing yang lebih mulus.", - "cards.dataUsage.description": "Pemakaian data", - "cards.dataUsage.upgrade": "Tingkatkan sekarang", - "cards.dataUsage.mb-used": "Anda telah menggunakan %d/%d MB dari data kecepatan tinggi bulanan anda.", - "cards.dataUsage.upgrade-link": "Upgrade sekarang untuk layanan kecepatan tinggi tak terbatas!", - "cards.subscription.description": "Berlangganan Pro", - "cards.subscription.renew": "Perbarui", - "cards.subscription.months": "Anda memiliki %d bulan dari Lantern Pro yang tersisa dalam langganan anda.", - "cards.subscription.days": "Anda memiliki %d hari dari Lantern Pro yang tersisa dalam langganan anda.", - "cards.subscription.unit.months": "BLN", - "cards.subscription.unit.days": "HARI", - "cards.subscription.renew-link": "Perbarui langganan anda untuk menambahkan lebih banyak waktu." -} \ No newline at end of file diff --git a/locale/translation/it.json b/locale/translation/it.json deleted file mode 100644 index 0e8c0973f..000000000 --- a/locale/translation/it.json +++ /dev/null @@ -1,462 +0,0 @@ -{ - "TRAY_LANTERN": "Lantern", - "TRAY_STATUS": "Stato: %v", - "TRAY_CONNECT": "Connetti", - "TRAY_DISCONNECT": "Disconnetti", - "TRAY_SHOW_LANTERN": "Mostra Lantern", - "TRAY_UPGRADE_TO_PRO": "Passa alla versione Professional", - "TRAY_QUIT": "Chiudi Lantern", - "BACKEND_DATA_TITLE": "No more high speed Lantern data", - "BACKEND_DATA_MESSAGE": "Please upgrade to Pro to keep using Lantern at full speed!", - "BACKEND_DATA_PERCENT_TITLE": "Reached %s of your Lantern data", - "BACKEND_DATA_PERCENT_MESSAGE": "You have used %s of your Lantern high speed data for the month. Upgrade now!", - "BACKEND_CLICK_LABEL": "Apri", - "BACKEND_CLICK_LABEL_OPEN": "Apri", - "BACKEND_CLICK_LABEL_HELP": "Aiuto", - "BACKEND_CLICK_LABEL_GOT_IT": "Got it", - "BACKEND_AUTOUPDATED_TITLE": "Aggiorna Lanter alla versione %s", - "BACKEND_AUTOUPDATED_MESSAGE": "Lantern %s è stato scaricato. Riavvialo per cortesia.", - "BACKEND_MITM_INSTALL_CERT": "Lantern wants to install a custom certificate in order to unblock your traffic", - "BACKEND_MITM_INSTALL_CERT_WINDOWS_BODY": "Please allow %v to make changes to your system", - "BACKEND_ALERT_TITLE": "Critical alert needs your attention", - "about.content": "Lantern is an application that delivers fast, reliable and secure access to the open Internet.", - "about.faq": "FAQ di Lantern", - "about.open": "Internet libero per tutti.", - "about.questions": "Domande?", - "about.title": "About", - "account.cancel": "Annulla account pro", - "account.free.cap": "{{mb}} MB remaining of your free monthly data", - "account.free.cap.upgrade": "Upgrade to Pro for unlimited high speed data", - "account.freelink.validFor": "valido per %s", - "account.freelink.desc": "To link this device to your Pro account:", - "account.freelink.step1": "1. Open the 'Add Device' menu item on your Pro device.", - "account.freelink.step2": "2. Enter the device linking code, and submit.", - "account.freelink.reminder": "* Make sure you're updated to the latest version of Lantern on your Pro device", - "account.freelink.errorTitle": "Error Linking", - "account.freelink.errorText": "Are you sure you entered the code on your Pro device?", - "account.freelink.headerDesc": "Link this device to your Pro account", - "account.freelink.title": "Codice connessione dispositivo", - "account.pro.charge": "Your account will automatically be charged for another year of Lantern Pro at the end of your billing cycle.", - "account.upgrade": "Passa alla versione Professional", - "account.pro.email": "Indirizzo email:", - "account.pro.expired": "Your Pro account has expired. Renew now for Unlimited monthly data.", - "account.pro.expiry": "Your Pro account expires in %s days on %s.", - "account.pro.bonusMonths": "This includes your {{bonusMonths}} bonus months!", - "account.pro.thisdevice": "(Questo dispositivo)", - "account.pro.logout": "LOGOUT", - "account.pro.removedevice": "RIMUOVI", - "account.pro.devices": "Devices authorized to use your Pro account:", - "account.pro.device.confirm.title": "Deauthorize Device", - "account.pro.device.confirm": "Are you sure you want to remove '{{device}}' from your Lantern Pro account?", - "account.pro.device.one.title": "Solo un dispositivo", - "account.pro.device.one": "Sorry, but you cannot remove your last authorized device.", - "account.pro.linkingcode": "Device Linking Code:", - "account.pro.renew": "RINNOVA ACCONT PRO", - "account.prolink.errorTitle": "Error Linking", - "account.prolink.errorText": "Are you sure you copied the code correctly from your other device?", - "account.prolink.successTitle": "Dispositivo collegato", - "account.prolink.successText": "You have successfully linked your device! Please wait a moment for your other device to automatically become pro.", - "adyen.paymentMethods.title": "Payment Methods", - "adyen.paymentMethods.storedMethods": "Your payment methods", - "adyen.paymentMethods.otherMethods": "Select other method", - "adyen.paymentMethods.moreMethodsButton": "More payment methods", - "adyen.payButton": "Pay", - "adyen.payButton.formatted": "Pay %@", - "adyen.cancelButton": "Annulla", - "adyen.dismissButton": "OK", - "adyen.storeDetails": "Save for my next payment", - "adyen.payment.redirecting": "You will be redirected", - "adyen.payment.processing": "Your payment is being processed", - "adyen.creditCard.title": "Card Details", - "adyen.creditCard.holderName": "Cardholder name", - "adyen.creditCard.holderName.placeholder": "J. Smith", - "adyen.creditCard.numberField.title": "Numero della carta", - "adyen.creditCard.numberField.placeholder": "1234 5678 9012 3456", - "adyen.creditCard.numberField.invalid": "Invalid card number", - "adyen.creditCard.expiryDateField.title": "Expiry Date", - "adyen.creditCard.expiryDateField.placeholder": "MM/YY", - "adyen.creditCard.expiryDateField.invalid": "Invalid expiration date", - "adyen.creditCard.expiryDateField.month": "Mese", - "adyen.creditCard.expiryDateField.month.placeholder": "MM", - "adyen.creditCard.expiryDateField.year.placeholder": "YY", - "adyen.creditCard.expiryDateField.year": "Anno", - "adyen.creditCard.cvcField.title": "CVC / CVV", - "adyen.creditCard.cvcField.placeholder": "123", - "adyen.creditCard.installmentsField": "Number of installments", - "adyen.creditCard.storeDetailsButton": "Remember this card for my next payment", - "adyen.creditCard.oneClickVerification.title": "Verify your card", - "adyen.creditCard.oneClickVerification.message": "Please enter the CVC code for %@", - "adyen.creditCard.oneClickVerification.invalidInput.title": "Invalid CVC", - "adyen.creditCard.oneClickVerification.invalidInput.message": "Please enter a valid CVC to continue.", - "adyen.sepaDirectDebit.ibanField.title": "Account Number (IBAN)", - "adyen.sepaDirectDebit.ibanField.placeholder": "NL53 ABNA 1925 1294 122", - "adyen.sepaDirectDebit.ibanField.invalid": "Invalid account number", - "adyen.sepaDirectDebit.nameField.title": "Holder Name", - "adyen.sepaDirectDebit.nameField.placeholder": "J. Smith", - "adyen.sepaDirectDebit.consentButton": "I agree that the amount below will be debited from my bank account.", - "adyen.sepa.ownerName": "Holder Name", - "adyen.sepa.ibanNumber": "Account Number (IBAN)", - "adyen.giropay.searchField.placeholder": "Bankname / BIC / Bankleitzahl", - "adyen.giropay.minimumLength": "Min. 3 characters", - "adyen.giropay.noResults": "No search results", - "adyen.error.title": "Errore", - "adyen.error.subtitle.redirect": "Redirect failed", - "adyen.error.subtitle.payment": "Payment failed", - "adyen.error.subtitle.refused": "Payment refused", - "adyen.error.message.unknown": "An unknown error occurred", - "adyen.error.message.cannotConnectToInternet": "Failed to connect to the internet : please check your internet connection.", - "adyen.error.message.cannotConnectToHost": "Failed to connect to our payment server.", - "adyen.error.retryButton": "Riprova", - "adyen.idealIssuer.selectField.title": "Bank", - "adyen.idealIssuer.selectField.placeholder": "Select your bank", - "adyen.creditCard.success": "Payment Successful", - "adyen.oneClick.confirmationAlert.title": "Confirm %@ payment", - "adyen.redirect.cannotOpenApp.title": "Cannot Open App", - "adyen.redirect.cannotOpenApp.appNotInstalledMessage": "This app could not be opened because it is not installed on this device.", - "adyen.holderName": "Cardholder name", - "adyen.countryCode": "Country Code", - "adyen.telephone.number": "Telephone number", - "authorize.title": "Authorize Device for Pro", - "authorize.step1.have_pro_device": "I have another Lantern Pro device", - "authorize.step1.link": "Link this device", - "authorize.step1.or": "o", - "authorize.step1.recover": "I need to recover my Lantern Pro account", - "authorize.step1.start": "avvio recupero", - "authorize.step1.no_mail": "Non ricordi il tuo indirizzo email?", - "authorize.step2b.enter_code": "Inserisci il Codice recupero account", - "authorize.step2b.code": "Codice recupero Account", - "authorize.step2b.instruction": "Una mail con un Codice di recupero è stata spedita a {{email}}. Potrebbe impiegare anche delle ore ad arrivare. Potrebbe essere erroneamente classificata come spam, quindi cercala anche in quella cartella.", - "authorize.step2b.no_mail": "Non ho ricevuto l'e-mail", - "authorize.step3.recovery": "Recupero credenziali", - "authorize.step3.no_email": "Oops! We're having trouble finding that email address. Please provide more information below to help us locate your account.", - "authorize.step3.no_code_received": "Having trouble receiving the recovery email? Enter the information below and we will contact you within 48 hours.", - "authorize.step3.your_email": "La tua email", - "authorize.step3.payment_method": "Sistema di pagamento", - "authorize.step3.payment_method_hint": "Seleziona il metodo di pagamento che preferisci per ottenere la versione Pro", - "authorize.step3.credit_card": "Carta di credito", - "authorize.step3.alipay": "AliPay", - "authorize.step3.android_pay": "Android Pay", - "authorize.step3.by_referral": "Received Pro by Referring a friend", - "authorize.step3.payment_account": "Payment Account", - "authorize.step3.payment_account_hint": "Enter your Alipay account information", - "authorize.step3.referral_code": "Codice referenziale", - "authorize.step3.purchase_date": "Data d'acquisto", - "authorize.step3.note": "Please note any other information that may help us locate your account.", - "authorize.step4.title": "Il recupero dell'account è in corso", - "authorize.step4.text1": "Thank you! We've received your account recovery request.", - "authorize.step4.text2": "Please allow 48 hours to retrieve your Pro account information.", - "authorize.step4.text3": "We will send information to the email address entered on the previous screen.", - "authorized.continue": "Continua con pro", - "authorized.text": "This device is now authorized to use your Lantern Pro account!", - "authorized.title": "Dispositivo autorizzato", - "button.renew": "Rinnova", - "button.upgrade": "Aggiorna", - "button.upgrade_now": "Upgrade Now", - "button.upgrade_to_lantern_pro": "Passa a Lantern Pro", - "button.copy_your_code": "Copia il codice", - "button.try_again": "Riprova", - "button.continue": "Continua", - "bullet.click_button": "Click on the button below", - "bullet.paste_code": "Paste the code & download link in a message", - "bullet.send_to_friends": "Send to your friends", - "cancel": "Annulla", - "confirm": "Conferma", - "google_search": "Cerca tramite Google", - "link_device": "Already have a Pro account? Link device", - "err.unknown_error": "Errore sconosciuto", - "err.internal_error": "Errore interno", - "err.bad_input": "Bad input", - "err.not_authorized": "Not authorized", - "err.user_exists": "L'utente esiste già", - "err.no_such_user": "No such user", - "err.user_already_verified": "Utente già verificato", - "err.invalid_user_verification": "Invalid user verification", - "err.user_unverified": "Utente non verificato", - "err.operation_temporarily_unavailable": "Operazione temporaneamente non disponibile", - "err.wrong_or_inexistent_plan": "Wrong or inexistent plan", - "err.user_has_active_subscription": "User has active subscription", - "err.payment_error": "Errore di pagamento", - "err.no_codes_left": "No referral codes left", - "err.wrong_code": "Wrong referral code", - "err.redeeming_own_code_not_allowed": "Redeeming codes of oneself is not allowed", - "err.wrong_charge_id": "Wrong charge ID", - "footer.reseller": "Guadagna anche tu! Diventa rivenditore Lantern! Fai click qui", - "footer.reseller.email_subject": "Voglio sapere di più sul Programma rivenditori Lantern!", - "footer.reseller.email_body": "When you become a Lantern Reseller you will have the opportunity to make up to 25% on every sale of a Lantern Pro subscription. Tell us a bit about why you want to become a reseller below.", - "feature.faster_speed": "Maggior velocità", - "feature.faster": "Faster data centers", - "feature.unlimited": "Traffico illimitato", - "feature.nologs": "No Logs", - "feature.devices": "Connect up to 3 devices", - "feature.noads": "Nessuna pubblicità", - "feature.antiblock": "Blocking Resistant", - "feature.data_center": "Better Data Centers", - "feature.free_yinbi": "Free Yinbi Cryptocurrency!", - "free.title": "Lantern Pro", - "free.desc": "Più veloce. Più forte. Illimitato. Sicuro.", - "free.link_account": "Hai già un account Pro? Collegalo.", - "home.get_lantern_pro": "Get Lantern Pro", - "input.email": "Emai", - "input.your_email": "Tuo indirizzo email", - "input.confirm_email": "Conferma indirizzo email", - "input.enter_email": "Inserisci il tuo indirizzo email", - "input.use_valid_email": "Inserisci un indirizzo email valido", - "input.email_not_match": "Gli indirizzi email non sono uguali", - "issue.your_email": "La tua email", - "issue.attach_image_failure": "Cannot attach image", - "issue.try_again": "Riprova ancora", - "issue.select_issue": "Please Select an Issue", - "issue.selected_issue": "Select Issue", - "issue.select_issue_hint": "Select an issue from the dropdown menu", - "issue.note": "Describe your Issue", - "issue.description": "Issue Description", - "issue.error": "Error reporting issue", - "issue.submit": "Send Report", - "issue.report_screenshot": "Drag image or click to upload screenshot", - "issue.reported": "Thank you for reporting your issue, we will get back to you via Email as soon as we are able", - "issue.report_sent": "Report Sent", - "issue.type.no_access": "Accesso a siti bloccati impossibile", - "issue.type.payment_fail": "Impossibile completare pagamento", - "issue.type.cannot_login": "Login impossibile", - "issue.type.always_spinning": "Loading spinner spins endlessly", - "issue.type.slow": "Lentezza", - "issue.type.cannot_link_device": "Impossibile collegare dispositivi", - "issue.type.crashes": "Lantern va in crash", - "issue.type.other": "Altro", - "languages.title": "Lingue", - "mobile.link": "Usa il collegamento per scaricare Lantern su tuo dispositivo Android:", - "mobile.title": "Scarica versione Android", - "nav.about": "About", - "nav.account": "Gestione account", - "nav.authorize": "Aggiungi dispositivo", - "nav.authorized": "Dispositivo autorizzato", - "nav.unauthorized_link": "Authorize Device for Pro", - "nav.language": "Lingua", - "nav.lantern": "Lantern", - "nav.mobile": "Scarica versione mobile", - "nav.report_issue": "Segnalare problema", - "nav.settings": "Impostazioni", - "nav.verify": "Verifica account", - "nav.yinbi": "Yinbi Redemption", - "nav.home": "Home", - "nav.discover": "Discover", - "nav.wallet": "Wallet", - "nav.yinbi_wallet": "Yinbi Wallet", - "notification.retry": "Riprova", - "notifications.whatisnew": "What's New?", - "payment.close": "Chiudi", - "payment.wait_for_pro": "Thanks for your purchase of Lantern Pro! Please wait a moment for your Lantern to automatically become Pro.", - "payment_methods.select_name": "Select payment method", - "payment_methods.alipay": "Credit Card/Alipay", - "payment_methods.shetab": "Fast World Pay (Shetab)", - "payment_methods.shetab.details.header": "To purchase Lantern Pro", - "payment_methods.shetab.details.body": "When you click continue to purchase you will be redirected to an external site to complete payment and collect your activation code.", - "payment_methods.shetab.details.tutorial_header": "Farsi tutorial", - "payment_methods.shetab.details.purchase_voucher_button": "Continue To Purchase", - "payment_methods.shetab.details.input_code_button": "Input Activation Code", - "plan.step1": "Step 1", - "plan.apply": "Apply", - "plan.step2": "Step 2", - "plan.step3": "Step 3", - "plan.choose_plan": "Choose Plan", - "plan.enter_email": "Enter Email", - "plan.bestValue": "Best Deal!", - "plan.per_month": "per month", - "plan.yinbi_2x": "+ 2x Yinbi!", - "plan.oneYear": "1 anno", - "plan.add_referral": "Add Referral Code", - "plan.years": "{{years}} year plan", - "plan.desc": "{{price}} billed one time", - "plan.price.cny": "¥%.02f", - "plan.price.usd": "$%.02f", - "plan.currency.cny": "(RMB)", - "plan.currency.usd": "(USD)", - "plan.time_unit": "/YR", - "plan.select": "Seleziona", - "plans.title": "Lantern Pro Plans", - "plans.lantern_pro": "Lantern Pro", - "plans.platforms": "Per Windows, Android, Mac, Ubuntu.", - "plans.from_reseller": "Have a Lantern Pro activation code? Click here", - "plans.with_voucher_code": "Have an activation code? Click here.", - "pro.apply": "Your credits will be applied to your account in the next billing cycle.", - "pro.title": "Invite friends, get more Pro for free", - "pro.subtitle": "When your friend purchases the two year plan you each get 3 additional months of Pro, the one year plan gets you each 1 month free.", - "pro.share": "Share your code with friends to start earning more credits!", - "promotion.title": "Lantern Pro Checkout", - "promotion.title.activation": "Attivazione Lantern Pro", - "promotion.enter_and_confirm_email": "Please enter and confirm your email address", - "promotion.code.hint": "Enter your friend's Referral code (optional)", - "promotion.code.label": "Referral Code", - "promotion.payment": "Passa al pagamento", - "promotion.loading": "Caricamento in corso...", - "promotion.howto_1y": "If a friend shared their referral code with you, enter the code to receive one month of Lantern Pro for free after checkout.", - "promotion.howto_2y": "If a friend shared their referral code with you, enter the code to receive three months of Lantern Pro for free after checkout.", - "promotion.pay": "Paga {{amount}}", - "promotion.select": "Seleziona", - "promotion.promotion_applied_1y": "+1 bonus months", - "promotion.promotion_applied_2y": "+3 bonus months", - "promotion.too_many_referrals": "This referral code has already been added. Check out now to receive your extra months.", - "promotion.activation.enter_and_confirm_email": "Please enter and confirm your email address to register your Lantern Pro account.", - "promotion.activation.label": "XXXXX-XXXXX-XXXXX-XXXXX-XXXXX", - "promotion.activation.hint": "Inserisci il tuo codice di attivazione", - "promotion.activation.howto": "Please enter your 25 character Lantern Pro activation code above. If you do not have a code, please purchase Pro on the previous screen or look for a Lantern Pro reseller online.", - "promotion.activation.continue": "Continua con pro", - "promotion.voucher.hint": "Activation Code", - "promotion.voucher.howto": "Please enter your 12 character Fast World Pay activation code above", - "promotion.voucher.label": "XXXXXXXXXXXX", - "promotion.voucher.error.default": "Error redeeming your activation code. Please contact contact@fastworldpay.com for assistance.", - "promotion.voucher.error.invalid_code": "Invalid activation code", - "promotion.voucher.error.invalid_plan": "Activation code associated with an invalid plan", - "promotion.voucher.error.already_redeemed": "Activation code has already been redeemed", - "referral.code": "Share your referral code", - "referral.text": "Use my code %s and get 3 months free when you sign up!", - "renew.title_30_days": "Renew now for 3 months free!", - "renew.title_2_days": "Lantern Pro expires tomorrow.\nRenew now for 3 months free!", - "renew.title_last_day": "Lantern Pro expires today.\nDon't miss out on your Pro discount!", - "renew.title_expired": "Lantern Pro has expired", - "renew.details_30_days": "Your Lantern Pro membership is ending soon, renew now and enjoy up to three months free! This limited time offer is only valid for early renewals.", - "renew.details_2_days": "Your Lantern Pro membership is ending soon, renew now and enjoy up to three months free! This limited time offer is only valid for early renewals.", - "renew.details_last_day": "Renew now and enjoy up to three months free!\nThis is the last day to take advantage of this offer.\nLantern Pro users get faster speeds, unlimited data, better blocking resistance, three devices and no ads.", - "renew.details_expired": "Renew now for an extra 45 days free. Limited time only.\nLantern Pro users get faster speeds, unlimited data, better blocking resistance, three devices and no ads.", - "renew.plan_label": "Lantern Pro - %s", - "renew.plan_renewal_bonus_1_month": "$%d%s + 1 FREE MONTH", - "renew.plan_renewal_bonus_months": "$%d%s + %d FREE MONTHS", - "renew.plan_renewal_bonus_days": "$%d%s + %d FREE DAYS", - "renew.next": "next", - "renew.decline": "Rifiuta offerta", - "renew.decline_question": "Are you sure you want to decline this offer?", - "renew.decline_yes": "Renew later", - "renew.decline_dismiss": "Renew now", - "renew.notification_title_30_days": "Renew Pro now for huge savings!", - "renew.notification_text_30_days": "Your Lantern Pro account expires in {{days}} days. Renew now and get up to 3 months free.", - "renew.notification_title_2_days": "Lantern Pro discount ends tomorrow!", - "renew.notification_text_2_days": "Your Pro account expires tomorrow. Don’t miss this opportunity for a huge discount.", - "renew.notification_title_last_day": "Last chance for a discount!", - "renew.notification_text_last_day": "Your Lantern pro account has expired. Renew today and get up to 3 months free.", - "replica.upload": "Upload", - "replica.relevance": "Relevance", - "replica.upload_date": "Upload Date", - "replica.gallery_view": "Gallery View", - "replica.list_view": "List View", - "replica.copy_lantern_link": "Copy Lantern Link", - "replica.delete_file": "Delete File", - "replica.docs": "Documentazione", - "replica.other": "Altro", - "replica.apps": "Apps", - "replica.images": "Images", - "replica.videos": "Videos", - "replica.next": "Suivant", - "replica.previous": "Previous", - "replica.select_all": "Select All", - "replica.search_replica": "Search Public Files", - "replica.no_files_found": "No Files Found", - "replica.or_content": "your own content for other people to find!", - "replica.try_again": "Try a different keyword, or", - "replica.upload_success": "Upload Success!", - "replica.cannot_preview": "No preview for this filetype", - "replica.size": "Size", - "replica.uploaded": "Uploaded", - "replica.invalid_link": "Invalid Link", - "replica.close": "Chiudi", - "replica.my_files": "My Files", - "replica.filename": "File Name", - "replica.filename_required": "File Name (required)", - "replica.filetype": "Filetype", - "replica.sortby": "Sort By", - "replica.link": "Replica link", - "replica.collapse": "Collapse", - "replica.publish": "Publish", - "replica.cancel": "Annulla", - "replica.delete": "Delete", - "replica.failed_to_delete": "Failed to delete", - "replica.link_lookup_failure": "Failed to find link", - "replica.delete_file_confirmation_1": "Are you sure you want to delete", - "replica.delete_file_confirmation_2": "from your uploads", - "replica.share_file": "Share File", - "replica.download_and_view": "Download/View", - "replica.download": "Scarica", - "replica.copy_link": "Copy Replica Link", - "replica.find_file": "Find file", - "replica.file_drop_prompt": "Drag file here or browse to post", - "settings.general": "Général", - "settings.feedback": "Feedback", - "settings.autoLaunch": "Run Lantern on system start", - "settings.autoReport": "Securely report usage statistics to contribute to Lantern", - "settings.proxyAll": "Condividi tutto il traffico", - "settings.proxyAllHelpTitle": "WHAT DOES \"PROXY ALL TRAFFIC\" DO?", - "settings.proxyAllHelp1": "If enabled, all traffic will be sent through Lantern (most Secure option).", - "settings.proxyAllHelp2": "If disabled, only blocked traffic will be sent through Lantern (fastest option, most common).", - "settings.show_advanced": "Show Advanced Settings", - "settings.hide_advanced": "Hide Advanced Settings", - "settings.systemProxy": "Manage system proxy", - "settings.title": "Impostazioni", - "settings.http_proxy": "Proxy HTTP(S):", - "settings.socks_proxy": "Proxy SOCKS:", - "settings.caution": "Attenzione:", - "settings.caution_text": "When you uncheck \"Manage system proxy\" your browser and applications won't be able to use Lantern automatically. If you know how to manually configure these settings refer to the information above.", - "settings.select_language": "Select Langauge", - "status.lantern": "Lantern is", - "status.click_reconnect": "Click here to reconnect", - "status.server_location": "Server Location", - "status.tooltip1": "Lantern uses smart server selection to connect you to our best data centers.", - "status.tooltip2": "Upgrade to Lantern Pro for faster speed with optimized server selection from our exclusive Lantern Pro data centers", - "status.protected_connection": "Your Connection is Protected", - "status.please_wait": "This may take a minute or two...", - "status.connecting": "Connessione in corso...", - "status.no_internet": "Off", - "status.no_internet_connection": "No Internet connection", - "status.connected": "On", - "status.disconnected": "Off", - "status.throttled": "Speed Throttled (Data Cap)", - "status.no_system_proxy": "{{status}}, not managing system proxy", - "status.fail_to_set_system_proxy": "Failed to set Lantern as system proxy", - "status.fail_to_open_browser": "Failed to open browser window to show the Lantern user interface", - "terms_of_service.acknowledgment": "By clicking {{buttonText}}, you agree to our Terms of Service", - "verify.header": "Want to link another device to this Pro account? Enter your Device Linking Code below", - "verify.code": "Codice connessione dispositivo", - "verify.howto_1": "If you have a Lantern Pro account on another device, please enter your e-mail address here to receive a code to authorize the device", - "verify.howto_1a": "You're currently an unauthorized Pro user. Please enter your e-mail address to authorize your Pro account. This will enable you to link multiple devices.", - "verify.howto_3": "1. Open the 'Authorize Device for Pro' menu item on your unauthorized device.", - "verify.howto_4": "2. Enter the linking code obtained from step 1, and submit.", - "verify.reminder": "*Make sure you are updated to the latest version of Lantern on your unauthorized device", - "verify.submit": "Invia", - "verify.title": "Verifica account", - "welcomeToPro.continue": "Continua con Pro", - "welcomeToPro.invite": "Invite friends and you will each get 3 months free when they purchase the two-year plan, the one year plan gets you each 1 month free. Start inviting!", - "welcomeToPro.thanks": "Grazie per aver acquistato Lantern Pro!", - "welcomeToPro.title": "Benvenuto in Lantern Pro", - "messages.copied_to_clipboard": "Code Copied. Share it with your friends!", - "messages.datacap": "You have used your free high speed data. Upgrade to Pro for unlimited high speed data.", - "messages.fatal_error": "Sorry, we're having trouble contacting the Lantern servers. Please check your internet connection and try again.", - "messages.backend_gone": "Sorry, Lantern appears to no longer be running. Please restart Lantern and try again.", - "messages.get_help": "Ottieni Aiuto", - "freeProCredits.title": "Invita i tuoi amici", - "freeProCredits.shareWithFriends": "Share your code with friends to earn free months!", - "freeProCredits.shareWithFriendsDesc": "When your friend purchases the two year plan you will each get 3 months free, the one year plan gets you each 1 month free.", - "cards.serverLocation.unknown": "Sconosciuto", - "cards.serverLocation.description": "Optimized Server Location", - "cards.serverLocation.description-free": "Server Location", - "cards.serverLocation.description-upgrade": "Upgrade for Faster Servers", - "cards.serverLocation.title": "Current Location:", - "cards.serverLocation.location": "%s, %s", - "cards.serverLocation.text": "Lantern uses smart server selection to automatically find you the fastest connection possible from our data centers in Tokyo, Singapore, Hong Kong, San Francisco, New York, Amsterdam, Bangalore and more.", - "cards.serverLocation.text-free": "Lantern uses smart server selection to connect you to our best data centers.", - "cards.serverLocation.upgrade-link": "Upgrade to Lantern Pro for faster speed with optimized server selection from our exclusive Lantern Pro data centers.", - "cards.httpsUpgrades.description": "HTTPS Upgrades", - "cards.httpsUpgrades.title": "HTTPS Upgrades: %d", - "cards.httpsUpgrades.text": "Lantern automatically upgrades unsecure HTTP connections to encrypted HTTPS connections when possible to keep your information private while surfing the web.", - "cards.adsBlocked.description": "Ads Blocked", - "cards.adsBlocked.title": "Blocked Ads: %d", - "cards.adsBlocked.text": "Lantern blocks intrusive ads to speed up web page loading time, save bandwidth, and to give you a smoother browsing experience.", - "cards.dataUsage.description": "Data Usage", - "cards.dataUsage.upgrade": "Upgrade now", - "cards.dataUsage.mb-used": "You have used %d/%dMB of your monthly high speed data.", - "cards.dataUsage.upgrade-link": "Upgrade now for unlimited high speed service!", - "cards.subscription.description": "Pro Subscription", - "cards.subscription.renew": "Rinnova", - "cards.subscription.months": "You have %d months of Lantern Pro left in your subscription.", - "cards.subscription.days": "You have %d days of Lantern Pro left in your subscription.", - "cards.subscription.unit.months": "MO", - "cards.subscription.unit.days": "GIOR", - "cards.subscription.renew-link": "Renew your subscription to add more time." -} \ No newline at end of file diff --git a/locale/translation/ja.json b/locale/translation/ja.json deleted file mode 100644 index 91c7da499..000000000 --- a/locale/translation/ja.json +++ /dev/null @@ -1,462 +0,0 @@ -{ - "TRAY_LANTERN": "Lantern", - "TRAY_STATUS": "Status: %v", - "TRAY_CONNECT": "Connect", - "TRAY_DISCONNECT": "Disconnect", - "TRAY_SHOW_LANTERN": "Lanternを表示する", - "TRAY_UPGRADE_TO_PRO": "Upgrade to Pro", - "TRAY_QUIT": "Lanternを終了する", - "BACKEND_DATA_TITLE": "No more high speed Lantern data", - "BACKEND_DATA_MESSAGE": "Please upgrade to Pro to keep using Lantern at full speed!", - "BACKEND_DATA_PERCENT_TITLE": "Reached %s of your Lantern data", - "BACKEND_DATA_PERCENT_MESSAGE": "You have used %s of your Lantern high speed data for the month. Upgrade now!", - "BACKEND_CLICK_LABEL": "Open", - "BACKEND_CLICK_LABEL_OPEN": "Open", - "BACKEND_CLICK_LABEL_HELP": "ヘルプ", - "BACKEND_CLICK_LABEL_GOT_IT": "Got it", - "BACKEND_AUTOUPDATED_TITLE": "Update Lantern to version %s", - "BACKEND_AUTOUPDATED_MESSAGE": "Lantern %s has been downloaded. Please restart Lantern to use it.", - "BACKEND_MITM_INSTALL_CERT": "Lantern wants to install a custom certificate in order to unblock your traffic", - "BACKEND_MITM_INSTALL_CERT_WINDOWS_BODY": "Please allow %v to make changes to your system", - "BACKEND_ALERT_TITLE": "Critical alert needs your attention", - "about.content": "Lantern is an application that delivers fast, reliable and secure access to the open Internet.", - "about.faq": "Read the Lantern FAQs", - "about.open": "Open Internet for Everyone", - "about.questions": "Questions?", - "about.title": "Lanternについて", - "account.cancel": "Cancel Pro Account", - "account.free.cap": "{{mb}} MB remaining of your free monthly data", - "account.free.cap.upgrade": "Upgrade to Pro for unlimited high speed data", - "account.freelink.validFor": "valid for %s", - "account.freelink.desc": "To link this device to your Pro account:", - "account.freelink.step1": "1. Open the 'Add Device' menu item on your Pro device.", - "account.freelink.step2": "2. Enter the device linking code, and submit.", - "account.freelink.reminder": "* Make sure you're updated to the latest version of Lantern on your Pro device", - "account.freelink.errorTitle": "Error Linking", - "account.freelink.errorText": "Are you sure you entered the code on your Pro device?", - "account.freelink.headerDesc": "Link this device to your Pro account", - "account.freelink.title": "Device Linking Code", - "account.pro.charge": "Your account will automatically be charged for another year of Lantern Pro at the end of your billing cycle.", - "account.upgrade": "Upgrade to Pro", - "account.pro.email": "Email Address:", - "account.pro.expired": "Your Pro account has expired. Renew now for Unlimited monthly data.", - "account.pro.expiry": "Your Pro account expires in %s days on %s.", - "account.pro.bonusMonths": "This includes your {{bonusMonths}} bonus months!", - "account.pro.thisdevice": "(This Device)", - "account.pro.logout": "LOG OUT", - "account.pro.removedevice": "REMOVE", - "account.pro.devices": "Devices authorized to use your Pro account:", - "account.pro.device.confirm.title": "Deauthorize Device", - "account.pro.device.confirm": "Are you sure you want to remove '{{device}}' from your Lantern Pro account?", - "account.pro.device.one.title": "Only One Device", - "account.pro.device.one": "Sorry, but you cannot remove your last authorized device.", - "account.pro.linkingcode": "Device Linking Code:", - "account.pro.renew": "RENEW PRO ACCOUNT", - "account.prolink.errorTitle": "Error Linking", - "account.prolink.errorText": "Are you sure you copied the code correctly from your other device?", - "account.prolink.successTitle": "Device Linked", - "account.prolink.successText": "You have successfully linked your device! Please wait a moment for your other device to automatically become pro.", - "adyen.paymentMethods.title": "Payment Methods", - "adyen.paymentMethods.storedMethods": "Your payment methods", - "adyen.paymentMethods.otherMethods": "Select other method", - "adyen.paymentMethods.moreMethodsButton": "More payment methods", - "adyen.payButton": "Pay", - "adyen.payButton.formatted": "Pay %@", - "adyen.cancelButton": "キャンセル", - "adyen.dismissButton": "OK", - "adyen.storeDetails": "Save for my next payment", - "adyen.payment.redirecting": "You will be redirected", - "adyen.payment.processing": "Your payment is being processed", - "adyen.creditCard.title": "Card Details", - "adyen.creditCard.holderName": "Cardholder name", - "adyen.creditCard.holderName.placeholder": "J. Smith", - "adyen.creditCard.numberField.title": "Card Number", - "adyen.creditCard.numberField.placeholder": "1234 5678 9012 3456", - "adyen.creditCard.numberField.invalid": "Invalid card number", - "adyen.creditCard.expiryDateField.title": "Expiry Date", - "adyen.creditCard.expiryDateField.placeholder": "MM/YY", - "adyen.creditCard.expiryDateField.invalid": "Invalid expiration date", - "adyen.creditCard.expiryDateField.month": "Month", - "adyen.creditCard.expiryDateField.month.placeholder": "MM", - "adyen.creditCard.expiryDateField.year.placeholder": "YY", - "adyen.creditCard.expiryDateField.year": "Year", - "adyen.creditCard.cvcField.title": "CVC / CVV", - "adyen.creditCard.cvcField.placeholder": "123", - "adyen.creditCard.installmentsField": "Number of installments", - "adyen.creditCard.storeDetailsButton": "Remember this card for my next payment", - "adyen.creditCard.oneClickVerification.title": "Verify your card", - "adyen.creditCard.oneClickVerification.message": "Please enter the CVC code for %@", - "adyen.creditCard.oneClickVerification.invalidInput.title": "Invalid CVC", - "adyen.creditCard.oneClickVerification.invalidInput.message": "Please enter a valid CVC to continue.", - "adyen.sepaDirectDebit.ibanField.title": "Account Number (IBAN)", - "adyen.sepaDirectDebit.ibanField.placeholder": "NL53 ABNA 1925 1294 122", - "adyen.sepaDirectDebit.ibanField.invalid": "Invalid account number", - "adyen.sepaDirectDebit.nameField.title": "Holder Name", - "adyen.sepaDirectDebit.nameField.placeholder": "J. Smith", - "adyen.sepaDirectDebit.consentButton": "I agree that the amount below will be debited from my bank account.", - "adyen.sepa.ownerName": "Holder Name", - "adyen.sepa.ibanNumber": "Account Number (IBAN)", - "adyen.giropay.searchField.placeholder": "Bankname / BIC / Bankleitzahl", - "adyen.giropay.minimumLength": "Min. 3 characters", - "adyen.giropay.noResults": "No search results", - "adyen.error.title": "エラー", - "adyen.error.subtitle.redirect": "Redirect failed", - "adyen.error.subtitle.payment": "Payment failed", - "adyen.error.subtitle.refused": "Payment refused", - "adyen.error.message.unknown": "An unknown error occurred", - "adyen.error.message.cannotConnectToInternet": "Failed to connect to the internet : please check your internet connection.", - "adyen.error.message.cannotConnectToHost": "Failed to connect to our payment server.", - "adyen.error.retryButton": "Try again", - "adyen.idealIssuer.selectField.title": "Bank", - "adyen.idealIssuer.selectField.placeholder": "Select your bank", - "adyen.creditCard.success": "Payment Successful", - "adyen.oneClick.confirmationAlert.title": "Confirm %@ payment", - "adyen.redirect.cannotOpenApp.title": "Cannot Open App", - "adyen.redirect.cannotOpenApp.appNotInstalledMessage": "This app could not be opened because it is not installed on this device.", - "adyen.holderName": "Cardholder name", - "adyen.countryCode": "Country Code", - "adyen.telephone.number": "Telephone number", - "authorize.title": "Authorize Device for Pro", - "authorize.step1.have_pro_device": "I have another Lantern Pro device", - "authorize.step1.link": "Link this device", - "authorize.step1.or": "または", - "authorize.step1.recover": "I need to recover my Lantern Pro account", - "authorize.step1.start": "start recovery", - "authorize.step1.no_mail": "Don't remember your Email address?", - "authorize.step2b.enter_code": "Enter your Account Recovery Code", - "authorize.step2b.code": "Account Recovery Code", - "authorize.step2b.instruction": "An Email with a recovery code has been sent to {{email}}. This email may take several hours to arrive. Please check your spam folder if you do not find it.", - "authorize.step2b.no_mail": "Didn't receive email", - "authorize.step3.recovery": "Account Recovery", - "authorize.step3.no_email": "Oops! We're having trouble finding that email address. Please provide more information below to help us locate your account.", - "authorize.step3.no_code_received": "Having trouble receiving the recovery email? Enter the information below and we will contact you within 48 hours.", - "authorize.step3.your_email": "Your Email", - "authorize.step3.payment_method": "Payment Method", - "authorize.step3.payment_method_hint": "Select the payment method you used to get Pro", - "authorize.step3.credit_card": "Credit Card", - "authorize.step3.alipay": "AliPay", - "authorize.step3.android_pay": "Android Pay", - "authorize.step3.by_referral": "Received Pro by Referring a friend", - "authorize.step3.payment_account": "Payment Account", - "authorize.step3.payment_account_hint": "Enter your Alipay account information", - "authorize.step3.referral_code": "Your Referral Code", - "authorize.step3.purchase_date": "Purchase Date", - "authorize.step3.note": "Please note any other information that may help us locate your account.", - "authorize.step4.title": "Account Recovery In-Progress", - "authorize.step4.text1": "Thank you! We've received your account recovery request.", - "authorize.step4.text2": "Please allow 48 hours to retrieve your Pro account information.", - "authorize.step4.text3": "We will send information to the email address entered on the previous screen.", - "authorized.continue": "Continue to Pro", - "authorized.text": "This device is now authorized to use your Lantern Pro account!", - "authorized.title": "Device Authorized", - "button.renew": "Renew", - "button.upgrade": "Upgrade", - "button.upgrade_now": "Upgrade Now", - "button.upgrade_to_lantern_pro": "Upgrade to Lantern Pro", - "button.copy_your_code": "Copy your code", - "button.try_again": "Try again", - "button.continue": "続ける", - "bullet.click_button": "Click on the button below", - "bullet.paste_code": "Paste the code & download link in a message", - "bullet.send_to_friends": "Send to your friends", - "cancel": "キャンセル", - "confirm": "Confirm", - "google_search": "Google Search", - "link_device": "Already have a Pro account? Link device", - "err.unknown_error": "Unknown error", - "err.internal_error": "Internal error", - "err.bad_input": "Bad input", - "err.not_authorized": "Not authorized", - "err.user_exists": "User exists", - "err.no_such_user": "No such user", - "err.user_already_verified": "User already verified", - "err.invalid_user_verification": "Invalid user verification", - "err.user_unverified": "User Unverified", - "err.operation_temporarily_unavailable": "Operation temporarily unavailable", - "err.wrong_or_inexistent_plan": "Wrong or inexistent plan", - "err.user_has_active_subscription": "User has active subscription", - "err.payment_error": "Payment error", - "err.no_codes_left": "No referral codes left", - "err.wrong_code": "Wrong referral code", - "err.redeeming_own_code_not_allowed": "Redeeming codes of oneself is not allowed", - "err.wrong_charge_id": "Wrong charge ID", - "footer.reseller": "Make Money! Become a Lantern Pro reseller. Click Here", - "footer.reseller.email_subject": "Tell me about the Lantern Reseller Program!", - "footer.reseller.email_body": "When you become a Lantern Reseller you will have the opportunity to make up to 25% on every sale of a Lantern Pro subscription. Tell us a bit about why you want to become a reseller below.", - "feature.faster_speed": "Faster Speed", - "feature.faster": "Faster data centers", - "feature.unlimited": "Unlimited data", - "feature.nologs": "No Logs", - "feature.devices": "Connect up to 3 devices", - "feature.noads": "No Ads", - "feature.antiblock": "Blocking Resistant", - "feature.data_center": "Better Data Centers", - "feature.free_yinbi": "Free Yinbi Cryptocurrency!", - "free.title": "Lantern Pro", - "free.desc": "Faster. Stronger. Unlimited. Secure.", - "free.link_account": "Already have a Pro account? Link your account.", - "home.get_lantern_pro": "Get Lantern Pro", - "input.email": "Email", - "input.your_email": "Your Email Address", - "input.confirm_email": "Confirm Email Address", - "input.enter_email": "Enter your email", - "input.use_valid_email": "Write a valid email address", - "input.email_not_match": "Email fields do not match", - "issue.your_email": "Your Email", - "issue.attach_image_failure": "Cannot attach image", - "issue.try_again": "Please try again", - "issue.select_issue": "Please Select an Issue", - "issue.selected_issue": "Select Issue", - "issue.select_issue_hint": "Select an issue from the dropdown menu", - "issue.note": "Describe your Issue", - "issue.description": "Issue Description", - "issue.error": "Error reporting issue", - "issue.submit": "Send Report", - "issue.report_screenshot": "Drag image or click to upload screenshot", - "issue.reported": "Thank you for reporting your issue, we will get back to you via Email as soon as we are able", - "issue.report_sent": "Report Sent", - "issue.type.no_access": "Cannot access blocked sites", - "issue.type.payment_fail": "Cannot complete the payment", - "issue.type.cannot_login": "Cannot log in", - "issue.type.always_spinning": "Loading spinner spins endlessly", - "issue.type.slow": "Slow", - "issue.type.cannot_link_device": "Cannot link devices", - "issue.type.crashes": "Lantern crashes", - "issue.type.other": "Other", - "languages.title": "Languages", - "mobile.link": "Use the link to download Lantern on your Android device:", - "mobile.title": "Get Android Version", - "nav.about": "Lanternについて", - "nav.account": "Account Management", - "nav.authorize": "Add Device", - "nav.authorized": "Device Authorized", - "nav.unauthorized_link": "Authorize Device for Pro", - "nav.language": "言語", - "nav.lantern": "Lantern", - "nav.mobile": "Get Mobile Version", - "nav.report_issue": "Report an Issue", - "nav.settings": "設定", - "nav.verify": "Account Verification", - "nav.yinbi": "Yinbi Redemption", - "nav.home": "Home", - "nav.discover": "Discover", - "nav.wallet": "Wallet", - "nav.yinbi_wallet": "Yinbi Wallet", - "notification.retry": "リトライ", - "notifications.whatisnew": "What's New?", - "payment.close": "閉じる", - "payment.wait_for_pro": "Thanks for your purchase of Lantern Pro! Please wait a moment for your Lantern to automatically become Pro.", - "payment_methods.select_name": "Select payment method", - "payment_methods.alipay": "Credit Card/Alipay", - "payment_methods.shetab": "Fast World Pay (Shetab)", - "payment_methods.shetab.details.header": "To purchase Lantern Pro", - "payment_methods.shetab.details.body": "When you click continue to purchase you will be redirected to an external site to complete payment and collect your activation code.", - "payment_methods.shetab.details.tutorial_header": "Farsi tutorial", - "payment_methods.shetab.details.purchase_voucher_button": "Continue To Purchase", - "payment_methods.shetab.details.input_code_button": "Input Activation Code", - "plan.step1": "Step 1", - "plan.apply": "Apply", - "plan.step2": "Step 2", - "plan.step3": "Step 3", - "plan.choose_plan": "Choose Plan", - "plan.enter_email": "Enter Email", - "plan.bestValue": "Best Deal!", - "plan.per_month": "per month", - "plan.yinbi_2x": "+ 2x Yinbi!", - "plan.oneYear": "1 year", - "plan.add_referral": "Add Referral Code", - "plan.years": "{{years}} year plan", - "plan.desc": "{{price}} billed one time", - "plan.price.cny": "¥%.02f", - "plan.price.usd": "$%.02f", - "plan.currency.cny": "(RMB)", - "plan.currency.usd": "(USD)", - "plan.time_unit": "/YR", - "plan.select": "Select", - "plans.title": "Lantern Pro Plans", - "plans.lantern_pro": "Lantern Pro", - "plans.platforms": "For Windows, Android, Mac, Ubuntu.", - "plans.from_reseller": "Have a Lantern Pro activation code? Click here", - "plans.with_voucher_code": "Have an activation code? Click here.", - "pro.apply": "Your credits will be applied to your account in the next billing cycle.", - "pro.title": "Invite friends, get more Pro for free", - "pro.subtitle": "When your friend purchases the two year plan you each get 3 additional months of Pro, the one year plan gets you each 1 month free.", - "pro.share": "Share your code with friends to start earning more credits!", - "promotion.title": "Lantern Pro Checkout", - "promotion.title.activation": "Lantern Pro Activation", - "promotion.enter_and_confirm_email": "Please enter and confirm your email address", - "promotion.code.hint": "Enter your friend's Referral code (optional)", - "promotion.code.label": "Referral Code", - "promotion.payment": "Continue to Payment", - "promotion.loading": "Loading...", - "promotion.howto_1y": "If a friend shared their referral code with you, enter the code to receive one month of Lantern Pro for free after checkout.", - "promotion.howto_2y": "If a friend shared their referral code with you, enter the code to receive three months of Lantern Pro for free after checkout.", - "promotion.pay": "Pay {{amount}}", - "promotion.select": "Select", - "promotion.promotion_applied_1y": "+1 bonus months", - "promotion.promotion_applied_2y": "+3 bonus months", - "promotion.too_many_referrals": "This referral code has already been added. Check out now to receive your extra months.", - "promotion.activation.enter_and_confirm_email": "Please enter and confirm your email address to register your Lantern Pro account.", - "promotion.activation.label": "XXXXX-XXXXX-XXXXX-XXXXX-XXXXX", - "promotion.activation.hint": "Enter your Activation Code", - "promotion.activation.howto": "Please enter your 25 character Lantern Pro activation code above. If you do not have a code, please purchase Pro on the previous screen or look for a Lantern Pro reseller online.", - "promotion.activation.continue": "Continue to Pro", - "promotion.voucher.hint": "Activation Code", - "promotion.voucher.howto": "Please enter your 12 character Fast World Pay activation code above", - "promotion.voucher.label": "XXXXXXXXXXXX", - "promotion.voucher.error.default": "Error redeeming your activation code. Please contact contact@fastworldpay.com for assistance.", - "promotion.voucher.error.invalid_code": "Invalid activation code", - "promotion.voucher.error.invalid_plan": "Activation code associated with an invalid plan", - "promotion.voucher.error.already_redeemed": "Activation code has already been redeemed", - "referral.code": "Share your referral code", - "referral.text": "Use my code %s and get 3 months free when you sign up!", - "renew.title_30_days": "Renew now for 3 months free!", - "renew.title_2_days": "Lantern Pro expires tomorrow.\nRenew now for 3 months free!", - "renew.title_last_day": "Lantern Pro expires today.\nDon't miss out on your Pro discount!", - "renew.title_expired": "Lantern Pro has expired", - "renew.details_30_days": "Your Lantern Pro membership is ending soon, renew now and enjoy up to three months free! This limited time offer is only valid for early renewals.", - "renew.details_2_days": "Your Lantern Pro membership is ending soon, renew now and enjoy up to three months free! This limited time offer is only valid for early renewals.", - "renew.details_last_day": "Renew now and enjoy up to three months free!\nThis is the last day to take advantage of this offer.\nLantern Pro users get faster speeds, unlimited data, better blocking resistance, three devices and no ads.", - "renew.details_expired": "Renew now for an extra 45 days free. Limited time only.\nLantern Pro users get faster speeds, unlimited data, better blocking resistance, three devices and no ads.", - "renew.plan_label": "Lantern Pro - %s", - "renew.plan_renewal_bonus_1_month": "$%d%s + 1 FREE MONTH", - "renew.plan_renewal_bonus_months": "$%d%s + %d FREE MONTHS", - "renew.plan_renewal_bonus_days": "$%d%s + %d FREE DAYS", - "renew.next": "next", - "renew.decline": "Decline Offer", - "renew.decline_question": "Are you sure you want to decline this offer?", - "renew.decline_yes": "Renew later", - "renew.decline_dismiss": "Renew now", - "renew.notification_title_30_days": "Renew Pro now for huge savings!", - "renew.notification_text_30_days": "Your Lantern Pro account expires in {{days}} days. Renew now and get up to 3 months free.", - "renew.notification_title_2_days": "Lantern Pro discount ends tomorrow!", - "renew.notification_text_2_days": "Your Pro account expires tomorrow. Don’t miss this opportunity for a huge discount.", - "renew.notification_title_last_day": "Last chance for a discount!", - "renew.notification_text_last_day": "Your Lantern pro account has expired. Renew today and get up to 3 months free.", - "replica.upload": "Upload", - "replica.relevance": "Relevance", - "replica.upload_date": "Upload Date", - "replica.gallery_view": "Gallery View", - "replica.list_view": "List View", - "replica.copy_lantern_link": "Copy Lantern Link", - "replica.delete_file": "Delete File", - "replica.docs": "文書", - "replica.other": "Other", - "replica.apps": "Apps", - "replica.images": "Images", - "replica.videos": "Videos", - "replica.next": "Next", - "replica.previous": "Previous", - "replica.select_all": "Select All", - "replica.search_replica": "Search Public Files", - "replica.no_files_found": "No Files Found", - "replica.or_content": "your own content for other people to find!", - "replica.try_again": "Try a different keyword, or", - "replica.upload_success": "Upload Success!", - "replica.cannot_preview": "No preview for this filetype", - "replica.size": "Size", - "replica.uploaded": "Uploaded", - "replica.invalid_link": "Invalid Link", - "replica.close": "閉じる", - "replica.my_files": "My Files", - "replica.filename": "File Name", - "replica.filename_required": "File Name (required)", - "replica.filetype": "Filetype", - "replica.sortby": "Sort By", - "replica.link": "Replica link", - "replica.collapse": "Collapse", - "replica.publish": "Publish", - "replica.cancel": "キャンセル", - "replica.delete": "Delete", - "replica.failed_to_delete": "Failed to delete", - "replica.link_lookup_failure": "Failed to find link", - "replica.delete_file_confirmation_1": "Are you sure you want to delete", - "replica.delete_file_confirmation_2": "from your uploads", - "replica.share_file": "Share File", - "replica.download_and_view": "Download/View", - "replica.download": "ダウンロード", - "replica.copy_link": "Copy Replica Link", - "replica.find_file": "Find file", - "replica.file_drop_prompt": "Drag file here or browse to post", - "settings.general": "General", - "settings.feedback": "Feedback", - "settings.autoLaunch": "Run Lantern on system start", - "settings.autoReport": "Securely report usage statistics to contribute to Lantern", - "settings.proxyAll": "すべてのデータをプロキシする", - "settings.proxyAllHelpTitle": "WHAT DOES \"PROXY ALL TRAFFIC\" DO?", - "settings.proxyAllHelp1": "If enabled, all traffic will be sent through Lantern (most Secure option).", - "settings.proxyAllHelp2": "If disabled, only blocked traffic will be sent through Lantern (fastest option, most common).", - "settings.show_advanced": "Show Advanced Settings", - "settings.hide_advanced": "Hide Advanced Settings", - "settings.systemProxy": "Manage system proxy", - "settings.title": "設定", - "settings.http_proxy": "HTTP(S) proxy:", - "settings.socks_proxy": "SOCKS proxy:", - "settings.caution": "Caution:", - "settings.caution_text": "When you uncheck \"Manage system proxy\" your browser and applications won't be able to use Lantern automatically. If you know how to manually configure these settings refer to the information above.", - "settings.select_language": "Select Langauge", - "status.lantern": "Lantern is", - "status.click_reconnect": "Click here to reconnect", - "status.server_location": "Server Location", - "status.tooltip1": "Lantern uses smart server selection to connect you to our best data centers.", - "status.tooltip2": "Upgrade to Lantern Pro for faster speed with optimized server selection from our exclusive Lantern Pro data centers", - "status.protected_connection": "Your Connection is Protected", - "status.please_wait": "This may take a minute or two...", - "status.connecting": "接続しています…", - "status.no_internet": "Off", - "status.no_internet_connection": "No Internet connection", - "status.connected": "On", - "status.disconnected": "Off", - "status.throttled": "Speed Throttled (Data Cap)", - "status.no_system_proxy": "{{status}}, not managing system proxy", - "status.fail_to_set_system_proxy": "Failed to set Lantern as system proxy", - "status.fail_to_open_browser": "Failed to open browser window to show the Lantern user interface", - "terms_of_service.acknowledgment": "By clicking {{buttonText}}, you agree to our Terms of Service", - "verify.header": "Want to link another device to this Pro account? Enter your Device Linking Code below", - "verify.code": "Device Linking Code", - "verify.howto_1": "If you have a Lantern Pro account on another device, please enter your e-mail address here to receive a code to authorize the device", - "verify.howto_1a": "You're currently an unauthorized Pro user. Please enter your e-mail address to authorize your Pro account. This will enable you to link multiple devices.", - "verify.howto_3": "1. Open the 'Authorize Device for Pro' menu item on your unauthorized device.", - "verify.howto_4": "2. Enter the linking code obtained from step 1, and submit.", - "verify.reminder": "*Make sure you are updated to the latest version of Lantern on your unauthorized device", - "verify.submit": "Submit", - "verify.title": "Account Verification", - "welcomeToPro.continue": "Continue to Pro", - "welcomeToPro.invite": "Invite friends and you will each get 3 months free when they purchase the two-year plan, the one year plan gets you each 1 month free. Start inviting!", - "welcomeToPro.thanks": "Thanks for your purchase of Lantern Pro!", - "welcomeToPro.title": "Welcome To Lantern Pro", - "messages.copied_to_clipboard": "Code Copied. Share it with your friends!", - "messages.datacap": "You have used your free high speed data. Upgrade to Pro for unlimited high speed data.", - "messages.fatal_error": "Sorry, we're having trouble contacting the Lantern servers. Please check your internet connection and try again.", - "messages.backend_gone": "Sorry, Lantern appears to no longer be running. Please restart Lantern and try again.", - "messages.get_help": "Get Help", - "freeProCredits.title": "Invite Friends", - "freeProCredits.shareWithFriends": "Share your code with friends to earn free months!", - "freeProCredits.shareWithFriendsDesc": "When your friend purchases the two year plan you will each get 3 months free, the one year plan gets you each 1 month free.", - "cards.serverLocation.unknown": "Unknown", - "cards.serverLocation.description": "Optimized Server Location", - "cards.serverLocation.description-free": "Server Location", - "cards.serverLocation.description-upgrade": "Upgrade for Faster Servers", - "cards.serverLocation.title": "Current Location:", - "cards.serverLocation.location": "%s, %s", - "cards.serverLocation.text": "Lantern uses smart server selection to automatically find you the fastest connection possible from our data centers in Tokyo, Singapore, Hong Kong, San Francisco, New York, Amsterdam, Bangalore and more.", - "cards.serverLocation.text-free": "Lantern uses smart server selection to connect you to our best data centers.", - "cards.serverLocation.upgrade-link": "Upgrade to Lantern Pro for faster speed with optimized server selection from our exclusive Lantern Pro data centers.", - "cards.httpsUpgrades.description": "HTTPS Upgrades", - "cards.httpsUpgrades.title": "HTTPS Upgrades: %d", - "cards.httpsUpgrades.text": "Lantern automatically upgrades unsecure HTTP connections to encrypted HTTPS connections when possible to keep your information private while surfing the web.", - "cards.adsBlocked.description": "Ads Blocked", - "cards.adsBlocked.title": "Blocked Ads: %d", - "cards.adsBlocked.text": "Lantern blocks intrusive ads to speed up web page loading time, save bandwidth, and to give you a smoother browsing experience.", - "cards.dataUsage.description": "Data Usage", - "cards.dataUsage.upgrade": "Upgrade now", - "cards.dataUsage.mb-used": "You have used %d/%dMB of your monthly high speed data.", - "cards.dataUsage.upgrade-link": "Upgrade now for unlimited high speed service!", - "cards.subscription.description": "Pro Subscription", - "cards.subscription.renew": "Renew", - "cards.subscription.months": "You have %d months of Lantern Pro left in your subscription.", - "cards.subscription.days": "You have %d days of Lantern Pro left in your subscription.", - "cards.subscription.unit.months": "MO", - "cards.subscription.unit.days": "DAYS", - "cards.subscription.renew-link": "Renew your subscription to add more time." -} \ No newline at end of file diff --git a/locale/translation/km.json b/locale/translation/km.json deleted file mode 100644 index 59cc830d4..000000000 --- a/locale/translation/km.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "TRAY_SHOW_LANTERN": "Show Lantern", - "TRAY_QUIT": "Quit Lantern" -} \ No newline at end of file diff --git a/locale/translation/ko.json b/locale/translation/ko.json deleted file mode 100644 index 987404d16..000000000 --- a/locale/translation/ko.json +++ /dev/null @@ -1,637 +0,0 @@ -{ - "LANTERN": "랜턴", - "BEAM": "Beam", - "TRAY_STATUS": "상태: %v", - "TRAY_CONNECT": "접속", - "TRAY_DISCONNECT": "연결 끊기", - "TRAY_SHOW": "%s 표시", - "TRAY_UPGRADE_TO_PRO": "프로로 업그레이드", - "TRAY_QUIT": "%s 종료", - "BACKEND_DATA_TITLE": "고속 %s 데이터가 더 이상 없음", - "BACKEND_DATA_MESSAGE": "최고 속도로 %s을 계속 사용하려면 업그레이드하세요!", - "BACKEND_DATA_PERCENT_TITLE": "데이터 %s/%s 도달", - "BACKEND_DATA_PERCENT_MESSAGE": "월 고속 데이터 %s/%s를 사용하셨습니다. 지금 업그레이드하세요!", - "BACKEND_CLICK_LABEL": "열기", - "BACKEND_CLICK_LABEL_OPEN": "열기", - "BACKEND_CLICK_LABEL_HELP": "도움말", - "BACKEND_CLICK_LABEL_GOT_IT": "알겠습니다", - "BACKEND_AUTOUPDATED_TITLE": "%s을 %s 버전으로 업데이트", - "BACKEND_AUTOUPDATED_MESSAGE": "%s %s 다운로드가 완료되었습니다. 사용하려면 %s을 재시작하세요.", - "BACKEND_MITM_INSTALL_CERT": "%s에서 성능 향상을 위해 맞춤 인증서를 설치하려고 합니다.", - "BACKEND_MITM_INSTALL_CERT_WINDOWS_BODY": "%v가 시스템 설정을 변경할 수 있게 허용하세요.", - "BACKEND_ALERT_TITLE": "주의가 필요한 중요 경고", - "BACKEND_INSTALL_DIAGNOSTIC_TOOLS": "%s는 진단 도구를 설치할 수 있는 권한이 필요합니다. 이것은 우리가 당신의 %의 경험을 개선하는 데 도움이 될 것입니다.", - "about.content": "랜턴은 빠르고 믿을 수 있으며, 열려 있는 인터넷 세상에 안전하게 접근하게 해주는 프로그램입니다.", - "about.faq": "랜턴 자주 묻는 질문", - "about.open": "모두에게 열려 있는 인터넷", - "about.questions": "질문 있나요?", - "about.title": "정보", - "account.add.password": "계정 비밀번호 추가", - "account.cancel": "프로 계정 취소", - "account.recovery": "계정 복구", - "account.recovery.link.device": "디바이스 연결", - "account.recovery.device.code": "기기 연결 코드", - "account.recovery.device.enter.code": "디바이스 연결 PIN 입력 또는 붙여넣기", - "account.recovery.device.instructions.header": "이 기기를 프로 계정에 연결하는 법", - "account.recovery.device.instructions.step.one": "1. Desktop Pro 디바이스 계정 관리 화면 항목에서 또는 Mobile Pro 디바이스 메뉴에서 '디바이스 연결' 옵션을 선택합니다.", - "account.recovery.device.instructions.step.two": "2. 기기 연결 코드를 넣고 제출해 주세요.", - "account.recovery.device.instructions.part.three": "*두 디바이스 모두에서 최신 버전의 Lantern이 실행 중이어야 함", - "account.recovery.method": "계정 복구 방법 선택", - "account.recovery.send.email": "이메일 보내기", - "account.recovery.submit": "제출", - "account.recovery.success": "연결 성공!", - "account.pro_management": "프로 계정 관리", - "account.free.cap": "이번 달 무료 데이터 {{mb}}MB 남음", - "account.free.cap.upgrade": "업그레이드하여 고속 데이터 무제한 사용", - "account.freelink.validFor": "%s 동안 유효", - "account.freelink.desc": "이 디바이스에서 Pro 계정을 사용할 수 있게 인증하려면:", - "account.freelink.step1": "1. Pro 디바이스 메뉴에서 '디바이스 연결' 옵션을 선택합니다.", - "account.freelink.step2": "2. 기기 연결 코드를 넣고 제출해 주세요.", - "account.freelink.reminder": "* 두 디바이스 모두에서 최신 버전의 Lantern이 실행 중이어야 함", - "account.freelink.errorTitle": "연결 오류", - "account.freelink.errorText": "프로 기기에 확실히 코드를 입력하셨나요?", - "account.freelink.headerDesc": "이 기기를 프로 계정에 연결", - "account.freelink.title": "기기 연결 코드", - "account.pro.charge": "요금 납부가 끝날 때 1년치 랜턴 프로 계정 요금이 자동으로 청구됩니다.", - "account.upgrade": "프로로 업그레이드", - "account.create": "계정 만들기", - "account.email": "이메일", - "account.confirm.password": "비밀번호 확인", - "account.password": "비밀번호", - "account.pro.email": "이메일:", - "account.pro.expiration": "프로 계정 만료", - "account.pro.expired": "프로 계정이 만료되었습니다. 무제한 월 데이터를 사용하려면 지금 갱신하세요.", - "account.pro.expiry": "%s일 후인 %s에 Pro 계정이 만료됩니다.", - "account.pro.bonusMonths": "월 {{bonusMonths}} 보너스도 드립니다!", - "account.pro.thisdevice": "(이 기기)", - "account.pro.logout": "로그아웃", - "account.pro.removedevice": "삭제", - "account.pro.devices": "Lantern Pro 디바이스(최대 3대)", - "account.pro.device.confirm.title": "기기 해제", - "account.pro.device.confirm": "랜턴 프로 계정에서 '{{device}}'를 정말로 삭제할까요?", - "account.pro.device.one.title": "단 하나의 기기", - "account.pro.device.one": "죄송합니다. 마지막 기기를 삭제할 수 없습니다.", - "account.pro.linkingcode": "기기 연결 코드:", - "account.pro.renew": "프로 계정 갱신", - "account.prolink.errorTitle": "연결 오류", - "account.prolink.errorText": "다른 기기에서 코드를 정확하게 복사하셨나요?", - "account.prolink.successTitle": "기기 연결 완료", - "account.prolink.successText": "성공적으로 기기를 연결했습니다! 다른 기기가 프로가 될 때까지 잠시 기다려주세요.", - "account.signin": "로그인", - "account.signout": "로그아웃", - "account.submit": "제출", - "account.username": "사용자 이름", - "modal.register.free.header": "Yinbi Wallet에 액세스하려면 등록 또는 로그인", - "modal.register.pro.header": "Yinbi Wallet에 액세스하려면 계정 비밀번호 추가", - "modal.register.free.text": "Yinbi Wallet을 사용하려면 Lantern 계정이 있어야 합니다.\n계속하려면 등록 또는 로그인하세요.", - "modal.register.pro.text": "Yinbi Wallet을 사용하려면 Lantern 계정에 비밀번호를 추가해야 합니다.", - "adyen.paymentMethods.title": "결제 방법", - "adyen.paymentMethods.storedMethods": "현재 결제 방법", - "adyen.paymentMethods.otherMethods": "다른 방법 선택", - "adyen.paymentMethods.moreMethodsButton": "더 많은 결제 방법", - "adyen.payButton": "결제", - "adyen.payButton.formatted": "%@ 결제", - "adyen.cancelButton": "취소", - "adyen.dismissButton": "확인", - "adyen.storeDetails": "다음 결제를 위해 저장", - "adyen.payment.redirecting": "리디렉션됩니다.", - "adyen.payment.processing": "결제 처리 중입니다.", - "adyen.creditCard.title": "카드 세부정보", - "adyen.creditCard.holderName": "카드 명의자 이름", - "adyen.creditCard.holderName.placeholder": "Kil Dong Hong", - "adyen.creditCard.numberField.title": "카드 번호", - "adyen.creditCard.numberField.placeholder": "1234 5678 9012 3456", - "adyen.creditCard.numberField.invalid": "유효하지 않은 카드 번호", - "adyen.creditCard.expiryDateField.title": "만료 날짜", - "adyen.creditCard.expiryDateField.placeholder": "MM/YY", - "adyen.creditCard.expiryDateField.invalid": "유효하지 않은 만료 날짜", - "adyen.creditCard.expiryDateField.month": "월", - "adyen.creditCard.expiryDateField.month.placeholder": "MM", - "adyen.creditCard.expiryDateField.year.placeholder": "YY", - "adyen.creditCard.expiryDateField.year": "년", - "adyen.creditCard.cvcField.title": "CVC/CVV", - "adyen.creditCard.cvcField.placeholder": "123", - "adyen.creditCard.installmentsField": "할부 개월 수", - "adyen.creditCard.storeDetailsButton": "이 카드를 저장하여 다음 결제 시 사용", - "adyen.creditCard.oneClickVerification.title": "카드 승인 확인", - "adyen.creditCard.oneClickVerification.message": "%@의 CVC 코드 입력", - "adyen.creditCard.oneClickVerification.invalidInput.title": "유효하지 않은 CVC", - "adyen.creditCard.oneClickVerification.invalidInput.message": "계속하려면 유효한 CVC를 입력하세요.", - "adyen.sepaDirectDebit.ibanField.title": "계좌번호(IBAN)", - "adyen.sepaDirectDebit.ibanField.placeholder": "NL53 ABNA 1925 1294 122", - "adyen.sepaDirectDebit.ibanField.invalid": "유효하지 않은 계좌번호", - "adyen.sepaDirectDebit.nameField.title": "명의자 이름", - "adyen.sepaDirectDebit.nameField.placeholder": "Kil Dong Hong", - "adyen.sepaDirectDebit.consentButton": "내 은행 계좌에서 아래 금액이 인출되는 데에 동의합니다.", - "adyen.sepa.ownerName": "명의자 이름", - "adyen.sepa.ibanNumber": "계좌번호(IBAN)", - "adyen.giropay.searchField.placeholder": "은행명/BIC/Bankleitzahl", - "adyen.giropay.minimumLength": "최소 3자", - "adyen.giropay.noResults": "검색 결과 없음", - "adyen.error.title": "오류", - "adyen.error.subtitle.redirect": "리디렉션 실패", - "adyen.error.subtitle.payment": "결제 실패", - "adyen.error.subtitle.refused": "결제 거부됨", - "adyen.error.message.unknown": "알 수 없는 오류 발생", - "adyen.error.message.cannotConnectToInternet": "인터넷에 연결하지 못함: 인터넷 연결 상태를 확인하세요.", - "adyen.error.message.cannotConnectToHost": "결제 서버에 연결하지 못했습니다.", - "adyen.error.retryButton": "재시도", - "adyen.idealIssuer.selectField.title": "은행", - "adyen.idealIssuer.selectField.placeholder": "은행 선택", - "adyen.creditCard.success": "결제 성공", - "adyen.oneClick.confirmationAlert.title": "%@ 결제 확인", - "adyen.redirect.cannotOpenApp.title": "앱을 열 수 없음", - "adyen.redirect.cannotOpenApp.appNotInstalledMessage": "이 앱은 이 디바이스에 설치되지 않아 열 수 없습니다.", - "adyen.holderName": "카드 명의자 이름", - "adyen.countryCode": "국가 코드", - "adyen.telephone.number": "전화번호", - "authorize.title": "프로 계정에 기기 연결", - "authorize.step1.have_pro_device": "다른 랜턴 프로 기기가 있습니다", - "authorize.step1.link": "디바이스 연결", - "authorize.step1.email_linking": "이메일 연결", - "authorize.device_linking_explanation": "다른 디바이스에 로그인했고 소지하고 있는 경우 이 방법을 사용하세요.", - "authorize.device_email_explanation": "디바이스 연결 PIN을 이메일로 받고 싶은 경우 이 방법을 사용하세요.", - "authorize.link_device": "디바이스 연결", - "authorize.step1.choose": "계정 연결 방법 선택", - "authorize.step1.or": "또는", - "authorize.step1.recover": "랜턴 프로 계정 복구", - "authorize.step1.start": "복구 시작", - "authorize.step1.no_mail": "이메일을 잊으셨나요?", - "authorize.step1.description": "이메일을 입력하시면 해당 계정이 있는 경우 디바이스 연결 코드를 이메일로 보내드립니다.", - "authorize.step2b.enter_code": "기기 복구 코드 입력", - "authorize.step2b.code": "기기 복구 코드", - "authorize.step2b.instruction": "{{email}}에 복구 코드 이메일이 전송되었습니다. 도착하는 데 몇 시간이 걸릴 수 있습니다. 이메일이 보이지 않으면 스팸 폴더를 확인하세요.", - "authorize.step2b.no_mail": "이메일 수신 못 함", - "authorize.step3.recovery": "계정 복구", - "authorize.step3.no_email": "앗! 그 이메일 주소를 찾는 데 문제가 생겼습니다. 계정을 찾기 위해 아래 정보를 채워주세요.", - "authorize.step3.no_code_received": "복구 이메일을 받는 데 문제가 있었나요? 아래 정보를 채워 주시면 48시간 안에 연락을 드리겠습니다.", - "authorize.step3.your_email": "귀하의 이메일", - "authorize.step3.payment_method": "결제 방법", - "authorize.step3.payment_method_hint": "프로 결제에 사용하신 계정 방법을 선택해 주세요.", - "authorize.step3.credit_card": "신용카드", - "authorize.step3.alipay": "AliPay", - "authorize.step3.android_pay": "안드로이드 페이", - "authorize.step3.by_referral": "친구 추천", - "authorize.step3.payment_account": "결제 계정", - "authorize.step3.payment_account_hint": "Alipay 계정 정보", - "authorize.step3.referral_code": "추천 코드", - "authorize.step3.purchase_date": "구입일", - "authorize.step3.note": "계정을 찾는 데 도움이 될 다른 정보를 적어주세요.", - "authorize.step4.title": "계정 복구 진행 중", - "authorize.step4.text1": "감사합니다. 계정 복구 요청이 접수되었습니다.", - "authorize.step4.text2": "48시간 안에 프로 계정 정보가 복구됩니다.", - "authorize.step4.text3": "이전 화면에서 입력하신 이메일 주소로 정보를 보내 드리겠습니다.", - "authorized.continue": "프로로 계속", - "authorized.text": "이 기기는 이제 귀하의 랜턴 프로 계정에 연결되었습니다.", - "authorized.title": "기기 인증", - "button.renew": "갱신", - "button.upgrade": "업그레이드", - "button.upgrade_now": "지금 업그레이드", - "button.upgrade_to_lantern_pro": "랜턴 프로로 업그레이드", - "button.copy_your_code": "코드를 복사하세요", - "button.try_again": "재시도", - "button.continue": "계속", - "bullet.click_button": "아래 버튼을 눌러 주세요", - "bullet.paste_code": "코드를 붙여 넣고 메시지의 링크를 다운로드 하세요", - "bullet.send_to_friends": "친구에게 보내기", - "cancel": "취소", - "confirm": "확인", - "norecoveryyinbi": "*Yinbi Wallet을 복구하지 않음", - "email.recovery.check.email": "이메일에 복구 코드 메시지가 있는지 확인", - "email.recovery.code.label": "복구 코드 입력 또는 붙여넣기", - "email.recovery.no.code": "코드를 받지 못하셨나요?", - "email.recovery.text": "이메일을 입력하면 암호 재설정 코드를 보내드립니다.\nYinbi Wallet이 있는 경우, Yinbi Wallet은 복구되지 않습니다. Yinbi Wallet을 복구하려면 Yinbi 복구 문구를 입력해야 합니다.", - "email.recovery.desc": "복구 코드를 이메일로 받고 싶은 경우 이 방법을 사용하세요.", - "device.recovery.desc": "다른 디바이스에 로그인했고 소지하고 있는 경우 이 방법을 사용하세요.", - "google_search": "Google 검색", - "giveaway.upgrade": "오늘 무료 배포 혜택을 받으려면 업그레이드하세요.", - "giveaway.title_released_today": "%sYNB 오늘 발행 중", - "giveaway.what_is_it": "Yinbi 선물이란 무엇인가요?", - "giveaway.description1": "Yinbi 재단은 Lantern Pro 구매자에게를 대상으로 Lantern을 통해 8,880억 YNB 암호화폐를 독점 배포합니다.", - "giveaway.description2": "YNB는 당일 발행되는 Yinbi 수량, 업그레이드/갱신 회원수, 가입 연수, 구매한 계정 수에 따라 매일 배포됩니다. YNB는 Lantern의 Yinbi Wallet에 바로 입금됩니다.", - "giveaway.learn_more": "자세히 알아보기", - "link_device": "이미 Pro 계정이 있나요? 디바이스를 연결하세요.", - "email.recovery": "이메일 복구", - "email_taken": "이미 등록된 이메일", - "username_taken": "이미 등록된 사용자 이름", - "err.unknown_error": "알 수 없는 오류", - "err.internal_error": "내부 오류", - "err.bad_input": "입력 오류", - "err.not_authorized": "인증되지 않음", - "err.user_exists": "사용자 이미 있음", - "err.no_such_user": "사용자 없음", - "err.user_already_verified": "사용자 이미 확인됨", - "err.invalid_user_verification": "사용자 인증 불가", - "err.user_unverified": "사용자 확인되지 않음", - "err.operation_temporarily_unavailable": "일시적으로 불가능", - "err.wrong_or_inexistent_plan": "존재하지 않거나 잘못된 상품", - "err.user_has_active_subscription": "이미 구독 중인 사용자", - "err.payment_error": "결제 오류", - "err.no_codes_left": "추천 코드 모두 사용", - "err.wrong_code": "추천 코드 틀림", - "err.redeeming_own_code_not_allowed": "스스로를 추천할 수 없습니다.", - "err.wrong_charge_id": "결제 ID 틀림", - "err.invalid_credentials": "입력한 사용자 자격 증명이 유효하지 않음", - "footer.reseller": "부자 되세요! 랜턴 프로 리셀러가 되세요. 여기를 클릭하세요", - "footer.reseller.email_subject": "랜턴 리셀러 프로그램에 대해 알고 싶어요", - "footer.reseller.email_body": "랜턴 리셀러가 되시면 랜턴 프로 구독권을 25% o까지 할인해 드립니다. 리셀러가 되고 싶은 이유를 아래에 적어주세요.", - "feature.faster_speed": "더 빠른 속도", - "feature.faster": "더 빠른 데이터센터", - "feature.unlimited": "무제한 데이터", - "feature.nologs": "로그 없음", - "feature.devices": "최대 3대의 디바이스 연결", - "feature.noads": "광고 없음", - "feature.antiblock": "차단 우회", - "feature.data_center": "더 좋은 데이터센터", - "feature.free_yinbi": "무료 Yinbi 암호화폐!", - "free.title": "랜턴 프로", - "free.desc": "빠른. 강한. 무제한. 보안.", - "free.link_account": "이미 Pro 계정이 있나요? 계정을 연결하세요.", - "home.get_lantern_pro": "랜턴 프로 받기", - "input.email": "이메일", - "input.your_email": "귀하의 이메일 주소", - "input.confirm_email": "이메일 주소 확인", - "input.enter_email": "이메일을 입력하세요", - "input.use_valid_email": "유효한 이메일 주소를 써주세요", - "input.email_not_match": "이메일 정보가 일치하지 않습니다", - "issue.your_email": "귀하의 이메일", - "issue.attach_image_failure": "이미지를 첨부할 수 없음", - "issue.try_again": "다시 시도해 주세요.", - "issue.select_issue": "문제 사항을 선택해 주세요.", - "issue.selected_issue": "문제 선택", - "issue.select_issue_hint": "드롭다운 메뉴에서 문제 사항을 선택하세요", - "issue.note": "문제에 대한 설명", - "issue.description": "문제 설명", - "issue.error": "문제 사항 보고 오류", - "issue.submit": "신고하기", - "issue.report_screenshot": "이미지를 드래그 또는 클릭하여 스크린샷 업로드", - "issue.reported": "문제를 신고해주셔서 감사합니다. 최대한 빨리 이메일로 연락 드리겠습니다.", - "issue.report_sent": "신고 제출됨", - "issue.type.no_access": "차단 사이트 접속 불가", - "issue.type.payment_fail": "결제 완료 불가", - "issue.type.cannot_login": "로그인 불가", - "issue.type.always_spinning": "무한 로딩", - "issue.type.slow": "느림", - "issue.type.cannot_link_device": "기기 연결 불가", - "issue.type.crashes": "갑작스러운 종료", - "issue.type.other": "기타", - "languages.title": "언어", - "lantern.email": "Lantern 이메일", - "mobile.link": "다음 링크를 사용하여 Android 디바이스에서 Lantern 다운로드:", - "mobile.title": "Android 버전 다운로드", - "nav.about": "정보", - "nav.account": "계정 관리", - "nav.authorize": "기기 추가", - "nav.authorized": "기기 인증", - "nav.unauthorized_link": "기기를 프로로 등록", - "nav.language": "언어", - "nav.lantern": "랜턴", - "nav.mobile": "모바일 버전 받기", - "nav.report_issue": "문제 사항 보고", - "nav.settings": "설정", - "nav.verify": "계정 인증", - "nav.yinbi": "Yinbi 받기", - "nav.home": "홈", - "nav.discover": "발견", - "nav.wallet": "Wallet", - "nav.yinbi_wallet": "Yinbi Wallet", - "notification.retry": "재시도", - "password.change": "비밀번호 변경", - "password.changed": "비밀번호 변경됨", - "continue.to.pro": "프로로 계속", - "username": "사용자 이름", - "password.new": "새 비밀번호", - "password.requirements": "
암호는 다음 조건을 충족해야 합니다.
  • 8자 이상
  • 소문자 최소 1개
  • 대문자 최소 1개
  • 숫자 최소 1개
  • 도용된 비밀번호 목록에 없을 것
", - "password.reset": "비밀번호 재설정", - "notifications.whatisnew": "새로운 기능 소개", - "payment.close": "닫기", - "payment.wait_for_pro": "랜턴 프로를 구매해주셔서 감사합니다! 랜턴이 자동으로 프로가 되는 동안 잠시 기다려 주세요.", - "payment_methods.select_name": "결제 방법 선택", - "payment_methods.alipay": "신용카드/Alipay", - "payment_methods.shetab": "Fast World Pay(Shetab)", - "payment_methods.shetab.details.header": "Lantern Pro 구매", - "payment_methods.shetab.details.body": "구매 계속을 클릭하면 외부 사이트로 리디렉션되어 결제가 완료되고 활성화 코드를 수집합니다.", - "payment_methods.shetab.details.tutorial_header": "Farsi 튜토리얼", - "payment_methods.shetab.details.purchase_voucher_button": "구매 계속", - "payment_methods.shetab.details.input_code_button": "활성화 코드 입력", - "plan.step1": "1단계", - "plan.apply": "적용", - "plan.step2": "2단계", - "plan.most_popular": "최고 인기!", - "plan.step3": "3단계", - "plan.choose_plan": "플랜 선택", - "plan.enter_email": "이메일 입력", - "plan.bestValue": "최고 가성비!", - "plan.per_month": "/월", - "plan.yinbi_2x": "+ Yinbi 2배!", - "plan.oneYear": "1년", - "plan.add_referral": "추천 코드 추가", - "plan.years": "{{years}} 연간 플랜", - "plan.desc": "한 번에 {{price}} 청구", - "plan.bonus_months": "+ {{bonusMonths}}개월", - "plan.price.cny": "¥%.02f", - "plan.price.usd": "$%.02f", - "plan.currency.cny": "(RMB)", - "plan.currency.usd": "(USD)", - "plan.time_unit": "/년", - "plan.select": "선택", - "plans.title": "랜턴 프로 상품", - "plans.lantern_pro": "랜턴 프로", - "plans.platforms": "Windows, Android, Mac, Ubuntu용", - "plans.from_reseller": "Lantern Pro 활성화 코드가 있나요? 여기를 클릭하세요.", - "plans.with_voucher_code": "활성화 코드가 있나요? 여기를 클릭하세요.", - "pro.apply": "귀하의 구독권은 다음 결제에 적용될 것입니다.", - "pro.title": "친구를 초대하고 무료로 프로를 사용하세요.", - "pro.subtitle": "친구가 2년제 상품을 구입하면 추가로 3개월, 친구가 1년제 상품을 구입하면 추가로 1개월 분을 드립니다.", - "pro.share": "친구들과 코드를 공유하고 크레딧을 얻으세요.", - "promotion.title": "랜턴 프로 체크아웃", - "promotion.title.activation": "Lantern Pro 활성화", - "promotion.enter_and_confirm_email": "이메일 주소를 입력하고 확인해 주세요.", - "promotion.code.hint": "추천 코드를 입력해 주세요 (없는 경우 )", - "promotion.code.label": "추천 코드", - "promotion.payment": "결제 계속", - "promotion.loading": "로드 중...", - "promotion.howto_1y": "친구가 추천 코드를 공유하면, 코드를 입력해서 무료로 1개월 프로를 받으세요.", - "promotion.howto_2y": "친구가 추천 코드를 공유하면, 코드를 입력해서 무료로 3개월 프로를 받으세요.", - "promotion.pay": "{{amount}} 결제", - "promotion.select": "선택", - "promotion.promotion_applied_1y": "+1개월 보너스", - "promotion.promotion_applied_2y": "+3개월 보너스", - "promotion.too_many_referrals": "이 추천 코드는 이미 사용되었습니다. 추가 프로를 받기 위해 체크아웃 해주세요.", - "promotion.activation.enter_and_confirm_email": "랜턴 프로 계정을 등록하기 위해 이메일 주소를 입력하고 확인해 주세요.", - "promotion.activation.label": "XXXXX-XXXXX-XXXXX-XXXXX-XXXXX", - "promotion.activation.hint": "활성화 코드", - "promotion.activation.instructions": "계정을 등록하려면 이메일 주소와 리셀러로부터 받은 25자리 활성화 코드를 입력하세요.", - "promotion.activation.howto": "위에 25자의 랜턴 프로 활성 코드를 적어주세요. 코드를 받지 않았다면 이전 화면에서 프로를 구매하거나 온라인으로 리셀러를 찾아 주세요.", - "promotion.activation.continue": "Pro 등록", - "promotion.voucher.hint": "활성화 코드", - "promotion.voucher.howto": "위에 12자 Fast World Pay 활성화 코드 입력", - "promotion.voucher.label": "XXXXXXXXXXXX", - "promotion.voucher.error.default": "활성화 코드 사용 중 오류입니다. contact@fastworldpay.com 에 문의하여 도움을 받으세요.", - "promotion.voucher.error.invalid_code": "유효하지 않은 활성화 코드", - "promotion.voucher.error.invalid_plan": "유효하지 않은 플랜에 연결된 활성화 코드", - "promotion.voucher.error.already_redeemed": "이미 사용된 활성화 코드", - "referral.code": "추천 코드", - "referral.text": "추천 코드 %s 를 사용해서 가입할 때 3개월을 무료로 사용하세요!", - "referral.description_free": "친구에게 코드를 공유하고 친구가 Pro 구매 시 Lantern Pro 1개월 무료 혜택을 받으세요!", - "referral.description_pro": "친구에게 코드를 공유하고 친구가 Pro 구매 시 Lantern Pro 1개월 무료 추가 혜택을 받으세요!", - "register": "등록", - "renew.subtitle_early": "3 개월 무료 갱신!", - "renew.subtitle_last_day": "3 개월 무료 갱신!", - "renew.subtitle_expired": "45 일 무료 일 갱신!", - "renew.details_early": "랜턴 프로 멤버십은 곧 종료됩니다. 지금 갱신하고 3 개월까지 무료로 즐기십시오!", - "renew.details_last_day": "Lantern Pro 멤버십이 오늘 종료됩니다! 지금 갱신하고 최대 3개월 무료로 즐기세요!", - "renew.details_expired": "Lantern Pro 멤버십이 만료되었습니다. 지금 갱신하고 최대 45일 무료로 즐기세요!", - "renew.asterisk_early": "* 이 기간 한정 혜택은 조기 갱신에만 유효합니다.", - "renew.asterisk_last_day": "* 이 특별 제안을 받을 수 있는 마지막 기회입니다!", - "renew.asterisk_expired": "※ 이 혜택은 한정된 시간 제공입니다!", - "renew.plan_label": "Lantern Pro - %s", - "renew.plan_renewal_bonus_1_month": "$%d%s + 1개월 무료", - "renew.plan_renewal_bonus_months": "$%d%s + %d개월 무료", - "renew.plan_renewal_bonus_days": "$%d%s + %d일 무료", - "renew.next": "다음", - "renew.decline": "오퍼 거절", - "renew.decline_question": "이 오퍼를 거절하시겠어요?", - "renew.decline_yes": "나중에 갱신", - "renew.decline_dismiss": "지금 갱신", - "renew.notification_title_30_days": "지금 Pro 갱신하면 엄청난 할인 제공!", - "renew.notification_text_30_days": "Lantern Pro 계정이 {{days}}일 후 만료됩니다. 지금 갱신하고 최대 3개월을 무료로 받으세요.", - "renew.notification_title_2_days": "내일 Lantern Pro 할인 종료!", - "renew.notification_text_2_days": "Pro 계정이 내일 만료됩니다. 엄청난 할인 기회를 놓치지 마세요.", - "renew.notification_title_last_day": "마지막 할인 기회!", - "renew.notification_text_last_day": "Lantern Pro 계정이 만료되었습니다. 오늘 갱신하고 3개월을 무료로 받으세요.", - "replica.upload": "업로드", - "replica.post": "게시", - "replica.relevance": "관련성", - "replica.upload_date": "업로드 날짜", - "replica.gallery_view": "갤러리 보기", - "replica.list_view": "목록 보기", - "replica.copy_lantern_link": "Lantern 링크 복사", - "replica.docs": "문서", - "replica.other": "기타", - "replica.apps": "앱", - "replica.images": "이미지", - "replica.upload_alert.dont_show": "다시 표시하지 않음", - "replica.upload_alert.cancel": "업로드 취소", - "replica.upload_alert.resume": "업로드 재개", - "replica.upload_alert.info": "중요 정보!", - "replica.upload_alert.desc1": "Lantern에 업로드한 파일은 분산 저장되고 탈중앙화됩니다. 업로드한 파일은 다른 사용자가 일단 액세스하게 되면 '내 파일'에서 삭제되더라도 Lantern을 포함한 네트워크 내 그 누구도 삭제할 수 없습니다.", - "replica.upload_alert.desc2": "민감한 콘텐츠를 업로드할 때는 파일 내, 또는 파일명에 개인 식별 정보를 사용하지 마세요.", - "replica.videos": "동영상", - "replica.next": "다음", - "replica.previous": "이전", - "replica.select_all": "모두 선택", - "replica.search_replica": "검색", - "replica.no_files_found": "파일이 없음", - "replica.or_content": "다른 사람이 찾을 수 있는 회원님의 콘텐츠!", - "replica.try_again": "다른 키워드를 사용해보세요.", - "replica.upload_success": "업로드 성공!", - "replica.cannot_preview": "이 파일 유형에 미리보기 없음", - "replica.size": "크기", - "replica.uploaded": "업로드됨", - "replica.invalid_link": "유효하지 않은 링크", - "replica.close": "닫기", - "replica.my_files": "내 파일", - "replica.filename": "파일명", - "replica.filename_required": "파일명(필수)", - "replica.filetype": "파일 유형", - "replica.sortby": "정렬 기준", - "replica.link": "복제본 링크", - "replica.collapse": "접기", - "replica.publish": "발행", - "replica.cancel": "취소", - "replica.delete": "삭제", - "replica.delete_file": "파일 삭제", - "replica.failed_to_delete": "삭제 실패", - "replica.link_lookup_failure": "링크를 찾지 못함", - "replica.delete_file_confirmation_1": "다음을 삭제할까요?", - "replica.delete_file_confirmation_2": "(위치: 업로드한 파일)", - "replica.share_file": "파일 공유", - "replica.download_and_view": "다운로드/보기", - "replica.download": "다운로드", - "replica.copy_link": "복제본 링크 복사", - "replica.find_file": "파일 찾기", - "replica.file_drop_prompt": "게시할 파일 여기 드래그 또는 찾아보기", - "settings.general": "일반", - "settings.feedback": "피드백", - "settings.autoLaunch": "시스템 시작 시 랜턴 실행", - "settings.autoReport": "랜턴에 기여하기 위해 사용 통계를 전송", - "settings.proxyAll": "모든 트래픽 프록시", - "settings.proxyAllHelpTitle": "\"모든 트래픽을 프록시\"하면 어떻게 되나요?", - "settings.proxyAllHelp1": "이 옵션이 활성화되면 모든 트래픽이 Lantern을 통해 전송됩니다(더욱 안전한 보안 옵션).", - "settings.proxyAllHelp2": "이 옵션이 비활성화되면 차단된 트래픽만 Lantern을 통해 전송됩니다(가장 빠르고 널리 사용되는 옵션).", - "settings.show_advanced": "고급 설정 표시", - "settings.hide_advanced": "고급 설정 숨기기", - "settings.systemProxy": "시스템 프록시 관리", - "settings.title": "설정", - "settings.http_proxy": "HTTP(S) 프록시:", - "settings.socks_proxy": "SOCKS 프록시:", - "settings.caution": "주의:", - "settings.caution_text": "\"시스템 프록시 관리\"를 해제하실 경우 브라우저가 랜턴을 자동으로 사용할 수 없습니다. 수동으로 설정하는 법을 아신다면 위의 정보를 참고하세요.", - "settings.select_language": "언어 선택", - "status.lantern": "Lantern 소개", - "status.click_reconnect": "다시 연결하려면 여기를 클릭", - "status.server_location": "서버 위치", - "status.tooltip1": "Lantern은 스마트하게 서버를 선택하여 최고의 데이터센터에 연결해줍니다.", - "status.tooltip2": "Lantern Pro 전용 데이터센터의 최적화된 서버 선택으로 더욱 빠른 속도를 즐기려면 Lantern Pro로 업그레이드하세요.", - "status.protected_connection": "연결 보호 중", - "status.please_wait": "1~2분 정도 소요됩니다...", - "status.connecting": "연결 중...", - "status.no_internet": "끔", - "status.no_internet_connection": "인터넷 연결 없음", - "status.connected": "켬", - "status.disconnected": "끔", - "status.throttled": "속도 스로틀링(데이터 제한)", - "status.no_system_proxy": "{{status}}, 시스템 프록시 관리하지 않는 중", - "status.fail_to_set_system_proxy": "Lantern을 시스템 프록시로 설정하지 못함", - "status.fail_to_open_browser": "Lantern 사용자 인터페이스를 표시하기 위해 브라우저 창을 열지 못함", - "terms_of_service.acknowledgment": "{{buttonText}} 버튼을 클릭하면 Lantern 서비스 약관에 동의하게 됩니다.", - "terms_of_service.replica": "Lantern 제품을 검색, 업로드 또는 사용하면 Lantern 서비스 약관, 개인정보 보호정책, DMCA 정책에 동의하게 됩니다.", - "top_sites.google": "Google", - "top_sites.twitter": "트위터", - "top_sites.youtube": "YouTube", - "top_sites.facebook": "페이스북", - "top_sites.wikipedia": "Wikipedia", - "verify.header": "디바이스 연결 PIN 입력 또는 붙여넣기", - "verify.code": "기기 연결 코드", - "verify.howto_1": "다른 기기에 프로 계정이 있다면, 인증 코드를 받기 위해 이메일 주소를 써주세요.", - "verify.howto_1a": "귀하는 지금 인증되지 않은 프로 사용자입니다. 이메일 주소를 입력하여 인증 절차를 진행해 주세요. 그 후에 다수의 기기를 연결하실 수 있습니다.", - "verify.howto_2": "디바이스를 Pro 계정에 연결하려면:", - "verify.howto_3": "1. 다른 디바이스 메뉴에서 'Pro를 사용할 수 있게 디바이스 승인'을 선택합니다.", - "verify.howto_4": "2. 1단계에서 연결 PIN을 얻어 제출합니다.", - "verify.reminder": "*두 디바이스 모두에서 최신 버전의 Lantern이 실행 중이어야 함", - "verify.enter_pin": "디바이스 연결 PIN 입력 또는 붙여넣기", - "verify.submit": "제출", - "verify.title": "계정 인증", - "welcomeToPro.continue": "프로로 계속", - "welcomeToPro.invite": "친구가 2년제 상품을 구입하면 추가로 3개월, 친구가 1년제 상품을 구입하면 추가로 1개월 분을 드립니다. 지금 초대하세요!", - "welcomeToPro.thanks": "랜턴 프로를 구매해주셔서 감사합니다!", - "welcomeToPro.title": "랜턴 프로에 오신 것을 환영합니다.", - "welomeToPro.title_exclamation": "랜턴 프로에 오신 것을 환영합니다.", - "welcomeToPro.description": "이제 차단된 사이트 및 서비스에 무제한 액세스할 수 있습니다.", - "messages.copied_to_clipboard": "코드가 복사되었습니다. 친구들과 공유하세요!", - "messages.datacap": "무료 고속 데이터를 모두 사용했습니다. 무제한 고속 데이터를 위해 프로로 업그레이드해 주세요.", - "messages.fatal_error": "죄송합니다. 현재 랜턴 서버에 연결할 수 없습니다. 인터넷 연결을 확인하고 다시 시도해 주세요.", - "messages.backend_gone": "죄송합니다. 랜턴이 작동하지 않는 것 같습니다. 랜턴을 재시작하고 다시 시도해 주세요.", - "messages.get_help": "도움말", - "freeProCredits.title": "친구 초대하기", - "freeProCredits.shareWithFriends": "친구와 코드를 공유하고 무료로 사용하세요!", - "freeProCredits.shareWithFriendsDesc": "친구가 2년제 상품을 구입하면 추가로 3개월, 친구가 1년제 상품을 구입하면 추가로 1개월 분을 드립니다.", - "cards.serverLocation.unknown": "알 수 없음", - "cards.serverLocation.description": "최적화된 서버 위치", - "cards.serverLocation.description-free": "서버 위치", - "cards.serverLocation.description-upgrade": "더 빠른 서버로 업그레이드", - "cards.serverLocation.title": "현재 위치:", - "cards.serverLocation.location": "%s, %s", - "cards.serverLocation.text": "Lantern은 도쿄, 싱가포르, 홍콩, 샌프란시스코, 뉴욕, 암스테르담, 방갈로르 등에 소재한 데이터센터 중에서 가장 빠른 연결이 가능한 서버를 자동으로 스마트하게 찾아 선택해줍니다.", - "cards.serverLocation.text-free": "Lantern은 스마트하게 서버를 선택하여 최고의 데이터센터에 연결해줍니다.", - "cards.serverLocation.upgrade-link": "Lantern Pro 전용 데이터센터의 최적화된 서버 선택으로 더욱 빠른 속도를 즐기려면 Lantern Pro로 업그레이드하세요.", - "cards.httpsUpgrades.description": "HTTPS 업그레이드", - "cards.httpsUpgrades.title": "HTTPS 업그레이드: %d", - "cards.httpsUpgrades.text": "Lantern은 가능하다면 안전하지 않은 HTTP 연결을 암호화된 HTTPS 연결로 자동 업그레이드하여 웹서핑 중 개인정보를 안전하게 보호합니다.", - "cards.adsBlocked.description": "광고 차단됨", - "cards.adsBlocked.title": "차단된 광고: %d", - "cards.adsBlocked.text": "Lantern은 침입성 광고를 차단하여 웹페이지 로드 시간을 단축하고 대역폭을 절약해주어 더욱 원활한 브라우징 환경을 제공합니다.", - "cards.dataUsage.description": "데이터 사용량", - "cards.dataUsage.upgrade": "지금 업그레이드", - "cards.dataUsage.mb-used": "월 고속 데이터를 %d/%dMB 사용하셨습니다.", - "cards.dataUsage.upgrade-link": "무제한 고속 서비스를 즐기려면 지금 업그레이드하세요!", - "cards.subscription.description": "Pro 구독", - "cards.subscription.renew": "갱신", - "cards.subscription.months": "구독에 Lantern Pro가 %d개월 남았습니다.", - "cards.subscription.days": "구독에 Lantern Pro가 %d일 남았습니다.", - "cards.subscription.unit.months": "개월", - "cards.subscription.unit.days": "일", - "cards.subscription.renew-link": "시간을 추가하려면 구독을 갱신하세요.", - "auth.username.or.email": "사용자 이름 또는 이메일", - "auth.signin": "로그인", - "current.password": "현재 비밀번호", - "new.password": "새 비밀번호", - "auth.change.password": "비밀번호 변경", - "confirm.new.password": "새 비밀번호 재입력", - "auth.password": "비밀번호", - "auth.forgot.password": "비밀번호를 잊으셨나요?", - "auth.create.account": "계정 만들기", - "auth.missing.username": "사용자 이름 누락", - "auth.missing.current.password": "현재 비밀번호 누락", - "auth.missing.new.password": "새 비밀번호 누락", - "auth.missing.confirm.password": "재입력 암호 누락", - "invalid_credentials": "유효하지 않은 자격 증명", - "yinbi.wallet": "Yinbi Wallet", - "create.wallet": "Wallet 만들기", - "new.to.yinbi": "Yinbi를 처음 접하시나요?", - "setup.wallet": "예, Wallet을 새로 설정할게요!", - "web.wallet": "아니요, Yin.bi 웹사이트에 Wallet이 있어요.", - "yinbi.next": "다음", - "yinbi.amount": "금액", - "yinbi.missing.address": "제공된 목적지 주소 없음", - "yinbi.missing.amount": "지정된 금액 없음", - "yinbi.missing.email": "지정된 이메일 주소 없음", - "yinbi.missing.username": "지정된 사용자 이름 없음", - "yinbi.missing.password": "지정된 비밀번호 없음", - "yinbi.invalid.address": "{{destination}} 주소는 유효한 Stellar 주소 아님", - "yinbi.send": "보내기", - "yinbi.to": "받는사람:", - "yinbi.try_again": "다시 시도해 보시겠어요?", - "yinbi.success.transaction": "거래 성공!", - "yinbi.failure.transaction": "거래 실패", - "yinbi.confirm.transaction": "거래 확인", - "yinbi.sent.details": "{{amount}}YNB를 {{destination}}에 보냈습니다.", - "yinbi.sent.failure.details": "거래 실패 이유:", - "yinbi.recipient": "수신자", - "yinbi.available.send": "{{balance}}YNB를 보낼 수 있습니다.", - "yinbi.wallet.header": "Wallet", - "yinbi.send.header": "Yinbi 보내기", - "yinbi.recovery.phrase": "Yinbi 복구 문구", - "yinbi.recover.account": "Yinbi Wallet과 Lantern 계정을 복구하려면 Yinbi 복구 문구 입력 또는 붙여넣기", - "yinbi.recovery.desc": "Lantern 계정과 별개로 Yinbi Wallet에 로그인하려면 이 방법을 사용하세요.", - "yinbi.redeem.codes": "벌크 Yinbi 코드 사용", - "yinbi.obtain.codes": "벌크 Yinbi 사용 코드는 reseller.lantern.io를 통해 얻을 수 있습니다.", - "yinbi.receive.header": "Yinbi 받기", - "yinbi.this.is.your.wallet": "다른 사람이 YNB를 보낼 수 있는 회원님의 Yinbi Wallet 주소입니다.", - "yinbi.your.address": "주소", - "yinbi.no.activity.header": "활동 없음", - "yinbi.upgrade.pro.button": "Pro로 업그레이드하고 무료 Yinbi 받기", - "yinbi.renew.pro.button": "Pro 갱신하고 무료 Yinbi 받기", - "yinbi.wallet.activity_header": "활동", - "yinbi.wallet.send": "보내기", - "yinbi.wallet.receive": "받기", - "yinbi.wallet.balance": "잔액", - "yinbi.wallet.getlantern.pro": "Lantern Pro + 무료 Yinbi 받기", - "yinbi.redemption.codes": "Yinbi 사용 코드", - "redeem_codes.title": "Yinbi 코드 사용", - "redeem_codes.redeem_button_text": "사용", - "redeem_codes.cancel_button_text": "취소", - "redeem_codes.success": "성공", - "redeem_codes.errors.missing_codes": "유효한 코드를 입력하지 않음", - "redeem_codes.errors.invalid_codes": "오류입니다. 하이라이트된 코드를 확인하세요. 취소 표시된 코드는 만료되어 더 이상 사용할 수 없습니다.", - "yinbi.new.account.text": "Yinbi를 보내거나 받으면 여기 표시됩니다.", - "yinbi.createAccount": "계정 만들기", - "yinbi.confirm.account.text": "문구를 올바르게 적었는지 확인하려면 복구 문구에서 다음 단어를 입력하세요.", - "create_account.invalid_words.error": "입력하신 단어가 복구 문구와 일치하지 않습니다.", - "yinbi.recovery_text": "회원님의 Yinbi Wallet 복구 문구입니다. 암호를 잊어버렸을 때 Yinbi Wallet을\n복구할 수 있는 유일한 수단입니다. 이 문구를 보관할 때는 비밀번호 관리자를\n사용하거나 인쇄하여 실물로 보관하세요.", - "yinbi.recovery_confirm_text": "회원님의 Yinbi Wallet 복구 문구입니다. 암호를 잊어버렸을 때 Yinbi Wallet을 복구할 수 있는 유일한 수단입니다. 이 문구를 보관할 때는 비밀번호 관리자를 사용하거나 인쇄하여 실물로 보관하세요.", - "yinbi.importWallet": "Yin.bi Wallet 가져오기", - "yinbi.wallet.text": "Yinbi Wallet을 사용하려면 이미 가입한 Yin.bi에\n로그인하거나 계정을 새로 만들어 Wallet을\n가져오면 됩니다.", - "yinbi.wallet.pro.text": "Yinbi Wallet을 사용하려면 이미 가입한 Yin.bi에 로그인하거나 계정을 새로 만들어 Wallet을 가져오면 됩니다.", - "yinbi.recovery_subheader": "Yinbi Wallet 복구 문구", - "yinbi.import_wallet.subheader": "Yinbi Wallet 가져오기", - "yinbi.import_wallet.text": "Wallet을 Lantern으로 이전하려면 Yin.bi 자격 증명으로 로그인", - "yinbi.import_wallet.success": "Wallet을 성공적으로 가져오면 이메일 주소를 추가하여 계정 등록을 완료하세요.", - "yinbi.import_wallet.success_subheader": "가져오기 성공!", - "yinbi.import_wallet.button": "Yin.bi Wallet 가져오기", - "yinbi.import_wallet.success_button": "등록 완료", - "yinbi.recovery_passphrase.label_text": "복구 문구", - "yinbi.recovery_passphrase.copy_button_text": "복사", - "replica.my_uploads": "내 업로드", - "replica.no_uploads": "아직 업로드 없음", - "replica.mime_type": "파일 유형:{{mime}}", - "replica.image_loading_error": "이미지 로드 중 오류", - "replica.trending_videos": "인기 동영상", - "replica.file_uploaded": "업로드: %d일 전", - "replica.file_size": "크기: %s", - "replica.finishing": "완료 중", - "terms_of_service.notice": "통지", - "terms_of_service.i_agree": "동의함", - "top_sites.top_sites": "인기 사이트" -} \ No newline at end of file diff --git a/locale/translation/lt.json b/locale/translation/lt.json deleted file mode 100644 index 59cc830d4..000000000 --- a/locale/translation/lt.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "TRAY_SHOW_LANTERN": "Show Lantern", - "TRAY_QUIT": "Quit Lantern" -} \ No newline at end of file diff --git a/locale/translation/lv.json b/locale/translation/lv.json deleted file mode 100644 index 59cc830d4..000000000 --- a/locale/translation/lv.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "TRAY_SHOW_LANTERN": "Show Lantern", - "TRAY_QUIT": "Quit Lantern" -} \ No newline at end of file diff --git a/locale/translation/ml.json b/locale/translation/ml.json deleted file mode 100644 index 59cc830d4..000000000 --- a/locale/translation/ml.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "TRAY_SHOW_LANTERN": "Show Lantern", - "TRAY_QUIT": "Quit Lantern" -} \ No newline at end of file diff --git a/locale/translation/ms.json b/locale/translation/ms.json deleted file mode 100644 index 14696b6e8..000000000 --- a/locale/translation/ms.json +++ /dev/null @@ -1,797 +0,0 @@ -{ - "LANTERN": "Lantern", - "pro": "Pro", - "BEAM": "Beam", - "TRAY_STATUS": "Status: %v", - "TRAY_CONNECT": "Sambuungan", - "TRAY_DISCONNECT": "Putuskan sambungan", - "TRAY_SHOW": "Tunjukkan %s", - "TRAY_UPGRADE_TO_PRO": "Upgrade ke Pro", - "TRAY_QUIT": "Keluar %s", - "BACKEND_DATA_TITLE": "Tiada lagi data %s berkelajuan tinggi", - "BACKEND_DATA_MESSAGE": "Naik taraf ke Pro untuk terus menggunakan %s dengan kelajuan penuh!", - "BACKEND_DATA_PERCENT_TITLE": "Mencapai %s daripada data %s anda", - "BACKEND_DATA_PERCENT_MESSAGE": "Anda telah menggunakan %s daripada %s data kelajuan tinggi anda. Naik taraf sekarang!", - "BACKEND_CLICK_LABEL": "Buka", - "BACKEND_CLICK_LABEL_OPEN": "Buka", - "BACKEND_CLICK_LABEL_HELP": "Help", - "BACKEND_CLICK_LABEL_GOT_IT": "Faham", - "BACKEND_AUTOUPDATED_TITLE": "Kemas kini %s ke versi %s", - "BACKEND_AUTOUPDATED_MESSAGE": "%s %s telah dimuat turun. Sila mulakan semula %s untuk menggunakannya.", - "BACKEND_MITM_INSTALL_CERT": "%s ingin memasang sijil tersuai untuk meningkatkan prestasi", - "BACKEND_MITM_INSTALL_CERT_WINDOWS_BODY": "Sila benarkan %v membuat perubahan pada sistem anda", - "BACKEND_ALERT_TITLE": "Amaran kritikal memerlukan perhatian anda", - "BACKEND_INSTALL_DIAGNOSTIC_TOOLS": "%s memerlukan keizinan anda untuk memasang alat diagnostik. Ini akan membantu kami meningkatkan pengalaman %s anda.", - "BACKEND_CONFIG_SAVE_ERROR_TITLE": "Tidak dapat menyimpan konfigurasi", - "BACKEND_CONFIG_SAVE_ERROR_MESSAGE": "Tidak dapat menyimpan konfigurasi aplikasi. %s tidak dapat menjamin yang trafik akan diproksikan dengan betul.", - "about.content": "Lantern merupakan suatu aplikasi yang menawarkan akses yang cepat, boleh dipercayai dan selamat di Internet terbuka.", - "app.error": "Sesuatu tidak kena!", - "about.faq": "Baca soalan-soalan yang kerap ditanya mengenai Lantern", - "about.open": "Internet Terbuka bagi Semua", - "about.questions": "Soalan?", - "about.title": "Mengenai", - "account.add.password": "Tambah Kata Laluan Akaun", - "account.agree.terms": "Saya faham bahawa kehilangan kata laluan saya bermaksud kehilangan\n akses akaun. Lantern tidak dapat membantu anda mendapatkan semula\n kata laluan anda.", - "account.agree.terms.error": "Mesti terlebih dahulu bersetuju dengan syarat", - "account.cancel": "Batalkan Akaun Pro", - "account.created": "Akaun Dicipta!", - "account.create.pro.account.header": "Cipta Akaun Pro", - "account.create.pro.account.text": "Lantern sedang mengubah cara pengendalian akaun pengguna. Mulai sekarang pengguna Pro akan perlu mencipta nama pengguna dan kata laluan. Kelayakan ini akan digunakan untuk mendaftar masuk ke peranti lain, dan memberikan akses ke ciri baharu.", - "account.have.a.account": "Ada Akaun?", - "account.link.username.pro": "Pautkan nama pengguna ke Akaun Pro", - "account.recovery": "Pemulihan Akaun", - "account.recovery.link.device": "Pautkan Peranti", - "account.recovery.device.code": "Kod Pautan Peranti", - "account.recovery.device.enter.code": "Masukkan atau Tampal Pin Pautan Peranti", - "account.recovery.device.instructions.header": "Bagi pautkan peranti ke akaun Pro anda:", - "account.recovery.device.instructions.step.one": "1. Pilih pilihan 'Pautkan Peranti' dari item skrin Pengurusan Akaun pada peranti Desktop Pro anda, atau Dari menu pada Peranti Pro Mudah Alih anda.", - "account.recovery.device.instructions.step.two": "2. Masukkan kod pautan peranti, dan hantar.", - "account.recovery.device.instructions.part.three": "*Pastikan kedua-dua peranti menjalankan versi terbaru Lantern", - "account.recovery.method": "Sila Pilih kaedah untuk mendapatkan semula akaun anda", - "account.recovery.send.email": "Hantar Emel", - "account.recovery.submit": "Hantar", - "account.recovery.success": "Memautkan Berjaya!", - "account.pro_management": "Akaun Pengurusan Pro", - "account.free_management": "Pengurusan Akaun", - "account.free.cap": "{{mb}} MB data percuma yang tinggal. Ditetapkan semula pada {{reset}}", - "account.free.cap.upgrade": "Upgrade ke Pro bagi data kelajuan tinggi tidak terbatas", - "account.freelink.validFor": "sah untuk %s", - "account.freelink.desc": "Untuk Benarkan peranti ini menggunakan akaun Pro anda:", - "account.freelink.step1": "1. Pilih pilihan 'Pautkan Peranti' dari Menu pada Peranti Pro anda", - "account.freelink.step2": "2. Masukkan kod pautan peranti, dan hantar.", - "account.freelink.reminder": "* Pastikan kedua-dua peranti menjalankan versi terbaru Lantern", - "account.freelink.errorTitle": "Ralat Pautan", - "account.freelink.errorText": "Adakah anda pasti telah masukkan kod ke peranti Pro anda?", - "account.freelink.headerDesc": "Pautkan peranti ini ke akaun Pro anda", - "account.freelink.title": "Kod Pautan Peranti", - "account.pro.charge": "Akaun anda akan dikenakan bayaran secara automatik bagi satu tahun lagi untuk Lantern Pro di akhir kitaran pengebilan anda.", - "account.upgrade_pro": "Upgrade ke Pro", - "account.upgrade": "Tingkatkan", - "account.upgrade_platinum": "Tingkatkan kepada Platinum", - "account.create": "Cipta Akaun", - "account.email": "Emel", - "account.confirm.password": "Sahkan Kata Laluan", - "account.password": "Kata Laluan", - "account.pro.email": "E-mel:", - "account.pro.expiration": "Tamat Tempoh Akaun Pro", - "account.platinum.expiration": "Tamat Tempoh Akaun Platinum", - "account.pro.expired": "Akaun Pro anda telah tamat tempoh. Memperbaharuinya sekarang untuk data bulanan Tidak Terbatas.", - "account.pro.expiry": "Akaun Pro anda tamat tempoh dalam %s hari pada %s.", - "account.pro.bonusMonths": "Ini termasuk bulan bonus {{bonusMonths}} anda!", - "account.pro.thisdevice": "(Peranti Ini)", - "account.pro.logout": "LOG KELUAR", - "account.pro.removedevice": "MENGELUARKAN", - "account.pro.devices": "Peranti Lantern Pro (hingga 3)", - "account.pro.device.confirm.title": "Membatalkan kebenaran Peranti", - "account.pro.device.confirm": "Adakah anda pasti mahu mengalih keluar '{{device}}' dari akaun Lantern Pro anda?", - "account.pro.device.one.title": "Satu Peranti Sahaja", - "account.pro.device.one": "Maaf, tetapi anda tidak boleh mengeluarkan peranti yang telah dibatalkan kebenaran sebelum ini.", - "account.pro.linkingcode": "Kod Pautan Peranti:", - "account.pro.renew": "Memperbaharui Akaun Pro", - "account.platinum.renew": "Baharui Akaun Platinum", - "account.pro.renew_CN": "Memperbaharui", - "account.prolink.errorTitle": "Ralat Pautan", - "account.prolink.errorText": "Adakah anda pasti telah salin kod yang betul dari peranti anda yang lain?", - "account.prolink.successTitle": "Peranti Dipautkan", - "account.prolink.successText": "Anda telah berjaya pautkan peranti anda! Sila tunggu sebentar bagi peranti anda yang lain untuk menjadi pro secara automatik.", - "account.signin": "Sign In", - "account.signout": "Daftar Keluar", - "account.submit": "Hantar", - "account.username": "Nama pengguna", - "account.switch.to.register": "Tukar ke Cipta Akaun", - "account.switch.to.signin": "Tukar ke Daftar Masuk", - "account.invalid.username": "Nama pengguna tidak sah", - "account.invalid.email": "E-mel tidak sah", - "account.password.mismatch": "Sahkan Kata Laluan tidak sepadan dengan kata laluan", - "account.password.short": "Kata laluan terlalu pendek", - "account.password.lowercase": "Kata laluan mesti mengandungi sekurang-kurangnya satu huruf kecil", - "account.password.uppercase": "Kata laluan mesti mengandungi sekurang-kurangnya satu huruf besar", - "account.password.number": "Kata laluan mesti mengandungi sekurang-kurangnya satu nombor", - "account.password.compromised": "Kata laluan muncul pada senarai kata laluan yang dikompromi", - "modal.register.free.header": "Daftar atau Daftar masuk untuk mengakses Yinbi Wallet", - "modal.register.pro.header": "Tambah kata laluan akaun untuk mengakses Yinbi Wallet", - "modal.register.pro.signin.header": "Daftar masuk untuk mengakses Yinbi Wallet", - "modal.register.free.text": "Untuk menggunakan Yinbi Wallet, anda mesti mempunyai Akaun Lantern, sila Daftar atau\nDaftar masuk untuk Teruskan.", - "modal.register.pro.text": "Untuk menggunakan Yinbi wallet, anda mesti menambah kata laluan ke akaun Lantern anda.", - "modal.register.pro.signin.text": "Untuk menggunakan Yinbi walle, anda mesti daftar masuk ke akaun Lantern anda", - "adyen.paymentMethods.title": "Kaedah Pembayaran", - "adyen.paymentMethods.storedMethods": "Kaedah pembayaran anda", - "adyen.paymentMethods.otherMethods": "Pilih kaedah lain", - "adyen.paymentMethods.moreMethodsButton": "Lebih banyak kaedah pembayaran", - "adyen.payButton": "Bayar", - "adyen.payButton.formatted": "Bayar %@", - "adyen.cancelButton": "Batal", - "adyen.dismissButton": "OK", - "adyen.storeDetails": "Simpan untuk pembayaran saya yang seterusnya", - "adyen.payment.redirecting": "Anda akan dihalakan semula", - "adyen.payment.processing": "Pembayaran anda sedang diproses", - "adyen.creditCard.title": "Butiran Kad", - "adyen.creditCard.holderName": "Nama pemegang kad", - "adyen.creditCard.holderName.placeholder": "J. Smith", - "adyen.creditCard.numberField.title": "Nombor Kad", - "adyen.creditCard.numberField.placeholder": "1234 5678 9012 3456", - "adyen.creditCard.numberField.invalid": "nombor kad tidak sah", - "adyen.creditCard.expiryDateField.title": "Tarikh Tamat Tempoh", - "adyen.creditCard.expiryDateField.placeholder": "MM / YY", - "adyen.creditCard.expiryDateField.invalid": "Tarikh tamat tempoh tidak sah", - "adyen.creditCard.expiryDateField.month": "Bulan", - "adyen.creditCard.expiryDateField.month.placeholder": "MM", - "adyen.creditCard.expiryDateField.year.placeholder": "YY", - "adyen.creditCard.expiryDateField.year": "Tahun", - "adyen.creditCard.cvcField.title": "CVC / CVV", - "adyen.creditCard.cvcField.placeholder": "123", - "adyen.creditCard.installmentsField": "Bilangan ansuran", - "adyen.creditCard.storeDetailsButton": "Ingat kad ini untuk pembayaran saya yang seterusnya", - "adyen.creditCard.oneClickVerification.title": "Sahkan kad anda", - "adyen.creditCard.oneClickVerification.message": "Sila masukkan kod CVC untuk %@", - "adyen.creditCard.oneClickVerification.invalidInput.title": "CVC tidak sah", - "adyen.creditCard.oneClickVerification.invalidInput.message": "Sila masukkan CVC yang sah untuk meneruskan.", - "adyen.sepaDirectDebit.ibanField.title": "Nombor Akaun (IBAN)", - "adyen.sepaDirectDebit.ibanField.placeholder": "NL53 ABNA 1925 1294 122", - "adyen.sepaDirectDebit.ibanField.invalid": "Nombor akaun tidak sah", - "adyen.sepaDirectDebit.nameField.title": "Nama Pemegang", - "adyen.sepaDirectDebit.nameField.placeholder": "J. Smith", - "adyen.sepaDirectDebit.consentButton": "Saya bersetuju bahawa jumlah di bawah akan didebitkan dari akaun bank saya.", - "adyen.sepa.ownerName": "Nama Pemegang", - "adyen.sepa.ibanNumber": "Nombor Akaun (IBAN)", - "adyen.giropay.searchField.placeholder": "Nama Bank / BIC / Kod Bank", - "adyen.giropay.minimumLength": "Min. 3 aksara", - "adyen.giropay.noResults": "Tiada hasil carian", - "adyen.error.title": "Ralat", - "adyen.error.subtitle.redirect": "Hala semula gagal", - "adyen.error.subtitle.payment": "Pembayaran gagal", - "adyen.error.subtitle.refused": "Pembayaran ditolak", - "adyen.error.message.unknown": "Ralat tidak diketahui berlaku", - "adyen.error.message.cannotConnectToInternet": "Gagal menyambung ke internet : sila semak sambungan internet anda.", - "adyen.error.message.cannotConnectToHost": "Gagal menyambung ke pelayan pembayaran kami.", - "adyen.error.retryButton": "Cuba sekali lagi", - "adyen.idealIssuer.selectField.title": "Bank", - "adyen.idealIssuer.selectField.placeholder": "Pilih bank anda", - "adyen.creditCard.success": "Pembayaran Berjaya", - "adyen.oneClick.confirmationAlert.title": "Sahkan %@ pembayaran", - "adyen.redirect.cannotOpenApp.title": "Tidak Dapat Membuka Aplikasi", - "adyen.redirect.cannotOpenApp.appNotInstalledMessage": "Aplikasi ini tidak dapat dibuka kerana tidak dipasang pada peranti ini.", - "adyen.holderName": "Nama pemegang kad", - "adyen.countryCode": "Kod Negara", - "adyen.telephone.number": "Nombor telefon", - "android.download": "Android Lantern", - "android.download.title": "Muat turun Lantern Android", - "authorize.title": "Peranti dibenarkan untuk Pro", - "authorize.step1.have_pro_device": "Saya mempunyai satu lagi peranti Lantern Pro", - "authorize.step1.link": "Peranti Dipautkan", - "authorize.step1.email_linking": "E-mel Dipautkan", - "authorize.device_linking_explanation": "Gunakan kaedah ini jika anda mendaftar masuk ke peranti lain dan mempunyainya bersama anda", - "authorize.device_email_explanation": "Gunakan kaedah ini jika anda mahu pin pemautan Peranti dihantar ke e-mel anda", - "authorize.link_device": "Pautkan Peranti", - "authorize.step1.choose": "Sila pilih kaedah untuk Pautkan akaun anda", - "authorize.step1.or": "atau", - "authorize.step1.recover": "Saya perlu memulihkan akaun Lantern Pro saya", - "authorize.step1.start": "mulakan pemulihan", - "authorize.step1.no_mail": "Tidak ingat alamat Emel anda?", - "authorize.step1.description": "Masukkan e-mel anda dan jika akaun tersebut wujud, kami akan menghantar e-mel dengan kod pemautan peranti", - "authorize.step2b.enter_code": "Masukkan Kod Pemulihan Akaun anda", - "authorize.step2b.code": "Kod Pemulihan Akaun", - "authorize.step2b.instruction": "E-mel dengan kod pemulihan telah dihantar ke {{email}} sekiranya akaun ini wujud. E-mel ini mungkin mengambil masa beberapa jam untuk sampai. Sila semak folder spam anda jika anda tidak menemuinya.", - "authorize.step2b.no_mail": "Tidak menerima emel", - "authorize.step3.recovery": "Pemulihan Akaun", - "authorize.step3.no_email": "Oops! Kami mempunyai masalah mencari alamat emel ini. Sila berikan lebih maklumat di bawah bagi membantu kami mencari akaun anda.", - "authorize.step3.no_code_received": "Ada masalah menerima emel pemulihan anda? Masukkan maklumat di bawah dan kami akan hubungi anda dalam masa 48 jam.", - "authorize.step3.your_email": "Emel Anda", - "authorize.step3.payment_method": "Kaedah Bayaran", - "authorize.step3.payment_method_hint": "Pilih kaedah bayaran yang anda gunakan untuk mendapatkan Pro", - "authorize.step3.credit_card": "Kad Kredit", - "authorize.step3.alipay": "AliPay", - "authorize.step3.android_pay": "Android Pay", - "authorize.step3.by_referral": "Menerima Pro melalui Rujukan seorang rakan", - "authorize.step3.payment_account": "Akaun Bayaran", - "authorize.step3.payment_account_hint": "Masukkan maklumat akaun Alipay anda", - "authorize.step3.referral_code": "Kod Rujukan Anda", - "authorize.step3.purchase_date": "Tarikh Pembelian", - "authorize.step3.note": "Sila catatkan apa-apa maklumat lain yang mungkin membantu kami mencari akaun anda.", - "authorize.step4.title": "Pemulihan Akaun Dalam Process", - "authorize.step4.text1": "Terima kasih! Kami telah menerima pemohonan akaun pemulihan anda.", - "authorize.step4.text2": "Sila memperuntukkan 48 jam untuk dapatkan kembali maklumat akaun Pro anda.", - "authorize.step4.text3": "Kami akan hantar maklumat ke alamat emel yang dimasukkan dalam skrin sebelum ini.", - "authorized.continue": "Teruskan ke Pro", - "authorized.continue.lantern": "Teruskan ke Lantern", - "authorized.text": "Peranti ini kini dibenarkan menggunakan akaun Lantern Pro anda!", - "authorized.title": "Peranti Dibenarkan", - "button.account": "Akaun", - "button.renew": "Memperbaharui", - "button.upgrade": "Upgrade", - "button.upgrade_now": "Upgrade Sekarang", - "button.upgrade_to_lantern_pro": "Upgrade ke Lantern Pro", - "button.copy_your_code": "Salin kod anda", - "button.try_again": "Cuba sekali lagi", - "button.continue": "Teruskan", - "button.continue_to": "Teruskan kepada {{planType}}", - "bullet.click_button": "Klik butang di bawah", - "bullet.paste_code": "Tampal kod dan muat turun pautan dalam satu mesej", - "bullet.send_to_friends": "Hantar ke rakan-rakan", - "cancel": "Batal", - "confirm": "Sahkan", - "norecoveryyinbi": "*Tidak dapat mendapatkan semula Yinbi Wallet", - "email.recovery.check.email": "Semak e-mel anda untuk mendapatkan mesej dengan Kod Pemulihan", - "email.recovery.code.label": "Masukkan atau Tampal Kod Pemulihan", - "email.recovery.no.code": "Tidak mendapat Kod?", - "email.recovery.text": "Masukkan e-mel anda, dan kami akan mengirimkan kod untuk menetapkan semula kata laluan anda.\nSekiranya anda mempunyai Yinbi Wallet, ini TIDAK akan memulihkan Yinbi Wallet anda, untuk memulihkan Yinbi Wallet anda masukkan Frasa Pemulihan Yinbi anda.", - "email.recovery.desc": "Gunakan kaedah ini jika anda mahu kod pemulihan dihantar ke e-mel anda", - "device.recovery.desc": "Gunakan kaedah ini jika anda mendaftar masuk ke peranti lain dan mempunyai bersama anda", - "google_search": "Carian Google", - "giveaway.upgrade": "Naik taraf untuk menerima edaran percuma hari ini", - "giveaway.title_released_today": "{{formattedTokens}} YNB dikeluarkan hari ini", - "giveaway.what_is_it": "Apa itu Yinbi Giveaway?", - "giveaway.description1": "Yayasan Yinbi memberikan 888 bilion mata wang kripto YNB secara eksklusif melalui Lantern kepada pembeli Lantern Pro.", - "giveaway.description2": "YNB akan diedarkan pada akhir setiap hari, berdasarkan kuantiti Yinbi yang dikeluarkan pada hari itu, bilangan orang yang menaik taraf/memperbaharui, dan bilangan tahun atau akaun yang anda beli. YNB akan dimasukkan terus ke Yinbi Wallet anda di Lantern.", - "giveaway.learn_more": "Ketahui Lebih Lanjut", - "link_device": "Sudah mempunyai satu akaun Pro? Pautkan peranti", - "email.recovery": "Pemulihan E-mel", - "email_taken": "E-mel sudah didaftarkan", - "username_taken": "Nama pengguna sudah didaftarkan", - "err.unknown_error": "Ralat tidak diketahui", - "err.internal_error": "Ralat dalaman", - "err.bad_input": "Input buruk", - "err.not_authorized": "Tidak dibenarkan", - "err.user_exists": "Pengguna wujud", - "err.no_such_user": "Tiada pengguna sedemikian", - "err.user_already_verified": "Pengguna telah pun disahkan", - "err.invalid_user_verification": "Pengesahan pengguna yang tidak sah", - "err.user_unverified": "Pengguna Tidak Disahkan", - "err.operation_temporarily_unavailable": "Tiada operasi buat sementara waktu", - "err.wrong_or_inexistent_plan": "Pelan salah atau tidak wujud", - "err.user_has_active_subscription": "Pengguna mempunyai langganan aktif", - "err.payment_error": "Ralat bayaran", - "err.no_codes_left": "Tiada lagi kod rujukan", - "err.wrong_code": "Kod rujukan salah", - "err.redeeming_own_code_not_allowed": "Menebus kod dari diri sendiri tidak dibenarkan", - "err.wrong_charge_id": "Caj ID salah", - "err.wrong_link_code": "Kod pautan salah", - "err.invalid_credentials": "Kelayakan pengguna yang diberikan tidak sah", - "footer.reseller": "Manjana Wang! Menjadi seorang reseller Lantern Pro. Klik Disini", - "footer.reseller.email_subject": "Beritahu saya mengenai Program Reseller Lantern!", - "footer.reseller.email_body": "Apabila anda menjadi seorang Reseller Lantern anda berpeluang menjana sehingga 25% bagi setiap jualan langganan Lantern Pro. Beritahulah kami mengapa anda ingin menjadi seorang reseller, di bawah.", - "feature.faster_speed": "Kelajuan Lebih Tinggi", - "feature.faster": "Pusat Data Lebih Cepat", - "feature.unlimited": "Data Tidak Terbatas", - "feature.nologs": "Tiada Log", - "feature.devices": "Sambungkan sehingga 3 peranti", - "feature.noads": "Tiada Iklan", - "feature.yinbi.tooltip": "Yayasan Yinbi memberikan 888 bilion mata wang kripto YNB secara eksklusif melalui Lantern kepada pembeli Lantern Pro. YNB akan diedarkan pada penghujung setiap hari, berdasarkan kuantiti Yinbi yang dikeluarkan pada hari itu, bilangan orang yang membuat peningkatan/pembaharuan dan jumlah tahun atau bilangan akaun yang anda beli. YNB akan didepositkan terus kepada Dompet Yinbi anda dalam Lantern!", - "feature.antiblock": "Rintangan Disekat", - "feature.data_center": "Pusat Data Lebih Baik", - "feature.free_yinbi": "Mata Wang Kripto Yinbi Percuma!", - "free.title": "Lantern Pro", - "free.desc": "Lebih Cepat. Lebih Kuat. Tidak Terbatas. Selamat.", - "free.link_account": "Sudah pun mempunyai satu akaun Pro? Pautkan akaun anda.", - "home.get_lantern_pro": "Dapatkan Lantern Pro", - "home.get_lantern_platinum": "Tingkatkan pelan anda", - "home.welcome_popup_subheader": "Selamat datang ke Lantern baharu!", - "home.welcome_popup_content_1": "Kami telah berusaha keras, mengemas kini Lantern dan menambah ciri baharu.", - "home.welcome_popup_content_2": "Di UI baharu kami, anda akan menemui bar carian yang membolehkan anda mencari fail yang dikongsi di rangkaian Lantern. Anda juga boleh menyumbang kandungan dengan menyiarkan fail sendiri. Ini adalah ciri Beta, jadi cubalah, dan beritahu kami pendapat anda, kami akan terus membuat penambahbaikan berdasarkan maklum balas anda.", - "home.welcome_popup_button": "Cubalah", - "input.email": "Emel", - "input.your_email": "Alamat Emel Anda", - "input.confirm_email": "Sahkan Alamat Emel", - "input.enter_email": "Masukkan emel anda", - "input.use_valid_email": "Tulis satu alamat emel yang sah", - "input.email_not_match": "Emel tidak sepadan", - "input.existing_email": "E-mel sedia ada", - "issue.your_email": "Emel Anda", - "issue.attach_image_failure": "Tidak dapat melampirkan imej", - "issue.try_again": "Sila cuba lagi", - "issue.select_issue": "Sila Pilih satu Isu", - "issue.selected_issue": "Pilih Isu", - "issue.select_issue_hint": "Pilih satu isu dari menu jatuh turun", - "issue.note": "Huraikan Isu anda", - "issue.description": "Penerangan Isu", - "issue.error": "Ralat melapor isu", - "issue.submit": "Hantar Laporan", - "issue.report_screenshot": "Seret imej atau klik untuk memuat naik petikan skrin", - "issue.reported": "Terima kasih kerana melaporkan isu anda, kami akan menghubungi anda melalui E-mel secepat mungkin", - "issue.report_sent": "Laporan Dihantar", - "issue.type.no_access": "Tidak boleh akses laman-laman disekat", - "issue.type.payment_fail": "Tidak boleh menyelesaikan bayaran ini", - "issue.type.cannot_login": "Tidak boleh log masuk", - "issue.type.always_spinning": "Pemutar muatan berputar tanpa terhenti-henti", - "issue.type.slow": "Lambat", - "issue.type.cannot_link_device": "Tidak boleh pautkan peranti", - "issue.type.crashes": "Lantern terhempas", - "issue.type.other": "Lain-lain", - "languages.title": "Bahasa", - "lantern.email": "E-mel Lantern", - "mobile.link": "Gunakan pautan untuk muat turun Lantern ke peranti Android anda:", - "mobile.title": "Dapatkan Versi Android", - "nav.about": "Mengenai", - "nav.account": "Pengurusan Akaun", - "nav.authorize": "Tambah Peranti", - "nav.authorized": "Peranti Dibenarkan", - "nav.unauthorized_link": "Peranti dibenarkan untuk Pro", - "nav.language": "Bahasa", - "nav.lantern": "Lantern", - "nav.mobile": "Dapatkan Versi Mudah Alih", - "nav.report_issue": "Melapor suatu Isu", - "nav.settings": "Tetapan", - "nav.support": "Sokongan", - "nav.verify": "Pengesahan Akaun", - "nav.yinbi": "Penebusan Yinbi", - "nav.home": "Utama", - "nav.discover": "Temui", - "nav.wallet": "Dompet", - "nav.yinbi_wallet": "Yinbi Wallet", - "notification.retry": "Cuba semula", - "notifications": "Pemberitahuan", - "notifications.whatisnew": "Apa yang Baharu?", - "password.change": "Ubah Kata Laluan", - "password.changed": "Kata Laluan Diubah", - "continue.to.pro": "Terus ke Pro", - "username": "Nama Pengguna", - "password.new": "Kata Laluan Baharu", - "password.requirements": "
Kata laluan mesti mengandungi yang berikut:
  • 8 atau lebih aksara
  • 1 huruf kecil
  • 1 huruf besar
  • Sekurang-kurangnya 1 nombor
  • Tidak ada dalam senarai kata laluan yang dikompromikan
", - "password.reset": "Tetapkan Semula Kata Laluan", - "paxful.buy": "Beli", - "paxful.payment": "Kaedah pembayaran", - "paxful.bitcoin": "Bitcoin (BTC)", - "paxful.tether": "Tether (USDT)", - "paxful.wallet": "Dompet Dalam Talian", - "paxful.bank": "Pindahan Bank", - "paxful.gamer_card": "Kad Permainan", - "paxful.gift_card": "Kad Hadiah", - "paxful.cash": "Bayaran Tunai", - "paxful.digital_currency": "Mata Wang Digital", - "paxful.button": "Tunjukkan Tawaran Terbaik", - "payment.close": "Tutup", - "payment.redirectErrorTitle": "Ralat menyambung ke pelayan pembayaran", - "payment.redirectErrorText": "Kami sedang berusaha menyelesaikan isu ini. Sila semak semula kemudian.", - "payment.wait_for_pro": "Terima kasih kerana membeli Lantern Pro. Sila tunggu sebentar bagi Lantern anda menjadi Pro secara automatik.", - "payment.moreOptions": "Lagi Pilihan", - "payment.fewerOptions": "Sedikit Pilihan", - "payment_methods.select_name": "Pilih kaedah pembayaran", - "payment_methods.alipay": "Kad Kredit / Alipay", - "payment_methods.shetab": "Bayaran Dunia Pantas (Shetab)", - "payment_methods.shetab.details.header": "Untuk membeli Lantern Pro", - "payment_methods.shetab.details.body": "Apabila anda mengklik teruskan ke pembelian, anda akan dihalakan smeula ke tapak luar untuk melengkapkan pembayaran dan mendapatkan kod pengaktifan anda.", - "payment_methods.shetab.details.tutorial_header": "Tutorial Farsi", - "payment_methods.shetab.details.purchase_voucher_button": "Teruskan ke Pembelian", - "payment_methods.shetab.details.input_code_button": "Kod Pengaktifan Input", - "plan.step1": "Langkah 1", - "plan.apply": "Guna", - "plan.step2": "Langkah 2", - "plan.most_popular": "Paling popular!", - "plan.step3": "Langkah 3", - "plan.choose_plan": "Pilih Pelan", - "plan.enter_email": "Masukkan email", - "plan.choose_method": "Pilih Kaedah Pembayaran", - "plan.bestValue": "Tawaran Terbaik!", - "plan.per_month": "setiap bulan", - "plan.yinbi_2x": "+ 2x Yinbi!", - "plan.oneYear": "1 tahun", - "plan.add_referral": "Tambah Kod Rujukan", - "plan.years": "Pelan {{years}} tahun", - "plan.desc": "{{price}} dibil sekali", - "plan.bonus_months": "+{{bonusMonths}} bulan", - "plan.price.cny": "¥%.02f", - "plan.price.usd": "$%.02f", - "plan.currency.cny": "(RMB)", - "plan.currency.usd": "(USD)", - "plan.time_unit": "/YR", - "plan.select": "Pilih", - "plan.two_year": "Dua Tahun", - "plan.one_year": "Setahun", - "plan.savings": "Jimat {{formattedDiscount}} %", - "plans.title": "Pelan-pelan Lantern Pro", - "plans.lantern_pro": "Lantern Pro", - "plans.platforms": "Bagi Windows, Android, Mac, Ubuntu.", - "plans.from_reseller": "Mempunyai kod pengaktifan Lantern Pro? Klik di sini.", - "plans.with_voucher_code": "Ada kod pengaktifan? Tekan di sini.", - "pro.apply": "Kredit anda akan dimasukkan ke akaun anda pada kitaran pengebilan yang seterusnya.", - "pro.title": "Jemput rakan-rakan, dapatkan lebih Pro dengan percuma", - "pro.subtitle": "Apabila rakan anda membeli pelan dua tahun setiap anda akan mendapat 3 bulan tambahan Pro. pelan satu tahun akan memberikan setiap anda 1 bulan percuma.", - "pro.share": "Kongsi kod anda dengan rakan-rakan untuk mula menjana lebih kredit!", - "promotion.title": "Daftar keluar Lantern Pro", - "promotion.title.activation": "Pengaktifan Lantern Pro", - "promotion.enter_and_confirm_email": "Sila masukkan dan mengesahkan alamat emel anda", - "promotion.code.hint": "Masukkan kod Rujukan rakan anda (pilihan)", - "promotion.code.label": "Kod Rujukan", - "promotion.payment": "Teruskan untuk Bayaran", - "promotion.payment.btc": "Bayar dengan ₿", - "promotion.loading": "Muatan...", - "promotion.howto_1y": "Jika seorang rakan berkongsi kod rujukan dengan anda, masukkan kod itu untuk menerima satu bulan Lantern Pro percuma selepas daftar keluar.", - "promotion.howto_2y": "Jika seorang rakan berkongi kod rujukan dengan anda, masukkan kod itu untuk menerima tiga bulan Lantern Pro percuma selepas daftar keluar.", - "promotion.pay": "Bayar {{amaun}}", - "promotion.select": "Pilih", - "promotion.promotion_applied_1y": "+1 bulan bonus", - "promotion.promotion_applied_2y": "+3 bulan bonus", - "promotion.too_many_referrals": "Kod rujukan ini telah pun ditambahkan. Daftar keluar sekarang untuk menerima bulan tambahan anda.", - "promotion.activation.enter_and_confirm_email": "Sila masukkan dan mengesahkan alamat emel anda untuk mendaftar akaun Lantern Pro anda.", - "promotion.activation.label": "XXXXX-XXXXX-XXXXX-XXXXX-XXXXX", - "promotion.activation.hint": "Kod pengaktifan", - "promotion.activation.instructions": "Masukkan e-mel anda dan kod pengaktifan 25 digit yang diterima daripada penjual semula untuk mendaftarkan akaun anda.", - "promotion.activation.howto": "Sila masukkan kod pengaktifan 25 aksara Latern Pro di atas. Jika anda tidak mempunyai kod, sila beli Pro dari skrin sebelum ini atau cari seorang reseller Lantern Pro secara online.", - "promotion.activation.continue": "Daftar untuk Pro", - "promotion.voucher.hint": "Kod pengaktifan", - "promotion.voucher.howto": "Masukkan kod pengaktifan Fast World Pay 12 aksara anda di atas", - "promotion.voucher.label": "XXXXXXXXXXXX", - "promotion.voucher.error.default": "Ralat ketika menebus kod pengaktifan anda.", - "promotion.voucher.error.invalid_code": "Kod pengaktifan tidak sah", - "promotion.voucher.error.invalid_plan": "Kod pengaktifan dikaitkan dengan pelan yang tidak sah", - "promotion.voucher.error.already_redeemed": "Kod pengaktifan telah ditebus", - "referral.code": "Kod rujukan", - "referral.text": "Guna kod saya %s dan dapatkan 3 bulan percuma apabila anda mendaftar!", - "referral.description_free": "Kongsi kod anda dengan rakan anda, dan dapatkan perkhidmatan Lantern Pro selama 1 bulan secara percuma semasa mereka Membeli Pro!", - "referral.description_pro": "Kongsi kod anda dengan rakan anda dan dapatkan 1 bulan perkhidmatan Lantern Pro Tambahan secara percuma semasa mereka Membeli Pro!", - "register": "Daftar", - "renew.subtitle_early": "Perbaharui selama 3 bulan percuma!", - "renew.subtitle_last_day": "Perbaharui selama 3 bulan percuma!", - "renew.subtitle_expired": "Perbaharui selama 45 hari percuma!", - "renew.details_early": "Keahlian Lantern Pro anda akan berakhir tidak lama lagi. Perbaharui sekarang dan nikmati percuma sehingga tiga bulan!", - "renew.details_last_day": "Keahlian Lantern Pro anda berakhir hari ini! Perbaharui sekarang dan nikmati percuma sehingga tiga bulan!", - "renew.details_expired": "Keahlian Lantern Pro anda telah tamat tempoh. Perbaharui sekarang dan nikmati percuma sehingga empat puluh lima hari!", - "renew.asterisk_early": "* Tawaran waktu terhad ini hanya sah untuk pembaharuan awal.", - "renew.asterisk_last_day": "* Ini adalah peluang terakhir anda untuk menerima tawaran istimewa ini!", - "renew.asterisk_expired": "* Ini adalah tawaran masa terhad!", - "renew.plan_label": "Lantern Pro - %s", - "renew.plan_renewal_bonus_1_month": "$%d%s + 1 BULAN PERCUMA", - "renew.plan_renewal_bonus_months": "$%d%s + %d BULAN PERCUMA", - "renew.plan_renewal_bonus_days": "$%d%s + %d HARI PERCUMA", - "renew.next": "seterusnya", - "renew.decline": "Menolak Tawaran", - "renew.decline_question": "Adakah anda pasti ingin menolak tawaran ini?", - "renew.decline_yes": "Memperbaharui kemudian", - "renew.decline_dismiss": "Memperbaharui sekarang", - "renew.notification_title_30_days": "Memperbaharui Pro sekarang untuk penjimatan besar!", - "renew.notification_title_30_days_platinum": "Perbaharui Platinum sekarang untuk penjimatan besar!", - "renew.notification_text_30_days": "Akaun {{planName}} anda tamat dalam {{remainingDays}} hari. Perbaharui sekarang dan dapatkan hingga 3 bulan percuma.", - "renew.notification_title_2_days": "Diskaun {{planName}} berakhir esok!", - "renew.notification_text_2_days": "Akaun {{planName}} anda tamat tempoh esok. Jangan lepaskan peluang untuk mendapatkan diskaun besar.", - "renew.notification_title_last_day": "Peluang terakhir untuk mendapat diskaun!", - "renew.notification_text_last_day": "Akaun {{planName}} anda telah tamat tempoh. Perbaharui sekarang dan dapatkan hingga 3 bulan percuma.", - "replica.upload": "Muat naik", - "replica.favorite": "Kegemaran", - "replica.added_to_favorites": "Ditambah ke Kegemaran", - "replica.filedrop_error": "Ralat semasa memuat naik fail ini", - "replica.filedrop_error.file-too-large": "Saiz fail maksimum yang dibenarkan ialah {{fileSize}}", - "replica.filedrop_error.file-too-small": "Fail terlalu kecil", - "replica.filedrop_error.too-many-files": "Terlalu banyak fail", - "replica.filedrop_error.file-invalid-type": "Jenis fail ini tidak disokong pada masa ini", - "replica.filedrop_remove_file": "Alih keluar dari baris gilir", - "replica.post": "Muat Naik Fail", - "replica.relevance": "Keterkaitan", - "replica.upload_date": "Tarikh Muat Naik", - "replica.gallery_view": "Paparan Galeri", - "replica.list_view": "Paparan Senarai", - "replica.copy_lantern_link": "Salin Pautan Lantern", - "replica.documents": "Dokumen", - "replica.audio": "Audio", - "replica.application": "Aplikasi", - "replica.image": "Imej", - "replica.video": "Video", - "replica.web": "Web", - "replica.news": "Berita", - "replica.upload_alert.dont_show": "Jangan tunjukkan ini lagi", - "replica.upload_alert.cancel": "Batal Muat Naik", - "replica.upload_alert.resume": "Sambung Semula Muat Naik", - "replica.upload_alert.info": "Maklumat Penting!", - "replica.upload_alert.desc1": "Fail yang dimuat naik ke Lantern diedarkan dan didesentralisasi. Setelah ia diakses oleh pengguna lain, ia tidak dapat dipadam dari rangkaian oleh sesiapa pun, termasuk Lantern, walaupun ia dipadam dari senarai 'Fail Saya' anda.", - "replica.upload_alert.desc2": "Jangan menggunakan maklumat pengenalan diri peribadi di dalam fail atau nama fail semasa memuat naik kandungan sensitif.", - "replica.add_details": "Tambahkan butiran", - "replica.cannot_edit": "Nama fail tidak boleh diedit setelah diterbitkan.", - "replica.next": "Seterusnya", - "replica.previous": "Sebelumnya", - "replica.selectAll": "Pilih Semua", - "replica.search_replica": "Search", - "replica.search_results_info": "Tab ini hanya menunjukkan hasil Lantern.", - "replica.search_results_info_message": "Hasil Lantern terdiri daripada kandungan terkompromi yang dimuat naik oleh pengguna ke rangkaian Lantern.", - "replica.no_files_found": "Tiada Keputusan", - "replica.or_content": "kandungan anda sendiri untuk ditemui oleh orang lain!", - "replica.try_again": "Cuba kata kunci yang lain, atau", - "replica.upload_success": "Muat Naik Berjaya!", - "replica.cannot_preview": "Tiada pratonton untuk jenis fail ini", - "replica.no_description": "Tiada penerangan diberikan", - "replica.size": "Saiz", - "replica.uploaded": "Dimuat naik", - "replica.invalid_link": "Pautan Tidak Sah", - "replica.close": "Tutup", - "replica.files": "Fail", - "replica.upload_history": "Muat naik sejarah", - "replica.my_favorites": "Kegemaran", - "replica.no_uploads": "Tiada Muat Naik Lagi", - "replica.no_favorites": "Tiada Kegemaran Lagi", - "replica.mime_type": "Jenis fail: {{mime}}", - "replica.image_loading_error": "Ralat memuatkan imej", - "replica.play": "Main", - "replica.pause": "Jeda", - "replica.scrub": "Gerakkan", - "replica.skip_forward": "Langkau maju", - "replica.skip_backwards": "Langkau mundur", - "replica.trending_videos": "Video Sohor Kini", - "replica.file_uploaded": "Dimuat naik: {{days}} hari lalu", - "replica.file_size": "Saiz", - "replica.duration": "Tempoh", - "replica.filename": "Nama Fail", - "replica.filename_required": "Namakan Fail Anda", - "replica.description_optional": "Tambahkan penerangan", - "replica.expand": "Kembangkan butiran", - "replica.filetype": "Jenis fail", - "replica.sortby": "Isih Ikut", - "replica.link": "Pautan replika", - "replica.collapse": "Runtuhkan", - "replica.publish": "Terbitkan", - "replica.cancel": "Batal", - "replica.progress_current_upload": "Muat naik daripada", - "replica.progress_files": "fail", - "replica.progress_of": "daripada", - "replica.progress_upload_complete": "Selesai", - "replica.progress_upload_failure": "Muat naik gagal, sila cuba lagi.", - "replica.upload_in_progress": "Muat naik sedang berlangsung", - "replica.upload_pending": "Muat naik belum selesai", - "replica.upload_error": "Ralat muat naik", - "replica.upload_cancel": "Batal muat naik", - "replica.upload_confirm": "Adakah anda pasti mahu membatalkan muat naik?", - "replica.progress_view": "Paparan", - "replica.delete": "Padam", - "replica.remove": "Keluarkan", - "replica.delete_file": "Padam Fail", - "replica.remove_favorite": "Alih keluar dari Kegemaran", - "replica.failed_to_delete": "Gagal memadam", - "replica.failed_to_remove": "Gagal mengalih keluar", - "replica.link_lookup_failure": "Gagal mencari pautan", - "replica.delete_file_confirmation_1": "Adakah anda pasti anda mahu padam", - "replica.delete_file_confirmation_2": "dari muat naik anda", - "replica.remove_favorite_confirmation_1": "Adakah anda pasti mahu alih keluar", - "replica.remove_favorite_confirmation_2": "dari kegemaran anda", - "replica.share_file": "Kongsi Fail", - "replica.download_and_view": "Muat Turun/Paparan", - "replica.download": "Download", - "replica.copy_link": "Salin Pautan Replika", - "replica.find_file": "Cari fail", - "replica.file_drop_prompt": "Lepaskan fail untuk mula muat naik!", - "replica.empty_uploads_text1": "Klik", - "replica.empty_uploads_text2": "di sini", - "replica.empty_uploads_text3": "untuk membuat pos pertama anda.", - "replica.error_header": "Alamak", - "replica.error": "Terdapat ralat semasa memproses permintaan anda. Sila cuba lagi.", - "replica.serp_empty": "Google belum mengembalikan hasil untuk pertanyaan ini.", - "replica.disclaimer": "Lantern menjadikan carian anda berciri awanama dan melindungi carian anda daripada pihak ketiga", - "settings.general": "Am", - "settings.feedback": "Maklum Balas", - "settings.autoLaunch": "Lantern berjalan di sistem bermula", - "settings.autoReport": "Melapor statistiks penggunaan secara selamat untuk menyumbang kepada Lantern", - "settings.lantern_ads": "Tunjukkan Iklan Lantern", - "settings.lantern_ads_tooltip": "Lantern menunjukkan kepada anda iklan di beberapa laman web untuk membantu menyokong perkhidmatan kami. Tidak ada maklumat pengguna yang dikumpulkan atau dihantar ke pelayan kami. Sekiranya anda mematikan pilihan ini, anda mungkin masih melihat iklan, tetapi iklan tersebut bukan dari rangkaian Lantern.", - "settings.proxyAll": "Proksi semua trafik", - "settings.proxyAllHelpTitle": "APA YANG DIBUAT OLEH \"PROKSI SEMUA TRAFIK\"?", - "settings.proxyAllHelp1": "Jika diaktifkan, semua trafik akan dihantar melalui Lantern (pilihan paling Selamat).", - "settings.proxyAllHelp2": "Jika tidak diaktifkan, hanya trafik yang disekat dihantar melalui Lantern (pilihan paling cepat dan biasa).", - "settings.show_advanced": "Tunjukkan Tetapan Lanjutan", - "settings.hide_advanced": "Sembunyikan Tetapan Lanjutan", - "settings.systemProxy": "Mengurus sistem proksi", - "settings.title": "Tetapan", - "settings.http_proxy": "Proksi HTTP(S) :", - "settings.socks_proxy": "Proksi SOCKS :", - "settings.caution": "Berhati-hati:", - "settings.caution_text": "Jika anda nyahtanda \"Mengurus sistem proksi\", pelayar dan aplikasi anda tidak akan dapat menggunakan Lantern secara automatik. Jika anda tahu bagaimana untuk konfigurasi tetapan secara manual, sila rujuk maklumat di atas.", - "settings.select_language": "Pilih Bahasa", - "settings.diagnostics": "Lampirkan Maklumat Diagnostik", - "settings.diagnostics_tooltip": "Melampirkan maklumat diagnostik akan menghantar data pasukan Lantern yang diambil dari sambungan anda. Ini akan meningkatkan kemampuan kami untuk mengenal pasti dan menyelesaikan isu anda.", - "status.lantern": "Lantern adalah", - "status.click_reconnect": "Klik di sini untuk menyambung semula", - "status.server_location": "Lokasi Server", - "status.tooltip1": "Lantern menggunakan pilihan server pintar untuk menghubungkan anda kepada pusat-pusat data kami yang terbaik.", - "status.tooltip2": "Naik taraf ke Lantern Pro untuk kelajuan yang lebih pantas dengan pemilihan pelayan yang dioptimumkan dari pusat data Lantern Pro eksklusif kami", - "status.protected_connection": "Sambungan Anda Dilindungi", - "status.please_wait": "Ini mungkin mengambil masa satu atau dua minit...", - "status.connecting": "Sambungan...", - "status.no_internet": "Dimatikan", - "status.no_internet_connection": "Tiada sambungan Internet", - "status.connected": "Dihidupkan", - "status.disconnected": "Dimatikan", - "status.throttled": "Kelajuan Terganggu (Had Data)", - "status.no_system_proxy": "{{status}}, tidak menguruskan proksi sistem", - "status.fail_to_set_system_proxy": "Gagal menetapkan Lantern sebagai proksi sistem", - "status.fail_to_open_browser": "Gagal membuka tetingkap pelayar untuk menunjukkan antara muka pengguna Lantern", - "support.forum": "Forum Pengguna Lantern", - "support.faq": "FAQ", - "terms_of_service.acknowledgment": "Dengan mengklik {{buttonText}} , anda bersetuju dengan Syarat Perkhidmatan kami", - "terms_of_service.replica": "Dengan Mencari, memuat naik atau menggunakan produk kami dengan cara apa pun, anda bersetuju dengan Syarat Perkhidmatan, Dasar Privasi dan Dasar DMCA kami", - "top_sites.google": "Google", - "top_sites.twitter": "Twitter", - "top_sites.youtube": "Youtube", - "top_sites.facebook": "Facebook", - "top_sites.wikipedia": "Wikipedia", - "verify.header": "Masukkan atau Tampal Pin Pautan Peranti", - "verify.code": "Kod Pautan Peranti", - "verify.howto_1": "Jika anda mempunyai satu akaun Lantern Pro di peranti lain, sila masukkan aolamat emeil anda di sini untuk menerima satu kod bagi kebenaran peranti", - "verify.howto_1a": "Anda kini merupakan pengguna Pro yang tidak mempunyai kebenaran. Sila masukkan alamat emel anda untuk mengakrifkan akaun anda. Ini akan membolehkan anda paut kepada beberapa peranti.", - "verify.howto_2": "Untuk Memautkan Peranti ke Akaun Pro anda:", - "verify.howto_3": "1. Pilih 'Benarkan Peranti untuk Pro dari Menu peranti anda yang lain.", - "verify.howto_4": "2. Masukkan pin pemaut yang diperoleh dari langkah 1, dan serahkan.", - "verify.reminder": "*Pastikan kedua-dua peranti menjalankan versi terbaru Lantern", - "verify.enter_pin": "Masukkan atau Tampal Pin Pautan Peranti", - "verify.submit": "Hantar", - "verify.title": "Pengesahan Akaun", - "welcomeToPro.continue": "Terus ke Pro", - "welcomeToPro.invite": "Jemput rakan-rakan dan setiap anda akan mendapat 3 bulan percuma apabila mereka membeli pelan dua tahun, pelan satu tahun memberikan setiap anda 1 bulan percuma. Mula menjemput!", - "welcomeToPro.thanks": "Kini anda mempunyai akses tanpa had menggunakan pusat data terpantas kami. Maksimum tiga peranti boleh disambungkan dengan akaun anda.", - "welcomeToPro.title": "Selamat Datang ke Lantern Pro", - "welomeToPro.title_exclamation": "Selamat datang ke Lantern Pro!", - "purchase.failed": "Pembelian gagal. Sila cuba lagi kemudian.", - "purchase.success": "Pembelian Berjaya Dilakukan", - "purchase.success_title": "Selamat datang ke Lantern {{planType}}!", - "purchase.success_content_pro": "Anda kini mempunyai akses tanpa had menggunakan pusat data terpantas kami. Maksimum tiga peranti boleh disambungkan dengan akaun anda.", - "purchase.success_content_platinum": "Kini anda mempunyai akses tanpa had menggunakan talian khusus dan pusat data terpantas kami. Maksimum tiga peranti boleh disambungkan dengan akaun anda.", - "welcomeToPro.description": "Anda kini mempunyai akses tanpa had ke tapak dan perkhidmatan yang disekat", - "messages.copied_to_clipboard": "Kod Disalin. Kongsi dengan rakan-rakan anda!", - "messages.datacap": "Data kelajuan tinggi percuma habis. Upgrade ke Pro untuk data kelajuan tak terbatas.", - "messages.fatal_error": "Maaf, kami mempunyai masalah menghubungi server Lantern. Sila semat sambungan internet dan cuba lagi.", - "messages.backend_gone": "Maaf, Lantern seakan tidak berjalan lagi. Sila mulakan semula Lantern dan cuba lagi.", - "messages.get_help": "Dapatkan Bantuan", - "freeProCredits.title": "Menjemput Rakan-Rakan", - "freeProCredits.shareWithFriends": "Kongsi kod anda dengan rakan-rakan untuk menjana bulan percuma!", - "freeProCredits.shareWithFriendsDesc": "Apabila rakan anda membeli pelan dua tahun setiap anda akan mendapat 3 bulan percuma, pelan satu tahun akan memberi anda 1 bulan percuma,", - "cards.serverLocation.unknown": "Tidak diketahui", - "cards.serverLocation.description": "Lokasi Server yang Dioptimakan", - "cards.serverLocation.description-free": "Lokasi Server", - "cards.serverLocation.description-upgrade": "Upgrade untuk Server Lebih Cepat", - "cards.serverLocation.title": "Lokasi Kini:", - "cards.serverLocation.location": "%s, %s", - "cards.serverLocation.text": "Lantern menggunakan pilihan server pintar untuk mencari secara automatik sambungan yang secepat mungkin untuk anda dari pusat-pusat data kami di Tokyo, Singapore, Hong Kong, San Francisco, New York, Amsterdam, Bangalore dan banyak lagi.", - "cards.serverLocation.text-free": "Lantern menggunakan pilihan server pintar untuk menghubungkan anda kepada pusat-pusat data kami yang terbaik.", - "cards.serverLocation.upgrade-link": "Upgrade ke Lantern Pro untuk kelajuan lebih tinggi dengan pilihan server yang dioptimakan dari pusat-pusat data Lantern Pro kami yang eksklusif.", - "cards.httpsUpgrades.description": "Upgrade HTTPS", - "cards.httpsUpgrades.title": "Upgrade HTTPS : %d", - "cards.httpsUpgrades.text": "Lantern akan upgrade sambungan HTTP yang tidak selamat secara automatik ke sambungan HTTP yang disulitkan dengan sebaik mungkin untuk menyimpan maklumat anda dengan sulit sementara melayar laman.", - "cards.adsBlocked.description": "Menyekat Iklan", - "cards.adsBlocked.title": "Iklan Disekat: %d", - "cards.adsBlocked.text": "Lantern menyekat iklan-iklan yang menggangu untuk melajukan masa muatan halaman web, jimat jalur lebar, dan memberi anda suatu pengalaman melayar yang lebih lancar.", - "cards.dataUsage.description": "Penggunaan Data", - "cards.dataUsage.upgrade": "Upgrade sekarang", - "cards.dataUsage.mb-used": "Anda telah menggunakan %d/%dMB dari data kelajuan tinggi bulanan anda.", - "cards.dataUsage.upgrade-link": "Upgrade sekarang untuk mendapatkan perkhidmatan kelajuan tinggi tidak terbatas!", - "cards.subscription.description": "Langganan Pro", - "cards.subscription.renew": "Memperbaharui", - "cards.subscription.months": "Anda masih mempunyai %d bulan dari langganan Lantern Pro anda.", - "cards.subscription.days": "Anda masih mempunyai %d hari dari langganan Lantern Pro anda.", - "cards.subscription.unit.months": "MO", - "cards.subscription.unit.days": "HARI", - "cards.subscription.renew-link": "Memperbaharui langganan anda untuk masa lanjutan.", - "auth.email": "Emel", - "auth.username": "Nama Pengguna", - "auth.username.or.email": "Nama Pengguna atau E-mel", - "auth.signin": "Sign In", - "current.password": "Kata Laluan Semasa", - "new.password": "Kata Laluan Baharu", - "auth.change.password": "Ubah Kata Laluan", - "confirm.new.password": "Sahkan Kata Laluan Baharu", - "auth.password": "Kata Laluan", - "auth.have.recovery.phrase": "Ada Frasa Pemulihan?", - "auth.forgot.password": "Lupa atau tidak mempunyai kata laluan?", - "auth.create.account": "Cipta Akaun", - "auth.missing.username": "Tiada nama pengguna", - "auth.missing.current.password": "Tiada kata laluan semasa", - "auth.missing.new.password": "Tiada kata laluan baharu", - "auth.missing.confirm.password": "Tiada kata laluan pengesahan", - "invalid_credentials": "Kelayakan Tidak Sah", - "yinbi.wallet": "Yinbi Wallet", - "create.wallet": "Cipta Dompet", - "new.to.yinbi": "Baru dengan Yinbi?", - "setup.wallet": "Ya, mari sediakan dompet baharu!", - "web.wallet": "Tidak, saya mempunyai Dompet di Laman Web Yin.bi", - "yinbi.next": "Seterusnya", - "yinbi.amount": "Amaun", - "yinbi.missing.address": "Tidak ada alamat destinasi diberikan", - "yinbi.missing.amount": "Tiada amaun dinyatakan", - "yinbi.missing.email": "Tidak ada alamat e-mel dinyatakan", - "yinbi.missing.username": "Tiada nama pengguna dinyatakan", - "yinbi.missing.password": "Tiada kata laluan dinyatakan", - "yinbi.invalid.address": "{{destination}} bukan alamat Stellar yang sah", - "yinbi.send": "Hantar", - "yinbi.to": "Kepada:", - "yinbi.try_again": "Cuba lagi?", - "yinbi.success.transaction": "Transaksi Berjaya!", - "yinbi.failure.transaction": "Transaksi Gagal", - "yinbi.confirm.transaction": "Sahkan Transaksi", - "yinbi.sent.details": "Anda telah menghantar {{amount}} YNB ke {{destination}}", - "yinbi.sent.failure.details": "Transaksi anda gagal kerana sebab berikut:", - "yinbi.recipient": "Penerima", - "yinbi.available.send": "Anda ada {{balance}} YNB tersedia untuk dihantar", - "yinbi.wallet.header": "Dompet", - "yinbi.send.header": "Hantar Yinbi", - "yinbi.recovery.phrase": "Frasa Pemulihan Yinbi", - "yinbi.recover.account": "Masukkan atau Tampalkan Frasa Pemulihan Yinbi anda untuk memulihkan Yinbi Wallet, dan akaun Lantern anda", - "yinbi.recovery.desc": "Gunakan kaedah ini jika anda mahu daftar masuk ke Yinbi Wallet selain daripada akaun Lantern anda", - "yinbi.redeem.codes": "Tebus Kod Yinbi Pukal", - "yinbi.obtain.codes": "Kod Penebusan Yinbi Pukal boleh didapati daripada reseller.lantern.io", - "yinbi.receive.header": "Terima Yinbi", - "yinbi.this.is.your.wallet": "Ini adalah alamat Yinbi wallet anda di mana orang boleh menghantar YNB kepada anda.", - "yinbi.your.address": "Alamat Anda", - "yinbi.no.activity.header": "Tiada Aktiviti", - "yinbi.upgrade.pro.button": "Naik Taraf ke Pro dan Dapatkan Yinbi Percuma", - "yinbi.renew.pro.button": "Perbaharui Pro dan Dapatkan Yinbi Percuma", - "yinbi.wallet.activity_header": "Aktiviti", - "yinbi.wallet.send": "Hantar", - "yinbi.wallet.receive": "Terima", - "yinbi.wallet.balance": "Baki", - "yinbi.wallet.getlantern.pro": "Dapatkan Lantern Pro + Yinbi Percuma", - "yinbi.redemption.codes": "Kod Penebusan Yinbi", - "redeem_codes.title": "Tebus Kod Yinbi", - "redeem_codes.redeem_button_text": "Tebus", - "redeem_codes.cancel_button_text": "Batal", - "redeem_codes.success": "Berjaya", - "redeem_codes.errors.missing_codes": "Tiada kod yang sah dimasukkan", - "redeem_codes.errors.invalid_codes": "Ralat, sila semak kod yang diserlahkan. Kod yang dipotong telah tamat tempoh dan tidak dapat ditebus lagi.", - "yinbi.new.account.text": "Setelah anda menghantar atau menerima Yinbi, transaksi anda akan muncul di sini.", - "yinbi.createAccount": "Cipta Akaun", - "yinbi.confirm.account.text": "Untuk memastikan bahawa anda menulis frasa dengan betul, sila masukkan perkataan berikut dari frasa pemulihan anda", - "create_account.invalid_words.error": "Perkataan yang dimasukkan tidak sepadan dengan frasa laluan pemulihan", - "yinbi.recovery_text": "Ini adalah Frasa Pemulihan Yinbi Wallet anda. Ini adalah SATU-SATUNYA kaedah untuk\n memulihkan Yinbi Wallet anda sekiranya terdapat kata laluan yang terlupa. Gunakan\n pengurus kata laluan atau buat salinan cetak semasa menyimpan frasa ini.", - "yinbi.recovery_confirm_text": "Ini adalah Frasa Pemulihan Yinbi Wallet anda. Ini adalah SATU-SATUNYA kaedah untuk memulihkan Yinbi Wallet anda sekiranya terdapat kata laluan yang terlupa. Gunakan pengurus kata laluan atau buat salinan cetak semasa menyimpan frasa ini.", - "yinbi.import.wallet": "Import Dompet", - "yinbi.setup.wallet": "Sediakan Dompet", - "yinbi.importWallet": "Import Yin.bi Wallet", - "yinbi.import.wallet.continue": "Teruskan ke Dompet Anda", - "yinbi.import.wallet.success": "Import Dompet Berjaya!", - "yinbi.wallet.text": "Untuk mengakses Yinbi Wallet, anda boleh Cipta Akaun, Daftar Masuk atau\nImport dompet anda dari Yin.bi jika anda telah mendaftar di laman web Yin.bi\nsebelumnya.", - "yinbi.wallet.pro.text": "Untuk mengakses Yinbi Wallet, anda boleh Cipta Akaun, Import dompet anda dari Yin.bi jika anda telah mendaftar sebelumnya.", - "yinbi.recovery_subheader": "Frasa Pemulihan Yinbi Wallet", - "yinbi.import_wallet.subheader": "Import Yinbi Wallet", - "yinbi.import_wallet.text": "Daftar masuk menggunakan kelayakan Yin.bi anda untuk memindahkan dompet anda ke Lantern", - "yinbi.import_wallet.success": "Dompet anda berjaya diimport sila tambah e-mel anda untuk menyelesaikan pendaftaran akaun.", - "yinbi.import_wallet.success_subheader": "Import Berjaya!", - "yinbi.import_wallet.button": "Import Yin.bi Wallet", - "yinbi.import_wallet.success_button": "Pendaftaran Lengkap", - "yinbi.recovery_passphrase.label_text": "Frasa Pemulihan", - "yinbi.recovery_passphrase.copy_button_text": "Salin", - "terms_of_service.notice": "Notis", - "terms_of_service.i_agree": "Saya setuju", - "platinum": "Platinum", - "platinum.one_year": "Harga 1 tahun", - "platinum.two_years": "Harga 2 tahun", - "platinum.save": "Penjimatan hingga {{savings}}%!", - "platinum.unlimited": "Data Tidak Terbatas", - "platinum.logs": "Tiada log", - "platinum.devices": "Sambungkan sehingga 3 peranti", - "platinum.everything_in_pro": "Semua termasuk dalam Pro", - "platinum.faster_data": "Pusat data lebih pantas", - "platinum.dedicated": "Talian khusus", - "platinum.reliability": "Keutuhan Dipertingkatkan", - "platinum.platinum_one_year": "Lantern Platinum 1 tahun", - "platinum.platinum_two_years": "Lantern Platinum 2 tahun", - "platinum.pro_one_year": "Lantern Pro 1 tahun", - "platinum.pro_two_years": "Lantern Pro 2 tahun", - "platinum.total": "Jumlah", - "platinum.free": "Percuma", - "platinum.credit.days": "+ {{ days }} hari", - "platinum.credit.months": "{{ months }} bulan", - "platinum.upgrade": "Tingkatkan kepada Platinum", - "platinum.upgrade_details": "Talian Khusus + Pusat Data Terpantas!", - "platinum.unused_time_disclaimer": "Pengguna Pro yang membuat peningkatan kepada Platinum akan dapat lihat langganan Pro mereka yang telah ditukar itu disenaraikan sebagai masa tambahan di atas.", - "p2p.opt_in_description": "Gunakan Internet anda untuk membantu orang lain mengakses Internet tanpa tapisan", - "p2p.active_sharing_description": "Perkongsian Internet anda dihidupkan", - "p2p.dialog.title": "Kongsikan akses Internet", - "p2p.dialog.text.1": "Bantu orang lain dengan memberikan akses terbatas kepada Internet melalui perkongsian sambungan anda. Dengan membenarkan akses kepada Internet anda, anda akan menyertai rangkaian sukarelawan yang menjadikan Internet lebih terbuka.", - "p2p.dialog.text.2": "Perkongsian ini tidak akan menjejaskan identiti atau keselamatan anda. Anda boleh menghentikan perkongsian Internt anda pada bila-bila masa yang anda kehendaki.", - "p2p.dialog.yes_button": "YA, MULAKAN PERKONGSIAN", - "p2p.dialog.no_button": "BATAL", - "p2p.banner.introducing": "MEMPERKENALKAN", - "top_sites.top_sites": "Tapak Teratas" -} \ No newline at end of file diff --git a/locale/translation/my.json b/locale/translation/my.json deleted file mode 100644 index 99f6f51bd..000000000 --- a/locale/translation/my.json +++ /dev/null @@ -1,797 +0,0 @@ -{ - "LANTERN": "မီးအိမ်", - "pro": "Pro", - "BEAM": "မီးတန်း", - "TRAY_STATUS": "အခြေအနေ - %v", - "TRAY_CONNECT": "ချိတ်ဆက်ပါ", - "TRAY_DISCONNECT": "ချိတ်ဆက်မှုဖြတ်ပါ", - "TRAY_SHOW": "%s ပြပါ", - "TRAY_UPGRADE_TO_PRO": "Pro သို့ အဆင့်မြှင့်တင်ရန်", - "TRAY_QUIT": "%s ကို ပိတ်ပါ", - "BACKEND_DATA_TITLE": "မြန်နှုန်းမြင့် %sဒေတာများ မရှိတော့ပါ", - "BACKEND_DATA_MESSAGE": "%s ကို မြန်နှုန်းအပြည့်ဖြင့် ဆက်လက်အသုံးပြုရန် Pro သို့အဆင့်မြှင့်ပါ။", - "BACKEND_DATA_PERCENT_TITLE": "သင့် %s ဒေတာများ၏ %sသို့ ရောက်ရှိခဲ့သည်", - "BACKEND_DATA_PERCENT_MESSAGE": "သင့် %s မြန်နှုန်းမြင့်ဒေတာများ၏ %s ကို သင်အသုံးပြုခဲ့ပြီးပြီ။ ယခုအဆင့်မြှင့်ပါ", - "BACKEND_CLICK_LABEL": "ဖွင့်", - "BACKEND_CLICK_LABEL_OPEN": "ဖွင့်", - "BACKEND_CLICK_LABEL_HELP": "ကူညီပါ", - "BACKEND_CLICK_LABEL_GOT_IT": "နားလည်ပြီ", - "BACKEND_AUTOUPDATED_TITLE": "%s ကို ဗားရှင်း %s သို့အပ်ဒိတ်လုပ်ပါ", - "BACKEND_AUTOUPDATED_MESSAGE": "%s%s ကို ဒေါင်းလုဒ်လုပ်ပြီးပါပြီ။ အသုံးပြုရန် ကျေးဇူးပြု၍ %sကို ပြန်လည်စတင်ပါ။", - "BACKEND_MITM_INSTALL_CERT": "%s သည် စွမ်းဆောင်ရည်တိုးတက်စေရန် စိတ်ကြိုက်လက်မှတ်ကို တပ်ဆင်လိုသည်", - "BACKEND_MITM_INSTALL_CERT_WINDOWS_BODY": "ကျေးဇူးပြု၍ သင့်စနစ်အားပြောင်းလဲမှုပြုရန် % v ကို ခွင့်ပြုပါ", - "BACKEND_ALERT_TITLE": "အရေးကြီးသတိပေးချက်က သင့်ရဲ့အာရုံစူးစိုက်မှုကို လိုအပ်ပါတယ်", - "BACKEND_INSTALL_DIAGNOSTIC_TOOLS": "%s သည် ချွတ်ယွင်းချက်စစ်ဆေးရှာဖွေရေးကိရိယာများ တပ်ဆင်ရန် သင့်ခွင့်ပြုချက်လိုအပ်သည်။ ဤသည်ကသင့် %sအတွေ့အကြုံကို တိုးတက်အောင်ကူညီပါလိမ့်မည်။", - "BACKEND_CONFIG_SAVE_ERROR_TITLE": "သီးသန့်စီစဉ်ထားရှိမှုကို သိမ်းဆည်း၍မရနိုင်ပါ", - "BACKEND_CONFIG_SAVE_ERROR_MESSAGE": "အပလီကေးရှင်း သီးသန့်စီစဉ်ထားရှိမှုကို သိမ်းဆည်း၍မရနိုင်ပါ။ ဝင်ရောက်ကြည့်ရှုမှုကို ကြားခံအဖြစ် မှန်ကန်စွာဆောင်ရွက်မည်ဟု %s မှ အာမမခံနိုင်ပါ။", - "about.content": "Lantern သည် ပွင့်လင်းသောအင်တာနက်အား မြန်ဆန်ပြီး ယုံကြည်စိတ်ချရသော အသုံးပြုနိုင်ခွင့်ကို ပေးအပ်သည့် အက်ပလီကေးရှင်းတစ်ခု ဖြစ်ပါသည်။", - "app.error": "တစ်ခုခုမှားယွင်းသွားသည်။", - "about.faq": "Lantern မကြာခဏမေးလေ့ရှိသောမေးခွန်းများကို ဖတ်ပါ", - "about.open": "လူတိုင်းအတွက် ပွင့်လင်းသောအင်တာနက်", - "about.questions": "မေးခွန်းများ ရှိပါသလား", - "about.title": "အကြောင်း", - "account.add.password": "အကောင့်စကားဝှက်ထည့်ပါ", - "account.agree.terms": "ကျွန်ုပ်၏စကားဝှက်ကို ပျောက်ဆုံးခြင်းသည် အကောင့်အား ဝင်ရောက်သုံးစွဲမှုကို\nဆုံးရှုံးခြင်းဟု နားလည်ပါသည်။ Lantern သည် သင်၏ စကားဝှက်ကို\nပြန်လည်ရယူရန် မကူညီနိုင်ပါ။", - "account.agree.terms.error": "ပထမဦးစွာ စည်းမျဉ်းများကို သဘောတူရမည်", - "account.cancel": "Pro အကောင့်ကိုဖျက်သိမ်းပါ", - "account.created": "အကောင့် ဖန်တီးပြီးပြီ။", - "account.create.pro.account.header": "Pro အကောင့် ဖန်တီးပါ", - "account.create.pro.account.text": "Lantern သည် အသုံးပြုသူ အကောင့်များအား ကိုင်တွယ်စီမံပုံကို ပြောင်းလဲပေးနေပါသည်။ ယခုမှစ၍ Pro သုံးစွဲသူများသည် အသုံးပြုသူအမည်နှင့် စကားဝှက်ကို ဖန်တီးရန်လိုမည်ဖြစ်သည်။ အခြားစက်များထဲသို့ ဝင်ရန်နှင့် လုပ်ဆောင်ချက်အသစ်များအား ဝင်ရောက်သုံးစွဲမှုကို ပံ့ပိုးပေးရန် ဤအထောက်အထားများကို အသုံးပြုပါမည်။", - "account.have.a.account": "အကောင့် ရှိပါသလား။", - "account.link.username.pro": "အသုံးပြုသူအမည်ကို Pro အကောင့်နှင့် ချိတ်ဆက်ပါ", - "account.recovery": "အကောင့်ပြန်လည်ဆယ်ယူရေး", - "account.recovery.link.device": "ချိတ်ဆက်မှုကိရိယာ", - "account.recovery.device.code": "ကိရိယာချိတ်ဆက်ကုဒ်", - "account.recovery.device.enter.code": "ကိရိယာချိတ်ဆက်မှု ပင်နံပါတ်ကို ရိုက်ထည့်ပါ", - "account.recovery.device.instructions.header": "ဤကိရိယာကို သင်၏ Pro အကောင့်နှင့်ချိတ်ဆက်ရန်-", - "account.recovery.device.instructions.step.one": "၁။ သင်၏ Desktop Pro ကိရိယာရှိ Account Management မျက်နှာပြင်မှ၊ သို့မဟုတ် Mobile Pro ကိရိယာရှိ မီနူးမှ 'ကိရိယာချိတ်ဆက်ရန်' ရွေးစရာကို ရွေးချယ်ပါ။", - "account.recovery.device.instructions.step.two": "၂။ ကိရိယာချိတ်ဆက်မှု ကုဒ်နံပါတ်ကို ရိုက်ထည့်ပြီး တင်သွင်းပါ။", - "account.recovery.device.instructions.part.three": "* ကိရိယာနှစ်ခုစလုံးသည် Lantern ၏ နောက်ဆုံးထွက်ဗားရှင်းကို အသုံးပြုထားကြောင်းသေချာပါစေ", - "account.recovery.method": "သင့်အကောင့်ကိုပြန်လည်ရယူရန် နည်းလမ်းတစ်ခုကို ရွေးချယ်ပါ", - "account.recovery.send.email": "အီးမေးလ်ပို့ပါ", - "account.recovery.submit": "တင်သွင်းပါ", - "account.recovery.success": "ချိတ်ဆက်မှုအောင်မြင်ပါသည်", - "account.pro_management": "Pro အကောင့်စီမံခန့်ခွဲမှု", - "account.free_management": "အကောင့်စီမံခန့်ခွဲမှု", - "account.free.cap": "အခမဲ့ဒေတာ {{mb}} MB ကျန်ရှိနေသည်။ {{reset}} တွင် ပြန်လည်သတ်မှတ်သည်", - "account.free.cap.upgrade": "အကန့်အသတ်မဲ့မြန်နှုန်းမြင့်ဒေတာအတွက် Pro ကိုအဆင့်မြှင့်ပါ", - "account.freelink.validFor": "%sအတွက်မှန်ကန်သည်", - "account.freelink.desc": "သင်၏ Pro အကောင့်ကိုအသုံးပြုရန်အတွက် ဤကိရိယာကိုခွင့်ပြုရန်-", - "account.freelink.step1": "၁။ သင်၏ Pro ကိရိယာရှိ မီနူးမှ 'ကိရိယာချိတ်ဆက်ရန်' ကိုရွေးပါ", - "account.freelink.step2": "၂။ ကိရိယာချိတ်ဆက်မှုကုဒ်နံပါတ်ကို ရိုက်ထည့်ပြီး တင်သွင်းပါ။", - "account.freelink.reminder": "* ကိရိယာနှစ်ခုစလုံးသည် Lantern ၏ နောက်ဆုံးထွက်ဗားရှင်းကို အသုံးပြုထားကြောင်းသေချာပါစေ", - "account.freelink.errorTitle": "ချိတ်ဆက်မှုအမှား", - "account.freelink.errorText": "သင်၏ Pro ကိရိယာတွင် ကုဒ်နံပါတ်ထည့်ပြီးတာ သေချာလား။", - "account.freelink.headerDesc": "ဒီကိရိယာကို သင်၏ Pro အကောင့်နှင့်ချိတ်ဆက်ပါ", - "account.freelink.title": "ကိရိယာချိတ်ဆက်ကုဒ်", - "account.pro.charge": "သင်၏ငွေတောင်းခံလွှာကုန်ဆုံးချိန်တွင် သင်၏အကောင့်ကို Lantern Pro နောက်တစ်နှစ်အတွက် အလိုအလျောက်ကောက်ခံပါမည်။", - "account.upgrade_pro": "Pro ကို အဆင့်မြှင့်တင်ပါ", - "account.upgrade": "အဆင့်မြှင့်တင်ပါ", - "account.upgrade_platinum": "Upgrade to Platinum", - "account.create": "အကောင့်ပြုလုပ်ပါ", - "account.email": "အီးမေးလ်", - "account.confirm.password": "စကားဝှက်အတည်ပြုခြင်း", - "account.password": "စကားဝှက်", - "account.pro.email": "အီးမေး-", - "account.pro.expiration": "Pro အကောင့်သက်တမ်းကုန်ဆုံးခြင်း", - "account.platinum.expiration": "Platinum Account Expiration", - "account.pro.expired": "သင်၏ Pro အကောင့်သက်တမ်းကုန်သွားပြီ။ အကန့်အသတ်မဲ့လစဉ်ဒေတာအတွက် ယခုသက်တမ်းတိုးပါ။", - "account.pro.expiry": "သင်၏ Pro အကောင့်သည် %s တွင် %s ရက်အတွင်း သက်တမ်းကုန်ဆုံးပါမည်။", - "account.pro.bonusMonths": "This includes your {{bonusMonths}} bonus months!", - "account.pro.thisdevice": "(ဤကိရိယာ)", - "account.pro.logout": "ထွက်သွားပါ", - "account.pro.removedevice": "ဖယ်ရှားလိုက်ပါ", - "account.pro.devices": "Lantern Pro စက်ပစ္စည်းများ (၃ခုအထိ)", - "account.pro.device.confirm.title": "စက်ပစ္စည်းကို ခွင့်ပြုချက်ပယ်ဖျက်ရန်", - "account.pro.device.confirm": "သင်၏ Lantern Pro အကောင့်မှ '{{device}}' ကို သင်ဖယ်ရှားလိုသည်မှာ သေချာပါသလား။", - "account.pro.device.one.title": "ကိရိယာတစ်ခုတည်း", - "account.pro.device.one": "စိတ်မကောင်းပါ၊ သင်နောက်ဆုံးခွင့်ပြုထားသောကိရိယာကို သင်မဖယ်ရှားနိုင်ပါ။", - "account.pro.linkingcode": "ကိရိယာချိတ်ဆက်မှုကုဒ်-", - "account.pro.renew": "Pro အကောင့်ကို သက်တမ်းတိုးပါ", - "account.platinum.renew": "Renew Platinum Account", - "account.pro.renew_CN": "သက်တမ်းတိုး", - "account.prolink.errorTitle": "ချိတ်ဆက်မှုအမှား", - "account.prolink.errorText": "သင်သည် သင်၏အခြားစက်ပစ္စည်းမှ ကုဒ်နံပါတ်ကို မှန်ကန်စွာကူးယူထားကြောင်း သေချာပါသလား။", - "account.prolink.successTitle": "ကိရိယာချိတ်ဆက်ပြီး", - "account.prolink.successText": "သင်၏ကိရိယာကို အောင်မြင်စွာချိတ်ဆက်ပြီးပါပြီ။ သင်၏အခြားကိရိယာသည် အလိုအလျောက် Pro ဖြစ်လာစေရန် ခဏစောင့်ပါ။", - "account.signin": "ဆိုင်းအင်လုပ်ခြင်း", - "account.signout": "ဆိုင်းအောက်", - "account.submit": "တင်သွင်းပါ", - "account.username": "အသုံးပြုသူအမည်", - "account.switch.to.register": "အကောင့်ဖန်တီးမည်ကို ပြောင်းပါ", - "account.switch.to.signin": "ဝင်မည်သို့ ပြောင်းပါ", - "account.invalid.username": "သုံးစွဲသူအမည်မမှန်ကန်ပါ", - "account.invalid.email": "အီးမေးလ်မမှန်ကန်ပါ", - "account.password.mismatch": "အတည်ပြုစကားဝှက်က စကားဝှက်နှင့်မကိုက်ညီပါ", - "account.password.short": "စကားဝှက်က အရမ်းတိုတယ်", - "account.password.lowercase": "စကားဝှက်မှာ အနည်းဆုံးစာလုံးအသေးတစ်လုံး ပါရမယ်", - "account.password.uppercase": "စကားဝှက်မှာ အနည်းဆုံးစာလုံးအကြီးတစ်လုံး ပါရမယ်", - "account.password.number": "စကားဝှက်မှာ အနည်းဆုံးနံပါတ်တစ်လုံး ပါရမယ်", - "account.password.compromised": "စကားဝှက်သည် အားနည်းသောစကားဝှက်များစာရင်းတွင် ပေါ်နေသည်", - "modal.register.free.header": "Yinbi ပိုက်ဆံအိတ်ကိုဝင်ရောက်ရန် မှတ်ပုံတင်ပါ သို့မဟုတ် ဆိုင်းအင်လုပ်ပါ", - "modal.register.pro.header": "Yinbi Wallet ကို ဝင်ရန် အကောင့်စကားဝှက်ထည့်ပါ", - "modal.register.pro.signin.header": "Yinbi ဝေါလက်ကို ဝင်ရောက်သုံးစွဲရန် ဝင်ပါ", - "modal.register.free.text": "Yinbi ပိုက်ဆံအိတ်ကိုအသုံးပြုရန် သင့်တွင် Lantern အကောင့်တစ်ခုရှိရမည်၊ ဆက်လုပ်ရန်အတွက် မှတ်ပုံတင်ပါ သို့မဟုတ် ဆိုင်းအင်လုပ်ပါ", - "modal.register.pro.text": "Yinbi ပိုက်ဆံအိတ်ကိုသုံးရန် သင်၏ Lantern အကောင့်သို့ စကားဝှက်တစ်ခုထည့်ရမည်။", - "modal.register.pro.signin.text": "Yinbi ဝေါလက်ကိုသုံးရန် သင်၏ Lantern အကောင့်ထဲသို့ ဝင်ရပါမည်", - "adyen.paymentMethods.title": "ငွေပေးချေမှုနည်းလမ်းများ", - "adyen.paymentMethods.storedMethods": "သင့်ငွေပေးချေမှုနည်းလမ်းများ", - "adyen.paymentMethods.otherMethods": "အခြားနည်းလမ်းကိုရွေးချယ်ပါ", - "adyen.paymentMethods.moreMethodsButton": "နောက်ထပ်ငွေပေးချေမှုနည်းလမ်းများ", - "adyen.payButton": "ပေးဆောင်ပါ", - "adyen.payButton.formatted": "%@ ကို ပေးဆောင်ပါ", - "adyen.cancelButton": "ပယ်ဖျက်ပါ", - "adyen.dismissButton": "အိုကေ", - "adyen.storeDetails": "ကျွန်ုပ်၏နောက်တစ်ကြိမ်ငွေပေးချေမှုအတွက် သိမ်းဆည်းပါ", - "adyen.payment.redirecting": "သင့်ကို ပြန်လည်လမ်းညွှန်ပေးလိမ့်မည်", - "adyen.payment.processing": "သင့်ငွေပေးချေမှုကို လုပ်ဆောင်နေသည်", - "adyen.creditCard.title": "ကတ်အသေးစိတ်အချက်များ", - "adyen.creditCard.holderName": "ကတ်ကိုင်ဆောင်သူအမည်", - "adyen.creditCard.holderName.placeholder": "J. Smith", - "adyen.creditCard.numberField.title": "ကတ်နံပါတ်", - "adyen.creditCard.numberField.placeholder": "1234 5678 9012 3456", - "adyen.creditCard.numberField.invalid": "မမှန်ကန်သောကတ်နံပါတ်", - "adyen.creditCard.expiryDateField.title": "သက်တမ်းကုန်ဆုံးရက်", - "adyen.creditCard.expiryDateField.placeholder": "လ / နှစ်", - "adyen.creditCard.expiryDateField.invalid": "မမှန်ကန်သော သက်တမ်းကုန်ဆုံးရက်", - "adyen.creditCard.expiryDateField.month": "လ", - "adyen.creditCard.expiryDateField.month.placeholder": "MM", - "adyen.creditCard.expiryDateField.year.placeholder": "YY", - "adyen.creditCard.expiryDateField.year": "နှစ်", - "adyen.creditCard.cvcField.title": "CVC / CVV", - "adyen.creditCard.cvcField.placeholder": "123", - "adyen.creditCard.installmentsField": "အရစ်ကျအရေအတွက်", - "adyen.creditCard.storeDetailsButton": "ကျွန်ုပ်၏နောက်ငွေပေးချေမှုအတွက် ဒီကတ်ကိုမှတ်ထားပေးပါ", - "adyen.creditCard.oneClickVerification.title": "သင့်ကတ်ကို စစ်ဆေးအတည်ပြုပါ", - "adyen.creditCard.oneClickVerification.message": "%@ အတွက် CVC ကုဒ်ကို ရိုက်ထည့်ပါ", - "adyen.creditCard.oneClickVerification.invalidInput.title": "မမှန်ကန်သော CVC", - "adyen.creditCard.oneClickVerification.invalidInput.message": "ကျေးဇူးပြု၍ မှန်ကန်သော CVC ကိုရိုက်ထည့်ပေးပါ။", - "adyen.sepaDirectDebit.ibanField.title": "အကောင့်နံပါတ် (IBAN)", - "adyen.sepaDirectDebit.ibanField.placeholder": "NL53 ABNA 1925 1294 122", - "adyen.sepaDirectDebit.ibanField.invalid": "မမှန်ကန်သောအကောင့်နံပါတ်", - "adyen.sepaDirectDebit.nameField.title": "ကိုင်ဆောင်သူအမည်", - "adyen.sepaDirectDebit.nameField.placeholder": "J. Smith", - "adyen.sepaDirectDebit.consentButton": "အောက်ပါငွေပမာဏကို ကျွန်ုပ်၏ဘဏ်အကောင့်မှ ငွေဖြည့်မည်ဟု ကျွန်ုပ်သဘောတူသည်။", - "adyen.sepa.ownerName": "ကိုင်ဆောင်သူအမည်", - "adyen.sepa.ibanNumber": "အကောင့်နံပါတ် (IBAN)", - "adyen.giropay.searchField.placeholder": "ဘဏ်အမည် / BIC / ဘဏ်ကုဒ်", - "adyen.giropay.minimumLength": "အနည်းဆုံး စာလုံး၃လုံး", - "adyen.giropay.noResults": "ရှာဖွေမှုရလဒ်မရှိပါ", - "adyen.error.title": "အမှား", - "adyen.error.subtitle.redirect": "ပြန်လည်လမ်းညွှန်မှု မအောင်မြင်ပါ", - "adyen.error.subtitle.payment": "ငွေပေးချေမှုမအောင်မြင်ပါ", - "adyen.error.subtitle.refused": "ငွေပေးချေမှုကိုငြင်းဆန်ခဲ့သည်", - "adyen.error.message.unknown": "မသိရှိသောအမှားတစ်ခု ဖြစ်ပွားခဲ့သည်", - "adyen.error.message.cannotConnectToInternet": "အင်တာနက်ဆက်သွယ်မှုမအောင်မြင်ပါ - ကျေးဇူးပြု၍ သင်၏အင်တာနက်ဆက်သွယ်မှုကိုစစ်ဆေးပါ။", - "adyen.error.message.cannotConnectToHost": "ကျွန်ုပ်တို့၏ငွေပေးချေမှုဆာဗာနှင့် ဆက်သွယ်မှုမအောင်မြင်ပါ။", - "adyen.error.retryButton": "ထပ်ကြိုးစားပါ", - "adyen.idealIssuer.selectField.title": "ဘဏ်", - "adyen.idealIssuer.selectField.placeholder": "သင့်ဘဏ်ကိုရွေးချယ်ပါ", - "adyen.creditCard.success": "ငွေပေးချေမှုအောင်မြင်သည်", - "adyen.oneClick.confirmationAlert.title": "%@ ငွေပေးချေမှုကိုအတည်ပြုပါ", - "adyen.redirect.cannotOpenApp.title": "အက်ပ်ကိုဖွင့်၍မရပါ", - "adyen.redirect.cannotOpenApp.appNotInstalledMessage": "ဤကိရိယာတွင် ၎င်းကို ထည့်သွင်းမထားသောကြောင့် ဤအက်ပ်ကိုဖွင့်၍မရပါ။", - "adyen.holderName": "ကတ်ကိုင်ဆောင်သူအမည်", - "adyen.countryCode": "နိုင်ငံကုဒ်", - "adyen.telephone.number": "တယ်လီဖုန်းနံပါတ်", - "android.download": "Lantern Android", - "android.download.title": "Lantern Android ကို ဒေါင်းလုဒ်လုပ်ပါ", - "authorize.title": "Pro အတွက် ကိရိယာကိုခွင့်ပြုပါ", - "authorize.step1.have_pro_device": "ငါ့မှာ Lantern Pro ကိရိယာ နောက်တစ်ခုရှိသေးတယ်", - "authorize.step1.link": "ကိရိယာချိတ်ဆက်မှု", - "authorize.step1.email_linking": "အီးမေးလ်ချိတ်ဆက်မှု", - "authorize.device_linking_explanation": "အကယ်၍ သင်သည် အခြားကိရိယာတစ်ခုထဲသို့ဆိုင်းအင်ဝင်ပြီး ၎င်းမှာ သင်နှင့်အတူရှိပါက ဤနည်းလမ်းကိုသုံးပါ", - "authorize.device_email_explanation": "သင်၏ ကိရိယာချိတ်ဆက်မှု ပင်နံပါတ်ကို သင့်အီးမေးလ်သို့ ပို့စေလိုပါက ဤနည်းလမ်းကိုသုံးပါ", - "authorize.link_device": "ချိတ်ဆက်မှုကိရိယာ", - "authorize.step1.choose": "ကျေးဇူးပြု၍ သင်၏အကောင့်နှင့်ချိတ်ဆက်ရန် နည်းလမ်းကို ရွေးချယ်ပါ", - "authorize.step1.or": "ဒါမှမဟုတ်", - "authorize.step1.recover": "ကျွန်ုပ်၏ Lantern Pro အကောင့်ကို ပြန်လည်ရယူရန် လိုအပ်ပါသည်", - "authorize.step1.start": "ပြန်လည်ရယူရေးကိုစတင်ပါ", - "authorize.step1.no_mail": "သင့်ရဲ့အီးမေးလ်လိပ်စာကိုမမှတ်မိဘူးလား", - "authorize.step1.description": "သင်၏အီးမေးလ်ကို ရိုက်ထည့်ပါ၊ အကယ်၍ အကောင့်ရှိပါက ကိရိယာချိတ်ဆက်မှုကုဒ်နံပါတ်ကို အီးမေးလ်တစ်စောင်ဖြင့် ပို့ပေးပါမည်", - "authorize.step2b.enter_code": "သင်၏ အကောင့်ပြန်လည်ရယူရေး ကုဒ်နံပါတ်ကို ရိုက်ပါ", - "authorize.step2b.code": "အကောင့်ပြန်လည်ရယူရေးကုဒ်", - "authorize.step2b.instruction": "ဤအကောင့်တည်ရှိပါက ပြန်လည်ရယူရေးကုဒ်ပါသော အီးမေးလ်တစ်စောင်ကို {{email}} သို့ ပို့လိုက်ပါပြီ။ ဤအီးမေးလ်ရောက်ရှိရန် နာရီပေါင်းများစွာကြာနိုင်သည်။ သင် ၎င်းကိုမတွေ့ပါက သင်၏အမှိုက်စာဖိုင်တွဲကို စစ်ဆေးပါ။", - "authorize.step2b.no_mail": "အီးမေးလ်ကို မရရှိခဲ့ပါ", - "authorize.step3.recovery": "အကောင့်ပြန်လည်ရယူရေး", - "authorize.step3.no_email": "အိုး၊ ဒီအီးမေးလ်လိပ်စာကိုရှာရတာ အခက်တွေ့နေတယ်။ သင့်အကောင့်ကို ရှာဖွေဖို့ အကူအညီရရန် ကျေးဇူးပြု၍ အောက်ပါအချက်အလက်များကို ထပ်ပေးပါ။", - "authorize.step3.no_code_received": "ပြန်လည်ရယူရေးအီးမေးလ်ကို လက်ခံရရှိရန် အခက်အခဲရှိပါသလား။ အောက်ဖော်ပြပါအချက်အလက်များကိုဖြည့်စွက်ပြီး ၄၈ နာရီအတွင်း ကျွန်ုပ်တို့ဆက်သွယ်ပါမည်။", - "authorize.step3.your_email": "သင်၏အီးမေးလ်", - "authorize.step3.payment_method": "ငွေပေးချေမှုနည်းလမ်း", - "authorize.step3.payment_method_hint": "သင် Pro ရယူရန် အသုံးပြုခဲ့သော ငွေပေးချေမှုနည်းလမ်းကို ရွေးချယ်ပါ", - "authorize.step3.credit_card": "အကြွေးဝယ်ကဒ်", - "authorize.step3.alipay": "AliPay", - "authorize.step3.android_pay": "Android Pay", - "authorize.step3.by_referral": "မိတ်ဆွေတစ်ဦးကို ညွှန်းပေးခြင်းဖြင့် Pro ကိုလက်ခံရရှိခဲ့သည်", - "authorize.step3.payment_account": "ငွေပေးချေမှုအကောင့်", - "authorize.step3.payment_account_hint": "သင်၏ Alipay အကောင့်အချက်အလက်ကိုရိုက်ထည့်ပါ", - "authorize.step3.referral_code": "သင်၏ရည်ညွှန်းကုဒ်", - "authorize.step3.purchase_date": "ဝယ်ယူသည့်နေ့ရက်", - "authorize.step3.note": "သင်၏အကောင့်ကို ရှာဖွေရာတွင် အကူအညီဖြစ်နိုင်သည့် အခြားအချက်အလက်များကို ကျေးဇူးပြု၍ ဖော်ပြပါ။", - "authorize.step4.title": "အကောင့်ပြန်လည်ရယူမှု ဆောင်ရွက်နေသည်", - "authorize.step4.text1": "ကျေးဇူးတင်ပါတယ်။ သင့်အကောင့်ပြန်လည်ရယူရေးတောင်းဆိုချက်ကို လက်ခံရရှိပါပြီ", - "authorize.step4.text2": "သင်၏ Pro အကောင့်အချက်အလက်များကိုပြန်လည်ရယူရန် ၄၈ နာရီခွင့်ပြုပါ။", - "authorize.step4.text3": "ကျွန်ုပ်တို့သည် ယခင်မျက်နှာပြင်တွင်ရိုက်ထည့်ခဲ့သော အီးမေးလ်လိပ်စာသို့ သတင်းအချက်အလက်များပေးပို့ပါမည်။", - "authorized.continue": "Pro ကိုဆက်သွားပါ", - "authorized.continue.lantern": "Lantern ကို ဆက်သွားပါ", - "authorized.text": "ဤစက်ပစ္စည်းသည် သင်၏ Lantern Pro အကောင့်ကိုအသုံးပြုရန် ခွင့်ပြုချက်ရပြီဖြစ်သည်။", - "authorized.title": "ကိရိယာခွင့်ပြုချက်", - "button.account": "အကောင့်", - "button.renew": "သက်တမ်းတိုး", - "button.upgrade": "အဆင့်မြှင့်တင်ပါ", - "button.upgrade_now": "ယခုအဆင့်မြှင့်ပါ", - "button.upgrade_to_lantern_pro": "Lantern Pro ကိုအဆင့်မြှင့်တင်ပါ", - "button.copy_your_code": "သင့်ရဲ့ကုဒ်ကူးယူပါ", - "button.try_again": "ထပ်ကြိုးစားပါ", - "button.continue": "ဆက်လုပ်ပါ", - "button.continue_to": "Continue to {{planType}}", - "bullet.click_button": "အောက်ကခလုတ်ကိုနှိပ်ပါ", - "bullet.paste_code": "မက်ဆေ့ခ်ျတစ်စောင်ထဲမှာ ကုဒ်နှင့် ဒေါင်းလုဒ်လင့်ခ်ကို paste လုပ်ပါ", - "bullet.send_to_friends": "သင့်သူငယ်ချင်းများထံပို့ပါ", - "cancel": "ပယ်ဖျက်ပါ", - "confirm": "အတည်ပြုပါ", - "norecoveryyinbi": "* Yinbi Wallet ကိုပြန်လည်မရယူနိုင်ပါ", - "email.recovery.check.email": "သင့်ရဲ့အီးမေးလ်ကို ပြန်လည်ရယူရေးကုဒ်ပါသော မက်ဆေ့ချ်ဝင်မဝင် စစ်ဆေးပါ", - "email.recovery.code.label": "ပြန်လည်ရယူရေးကုဒ်ကို ရိုက်ထည့်ပါ", - "email.recovery.no.code": "ကုဒ်မရဘူးလား", - "email.recovery.text": "သင်၏အီးမေးလ်ကို ရိုက်ထည့်ပေးပါ၊ သင့်စကားဝှက်ကိုပြန်လည်သတ်မှတ်ရန် ကုဒ်တစ်ခုပို့ပေးပါမည်။ သင့်တွင် Yinbi ပိုက်ဆံအိတ်ရှိပါက သင်၏ Yinbi ပိုက်ဆံအိတ်ကို ၎င်းက ပြန်လည်ရယူပေးမည်မဟုတ်ပါ။ Yinbi ပိုက်ဆံအိတ်ကိုပြန်လည်ရယူရန် Yinbi Recovery Phrase ထဲသို့ဝင်ရောက်ပါ။", - "email.recovery.desc": "သင်၏အီးမေးလ်သို့ ပြန်လည်ရယူရေးကုဒ်တစ်ခု ပေးပို့စေလိုပါက ဤနည်းလမ်းကိုအသုံးပြုပါ", - "device.recovery.desc": "အကယ်၍ သင်သည် အခြားကိရိယာတစ်ခုထဲသို့ဆိုင်းအင်ဝင်ပြီး ၎င်းမှာ သင်နှင့်အတူရှိပါက ဤနည်းလမ်းကိုသုံးပါ", - "google_search": "Google Search", - "giveaway.upgrade": "ဒီနေ့အခမဲ့ဖြန့်ဖြူးမှုကို လက်ခံရရှိရန် အဆင့်မြှင့်ပါ", - "giveaway.title_released_today": "{{formattedTokens}} YNB ကို ယနေ့ ထုတ်ဝေနေသည်", - "giveaway.what_is_it": "Yinbi Giveaway ဆိုတာ ဘာလဲ။", - "giveaway.description1": "Yinbi ဖောင်ဒေးရှင်းသည် Lantern Pro ဝယ်သူများကို ၈၈၈ ဘီလီယံ YNB cryptocurrency အား Lantern မှတစ်ဆင့်ပေးအပ်သည်။", - "giveaway.description2": "ထိုနေ့တွင်ထုတ်ဝေသော Yinbi အရေအတွက်၊ အဆင့်မြှင့်တင်/အသစ်ပြောင်းလဲသည့် လူအရေအတွက်နှင့် သင်ဝယ်ယူသောနှစ် သို့မဟုတ် အကောင့်အရေအတွက်အပေါ် အခြေခံ၍ နေ့စဉ်ကုန်ဆုံးချိန်တွင် YNB ကို ဖြန့်ဝေပါမည်။ YNB ကို Lantern ရှိ သင်၏ Yinbi ဝေါလက်ထဲသို့ တိုက်ရိုက်ထည့်သွင်းပါမည်။", - "giveaway.learn_more": "ပိုမိုသိရှိရန်", - "link_device": "Pro အကောင့်ရှိပြီးသားလား။ ကိရိယာကို ချိတ်ဆက်ပါ", - "email.recovery": "အီးမေးလ်ပြန်လည်ရယူခြင်း", - "email_taken": "အီးမေးလ်ကိုမှတ်ပုံတင်ပြီးဖြစ်သည်", - "username_taken": "အသုံးပြုသူအမည်ကိုမှတ်ပုံတင်ပြီးဖြစ်သည်", - "err.unknown_error": "မသိသောအမှား", - "err.internal_error": "အတွင်းပိုင်းအမှား", - "err.bad_input": "မကောင်းတဲ့ input", - "err.not_authorized": "ခွင့်ပြုမထားပါ", - "err.user_exists": "အသုံးပြုသူတည်ရှိပါသည်", - "err.no_such_user": "ထိုကဲ့သို့သောအသုံးပြုသူမရှိပါ", - "err.user_already_verified": "အသုံးပြုသူသည်အတည်ပြုပြီးဖြစ်သည်", - "err.invalid_user_verification": "မမှန်ကန်သောအသုံးပြုသူအတည်ပြုချက်", - "err.user_unverified": "အသုံးပြုသူကို အတည်မပြုနိုင်ပါ", - "err.operation_temporarily_unavailable": "လုပ်ငန်းဆောင်ရွက်မှုကို ယာယီမရနိုင်ပါ", - "err.wrong_or_inexistent_plan": "မှားယွင်းသော သို့မဟုတ် မတည်ရှိသော အစီအမံ", - "err.user_has_active_subscription": "အသုံးပြုသူသည်တက်ကြွစွာစာရင်းသွင်းထားပါသည်", - "err.payment_error": "ငွေပေးချေမှုအမှား", - "err.no_codes_left": "လွှဲပြောင်းကုဒ်မကျန်ပါ", - "err.wrong_code": "လွှဲပြောင်းကုဒ်မှားယွင်းနေသည်", - "err.redeeming_own_code_not_allowed": "မိမိကိုယ်ပိုင်ကုဒ်များကို လဲလှယ်ထုတ်ယူခွင့်မပြုပါ", - "err.wrong_charge_id": "မှားယွင်းစွာဖော်ပြထားသော ID", - "err.wrong_link_code": "link ကုဒ်မှားယွင်းနေသည်", - "err.invalid_credentials": "ထောက်ပံ့ပေးထားသော သုံးစွဲသူအထောက်အထားများမှာ မမှန်ကန်ပါ", - "footer.reseller": "ငွေရှာပါ၊ Lantern Pro ကို ပြန်လည်ရောင်းချသူအဖြစ် လုပ်ကိုင်ပါ။ ဤနေရာကိုကလစ်နှိပ်ပါ", - "footer.reseller.email_subject": "Lantern Reseller Program အကြောင်းပြောပြပါ။", - "footer.reseller.email_body": "သင် Lantern ပြန်လည်ရောင်းချသူဖြစ်လာသည့်အခါ Lantern Pro subscription ကို ရောင်းရတိုင်းတွင် ၂၅% အထိ သင် ရရှိရန်အခွင့်အရေးရှိသည်။ ပြန်လည်ရောင်းချသူဖြစ်လိုသည့်အကြောင်း အောက်တွင် ကျွန်ုပ်တို့အားအနည်းငယ်ပြောပြပါ။", - "feature.faster_speed": "ပိုမိုလျင်မြန်သော အမြန်နှုန်း", - "feature.faster": "ပိုမိုမြန်ဆန်သော ဒေတာစင်တာများ", - "feature.unlimited": "အကန့်အသတ်မဲ့ဒေတာ", - "feature.nologs": "မှတ်တမ်းမရှိ", - "feature.devices": "ကိရိယာ ၃ ခုအထိချိတ်ဆက်ပါ", - "feature.noads": "ကြော်ငြာမရှိပါ", - "feature.yinbi.tooltip": "The Yinbi foundation is giving away 888 billion YNB cryptocurrency exclusively through Lantern to purchasers of Lantern Pro. YNB will be distributed at the end of every day, based on the quantity of Yinbi released that day, the number of people that upgrade/renew, and the number of years or accounts you purchase. YNB will be deposited directly into your Yinbi Wallet in Lantern!", - "feature.antiblock": "ခံနိုင်ရည်ကိုပိတ်ဆို့", - "feature.data_center": "ပိုကောင်းတဲ့ဒေတာစင်တာများ", - "feature.free_yinbi": "အခမဲ့ Yinbi Cryptocurrency!", - "free.title": "Lantern Pro", - "free.desc": "ပိုမြန်၊ ပိုအားကောင်း၊ အကန့်အသတ်မရှိ၊ လုံခြုံ။", - "free.link_account": "Pro အကောင့်ရှိပြီးသားလား။ သင့်အကောင့်ကိုချိတ်ဆက်ပါ", - "home.get_lantern_pro": "Lantern Pro ကိုရယူပါ", - "home.get_lantern_platinum": "Upgrade your plan", - "home.welcome_popup_subheader": "Lantern အသစ်မှ ကြိုဆိုပါသည်။", - "home.welcome_popup_content_1": "ကျွန်ုပ်တို့သည် Lantern ကို အပ်ဒိတ်လုပ်၍ လုပ်ဆောင်ချက်အသစ်များထည့်ကာ ကြိုးစားလုပ်ဆောင်ထားပါသည်။", - "home.welcome_popup_content_2": "ကျွန်ုပ်တို့၏ UI အသစ်၌ Lantern ကွန်ရက်တွင် မျှဝေလိုက်သော ဖိုင်များကို သင့်အားရှာဖွေခွင့်ပေးသော ရှာဖွေဘားတစ်ခုကို သင်တွေ့မည်ဖြစ်ပါသည်။ သင်ကိုယ်တိုင် ဖိုင်တစ်ခုကို ပို့စ်တင်ခြင်းဖြင့် အကြောင်းအရာကိုလည်း ဖြန့်ဝေနိုင်ပါသည်။ ဤသည်မှာ Beta လုပ်ဆောင်ချက်တစ်ခုဖြစ်သည်၊ ထို့ကြောင့် စမ်းသပ်လုပ်ဆောင်ကြည့်ပြီး သင့်အမြင်ကို ကျွန်ုပ်တို့ကိုပြောပါ၊ သင့်တုံ့ပြန်မှုကို အခြေခံ၍ ကျွန်ုပ်တို့သည် မြှင့်တင်မှုများကို ဆက်လက်လုပ်ဆောင်သွားပါမည်။", - "home.welcome_popup_button": "ကြိုးစားကြည့်ပါ", - "input.email": "အီးမေးလ်", - "input.your_email": "သင့်အီးမေးလ်လိပ်စာ", - "input.confirm_email": "အီးမေးလ်လိပ်စာကိုအတည်ပြုသည်", - "input.enter_email": "သင့်၏အီးမေးလ်လိပ်စာထည့်ပါ", - "input.use_valid_email": "မှန်ကန်သောအီးမေးလ်လိပ်စာတစ်ခုရေးပါ", - "input.email_not_match": "အီးမေးလ်အကွက်များမကိုက်ညီပါ", - "input.existing_email": "ရှိပြီးသား အီးမေးလ်", - "issue.your_email": "သင်၏အီးမေးလ်", - "issue.attach_image_failure": "ပုံအား တွဲချိတ်၍မရပါ", - "issue.try_again": "ကျေးဇူးပြု၍ ထပ်မံကြိုးစားပါ", - "issue.select_issue": "ပြဿနာကိုရွေးချယ်ပါ", - "issue.selected_issue": "ပြဿနာကိုရွေးပါ", - "issue.select_issue_hint": "dropdown menu မှ ပြဿနာတစ်ခုကို ရွေးချယ်ပါ", - "issue.note": "သင်၏ပြဿနာကို ရှင်းလင်းဖော်ပြပါ", - "issue.description": "ပြဿနာရှင်းလင်းဖော်ပြချက်", - "issue.error": "ပြဿနာကို တိုင်ကြားရာတွင် အမှားအယွင်းရှိ", - "issue.submit": "အစီရင်ခံစာပို့ရန်", - "issue.report_screenshot": "ပုံဆွဲပါ (သို့) screenshot upload လုပ်ရန်နှိပ်ပါ", - "issue.reported": "သင်၏ပြဿနာကို တင်ပြသည့်အတွက် ကျေးဇူးတင်ပါသည်။ ကျွန်ုပ်တို့တတ်နိုင်သမျှအမြန်ဆုံး အီးမေးလ်ဖြင့်ပြန်ပို့ပါမည်", - "issue.report_sent": "ပို့ပြီးပါပြီ", - "issue.type.no_access": "ပိတ်ထားသောဆိုဒ်များကို ကြည့်၍မရပါ", - "issue.type.payment_fail": "ငွေပေးချေမှုကို အပြီးမသတ်နိုင်ပါ", - "issue.type.cannot_login": "log in ဝင်လို့မရပါ", - "issue.type.always_spinning": "spinner တင်ခြင်းသည်အဆုံးမဲ့လည်ပတ်နေသည်", - "issue.type.slow": "နှေးနှေး", - "issue.type.cannot_link_device": "ကိရိယာများကို ချိတ်ဆက်၍ မရပါ", - "issue.type.crashes": "Lantern ချွတ်ယွင်းမှုများ", - "issue.type.other": "အခြား", - "languages.title": "ဘာသာစကားများ", - "lantern.email": "Lantern အီးမေး", - "mobile.link": "သင့် Android ဖုန်းတွင် Lantern ကို download လုပ်ရန် link ကိုသုံးပါ။", - "mobile.title": "Android ဗားရှင်းရယူပါ", - "nav.about": "အကြောင်း", - "nav.account": "အကောင့်စီမံခန့်ခွဲမှု", - "nav.authorize": "ကိရိယာထည့်ပါ", - "nav.authorized": "ကိရိယာခွင့်ပြုချက်", - "nav.unauthorized_link": "Pro အတွက် Device ကို ခွင့်ပြုပါ", - "nav.language": "ဘာသာစကား", - "nav.lantern": "Lantern", - "nav.mobile": "မိုဘိုင်းဗားရှင်းရယူပါ", - "nav.report_issue": "ပြဿနာတစ်ခုသတင်းပို့ပါ", - "nav.settings": "ချိန်ညှိချက်များ", - "nav.support": "Support", - "nav.verify": "အကောင့်အတည်ပြုခြင်း", - "nav.yinbi": "Yinbi လဲလှယ်ရယူခြင်း", - "nav.home": "နေအိမ်", - "nav.discover": "ရှာဖွေပါ", - "nav.wallet": "ပိုက်ဆံအိတ်", - "nav.yinbi_wallet": "Yinbi ပိုက်ဆံအိတ်", - "notification.retry": "ပြန်ကြိုးစားပါ", - "notifications": "အသိပေးချက်များ", - "notifications.whatisnew": "ဘာထူးသလဲ။", - "password.change": "စကားဝှက်ကိုပြောင်းရန်", - "password.changed": "စကားဝှက်ပြောင်းထား", - "continue.to.pro": "Pro ကိုဆက်သွားပါ", - "username": "အသုံးပြုသူအမည်", - "password.new": "စကားဝှက်အသစ်", - "password.requirements": "
စကားဝှက်တွင်အောက်ပါတို့ပါရမည် -
  • အက္ခရာ ၈ လုံးနှင့်အထက်
  • စာလုံးအသေး ၁ လုံး၊
  • စာလုံးကြီးတစ်လုံး
  • အနည်းဆုံးနံပါတ်တစ်ခု
  • စိတ်မချရသောစကားဝှက်များစာရင်းတွင်မပါဝင်ရပါ
", - "password.reset": "စကားဝှက်အား မူလအတိုင်းပြန်ထားပါ", - "paxful.buy": "ဝယ်ပါ", - "paxful.payment": "ငွေပေးချေစနစ်", - "paxful.bitcoin": "Bitcoin (BTC)", - "paxful.tether": "ကြိုး (USDT)", - "paxful.wallet": "အွန်လိုင်း ပိုက်ဆံအိတ်များ", - "paxful.bank": "ဘဏ်ငွေလွှဲပြောင်းခြင်းများ", - "paxful.gamer_card": "ဂိမ်းကဒ်များ", - "paxful.gift_card": "လက်ဆောင်ကဒ်များ", - "paxful.cash": "ငွေသားပေးချေမှု", - "paxful.digital_currency": "ဒစ်ဂျစ်တယ်ငွေကြေး", - "paxful.button": "အကောင်းဆုံးအပေးအယူများပြပါ", - "payment.close": "ပိတ်", - "payment.redirectErrorTitle": "ငွေပေးချေမှုဆာဗာကို ချိတ်ဆက်ရာတွင် ချို့ယွင်းချက်", - "payment.redirectErrorText": "ကျွန်ုပ်တို့သည် ဤပြဿနာကို ဖြေရှင်းရန်အတွက် လတ်တလော ဆောင်ရွက်နေပါသည်။ နောက်မှ ပြန်စစ်ဆေးပါ။", - "payment.wait_for_pro": "Lantern Pro ကို ဝယ်ယူသည့်အတွက် ကျေးဇူးတင်ပါသည်။ သင်၏ Lantern အလိုအလျောက် Pro ဖြစ်လာရန် ခဏစောင့်ပါ။", - "payment.moreOptions": "More Options", - "payment.fewerOptions": "Fewer Options", - "payment_methods.select_name": "ငွေပေးချေမှုနည်းလမ်းကိုရွေးချယ်ပါ", - "payment_methods.alipay": "Credit Card / Alipay", - "payment_methods.shetab": "လျင်မြန်သော World Pay (Shetab)", - "payment_methods.shetab.details.header": "Lantern Pro ကိုဝယ်ယူရန်", - "payment_methods.shetab.details.body": "ဆက်လက်ဝယ်ယူရန်ကို သင်နှိပ်ပါက ငွေပေးချေမှုကို အပြီးသတ်ရန်နှင့် သင်၏ activation ကုဒ်ကို စုဆောင်းရန်ပြင်ပ site တစ်ခုသို့ သင့်ကို ပြန်လည်လမ်းညွှန်လိမ့်မည်။", - "payment_methods.shetab.details.tutorial_header": "tutorials ရယူပါ", - "payment_methods.shetab.details.purchase_voucher_button": "ဆက်လက်ဝယ်ယူရန်", - "payment_methods.shetab.details.input_code_button": "Activation ကုဒ် ထည့်ရန်", - "plan.step1": "အဆင့် 1", - "plan.apply": "လျှောက်ထားပါ", - "plan.step2": "အဆင့် ၂", - "plan.most_popular": "လူကြိုက်အများဆုံး!", - "plan.step3": "အဆင့် 3", - "plan.choose_plan": "Plan ကိုရွေးချယ်ပါ", - "plan.enter_email": "အီးမေးလ်ထည့်ပါ", - "plan.choose_method": "Choose Payment Method", - "plan.bestValue": "အကောင်းဆုံးအပေးအယူများ", - "plan.per_month": "တစ်လလျှင်", - "plan.yinbi_2x": "+ 2x Yinbi!", - "plan.oneYear": "1 နှစ်", - "plan.add_referral": "ရည်ညွှန်းကုဒ်ထည့်ပါ", - "plan.years": "{{years}} နှစ် အစီအစဉ်", - "plan.desc": "တစ်ကြိမ်လျှင် {{price}} နှုန်း တောင်းခံထားသည်", - "plan.bonus_months": "+ {{bonusMonths}} လများ", - "plan.price.cny": "¥%.02f", - "plan.price.usd": "$%.02f", - "plan.currency.cny": "(RMB)", - "plan.currency.usd": "(အမေရိကန်ဒေါ်လာ)", - "plan.time_unit": "/ YR", - "plan.select": "ရွေးချယ်ပါ", - "plan.two_year": "Two Year", - "plan.one_year": "One Year", - "plan.savings": "Save {{formattedDiscount}} %", - "plans.title": "Lantern Pro အစီအစဉ်များ", - "plans.lantern_pro": "Lantern Pro", - "plans.platforms": "Windows၊ Android၊ Mac၊ Ubuntu အတွက်ဖြစ်သည်။", - "plans.from_reseller": "Have a Lantern Pro activation code? Click here.", - "plans.with_voucher_code": "Activation ကုဒ်ရှိပါသလား။ ဤနေရာကိုကလစ်နှိပ်ပါ။", - "pro.apply": "သင်၏ခရက်ဒစ်များကို သင်၏အကောင့်သို့ လာမည့်ငွေတောင်းခံကာလတွင် ထည့်ပါမည်။", - "pro.title": "သူငယ်ချင်းများကိုဖိတ်ပါ၊ နောက်ထပ် Pro များကို အခမဲ့ရယူပါ", - "pro.subtitle": "သင်၏သူငယ်ချင်းက နှစ်နှစ်အစီအစဉ်ဝယ်ယူသောအခါ နောက်ထပ် ၃ လထပ်တိုးမည့်အစီအစဉ်ကို သင်တို့နှစ်ဦးရမည်ဖြစ်ပြီး တစ်နှစ်အစီအစဉ်ဝယ်ယူလျှင် ၁ လစီအခမဲ့ရပါမည်။", - "pro.share": "ခရက်ဒစ်ပိုများများရရန် သင်၏ကုဒ်ကို သူငယ်ချင်းများနှင့်မျှဝေပါ။", - "promotion.title": "Lantern Pro Checkout", - "promotion.title.activation": "Lantern Pro ကို Activation လုပ်ခြင်း", - "promotion.enter_and_confirm_email": "ကျေးဇူးပြုပြီး သင့်အီးမေးလ်လိပ်စာကိုရိုက်ထည့်ပြီး အတည်ပြုပါ", - "promotion.code.hint": "သင့်သူငယ်ချင်း၏ ရည်ညွှန်းကုဒ်နံပါတ်ကို ရိုက်ပါ (မဖြစ်မနေမဟုတ်)။", - "promotion.code.label": "ရည်ညွှန်းကုဒ်", - "promotion.payment": "ငွေပေးချေမှုသို့ ဆက်သွားမည်", - "promotion.payment.btc": "₿ ဖြင့် ငွေပေးချေမည်", - "promotion.loading": "ဖွင့်နေသည် ...", - "promotion.howto_1y": "အကယ်၍ မိတ်ဆွေတစ်ဦးက သူ၏ရည်ညွှန်းကုဒ်ကို သင်နှင့်မျှဝေပါက checkout ပြီးသည်နှင့်တစ်ပြိုင်နက် Lantern Pro ကို တစ်လအခမဲ့ရယူရန် ကုဒ်ကိုထည့်ပါ။", - "promotion.howto_2y": "အကယ်၍ မိတ်ဆွေတစ်ဦးက သူ၏ရည်ညွှန်းကုဒ်ကို သင်နှင့်မျှဝေပါက checkout ပြီးသည်နှင့်တစ်ပြိုင်နက် Lantern Pro ကို သုံးလအခမဲ့ရယူရန် ကုဒ်ကိုထည့်ပါ။", - "promotion.pay": "{{amount}} ကို ပေးဆောင်ပါ", - "promotion.select": "ရွေးချယ်ပါ", - "promotion.promotion_applied_1y": "အပိုဆုကြေး +1 လ", - "promotion.promotion_applied_2y": "အပိုဆုကြေး +3 လ", - "promotion.too_many_referrals": "ဤရည်ညွှန်းကုဒ်ကို ထည့်ထားပြီးပြီ။ သင်၏အပိုလများကို ရရန် ယခု check out လုပ်ပါ။", - "promotion.activation.enter_and_confirm_email": "သင်၏ Lantern Pro အကောင့်ကိုမှတ်ပုံတင်ရန်သင်၏အီးမေးလ်လိပ်စာကိုထည့်သွင်းပြီးအတည်ပြုပါ။", - "promotion.activation.label": "XXXXX-XXXXX-XXXXX-XXXXX-XXXXX", - "promotion.activation.hint": "Activation ကုဒ်", - "promotion.activation.instructions": "သင့်အကောင့်ကိုမှတ်ပုံတင်ရန် သင့်အီးမေးလ်နှင့် ပြန်လည်ရောင်းချသူထံမှ ၂၅ လုံးပါသော activation ကုဒ်ကိုထည့်ပါ။", - "promotion.activation.howto": "အထက်တွင် သင်၏ စာလုံး၂၅လုံးပါ Lantern Pro activation code ကိုရိုက်ထည့်ပါ။ သင့်တွင်ကုဒ်မရှိပါက ယခင်မျက်နှာပြင်ပေါ်တွင် Pro ကို ဝယ်ပါ (သို့) Lantern Pro ပြန်လည်ရောင်းချသူကို အွန်လိုင်းတွင်ရှာဖွေပါ။", - "promotion.activation.continue": "Pro အတွက်မှတ်ပုံတင်ပါ", - "promotion.voucher.hint": "Activation ကုဒ်", - "promotion.voucher.howto": "သင်၏စာလုံး ၁၂ လုံးပါ Fast World Pay activation ကုဒ်ကို အထက်တွင် ထည့်ပါ", - "promotion.voucher.label": "XXXXXXXXXXXX", - "promotion.voucher.error.default": "Error redeeming your activation code.", - "promotion.voucher.error.invalid_code": "မမှန်ကန်သော activation ကုဒ်", - "promotion.voucher.error.invalid_plan": "မမှန်ကန်သောအစီအစဉ်နှင့် သက်ဆိုင်သော activation ကုဒ်", - "promotion.voucher.error.already_redeemed": "Activation ကုဒ်ကို လဲလှယ်ရယူပြီးပါပြီ", - "referral.code": "ရည်ညွှန်းကုဒ်", - "referral.text": "ကျွန်တော့်ကုဒ် %sကိုသုံးပြီး သင်စာရင်းသွင်းသည့်အခါ ၃ လအခမဲ့ရယူပါ။", - "referral.description_free": "သင်၏ကုဒ်ကို သင်၏သူငယ်ချင်းများနှင့် မျှဝေပါ၊ ၎င်းတို့ Pro ကို ဝယ်ယူသောအခါ Lantern Pro ဝန်ဆောင်မှု 1 လကို အခမဲ့ရယူပါ။", - "referral.description_pro": "သင်၏ကုဒ်ကို သင်၏သူငယ်ချင်းများနှင့် မျှဝေပြီး ၎င်းတို့ Pro ကို ဝယ်ယူသောအခါ Lantern Pro ဝန်ဆောင်မှု ထပ်တိုး 1 လကို အခမဲ့ရယူပါ။", - "register": "မှတ်ပုံတင်ပါ", - "renew.subtitle_early": "အခမဲ့ ၃လအတွက် သက်တမ်းတိုးပါ", - "renew.subtitle_last_day": "အခမဲ့ ၃လအတွက် သက်တမ်းတိုးပါ", - "renew.subtitle_expired": "အခမဲ့ (၄၅) ရက်အတွက် သက်တမ်းတိုးပါ။", - "renew.details_early": "သင်၏ Lantern Pro အဖွဲ့ဝင်ဖြစ်မှုမှာ မကြာမီအဆုံးသတ်တော့မည်။ ယခုသက်တမ်းတိုးပြီး သုံးလအထိအခမဲ့ရယူပါ။", - "renew.details_last_day": "သင်၏ Lantern Pro အဖွဲ့ဝင်ဖြစ်မှုမှာ ယနေ့အဆုံးသတ်သည်။ ယခုသက်တမ်းတိုးပြီး သုံးလအထိအခမဲ့ရယူပါ။", - "renew.details_expired": "သင်၏ Lantern Pro အဖွဲ့ဝင်ဖြစ်မှုမှာ သက်တမ်းကုန်သွားပါပြီ။ ယခုသက်တမ်းတိုးပြီး ၄၅ ရက်အထိ အခမဲ့ရယူပါ။", - "renew.asterisk_early": "* ဤအချိန်ကန့်သတ်ထားသောကမ်းလှမ်းချက်သည် အစောပိုင်းသက်တမ်းတိုးမှုအတွက်သာ အကျုံးဝင်သည်။", - "renew.asterisk_last_day": "* ဤသည်မှာ အထူးကမ်းလှမ်းချက်ကို ရရန် သင်၏နောက်ဆုံးအခွင့်အရေးဖြစ်သည်။", - "renew.asterisk_expired": "* ဒါက အချိန်ကန့်သတ်ထားသော ကမ်းလှမ်းမှုပါ။", - "renew.plan_label": "Lantern Pro - %s", - "renew.plan_renewal_bonus_1_month": "$%d%s + ၁လအခမဲ့", - "renew.plan_renewal_bonus_months": "$%d%s + အခမဲ့ %dလ", - "renew.plan_renewal_bonus_days": "$%d%s + အခမဲ့ %dရက်", - "renew.next": "နောက်တစ်ခု", - "renew.decline": "ကမ်းလှမ်းမှုကိုငြင်းဆို", - "renew.decline_question": "ဒီကမ်းလှမ်းချက်ကို သင်ငြင်းချင်တာ သေချာလား။", - "renew.decline_yes": "နောက်ပိုင်းတွင်သက်တမ်းတိုးပါ", - "renew.decline_dismiss": "ယခုသက်တမ်းတိုးပါ", - "renew.notification_title_30_days": "များစွာချွေတာနိုင်ရန်အတွက် Pro ကို ယခုသက်တမ်းတိုးလိုက်ပါ။", - "renew.notification_title_30_days_platinum": "Renew Platinum now for huge savings!", - "renew.notification_text_30_days": "Your {{planName}} account expires in {{remainingDays}} days. Renew now and get up to 3 months free.", - "renew.notification_title_2_days": "{{planName}} discount ends tomorrow!", - "renew.notification_text_2_days": "Your {{planName}} account expires tomorrow. Don’t miss this opportunity for a huge discount.", - "renew.notification_title_last_day": "လျှော့စျေးအတွက်နောက်ဆုံးအခွင့်အရေး", - "renew.notification_text_last_day": "Your {{planName}} account has expired. Renew today and get up to 3 months free.", - "replica.upload": "တင်ပါ", - "replica.favorite": "ကြိုက်နှစ်သက်မှု", - "replica.added_to_favorites": "ကြိုက်နှစ်သက်မှုများထဲသို့ ထည့်ထားသည်", - "replica.filedrop_error": "ဤဖိုင်ကို အပ်လုဒ်လုပ်ရာတွင် အမှားအယွင်း", - "replica.filedrop_error.file-too-large": "အမြင့်ဆုံး ခွင့်ပြုထားသည့် ဖိုင်အရွယ်အစားမှာ {{fileSize}} ဖြစ်သည်", - "replica.filedrop_error.file-too-small": "ဖိုင်မှာ သေးလွန်းသည်", - "replica.filedrop_error.too-many-files": "ဖိုင်အလွန်များပြားသည်", - "replica.filedrop_error.file-invalid-type": "ဤဖိုင်အမျိုးအစားကို လက်ရှိတွင် ပံ့ပိုးမပေးထားပါ", - "replica.filedrop_remove_file": "စီတန်းစောင့်ဆိုင်းမှုမှ ဖယ်ရှားပါ", - "replica.post": "ဖိုင်ကို အပ်လုဒ်လုပ်ပါ", - "replica.relevance": "ဆီလျော်မှု", - "replica.upload_date": "တင်သည့်ရက်စွဲ", - "replica.gallery_view": "ပြခန်းမြင်ကွင်း", - "replica.list_view": "စာရင်းကြည့်ရန်", - "replica.copy_lantern_link": "Lantern Link ကိုကူးယူပါ", - "replica.documents": "စာရွက်စာတမ်းများ", - "replica.audio": "အော်ဒီယို", - "replica.application": "အက်ပလီကေးရှင်းများ", - "replica.image": "ပုံများ", - "replica.video": "ဗွီဒီယိုများ", - "replica.web": "ဝက်ဘ်", - "replica.news": "သတင်း", - "replica.upload_alert.dont_show": "ဒီဟာကိုနောက်တစ်ကြိမ်မပြပါနှင့်", - "replica.upload_alert.cancel": "တင်နေသည်ကို ပယ်ဖျက်ပါ", - "replica.upload_alert.resume": "တင်နေသည်ကို ဆက်လုပ်ပါ", - "replica.upload_alert.info": "အရေးကြီးသောသတင်းအချက်အလက်!", - "replica.upload_alert.desc1": "Lantern သို့တင်ထားသောဖိုင်များကို ဖြန့်ဝေထားပြီး ဗဟိုချုပ်ကိုင်မှုလျှော့ချထားသည်။ အခြားအသုံးပြုသူတစ်ဦး က ၎င်းတို့ကို ဝင်ကြည့်ပါက ၎င်းတို့ကို \"ကျွန်ုပ်၏ဖိုင်များ\" စာရင်းမှ ပယ်ဖျက်လိုက်လျှင်ပင် ကွန်ရက်အတွင်းမှ ၎င်းတို့ကို Lantern အပါအဝင် မည်သူမျှဖျက်၍မရတော့ပါ။", - "replica.upload_alert.desc2": "အထိခိုက်မခံသောအကြောင်းအရာများကို တင်စဉ် ကိုယ်ရေးကိုယ်တာအချက်အလက်များကို ဖိုင် (သို့) ဖိုင်အမည်တွင် အသုံးမပြုပါနှင့်။", - "replica.add_details": "အသေးစိတ်အချက်များ ထည့်ပါ", - "replica.cannot_edit": "တင်လိုက်သည်နှင့် ဖိုင်အမည်များကို တည်းဖြတ်၍မရတော့ပါ။", - "replica.next": "နောက်တစ်ခု", - "replica.previous": "ရှေ့", - "replica.selectAll": "အားလုံးရွေးပါ", - "replica.search_replica": "ရှာပါ", - "replica.search_results_info": "ဤတဘ်သည် Lantern ရလဒ်များကိုသာ ပြသသည်။", - "replica.search_results_info_message": "Lantern ရလဒ်များတွင် အသုံးပြုသူများက Lantern ကွန်ရက်သို့ အပ်လုဒ်လုပ်လိုက်သော အကြောင်းအရာများ ပါဝင်သည်။", - "replica.no_files_found": "No Results", - "replica.or_content": "အခြားလူများရှာရန်သင့်ကိုယ်ပိုင်အကြောင်းအရာ!", - "replica.try_again": "အခြားသော့ချက်စာလုံးတစ်လုံးကိုစမ်းကြည့်ပါ၊", - "replica.upload_success": "အောင်မြင်စွာတင်ပြီးပါပြီ", - "replica.cannot_preview": "ဤဖိုင်အမျိုးအစားအတွက် အစမ်းကြည့်၍ မရပါ", - "replica.no_description": "ဖော်ပြချက်များ ပေးမထားပါ", - "replica.size": "အရွယ်အစား", - "replica.uploaded": "တင်ပြီးပါပြီ", - "replica.invalid_link": "မမှန်ကန်သောလင့်ခ်", - "replica.close": "ပိတ်", - "replica.files": "ဖိုင်များ", - "replica.upload_history": "မှတ်တမ်းကို အပ်လုဒ်လုပ်ပါ", - "replica.my_favorites": "ကြိုက်နှစ်သက်မှုများ", - "replica.no_uploads": "အပ်လုဒ်များ မရှိသေးပါ", - "replica.no_favorites": "ကြိုက်နှစ်သက်မှုများ မရှိသေးပါ", - "replica.mime_type": "ဖိုင်အမျိုးအစား- {{mime}}", - "replica.image_loading_error": "ပုံကို ဖွင့်ရာတွင် ပြဿနာရှိသည်", - "replica.play": "ဖွင့်မည်", - "replica.pause": "ခေတ္တရပ်မည်", - "replica.scrub": "ဖျက်သိမ်းမည်", - "replica.skip_forward": "ရှေ့ကို ကျော်မည်", - "replica.skip_backwards": "နောက်ကို ကျော်မည်", - "replica.trending_videos": "ခေတ်မှီသောဗီဒီယိုများ", - "replica.file_uploaded": "အပ်လုဒ်လုပ်ထားသည်- လွန်ခဲ့သော {{days}} ရက်", - "replica.file_size": "အရွယ်အစား", - "replica.duration": "ကြာချိန်", - "replica.filename": "ဖိုင်နာမည်", - "replica.filename_required": "သင့်ဖိုင်ကို အမည်ပေးပါ", - "replica.description_optional": "ဖော်ပြချက် ထည့်ပါ", - "replica.expand": "အသေးစိတ်များ ချဲ့ပါ", - "replica.filetype": "ဖိုင်အမျိုးအစား", - "replica.sortby": "ဤအတိုင်း စဉ်မည်", - "replica.link": "ပုံတူပွားလင့်ခ်", - "replica.collapse": "ခွဲထုတ်မည်", - "replica.publish": "ထုတ်ဝေသည်", - "replica.cancel": "ပယ်ဖျက်ပါ", - "replica.progress_current_upload": "၏ အပ်လုဒ်", - "replica.progress_files": "ဖိုင်များ", - "replica.progress_of": "၏", - "replica.progress_upload_complete": "ပြီးစီးသည်", - "replica.progress_upload_failure": "အပ်လုဒ်လုပ်မှု မအောင်မြင်သဖြင့် ထပ်မံကြိုးစားပါ။", - "replica.upload_in_progress": "အပ်လုဒ် ဆက်လုပ်နေသည်", - "replica.upload_pending": "အပ်လုဒ် ဆိုင်းငံ့ထားသည်", - "replica.upload_error": "အပ်လုဒ် ချို့ယွင်းချက်", - "replica.upload_cancel": "အပ်လုဒ်ကို ပယ်ဖျက်ပါ", - "replica.upload_confirm": "အပ်လုဒ်ကို သင်ပယ်ဖျက်လိုသည်မှာ သေချာပါသလား။", - "replica.progress_view": "ကြည့်မည်", - "replica.delete": "ဖျက်ပါ", - "replica.remove": "ဖယ်ရှားပါ", - "replica.delete_file": "ဖိုင်ကိုဖျက်ပါ", - "replica.remove_favorite": "ကြိုက်နှစ်သက်မှုများထဲမှ ဖယ်ရှားပါ", - "replica.failed_to_delete": "ဖျက်ခြင်းမအောင်မြင်ပါ", - "replica.failed_to_remove": "ဖယ်ရှားရန် မအောင်မြင်ပါ", - "replica.link_lookup_failure": "link ရှာခြင်းမအောင်မြင်ပါ", - "replica.delete_file_confirmation_1": "သင်ဖျက်လိုသည်မှာ သေချာသလား", - "replica.delete_file_confirmation_2": "သင်၏တင်ပို့ချက်များမှ", - "replica.remove_favorite_confirmation_1": "သင် ဖယ်ရှားလိုသည်မှာ သေချာပါသလား", - "replica.remove_favorite_confirmation_2": "သင်၏ ကြိုက်နှစ်သက်မှုများမှ", - "replica.share_file": "ဖိုင်မျှဝေပါ", - "replica.download_and_view": "ဒေါင်းလုပ် / ကြည့်ရန်", - "replica.download": "ဒေါင်းလုပ်", - "replica.copy_link": "ပုံတူပွားလင့်ခ်ကို ကူးယူပါ", - "replica.find_file": "ဖိုင်ရှာပါ", - "replica.file_drop_prompt": "အပ်လုဒ်စတင်လုပ်ဆောင်ရန် ဖိုင်ကိုရွှေ့ပါ။", - "replica.empty_uploads_text1": "သင့်ရဲ့ပထမဆုံးပို့စ်ကို ဖန်တီးရန်", - "replica.empty_uploads_text2": "ဒီကို", - "replica.empty_uploads_text3": "နှိပ်ပါ", - "replica.error_header": "အိုး", - "replica.error": "သင့်တောင်းဆိုမှုကို စီမံခန့်ခွဲရာတွင် မှားယွင်းမှုတစ်ခု ဖြစ်ပေါ်ခဲ့သည်။ ထပ်မံကြိုးစားပါ။", - "replica.serp_empty": "ဤစုံစမ်းမေးမြန်းမှုအတွက် Google သည် မည်သည့်ရလဒ်ကိုမျှ ပြန်မပို့ထားပါ။", - "replica.disclaimer": "Lantern သည် သင်၏ရှာဖွေမှုများကို အမည်မဖော်ပြဘဲ ယင်းတို့ကို ပြင်ပအဖွဲ့အစည်းများထံ မရောက်ရှိစေရန် ကာကွယ်ပေးပါသည်", - "settings.general": "အထွေထွေ", - "settings.feedback": "တုံ့ပြန်ချက်", - "settings.autoLaunch": "Lantern ကို စနစ်စလည်ပတ်ချိန်မှာ ဖွင့်ပါ", - "settings.autoReport": "Lantern ကို အထောက်အကူပြုရန် အသုံးပြုမှုစာရင်းအင်းများကို လုံလုံခြုံခြုံအစီရင်ခံပါ", - "settings.lantern_ads": "Lantern ကြော်ငြာများကို ပြသပါ", - "settings.lantern_ads_tooltip": "Lantern သည် ကျွန်ုပ်တို့၏ ဝန်ဆောင်မှုကို ကူညီပံ့ပိုးပေးရန် သင့်အား ဝဘ်ဆိုက်အချို့တွင် ကြော်ငြာများကို ပြသသည်။ အသုံးပြုသူ အချက်အလက်ကို စုစည်းရယူထားခြင်း သို့မဟုတ် ကျွန်ုပ်တို့၏ ဆာဗာများသို့ လွှဲပြောင်းထားခြင်း မရှိပါ။ ဤရွေးစရာကို သင်ပိတ်လိုက်ပါက ကြော်ငြာများကို သင် ဆက်လက်မြင်နိုင်သေးသော်လည်း ၎င်းတို့သည် Lantern ကွန်ရက်မှလာခြင်း မဟုတ်ပါ။", - "settings.proxyAll": "Proxy အားလုံးအသွားအလာ", - "settings.proxyAllHelpTitle": "\"Proxy အားလုံးအသွားအလာ\" က ဘာလုပ်သလဲ။", - "settings.proxyAllHelp1": "အကယ်၍ ဖွင့်ထားလျှင် traffic အားလုံးကို Lantern မှတဆင့်ပို့လိမ့်မည် (လုံခြုံစိတ်ချရမှုအများဆုံး)။", - "settings.proxyAllHelp2": "အကယ်၍ ပိတ်ထားပါက ပိတ်ဆို့ခံထားရသောအသွားအလာကိုသာ Lantern မှ ပေးပို့လိမ့်မည် (အမြန်ဆုံး၊ အသုံးအများဆုံး)။", - "settings.show_advanced": "အဆင့်မြင့်ချိန်ညှိချက်များကိုပြပါ", - "settings.hide_advanced": "အဆင့်မြင့်ချိန်ညှိချက်များကိုဖျောက်ပါ", - "settings.systemProxy": "system proxy ကိုစီမံပါ", - "settings.title": "ချိန်ညှိချက်များ", - "settings.http_proxy": "HTTP(S) proxy-", - "settings.socks_proxy": "SOCKS proxy-", - "settings.caution": "သတိ-", - "settings.caution_text": "\"system proxy ကို စီမံပါ\" ကို အမှန်ခြစ်ဖြုတ်ထားသောအခါ သင်၏ browser နှင့် application များသည် Lantern ကို အလိုအလျောက်သုံးနိုင်မည်မဟုတ်ပါ။ ဤချိန်ညှိချက်များကို ကိုယ်တိုင်မည်သို့ပြုပြင်ရမည်ကို သင်သိလျှင် အထက်ပါအချက်အလက်များကို ရည်ညွှန်းပါ။", - "settings.select_language": "ဘာသာစကားရွေးပါ", - "settings.diagnostics": "ချို့ယွင်းချက်ရှာ အချက်အလက်များကို တွဲပါ", - "settings.diagnostics_tooltip": "ချို့ယွင်းချက်ရှာ အချက်အလက်များကို တွဲခြင်းသည် သင်၏ချိတ်ဆက်မှုမှ ရိုက်ယူထားသော Lantern အဖွဲ့ဒေတာကို ပေးပို့ပါမည်။ ယင်းက သင်၏ပြဿနာကို အမျိုးအစားခွဲခြားရန်နှင့် ဖြေရှင်းရန် ကျွန်ုပ်တို့၏ စွမ်းဆောင်နိုင်စွမ်းကို မြှင့်တင်ပေးမည်ဖြစ်သည်။", - "status.lantern": "Lantern သည်", - "status.click_reconnect": "ပြန်လည်ချိတ်ဆက်ရန်ဒီနေရာကိုနှိပ်ပါ", - "status.server_location": "ဆာဗာတည်နေရာ", - "status.tooltip1": "Lantern သည် သင်၏အကောင်းဆုံးဒေတာစင်တာများနှင့် သင့်ကိုချိတ်ဆက်ရန်အတွက် smart server ရွေးချယ်မှုကိုအသုံးပြုသည်။", - "status.tooltip2": "ကျွန်ုပ်တို့၏ သီးသန့် Lantern Pro ဒေတာစင်တာများမှ အထူးရွေးချယ်ထားသောဆာဗာဖြင့် ပိုမိုမြန်ဆန်သော အမြန်နှုန်းကို ရရန် Lantern Pro သို့အဆင့်မြှင့်ပါ", - "status.protected_connection": "သင်၏ဆက်သွယ်မှုကိုကာကွယ်ထားသည်", - "status.please_wait": "ဒီဟာက တစ်မိနစ်၊ နှစ်မိနစ်လောက် ကြာနိုင်တယ်", - "status.connecting": "ချိတ်ဆက်နေသည် ...", - "status.no_internet": "ပိတ်", - "status.no_internet_connection": "အင်တာနက်ဆက်သွယ်မှုမရှိပါ", - "status.connected": "ဖွင့်", - "status.disconnected": "ပိတ်", - "status.throttled": "မြန်နှုန်းထိန်းညှိမှု (ဒေတာအဖုံး)", - "status.no_system_proxy": "{{status}}၊ စနစ်ကြားခံကို မစီမံပါ", - "status.fail_to_set_system_proxy": "Lantern ကို system proxy အဖြစ်သတ်မှတ်ခြင်းမအောင်မြင်ပါ", - "status.fail_to_open_browser": "Lantern user interface ကို ပြသရန် browser window ကို ဖွင့်၍မရခဲ့ပါ", - "support.forum": "Lantern User Forum", - "support.faq": "FAQ", - "terms_of_service.acknowledgment": "{{buttonText}} ကိုနှိပ်ခြင်းအားဖြင့် ကျွန်ုပ်တို့၏ဝန်ဆောင်မှုစည်းကမ်းချက်များကို သင်သဘောတူသည်", - "terms_of_service.replica": "ကျွန်ုပ်တို့၏ထုတ်ကုန်များကို မည်သည့်နည်းနှင့်မဆို ရှာဖွေခြင်း၊ တင်ခြင်း သို့မဟုတ် အသုံးပြုခြင်းအားဖြင့် ကျွန်ုပ်တို့၏ ဝန်ဆောင်မှုဆိုင်ရာစည်းမျဉ်းများလျှို့ဝှက်ထိန်းသိမ်းမှုမူဝါဒ နှင့် DMCA မူဝါဒကို သင်သဘောတူသည်", - "top_sites.google": "ဂူဂဲလ်", - "top_sites.twitter": "တွစ်တာ", - "top_sites.youtube": "Youtube", - "top_sites.facebook": "ဖေ့စ်ဘွတ်ခ်", - "top_sites.wikipedia": "ဝီကီပီးဒီးယား", - "verify.header": "ကိရိယာလင့်ခ်ချိတ်ဆက်မှု ပင်နံပါတ်ကို ရိုက်ထည့်ပါ", - "verify.code": "ကိရိယာချိတ်ဆက်ကုဒ်", - "verify.howto_1": "အကယ်၍ သင့်တွင် အခြားကိရိယာတစ်ခု၌ Lantern Pro အကောင့်တစ်ခုရှိပါက ထိုကိရိယာအားခွင့်ပြုရန်အတွက် ကုဒ်တစ်ခုကို လက်ခံရရှိရန် သင်၏အီးမေးလိပ်စာကို ဒီမှာထည့်ပါ။", - "verify.howto_1a": "သင်သည် လက်ရှိတွင် ခွင့်ပြုချက်မရှိသော Pro အသုံးပြုသူတစ်ဦး ဖြစ်သည်။ သင်၏ Pro အကောင့်ကို ခွင့်ပြုရန်သင်၏အီးမေးလ်လိပ်စာကို ဖြည့်ပါ။ ကိရိယာများစွာချိတ်ဆက်ရန် သင့်အားခွင့်ပြုလိမ့်မည်။", - "verify.howto_2": "ကိရိယာတစ်ခုကို သင်၏ Pro Account နှင့် ချိတ်ဆက်ရန်-", - "verify.howto_3": "၁။ သင့်အခြားစက်ပစ္စည်း၏ မီနူးမှ \"Authorize Device for Pro\" ကိုရွေးချယ်ပါ။", - "verify.howto_4": "၂။ အဆင့် ၁ မှရရှိသော ချိတ်ဆက်မှုပင်နံပါတ်ကို ထည့်ပြီး တင်သွင်းပါ။", - "verify.reminder": "* ကိရိယာနှစ်ခုစလုံးသည် Lantern ၏နောက်ဆုံးထွက်ဗားရှင်းကို အသုံးပြုထားကြောင်း သေချာပါစေ", - "verify.enter_pin": "ကိရိယာချိတ်ဆက်မှုပင်နံပါတ်ကို ရိုက်ထည့်ပါ", - "verify.submit": "တင်သွင်းပါ", - "verify.title": "အကောင့်အတည်ပြုခြင်း", - "welcomeToPro.continue": "Pro ကိုဆက်သွားပါ", - "welcomeToPro.invite": "သူငယ်ချင်းများကို ဖိတ်ပါ။ သူတို့က ၂ နှစ်အစီအစဉ်ကို ဝယ်တဲ့အခါ သင်တို့နှစ်ဦးလုံး ၃ လအခမဲ့ရလိမ့်မယ်၊ တစ်နှစ်အစီအစဉ်ဆို ၁ လစီရမယ်။ စတင်ဖိတ်ခေါ်ပါ။", - "welcomeToPro.thanks": "You now have unlimited access using our fastest data centers. Up to three devices can be connected to your account.", - "welcomeToPro.title": "Lantern Pro မှ ကြိုဆိုပါတယ်", - "welomeToPro.title_exclamation": "Lantern Pro မှကြိုဆိုပါသည်။", - "purchase.failed": "Purchase failed. Please try again later.", - "purchase.success": "Purchase Success", - "purchase.success_title": "Welcome to Lantern {{planType}}!", - "purchase.success_content_pro": "You now have unlimited access using our fastest data centers. Up to three devices can be connected to your account.", - "purchase.success_content_platinum": "You now have unlimited access using our dedicated lines and fastest data centers. Up to three devices can be connected to your account.", - "welcomeToPro.description": "ယခုတွင် သင်သည် ပိတ်ဆို့ထားသောဆိုဒ်များနှင့် ဝန်ဆောင်မှုများကို အကန့်အသတ်မရှိအသုံးပြုခွင့်ရှိသည်", - "messages.copied_to_clipboard": "ကုဒ်ကူးယူပြီးပြီ။ သင်၏သူငယ်ချင်းများနှင့် မျှဝေပါ။", - "messages.datacap": "မင်းရဲ့မြန်နှုန်းမြင့်ဒေတာကို မင်းသုံးပြီးပြီ။ အကန့်အသတ်မဲ့မြန်နှုန်းမြင့်ဒေတာအတွက် Pro ကိုအဆင့်မြှင့်ပါ။", - "messages.fatal_error": "တောင်းပန်ပါသည်၊ Lantern ဆာဗာများနှင့်ဆက်သွယ်ရာတွင် ကျွန်ုပ်တို့အခက်အခဲရှိနေသည်။ ကျေးဇူးပြု၍ သင်၏အင်တာနက်ဆက်သွယ်မှုကို စစ်ဆေးပြီး ထပ်မံကြိုးစားပါ။", - "messages.backend_gone": "တောင်းပန်ပါသည်၊ Lantern သည်အလုပ်မလုပ်တော့ဘဲ ဖြစ်နေပုံရသည်။ Lantern ကို ပြန်ဖွင့်ပြီးထပ်မံကြိုးစားပါ။", - "messages.get_help": "အကူအညီရယူပါ", - "freeProCredits.title": "သူငယ်ချင်းများကိုဖိတ်ကြားသည်", - "freeProCredits.shareWithFriends": "အခမဲ့လများရရန် သင်၏ code ကို သူငယ်ချင်းများနှင့်မျှဝေပါ။", - "freeProCredits.shareWithFriendsDesc": "သင့်သူငယ်ချင်းက ၂ နှစ်အစီအစဉ်ကို ဝယ်တဲ့အခါ သင်တို့နှစ်ဦးလုံး ၃ လအခမဲ့ရလိမ့်မယ်၊ တစ်နှစ်အစီအစဉ်ဆို ၁ လစီရမယ်။", - "cards.serverLocation.unknown": "မသိဘူး", - "cards.serverLocation.description": "အကောင်းဆုံးဆာဗာတည်နေရာ", - "cards.serverLocation.description-free": "ဆာဗာတည်နေရာ", - "cards.serverLocation.description-upgrade": "ပိုမိုမြန်သောဆာဗာများအတွက်အဆင့်မြှင့်တင်ခြင်း", - "cards.serverLocation.title": "လက်ရှိတည်နေရာ-", - "cards.serverLocation.location": "%s၊ %s", - "cards.serverLocation.text": "Lantern သည် တိုကျို၊ စင်္ကာပူ၊ ဟောင်ကောင်၊ ဆန်ဖရန်စစ္စကို၊ နယူးယောက်၊ အမ်စတာဒမ်၊ ဘန်ဂလိုနှင့် အခြားဒေတာစင်တာများမှ အမြန်ဆုံးဆက်သွယ်မှုကို သင့်အတွက်အလိုအလျောက်ရှာဖွေရန် smart server ရွေးချယ်မှုကိုအသုံးပြုသည်။", - "cards.serverLocation.text-free": "Lantern သည် အကောင်းဆုံးဒေတာစင်တာများနှင့် သင့်ကိုချိတ်ဆက်ရန်အတွက် smart server selection ကိုအသုံးပြုသည်။", - "cards.serverLocation.upgrade-link": "ကျွန်ုပ်တို့၏ သီးသန့် Lantern Pro ဒေတာစင်တာများမှ အထူးဆာဗာရွေးချယ်မှုဖြင့် ပိုမိုမြန်ဆန်သော Lantern Pro သို့အဆင့်မြှင့်ပါ။", - "cards.httpsUpgrades.description": "HTTPS အဆင့်မြှင့်တင်မှုများ", - "cards.httpsUpgrades.title": "HTTPS အဆင့်မြှင့်တင်မှုများ - %d", - "cards.httpsUpgrades.text": "Lantern သည် သင်အင်တာနက်သုံးနေစဉ် အချက်အလက်များကိုလျှို့ဝှက်ထားရန် ဖြစ်နိုင်လျှင် မလုံခြုံသော HTTP connection ကို encrypted HTTPS connection များသို့ အလိုအလျောက်အဆင့်မြှင့်သည်။", - "cards.adsBlocked.description": "ကြော်ငြာပိတ်ထား", - "cards.adsBlocked.title": "ပိတ်ထားသောကြော်ငြာများ - %d", - "cards.adsBlocked.text": "Lantern သည် ဝက်ဘ်စာမျက်နှာဖွင့်ချိန်ကို မြန်ဆန်စေရန်၊ bandwidth ကိုချွေတာရန်နှင့် browsing အတွေ့အကြုံကိုချောမွေ့စေရန် ထိုးဖောက်ဝင်ရောက်သောကြော်ငြာများကို ပိတ်ဆို့ထားသည်။", - "cards.dataUsage.description": "ဒေတာအသုံးပြုမှု", - "cards.dataUsage.upgrade": "ယခုအဆင့်မြှင့်ပါ", - "cards.dataUsage.mb-used": "သင်၏ လစဉ်မြန်နှုန်းမြင့်ဒေတာထဲမှ %d/%dMB ကို သင်အသုံးပြုခဲ့သည်။", - "cards.dataUsage.upgrade-link": "အကန့်အသတ်မရှိမြန်ဆန်သော ဝန်ဆောင်မှုအတွက် ယခုအဆင့်မြှင့်ပါ။", - "cards.subscription.description": "Pro စာရင်းသွင်းခြင်း", - "cards.subscription.renew": "သက်တမ်းတိုး", - "cards.subscription.months": "သင်၏စာရင်းသွင်းမှုတွင် Lantern Pro %dလ ကျန်ရှိပါတယ်။", - "cards.subscription.days": "သင်၏စာရင်းသွင်းမှုတွင် Lantern Pro %dရက်ကျန်ရှိပါတယ်။", - "cards.subscription.unit.months": "MO", - "cards.subscription.unit.days": "နေ့ရက်များ", - "cards.subscription.renew-link": "အချိန်ပိုထည့်ရန်သင်၏စာရင်းသွင်းမှုကိုသက်တမ်းတိုးပါ။", - "auth.email": "အီးမေးလ်", - "auth.username": "အသုံးပြုသူအမည်", - "auth.username.or.email": "အသုံးပြုသူအမည် သို့မဟုတ် အီးမေးလ်", - "auth.signin": "ဆိုင်းအင်လုပ်ခြင်း", - "current.password": "လက်ရှိစကားဝှက်", - "new.password": "စကားဝှက်အသစ်", - "auth.change.password": "စကားဝှက်ကိုပြောင်းရန်", - "confirm.new.password": "စကားဝှက်အသစ်ကိုအတည်ပြုပါ", - "auth.password": "စကားဝှက်", - "auth.have.recovery.phrase": "ပြန်လည်ရယူရေး စကားစု ရှိပါသလား။", - "auth.forgot.password": "စကားဝှက်မေ့နေပါသလား၊ လုံးဝမရှိဘူးလား။", - "auth.create.account": "အကောင့်ပြုလုပ်ပါ", - "auth.missing.username": "အသုံးပြုသူအမည်ပျောက်နေသည်", - "auth.missing.current.password": "လက်ရှိစကားဝှက်ပျောက်နေသည်", - "auth.missing.new.password": "စကားဝှက်အသစ်ပျောက်နေသည်", - "auth.missing.confirm.password": "အတည်ပြု စကားဝှက်ပျောက်နေသည်", - "invalid_credentials": "မမှန်ကန်သောအထောက်အထားများ", - "yinbi.wallet": "Yinbi ပိုက်ဆံအိတ်", - "create.wallet": "ပိုက်ဆံအိတ်ဖန်တီးပါ", - "new.to.yinbi": "Yinbi အခုမှစသုံးတာလား။", - "setup.wallet": "ဟုတ်တယ်၊ ပိုက်ဆံအိတ်အသစ်တစ်ခု ဖန်တီးကြစို့။", - "web.wallet": "ဟင့်အင်း၊ ကျွန်ုပ်သည် Yin.bi ဝက်ဘ်ဆိုက်ပေါ်တွင်ပိုက်ဆံအိတ်ရှိသည်", - "yinbi.next": "နောက်တစ်ခု", - "yinbi.amount": "ပမာဏ", - "yinbi.missing.address": "ဦးတည်ရာလိပ်စာမရှိပါ", - "yinbi.missing.amount": "သတ်မှတ်ထားသောပမာဏမရှိပါ", - "yinbi.missing.email": "အီးမေးလ်လိပ်စာမသတ်မှတ်ပါ", - "yinbi.missing.username": "အသုံးပြုသူအမည်မသတ်မှတ်ပါ", - "yinbi.missing.password": "စကားဝှက်မရှိပါ", - "yinbi.invalid.address": "{{destination}} မှာ မှန်ကန်သော Stellar လိပ်စာမဟုတ်ပါ", - "yinbi.send": "ပို့ပါ", - "yinbi.to": "သို့-", - "yinbi.try_again": "ထပ်ကြိုးစားမလား။", - "yinbi.success.transaction": "ငွေသွင်းငွေထုတ်အောင်မြင်ပါတယ်", - "yinbi.failure.transaction": "ငွေသွင်းငွေထုတ်မအောင်မြင်ပါ", - "yinbi.confirm.transaction": "ငွေသွင်းငွေထုတ်အတည်ပြုပါ", - "yinbi.sent.details": "{{amount}} YNB ကို {{destination}} သို့ သင်ပို့ခဲ့တယ်", - "yinbi.sent.failure.details": "အောက်ပါအကြောင်းပြချက်များကြောင့် သင်၏ငွေသွင်းငွေထုတ်မအောင်မြင်ခဲ့ပါ-", - "yinbi.recipient": "လက်ခံသူ", - "yinbi.available.send": "သင့်မှာ ပေးပို့ရန် {{balance}} YNB ရနိုင်သည်", - "yinbi.wallet.header": "ပိုက်ဆံအိတ်", - "yinbi.send.header": "Yinbi ပို့ပါ", - "yinbi.recovery.phrase": "Yinbi Recovery Phrase", - "yinbi.recover.account": "သင်၏ Yinbi Wallet နှင့် Lantern အကောင့်ကိုပြန်လည်ရယူရန်သင်၏ Yinbi Recovery Phrase ကိုရိုက်ထည့်ပါ", - "yinbi.recovery.desc": "သင်၏ Lantern အကောင့်အပြင် Yinbi ပိုက်ဆံအိတ်တစ်ခုကို ဆိုင်းအင်လုပ်လိုလျှင် ဤနည်းလမ်းကိုသုံးပါ", - "yinbi.redeem.codes": "Yinbi ကုဒ်များကို အလုံးအရင်းဖြင့်လဲလှယ်ရယူပါ", - "yinbi.obtain.codes": "Yinbi အလုံးအရင်းလဲလှယ်ရယူမှုကုဒ်များကို reseller.lantern.io မှရယူနိုင်သည်", - "yinbi.receive.header": "Yinbi ကိုလက်ခံပါ", - "yinbi.this.is.your.wallet": "ဤသည်မှာ သင်၏ Yinbi ပိုက်ဆံအိတ်လိပ်စာဖြစ်ပြီး လူများက သင့်ထံ YNB ပေးပို့နိုင်သည်။", - "yinbi.your.address": "သင်၏လိပ်စာ", - "yinbi.no.activity.header": "လှုပ်ရှားမှုမရှိပါ", - "yinbi.upgrade.pro.button": "Pro သို့ အဆင့်မြှင့်တင်ပြီး အခမဲ့ Yinbi ရယူပါ", - "yinbi.renew.pro.button": "Pro ကိုသက်တမ်းတိုးပြီးအခမဲ့ရယူပါ", - "yinbi.wallet.activity_header": "လှုပ်ရှားမှု", - "yinbi.wallet.send": "ပို့ပါ", - "yinbi.wallet.receive": "လက်ခံရရှိသည်", - "yinbi.wallet.balance": "လက်ကျန်ငွေ", - "yinbi.wallet.getlantern.pro": "Lantern Pro ကိုအခမဲ့ရယူပါ", - "yinbi.redemption.codes": "Yinbi လဲလှယ်ရယူမှုကုဒ်များ", - "redeem_codes.title": "Yinbi ကုဒ်များကို လဲလှယ်ရယူပါ", - "redeem_codes.redeem_button_text": "လဲလှယ်ရယူပါ", - "redeem_codes.cancel_button_text": "ပယ်ဖျက်ပါ", - "redeem_codes.success": "အောင်မြင်သည်", - "redeem_codes.errors.missing_codes": "ခိုင်လုံသောကုဒ်များကို ရိုက်မထည့်ထားပါ", - "redeem_codes.errors.invalid_codes": "ချို့ယွင်းချက်။ အသားပေးဖော်ပြထားသော ကုဒ်များကို စစ်ဆေးပါ။ Cross-out ကုဒ်သက်တမ်းကုန်သွားပြီ၊", - "yinbi.new.account.text": "Yinbi ကို သင်ပေးပို့ သို့မဟုတ် လက်ခံရရှိသည်နှင့်တပြိုင်နက် သင်၏အရောင်းအဝယ်များသည် ဒီမှာပေါ်လာလိမ့်မည်။", - "yinbi.createAccount": "အကောင့်ပြုလုပ်ပါ", - "yinbi.confirm.account.text": "သင် ဤစကားစုကို မှန်ကန်စွာချရေးထားကြောင်း သေချာစေရန် သင်၏ပြန်လည်ရယူရေးစကားစုမှ အောက်ပါစကားလုံးများကို ဖြည့်ပါ", - "create_account.invalid_words.error": "ထည့်သွင်းလိုက်သောစကားလုံးများသည် ပြန်လည်ရယူရေးစကားစုနှင့် မကိုက်ညီပါ", - "yinbi.recovery_text": "၎င်းသည် သင်၏ Yinbi Wallet Recovery Phrase ဖြစ်သည်။ စကားဝှက်မေ့နေပါက သင့် Yinbi Wallet ကိုပြန်လည်ရယူရန် တစ်ခုတည်းသောနည်းလမ်းဖြစ်သည်။ ဤစကားစုကိုသိမ်းဆည်းသောအခါ စကားဝှက်မန်နေဂျာကိုသုံးပါ (သို့) မိတ္တူကူးပါ။", - "yinbi.recovery_confirm_text": "၎င်းသည် သင်၏ Yinbi Wallet Recovery Phrase ဖြစ်သည်။ စကားဝှက်မေ့နေပါက သင့် Yinbi Wallet ကိုပြန်လည်ရယူရန် တစ်ခုတည်းသောနည်းလမ်းဖြစ်သည်။ ဤစကားစုကိုသိမ်းဆည်းသောအခါ စကားဝှက်မန်နေဂျာကိုသုံးပါ (သို့) မိတ္တူကူးပါ။", - "yinbi.import.wallet": "ဝေါလက်ကို သွင်းပါ", - "yinbi.setup.wallet": "ဝေါလက်ကို စီမံသတ်မှတ်ပါ", - "yinbi.importWallet": "Yin.bi ပိုက်ဆံအိတ်ကိုသွင်းပါ", - "yinbi.import.wallet.continue": "သင်၏ဝေါလက်သို့ ဆက်သွားပါ", - "yinbi.import.wallet.success": "ဝေါလက်တင်သွင်းမှု အောင်မြင်ပါပြီ။", - "yinbi.wallet.text": "Yinbi Wallet ကို ဝင်ရောက်ရန် သင်သည် Yin.bi\nဝက်ဘ်ဆိုက်၌ အရင်ကလက်မှတ်ထိုးခဲ့ဖူးပါက Yin.bi မှ အကောင့်တစ်ခုဖွင့်ရန်၊ ဝင်ရန်\nသို့မဟုတ် သင်၏ပိုက်ဆံအိတ်အားတင်သွင်းရန် ပြုလုပ်နိုင်သည်။", - "yinbi.wallet.pro.text": "Yinbi Wallet ကို ဝင်ရောက်ရန် သင်သည် Yin.bi ဝက်ဘ်ဆိုက်၌ အရင်ကလက်မှတ်ထိုးခဲ့ဖူးပါက Yin.bi မှ အကောင့်တစ်ခုဖွင့်ရန်၊ ဝင်ရန် သို့မဟုတ် သင်၏ပိုက်ဆံအိတ်အားတင်သွင်းရန် ပြုလုပ်နိုင်သည်။", - "yinbi.recovery_subheader": "Yinbi Wallet Recovery Phrase", - "yinbi.import_wallet.subheader": "Yinbi ပိုက်ဆံအိတ်ကိုသွင်းပါ", - "yinbi.import_wallet.text": "သင်၏ပိုက်ဆံအိတ်ကို Lantern သို့ လွှဲပြောင်းရန် သင်၏ Yin.bi အထောက်အထားများကို အသုံးပြု၍ ဆိုင်းအင်လုပ်ပါ", - "yinbi.import_wallet.success": "သင်၏ပိုက်ဆံအိတ်ကိုအောင်မြင်စွာတင်သွင်းနိုင်ပါပြီ၊ ကျေးဇူးပြု၍ သင်၏အကောင့်မှတ်ပုံတင်ခြင်းပြီးဆုံးရန်သင်၏အီးမေးလ်ကိုထည့်ပါ။", - "yinbi.import_wallet.success_subheader": "တင်သွင်းမှု အောင်မြင်ပါပြီ", - "yinbi.import_wallet.button": "Yin.bi ပိုက်ဆံအိတ်ကိုသွင်းပါ", - "yinbi.import_wallet.success_button": "ပြီးပြည့်စုံသောမှတ်ပုံတင်", - "yinbi.recovery_passphrase.label_text": "Recovery Phrase", - "yinbi.recovery_passphrase.copy_button_text": "ကူးပါ", - "terms_of_service.notice": "အသိပေးစာ", - "terms_of_service.i_agree": "ကျွန်တော်သဘောတူသည်", - "platinum": "Platinum", - "platinum.one_year": "1 year pricing", - "platinum.two_years": "2 year pricing", - "platinum.save": "Up to {{savings}}% savings!", - "platinum.unlimited": "Unlimited Data", - "platinum.logs": "မှတ်တမ်းများ မရှိပါ", - "platinum.devices": "ကိရိယာ ၃ ခုအထိချိတ်ဆက်ပါ", - "platinum.everything_in_pro": "Everything included in Pro", - "platinum.faster_data": "ပိုမိုမြန်ဆန်သော ဒေတာစင်တာများ", - "platinum.dedicated": "Dedicated line", - "platinum.reliability": "Increased Reliability", - "platinum.platinum_one_year": "Lantern Platinum 1 year", - "platinum.platinum_two_years": "Lantern Platinum 2 years", - "platinum.pro_one_year": "Lantern Pro 1 year", - "platinum.pro_two_years": "Lantern Pro 2 years", - "platinum.total": "Total", - "platinum.free": "Free", - "platinum.credit.days": "+ {{ days }} days", - "platinum.credit.months": "{{ months }} month(s)", - "platinum.upgrade": "Upgrade to Platinum", - "platinum.upgrade_details": "Dedicated Line + Faster Data centers!", - "platinum.unused_time_disclaimer": "Pro users upgrading to Platinum will see their converted Pro subscription listed as added time above.", - "p2p.opt_in_description": "လူများ အင်တာနက်ကို ဆင်ဆာတည်းဖြတ်ခြင်း မရှိဘဲ ဝင်ရောက်အသုံးပြုနိုင်စေရန် သင့်အင်တာနက်ကို အသုံးပြုပါ", - "p2p.active_sharing_description": "သင်၏အင်တာနက်မျှဝေမှုကို ဖွင့်ထားသည်", - "p2p.dialog.title": "အင်တာနက် အသုံးပြုခွင့်ကို မျှဝေပါ", - "p2p.dialog.text.1": "သင့်ချိတ်ဆက်မှုကို မျှဝေခြင်းဖြင့် အင်တာနက်ကို အကန့်အသတ်ဖြင့် ဝင်ရောက်ခွင့်ရသည့် အခြားသူများကို ကူညီပေးပါ။ သင့်အင်တာနက်ကို အသုံးပြုခွင့်ပေးခြင်းဖြင့် သင်သည် အင်တာနက်ကို ပိုမိုပွင့်လင်းလာစေသည့် စေတနာ့ဝန်ထမ်း ကွန်ရက်တစ်ခု၏ တစ်စိတ်တစ်ပိုင်း ဖြစ်လာပါမည်။", - "p2p.dialog.text.2": "မျှဝေခြင်းသည် သင်၏အထောက်အထား သို့မဟုတ် လုံခြုံမှုကို ထိခိုက်မည် မဟုတ်ပါ။ သင်၏ အင်တာနက်မျှဝေခြင်းကို အချိန်မရွေး ရပ်တန့်နိုင်သည်။", - "p2p.dialog.yes_button": "ဟုတ်ကဲ့၊ မျှဝေခြင်း စတင်ပါ", - "p2p.dialog.no_button": "ပယ်ဖျက်ပါ", - "p2p.banner.introducing": "မိတ်ဆက်", - "top_sites.top_sites": "ထိပ်ဆုံးဆိုဒ်များ" -} \ No newline at end of file diff --git a/locale/translation/nb.json b/locale/translation/nb.json deleted file mode 100644 index 773f9924a..000000000 --- a/locale/translation/nb.json +++ /dev/null @@ -1,462 +0,0 @@ -{ - "TRAY_LANTERN": "Lantern", - "TRAY_STATUS": "Status: %v", - "TRAY_CONNECT": "Koble til", - "TRAY_DISCONNECT": "Koble fra", - "TRAY_SHOW_LANTERN": "Vis Lantern", - "TRAY_UPGRADE_TO_PRO": "Oppgrader til Pro", - "TRAY_QUIT": "Avslutt Lantern", - "BACKEND_DATA_TITLE": "Ikke mer høyhastighets Lantern data", - "BACKEND_DATA_MESSAGE": "Vennligst oppdater til Pro for å bruke Lantern med full hastighet ", - "BACKEND_DATA_PERCENT_TITLE": "%s av din Lantern-data brukt", - "BACKEND_DATA_PERCENT_MESSAGE": "Du har brukt %s av din Lantern høyhastighetsdata for denne måneden. Oppgrader nå.", - "BACKEND_CLICK_LABEL": "Åpne", - "BACKEND_CLICK_LABEL_OPEN": "Åpne", - "BACKEND_CLICK_LABEL_HELP": "Hjelp", - "BACKEND_CLICK_LABEL_GOT_IT": "Skjønner", - "BACKEND_AUTOUPDATED_TITLE": "Oppgrader Lantern til versjon %s", - "BACKEND_AUTOUPDATED_MESSAGE": "Lantern %s har blitt lastet ned. Start Lantern på nytt for å bruke det.", - "BACKEND_MITM_INSTALL_CERT": "Lantern ønsker å installere et egendefinert sertifikat for å avblokkere trafikken din.", - "BACKEND_MITM_INSTALL_CERT_WINDOWS_BODY": "Tillat %v å gjøre endringer på systemet ditt", - "BACKEND_ALERT_TITLE": "Critical alert needs your attention", - "about.content": "Lantern er et program som tilbyr rask, pålitelig og sikker tilgang til det åpne Internett.", - "about.faq": "Les Lanterns O-S-S", - "about.open": "Åpent Internett for alle", - "about.questions": "Spørsmål?", - "about.title": "Om", - "account.cancel": "Si opp Pro-konto", - "account.free.cap": "{{mb}} MB gjenstående av din månedlige gratisdata", - "account.free.cap.upgrade": "Oppgrader til Pro for ubegrenset høyhastighetsdata", - "account.freelink.validFor": "gyldig i %s", - "account.freelink.desc": "For å lenke denne enheten til din Pro-konto:", - "account.freelink.step1": "1. Åpne 'Legg til enhet'-menyvalget på din Pro-enhet.", - "account.freelink.step2": "2. Skriv inn enhetslenkingskoden, og send inn.", - "account.freelink.reminder": "* Forsikre deg om at du har oppdatert til siste versjon av Lantern på din Pro-enhet", - "account.freelink.errorTitle": "Feil under sammenlenking", - "account.freelink.errorText": "Er du sikker på at du skrev inn koden på din Pro-enhet?", - "account.freelink.headerDesc": "Lenk denne enheten til din Pro-konto", - "account.freelink.title": "Kode for sammenlenking av enheter", - "account.pro.charge": "Din konto vil automatisk bli belastet for medlemskap for ett nytt år med Lantern Pro når den betalte perioden utløper.", - "account.upgrade": "Oppgrader til Pro", - "account.pro.email": "E-postadresse:", - "account.pro.expired": "Din Pro-konto har utløpt. Forny for ubegrenset månedlig data.", - "account.pro.expiry": "Din Pro-konto utløper om %s dager på %s", - "account.pro.bonusMonths": "Dette inkluderer dine {{bonusMonths}} bonusmåneder!", - "account.pro.thisdevice": "(Denne enheten)", - "account.pro.logout": "LOGG UT", - "account.pro.removedevice": "FJERN", - "account.pro.devices": "Enheter autorisert til å bruke din Pro-konto:", - "account.pro.device.confirm.title": "Fjern autorisering for enhet", - "account.pro.device.confirm": "Er du sikker på at du vil fjerne \"{{device}}\" fra din Lantern Pro-konto?", - "account.pro.device.one.title": "Bare én enhet", - "account.pro.device.one": "Beklager, du kan ikke fjerne din sist autoriserte enhet.", - "account.pro.linkingcode": "Kode for sammenlenking av enheter", - "account.pro.renew": "FORNY PRO-KONTO", - "account.prolink.errorTitle": "Feil under sammenlenking", - "account.prolink.errorText": "Er du sikker på at du kopierte koden på rett vis fra din andre enhet?", - "account.prolink.successTitle": "Enhet lenket", - "account.prolink.successText": "Du har lenket din enhet. Vent en stund før din andre enhet automatisk blir Pro.", - "adyen.paymentMethods.title": "Payment Methods", - "adyen.paymentMethods.storedMethods": "Your payment methods", - "adyen.paymentMethods.otherMethods": "Select other method", - "adyen.paymentMethods.moreMethodsButton": "More payment methods", - "adyen.payButton": "Pay", - "adyen.payButton.formatted": "Pay %@", - "adyen.cancelButton": "Avbryt", - "adyen.dismissButton": "OK", - "adyen.storeDetails": "Save for my next payment", - "adyen.payment.redirecting": "You will be redirected", - "adyen.payment.processing": "Your payment is being processed", - "adyen.creditCard.title": "Card Details", - "adyen.creditCard.holderName": "Cardholder name", - "adyen.creditCard.holderName.placeholder": "J. Smith", - "adyen.creditCard.numberField.title": "Kortnummer", - "adyen.creditCard.numberField.placeholder": "1234 5678 9012 3456", - "adyen.creditCard.numberField.invalid": "Invalid card number", - "adyen.creditCard.expiryDateField.title": "Expiry Date", - "adyen.creditCard.expiryDateField.placeholder": "MM/YY", - "adyen.creditCard.expiryDateField.invalid": "Invalid expiration date", - "adyen.creditCard.expiryDateField.month": "Måned", - "adyen.creditCard.expiryDateField.month.placeholder": "MM", - "adyen.creditCard.expiryDateField.year.placeholder": "YY", - "adyen.creditCard.expiryDateField.year": "År", - "adyen.creditCard.cvcField.title": "CVC / CVV", - "adyen.creditCard.cvcField.placeholder": "123", - "adyen.creditCard.installmentsField": "Number of installments", - "adyen.creditCard.storeDetailsButton": "Remember this card for my next payment", - "adyen.creditCard.oneClickVerification.title": "Verify your card", - "adyen.creditCard.oneClickVerification.message": "Please enter the CVC code for %@", - "adyen.creditCard.oneClickVerification.invalidInput.title": "Invalid CVC", - "adyen.creditCard.oneClickVerification.invalidInput.message": "Please enter a valid CVC to continue.", - "adyen.sepaDirectDebit.ibanField.title": "Account Number (IBAN)", - "adyen.sepaDirectDebit.ibanField.placeholder": "NL53 ABNA 1925 1294 122", - "adyen.sepaDirectDebit.ibanField.invalid": "Invalid account number", - "adyen.sepaDirectDebit.nameField.title": "Holder Name", - "adyen.sepaDirectDebit.nameField.placeholder": "J. Smith", - "adyen.sepaDirectDebit.consentButton": "I agree that the amount below will be debited from my bank account.", - "adyen.sepa.ownerName": "Holder Name", - "adyen.sepa.ibanNumber": "Account Number (IBAN)", - "adyen.giropay.searchField.placeholder": "Bankname / BIC / Bankleitzahl", - "adyen.giropay.minimumLength": "Min. 3 characters", - "adyen.giropay.noResults": "No search results", - "adyen.error.title": "Feil", - "adyen.error.subtitle.redirect": "Redirect failed", - "adyen.error.subtitle.payment": "Payment failed", - "adyen.error.subtitle.refused": "Payment refused", - "adyen.error.message.unknown": "An unknown error occurred", - "adyen.error.message.cannotConnectToInternet": "Failed to connect to the internet : please check your internet connection.", - "adyen.error.message.cannotConnectToHost": "Failed to connect to our payment server.", - "adyen.error.retryButton": "Prøv igjen", - "adyen.idealIssuer.selectField.title": "Bank", - "adyen.idealIssuer.selectField.placeholder": "Select your bank", - "adyen.creditCard.success": "Payment Successful", - "adyen.oneClick.confirmationAlert.title": "Confirm %@ payment", - "adyen.redirect.cannotOpenApp.title": "Cannot Open App", - "adyen.redirect.cannotOpenApp.appNotInstalledMessage": "This app could not be opened because it is not installed on this device.", - "adyen.holderName": "Cardholder name", - "adyen.countryCode": "Country Code", - "adyen.telephone.number": "Telephone number", - "authorize.title": "Autoriser enhet for Pro", - "authorize.step1.have_pro_device": "Jeg har en annen Lantern Pro-enhet", - "authorize.step1.link": "Lenk denne enheten", - "authorize.step1.or": "eller", - "authorize.step1.recover": "Jeg må gjenopprette min Lantern Pro-konto", - "authorize.step1.start": "start gjenoppretting", - "authorize.step1.no_mail": "Husker du ikke din e-postadresse?", - "authorize.step2b.enter_code": "Skriv inn din kontogjenopprettingskode", - "authorize.step2b.code": "Kontogjenopprettingskode", - "authorize.step2b.instruction": "En e-post med gjenopprettelseskoden har blitt sendt til {{email}}. Det kan ta flere timer for denne e-posten kommer fram. Sjekk spøppelpost-mappa di hvis du ikke finner den.", - "authorize.step2b.no_mail": "Mottok ingen e-post", - "authorize.step3.recovery": "Kontogjenoppretting", - "authorize.step3.no_email": "Oida! Vi har problemer med å finne den e-postadressen. Oppgi mer informasjon nedenfor for å hjelpe oss å finne kontoen din.", - "authorize.step3.no_code_received": "Har du problemer med å motta gjenopprettelsese-posten? Skriv inn informasjonen nedenfor og vi vil ta kontakt med deg i løpet av de neste 48 timene.", - "authorize.step3.your_email": "Din e-post", - "authorize.step3.payment_method": "Betalingsmetode", - "authorize.step3.payment_method_hint": "Velg ønsket betalingsmetode for kjøp av Pro", - "authorize.step3.credit_card": "Betalingskort", - "authorize.step3.alipay": "Alipay", - "authorize.step3.android_pay": "Android Pay", - "authorize.step3.by_referral": "Mottok Pro ved å referere en venn", - "authorize.step3.payment_account": "Betalingskonto", - "authorize.step3.payment_account_hint": "Skriv inn din Alipay-kontoinformasjon", - "authorize.step3.referral_code": "Din referent-kode", - "authorize.step3.purchase_date": "Kjøpsdato", - "authorize.step3.note": "Skriv ned all informasjon som kan hjelpe oss å finne kontoen din.", - "authorize.step4.title": "Konto-gjenoppretting underveis", - "authorize.step4.text1": "Takk, vi har mottatt din kontogjenopprettingsforespørsel.", - "authorize.step4.text2": "Gi oss 48 timer til å hente din Pro-kontoinformasjon.", - "authorize.step4.text3": "Vi vil sende informasjonen til e-postadressen oppgitt i forrige steg.", - "authorized.continue": "Fortsett til Pro", - "authorized.text": "Denne enheten er nå autorisert til å bruke din Lantern Pro-konto.", - "authorized.title": "Enhet autorisert", - "button.renew": "Forny", - "button.upgrade": "Oppgrader", - "button.upgrade_now": "Oppgrader nå", - "button.upgrade_to_lantern_pro": "Oppgrader til Lantern Pro", - "button.copy_your_code": "Kopier din kode", - "button.try_again": "Prøv igjen", - "button.continue": "Fortsett", - "bullet.click_button": "Klikk på knappen nedenfor", - "bullet.paste_code": "Lim inn koden og nedlastingslenken i en melding", - "bullet.send_to_friends": "Send til dine venner", - "cancel": "Avbryt", - "confirm": "Bekreft", - "google_search": "Google-søk", - "link_device": "Har du allerede en Pro-konto? Lenk enheten", - "err.unknown_error": "Ukjent feil", - "err.internal_error": "Intern feil", - "err.bad_input": "Feilaktig inndata", - "err.not_authorized": "Not authorized", - "err.user_exists": "Brukeren finnes", - "err.no_such_user": "Ingen slik bruker", - "err.user_already_verified": "Brukeren er allerede bekreftet", - "err.invalid_user_verification": "Ugyldig brukerbekreftelse", - "err.user_unverified": "Brukeren er ikke bekreftet", - "err.operation_temporarily_unavailable": "Operasjonen er ikke tilgjengelig for øyeblikket", - "err.wrong_or_inexistent_plan": "Feil eller ikke-eksisterende plan", - "err.user_has_active_subscription": "Brukeren har aktivt abonnement", - "err.payment_error": "Betailingsfeil", - "err.no_codes_left": "Ingen referent-koder igjen", - "err.wrong_code": "Feil referent-kode", - "err.redeeming_own_code_not_allowed": "Å løse inn koder for seg selv tillates ikke", - "err.wrong_charge_id": "Feil betalings-ID", - "footer.reseller": "Tjen penger. Bli en Lantern Pro selger. Klikk her", - "footer.reseller.email_subject": "Fortell meg mer om Lantern Pro-salgsprogrammet.", - "footer.reseller.email_body": "Når du blir en Lantern-selger har du muligheten til å tjene opptil 25% på hvert salg av Lantern Pro-abonnementer. Fortell oss litt om hvorfor du ønsker å bli en selger nedenfor.", - "feature.faster_speed": "Høyere hastighet", - "feature.faster": "Faster data centers", - "feature.unlimited": "Ubegrenset data", - "feature.nologs": "No Logs", - "feature.devices": "Connect up to 3 devices", - "feature.noads": "Ingen reklame", - "feature.antiblock": "Blokkeringsmotstandig", - "feature.data_center": "Better Data Centers", - "feature.free_yinbi": "Free Yinbi Cryptocurrency!", - "free.title": "Lantern Pro", - "free.desc": "Raskere. Sterkere. Ubegrenset. Sikkert.", - "free.link_account": "Har du allerede en Pro-konto? Lenk sammen kontoen din.", - "home.get_lantern_pro": "Få Lantern Pro", - "input.email": "E-post", - "input.your_email": "Din e-postadresse", - "input.confirm_email": "Bekreft e-postadresse", - "input.enter_email": "Skriv inn din e-postadresse", - "input.use_valid_email": "Skriv inn en gyldig e-postadresse", - "input.email_not_match": "E-postfeltene samsvarer ikke", - "issue.your_email": "Din e-post", - "issue.attach_image_failure": "Cannot attach image", - "issue.try_again": "Prøv igjen", - "issue.select_issue": "Velg et problem", - "issue.selected_issue": "Select Issue", - "issue.select_issue_hint": "Velg et problem fra rullegardinsmenyen", - "issue.note": "Describe your Issue", - "issue.description": "Issue Description", - "issue.error": "Feil ved rapportering av feil", - "issue.submit": "Send Report", - "issue.report_screenshot": "Drag image or click to upload screenshot", - "issue.reported": "Thank you for reporting your issue, we will get back to you via Email as soon as we are able", - "issue.report_sent": "Report Sent", - "issue.type.no_access": "Kan ikke nå blokkerte sider", - "issue.type.payment_fail": "Kan ikke fullføre betalingen", - "issue.type.cannot_login": "Kan ikke logge inn", - "issue.type.always_spinning": "Innlastingssymbolet spinner endeløst", - "issue.type.slow": "Treg", - "issue.type.cannot_link_device": "Kan ikke sammenlenke enheter", - "issue.type.crashes": "Lantern-kræsj", - "issue.type.other": "Annet", - "languages.title": "Språk", - "mobile.link": "Bruk lenken for å laste ned Lantern på din Android-enhet.", - "mobile.title": "Hent Android-versjonen", - "nav.about": "Om", - "nav.account": "Kontobehandling", - "nav.authorize": "Legg til enhet", - "nav.authorized": "Enhet autorisert", - "nav.unauthorized_link": "Autoriser enhet for Pro", - "nav.language": "Språk", - "nav.lantern": "Lantern", - "nav.mobile": "Hent mobil-versjon", - "nav.report_issue": "Rapporter en feil", - "nav.settings": "Innstillinger", - "nav.verify": "Kontobekreftelse", - "nav.yinbi": "Yinbi Redemption", - "nav.home": "Home", - "nav.discover": "Discover", - "nav.wallet": "Wallet", - "nav.yinbi_wallet": "Yinbi Wallet", - "notification.retry": "Forsøk på nytt", - "notifications.whatisnew": "What's New?", - "payment.close": "Lukk", - "payment.wait_for_pro": "Takk for at du kjøpte Lantern Pro. Vente en stund før din Lantern automatisk blir Lantern Pro.", - "payment_methods.select_name": "Velg betalingsmetode", - "payment_methods.alipay": "Betalingskort/Alipay", - "payment_methods.shetab": "Fast World Pay (Shetab)", - "payment_methods.shetab.details.header": "For å kjøpe Lantern Pro", - "payment_methods.shetab.details.body": "When you click continue to purchase you will be redirected to an external site to complete payment and collect your activation code.", - "payment_methods.shetab.details.tutorial_header": "Farsi-veivisning", - "payment_methods.shetab.details.purchase_voucher_button": "Continue To Purchase", - "payment_methods.shetab.details.input_code_button": "Input Activation Code", - "plan.step1": "Step 1", - "plan.apply": "Apply", - "plan.step2": "Step 2", - "plan.step3": "Step 3", - "plan.choose_plan": "Choose Plan", - "plan.enter_email": "Enter Email", - "plan.bestValue": "Det beste kjøpet.", - "plan.per_month": "per month", - "plan.yinbi_2x": "+ 2x Yinbi!", - "plan.oneYear": "ett år", - "plan.add_referral": "Add Referral Code", - "plan.years": "{{years}} year plan", - "plan.desc": "{{price}} billed one time", - "plan.price.cny": "%.02f¥", - "plan.price.usd": "%.02f$", - "plan.currency.cny": "(CNY)", - "plan.currency.usd": "(USD)", - "plan.time_unit": "/ÅR", - "plan.select": "Velg", - "plans.title": "Lantern Pro-planer", - "plans.lantern_pro": "Lantern Pro", - "plans.platforms": "For Windows, Android, Mac, Ubuntu.", - "plans.from_reseller": "Have a Lantern Pro activation code? Click here", - "plans.with_voucher_code": "Have an activation code? Click here.", - "pro.apply": "Dine kreditter vil bli lagt til kontoen din i neste betalingsrunde.", - "pro.title": "Inviter venner, får mer Pro gratis", - "pro.subtitle": "Når din venn kjøper toårsplanen får hver av dere tre måneder med Pro gratis, énårsplanen gir hver av dere én måned gratis.", - "pro.share": "Del koden din med venner for å starte opptjeningen av kreditter.", - "promotion.title": "Til betaling for Lantern Pro", - "promotion.title.activation": "Lantern Pro-aktivisering", - "promotion.enter_and_confirm_email": "Skriv inn og bekreft din e-postadresse", - "promotion.code.hint": "Skriv inn din venns referent-kode (valgfritt)", - "promotion.code.label": "Referent-kode", - "promotion.payment": "Fortsett til betaling", - "promotion.loading": "Laster…", - "promotion.howto_1y": "Hvis en venn delte sin referent-kode med deg, skriv inn koden for å få én måned med Lantern Pro gratis etter utsjekking.", - "promotion.howto_2y": "Hvis en venn delte sin referent-kode med deg, skriv inn koden for å motta tre måneder med Lantern Pro gratis etter betaling.", - "promotion.pay": "Betal {{amount}}", - "promotion.select": "Velg", - "promotion.promotion_applied_1y": "+1 bonus months", - "promotion.promotion_applied_2y": "+3 bonus months", - "promotion.too_many_referrals": "Denne referent-koden har allerede blitt lagt til. Betal nå for å motta dine ekstramåneder.", - "promotion.activation.enter_and_confirm_email": "Skriv inn og bekreft din e-postadresse for å registrere din Lantern Pro-konto.", - "promotion.activation.label": "XXXXX-XXXXX-XXXXX-XXXXX-XXXXX", - "promotion.activation.hint": "Skriv inn din aktiveringskode", - "promotion.activation.howto": "Skriv din 25 tegn lange Lantern Pro-aktiviseringskode ovenfor. Hvis du ikke har en kode, kjøp Pro på forrige skjerm eller se etter en Lantern Pro selger på nett.", - "promotion.activation.continue": "Fortsett til Pro", - "promotion.voucher.hint": "Activation Code", - "promotion.voucher.howto": "Please enter your 12 character Fast World Pay activation code above", - "promotion.voucher.label": "XXXXXXXXXXXX", - "promotion.voucher.error.default": "Error redeeming your activation code. Please contact contact@fastworldpay.com for assistance.", - "promotion.voucher.error.invalid_code": "Invalid activation code", - "promotion.voucher.error.invalid_plan": "Activation code associated with an invalid plan", - "promotion.voucher.error.already_redeemed": "Activation code has already been redeemed", - "referral.code": "Del din referent-kode", - "referral.text": "Bruk koden min %s og få tre måneder gratis når du melder deg på.", - "renew.title_30_days": "Forny nå for 3 måneder gratis!", - "renew.title_2_days": "Lantern Pro utløper i morgen.\nForny nå og få 3 måneder gratis!", - "renew.title_last_day": "Lantern Pro utløper i dag.\nIkke gå glipp av din Pro-rabatt!", - "renew.title_expired": "Lantern Pro har utløpt", - "renew.details_30_days": "Ditt Lantern Pro-medlemskap slutter snart, forny nå og nyt opptil tre måneder gratis! Dette tidsbegrensede tilbudet er bare gyldig for tidlige fornyelser.", - "renew.details_2_days": "Ditt Lantern Pro-medlemskap slutter snart, forny nå og nyt opptil tre måneder gratis! Dette tidsbegrensede tilbudet er bare gyldig for tidlige fornyelser.", - "renew.details_last_day": "Forny nå og få opptil tre måneder gratis!\nDette er siste sjanse til å benytte seg av dette tilbudet.\nLantern Pro-brukere får mer fart, ubegrenset data, bedre blokkeringsmotstandsdyktighet, tre enheter og ingen reklame.", - "renew.details_expired": "Forny nå og få 45 dager ekstra gratis. Tilbudet er tidsbegrenset.\nLantern Pro-brukere får mer hastighet, ubegrenset data, bedre blokkeringsmotstandsdyktighet, tre enheter og ingen reklame.", - "renew.plan_label": "Lantern Pro - %s", - "renew.plan_renewal_bonus_1_month": "$%d%s + 1 GRATIS MÅNED", - "renew.plan_renewal_bonus_months": "$%d%s + %d GRATISMÅNEDER", - "renew.plan_renewal_bonus_days": "$%d%s + %d GRATISMÅNEDER", - "renew.next": "neste", - "renew.decline": "Avslå tilbud", - "renew.decline_question": "Er du sikker på at du vil avslå dette tilbudet?", - "renew.decline_yes": "Forny senere", - "renew.decline_dismiss": "Forny nå", - "renew.notification_title_30_days": "Forny Pro for store kostnadskutt!", - "renew.notification_text_30_days": "Din Lantern Pro-konto utløper om {{days}} dager. Forny nå og få opptil 3 måneder gratis.", - "renew.notification_title_2_days": "Tilbudet om Lantern Pro-rabatt utgår i morgen!", - "renew.notification_text_2_days": "Din Pro-konto utløper i morgen. Ikke gå glipp av denne muligheten til store kostnadskutt.", - "renew.notification_title_last_day": "Siste sjanse for kostnadskutt.", - "renew.notification_text_last_day": "Din Lantern Pro konto har utløpt. Forny i dag og få opptil 3 måneder gratis.", - "replica.upload": "Upload", - "replica.relevance": "Relevance", - "replica.upload_date": "Upload Date", - "replica.gallery_view": "Gallery View", - "replica.list_view": "List View", - "replica.copy_lantern_link": "Copy Lantern Link", - "replica.delete_file": "Delete File", - "replica.docs": "Dokumenter", - "replica.other": "Annet", - "replica.apps": "Apps", - "replica.images": "Images", - "replica.videos": "Videos", - "replica.next": "Neste", - "replica.previous": "Previous", - "replica.select_all": "Select All", - "replica.search_replica": "Search Public Files", - "replica.no_files_found": "No Files Found", - "replica.or_content": "your own content for other people to find!", - "replica.try_again": "Try a different keyword, or", - "replica.upload_success": "Upload Success!", - "replica.cannot_preview": "No preview for this filetype", - "replica.size": "Size", - "replica.uploaded": "Uploaded", - "replica.invalid_link": "Invalid Link", - "replica.close": "Lukk", - "replica.my_files": "My Files", - "replica.filename": "File Name", - "replica.filename_required": "File Name (required)", - "replica.filetype": "Filetype", - "replica.sortby": "Sort By", - "replica.link": "Replica link", - "replica.collapse": "Collapse", - "replica.publish": "Publish", - "replica.cancel": "Avbryt", - "replica.delete": "Delete", - "replica.failed_to_delete": "Failed to delete", - "replica.link_lookup_failure": "Failed to find link", - "replica.delete_file_confirmation_1": "Are you sure you want to delete", - "replica.delete_file_confirmation_2": "from your uploads", - "replica.share_file": "Share File", - "replica.download_and_view": "Download/View", - "replica.download": "Nedlasting", - "replica.copy_link": "Copy Replica Link", - "replica.find_file": "Find file", - "replica.file_drop_prompt": "Drag file here or browse to post", - "settings.general": "Generelt", - "settings.feedback": "Feedback", - "settings.autoLaunch": "Kjør Lantern ved systemoppstart", - "settings.autoReport": "Rapprter bruksstatistikk sikkert for å bidra til Lantern", - "settings.proxyAll": "Kjør all trafikk gjennom proxy", - "settings.proxyAllHelpTitle": "HVA GJØR \"MELLOMTJEN ALL TRAFIKK\"?", - "settings.proxyAllHelp1": "Hvis påskrudd, vil all trafikk bli sendt gjennom Lantern (det sikreste valget)", - "settings.proxyAllHelp2": "Hvis avskrudd, vil blokkert trafikk bli sendt gjennom Lantern (raskeste valg, mest vanlig).", - "settings.show_advanced": "Show Advanced Settings", - "settings.hide_advanced": "Hide Advanced Settings", - "settings.systemProxy": "Behandle systemmellomtjener", - "settings.title": "Innstillinger", - "settings.http_proxy": "HTTP(S)-mellomtjener:", - "settings.socks_proxy": "SOCKS-mellomtjener:", - "settings.caution": "Vær forsiktig:", - "settings.caution_text": "Når du fjerner markeringen av \"Behandle systemmellomtjener\" vil din nettleser og dine probgrammer ikke være i stand til å bruke Lantern automatisk. Hvis du vet hvordan du manuelt setter opp disse innstillingene, henvend deg til informasjonen ovenfor.", - "settings.select_language": "Select Langauge", - "status.lantern": "Lantern is", - "status.click_reconnect": "Click here to reconnect", - "status.server_location": "Tjenerplassering", - "status.tooltip1": "Lantern bruker smart tjenerutvelgelse for å koble deg til våre beste datasentre.", - "status.tooltip2": "Upgrade to Lantern Pro for faster speed with optimized server selection from our exclusive Lantern Pro data centers", - "status.protected_connection": "Your Connection is Protected", - "status.please_wait": "This may take a minute or two...", - "status.connecting": "Kobler til...", - "status.no_internet": "Off", - "status.no_internet_connection": "No Internet connection", - "status.connected": "On", - "status.disconnected": "Off", - "status.throttled": "Hastighet nedsatt (båndbreddebegrensning)", - "status.no_system_proxy": "{{status}}, not managing system proxy", - "status.fail_to_set_system_proxy": "Failed to set Lantern as system proxy", - "status.fail_to_open_browser": "Failed to open browser window to show the Lantern user interface", - "terms_of_service.acknowledgment": "By clicking {{buttonText}}, you agree to our Terms of Service", - "verify.header": "Ønsker du å lenke en annen enhet til denne Pro-kontoen? Skriv inn din enhetslenkingskode nedenfor", - "verify.code": "Kode for sammenlenking av enheter", - "verify.howto_1": "Hvis du har en Lantern Pro-konto på en annen enhet, skriv inn din e-postadresse her for å motta en kode for å autorisere enheten", - "verify.howto_1a": "Du er for tiden en uautorisert Pro-bruker. Skriv inn din e-postadresse for å autorisere din Pro-konto. Dette vil la deg lenke flere enheter.", - "verify.howto_3": "1. Åpne \"Autoriser enhet for Pro\"-menyvalget på din uautoriserte enhet.", - "verify.howto_4": "2. Skriv inn lenkingskoden du fikk i steg 1, og send inn.", - "verify.reminder": "* Forsikre deg om at du har oppgradert til siste versjon av Lantern på din uautoriserte enhet", - "verify.submit": "Send inn", - "verify.title": "Kontobekreftelse", - "welcomeToPro.continue": "Fortsett til Pro", - "welcomeToPro.invite": "Inviter venner og hver av dere vil få tre måneder gratis når de kjøper toårsplanen. Énårsplanen gir hver av dere én måned gratis. Send ut invitasjonene.", - "welcomeToPro.thanks": "Takk for at du kjøpte Lantern Pro!", - "welcomeToPro.title": "Velkommen til Lantern Pro", - "messages.copied_to_clipboard": "Kode kopiert. Del den med dine venner!", - "messages.datacap": "Du har brukt din gratishøyhastighetsdata. Oppgrader til Pro for ubegrenset sådan.", - "messages.fatal_error": "Beklager, vi har problemer med å koble til Lantern-tjenerne. Sjekk din internettilkobling og prøv igjen.", - "messages.backend_gone": "Beklager, Lanter ser ikke til å kjøre lenger. Start det på nytt og prøv igjen.", - "messages.get_help": "Get Help", - "freeProCredits.title": "Inviter venner", - "freeProCredits.shareWithFriends": "Del din kode med venner for å få gratismåneder!", - "freeProCredits.shareWithFriendsDesc": "Når din venn kjøper toårsplanen vil hver av dere få tre måneder gratis, énårsplanen gir hver av dere én måned gratis.", - "cards.serverLocation.unknown": "Ukjent", - "cards.serverLocation.description": "Optimisert tjenerplassering", - "cards.serverLocation.description-free": "Tjenerplassering", - "cards.serverLocation.description-upgrade": "Oppgrader for raskere tjenere", - "cards.serverLocation.title": "Nåværende plassering:", - "cards.serverLocation.location": "%s, %s", - "cards.serverLocation.text": "Lantern bruker smart tjenervalg for å automatisk finne den raskeste tilkoblingen fra deg til våre datasenter i Tokyo, Singapore, Hongkong, San Fransisco, New York, Amsterdam, Bangalore med mer.", - "cards.serverLocation.text-free": "Lantern bruker smart tjenerutvelgelse for å koble deg til våre beste datasentre.", - "cards.serverLocation.upgrade-link": "Oppgrader til Lantern Pro for raskere hastighet og optimisert tjenerutvelgelse fra får eksklusive Lantern Pro-datasentre.", - "cards.httpsUpgrades.description": "HTTPS-oppgraderinger", - "cards.httpsUpgrades.title": "HTTPS-oppgraderinger: %d", - "cards.httpsUpgrades.text": "Lantern oppgraderer automatisk usikrede HTTP-tilkoblinger til krypterte HTTPS-tilkoblinger når mulig for å holde informasjonen din privat når du surfer på nettet.", - "cards.adsBlocked.description": "Reklamer blokkert", - "cards.adsBlocked.title": "Blokkerte reklamer: %d", - "cards.adsBlocked.text": "Lantern blokkerer pågående reklame for å forbedre sidelastingstid, spare båndbredde, og for å gi deg en bedre nettlesningsopplevelse.", - "cards.dataUsage.description": "Databruk", - "cards.dataUsage.upgrade": "Oppgrader nå", - "cards.dataUsage.mb-used": "Du har brukt %d/%dMB av din månedlige høyhastighetsdata.", - "cards.dataUsage.upgrade-link": "Oppgrader til Pro for ubegrenset høyhastighetsdata!", - "cards.subscription.description": "Pro-abonnement", - "cards.subscription.renew": "Forny", - "cards.subscription.months": "Du har %d måneder av Lantern Pro igjen i ditt abonnement.", - "cards.subscription.days": "Du har %d dager av Lantern Pro igjen i dit abonnement.", - "cards.subscription.unit.months": "MÅN.", - "cards.subscription.unit.days": "DAG.", - "cards.subscription.renew-link": "Forny ditt abonnement for å legge til mer tid." -} \ No newline at end of file diff --git a/locale/translation/nl.json b/locale/translation/nl.json deleted file mode 100644 index 0d8b9b7eb..000000000 --- a/locale/translation/nl.json +++ /dev/null @@ -1,462 +0,0 @@ -{ - "TRAY_LANTERN": "Lantern", - "TRAY_STATUS": "Status: %v", - "TRAY_CONNECT": "Verbinden", - "TRAY_DISCONNECT": "Verbreek verbinding", - "TRAY_SHOW_LANTERN": "Lantern tonen", - "TRAY_UPGRADE_TO_PRO": "Upgraden naar Pro", - "TRAY_QUIT": "Lantern afsluiten", - "BACKEND_DATA_TITLE": "Geen hoge snelheid Lantern data over", - "BACKEND_DATA_MESSAGE": "Kies Pro om Lantern op volle snelheid te gebruiken!", - "BACKEND_DATA_PERCENT_TITLE": "%s van je Lantern gegevens bereikt", - "BACKEND_DATA_PERCENT_MESSAGE": "Je hebt %1$s gebruikt van je Lantern hoge datasnelheid voor deze maand. Nu upgraden!", - "BACKEND_CLICK_LABEL": "Open", - "BACKEND_CLICK_LABEL_OPEN": "Open", - "BACKEND_CLICK_LABEL_HELP": "Help", - "BACKEND_CLICK_LABEL_GOT_IT": "Ik snap het", - "BACKEND_AUTOUPDATED_TITLE": "Werk Lantern bij tot versie %s", - "BACKEND_AUTOUPDATED_MESSAGE": "Lantern %s is gedownload. Herstart Lantern om te gebruiken", - "BACKEND_MITM_INSTALL_CERT": "Lantern wil een aangepast certificaat installeren om uw netverkeer te deblokkeren.", - "BACKEND_MITM_INSTALL_CERT_WINDOWS_BODY": "Sta %v toe veranderingen te maken op uw systeem", - "BACKEND_ALERT_TITLE": "Een kritieke waarschuwing vereist uw aandacht", - "about.content": "Lantern is een app die snelle, betrouwbare en veilig toegang bied tot het open internet.", - "about.faq": "Lees de Lantern FAQs", - "about.open": "Vrij Internet voor iedereen", - "about.questions": "Vragen?", - "about.title": "Over", - "account.cancel": "Pro Account annuleren", - "account.free.cap": "{{mb}} MB over van uw maandelijkse gratis data", - "account.free.cap.upgrade": "Upgrade naar Pro voor ongelimiteerd hoge datasnelheid", - "account.freelink.validFor": "geldig voor %s", - "account.freelink.desc": "Om dit apparaat te linken aan je Pro-account:", - "account.freelink.step1": "1. Open het 'Apparaat toevoegen' menupunt in je Pro apparaat.", - "account.freelink.step2": "2. Vul de apparaat link-code in en klik op indienen. ", - "account.freelink.reminder": "* Controleer of je de nieuwste versie van Lantern gebruikt op je Pro-apparaat.", - "account.freelink.errorTitle": "Fout tijdens het verbinden", - "account.freelink.errorText": "Controleer of je de code hebt ingegeven in je Pro-apparaat?", - "account.freelink.headerDesc": "Verbind dit toestel met je Pro-account", - "account.freelink.title": "Apparaat link-code ", - "account.pro.charge": "Er wordt automatisch een jaar in rekening gebracht op je account voor Lantern Pro tegen het einde van de looptijd.", - "account.upgrade": "Upgraden naar Pro", - "account.pro.email": "Email Adres:", - "account.pro.expired": "Your Pro account has expired. Renew now for Unlimited monthly data.", - "account.pro.expiry": "Your Pro account expires in %s days on %s.", - "account.pro.bonusMonths": "This includes your {{bonusMonths}} bonus months!", - "account.pro.thisdevice": "(Dit toestel)", - "account.pro.logout": "UITLOGGEN", - "account.pro.removedevice": "VERWIJDER", - "account.pro.devices": "Geauthotiseerde apparaten aangesloten op uw Pro account:", - "account.pro.device.confirm.title": "Apparaat loskoppelen", - "account.pro.device.confirm": "Weet u zeker dat u '{{device}}' wilt verwijderen van uw Lantern Pro account?", - "account.pro.device.one.title": "Maar één apparaat", - "account.pro.device.one": "Sorry maar je kunt het apparaat niet verwijderen dat je als laatste hebt geautoriseerd", - "account.pro.linkingcode": "Apparaat link-code ", - "account.pro.renew": "HERNIEUW PRO ACCOUNT", - "account.prolink.errorTitle": "Fout tijdens het verbinden", - "account.prolink.errorText": "Weet je zeker dat je code foutloos hebt gekopieerd van je andere apparaat?", - "account.prolink.successTitle": "Apparaat gelinkt", - "account.prolink.successText": "Je toestel linken is gelukt! Na enkele ogenblikken zal je andere apparaat automatisch pro worden.", - "adyen.paymentMethods.title": "Payment Methods", - "adyen.paymentMethods.storedMethods": "Your payment methods", - "adyen.paymentMethods.otherMethods": "Select other method", - "adyen.paymentMethods.moreMethodsButton": "More payment methods", - "adyen.payButton": "Pay", - "adyen.payButton.formatted": "Pay %@", - "adyen.cancelButton": "Annuleren", - "adyen.dismissButton": "Oké", - "adyen.storeDetails": "Save for my next payment", - "adyen.payment.redirecting": "You will be redirected", - "adyen.payment.processing": "Your payment is being processed", - "adyen.creditCard.title": "Card Details", - "adyen.creditCard.holderName": "Cardholder name", - "adyen.creditCard.holderName.placeholder": "J. Smith", - "adyen.creditCard.numberField.title": "Kaartnummer", - "adyen.creditCard.numberField.placeholder": "1234 5678 9012 3456", - "adyen.creditCard.numberField.invalid": "Invalid card number", - "adyen.creditCard.expiryDateField.title": "Expiry Date", - "adyen.creditCard.expiryDateField.placeholder": "MM/YY", - "adyen.creditCard.expiryDateField.invalid": "Invalid expiration date", - "adyen.creditCard.expiryDateField.month": "Maand", - "adyen.creditCard.expiryDateField.month.placeholder": "MM", - "adyen.creditCard.expiryDateField.year.placeholder": "YY", - "adyen.creditCard.expiryDateField.year": "Jaar", - "adyen.creditCard.cvcField.title": "CVC / CVV", - "adyen.creditCard.cvcField.placeholder": "123", - "adyen.creditCard.installmentsField": "Number of installments", - "adyen.creditCard.storeDetailsButton": "Remember this card for my next payment", - "adyen.creditCard.oneClickVerification.title": "Verify your card", - "adyen.creditCard.oneClickVerification.message": "Please enter the CVC code for %@", - "adyen.creditCard.oneClickVerification.invalidInput.title": "Invalid CVC", - "adyen.creditCard.oneClickVerification.invalidInput.message": "Please enter a valid CVC to continue.", - "adyen.sepaDirectDebit.ibanField.title": "Account Number (IBAN)", - "adyen.sepaDirectDebit.ibanField.placeholder": "NL53 ABNA 1925 1294 122", - "adyen.sepaDirectDebit.ibanField.invalid": "Invalid account number", - "adyen.sepaDirectDebit.nameField.title": "Holder Name", - "adyen.sepaDirectDebit.nameField.placeholder": "J. Smith", - "adyen.sepaDirectDebit.consentButton": "I agree that the amount below will be debited from my bank account.", - "adyen.sepa.ownerName": "Holder Name", - "adyen.sepa.ibanNumber": "Account Number (IBAN)", - "adyen.giropay.searchField.placeholder": "Bankname / BIC / Bankleitzahl", - "adyen.giropay.minimumLength": "Min. 3 characters", - "adyen.giropay.noResults": "No search results", - "adyen.error.title": "Fout", - "adyen.error.subtitle.redirect": "Redirect failed", - "adyen.error.subtitle.payment": "Payment failed", - "adyen.error.subtitle.refused": "Payment refused", - "adyen.error.message.unknown": "An unknown error occurred", - "adyen.error.message.cannotConnectToInternet": "Failed to connect to the internet : please check your internet connection.", - "adyen.error.message.cannotConnectToHost": "Failed to connect to our payment server.", - "adyen.error.retryButton": "Probeer opnieuw", - "adyen.idealIssuer.selectField.title": "Bank", - "adyen.idealIssuer.selectField.placeholder": "Select your bank", - "adyen.creditCard.success": "Payment Successful", - "adyen.oneClick.confirmationAlert.title": "Confirm %@ payment", - "adyen.redirect.cannotOpenApp.title": "Cannot Open App", - "adyen.redirect.cannotOpenApp.appNotInstalledMessage": "This app could not be opened because it is not installed on this device.", - "adyen.holderName": "Cardholder name", - "adyen.countryCode": "Country Code", - "adyen.telephone.number": "Telephone number", - "authorize.title": "Autoriseer apparaat voor Pro", - "authorize.step1.have_pro_device": "Ik heb nog een Lantern Pro apparaat", - "authorize.step1.link": "Dit toestel linken", - "authorize.step1.or": "of", - "authorize.step1.recover": "Ik moet mijn Lantern Pro account herstellen", - "authorize.step1.start": "herstel beginnen", - "authorize.step1.no_mail": "Weet je je e-mailadres niet meer?", - "authorize.step2b.enter_code": "Vul je account herstelcode in", - "authorize.step2b.code": "Account-herstel code", - "authorize.step2b.instruction": "Een e-mail met een herstelcode is verzonden naar {{email}}. Het kan enkele uren duren voordat de mail wordt ontvangen. Check ook je spam als je deze niet kunt vinden tussen je gewone berichten.", - "authorize.step2b.no_mail": "Geen e-mail ontvangen", - "authorize.step3.recovery": "Account-herstel", - "authorize.step3.no_email": "Oeps! We kunnen dat e-mailadres niet vinden. Geef onderstaand meer informatie zodat we je accountgegevens kunnen traceren.", - "authorize.step3.no_code_received": "Problemen met het ontvangen van herstelbericht? Geef de informatie hieronder door en we nemen binnen 48 uur contact op.", - "authorize.step3.your_email": "Uw e-mail", - "authorize.step3.payment_method": "Betaalwijze", - "authorize.step3.payment_method_hint": "Selecteer de betaalwijze die je hebt gebruikt om Pro aan te schaffen", - "authorize.step3.credit_card": "Credit Card", - "authorize.step3.alipay": "AliPay", - "authorize.step3.android_pay": "Android Pay", - "authorize.step3.by_referral": "Pro ontvangen met verwijzingscode", - "authorize.step3.payment_account": "Betaalrekening", - "authorize.step3.payment_account_hint": "Vul je Alipay account in", - "authorize.step3.referral_code": "Uw Referentie Code", - "authorize.step3.purchase_date": "Aankoopdatum", - "authorize.step3.note": "Noteer ook andere informatie die ons kan helpen om je account te traceren.", - "authorize.step4.title": "Accountherstel in bewerking", - "authorize.step4.text1": "Bedankt. We hebben je aanvraag accountherstel ontvangen.", - "authorize.step4.text2": "Het kan 48 uur duren om je Pro-account te herstellen.", - "authorize.step4.text3": "We zullen informatie sturen naar het e-mailadres dat is ingevuld op het vorige scherm.", - "authorized.continue": "Doorgaan met Pro", - "authorized.text": "Dit toestel is nu geautoriseerd om je Lantern Pro account te gebruiken!", - "authorized.title": "Apparaat authorisatie", - "button.renew": "Renew", - "button.upgrade": "Upgrade", - "button.upgrade_now": "Upgrade Now", - "button.upgrade_to_lantern_pro": "Upgrade naar Lantern Pro", - "button.copy_your_code": "Kopieer uw code", - "button.try_again": "Probeer opnieuw", - "button.continue": "Ga verder", - "bullet.click_button": "Klik op de knop beneden", - "bullet.paste_code": "Plak de code & dowload link in een bericht", - "bullet.send_to_friends": "Stuur naar vrienden", - "cancel": "Annuleren", - "confirm": "Bevestigen", - "google_search": "Google Search", - "link_device": "Already have a Pro account? Link device", - "err.unknown_error": "Onbekende fout", - "err.internal_error": "Interne fout", - "err.bad_input": "Verkeerde invoer", - "err.not_authorized": "Not authorized", - "err.user_exists": "Bestaande gebruiker", - "err.no_such_user": "Gebruiker bestaat niet", - "err.user_already_verified": "Gebruiker al geverifieerd", - "err.invalid_user_verification": "Ongeldige gebruiker verificatie", - "err.user_unverified": "Gebruiker ongeverifieerd", - "err.operation_temporarily_unavailable": "Bewerking tijdelijk niet beschikbaar", - "err.wrong_or_inexistent_plan": "Abonnement verkeerd of bestaat niet", - "err.user_has_active_subscription": "Gebruiker heeft een actief abonnement", - "err.payment_error": "Betaalfout", - "err.no_codes_left": "Geen verwijscode over", - "err.wrong_code": "Fouts verwijscode", - "err.redeeming_own_code_not_allowed": "Het inlossen van eigen codes is niet toegestaan", - "err.wrong_charge_id": "Verkeerde ID", - "footer.reseller": "Geld verdienen! Word een Lantern Pro wederverkoper. Klik hier", - "footer.reseller.email_subject": "Wat betekent Lantern reseller!", - "footer.reseller.email_body": "Wanneer je een Lantern reseller bent heb je de mogelijkheid om 25% op elke verkoop te verdienen van een Lantern Pro abonnement. Vertel ons hieronder waarom je een reseller wilt worden.", - "feature.faster_speed": "Hoge Snelheid", - "feature.faster": "Faster data centers", - "feature.unlimited": "Ongelimiteerde data", - "feature.nologs": "No Logs", - "feature.devices": "Connect up to 3 devices", - "feature.noads": "Geen advertenties", - "feature.antiblock": "Blokkade resistent", - "feature.data_center": "Better Data Centers", - "feature.free_yinbi": "Free Yinbi Cryptocurrency!", - "free.title": "Lantern Pro", - "free.desc": "Faster. Stronger. Unlimited. Secure.", - "free.link_account": "Already have a Pro account? Link your account.", - "home.get_lantern_pro": "Krijg Lantern Pro", - "input.email": "E-mail", - "input.your_email": "Je e-mailadres", - "input.confirm_email": "Bevestig het e-mailadres", - "input.enter_email": "Vul je e-mailadres in", - "input.use_valid_email": "Typ een geldig e-mailadres", - "input.email_not_match": "E-mailvelden stemmen niet overeen", - "issue.your_email": "Uw e-mail", - "issue.attach_image_failure": "Cannot attach image", - "issue.try_again": "Probeer opnieuw", - "issue.select_issue": "Selecteer een probleem", - "issue.selected_issue": "Select Issue", - "issue.select_issue_hint": "Selecteer een probleem uit de selectielijst", - "issue.note": "Describe your Issue", - "issue.description": "Issue Description", - "issue.error": "Fout tijdens het rapporteren van een probleem", - "issue.submit": "Send Report", - "issue.report_screenshot": "Drag image or click to upload screenshot", - "issue.reported": "Thank you for reporting your issue, we will get back to you via Email as soon as we are able", - "issue.report_sent": "Report Sent", - "issue.type.no_access": "Kan geblokkeerde websites niet openen", - "issue.type.payment_fail": "Kan betaling niet afronden", - "issue.type.cannot_login": "Kan niet inloggen", - "issue.type.always_spinning": "Laden duurt oneindig lang", - "issue.type.slow": "Langzaam", - "issue.type.cannot_link_device": "Kan geen toestellen linken", - "issue.type.crashes": "Lantern crasht", - "issue.type.other": "Anders", - "languages.title": "Talen", - "mobile.link": "Use the link to download Lantern on your Android device:", - "mobile.title": "Get Android Version", - "nav.about": "Over", - "nav.account": "Accountbeheer", - "nav.authorize": "Apparaat toevoegen", - "nav.authorized": "Apparaat authorisatie", - "nav.unauthorized_link": "Autoriseer apparaat voor Pro", - "nav.language": "Taal", - "nav.lantern": "Lantern", - "nav.mobile": "Download mobiele versie", - "nav.report_issue": "Rapport verzenden", - "nav.settings": "Instellingen", - "nav.verify": "Account verificatie", - "nav.yinbi": "Yinbi Redemption", - "nav.home": "Home", - "nav.discover": "Discover", - "nav.wallet": "Wallet", - "nav.yinbi_wallet": "Yinbi Wallet", - "notification.retry": "Opnieuw proberen", - "notifications.whatisnew": "What's New?", - "payment.close": "Sluiten", - "payment.wait_for_pro": "Bedankt voor de aanschaf van Lantern Pro! Een ogenblik geduld AUB. Lantern wordt automatisch Pro.", - "payment_methods.select_name": "Select payment method", - "payment_methods.alipay": "Credit Card/Alipay", - "payment_methods.shetab": "Fast World Pay (Shetab)", - "payment_methods.shetab.details.header": "To purchase Lantern Pro", - "payment_methods.shetab.details.body": "When you click continue to purchase you will be redirected to an external site to complete payment and collect your activation code.", - "payment_methods.shetab.details.tutorial_header": "Farsi tutorial", - "payment_methods.shetab.details.purchase_voucher_button": "Continue To Purchase", - "payment_methods.shetab.details.input_code_button": "Input Activation Code", - "plan.step1": "Step 1", - "plan.apply": "Apply", - "plan.step2": "Step 2", - "plan.step3": "Step 3", - "plan.choose_plan": "Choose Plan", - "plan.enter_email": "Enter Email", - "plan.bestValue": "Beste deal!", - "plan.per_month": "per month", - "plan.yinbi_2x": "+ 2x Yinbi!", - "plan.oneYear": "1 jaar", - "plan.add_referral": "Add Referral Code", - "plan.years": "{{years}} year plan", - "plan.desc": "{{price}} billed one time", - "plan.price.cny": "¥%.02f", - "plan.price.usd": "$%.02f", - "plan.currency.cny": "(RMB)", - "plan.currency.usd": "(USD)", - "plan.time_unit": "/YR", - "plan.select": "Selecteer", - "plans.title": "Lantern Pro abonnementen", - "plans.lantern_pro": "Lantern Pro", - "plans.platforms": "Voor Windows, ndroid, Mac, Ubuntu.", - "plans.from_reseller": "Have a Lantern Pro activation code? Click here", - "plans.with_voucher_code": "Have an activation code? Click here.", - "pro.apply": "Je bonus wordt bijgeschreven op je account met de volgende factuur.", - "pro.title": "Nodig vrienden uit en ontvang meer Pro gratis", - "pro.subtitle": "Wanneer je vriend een tweejarig abonnement neemt ontvangt ieder van jullie 3 extra maanden van Pro, met een eenjarig abonnement ontvangt een ieder 1 maand gratis.", - "pro.share": "Deel je code met vrienden en verdien meer bonus!", - "promotion.title": "Lantern Pro afrekenen", - "promotion.title.activation": "Lantern Pro activatie", - "promotion.enter_and_confirm_email": "Vul je e-mailadres in en bevestig dit", - "promotion.code.hint": "Vul de verwijscode in van je vriend (optioneel)", - "promotion.code.label": "Verwijscode", - "promotion.payment": "Naar betaling", - "promotion.loading": "Bezig met laden...", - "promotion.howto_1y": "Als je een verwijscode hebt ontvangen van een vriend, vul de code in om een gratis maand voor Lantern Pro te ontvangen na het afrekenen.", - "promotion.howto_2y": "Als je een verwijscode hebt ontvangen van een vriend, vul de code in om drie gratis maanden voor Lantern Pro te ontvangen na het afrekenen.", - "promotion.pay": "Betaal {{amount}}", - "promotion.select": "Selecteer", - "promotion.promotion_applied_1y": "+1 bonus months", - "promotion.promotion_applied_2y": "+3 bonus months", - "promotion.too_many_referrals": "Deze verwijscode is al toegevoegd. Reken nu af en ontvang je extra maanden.", - "promotion.activation.enter_and_confirm_email": "AUB e-mailadres invullen en bevestigen om je Lantern Pro account te registreren.", - "promotion.activation.label": "XXXXX-XXXXX-XXXXX-XXXXX-XXXXX", - "promotion.activation.hint": "Vul de activatiecode in", - "promotion.activation.howto": "Vul de 25 tekens in van de Lantern Pro activatiecode hierboven. Als je geen code hebt, schaf AUB Pro aan op het vorige scherm of zoek online een Lantern Pro reseller.", - "promotion.activation.continue": "Doorgaan met Pro", - "promotion.voucher.hint": "Activation Code", - "promotion.voucher.howto": "Please enter your 12 character Fast World Pay activation code above", - "promotion.voucher.label": "XXXXXXXXXXXX", - "promotion.voucher.error.default": "Error redeeming your activation code. Please contact contact@fastworldpay.com for assistance.", - "promotion.voucher.error.invalid_code": "Invalid activation code", - "promotion.voucher.error.invalid_plan": "Activation code associated with an invalid plan", - "promotion.voucher.error.already_redeemed": "Activation code has already been redeemed", - "referral.code": "Deel je verwijscode", - "referral.text": "Gebruik mijn code %s en ontvang 3 maanden gratis wanneer je registreert!", - "renew.title_30_days": "Renew now for 3 months free!", - "renew.title_2_days": "Lantern Pro expires tomorrow.\nRenew now for 3 months free!", - "renew.title_last_day": "Lantern Pro expires today.\nDon't miss out on your Pro discount!", - "renew.title_expired": "Lantern Pro has expired", - "renew.details_30_days": "Your Lantern Pro membership is ending soon, renew now and enjoy up to three months free! This limited time offer is only valid for early renewals.", - "renew.details_2_days": "Your Lantern Pro membership is ending soon, renew now and enjoy up to three months free! This limited time offer is only valid for early renewals.", - "renew.details_last_day": "Renew now and enjoy up to three months free!\nThis is the last day to take advantage of this offer.\nLantern Pro users get faster speeds, unlimited data, better blocking resistance, three devices and no ads.", - "renew.details_expired": "Renew now for an extra 45 days free. Limited time only.\nLantern Pro users get faster speeds, unlimited data, better blocking resistance, three devices and no ads.", - "renew.plan_label": "Lantern Pro - %s", - "renew.plan_renewal_bonus_1_month": "$%d%s + 1 FREE MONTH", - "renew.plan_renewal_bonus_months": "$%d%s + %d FREE MONTHS", - "renew.plan_renewal_bonus_days": "$%d%s + %d FREE DAYS", - "renew.next": "next", - "renew.decline": "Decline Offer", - "renew.decline_question": "Are you sure you want to decline this offer?", - "renew.decline_yes": "Renew later", - "renew.decline_dismiss": "Renew now", - "renew.notification_title_30_days": "Renew Pro now for huge savings!", - "renew.notification_text_30_days": "Your Lantern Pro account expires in {{days}} days. Renew now and get up to 3 months free.", - "renew.notification_title_2_days": "Lantern Pro discount ends tomorrow!", - "renew.notification_text_2_days": "Your Pro account expires tomorrow. Don’t miss this opportunity for a huge discount.", - "renew.notification_title_last_day": "Last chance for a discount!", - "renew.notification_text_last_day": "Your Lantern pro account has expired. Renew today and get up to 3 months free.", - "replica.upload": "Upload", - "replica.relevance": "Relevance", - "replica.upload_date": "Upload Date", - "replica.gallery_view": "Gallery View", - "replica.list_view": "List View", - "replica.copy_lantern_link": "Copy Lantern Link", - "replica.delete_file": "Delete File", - "replica.docs": "Documenten", - "replica.other": "Anders", - "replica.apps": "Apps", - "replica.images": "Images", - "replica.videos": "Videos", - "replica.next": "Volgende", - "replica.previous": "Previous", - "replica.select_all": "Select All", - "replica.search_replica": "Search Public Files", - "replica.no_files_found": "No Files Found", - "replica.or_content": "your own content for other people to find!", - "replica.try_again": "Try a different keyword, or", - "replica.upload_success": "Upload Success!", - "replica.cannot_preview": "No preview for this filetype", - "replica.size": "Size", - "replica.uploaded": "Uploaded", - "replica.invalid_link": "Invalid Link", - "replica.close": "Sluiten", - "replica.my_files": "My Files", - "replica.filename": "File Name", - "replica.filename_required": "File Name (required)", - "replica.filetype": "Filetype", - "replica.sortby": "Sort By", - "replica.link": "Replica link", - "replica.collapse": "Collapse", - "replica.publish": "Publish", - "replica.cancel": "Annuleren", - "replica.delete": "Verwijder", - "replica.failed_to_delete": "Failed to delete", - "replica.link_lookup_failure": "Failed to find link", - "replica.delete_file_confirmation_1": "Are you sure you want to delete", - "replica.delete_file_confirmation_2": "from your uploads", - "replica.share_file": "Share File", - "replica.download_and_view": "Download/View", - "replica.download": "Downloaden", - "replica.copy_link": "Copy Replica Link", - "replica.find_file": "Find file", - "replica.file_drop_prompt": "Drag file here or browse to post", - "settings.general": "Algemeen", - "settings.feedback": "Feedback", - "settings.autoLaunch": "Lantern openen bij systeemstart", - "settings.autoReport": "Veilig rapporteren van gebruiksstatistieken om Lantern te helpen verbeteren", - "settings.proxyAll": "Proxy al het verkeer", - "settings.proxyAllHelpTitle": "WHAT DOES \"PROXY ALL TRAFFIC\" DO?", - "settings.proxyAllHelp1": "If enabled, all traffic will be sent through Lantern (most Secure option).", - "settings.proxyAllHelp2": "If disabled, only blocked traffic will be sent through Lantern (fastest option, most common).", - "settings.show_advanced": "Show Advanced Settings", - "settings.hide_advanced": "Hide Advanced Settings", - "settings.systemProxy": "Beheer systeem proxy", - "settings.title": "Instellingen", - "settings.http_proxy": "HTTP(S) proxy:", - "settings.socks_proxy": "SOCKS proxy:", - "settings.caution": "Waarschuwing:", - "settings.caution_text": "Wanneer je het vinkje weghaalt bij \"Beheer system proxy\" kunnen je browser en apps niet automatisch Lantern gebruiken. Indien je weet hoe je deze instelling handmatig moet configureren zie bovenstaande informatie.", - "settings.select_language": "Select Langauge", - "status.lantern": "Lantern is", - "status.click_reconnect": "Click here to reconnect", - "status.server_location": "Server Location", - "status.tooltip1": "Lantern uses smart server selection to connect you to our best data centers.", - "status.tooltip2": "Upgrade to Lantern Pro for faster speed with optimized server selection from our exclusive Lantern Pro data centers", - "status.protected_connection": "Your Connection is Protected", - "status.please_wait": "This may take a minute or two...", - "status.connecting": "Verbinden...", - "status.no_internet": "Off", - "status.no_internet_connection": "No Internet connection", - "status.connected": "On", - "status.disconnected": "Off", - "status.throttled": "Speed Throttled (Data Cap)", - "status.no_system_proxy": "{{status}}, not managing system proxy", - "status.fail_to_set_system_proxy": "Failed to set Lantern as system proxy", - "status.fail_to_open_browser": "Failed to open browser window to show the Lantern user interface", - "terms_of_service.acknowledgment": "By clicking {{buttonText}}, you agree to our Terms of Service", - "verify.header": "Nog een toestel linken aan dit Pro-account? Vul je Apparaat link-code hieronder in", - "verify.code": "Apparaat link-code ", - "verify.howto_1": "Als je een Lantern Pro account hebt op een ander apparaat vul hier je e-mailadres in en ontvang een code om dat toestel te autoriseren.", - "verify.howto_1a": "Je bent nu een niet-geautoriseerde Pro gebruiker. Vul je e-mailadres in om je Pro-account te autoriseren. Daarna kan je meerdere toestellen linken.", - "verify.howto_3": "1. Open het menupunt 'Autoriseer apparaat voor Pro' in je niet-geautoriseerde apparaat.", - "verify.howto_4": "2. Vul de link-code in verkregen in stap 1 en indienen.", - "verify.reminder": "* Controleer of je de nieuwste versie van Lantern gebruikt op je niet-geautoriseerde apparaat.", - "verify.submit": "Indienen", - "verify.title": "Account verificatie", - "welcomeToPro.continue": "Doorgaan met Pro", - "welcomeToPro.invite": "Nodig vrienden uit en je ontvangt ieder 3 gratis maanden wanneer ze een tweejarig abonnement aanschaffen, bij een eenjarig abonnement ontvangt eenider 1 gratis maand. Begin met uitnodigen!", - "welcomeToPro.thanks": "Bedankt voor het aanschaffen van Lantern Pro!", - "welcomeToPro.title": "Welkom bij Lantern Pro", - "messages.copied_to_clipboard": "Code gekopieerd. Deel deze met je vrienden!", - "messages.datacap": "Je gratis datasnelheid is gebruikt. Upgrade naar Pro voor onbeperkt hoge datasnelheid.", - "messages.fatal_error": "Sorry, de Lantern servers lijken moeilijk bereikbaar. Controleer uw internetverbinding en probeer het opnieuw.", - "messages.backend_gone": "Sorry, Lantern lijkt niet langer te werken. Herstart Lantern en probeer het opnieuw.", - "messages.get_help": "Krijg Hulp", - "freeProCredits.title": "Vrienden uitnodigen", - "freeProCredits.shareWithFriends": "Deel je code met vrienden en verdien gratis maanden!", - "freeProCredits.shareWithFriendsDesc": "Wanneer je vriend een tweejarig abonnement aanschaft ontvangen jullie allebei 3 maanden gratis, bij een eenjarig abonnement ontvangen jullie beiden 1 maand gratis.", - "cards.serverLocation.unknown": "Unknown", - "cards.serverLocation.description": "Optimized Server Location", - "cards.serverLocation.description-free": "Server Location", - "cards.serverLocation.description-upgrade": "Upgrade for Faster Servers", - "cards.serverLocation.title": "Current Location:", - "cards.serverLocation.location": "%s, %s", - "cards.serverLocation.text": "Lantern uses smart server selection to automatically find you the fastest connection possible from our data centers in Tokyo, Singapore, Hong Kong, San Francisco, New York, Amsterdam, Bangalore and more.", - "cards.serverLocation.text-free": "Lantern uses smart server selection to connect you to our best data centers.", - "cards.serverLocation.upgrade-link": "Upgrade to Lantern Pro for faster speed with optimized server selection from our exclusive Lantern Pro data centers.", - "cards.httpsUpgrades.description": "HTTPS Upgrades", - "cards.httpsUpgrades.title": "HTTPS Upgrades: %d", - "cards.httpsUpgrades.text": "Lantern automatically upgrades unsecure HTTP connections to encrypted HTTPS connections when possible to keep your information private while surfing the web.", - "cards.adsBlocked.description": "Ads Blocked", - "cards.adsBlocked.title": "Blocked Ads: %d", - "cards.adsBlocked.text": "Lantern blocks intrusive ads to speed up web page loading time, save bandwidth, and to give you a smoother browsing experience.", - "cards.dataUsage.description": "Data Usage", - "cards.dataUsage.upgrade": "Upgrade now", - "cards.dataUsage.mb-used": "You have used %d/%dMB of your monthly high speed data.", - "cards.dataUsage.upgrade-link": "Upgrade now for unlimited high speed service!", - "cards.subscription.description": "Pro Subscription", - "cards.subscription.renew": "Renew", - "cards.subscription.months": "You have %d months of Lantern Pro left in your subscription.", - "cards.subscription.days": "You have %d days of Lantern Pro left in your subscription.", - "cards.subscription.unit.months": "MO", - "cards.subscription.unit.days": "DAYS", - "cards.subscription.renew-link": "Renew your subscription to add more time." -} \ No newline at end of file diff --git a/locale/translation/pl.json b/locale/translation/pl.json deleted file mode 100644 index 59cc830d4..000000000 --- a/locale/translation/pl.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "TRAY_SHOW_LANTERN": "Show Lantern", - "TRAY_QUIT": "Quit Lantern" -} \ No newline at end of file diff --git a/locale/translation/pt.json b/locale/translation/pt.json deleted file mode 100644 index 0b5206957..000000000 --- a/locale/translation/pt.json +++ /dev/null @@ -1,462 +0,0 @@ -{ - "TRAY_LANTERN": "Lantern", - "TRAY_STATUS": "Estado: %v", - "TRAY_CONNECT": "Conectar", - "TRAY_DISCONNECT": "Desconectar", - "TRAY_SHOW_LANTERN": "Mostre o Lantern", - "TRAY_UPGRADE_TO_PRO": "Atualizar para Pro", - "TRAY_QUIT": "Encerre o Programa Lanterna", - "BACKEND_DATA_TITLE": "Não há mais dados Lantern de alta velocidade ", - "BACKEND_DATA_MESSAGE": "Por favor atualize para Pro para continuar usando o Lantern à toda velocidade!", - "BACKEND_DATA_PERCENT_TITLE": "Atingido %s de seus dados Lantern", - "BACKEND_DATA_PERCENT_MESSAGE": "Você usou %s de seus dados Lantern de alta velocidade para o mês. Atualize agora!", - "BACKEND_CLICK_LABEL": "Abrir", - "BACKEND_CLICK_LABEL_OPEN": "Abrir", - "BACKEND_CLICK_LABEL_HELP": "Ajuda", - "BACKEND_CLICK_LABEL_GOT_IT": "Got it", - "BACKEND_AUTOUPDATED_TITLE": "Update Lantern to version %s", - "BACKEND_AUTOUPDATED_MESSAGE": "Lantern %s has been downloaded. Please restart Lantern to use it.", - "BACKEND_MITM_INSTALL_CERT": "Lantern wants to install a custom certificate in order to unblock your traffic", - "BACKEND_MITM_INSTALL_CERT_WINDOWS_BODY": "Please allow %v to make changes to your system", - "BACKEND_ALERT_TITLE": "Critical alert needs your attention", - "about.content": "Lantern é um aplicativo que fornece acesso rápido, confiável e seguro à internet aberta.", - "about.faq": "Ler as Perguntas Mais Frequentes do Lantern", - "about.open": "Internet Aberta para Todos", - "about.questions": "Dúvidas?", - "about.title": "Sobre", - "account.cancel": "Cancelar conta Pro", - "account.free.cap": "{{mb}} MB restantes de seus dados mensais gratuitos", - "account.free.cap.upgrade": "Atualize para Pro para obter dados de alta velocidade ilimitados", - "account.freelink.validFor": "válido para %s", - "account.freelink.desc": "Para vincular esse dispositivo a sua conta Pro:", - "account.freelink.step1": "1. Abra o item 'Adicionar Dispositivo' no menu de seu dispositivo Pro.", - "account.freelink.step2": "2. Digite o código de vinculação do dispositivo, e envie.", - "account.freelink.reminder": "* Verifique se você está atualizado com a última versão do Lantern em seu dispositivo Pro", - "account.freelink.errorTitle": "Erro de vinculação", - "account.freelink.errorText": "Você tem certeza que digitou o código em seu dispositivo Pro?", - "account.freelink.headerDesc": "Vincular este dispositivo a sua conta Pro", - "account.freelink.title": "Código de vinculação do dispositivo", - "account.pro.charge": "Sua conta será cobrada automaticamente por mais um ano de Lantern Pro ao final do ciclo de faturamento.", - "account.upgrade": "Atualizar para Pro", - "account.pro.email": "Endereço de email:", - "account.pro.expired": "Your Pro account has expired. Renew now for Unlimited monthly data.", - "account.pro.expiry": "Your Pro account expires in %s days on %s.", - "account.pro.bonusMonths": "This includes your {{bonusMonths}} bonus months!", - "account.pro.thisdevice": "(Esse Dispositivo)", - "account.pro.logout": "SAIR", - "account.pro.removedevice": "REMOVER", - "account.pro.devices": "Dispositivos autorizados para usar sua conta Pro:", - "account.pro.device.confirm.title": "Desautorizar Dispositivo", - "account.pro.device.confirm": "Você tem certeza que quer remover '{{device}}' de sua conta Lantern Pro?", - "account.pro.device.one.title": "Somente um dispositivo", - "account.pro.device.one": "Desculpe, mas você não pode remover seu último dispositivo autorizado.", - "account.pro.linkingcode": "Código de vinculação do dispositivo:", - "account.pro.renew": "RENOVAR CONTA PRO", - "account.prolink.errorTitle": "Erro de vinculação ", - "account.prolink.errorText": "Você tem certeza que copiou corretamente o código do seu outro dispositivo?", - "account.prolink.successTitle": "Dispositivo Vinculado", - "account.prolink.successText": "Você vinculou com sucesso seu dispositivo! Por favor, aguarde um momento para seu outro dispositivo automaticamente tornar-se Pro.", - "adyen.paymentMethods.title": "Métodos de Pagamento", - "adyen.paymentMethods.storedMethods": "Your payment methods", - "adyen.paymentMethods.otherMethods": "Select other method", - "adyen.paymentMethods.moreMethodsButton": "More payment methods", - "adyen.payButton": "Pay", - "adyen.payButton.formatted": "Pay %@", - "adyen.cancelButton": "Cancela", - "adyen.dismissButton": "OK", - "adyen.storeDetails": "Save for my next payment", - "adyen.payment.redirecting": "You will be redirected", - "adyen.payment.processing": "Your payment is being processed", - "adyen.creditCard.title": "Card Details", - "adyen.creditCard.holderName": "Cardholder name", - "adyen.creditCard.holderName.placeholder": "J. Smith", - "adyen.creditCard.numberField.title": "Número do cartão", - "adyen.creditCard.numberField.placeholder": "1234 5678 9012 3456", - "adyen.creditCard.numberField.invalid": "Invalid card number", - "adyen.creditCard.expiryDateField.title": "Expiry Date", - "adyen.creditCard.expiryDateField.placeholder": "MM/AA", - "adyen.creditCard.expiryDateField.invalid": "Invalid expiration date", - "adyen.creditCard.expiryDateField.month": "Mês", - "adyen.creditCard.expiryDateField.month.placeholder": "MM", - "adyen.creditCard.expiryDateField.year.placeholder": "AA", - "adyen.creditCard.expiryDateField.year": "Ano", - "adyen.creditCard.cvcField.title": "CVC / CVV", - "adyen.creditCard.cvcField.placeholder": "123", - "adyen.creditCard.installmentsField": "Number of installments", - "adyen.creditCard.storeDetailsButton": "Remember this card for my next payment", - "adyen.creditCard.oneClickVerification.title": "Verify your card", - "adyen.creditCard.oneClickVerification.message": "Please enter the CVC code for %@", - "adyen.creditCard.oneClickVerification.invalidInput.title": "Invalid CVC", - "adyen.creditCard.oneClickVerification.invalidInput.message": "Please enter a valid CVC to continue.", - "adyen.sepaDirectDebit.ibanField.title": "Account Number (IBAN)", - "adyen.sepaDirectDebit.ibanField.placeholder": "NL53 ABNA 1925 1294 122", - "adyen.sepaDirectDebit.ibanField.invalid": "Invalid account number", - "adyen.sepaDirectDebit.nameField.title": "Holder Name", - "adyen.sepaDirectDebit.nameField.placeholder": "J. Smith", - "adyen.sepaDirectDebit.consentButton": "I agree that the amount below will be debited from my bank account.", - "adyen.sepa.ownerName": "Holder Name", - "adyen.sepa.ibanNumber": "Account Number (IBAN)", - "adyen.giropay.searchField.placeholder": "Bankname / BIC / Bankleitzahl", - "adyen.giropay.minimumLength": "Min. 3 characters", - "adyen.giropay.noResults": "No search results", - "adyen.error.title": "Erro", - "adyen.error.subtitle.redirect": "Redirect failed", - "adyen.error.subtitle.payment": "Payment failed", - "adyen.error.subtitle.refused": "Payment refused", - "adyen.error.message.unknown": "An unknown error occurred", - "adyen.error.message.cannotConnectToInternet": "Failed to connect to the internet : please check your internet connection.", - "adyen.error.message.cannotConnectToHost": "Failed to connect to our payment server.", - "adyen.error.retryButton": "Tentar novamente", - "adyen.idealIssuer.selectField.title": "Banco", - "adyen.idealIssuer.selectField.placeholder": "Selecione seu banco", - "adyen.creditCard.success": "Payment Successful", - "adyen.oneClick.confirmationAlert.title": "Confirm %@ payment", - "adyen.redirect.cannotOpenApp.title": "Cannot Open App", - "adyen.redirect.cannotOpenApp.appNotInstalledMessage": "This app could not be opened because it is not installed on this device.", - "adyen.holderName": "Cardholder name", - "adyen.countryCode": "Country Code", - "adyen.telephone.number": "Telephone number", - "authorize.title": "Autorizar dispositivo para Pro", - "authorize.step1.have_pro_device": "Tenho outro dispositivo Lantern Pro", - "authorize.step1.link": "Vincular o dispositivo", - "authorize.step1.or": "ou", - "authorize.step1.recover": "Preciso recuperar minha conta Lantern Pro", - "authorize.step1.start": "Iniciar recuperação", - "authorize.step1.no_mail": "Não lembra de seu endereço de email?", - "authorize.step2b.enter_code": "Digite seu código de recuperação de conta", - "authorize.step2b.code": "Código de recuperação da conta", - "authorize.step2b.instruction": "Um email com um código de recuperação foi enviado para {{email}}. Esse email pode levar várias horas para chegar. Por favor, verifique sua pasta de spam se você não encontrá-lo.", - "authorize.step2b.no_mail": "Não recebeu email", - "authorize.step3.recovery": "Recuperação de conta", - "authorize.step3.no_email": "Oops! Estamos tendo problemas para encontrar esse endereço de email. Por favor, forneça mais informações abaixo para nos ajudar a localizar sua conta.", - "authorize.step3.no_code_received": "Está com problemas para receber o email de recuperação? Digite as informações abaixo e entraremos em contato com você dentro de 48 horas.", - "authorize.step3.your_email": "Seu Email", - "authorize.step3.payment_method": "Método de pagamento", - "authorize.step3.payment_method_hint": "Selecione o método de pagamento usado para obter o Pro", - "authorize.step3.credit_card": "Cartão de crédito", - "authorize.step3.alipay": "AliPay", - "authorize.step3.android_pay": "Android Pay", - "authorize.step3.by_referral": "Recebido Pro por referência de um amigo", - "authorize.step3.payment_account": "Conta de pagamento", - "authorize.step3.payment_account_hint": "Digite suas informações de conta Alipay", - "authorize.step3.referral_code": "Seu código de referência", - "authorize.step3.purchase_date": "Data de compra", - "authorize.step3.note": "Tenha atenção a qualquer outra informação que pode nos ajudar a localizar sua conta.", - "authorize.step4.title": "Recuperação de conta em andamento", - "authorize.step4.text1": "Obrigado! Recebemos seu pedido de recuperação de conta.", - "authorize.step4.text2": "Por favor aguarde 48 horas para recuperar suas informações da conta Pro.", - "authorize.step4.text3": "Nós enviaremos as informações para o endereço de email digitado na tela anterior.", - "authorized.continue": "Continuar Pro", - "authorized.text": "Esse dispositivo agora está autorizado a usar sua conta Lantern Pro!", - "authorized.title": "Dispositivo autorizado", - "button.renew": "Renew", - "button.upgrade": "Atualizar", - "button.upgrade_now": "Upgrade Now", - "button.upgrade_to_lantern_pro": "Atualizar para Lantern Pro", - "button.copy_your_code": "Copie seu código", - "button.try_again": "Tentar novamente", - "button.continue": "Continue", - "bullet.click_button": "Clique no botão abaixo", - "bullet.paste_code": "Cole o código & baixe o link em uma mensagem", - "bullet.send_to_friends": "Envie para seus amigos", - "cancel": "Cancela", - "confirm": "Confirmar", - "google_search": "Google Search", - "link_device": "Already have a Pro account? Link device", - "err.unknown_error": "Erro desconhecido", - "err.internal_error": "Erro interno", - "err.bad_input": "Entrada incorreta", - "err.not_authorized": "Não autorizado", - "err.user_exists": "Usuário existe", - "err.no_such_user": "Nenhum usuário encontrado", - "err.user_already_verified": "Usuário já verificado", - "err.invalid_user_verification": "Verificação de usuário inválida", - "err.user_unverified": "Usuário não verificado", - "err.operation_temporarily_unavailable": "Operação temporariamente indisponível", - "err.wrong_or_inexistent_plan": "Plano errado ou inexistente", - "err.user_has_active_subscription": "Usuário tem assinatura ativa", - "err.payment_error": "Erro de pagamento", - "err.no_codes_left": "Sem códigos de referência", - "err.wrong_code": "Código de referência incorreto", - "err.redeeming_own_code_not_allowed": "Resgatar códigos de si mesmo não é permitido", - "err.wrong_charge_id": "ID de cobrança incorreto", - "footer.reseller": "Faça dinheiro! Torne-se um revendedor Lantern Pro. Clique aqui", - "footer.reseller.email_subject": "Fale-me sobre o Programa de Revendedor do Lantern", - "footer.reseller.email_body": "Quando você se tornar um Revendedor Latern você terá a oportunidade de fazer até 25% o sobre cada venda de uma assinatura do Lantern Pro. Conte-nos, abaixo, um pouco sobre o motivo pelo qual você quer se tornar um revendedor.", - "feature.faster_speed": "Velocidade mais rápida", - "feature.faster": "Faster data centers", - "feature.unlimited": "Dados ilimitados", - "feature.nologs": "No Logs", - "feature.devices": "Connect up to 3 devices", - "feature.noads": "Sem propagandas", - "feature.antiblock": "Resistente à bloqueio", - "feature.data_center": "Better Data Centers", - "feature.free_yinbi": "Free Yinbi Cryptocurrency!", - "free.title": "Lantern Pro", - "free.desc": "Faster. Stronger. Unlimited. Secure.", - "free.link_account": "Already have a Pro account? Link your account.", - "home.get_lantern_pro": "Obter Lantern Pro", - "input.email": "Email", - "input.your_email": "Seu endereço de email", - "input.confirm_email": "Confirmar endereço de email", - "input.enter_email": "Digite seu email", - "input.use_valid_email": "Escreva um endereço de email válido", - "input.email_not_match": "Campos de email não coincidem", - "issue.your_email": "Seu Email", - "issue.attach_image_failure": "Cannot attach image", - "issue.try_again": "Por favor tente novamente", - "issue.select_issue": "Por favor, selecione um problema", - "issue.selected_issue": "Select Issue", - "issue.select_issue_hint": "Selecione um problema no menu suspenso", - "issue.note": "Describe your Issue", - "issue.description": "Issue Description", - "issue.error": "Problema no relatório de erros", - "issue.submit": "Send Report", - "issue.report_screenshot": "Drag image or click to upload screenshot", - "issue.reported": "Thank you for reporting your issue, we will get back to you via Email as soon as we are able", - "issue.report_sent": "Report Sent", - "issue.type.no_access": "Não é possível acessar sites bloqueados", - "issue.type.payment_fail": "Não é possível completar o pagamento", - "issue.type.cannot_login": "Não é possível entrar", - "issue.type.always_spinning": "Carregando spinner, gira sem parar", - "issue.type.slow": "Lento", - "issue.type.cannot_link_device": "Não é possível conectar dispositivos", - "issue.type.crashes": "Falhas do Lantern", - "issue.type.other": "Outros", - "languages.title": "Idiomas", - "mobile.link": "Use the link to download Lantern on your Android device:", - "mobile.title": "Get Android Version", - "nav.about": "Sobre", - "nav.account": "Gerenciamento da conta", - "nav.authorize": "Adicionar dispositivo", - "nav.authorized": "Dispositivo autorizado ", - "nav.unauthorized_link": "Autorizar dispositivo para Pro", - "nav.language": "Idioma", - "nav.lantern": "Lantern", - "nav.mobile": "Obter versão para dispositivos móveis ", - "nav.report_issue": "Relatar um problema", - "nav.settings": "Configurações", - "nav.verify": "Verificação de conta", - "nav.yinbi": "Yinbi Redemption", - "nav.home": "Início", - "nav.discover": "Discover", - "nav.wallet": "Wallet", - "nav.yinbi_wallet": "Yinbi Wallet", - "notification.retry": "Tentar novamente", - "notifications.whatisnew": "What's New?", - "payment.close": "Fechar", - "payment.wait_for_pro": "Obrigado por sua compra do Lantern Pro! Por favor aguarde um momento para seus Lantern automaticamente tornar-se Pro.", - "payment_methods.select_name": "Select payment method", - "payment_methods.alipay": "Credit Card/Alipay", - "payment_methods.shetab": "Fast World Pay (Shetab)", - "payment_methods.shetab.details.header": "To purchase Lantern Pro", - "payment_methods.shetab.details.body": "When you click continue to purchase you will be redirected to an external site to complete payment and collect your activation code.", - "payment_methods.shetab.details.tutorial_header": "Farsi tutorial", - "payment_methods.shetab.details.purchase_voucher_button": "Continue To Purchase", - "payment_methods.shetab.details.input_code_button": "Input Activation Code", - "plan.step1": "Step 1", - "plan.apply": "Apply", - "plan.step2": "Step 2", - "plan.step3": "Step 3", - "plan.choose_plan": "Choose Plan", - "plan.enter_email": "Enter Email", - "plan.bestValue": "Melhor oferta!", - "plan.per_month": "per month", - "plan.yinbi_2x": "+ 2x Yinbi!", - "plan.oneYear": "1 ano", - "plan.add_referral": "Add Referral Code", - "plan.years": "{{years}} year plan", - "plan.desc": "{{price}} billed one time", - "plan.price.cny": "¥%.02f", - "plan.price.usd": "$%.02f", - "plan.currency.cny": "(RMB)", - "plan.currency.usd": "(USD)", - "plan.time_unit": "/YR", - "plan.select": "Selecionar", - "plans.title": "Planos Lantern Pro", - "plans.lantern_pro": "Lantern Pro", - "plans.platforms": "Para Windows, Android, Mac, Ubuntu.", - "plans.from_reseller": "Have a Lantern Pro activation code? Click here", - "plans.with_voucher_code": "Have an activation code? Click here.", - "pro.apply": "Seus créditos serão aplicados a sua conta no próximo ciclo de faturamento.", - "pro.title": "Convide amigos, receba mais Pro de graça", - "pro.subtitle": "Quando o seu amigo compra o plano de dois anos, cada um recebe 3 meses adicionais de Pro, o plano de um ano dá 1 mês grátis para cada um.", - "pro.share": "Compartilhe seu código com seus amigos para começar a ganhar mais créditos!", - "promotion.title": "Sair do Lantern Pro", - "promotion.title.activation": "Ativação do Lantern Pro", - "promotion.enter_and_confirm_email": "Por favor digite e confirme seu endereço de email", - "promotion.code.hint": "Digite o código de referência do seu amigo (opcional)", - "promotion.code.label": "Código de referência", - "promotion.payment": "Continue ao Pagamento", - "promotion.loading": "Carregando...", - "promotion.howto_1y": "Se um amigo compartilhar seu código de referência com você, digite o código para receber um mês de Lantern Pro gratuitamente após a saída.", - "promotion.howto_2y": "Se um amigo compartilhar seu código de referência com você, digite o código para receber três meses de Lantern Pro gratuitamente após a saída.", - "promotion.pay": "Pagar {{amount}}", - "promotion.select": "Selecionar", - "promotion.promotion_applied_1y": "+1 bonus months", - "promotion.promotion_applied_2y": "+3 bonus months", - "promotion.too_many_referrals": "Esse código de referência já foi adicionado. Finalize agora para receber seus meses extras.", - "promotion.activation.enter_and_confirm_email": "Por favor digite e confirme seu endereço de email para registrar sua conta Lantern Pro.", - "promotion.activation.label": "XXXXX-XXXXX-XXXXX-XXXXX-XXXXX", - "promotion.activation.hint": "Digite seu código de ativação", - "promotion.activation.howto": "Por favor, digite seu código de ativação de 25 caracteres do Lantern Pro acima. Se você não tem um código, por favor compre o Pro na tela anterior ou procure um revendedor Lantern Pro online.", - "promotion.activation.continue": "Continuar Pro", - "promotion.voucher.hint": "Activation Code", - "promotion.voucher.howto": "Please enter your 12 character Fast World Pay activation code above", - "promotion.voucher.label": "XXXXXXXXXXXX", - "promotion.voucher.error.default": "Error redeeming your activation code. Please contact contact@fastworldpay.com for assistance.", - "promotion.voucher.error.invalid_code": "Invalid activation code", - "promotion.voucher.error.invalid_plan": "Activation code associated with an invalid plan", - "promotion.voucher.error.already_redeemed": "Activation code has already been redeemed", - "referral.code": "Compartilhe seu código ", - "referral.text": "Use meu código %s e receba 3 meses grátis quando você se inscrever!", - "renew.title_30_days": "Renew now for 3 months free!", - "renew.title_2_days": "Lantern Pro expires tomorrow.\nRenew now for 3 months free!", - "renew.title_last_day": "Lantern Pro expires today.\nDon't miss out on your Pro discount!", - "renew.title_expired": "Lantern Pro has expired", - "renew.details_30_days": "Your Lantern Pro membership is ending soon, renew now and enjoy up to three months free! This limited time offer is only valid for early renewals.", - "renew.details_2_days": "Your Lantern Pro membership is ending soon, renew now and enjoy up to three months free! This limited time offer is only valid for early renewals.", - "renew.details_last_day": "Renew now and enjoy up to three months free!\nThis is the last day to take advantage of this offer.\nLantern Pro users get faster speeds, unlimited data, better blocking resistance, three devices and no ads.", - "renew.details_expired": "Renew now for an extra 45 days free. Limited time only.\nLantern Pro users get faster speeds, unlimited data, better blocking resistance, three devices and no ads.", - "renew.plan_label": "Lantern Pro - %s", - "renew.plan_renewal_bonus_1_month": "$%d%s + 1 FREE MONTH", - "renew.plan_renewal_bonus_months": "$%d%s + %d FREE MONTHS", - "renew.plan_renewal_bonus_days": "$%d%s + %d FREE DAYS", - "renew.next": "next", - "renew.decline": "Decline Offer", - "renew.decline_question": "Are you sure you want to decline this offer?", - "renew.decline_yes": "Renew later", - "renew.decline_dismiss": "Renew now", - "renew.notification_title_30_days": "Renew Pro now for huge savings!", - "renew.notification_text_30_days": "Your Lantern Pro account expires in {{days}} days. Renew now and get up to 3 months free.", - "renew.notification_title_2_days": "Lantern Pro discount ends tomorrow!", - "renew.notification_text_2_days": "Your Pro account expires tomorrow. Don’t miss this opportunity for a huge discount.", - "renew.notification_title_last_day": "Last chance for a discount!", - "renew.notification_text_last_day": "Your Lantern pro account has expired. Renew today and get up to 3 months free.", - "replica.upload": "Upload", - "replica.relevance": "Relevance", - "replica.upload_date": "Upload Date", - "replica.gallery_view": "Gallery View", - "replica.list_view": "List View", - "replica.copy_lantern_link": "Copy Lantern Link", - "replica.delete_file": "Delete File", - "replica.docs": "Docs", - "replica.other": "Outros", - "replica.apps": "Apps", - "replica.images": "Images", - "replica.videos": "Videos", - "replica.next": "Próximo", - "replica.previous": "Previous", - "replica.select_all": "Select All", - "replica.search_replica": "Search Public Files", - "replica.no_files_found": "No Files Found", - "replica.or_content": "your own content for other people to find!", - "replica.try_again": "Try a different keyword, or", - "replica.upload_success": "Upload Success!", - "replica.cannot_preview": "No preview for this filetype", - "replica.size": "Tamanho", - "replica.uploaded": "Uploaded", - "replica.invalid_link": "Invalid Link", - "replica.close": "Fechar", - "replica.my_files": "My Files", - "replica.filename": "File Name", - "replica.filename_required": "File Name (required)", - "replica.filetype": "Filetype", - "replica.sortby": "Sort By", - "replica.link": "Replica link", - "replica.collapse": "Collapse", - "replica.publish": "Publish", - "replica.cancel": "Cancela", - "replica.delete": "Apagar", - "replica.failed_to_delete": "Failed to delete", - "replica.link_lookup_failure": "Failed to find link", - "replica.delete_file_confirmation_1": "Are you sure you want to delete", - "replica.delete_file_confirmation_2": "from your uploads", - "replica.share_file": "Share File", - "replica.download_and_view": "Download/View", - "replica.download": "Baixe", - "replica.copy_link": "Copy Replica Link", - "replica.find_file": "Find file", - "replica.file_drop_prompt": "Drag file here or browse to post", - "settings.general": "Geral", - "settings.feedback": "Feedback", - "settings.autoLaunch": "Executar Lantern no início do sistema", - "settings.autoReport": "Relate seguramente estatísticas de uso para contribuir com o Lantern", - "settings.proxyAll": "Proxy todo o tráfego", - "settings.proxyAllHelpTitle": "WHAT DOES \"PROXY ALL TRAFFIC\" DO?", - "settings.proxyAllHelp1": "If enabled, all traffic will be sent through Lantern (most Secure option).", - "settings.proxyAllHelp2": "If disabled, only blocked traffic will be sent through Lantern (fastest option, most common).", - "settings.show_advanced": "Show Advanced Settings", - "settings.hide_advanced": "Hide Advanced Settings", - "settings.systemProxy": "Gerenciar proxy do sistema", - "settings.title": "Configurações", - "settings.http_proxy": "HTTP(S) proxy:", - "settings.socks_proxy": "SOCKS proxy:", - "settings.caution": "Cuidado:", - "settings.caution_text": "Quando você desmarcar \"Gerenciar proxy do sistema\" seu navegador e aplicações não serão capazes de usar o Lantern automaticamente. Se você sabe como configurar manualmente estas configurações, consulte as informações acima.", - "settings.select_language": "Select Langauge", - "status.lantern": "Lantern is", - "status.click_reconnect": "Click here to reconnect", - "status.server_location": "Server Location", - "status.tooltip1": "Lantern uses smart server selection to connect you to our best data centers.", - "status.tooltip2": "Upgrade to Lantern Pro for faster speed with optimized server selection from our exclusive Lantern Pro data centers", - "status.protected_connection": "Your Connection is Protected", - "status.please_wait": "This may take a minute or two...", - "status.connecting": "Conectando...", - "status.no_internet": "Off", - "status.no_internet_connection": "No Internet connection", - "status.connected": "On", - "status.disconnected": "Off", - "status.throttled": "Speed Throttled (Data Cap)", - "status.no_system_proxy": "{{status}}, not managing system proxy", - "status.fail_to_set_system_proxy": "Failed to set Lantern as system proxy", - "status.fail_to_open_browser": "Failed to open browser window to show the Lantern user interface", - "terms_of_service.acknowledgment": "By clicking {{buttonText}}, you agree to our Terms of Service", - "verify.header": "Quer vincular outro dispositivo para esta conta Pro? Digite seu Código de Vinculação de Dispositivo abaixo", - "verify.code": "Código de vinculação do dispositivo", - "verify.howto_1": "Se você tem uma conta Lantern Pro em outro dispositivo, por favor digite seu endereço de email aqui para receber um código para autorizar o dispositivo", - "verify.howto_1a": "Você atualmente é um usuário Pro autorizado. Por favor, digite seu endereço de email para autorizar sua conta Pro. Isto lhe permitirá vincular múltiplos dispositivos.", - "verify.howto_3": "1. Abra o item 'Autorizar Dispositivo para Pro' no menu do seu dispositivo não autorizado.", - "verify.howto_4": "2. Digite o código de vinculação obtido no passo 1, e envie.", - "verify.reminder": "* Verifique se você está atualizado com a última versão do Lantern em seu dispositivo não autorizado", - "verify.submit": "Enviar", - "verify.title": "Verificação de conta", - "welcomeToPro.continue": "Continuar Pro", - "welcomeToPro.invite": "Convide amigos e cada um receberá 3 meses gratuitos quando eles comprarem o plano de dois anos, o plano de um ano dá a cada um, 1 mês grátis. Comece a convidar!", - "welcomeToPro.thanks": "Obrigado por sua compra do Lantern Pro!", - "welcomeToPro.title": "Bem vindo ao Lantern Pro", - "messages.copied_to_clipboard": "Código copiado. Compartilhe-o com seus amigos!", - "messages.datacap": "Você usou seus dados de alta velocidade grátis. Atualize para Pro para dados ilimitados.", - "messages.fatal_error": "Desculpe, estamos tendo problemas para entrar em contato com os servidores Lantern. Por favor, verifique sua conexão com a Internet e tente novamente.", - "messages.backend_gone": "Desculpe, Lantern parece não estar mais em execução. Por favor reinicie o Lantern e tente novamente.", - "messages.get_help": "Obter Ajuda", - "freeProCredits.title": "Convide amigos", - "freeProCredits.shareWithFriends": "Compartilhe seu código com amigos para ganhar meses grátis!", - "freeProCredits.shareWithFriendsDesc": "Quando seus amigos comprarem o plano de dois anos, cada um receberá 3 meses grátis, o plano de um ano permite a cada um obter 1 mês grátis", - "cards.serverLocation.unknown": "Unknown", - "cards.serverLocation.description": "Optimized Server Location", - "cards.serverLocation.description-free": "Server Location", - "cards.serverLocation.description-upgrade": "Upgrade for Faster Servers", - "cards.serverLocation.title": "Current Location:", - "cards.serverLocation.location": "%s, %s", - "cards.serverLocation.text": "Lantern uses smart server selection to automatically find you the fastest connection possible from our data centers in Tokyo, Singapore, Hong Kong, San Francisco, New York, Amsterdam, Bangalore and more.", - "cards.serverLocation.text-free": "Lantern uses smart server selection to connect you to our best data centers.", - "cards.serverLocation.upgrade-link": "Upgrade to Lantern Pro for faster speed with optimized server selection from our exclusive Lantern Pro data centers.", - "cards.httpsUpgrades.description": "HTTPS Upgrades", - "cards.httpsUpgrades.title": "HTTPS Upgrades: %d", - "cards.httpsUpgrades.text": "Lantern automatically upgrades unsecure HTTP connections to encrypted HTTPS connections when possible to keep your information private while surfing the web.", - "cards.adsBlocked.description": "Ads Blocked", - "cards.adsBlocked.title": "Blocked Ads: %d", - "cards.adsBlocked.text": "Lantern blocks intrusive ads to speed up web page loading time, save bandwidth, and to give you a smoother browsing experience.", - "cards.dataUsage.description": "Data Usage", - "cards.dataUsage.upgrade": "Upgrade now", - "cards.dataUsage.mb-used": "You have used %d/%dMB of your monthly high speed data.", - "cards.dataUsage.upgrade-link": "Upgrade now for unlimited high speed service!", - "cards.subscription.description": "Pro Subscription", - "cards.subscription.renew": "Renew", - "cards.subscription.months": "You have %d months of Lantern Pro left in your subscription.", - "cards.subscription.days": "You have %d days of Lantern Pro left in your subscription.", - "cards.subscription.unit.months": "MO", - "cards.subscription.unit.days": "DAYS", - "cards.subscription.renew-link": "Renew your subscription to add more time." -} \ No newline at end of file diff --git a/locale/translation/pt_PT.json b/locale/translation/pt_PT.json deleted file mode 100644 index 4e084bba9..000000000 --- a/locale/translation/pt_PT.json +++ /dev/null @@ -1,462 +0,0 @@ -{ - "TRAY_LANTERN": "Lantern", - "TRAY_STATUS": "Estado: %v", - "TRAY_CONNECT": "Ligar", - "TRAY_DISCONNECT": "Desligar", - "TRAY_SHOW_LANTERN": "Mostrar Lantern", - "TRAY_UPGRADE_TO_PRO": "Atualizar para Pro", - "TRAY_QUIT": "Sair do Lantern", - "BACKEND_DATA_TITLE": "Sem mais alta velocidade de dados no Lantern", - "BACKEND_DATA_MESSAGE": "Por favor, atualize para a versão Pro para continuar a utilizar o Lantern, a toda a velocidade.", - "BACKEND_DATA_PERCENT_TITLE": "Atingiu %s dos seus dados do Lantern", - "BACKEND_DATA_PERCENT_MESSAGE": "Utilizou %s da alta velocidade de dados do Lantern para o mês. Atualize agora!", - "BACKEND_CLICK_LABEL": "Abrir", - "BACKEND_CLICK_LABEL_OPEN": "Abrir", - "BACKEND_CLICK_LABEL_HELP": "Ajuda", - "BACKEND_CLICK_LABEL_GOT_IT": "Percebi", - "BACKEND_AUTOUPDATED_TITLE": "Atualizar Lantern para a versão %s", - "BACKEND_AUTOUPDATED_MESSAGE": "Foi transferido Lantern %s. Por favor, reinicie o Lantern para o utilizar.", - "BACKEND_MITM_INSTALL_CERT": "Lantern quer instalar um certificado personalizado para desbloquear o seu tráfego", - "BACKEND_MITM_INSTALL_CERT_WINDOWS_BODY": "Por favor, permita que o %v faça alterações no seu sistema", - "BACKEND_ALERT_TITLE": "Alerta critico que precisa da sua atenção", - "about.content": "Lantern é uma aplicação que fornece um acesso rápido, seguro e de confiança para uma Internet livre.", - "about.faq": "Leia as perguntas e respostas do Lantern", - "about.open": "Internet Livre para Toda a Gente", - "about.questions": "Questões?", - "about.title": "Sobre", - "account.cancel": "Cancelar Contra Pro", - "account.free.cap": "{{mb}} MB restantes dos seus dados mensais gratuitos", - "account.free.cap.upgrade": "Atualize para a versão Pro para uma alta velocidade ilimitada de dados", - "account.freelink.validFor": "válido para %s", - "account.freelink.desc": "Para associar este dispositivo à sua conta Pro:", - "account.freelink.step1": "1. Abra o item de menu 'Adicionar Dispositivo' no seu dispositivo Pro.", - "account.freelink.step2": "2. Introduza o código de associação do dispositivo e submeta.", - "account.freelink.reminder": "* Confirme que possui a versão mais recente de Lantern no seu dispositivo Pro", - "account.freelink.errorTitle": "Erro de Associação", - "account.freelink.errorText": "Tem a certeza que introduziu o código no seu dispositivo Pro?", - "account.freelink.headerDesc": "Ligar este dispositivo à sua conta Pro", - "account.freelink.title": "Código de associação do dispositivo", - "account.pro.charge": "A sua conta será debitada automaticamente para outro ano do Lantern Pro no final do seu ciclo de faturação.", - "account.upgrade": "Atualizar para Pro", - "account.pro.email": "Endereço de e-mail:", - "account.pro.expired": "A sua conta Pro expirou. Renove agora para dados mensais ilimitados.", - "account.pro.expiry": "A sua conta Pro expira em %s dias em %s.", - "account.pro.bonusMonths": "Inclui os seus {{bonusMonths}} meses de bónus!", - "account.pro.thisdevice": "(Este Dispositivo)", - "account.pro.logout": "TERMINAR SESSÃO", - "account.pro.removedevice": "REMOVER", - "account.pro.devices": "Dispositivos autorizados para utilizar a sua conta Pro:", - "account.pro.device.confirm.title": "Desautorizar Dispositivo", - "account.pro.device.confirm": "Tem a certeza que deseja remover {{device}} da sua conta do Lantern Pro?", - "account.pro.device.one.title": "Apenas Um Dispositivo", - "account.pro.device.one": "Desculpe, mas não pode remover o seu último dispositivo autorizado.", - "account.pro.linkingcode": "Código de associação do dispositivo:", - "account.pro.renew": "RENOVAR CONTA PRO", - "account.prolink.errorTitle": "Erro de Associação", - "account.prolink.errorText": "Tem a certeza que copiou o código corretamente do seu outro dispositivo?", - "account.prolink.successTitle": "Dispositivo Associado", - "account.prolink.successText": "Conseguiu associar o seu dispositivo! Por favor espere um momento para o seu outro dispositivo se tornar automaticamente pro.", - "adyen.paymentMethods.title": "Métodos de Pagamento", - "adyen.paymentMethods.storedMethods": "Os seus métodos de pagamento", - "adyen.paymentMethods.otherMethods": "Escolha outro método", - "adyen.paymentMethods.moreMethodsButton": "Mais métodos de pagamento", - "adyen.payButton": "Pagar", - "adyen.payButton.formatted": "Pagar %@", - "adyen.cancelButton": "Cancelar", - "adyen.dismissButton": "ACEITAR", - "adyen.storeDetails": "Salvar para o meu próximo pagamento", - "adyen.payment.redirecting": "Será redireccionado", - "adyen.payment.processing": "O seu pagamento está a ser processado", - "adyen.creditCard.title": "Detalhes de cartão", - "adyen.creditCard.holderName": "Nome no cartão", - "adyen.creditCard.holderName.placeholder": "J. Smith", - "adyen.creditCard.numberField.title": "Número do Cartão", - "adyen.creditCard.numberField.placeholder": "1234 5678 9012 3456", - "adyen.creditCard.numberField.invalid": "Número de cartão inválido", - "adyen.creditCard.expiryDateField.title": "Data de expiração", - "adyen.creditCard.expiryDateField.placeholder": "MM/AA", - "adyen.creditCard.expiryDateField.invalid": "Data de expiração inválida", - "adyen.creditCard.expiryDateField.month": "Mês", - "adyen.creditCard.expiryDateField.month.placeholder": "MM", - "adyen.creditCard.expiryDateField.year.placeholder": "AA", - "adyen.creditCard.expiryDateField.year": "Ano", - "adyen.creditCard.cvcField.title": "CVC / CVV", - "adyen.creditCard.cvcField.placeholder": "123", - "adyen.creditCard.installmentsField": "Número de prestações", - "adyen.creditCard.storeDetailsButton": "Recordar este cartão para o meu próximo pagamento", - "adyen.creditCard.oneClickVerification.title": "Verificar o seu cartão", - "adyen.creditCard.oneClickVerification.message": "Por favor introduza o código CVC de %@", - "adyen.creditCard.oneClickVerification.invalidInput.title": "CVC inválido", - "adyen.creditCard.oneClickVerification.invalidInput.message": "Por favor introduza um CVC válido para continuar", - "adyen.sepaDirectDebit.ibanField.title": "Número de conta (IBAN)", - "adyen.sepaDirectDebit.ibanField.placeholder": "NL53 ABNA 1925 1294 122", - "adyen.sepaDirectDebit.ibanField.invalid": "Número de conta inválido", - "adyen.sepaDirectDebit.nameField.title": "Nome do Portador", - "adyen.sepaDirectDebit.nameField.placeholder": "J. Smith", - "adyen.sepaDirectDebit.consentButton": "I agree that the amount below will be debited from my bank account.", - "adyen.sepa.ownerName": "Nome do Portador", - "adyen.sepa.ibanNumber": "Número de conta (IBAN", - "adyen.giropay.searchField.placeholder": "Bankname / BIC / Bankleitzahl", - "adyen.giropay.minimumLength": "Mín. 3 carateres", - "adyen.giropay.noResults": "Nenhuns resultados de pesquisa", - "adyen.error.title": "ErroErro", - "adyen.error.subtitle.redirect": "Redirecionamento falhou", - "adyen.error.subtitle.payment": "Pagamento falhou", - "adyen.error.subtitle.refused": "Pagamento recusado", - "adyen.error.message.unknown": "Ocorreu um erro desconhecido", - "adyen.error.message.cannotConnectToInternet": "Failed to connect to the internet : please check your internet connection.", - "adyen.error.message.cannotConnectToHost": "Failed to connect to our payment server.", - "adyen.error.retryButton": "Repetir", - "adyen.idealIssuer.selectField.title": "Banco", - "adyen.idealIssuer.selectField.placeholder": "Selecione o seu banco", - "adyen.creditCard.success": "Pagamento Bem Sucedido", - "adyen.oneClick.confirmationAlert.title": "Confirm %@ payment", - "adyen.redirect.cannotOpenApp.title": "Não é possível a abrir a aplicação", - "adyen.redirect.cannotOpenApp.appNotInstalledMessage": "This app could not be opened because it is not installed on this device.", - "adyen.holderName": "Nome no cartão", - "adyen.countryCode": "Código do País", - "adyen.telephone.number": "Número de telefone", - "authorize.title": "Autorizar Dispositivo para PRO", - "authorize.step1.have_pro_device": "Eu tenho outro dispositivo com o Lantern Pro", - "authorize.step1.link": "Associar este disp.", - "authorize.step1.or": "ou", - "authorize.step1.recover": "Eu preciso de recuperar a minha conta do Lantern Pro", - "authorize.step1.start": "Iniciar Recuperação", - "authorize.step1.no_mail": "Don't remember your Email address?", - "authorize.step2b.enter_code": "Enter your Account Recovery Code", - "authorize.step2b.code": "Código de Recuperação de Conta", - "authorize.step2b.instruction": "An Email with a recovery code has been sent to {{email}}. This email may take several hours to arrive. Please check your spam folder if you do not find it.", - "authorize.step2b.no_mail": "Não recebeu a mensagem", - "authorize.step3.recovery": "Recuperação de Conta", - "authorize.step3.no_email": "Oops! We're having trouble finding that email address. Please provide more information below to help us locate your account.", - "authorize.step3.no_code_received": "Having trouble receiving the recovery email? Enter the information below and we will contact you within 48 hours.", - "authorize.step3.your_email": "O Seu E-mail", - "authorize.step3.payment_method": "Método de Pagamento", - "authorize.step3.payment_method_hint": "Selecione o método de pagamento que utilizou para obter a versão Pro", - "authorize.step3.credit_card": "Cartão de Crédito", - "authorize.step3.alipay": "AliPay", - "authorize.step3.android_pay": "Android Pay", - "authorize.step3.by_referral": "Recebeu a versão Pro por referir um amigo", - "authorize.step3.payment_account": "Conta de Pagamento", - "authorize.step3.payment_account_hint": "Insira a informação da sua conta Alipay", - "authorize.step3.referral_code": "O Seu Código de Referência", - "authorize.step3.purchase_date": "Data de Compra", - "authorize.step3.note": "Please note any other information that may help us locate your account.", - "authorize.step4.title": "Account Recovery In-Progress", - "authorize.step4.text1": "Thank you! We've received your account recovery request.", - "authorize.step4.text2": "Please allow 48 hours to retrieve your Pro account information.", - "authorize.step4.text3": "We will send information to the email address entered on the previous screen.", - "authorized.continue": "Continuar para PRO", - "authorized.text": "Este dispositivo não está autorizado para utilizar a sua conta do Lantern Pro!", - "authorized.title": "Dispositivo Autorizado", - "button.renew": "Renovar", - "button.upgrade": "Atualizar", - "button.upgrade_now": "Atualizar Agora", - "button.upgrade_to_lantern_pro": "Atualizar para Lantern Pro", - "button.copy_your_code": "Copie o seu código", - "button.try_again": "Repetir", - "button.continue": "Continuar", - "bullet.click_button": "Clique no botão abaixo", - "bullet.paste_code": "Cole o código e a hiperligação de transferência numa mensagem", - "bullet.send_to_friends": "Envie para os seus amigos", - "cancel": "Cancelar", - "confirm": "Confirmar", - "google_search": "Pesquisa Google", - "link_device": "Already have a Pro account? Link device", - "err.unknown_error": "Erro desconhecido", - "err.internal_error": "Erro interno", - "err.bad_input": "Inserção errada", - "err.not_authorized": "Não autorizado", - "err.user_exists": "O utilizador já existe", - "err.no_such_user": "Não existe tal utilizador", - "err.user_already_verified": "Utlizador já verificado", - "err.invalid_user_verification": "Verificação de utilizador inválida", - "err.user_unverified": "Utilizador não verificado", - "err.operation_temporarily_unavailable": "Operação temporariamente indisponível", - "err.wrong_or_inexistent_plan": "Plano errado ou inexistente", - "err.user_has_active_subscription": "O utilizador tem uma subscrição ativa", - "err.payment_error": "Erro de pagamento", - "err.no_codes_left": "Não tem mais códigos de referência", - "err.wrong_code": "Código de referência errado", - "err.redeeming_own_code_not_allowed": "Não pode redimir os seus próprios códigos", - "err.wrong_charge_id": "Id. de custo errada", - "footer.reseller": "Ganhe Dinheiro! Seja um Revendedor do Lantern Pro. Clique Aqui", - "footer.reseller.email_subject": " Digam-me mais sobre o 'Programa de Revenda' do Lantern!", - "footer.reseller.email_body": "When you become a Lantern Reseller you will have the opportunity to make up to 25% on every sale of a Lantern Pro subscription. Tell us a bit about why you want to become a reseller below.", - "feature.faster_speed": "Velocidade Mais Rápida", - "feature.faster": "Faster data centers", - "feature.unlimited": "Dados ilimitados", - "feature.nologs": "No Logs", - "feature.devices": "Connect up to 3 devices", - "feature.noads": "Sem Anúncios", - "feature.antiblock": "Blocking Resistant", - "feature.data_center": "Better Data Centers", - "feature.free_yinbi": "Free Yinbi Cryptocurrency!", - "free.title": "Lantern Pro", - "free.desc": "Faster. Stronger. Unlimited. Secure.", - "free.link_account": "Already have a Pro account? Link your account.", - "home.get_lantern_pro": "Obter Lantern Pro", - "input.email": "E-mail", - "input.your_email": "O Seu Endereço de E-mail", - "input.confirm_email": "Confirmar Endereço de E-mail", - "input.enter_email": "Insira o seu e-mail", - "input.use_valid_email": "Digite um endereço de e-mail válido", - "input.email_not_match": "Os campos de e-mail não coincidem", - "issue.your_email": "O Seu E-mail", - "issue.attach_image_failure": "Cannot attach image", - "issue.try_again": "Por favor, tente novamente", - "issue.select_issue": "Por favor, selecione um problema", - "issue.selected_issue": "Select Issue", - "issue.select_issue_hint": "Selecione um problema no menu suspenso", - "issue.note": "Descreva o seu problema", - "issue.description": "Issue Description", - "issue.error": "Erro ao reportar o seu problema", - "issue.submit": "Enviar Relatório", - "issue.report_screenshot": "Drag image or click to upload screenshot", - "issue.reported": "Thank you for reporting your issue, we will get back to you via Email as soon as we are able", - "issue.report_sent": "Report Sent", - "issue.type.no_access": "Não é possível aceder aos \"sites\" bloqueados", - "issue.type.payment_fail": "Não é possível concluir o pagamento", - "issue.type.cannot_login": "Não é possível iniciar a sessão", - "issue.type.always_spinning": "Loading spinner spins endlessly", - "issue.type.slow": "Mostrar", - "issue.type.cannot_link_device": "Cannot link devices", - "issue.type.crashes": "Lanterna cracha", - "issue.type.other": "Outros", - "languages.title": "Idiomas", - "mobile.link": "Use a hiperligação para transferir o Lantern no seu dispositivo Android:", - "mobile.title": "Obter Versão de Android", - "nav.about": "Sobre", - "nav.account": "Gestão de Conta", - "nav.authorize": "Adicionar Dispositivo", - "nav.authorized": "Dispositivo Autorizado", - "nav.unauthorized_link": "Autorizar Dispositivo para PRO", - "nav.language": "Idioma", - "nav.lantern": "Lantern", - "nav.mobile": "Obter Versão Móvel", - "nav.report_issue": "Comunicar um problema", - "nav.settings": "Definições", - "nav.verify": "Verificação de Conta", - "nav.yinbi": "Yinbi Redemption", - "nav.home": "Início", - "nav.discover": "Discover", - "nav.wallet": "Wallet", - "nav.yinbi_wallet": "Yinbi Wallet", - "notification.retry": "Repetir", - "notifications.whatisnew": "What's New?", - "payment.close": "Fechar", - "payment.wait_for_pro": "Thanks for your purchase of Lantern Pro! Please wait a moment for your Lantern to automatically become Pro.", - "payment_methods.select_name": "Selecione o método de pagamento", - "payment_methods.alipay": "Cartão de Crédito/AliPay", - "payment_methods.shetab": "Fast World Pay (Shetab)", - "payment_methods.shetab.details.header": "Para comprar Lantern Pro", - "payment_methods.shetab.details.body": "When you click continue to purchase you will be redirected to an external site to complete payment and collect your activation code.", - "payment_methods.shetab.details.tutorial_header": "Tutorial em Farsi", - "payment_methods.shetab.details.purchase_voucher_button": "Continuar para Comprar", - "payment_methods.shetab.details.input_code_button": "Inserir Código de Ativação", - "plan.step1": "Step 1", - "plan.apply": "Apply", - "plan.step2": "Step 2", - "plan.step3": "Step 3", - "plan.choose_plan": "Choose Plan", - "plan.enter_email": "Enter Email", - "plan.bestValue": "Melhor oferta!", - "plan.per_month": "per month", - "plan.yinbi_2x": "+ 2x Yinbi!", - "plan.oneYear": "1 ano", - "plan.add_referral": "Add Referral Code", - "plan.years": "{{years}} year plan", - "plan.desc": "{{price}} billed one time", - "plan.price.cny": "¥%.02f", - "plan.price.usd": "$%.02f", - "plan.currency.cny": "(RMB)", - "plan.currency.usd": "(USD)", - "plan.time_unit": "/YR", - "plan.select": "Selecionar", - "plans.title": "Planos Pro do Lantern", - "plans.lantern_pro": "Lantern Pro", - "plans.platforms": "Para Android, Mac, Ubuntu e Windows.", - "plans.from_reseller": "Have a Lantern Pro activation code? Click here", - "plans.with_voucher_code": "Tem um código de ativação? Clique aqui.", - "pro.apply": "Os seus créditos irão ser aplicados à sua conta no próximo ciclo de faturação.", - "pro.title": "Convide amigos, obtenha mais Pro gratuitamente", - "pro.subtitle": "Quando o seu amigo compra o plano de dois anos, os dois obtêm 3 meses adicionais de Pro, o plano de um ano oferece aos dois, 1 mês grátis.", - "pro.share": "Partilhe o seu código com os amigos, para começar a ganhar mais créditos!", - "promotion.title": "Lantern Pro - Finalizar Compra", - "promotion.title.activation": "Lantern Pro - Ativação", - "promotion.enter_and_confirm_email": "Por favor, insira e confirme o seu endereço de e-mail", - "promotion.code.hint": "Enter your friend's Referral code (optional)", - "promotion.code.label": "Código de Referência", - "promotion.payment": "Continuar para Pagamento", - "promotion.loading": "A carregar...", - "promotion.howto_1y": "If a friend shared their referral code with you, enter the code to receive one month of Lantern Pro for free after checkout.", - "promotion.howto_2y": "If a friend shared their referral code with you, enter the code to receive three months of Lantern Pro for free after checkout.", - "promotion.pay": "Pagar {{amount}}", - "promotion.select": "Selecionar", - "promotion.promotion_applied_1y": "+1 bonus months", - "promotion.promotion_applied_2y": "+3 bonus months", - "promotion.too_many_referrals": "This referral code has already been added. Check out now to receive your extra months.", - "promotion.activation.enter_and_confirm_email": "Please enter and confirm your email address to register your Lantern Pro account.", - "promotion.activation.label": "XXXXX-XXXXX-XXXXX-XXXXX-XXXXX", - "promotion.activation.hint": "Inserir o seu Código de Ativação", - "promotion.activation.howto": "Please enter your 25 character Lantern Pro activation code above. If you do not have a code, please purchase Pro on the previous screen or look for a Lantern Pro reseller online.", - "promotion.activation.continue": "Continuar para PRO", - "promotion.voucher.hint": "Código de Ativação", - "promotion.voucher.howto": "Por favor, insira o código de ativação do Fast World Pay de 12 carateres ou mais", - "promotion.voucher.label": "XXXXXXXXXXXX", - "promotion.voucher.error.default": "Error redeeming your activation code. Please contact contact@fastworldpay.com for assistance.", - "promotion.voucher.error.invalid_code": "Código de ativação inválido", - "promotion.voucher.error.invalid_plan": "Código de ativação associado com um plano inválido", - "promotion.voucher.error.already_redeemed": "O código de ativação já foi resgatado", - "referral.code": "Share your referral code", - "referral.text": "Utiliza o meu código %s e obtém 3 meses gratuitos quando te registares!", - "renew.title_30_days": "Renew now for 3 months free!", - "renew.title_2_days": "Lantern Pro expires tomorrow.\nRenew now for 3 months free!", - "renew.title_last_day": "Lantern Pro expires today.\nDon't miss out on your Pro discount!", - "renew.title_expired": "Lantern Pro has expired", - "renew.details_30_days": "Your Lantern Pro membership is ending soon, renew now and enjoy up to three months free! This limited time offer is only valid for early renewals.", - "renew.details_2_days": "Your Lantern Pro membership is ending soon, renew now and enjoy up to three months free! This limited time offer is only valid for early renewals.", - "renew.details_last_day": "Renew now and enjoy up to three months free!\nThis is the last day to take advantage of this offer.\nLantern Pro users get faster speeds, unlimited data, better blocking resistance, three devices and no ads.", - "renew.details_expired": "Renew now for an extra 45 days free. Limited time only.\nLantern Pro users get faster speeds, unlimited data, better blocking resistance, three devices and no ads.", - "renew.plan_label": "Lantern Pro - %s", - "renew.plan_renewal_bonus_1_month": "$%d%s + 1 FREE MONTH", - "renew.plan_renewal_bonus_months": "$%d%s + %d FREE MONTHS", - "renew.plan_renewal_bonus_days": "$%d%s + %d FREE DAYS", - "renew.next": "seguinte", - "renew.decline": "Recusar Oferta", - "renew.decline_question": "Are you sure you want to decline this offer?", - "renew.decline_yes": "Renovar mais tarde", - "renew.decline_dismiss": "Renovar agora", - "renew.notification_title_30_days": "Renew Pro now for huge savings!", - "renew.notification_text_30_days": "Your Lantern Pro account expires in {{days}} days. Renew now and get up to 3 months free.", - "renew.notification_title_2_days": "O desconto do Lantern Pro termina amanhã!", - "renew.notification_text_2_days": "Your Pro account expires tomorrow. Don’t miss this opportunity for a huge discount.", - "renew.notification_title_last_day": "Última chance para um desconto!", - "renew.notification_text_last_day": "Your Lantern pro account has expired. Renew today and get up to 3 months free.", - "replica.upload": "Upload", - "replica.relevance": "Relevance", - "replica.upload_date": "Upload Date", - "replica.gallery_view": "Gallery View", - "replica.list_view": "List View", - "replica.copy_lantern_link": "Copy Lantern Link", - "replica.delete_file": "Delete File", - "replica.docs": "Documentos", - "replica.other": "Outros", - "replica.apps": "Apps", - "replica.images": "Images", - "replica.videos": "Videos", - "replica.next": "Seguinte", - "replica.previous": "Previous", - "replica.select_all": "Select All", - "replica.search_replica": "Search Public Files", - "replica.no_files_found": "No Files Found", - "replica.or_content": "your own content for other people to find!", - "replica.try_again": "Try a different keyword, or", - "replica.upload_success": "Upload Success!", - "replica.cannot_preview": "No preview for this filetype", - "replica.size": "Size", - "replica.uploaded": "Uploaded", - "replica.invalid_link": "Invalid Link", - "replica.close": "Fechar", - "replica.my_files": "My Files", - "replica.filename": "File Name", - "replica.filename_required": "File Name (required)", - "replica.filetype": "Filetype", - "replica.sortby": "Sort By", - "replica.link": "Replica link", - "replica.collapse": "Collapse", - "replica.publish": "Publish", - "replica.cancel": "Cancelar", - "replica.delete": "Eliminar", - "replica.failed_to_delete": "Failed to delete", - "replica.link_lookup_failure": "Failed to find link", - "replica.delete_file_confirmation_1": "Are you sure you want to delete", - "replica.delete_file_confirmation_2": "from your uploads", - "replica.share_file": "Share File", - "replica.download_and_view": "Download/View", - "replica.download": "Transferir", - "replica.copy_link": "Copy Replica Link", - "replica.find_file": "Find file", - "replica.file_drop_prompt": "Drag file here or browse to post", - "settings.general": "Geral", - "settings.feedback": "Feedback", - "settings.autoLaunch": "Executar o Lantern no arranque do sistema", - "settings.autoReport": "Comunique as estatísticas de utilização em segurança para contribuir para o Lantern", - "settings.proxyAll": "Proxy todo o tráfego", - "settings.proxyAllHelpTitle": "WHAT DOES \"PROXY ALL TRAFFIC\" DO?", - "settings.proxyAllHelp1": "If enabled, all traffic will be sent through Lantern (most Secure option).", - "settings.proxyAllHelp2": "If disabled, only blocked traffic will be sent through Lantern (fastest option, most common).", - "settings.show_advanced": "Show Advanced Settings", - "settings.hide_advanced": "Hide Advanced Settings", - "settings.systemProxy": "Gerir proxy do sistema", - "settings.title": "Definições", - "settings.http_proxy": "Proxy HTTP(S):", - "settings.socks_proxy": "Proxy SOCKS:", - "settings.caution": "Cuidado:", - "settings.caution_text": "When you uncheck \"Manage system proxy\" your browser and applications won't be able to use Lantern automatically. If you know how to manually configure these settings refer to the information above.", - "settings.select_language": "Select Langauge", - "status.lantern": "Lantern is", - "status.click_reconnect": "Click here to reconnect", - "status.server_location": "Localização do Servidor", - "status.tooltip1": "Lantern uses smart server selection to connect you to our best data centers.", - "status.tooltip2": "Upgrade to Lantern Pro for faster speed with optimized server selection from our exclusive Lantern Pro data centers", - "status.protected_connection": "Your Connection is Protected", - "status.please_wait": "This may take a minute or two...", - "status.connecting": "A conetar ...", - "status.no_internet": "Off", - "status.no_internet_connection": "Sem ligação à Internet", - "status.connected": "On", - "status.disconnected": "Off", - "status.throttled": "Speed Throttled (Data Cap)", - "status.no_system_proxy": "{{status}}, not managing system proxy", - "status.fail_to_set_system_proxy": "Failed to set Lantern as system proxy", - "status.fail_to_open_browser": "Failed to open browser window to show the Lantern user interface", - "terms_of_service.acknowledgment": "By clicking {{buttonText}}, you agree to our Terms of Service", - "verify.header": "Want to link another device to this Pro account? Enter your Device Linking Code below", - "verify.code": "Código de associação do dispositivo", - "verify.howto_1": "Se tiver uma conta Lantern Pro noutro dispositivo, por favor, insira o seu endereço de e-mail aqui para receber um código para autorizar o dispositivo", - "verify.howto_1a": "Atualmente é um utilizador Pro não autorizado. Por favor, insira o seu endereço de e-mail para autorizar a sua conta Pro. Isso permitirá que associe múltiplos dispositivos.", - "verify.howto_3": "1. Open the 'Authorize Device for Pro' menu item on your unauthorized device.", - "verify.howto_4": "2. Enter the linking code obtained from step 1, and submit.", - "verify.reminder": "*Make sure you are updated to the latest version of Lantern on your unauthorized device", - "verify.submit": "Submeter", - "verify.title": "Verificação de Conta", - "welcomeToPro.continue": "Continuar para PRO", - "welcomeToPro.invite": "Convide amigos e cada um de vocês irá ter 3 meses gratuitos quando eles comprarem o plano de dois anos, o plano de um ano oferece aos dois 1 mês grátis. Comece a convidar!", - "welcomeToPro.thanks": "Obrigado por comprar o Lantern Pro!", - "welcomeToPro.title": "Bem-vindo ao Lantern Pro", - "messages.copied_to_clipboard": "Code Copied. Share it with your friends!", - "messages.datacap": "You have used your free high speed data. Upgrade to Pro for unlimited high speed data.", - "messages.fatal_error": "Sorry, we're having trouble contacting the Lantern servers. Please check your internet connection and try again.", - "messages.backend_gone": "Desculpe, parece que o Lantern já não está a funcionar. Por favor, reinicie o Lantern e tente novamente.", - "messages.get_help": "Obter Ajuda", - "freeProCredits.title": "Convide Amigos", - "freeProCredits.shareWithFriends": "Share your code with friends to earn free months!", - "freeProCredits.shareWithFriendsDesc": "When your friend purchases the two year plan you will each get 3 months free, the one year plan gets you each 1 month free.", - "cards.serverLocation.unknown": "Desconhecido", - "cards.serverLocation.description": "Optimized Server Location", - "cards.serverLocation.description-free": "Localização do Servidor", - "cards.serverLocation.description-upgrade": "Atualizar para Servidores Mais Rápidos", - "cards.serverLocation.title": "Localização atual:", - "cards.serverLocation.location": "%s, %s", - "cards.serverLocation.text": "Lantern uses smart server selection to automatically find you the fastest connection possible from our data centers in Tokyo, Singapore, Hong Kong, San Francisco, New York, Amsterdam, Bangalore and more.", - "cards.serverLocation.text-free": "Lantern uses smart server selection to connect you to our best data centers.", - "cards.serverLocation.upgrade-link": "Upgrade to Lantern Pro for faster speed with optimized server selection from our exclusive Lantern Pro data centers.", - "cards.httpsUpgrades.description": "Atualizações de HTTPS", - "cards.httpsUpgrades.title": "Atualizações HTTPS: %d", - "cards.httpsUpgrades.text": "Lantern automatically upgrades unsecure HTTP connections to encrypted HTTPS connections when possible to keep your information private while surfing the web.", - "cards.adsBlocked.description": "Anúncios Bloqueados", - "cards.adsBlocked.title": "Anúncios bloqueados: %d", - "cards.adsBlocked.text": "Lantern blocks intrusive ads to speed up web page loading time, save bandwidth, and to give you a smoother browsing experience.", - "cards.dataUsage.description": "Utilização de Dados", - "cards.dataUsage.upgrade": "Atualize agora", - "cards.dataUsage.mb-used": "You have used %d/%dMB of your monthly high speed data.", - "cards.dataUsage.upgrade-link": "Upgrade now for unlimited high speed service!", - "cards.subscription.description": "Subscrição Pro", - "cards.subscription.renew": "Renovar", - "cards.subscription.months": "You have %d months of Lantern Pro left in your subscription.", - "cards.subscription.days": "You have %d days of Lantern Pro left in your subscription.", - "cards.subscription.unit.months": "MO", - "cards.subscription.unit.days": "DIAS", - "cards.subscription.renew-link": "Renew your subscription to add more time." -} \ No newline at end of file diff --git a/locale/translation/ro.json b/locale/translation/ro.json deleted file mode 100644 index 59cc830d4..000000000 --- a/locale/translation/ro.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "TRAY_SHOW_LANTERN": "Show Lantern", - "TRAY_QUIT": "Quit Lantern" -} \ No newline at end of file diff --git a/locale/translation/ru.json b/locale/translation/ru.json deleted file mode 100644 index 3043dc77e..000000000 --- a/locale/translation/ru.json +++ /dev/null @@ -1,797 +0,0 @@ -{ - "LANTERN": "Lantern", - "pro": "Pro", - "BEAM": "Beam", - "TRAY_STATUS": "Статус: %v", - "TRAY_CONNECT": "Подключиться", - "TRAY_DISCONNECT": "Отключиться", - "TRAY_SHOW": "Показать %s", - "TRAY_UPGRADE_TO_PRO": "Перейти на Pro", - "TRAY_QUIT": "Выйти из %s", - "BACKEND_DATA_TITLE": "Лимит скоростного трафика %s исчерпан", - "BACKEND_DATA_MESSAGE": "Перейдите на версию Pro, чтобы продолжать пользоваться %s на максимальной скорости.", - "BACKEND_DATA_PERCENT_TITLE": "Использовано %s из лимита по трафику %s", - "BACKEND_DATA_PERCENT_MESSAGE": "Вы использовали %s из %s для скоростного трафика. Перейдите на расширенную версию!", - "BACKEND_CLICK_LABEL": "Открыть", - "BACKEND_CLICK_LABEL_OPEN": "Открыть", - "BACKEND_CLICK_LABEL_HELP": "Справка", - "BACKEND_CLICK_LABEL_GOT_IT": "Понятно", - "BACKEND_AUTOUPDATED_TITLE": "Обновить %s до версии %s", - "BACKEND_AUTOUPDATED_MESSAGE": "Загружено: %s %s. Перезапустите %s, чтобы начать работу.", - "BACKEND_MITM_INSTALL_CERT": "%s хочет установить специальный сертификат для повышения производительности", - "BACKEND_MITM_INSTALL_CERT_WINDOWS_BODY": "Разрешите %v внести изменения в систему", - "BACKEND_ALERT_TITLE": "Важное критическое предупреждение", - "BACKEND_INSTALL_DIAGNOSTIC_TOOLS": "%s нуждается в вашем разрешении на установку диагностических инструментов. Это поможет нам повысить удобство вашей работы с %s.", - "BACKEND_CONFIG_SAVE_ERROR_TITLE": "Не удается сохранить настройки", - "BACKEND_CONFIG_SAVE_ERROR_MESSAGE": "Не удается сохранить настройки приложения. %s не может гарантировать корректное проксирование трафика.", - "about.content": "Lantern - это приложение, которое предоставляет быстрый, надежный и безопасный доступ к открытому Интернету.", - "app.error": "Произошла ошибка.", - "about.faq": "Ознакомьтесь с ответами на часто задаваемые вопросы о Lantern", - "about.open": "Открытый Интернет для всех", - "about.questions": "Вопросы?", - "about.title": "О программе", - "account.add.password": "Добавить пароль аккаунта", - "account.agree.terms": "Я понимаю, что при потере пароля я потеряю доступ к своему аккаунту.\nLantern не сможет помочь\nвосстановить ваш пароль.", - "account.agree.terms.error": "Сначала нужно принять условия", - "account.cancel": "Отменить аккаунт Pro", - "account.created": "Аккаунт создан!", - "account.create.pro.account.header": "Создать аккаунт Pro", - "account.create.pro.account.text": "Lantern меняет порядок работы с аккаунтами. В дальнейшем пользователям Pro придется создавать имя пользователя и пароль. Эти учетные данные будут использоваться для входа на других устройствах и предоставления доступа к новым функциям.", - "account.have.a.account": "У вас есть аккаунт?", - "account.link.username.pro": "Привязать имя пользователя к аккаунту Pro", - "account.recovery": "Восстановление аккаунта", - "account.recovery.link.device": "Привязать устройство", - "account.recovery.device.code": "Код привязки стройства", - "account.recovery.device.enter.code": "Введите или вставьте код привязки устройства", - "account.recovery.device.instructions.header": "Чтобы привязать это устройство к аккаунту Pro:", - "account.recovery.device.instructions.step.one": "1. Выберите параметр «Привязать устройство» в пункте «Управление учетной записью» на устройстве Pro для рабочего стола или в меню на мобильном устройстве Pro.", - "account.recovery.device.instructions.step.two": "2. Введите код привязки устройства и отправьте его.", - "account.recovery.device.instructions.part.three": "* Убедитесь, что на обоих устройствах установлена последняя версия Lantern.", - "account.recovery.method": "Выберите способ восстановления аккаунта", - "account.recovery.send.email": "Отправить Email", - "account.recovery.submit": "Отправить", - "account.recovery.success": "Привязка завершена!", - "account.pro_management": "Управление аккаунтом Pro", - "account.free_management": "Управление аккаунтом", - "account.free.cap": "Осталось {{mb}} МБ бесплатного трафика. Лимит будет сброшен {{reset}}", - "account.free.cap.upgrade": "Перейдите на версию Pro, чтобы получить безлимитный трафик с высокой скоростью", - "account.freelink.validFor": "действует до %s", - "account.freelink.desc": "Чтобы разрешить этому устройству использовать вашу учетную запись Pro:", - "account.freelink.step1": "1. Выберите параметр «Привязать устройство» в меню на устройстве Pro.", - "account.freelink.step2": "2. Введите код привязки устройства и отправьте его.", - "account.freelink.reminder": "* Убедитесь, что на обоих устройствах установлена последняя версия Lantern.", - "account.freelink.errorTitle": "Ошибка привязки", - "account.freelink.errorText": "Вы ввели код на устройстве Pro?", - "account.freelink.headerDesc": "Привязка устройства к аккаунту Pro", - "account.freelink.title": "Код привязки стройства", - "account.pro.charge": "В конце платежного цикла с вашего аккаунта будет автоматически взиматься плата за следующий год подписки на Lantern Pro.", - "account.upgrade_pro": "Перейти на Pro", - "account.upgrade": "Обновить", - "account.upgrade_platinum": "Обновить до Platinum", - "account.create": "Создать аккаунт", - "account.email": "Электронная почта", - "account.confirm.password": "Подтвердите пароль", - "account.password": "Пароль", - "account.pro.email": "Электронная почта:", - "account.pro.expiration": "Срок действия учетной записи Pro", - "account.platinum.expiration": "Истечение срока действия аккаунта Platinum", - "account.pro.expired": "Срок действия вашего аккаунта Pro истек. Продлите подписку сейчас, чтобы получить безлимитный месячный трафик.", - "account.pro.expiry": "Срок действия вашего аккаунта Pro истекает через %s дн. - %s.", - "account.pro.bonusMonths": "Включает ваши {{bonusMonths}} бонусные месяцы!", - "account.pro.thisdevice": "(Это устройство)", - "account.pro.logout": "Выйти", - "account.pro.removedevice": "УДАЛИТЬ", - "account.pro.devices": "Устройства Lantern Pro (не более 3)", - "account.pro.device.confirm.title": "Отменить авторизацию устройства", - "account.pro.device.confirm": "Удалить устройство «{{device}}» из вашего аккаунта Lantern Pro?", - "account.pro.device.one.title": "Только одно устройство", - "account.pro.device.one": "Удалить последнее авторизованное устройство нельзя.", - "account.pro.linkingcode": "Код привязки устройства:", - "account.pro.renew": "Обновить аккаунт Pro", - "account.platinum.renew": "Обновить аккаунт Platinum", - "account.pro.renew_CN": "Возобновить ", - "account.prolink.errorTitle": "Ошибка привязки", - "account.prolink.errorText": "Вы правильно скопировали код с другого устройства?", - "account.prolink.successTitle": "Устройство привязано", - "account.prolink.successText": "Вы успешно привязали устройство. Через мгновение другое устройство автоматически получит статус Pro.", - "account.signin": "Вход", - "account.signout": "Выход", - "account.submit": "Отправить", - "account.username": "Имя пользователя", - "account.switch.to.register": "Переключиться, чтобы создать аккаунт", - "account.switch.to.signin": "Переключиться, чтобы войти", - "account.invalid.username": "Недопустимое имя пользователя", - "account.invalid.email": "Недопустимый адрес электронной почты", - "account.password.mismatch": "Пароли на совпадают", - "account.password.short": "Пароль слишком короткий", - "account.password.lowercase": "Пароль должен содержать не менее одной строчной буквы", - "account.password.uppercase": "Пароль должен содержать не менее одной прописной буквы", - "account.password.number": "Пароль должен содержать не менее одной цифры", - "account.password.compromised": "Пароль находится в списке раскрытых паролей", - "modal.register.free.header": "Зарегистрируйтесь или войдите в систему, чтобы пользоваться кошельком Yinbi", - "modal.register.pro.header": "Добавьте пароль аккаунта, чтобы пользоваться кошельком Yinbi", - "modal.register.pro.signin.header": "Войдите в систему, чтобы пользоваться кошельком Yinbi", - "modal.register.free.text": "Чтобы пользоваться кошельком Yinbi, вам требуется аккаунт Lantern. Зарегистрируйтесь или\nвойдите в систему, чтобы продолжить.", - "modal.register.pro.text": "Чтобы пользоваться кошельком Yinbi, укажите пароль для своего аккаунта Lantern.", - "modal.register.pro.signin.text": "Чтобы использовать кошелек Yinbi, войдите в свой аккаунт Lantern", - "adyen.paymentMethods.title": "Способы оплаты", - "adyen.paymentMethods.storedMethods": "Ваши способы оплаты", - "adyen.paymentMethods.otherMethods": "Выберите другой способ", - "adyen.paymentMethods.moreMethodsButton": "Дополнительные способы оплаты", - "adyen.payButton": "Оплатить", - "adyen.payButton.formatted": "Оплатить %@", - "adyen.cancelButton": "Отменить", - "adyen.dismissButton": "Ок", - "adyen.storeDetails": "Сохранить для следующего платежа", - "adyen.payment.redirecting": "Вы будете перенаправлены", - "adyen.payment.processing": "Ваш платеж обрабатывается", - "adyen.creditCard.title": "Реквизиты платежной карты", - "adyen.creditCard.holderName": "Имя владельца карты", - "adyen.creditCard.holderName.placeholder": "J. Smith", - "adyen.creditCard.numberField.title": "Номер карты", - "adyen.creditCard.numberField.placeholder": "1234 5678 9012 3456", - "adyen.creditCard.numberField.invalid": "Не верный номер карты", - "adyen.creditCard.expiryDateField.title": "Cрок действия", - "adyen.creditCard.expiryDateField.placeholder": "ММ/ГГ", - "adyen.creditCard.expiryDateField.invalid": "Недействительный срок действия", - "adyen.creditCard.expiryDateField.month": "Месяц", - "adyen.creditCard.expiryDateField.month.placeholder": "ММ", - "adyen.creditCard.expiryDateField.year.placeholder": "ГГ", - "adyen.creditCard.expiryDateField.year": "Год", - "adyen.creditCard.cvcField.title": "CVC / CVV", - "adyen.creditCard.cvcField.placeholder": "123", - "adyen.creditCard.installmentsField": "Количество платежей", - "adyen.creditCard.storeDetailsButton": "Запомнить эту карту для следующего платежа", - "adyen.creditCard.oneClickVerification.title": "Подтвердите карту", - "adyen.creditCard.oneClickVerification.message": "Введите код CVC для %@", - "adyen.creditCard.oneClickVerification.invalidInput.title": "Неверный CVC", - "adyen.creditCard.oneClickVerification.invalidInput.message": "Введите действительный CVC, чтобы продолжить.", - "adyen.sepaDirectDebit.ibanField.title": "Номер счета (IBAN)", - "adyen.sepaDirectDebit.ibanField.placeholder": "NL53 ABNA 1925 1294 122", - "adyen.sepaDirectDebit.ibanField.invalid": "Неверный номер счета", - "adyen.sepaDirectDebit.nameField.title": "Имя владельца", - "adyen.sepaDirectDebit.nameField.placeholder": "J. Smith", - "adyen.sepaDirectDebit.consentButton": "Я соглашаюсь с тем, что указанная ниже сумма будет списана с моего банковского счета.", - "adyen.sepa.ownerName": "Имя владельца", - "adyen.sepa.ibanNumber": "Номер счета (IBAN)", - "adyen.giropay.searchField.placeholder": "Название банка / BIC / Bankleitzahl", - "adyen.giropay.minimumLength": "Минимум 3 символа", - "adyen.giropay.noResults": "Поиск не дал результатов", - "adyen.error.title": "Ошибка", - "adyen.error.subtitle.redirect": "Ошибка перенаправления", - "adyen.error.subtitle.payment": "Сбой оплаты", - "adyen.error.subtitle.refused": "Платеж отклонен", - "adyen.error.message.unknown": "Произошла неизвестная ошибка", - "adyen.error.message.cannotConnectToInternet": "Не удалось подключиться к Интернету: проверьте настройки.", - "adyen.error.message.cannotConnectToHost": "Не удалось подключиться к нашему платежному серверу.", - "adyen.error.retryButton": "Повторите попытку", - "adyen.idealIssuer.selectField.title": "Банк", - "adyen.idealIssuer.selectField.placeholder": "Выберите банк", - "adyen.creditCard.success": "Платеж выполнен", - "adyen.oneClick.confirmationAlert.title": "Подтвердить платеж %@", - "adyen.redirect.cannotOpenApp.title": "Не удается открыть приложение", - "adyen.redirect.cannotOpenApp.appNotInstalledMessage": "Не удалось открыть приложение, потому что оно не установлено на этом устройстве.", - "adyen.holderName": "Имя владельца карты", - "adyen.countryCode": "Код страны", - "adyen.telephone.number": "Номер телефона", - "android.download": "Lantern Андроид", - "android.download.title": "Загрузить Lantern для Android", - "authorize.title": "Авторизовать устр. для Pro", - "authorize.step1.have_pro_device": "У меня есть еще одно устройство Lantern Pro", - "authorize.step1.link": "Привязка устройств", - "authorize.step1.email_linking": "Привязка адреса электронной почты", - "authorize.device_linking_explanation": "Используйте этот способ, если вы выполнили вход на другом устройстве, которое у вас с собой", - "authorize.device_email_explanation": "Используйте этот способ, чтобы получить код привязки устройства на свою электронную почту", - "authorize.link_device": "Привязать устройство", - "authorize.step1.choose": "Выберите способ привязки своего аккаунта", - "authorize.step1.or": "или", - "authorize.step1.recover": "Мне нужно восстановить мой аккаунт Lantern Pro", - "authorize.step1.start": "Начать восстановление", - "authorize.step1.no_mail": "Забыли свой адрес электронной почты?", - "authorize.step1.description": "Введите свой адрес электронной почты. Если с ней связан аккаунт, мы вышлем вам письмо с кодом привязки устройства", - "authorize.step2b.enter_code": "Введите свой код восстановления аккаунта", - "authorize.step2b.code": "Код восстановления аккаунта", - "authorize.step2b.instruction": "Если этот аккаунт существует, на адрес электронной почты {{email}} отправлено письмо с кодом восстановления. Оно будет доставлено в течение нескольких часов. Если вы не нашли письмо, проверьте папку со спамом.", - "authorize.step2b.no_mail": "Письмо не пришло", - "authorize.step3.recovery": "Восстановление аккаунта", - "authorize.step3.no_email": "Не удалось найти этот адрес электронной почты. Представьте дополнительные сведения ниже. Это поможет нам найти ваш аккаунт.", - "authorize.step3.no_code_received": "Не приходит письмо с кодом восстановления? Укажите данные ниже, и мы свяжемся с вами в течение 48 часов.", - "authorize.step3.your_email": "Ваш Email", - "authorize.step3.payment_method": "Способ оплаты", - "authorize.step3.payment_method_hint": "Выберите способ оплаты, который вы использовали, чтобы получить версию Pro", - "authorize.step3.credit_card": "Кредитная карта", - "authorize.step3.alipay": "AliPay", - "authorize.step3.android_pay": "Android Pay", - "authorize.step3.by_referral": "Версия Pro получена благодаря предоставлению другу реферального кода ", - "authorize.step3.payment_account": "Аккаунт для оплаты", - "authorize.step3.payment_account_hint": "Введите данные аккаунта Alipay", - "authorize.step3.referral_code": "Ваш реферальный код ", - "authorize.step3.purchase_date": "Дата покупки", - "authorize.step3.note": "Обратите внимание на любую другую информацию, которая может помочь нам найти ваш аккаунт.", - "authorize.step4.title": "Идет восстановление аккаунта", - "authorize.step4.text1": "Спасибо! Мы получили ваш запрос на восстановление аккаунта.", - "authorize.step4.text2": "На получение данных о вашем аккаунте Pro может потребоваться 48 часов.", - "authorize.step4.text3": "Мы отправим сведение адрес электронной почты, указанный на предыдущем экране.", - "authorized.continue": "Продолжить с версией Pro", - "authorized.continue.lantern": "Использовать Lantern", - "authorized.text": "Теперь на этом устройстве можно использовать ваш аккаунт Lantern Pro.", - "authorized.title": "Устройство авторизовано", - "button.account": "Аккаунт", - "button.renew": "Возобновить", - "button.upgrade": "Обновить", - "button.upgrade_now": "Обновить сейчас", - "button.upgrade_to_lantern_pro": "Обновление до Lantern Pro", - "button.copy_your_code": "Скопируйте код", - "button.try_again": "Повторите попытку", - "button.continue": "Продолжить", - "button.continue_to": "Продолжить с {{planType}}", - "bullet.click_button": "Нажмите кнопку ниже", - "bullet.paste_code": "Вставьте код и ссылку для загрузки в сообщении", - "bullet.send_to_friends": "Отправьте своим друзьям", - "cancel": "Отменить", - "confirm": "Подтвердить", - "norecoveryyinbi": "* Не восстанавливает кошелек Yinbi", - "email.recovery.check.email": "Проверьте, не пришло ли вам электронное письмо с кодом восстановления", - "email.recovery.code.label": "Введите или вставьте код восстановления", - "email.recovery.no.code": "Не получили код?", - "email.recovery.text": "Введите свой адрес электронной почты, и мы вышлем вам код для сброса пароля.\nЕсли у вас есть кошелек Yinbi, он НЕ будет восстановлен. Для этого нужно ввести фразу для восстановления кошелька Yinbi.", - "email.recovery.desc": "Используйте этот способ, чтобы получить код восстановления на свой адрес электронной почты", - "device.recovery.desc": "Используйте этот способ, если вы выполнили вход на другом устройстве, которое у вас с собой", - "google_search": "Поиск в Google", - "giveaway.upgrade": "Перейдите на расширенную подписку, чтобы воспользоваться сегодняшним бесплатным предложением", - "giveaway.title_released_today": "Сегодня выпускается {{formattedTokens}} YNB", - "giveaway.what_is_it": "В чем заключается предложение от Yinbi?", - "giveaway.description1": "Фонд Yinbi Foundation раздает 888 миллиардов единиц криптовалюты YNB только через Lantern и только покупателям Lantern Pro.", - "giveaway.description2": "Средства в YNB будут выдаваться в конце каждого дня с учетом объема выпущенной в этот день криптовалюты Yinbi, количества людей, которые обновили/продлили подписку, а также срока действия вашей подписки в годах или количества приобретенных учетных записей. Средства в YNB будут зачисляться прямо на ваш кошелек Yinbi в Lantern.", - "giveaway.learn_more": "Подробнее", - "link_device": "У вас уже есть аккаунт Pro? Привяжите устройство", - "email.recovery": "Восстановление с помощью электронной почты", - "email_taken": "Адрес электронной почты уже зарегистрирован", - "username_taken": "Имя пользователя уже зарегистрировано", - "err.unknown_error": "Неизвестная ошибка", - "err.internal_error": "Внутренняя ошибка", - "err.bad_input": "Ошибка входных данных", - "err.not_authorized": "Не авторизовано", - "err.user_exists": "Пользователь существует", - "err.no_such_user": "Пользователь отсутствует", - "err.user_already_verified": "Пользователь уже проверен", - "err.invalid_user_verification": "Ошибка проверки пользователя", - "err.user_unverified": "Пользователь не проверен", - "err.operation_temporarily_unavailable": "Операция временно недоступна", - "err.wrong_or_inexistent_plan": "Неправильный или несуществующий план", - "err.user_has_active_subscription": "У пользователя есть активная подписка", - "err.payment_error": "Ошибка оплаты", - "err.no_codes_left": "Не осталось реферальных кодов", - "err.wrong_code": "Неправильный реферальный код", - "err.redeeming_own_code_not_allowed": "Использовать собственные коды запрещено", - "err.wrong_charge_id": "Неправильный идентификатор", - "err.wrong_link_code": "Неправильный код ссылки", - "err.invalid_credentials": "Предоставлены недействительные учетные данные пользователя", - "footer.reseller": "Зарабатывайте! Станьте реселлером Lantern Pro. Щелкните здесь", - "footer.reseller.email_subject": "Узнать о программе Lantern Reseller", - "footer.reseller.email_body": "Когда вы станете реселлером Lantern, у вас будет возможность заработать до 25% при каждой продаже подписки на Lantern Pro. Расскажите немного о том, почему вы хотите стать реселлером ниже.", - "feature.faster_speed": "Высокая скорость", - "feature.faster": "Более быстрые центры обработки данных", - "feature.unlimited": "Безлимитный трафик", - "feature.nologs": "Журналы отсутствуют", - "feature.devices": "Подключение до трех устройств", - "feature.noads": "Без рекламы", - "feature.yinbi.tooltip": "Фонд Yinbi раздает 888 миллиардов криптовалюты YNB покупателям Lantern Pro исключительно через Lantern. YNB будет распределяться в конце каждого дня исходя из количества Yinbi, выпущенного в этот день, количества людей, перешедших на новую версию, а также количества лет или приобретенных вами аккаунтов. YNB будет зачисляться непосредственно на ваш кошелек Yinbi в Lantern!", - "feature.antiblock": "Защита от блокировок", - "feature.data_center": "Более подходящие центры обработки данных", - "feature.free_yinbi": "Бесплатная криптовалюта Yinbi!", - "free.title": "Lantern Pro", - "free.desc": "Скорость. Производительность. Безлимитный трафик. Безопасность.", - "free.link_account": "У вас уже есть аккаунт Pro? Привяжите свой аккаунт.", - "home.get_lantern_pro": "Получить Lantern Pro", - "home.get_lantern_platinum": "Обновить план", - "home.welcome_popup_subheader": "Добро пожаловать в новую версию Lantern!", - "home.welcome_popup_content_1": "Мы постоянно обновляем Lantern и добавляем новые функции.", - "home.welcome_popup_content_2": "В новом интерфейсе есть строка для поиска общих файлов в сети Lantern. Вы также можете публиковать собственные файлы. Эта функция находится на этапе бета-тестирования. Попробуйте ее в деле и поделитесь своим мнением с нами. Мы продолжим развивать продукт на основании ваших отзывов.", - "home.welcome_popup_button": "Попробовать", - "input.email": "Электронная почта", - "input.your_email": "Ваш адрес электронной почты", - "input.confirm_email": "Подтвердите адрес электронной почты", - "input.enter_email": "Введите свой адрес электронной почты", - "input.use_valid_email": "Укажите действительный адрес электронной почты", - "input.email_not_match": "Поля электронной почты не совпадают", - "input.existing_email": "Существующий адрес электронной почты", - "issue.your_email": "Ваш Email", - "issue.attach_image_failure": "Не удается прикрепить изображение", - "issue.try_again": "Пожалуйста, попытайтесь еще раз", - "issue.select_issue": "Выберите проблему", - "issue.selected_issue": "Выбор проблемы", - "issue.select_issue_hint": "Выберите проблему в раскрывающемся списке", - "issue.note": "Опишите свою проблему", - "issue.description": "Описание проблемы", - "issue.error": "Ошибка при сообщении о проблеме", - "issue.submit": "Отправить отчет", - "issue.report_screenshot": "Перетащите изображение или нажмите кнопку, чтобы загрузить снимок экрана", - "issue.reported": "Спасибо, что сообщили о своей проблеме. Из-за большого потока обращений мы не можем отвечать на большинство из них, однако будьте уверены, мы прилагаем все усилия, чтобы совершенствовать Lantern на основании ваших отзывов.", - "issue.report_sent": "Отчет отправлен", - "issue.type.no_access": "Не удается получить доступ к заблокированным сайтам", - "issue.type.payment_fail": "Не удается выполнить платеж", - "issue.type.cannot_login": "Не удается войти в систему", - "issue.type.always_spinning": "Индикатор загрузки вращается без остановки", - "issue.type.slow": "Медленный", - "issue.type.cannot_link_device": "Не удается привязать устройства", - "issue.type.crashes": "Сбои Lantern", - "issue.type.other": "Другое", - "languages.title": "Языки", - "lantern.email": "Адрес электронной почты Lantern", - "mobile.link": "Воспользуйтесь ссылкой, чтобы загрузить Lantern на устройство Android:", - "mobile.title": "Получить версию Android", - "nav.about": "О программе", - "nav.account": "Управление аккаунтом", - "nav.authorize": "Добавить устройство", - "nav.authorized": "Устройство авторизовано", - "nav.unauthorized_link": "Авторизовать устр. для Pro", - "nav.language": "Язык", - "nav.lantern": "Lantern", - "nav.mobile": "Получить мобильную версию", - "nav.report_issue": "Сообщить о проблеме", - "nav.settings": "Настройки", - "nav.support": "Поддержка", - "nav.verify": "Проверка аккаунта", - "nav.yinbi": "Получение Yinbi", - "nav.home": "Главная", - "nav.discover": "Обзор", - "nav.wallet": "Кошелек", - "nav.yinbi_wallet": "Кошелек Yinbi", - "notification.retry": "Повторить", - "notifications": "Уведомления", - "notifications.whatisnew": "Что нового?", - "password.change": "Изменить пароль", - "password.changed": "Пароль изменен", - "continue.to.pro": "Продолжить с версией Pro", - "username": "Имя пользователя", - "password.new": "Новый пароль", - "password.requirements": "
Пароль должен:
  • содержать не менее 8 символов;
  • содержать 1 строчную букву;
  • содержать 1 прописную букву;
  • содержать не менее 1 цифры;
  • не быть в списке раскрытых паролей.
", - "password.reset": "Сброс пароля", - "paxful.buy": "Купить", - "paxful.payment": "Способ оплаты", - "paxful.bitcoin": "Биткойн (BTC)", - "paxful.tether": "Tether (USDT)", - "paxful.wallet": "Онлайн-кошельки", - "paxful.bank": "Банковские переводы", - "paxful.gamer_card": "Игровые карточки", - "paxful.gift_card": "Подарочные карты", - "paxful.cash": "Платеж наличными", - "paxful.digital_currency": "Криптовалюты", - "paxful.button": "Показать выгодные предложения", - "payment.close": "Закрыть", - "payment.redirectErrorTitle": "Ошибка при подключении к платежному серверу", - "payment.redirectErrorText": "Мы сейчас работаем над решением этой проблемы. Повторите попытку позже.", - "payment.wait_for_pro": "Благодарим за покупку Lantern Pro! Через мгновение ваша подписка на Lantern автоматически переключится на Pro.", - "payment.moreOptions": "Больше опций", - "payment.fewerOptions": "Меньше опций", - "payment_methods.select_name": "Выбрать способ оплаты", - "payment_methods.alipay": "Кредитная карточка/Alipay", - "payment_methods.shetab": "Fast World Pay (Shetab)", - "payment_methods.shetab.details.header": "Купить Lantern Pro", - "payment_methods.shetab.details.body": "Нажав «Продолжить платеж», вы перейдете на внешний сайт, где совершите оплату и получите код активации.", - "payment_methods.shetab.details.tutorial_header": "Инструкции на фарси", - "payment_methods.shetab.details.purchase_voucher_button": "Продолжить платеж", - "payment_methods.shetab.details.input_code_button": "Введите код активации", - "plan.step1": "Шаг 1", - "plan.apply": "Применить", - "plan.step2": "Шаг 2", - "plan.most_popular": "Самое популярное!", - "plan.step3": "Шаг 3", - "plan.choose_plan": "Выбрать план", - "plan.enter_email": "Введите электронную почту", - "plan.choose_method": "Выберете способ оплаты ", - "plan.bestValue": "Выгодное предложение!", - "plan.per_month": "в месяц", - "plan.yinbi_2x": "+ в 2 раза больше Yinbi!", - "plan.oneYear": "1 год", - "plan.add_referral": "Добавить реферальный код", - "plan.years": "{{years}}-летний план", - "plan.desc": "Оплата {{price}} взимается единоразово", - "plan.bonus_months": "+ {{bonusMonths}} мес.", - "plan.price.cny": "¥%.02f", - "plan.price.usd": "$%.02f", - "plan.currency.cny": "(RMB)", - "plan.currency.usd": "(USD)", - "plan.time_unit": "в год", - "plan.select": "Выбрать", - "plan.two_year": "На 2 года", - "plan.one_year": "На 1 год", - "plan.savings": "Сэкономьте {{formattedDiscount}} %", - "plans.title": "Планы Lantern Pro", - "plans.lantern_pro": "Lantern Pro", - "plans.platforms": "Для Windows, Android, Mac, Ubuntu.", - "plans.from_reseller": " У вас есть код активации Lantern Pro? Нажмите здесь.", - "plans.with_voucher_code": "У вас есть код активации? Нажмите здесь.", - "pro.apply": "Заработанные кредиты будут применены к вашему аккаунту в следующем платежном цикле.", - "pro.title": "Пригласите друзей и получите дополнительное время бесплатного использования версии Pro", - "pro.subtitle": "За каждого друга, который купит двухлетний план, вы получите 3 дополнительных месяца бесплатного использования версии Pro, а за однолетний план - 1 месяц.", - "pro.share": "Поделитесь своим кодом с друзьями, чтобы зарабатывать больше кредитов!", - "promotion.title": "Приобретение Lantern Pro", - "promotion.title.activation": "Активация Lantern Pro", - "promotion.enter_and_confirm_email": "Введите и подтвердите свой адрес электронной почты", - "promotion.code.hint": "Введите реферальный код вашего друга (необязательно)", - "promotion.code.label": "Реферальный код", - "promotion.payment": "Продолжить платеж", - "promotion.payment.btc": "Оплатить через ₿", - "promotion.loading": "Загрузка...", - "promotion.howto_1y": "После проверки заказа введите реферальный код, который дал ваш друг, чтобы получить один месяц бесплатного использования Lantern Pro.", - "promotion.howto_2y": "После проверки заказа введите реферальный код, который дал ваш друг, чтобы получить три месяца бесплатного использования Lantern Pro.", - "promotion.pay": "Оплата {{amount}}", - "promotion.select": "Выбрать", - "promotion.promotion_applied_1y": "+1 бонусный месяц", - "promotion.promotion_applied_2y": "+3 бонусных месяца", - "promotion.too_many_referrals": "Этот реферальный код уже добавлен. Оформите заказ прямо сейчас, чтобы получить дополнительные месяцы.", - "promotion.activation.enter_and_confirm_email": "Введите и подтвердите свой адрес электронной почты, чтобы зарегистрировать свою учетную запись Lantern Pro.", - "promotion.activation.label": "XXXXX-XXXXX-XXXXX-XXXXX-XXXXX", - "promotion.activation.hint": "Код активации", - "promotion.activation.instructions": "Чтобы зарегистрировать аккаунт, введите свой адрес электронной почты и 25-значный код активации, полученный от реселлера.", - "promotion.activation.howto": "Введите 25-значный код активации Lantern Pro выше. Если у вас нет кода, приобретите версию Pro на предыдущем экране или найдите реселлера Lantern Pro в Интернете.", - "promotion.activation.continue": "Зарегистрироваться в Pro", - "promotion.voucher.hint": "Код активации", - "promotion.voucher.howto": "Введите код активации Fast World Pay из 12 символов в поле выше", - "promotion.voucher.label": "XXXXXXXXXXXX", - "promotion.voucher.error.default": "Ошибка введения кода активации.", - "promotion.voucher.error.invalid_code": "Неверный код активации", - "promotion.voucher.error.invalid_plan": "Код активации связан с недействительным планом", - "promotion.voucher.error.already_redeemed": "Код активации уже использован", - "referral.code": "Реферальный код", - "referral.text": "Используйте мой код %s и получите 3 месяца бесплатного использования при регистрации!", - "referral.description_free": "Поделитесь кодом с друзьями — если они купят версию Pro, вы получите месяц подписки на Lantern Pro бесплатно!", - "referral.description_pro": "Поделитесь кодом с друзьями — если они купят версию Pro, вы получите дополнительный месяц подписки на Lantern Pro бесплатно!", - "register": "Зарегистрироваться", - "renew.subtitle_early": "Продлить на 3 месяца бесплатно!", - "renew.subtitle_last_day": "Продлить на 3 месяца бесплатно!", - "renew.subtitle_expired": "Продлите на 45 дней бесплатно!", - "renew.details_early": "Ваше членство в Lantern Pro скоро закончится. Продлите подписку сейчас и получите до трех месяцев бесплатно!", - "renew.details_last_day": "Ваше членство в Lantern Pro заканчивается сегодня! Продлите подписку сейчас и получите до трех месяцев бесплатно!", - "renew.details_expired": "Срок вашего членства в Lantern Pro истек. Продлите подписку сейчас и получите до сорока пяти дней бесплатно!", - "renew.asterisk_early": "* Это ограниченное по времени предложение действительно только для досрочного продления.", - "renew.asterisk_last_day": "* Это ваш последний шанс воспользоваться данным специальным предложением!", - "renew.asterisk_expired": "* Это предложение ограничено по времени!", - "renew.plan_label": "Lantern Pro - %s", - "renew.plan_renewal_bonus_1_month": "$%d%s + 1 МЕС. БЕСПЛАТНО", - "renew.plan_renewal_bonus_months": "$%d%s + %d МЕС. БЕСПЛАТНО", - "renew.plan_renewal_bonus_days": "$%d%s + %d ДН. БЕСПЛАТНО", - "renew.next": "далее", - "renew.decline": "Отклонить предложение", - "renew.decline_question": "Отклонить предложение?", - "renew.decline_yes": "Продлить позже", - "renew.decline_dismiss": "Продлить сейчас", - "renew.notification_title_30_days": "Продлите Pro сейчас и сэкономьте кучу денег!", - "renew.notification_title_30_days_platinum": "Обновите Platinum прямо сейчас и получите огромную скидку!", - "renew.notification_text_30_days": "Срок действия вашего {{planName}} аккаунта истекает через {{remainingDays}} дней. Обновите сейчас и получите до 3 месяцев бесплатно.", - "renew.notification_title_2_days": "Скидка по {{planName}} заканчивается завтра!", - "renew.notification_text_2_days": "Срок действия вашего аккаунта {{planName}} истекает завтра. Не упустите возможность получить огромную скидку.", - "renew.notification_title_last_day": "Последний шанс получить скидку!", - "renew.notification_text_last_day": "Срок действия вашего аккаунта {{planName}} истек. Обновите сегодня и получите до 3 месяцев бесплатно.", - "replica.upload": "Отправить", - "replica.favorite": "Избранное", - "replica.added_to_favorites": "Добавлено в избранное", - "replica.filedrop_error": "Ошибка при отправке этого файла", - "replica.filedrop_error.file-too-large": "Максимальный допустимый размер файла: {{fileSize}}", - "replica.filedrop_error.file-too-small": "Слишком малый размер файла", - "replica.filedrop_error.too-many-files": "Слишком много файлов", - "replica.filedrop_error.file-invalid-type": "Файлы этого типа пока не поддерживаются", - "replica.filedrop_remove_file": "Удалить из очереди", - "replica.post": "Отправить файл", - "replica.relevance": "Актуальность", - "replica.upload_date": "Дата отправки", - "replica.gallery_view": "Представление галереи", - "replica.list_view": "Представление списка", - "replica.copy_lantern_link": "Копировать ссылку Lantern", - "replica.documents": "Документы", - "replica.audio": "Аудио", - "replica.application": "Приложения", - "replica.image": "Изображения", - "replica.video": "Видео", - "replica.web": "Интернет", - "replica.news": "Новости", - "replica.upload_alert.dont_show": "Больше не показывать", - "replica.upload_alert.cancel": "Отменить отправку", - "replica.upload_alert.resume": "Возобновить отправку", - "replica.upload_alert.info": "Важная информация!", - "replica.upload_alert.desc1": "Файлы, отправленные в Lantern, хранятся распределенно и децентрализованно. Если другой пользователь получит к ним доступ, никто, включая Lantern, не сможет удалить их из сети (даже при удалении из вашего списка «Мои файлы»).", - "replica.upload_alert.desc2": "При отправке конфиденциальных материалов убедитесь, что в файлах и их названиях не содержатся персональные данные.", - "replica.add_details": "Добавить данные", - "replica.cannot_edit": "Имена файлов нельзя редактировать после загрузки.", - "replica.next": "Далее", - "replica.previous": "Предыдущие", - "replica.selectAll": "Выбрать все", - "replica.search_replica": "Поиск", - "replica.search_results_info": "На этой вкладке отображаются только результаты Lantern.", - "replica.search_results_info_message": "В результатах Lantern отображается контент, отправляемый пользователями в сеть Lantern.", - "replica.no_files_found": "Результатов нет", - "replica.or_content": "Другие пользователи смогут находить ваши файлы!", - "replica.try_again": "Используйте другое ключевое слово или", - "replica.upload_success": "Отправка завершена!", - "replica.cannot_preview": "Предварительный просмотр этого типа файлов невозможен", - "replica.no_description": "Без описания", - "replica.size": "Размер", - "replica.uploaded": "Отправлено", - "replica.invalid_link": "Недействительная ссылка", - "replica.close": "Закрыть", - "replica.files": "Файлы", - "replica.upload_history": "История отправок", - "replica.my_favorites": "Избранное", - "replica.no_uploads": "Отправленных файлов нет", - "replica.no_favorites": "Пока в избранном ничего нет", - "replica.mime_type": "Тип файла: {{mime}}", - "replica.image_loading_error": "Ошибка при загрузке изображения", - "replica.play": "Вкл.", - "replica.pause": "Пауза", - "replica.scrub": "Очистить", - "replica.skip_forward": "Перейти вперед", - "replica.skip_backwards": "Перейти назад", - "replica.trending_videos": "Популярные видео", - "replica.file_uploaded": "Загружено: {{days}} дн. назад", - "replica.file_size": "Размер", - "replica.duration": "Длительность", - "replica.filename": "Имя файла", - "replica.filename_required": "Присвойте файлу имя", - "replica.description_optional": "Добавить описание", - "replica.expand": "Раскрыть информацию", - "replica.filetype": "Тип файла", - "replica.sortby": "Сортировать по", - "replica.link": "Ссылка на копию", - "replica.collapse": "Свернуть", - "replica.publish": "Опубликовать", - "replica.cancel": "Отмена", - "replica.progress_current_upload": "Отправка", - "replica.progress_files": "файлы", - "replica.progress_of": "из", - "replica.progress_upload_complete": "Готово", - "replica.progress_upload_failure": "Сбой отправки. Повторите попытку.", - "replica.upload_in_progress": "Выполняется отправка", - "replica.upload_pending": "Ожидание отправки", - "replica.upload_error": "Ошибка отправки", - "replica.upload_cancel": "Отменить отправку", - "replica.upload_confirm": "Действительно отменить отправку?", - "replica.progress_view": "Просмотр", - "replica.delete": "Удалить", - "replica.remove": "Удалить", - "replica.delete_file": "Удалить файл", - "replica.remove_favorite": "Удалить из избранного", - "replica.failed_to_delete": "Не удалось удалить", - "replica.failed_to_remove": "Не удалось удалить", - "replica.link_lookup_failure": "Не удалось найти ссылку", - "replica.delete_file_confirmation_1": "Действительно удалить?", - "replica.delete_file_confirmation_2": "из списка отправленных файлов", - "replica.remove_favorite_confirmation_1": "Действительно удалить", - "replica.remove_favorite_confirmation_2": "из избранного?", - "replica.share_file": "Поделиться файлом", - "replica.download_and_view": "Скачать/просмотреть", - "replica.download": "Скачать", - "replica.copy_link": "Копировать ссылку на копию", - "replica.find_file": "Поиск файла", - "replica.file_drop_prompt": "Перетащите файл, чтобы отправить его.", - "replica.empty_uploads_text1": "Нажмите", - "replica.empty_uploads_text2": "здесь", - "replica.empty_uploads_text3": "чтобы разместить свою первую публикацию.", - "replica.error_header": "Произошла ошибка", - "replica.error": "При обработке вашего запроса возникла ошибка. Повторите попытку.", - "replica.serp_empty": "В Google не нашлось результатов по этому запросу.", - "replica.disclaimer": "Lantern делает поисковые запросы анонимными и защищает их от третьих лиц.", - "settings.general": "Основное", - "settings.feedback": "Отзывы", - "settings.autoLaunch": "Запускать Lantern при старте системы", - "settings.autoReport": "Безопасно передавать данные по использованию для развития Lantern", - "settings.lantern_ads": "Показывать рекламу в Lantern", - "settings.lantern_ads_tooltip": "Отображение рекламы на некоторых сайтах помогает Lantern предоставлять свои услуги. При этом мы не собираем данные о пользователе и не передаем их на наши серверы. Если вы отключите этот параметр, то не будете получать рекламу из сети Lantern. Однако это не гарантирует полного отсутствия рекламы.", - "settings.proxyAll": "Проксировать весь трафик", - "settings.proxyAllHelpTitle": "ЧТО ЗНАЧИТ «ВЕСЬ ТРАФИК ЧЕРЕЗ ПРОКСИ»?", - "settings.proxyAllHelp1": "Если включено, весь трафик будет проходить через Lantern (наиболее безопасный вариант).", - "settings.proxyAllHelp2": "Если отключено, через Lantern будет проходить только заблокированный трафик (самый быстрый вариант, наиболее распространенный).", - "settings.show_advanced": "Показать дополнительные настройки", - "settings.hide_advanced": "Скрыть дополнительные настройки", - "settings.systemProxy": "Управление системными прокси", - "settings.title": "Настройки", - "settings.http_proxy": "Прокси HTTP(S):", - "settings.socks_proxy": "Прокси SOCKS:", - "settings.caution": "Внимание!", - "settings.caution_text": "Если снять флажок «Управление системными прокси», ваш браузер и приложения не смогут автоматически использовать Lantern. Если вы знаете, как вручную настроить эти параметры, то обратитесь к сведениям выше.", - "settings.select_language": "Выберите язык", - "settings.diagnostics": "Приложить диагностические данные", - "settings.diagnostics_tooltip": "Если вы приложите диагностические данные о вашем подключении, нам будет проще выявить и решить вашу проблему.", - "status.lantern": "Lantern — это", - "status.click_reconnect": "Нажмите здесь, чтобы восстановить соединение", - "status.server_location": "Местоположение сервера", - "status.tooltip1": "Lantern использует интеллектуальный выбор серверов, чтобы подключать вас к оптимальным центрам обработки данных.", - "status.tooltip2": "Перейдите на Lantern Pro, чтобы увеличить скорость работы за счет оптимального выбора серверов в наших выделенных центрах обработки данных.", - "status.protected_connection": "Ваше соединение защищено", - "status.please_wait": "Это может занять пару минут…", - "status.connecting": "Подключение...", - "status.no_internet": "Выкл.", - "status.no_internet_connection": "Нет подключения к Интернету", - "status.connected": "Вкл.", - "status.disconnected": "Выкл.", - "status.throttled": "Скорость урезана (ограничение трафика)", - "status.no_system_proxy": "{{status}}, не управляет системным прокси", - "status.fail_to_set_system_proxy": "Не удалось установить Lantern в качестве системного прокси", - "status.fail_to_open_browser": "Не удалось открыть окно браузера с пользовательским интерфейсом Lantern", - "support.forum": "Форум пользователей Lantern", - "support.faq": "ЧаВо", - "terms_of_service.acknowledgment": "Нажимая кнопку «{{buttonText}}», вы принимаете наши Условия использования", - "terms_of_service.replica": "Осуществляя поиск, загрузку или использование наших продуктов любым способом, вы принимаете наши Условия использования, Политику конфиденциальности и Политику соответствия Закону об авторском праве в цифровую эпоху", - "top_sites.google": "Google", - "top_sites.twitter": "Twitter", - "top_sites.youtube": "Youtube", - "top_sites.facebook": "Facebook", - "top_sites.wikipedia": "Википедия", - "verify.header": "Введите или вставьте код привязки устройства", - "verify.code": "Код привязки стройства", - "verify.howto_1": "Если у вас есть аккаунт Lantern Pro на другом устройстве, введите здесь свой адрес электронной почты, чтобы получить код для авторизации устройства", - "verify.howto_1a": "Вы не являетесь авторизованным пользователем Pro. Введите свой адрес электронной почты, чтобы авторизовать свой аккаунт Pro. Это позволит привязать несколько устройств.", - "verify.howto_2": "Чтобы привязать устройство к вашему аккаунту Pro:", - "verify.howto_3": "1. Выберите пункт «Разрешить устройству использовать Pro» в меню другого устройства.", - "verify.howto_4": "2. Введите код привязки, полученный на шаге 1, и отправьте его.", - "verify.reminder": "* Убедитесь, что на обоих устройствах установлена последняя версия Lantern.", - "verify.enter_pin": "Введите или вставьте код привязки устройства", - "verify.submit": "Отправить", - "verify.title": "Проверка аккаунта", - "welcomeToPro.continue": "Продолжить с версией Pro", - "welcomeToPro.invite": "Пригласите друзей. Вы получите 3 месяца бесплатного использования за каждого, кто купит двухлетний план, и 1 месяц за каждого, кто купит годичный план..", - "welcomeToPro.thanks": "Вы получили неограниченный доступ благодаря самым быстрым центрам обработки данных. Вы можете подключить до трех устройств к вашему аккаунту.", - "welcomeToPro.title": "Добро пожаловать в Lantern Pro", - "welomeToPro.title_exclamation": "Добро пожаловать в Lantern Pro!", - "purchase.failed": "Покупка не состоялась. Повторите попытку позже.", - "purchase.success": "Успешная покупка", - "purchase.success_title": "Добро пожаловать в Lantern {{planType}}!\n ", - "purchase.success_content_pro": "Вы получили неограниченный доступ благодаря самым быстрым центрам обработки данных. Вы можете подключить до трех устройств к вашему аккаунту.", - "purchase.success_content_platinum": "Вы получили неограниченный доступ благодаря самым быстрым центрам обработки данных и выделенным линиям. Вы можете подключить до трех устройств к вашему аккаунту.", - "welcomeToPro.description": "Вы получили неограниченный доступ к заблокированным сайтам и сервисам", - "messages.copied_to_clipboard": "Код скопирован. Поделитесь им с вашими друзьями!", - "messages.datacap": "Вы исчерпали лимит бесплатного скоростного трафика. Перейдите на версию Pro, чтобы пользоваться скоростным трафиком без ограничений.", - "messages.fatal_error": "Не удалось связаться с серверами Lantern. Проверьте подключение к Интернету и повторите попытку.", - "messages.backend_gone": "Кажется, Lantern не работает. Перезагрузите программу и повторите попытку.", - "messages.get_help": "Справка", - "freeProCredits.title": "Пригласи друзей", - "freeProCredits.shareWithFriends": "Поделитесь своим кодом с друзьями, чтобы получить несколько месяцев бесплатного использования.", - "freeProCredits.shareWithFriendsDesc": "За каждого друга, который купит двухлетний план, вы получите 3 месяца бесплатного использования, а годичный план дает 1 месяц.", - "cards.serverLocation.unknown": "Неизвестно", - "cards.serverLocation.description": "Оптимальное местоположение сервера", - "cards.serverLocation.description-free": "Местоположение сервера", - "cards.serverLocation.description-upgrade": "Перейдите на расширенную версию для доступа к более быстрым серверам ", - "cards.serverLocation.title": "Текущее местоположение:", - "cards.serverLocation.location": "%s, %s", - "cards.serverLocation.text": "Lantern использует интеллектуальный выбор серверов, чтобы автоматически находить самое быстрое соединение из наших центров обработки данных в Токио, Сингапуре, Гонконге, Сан-Франциско, Нью-Йорке, Амстердаме, Бангалоре и других городах.", - "cards.serverLocation.text-free": "Lantern использует интеллектуальный выбор серверов, чтобы подключать вас к оптимальным центрам обработки данных.", - "cards.serverLocation.upgrade-link": "Перейдите на Lantern Pro, чтобы увеличить скорость работы за счет оптимального выбора серверов в наших выделенных центрах обработки данных.", - "cards.httpsUpgrades.description": "Обновление HTTPS", - "cards.httpsUpgrades.title": "Обновление HTTPS: %d", - "cards.httpsUpgrades.text": "Lantern автоматически обновляет незащищенные HTTP-соединения с зашифрованными соединениями HTTPS, когда это возможно, чтобы ваша информация была конфиденциальной во время серфинга в Интернете.", - "cards.adsBlocked.description": "Блокировка рекламы", - "cards.adsBlocked.title": "Заблокировано рекламных объявлений: %d", - "cards.adsBlocked.text": "Lantern блокирует навязчивую рекламу, чтобы ускорить время загрузки веб-страницы, сохранить пропускную способность и дать вам более плавный просмотр.", - "cards.dataUsage.description": "Использование данных", - "cards.dataUsage.upgrade": "Перейдите сейчас", - "cards.dataUsage.mb-used": "Вы использовали %d/%dМБ от своего скоростного трафика в месяц.", - "cards.dataUsage.upgrade-link": "Обновите сейчас для неограниченного высокоскоростного сервиса!", - "cards.subscription.description": "Подписка Pro", - "cards.subscription.renew": "Возобновить", - "cards.subscription.months": "У вас осталось %d мес. подписки на Lantern Pro.", - "cards.subscription.days": "У вас осталось %d дн. подписки на Lantern Pro.", - "cards.subscription.unit.months": "мес.", - "cards.subscription.unit.days": "ДН.", - "cards.subscription.renew-link": "Продлите свою подписку.", - "auth.email": "Электронная почта", - "auth.username": "Имя пользователя", - "auth.username.or.email": "Имя пользователя или адрес электронной почты", - "auth.signin": "Вход", - "current.password": "Текущий пароль", - "new.password": "Новый пароль", - "auth.change.password": "Изменить пароль", - "confirm.new.password": "Подтвердите новый пароль", - "auth.password": "Пароль", - "auth.have.recovery.phrase": "У вас есть фраза для восстановления?", - "auth.forgot.password": "Забыли или не создавали пароль?", - "auth.create.account": "Создать аккаунт", - "auth.missing.username": "Отсутствует имя пользователя", - "auth.missing.current.password": "Отсутствует текущий пароль", - "auth.missing.new.password": "Отсутствует новый пароль", - "auth.missing.confirm.password": "Отсутствует подтверждение пароля", - "invalid_credentials": "Недействительные учетные данные", - "yinbi.wallet": "Кошелек Yinbi", - "create.wallet": "Создать кошелек", - "new.to.yinbi": "Раньше не пользовались Yinbi?", - "setup.wallet": "Да, давайте создадим новый кошелек!", - "web.wallet": "Нет, у меня есть кошелек на сайте Yin.bi", - "yinbi.next": "Далее", - "yinbi.amount": "Сумма", - "yinbi.missing.address": "Адрес назначения не указан", - "yinbi.missing.amount": "Сумма не указана", - "yinbi.missing.email": "Электронная почта не указана", - "yinbi.missing.username": "Имя пользователя не указано", - "yinbi.missing.password": "Пароль не указан", - "yinbi.invalid.address": "{{destination}} не является действительным адресом Stellar", - "yinbi.send": "Отправить", - "yinbi.to": "Кому:", - "yinbi.try_again": "Повторить попытку?", - "yinbi.success.transaction": "Транзакция завершена!", - "yinbi.failure.transaction": "Сбой транзакции", - "yinbi.confirm.transaction": "Подтверждение транзакции", - "yinbi.sent.details": "Вы послали {{amount}} YNB в {{destination}}", - "yinbi.sent.failure.details": "Причины сбоя транзакции:", - "yinbi.recipient": "Получатель", - "yinbi.available.send": "Вы можете отправить до {{balance}} YNB", - "yinbi.wallet.header": "Кошелек", - "yinbi.send.header": "Отправить Yinbi", - "yinbi.recovery.phrase": "Фраза для восстановления кошелька Yinbi", - "yinbi.recover.account": "Введите или вставьте фразу для восстановления кошелька Yinbi, чтобы восстановить кошелек Yinbi и аккаунт Lantern", - "yinbi.recovery.desc": "Используйте этот способ, чтобы вместе с учетной записью Lantern войти также в кошелек Yinbi", - "yinbi.redeem.codes": "Использовать пакет кодов Yinbi", - "yinbi.obtain.codes": "Пакеты кодов для получения Yinbi доступны по адресу reseller.lantern.io", - "yinbi.receive.header": "Получить Yinbi", - "yinbi.this.is.your.wallet": "Это адрес вашего кошелька Yinbi, на который другие пользователи могут отправлять YNB.", - "yinbi.your.address": "Ваш адрес", - "yinbi.no.activity.header": "Действия отсутствуют", - "yinbi.upgrade.pro.button": "Перейдите на версию Pro и получите в подарок криптовалюту Yinbi", - "yinbi.renew.pro.button": "Продлите подписку Pro и получите в подарок криптовалюту Yinbi", - "yinbi.wallet.activity_header": "Действия", - "yinbi.wallet.send": "Отправить", - "yinbi.wallet.receive": "Получить", - "yinbi.wallet.balance": "Баланс", - "yinbi.wallet.getlantern.pro": "Получите Lantern Pro и криптовалюту Yinbi в подарок", - "yinbi.redemption.codes": "Коды для получения Yinbi", - "redeem_codes.title": "Использовать коды Yinbi", - "redeem_codes.redeem_button_text": "Использовать", - "redeem_codes.cancel_button_text": "Отменить ", - "redeem_codes.success": "Успешно", - "redeem_codes.errors.missing_codes": "Действительные коды отсутствуют", - "redeem_codes.errors.invalid_codes": "Произошла ошибка. Проверьте выделенные коды. У зачеркнутых кодов истек срок действия и их нельзя использовать.", - "yinbi.new.account.text": "Здесь отображаются ваши транзакции, связанные с отправкой и получением Yinbi.", - "yinbi.createAccount": "Создать аккаунт", - "yinbi.confirm.account.text": "Чтобы убедиться, что вы написали фразу правильно, введите следующие слова из нее", - "create_account.invalid_words.error": "Введенные слова не совпадали с фразой для восстановления", - "yinbi.recovery_text": "Это ваша фраза для восстановления кошелька Yinbi. Это ЕДИНСТВЕННЫЙ способ восстановить кошелек Yinbi\nв случае утери пароля. Добавьте фразу в менеджер паролей\nили запишите ее на бумаге.", - "yinbi.recovery_confirm_text": "Это ваша фраза для восстановления кошелька Yinbi. Это ЕДИНСТВЕННЫЙ способ восстановить кошелек Yinbi в случае утери пароля. Добавьте фразу в менеджер паролей или запишите ее на бумаге.", - "yinbi.import.wallet": "Импорт кошелька", - "yinbi.setup.wallet": "Настроить кошелек", - "yinbi.importWallet": "Импорт кошелька Yin.bi", - "yinbi.import.wallet.continue": "Перейти к кошельку", - "yinbi.import.wallet.success": "Импорт кошелька завершен!", - "yinbi.wallet.text": "Чтобы пользоваться кошельком Yinbi, вы можете создать аккаунт, войти в систему или\nимпортировать свой кошелек с сайта Yin.bi, если зарегистрировались там\nранее.", - "yinbi.wallet.pro.text": "Чтобы пользоваться кошельком Yinbi, вы можете создать аккаунт и импортировать свой кошелек с сайта Yin.bi, если зарегистрировались там ранее.", - "yinbi.recovery_subheader": "Фраза для восстановления кошелька Yinbi", - "yinbi.import_wallet.subheader": "Импорт кошелька Yinbi", - "yinbi.import_wallet.text": "Войдите в систему, используя учетные данные Yin.bi, чтобы перенести кошелек в Lantern", - "yinbi.import_wallet.success": "Импорт кошелька завершен. Укажите свой адрес электронной почты, чтобы завершить регистрацию учетной записи.", - "yinbi.import_wallet.success_subheader": "Импорт завершен!", - "yinbi.import_wallet.button": "Импорт кошелька Yin.bi", - "yinbi.import_wallet.success_button": "Завершить регистрацию", - "yinbi.recovery_passphrase.label_text": "Фраза для восстановления", - "yinbi.recovery_passphrase.copy_button_text": "Копировать", - "terms_of_service.notice": "Уведомление", - "terms_of_service.i_agree": "Принимаю", - "platinum": "Platinum", - "platinum.one_year": "Цены на 1 год", - "platinum.two_years": "Цены на 2 года", - "platinum.save": "Экономия до {{savings}}%!\n ", - "platinum.unlimited": "Безлимитный трафик", - "platinum.logs": "Нет логов", - "platinum.devices": "Подключение до трех устройств", - "platinum.everything_in_pro": "Все, что включено в Pro", - "platinum.faster_data": "Более быстрые центры обработки данных", - "platinum.dedicated": "Выделенная линия", - "platinum.reliability": "Повышенная надежность", - "platinum.platinum_one_year": "Lantern Platinum 1 год", - "platinum.platinum_two_years": "Lantern Platinum 2 года", - "platinum.pro_one_year": "Lantern Pro 1 год", - "platinum.pro_two_years": "Lantern Pro 2 года", - "platinum.total": "Всего ", - "platinum.free": "Бесплатно", - "platinum.credit.days": "+ {{ days }} дней", - "platinum.credit.months": "{{ months }} месяц(ев)", - "platinum.upgrade": "Обновить до Platinum", - "platinum.upgrade_details": "Выделенная линия + более быстрые центры обработки данных!", - "platinum.unused_time_disclaimer": "В измененной подписке пользователей Pro, перешедших на Platinum, указано добавленное время, см. выше.", - "p2p.opt_in_description": "Делитесь своим подключением, чтобы другие могли пользоваться Интернетом без цензуры.", - "p2p.active_sharing_description": "Вы поделились доступом в Интернет", - "p2p.dialog.title": "Поделитесь доступом в Интернет", - "p2p.dialog.text.1": "Поделитесь своим подключением, чтобы другие люди получили доступ к Интернету без ограничений. При этом вы станете участником сети волонтеров, объединенных одной целью — сделать Интернет более открытым.", - "p2p.dialog.text.2": "Если вы поделитесь подключением, то ваши идентификационные данные не будут раскрыты, а безопасность не нарушится. Вы сможете закрыть доступ в любой момент.", - "p2p.dialog.yes_button": "ДА, ПОДЕЛИТЬСЯ", - "p2p.dialog.no_button": "ОТМЕНА", - "p2p.banner.introducing": "НОВАЯ ФУНКЦИЯ", - "top_sites.top_sites": "Популярные сайты" -} \ No newline at end of file diff --git a/locale/translation/sk.json b/locale/translation/sk.json deleted file mode 100644 index d65662f1b..000000000 --- a/locale/translation/sk.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "TRAY_SHOW_LANTERN": "Zobraziť Lantern", - "TRAY_QUIT": "Zavrieť Lantern" -} \ No newline at end of file diff --git a/locale/translation/sl_SI.json b/locale/translation/sl_SI.json deleted file mode 100644 index 59cc830d4..000000000 --- a/locale/translation/sl_SI.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "TRAY_SHOW_LANTERN": "Show Lantern", - "TRAY_QUIT": "Quit Lantern" -} \ No newline at end of file diff --git a/locale/translation/sq.json b/locale/translation/sq.json deleted file mode 100644 index 59cc830d4..000000000 --- a/locale/translation/sq.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "TRAY_SHOW_LANTERN": "Show Lantern", - "TRAY_QUIT": "Quit Lantern" -} \ No newline at end of file diff --git a/locale/translation/sv.json b/locale/translation/sv.json deleted file mode 100644 index 59fe4824a..000000000 --- a/locale/translation/sv.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "TRAY_SHOW_LANTERN": "Visa Lantern", - "TRAY_QUIT": "Avsluta Lantern" -} \ No newline at end of file diff --git a/locale/translation/ta.json b/locale/translation/ta.json deleted file mode 100644 index ca11474fd..000000000 --- a/locale/translation/ta.json +++ /dev/null @@ -1,462 +0,0 @@ -{ - "TRAY_LANTERN": "Lantern", - "TRAY_STATUS": "Status: %v", - "TRAY_CONNECT": "Connect", - "TRAY_DISCONNECT": "Disconnect", - "TRAY_SHOW_LANTERN": "Lantern இனை காட்டு", - "TRAY_UPGRADE_TO_PRO": "Upgrade to Pro", - "TRAY_QUIT": "Quit Lantern", - "BACKEND_DATA_TITLE": "No more high speed Lantern data", - "BACKEND_DATA_MESSAGE": "Please upgrade to Pro to keep using Lantern at full speed!", - "BACKEND_DATA_PERCENT_TITLE": "Reached %s of your Lantern data", - "BACKEND_DATA_PERCENT_MESSAGE": "You have used %s of your Lantern high speed data for the month. Upgrade now!", - "BACKEND_CLICK_LABEL": "Open", - "BACKEND_CLICK_LABEL_OPEN": "Open", - "BACKEND_CLICK_LABEL_HELP": "உதவி", - "BACKEND_CLICK_LABEL_GOT_IT": "Got it", - "BACKEND_AUTOUPDATED_TITLE": "Update Lantern to version %s", - "BACKEND_AUTOUPDATED_MESSAGE": "Lantern %s has been downloaded. Please restart Lantern to use it.", - "BACKEND_MITM_INSTALL_CERT": "Lantern wants to install a custom certificate in order to unblock your traffic", - "BACKEND_MITM_INSTALL_CERT_WINDOWS_BODY": "Please allow %v to make changes to your system", - "BACKEND_ALERT_TITLE": "Critical alert needs your attention", - "about.content": "Lantern is an application that delivers fast, reliable and secure access to the open Internet.", - "about.faq": "Read the Lantern FAQs", - "about.open": "Open Internet for Everyone", - "about.questions": "Questions?", - "about.title": "பற்றி", - "account.cancel": "Cancel Pro Account", - "account.free.cap": "{{mb}} MB remaining of your free monthly data", - "account.free.cap.upgrade": "Upgrade to Pro for unlimited high speed data", - "account.freelink.validFor": "valid for %s", - "account.freelink.desc": "To link this device to your Pro account:", - "account.freelink.step1": "1. Open the 'Add Device' menu item on your Pro device.", - "account.freelink.step2": "2. Enter the device linking code, and submit.", - "account.freelink.reminder": "* Make sure you're updated to the latest version of Lantern on your Pro device", - "account.freelink.errorTitle": "Error Linking", - "account.freelink.errorText": "Are you sure you entered the code on your Pro device?", - "account.freelink.headerDesc": "Link this device to your Pro account", - "account.freelink.title": "Device Linking Code", - "account.pro.charge": "Your account will automatically be charged for another year of Lantern Pro at the end of your billing cycle.", - "account.upgrade": "Upgrade to Pro", - "account.pro.email": "Email Address:", - "account.pro.expired": "Your Pro account has expired. Renew now for Unlimited monthly data.", - "account.pro.expiry": "Your Pro account expires in %s days on %s.", - "account.pro.bonusMonths": "This includes your {{bonusMonths}} bonus months!", - "account.pro.thisdevice": "(This Device)", - "account.pro.logout": "LOG OUT", - "account.pro.removedevice": "REMOVE", - "account.pro.devices": "Devices authorized to use your Pro account:", - "account.pro.device.confirm.title": "Deauthorize Device", - "account.pro.device.confirm": "Are you sure you want to remove '{{device}}' from your Lantern Pro account?", - "account.pro.device.one.title": "Only One Device", - "account.pro.device.one": "Sorry, but you cannot remove your last authorized device.", - "account.pro.linkingcode": "Device Linking Code:", - "account.pro.renew": "RENEW PRO ACCOUNT", - "account.prolink.errorTitle": "Error Linking", - "account.prolink.errorText": "Are you sure you copied the code correctly from your other device?", - "account.prolink.successTitle": "Device Linked", - "account.prolink.successText": "You have successfully linked your device! Please wait a moment for your other device to automatically become pro.", - "adyen.paymentMethods.title": "Payment Methods", - "adyen.paymentMethods.storedMethods": "Your payment methods", - "adyen.paymentMethods.otherMethods": "Select other method", - "adyen.paymentMethods.moreMethodsButton": "More payment methods", - "adyen.payButton": "Pay", - "adyen.payButton.formatted": "Pay %@", - "adyen.cancelButton": "நிராகரி", - "adyen.dismissButton": "சரி", - "adyen.storeDetails": "Save for my next payment", - "adyen.payment.redirecting": "You will be redirected", - "adyen.payment.processing": "Your payment is being processed", - "adyen.creditCard.title": "Card Details", - "adyen.creditCard.holderName": "Cardholder name", - "adyen.creditCard.holderName.placeholder": "J. Smith", - "adyen.creditCard.numberField.title": "Card Number", - "adyen.creditCard.numberField.placeholder": "1234 5678 9012 3456", - "adyen.creditCard.numberField.invalid": "Invalid card number", - "adyen.creditCard.expiryDateField.title": "Expiry Date", - "adyen.creditCard.expiryDateField.placeholder": "MM/YY", - "adyen.creditCard.expiryDateField.invalid": "Invalid expiration date", - "adyen.creditCard.expiryDateField.month": "Month", - "adyen.creditCard.expiryDateField.month.placeholder": "MM", - "adyen.creditCard.expiryDateField.year.placeholder": "YY", - "adyen.creditCard.expiryDateField.year": "Year", - "adyen.creditCard.cvcField.title": "CVC / CVV", - "adyen.creditCard.cvcField.placeholder": "123", - "adyen.creditCard.installmentsField": "Number of installments", - "adyen.creditCard.storeDetailsButton": "Remember this card for my next payment", - "adyen.creditCard.oneClickVerification.title": "Verify your card", - "adyen.creditCard.oneClickVerification.message": "Please enter the CVC code for %@", - "adyen.creditCard.oneClickVerification.invalidInput.title": "Invalid CVC", - "adyen.creditCard.oneClickVerification.invalidInput.message": "Please enter a valid CVC to continue.", - "adyen.sepaDirectDebit.ibanField.title": "Account Number (IBAN)", - "adyen.sepaDirectDebit.ibanField.placeholder": "NL53 ABNA 1925 1294 122", - "adyen.sepaDirectDebit.ibanField.invalid": "Invalid account number", - "adyen.sepaDirectDebit.nameField.title": "Holder Name", - "adyen.sepaDirectDebit.nameField.placeholder": "J. Smith", - "adyen.sepaDirectDebit.consentButton": "I agree that the amount below will be debited from my bank account.", - "adyen.sepa.ownerName": "Holder Name", - "adyen.sepa.ibanNumber": "Account Number (IBAN)", - "adyen.giropay.searchField.placeholder": "Bankname / BIC / Bankleitzahl", - "adyen.giropay.minimumLength": "Min. 3 characters", - "adyen.giropay.noResults": "No search results", - "adyen.error.title": "பிழை", - "adyen.error.subtitle.redirect": "Redirect failed", - "adyen.error.subtitle.payment": "Payment failed", - "adyen.error.subtitle.refused": "Payment refused", - "adyen.error.message.unknown": "An unknown error occurred", - "adyen.error.message.cannotConnectToInternet": "Failed to connect to the internet : please check your internet connection.", - "adyen.error.message.cannotConnectToHost": "Failed to connect to our payment server.", - "adyen.error.retryButton": "Try again", - "adyen.idealIssuer.selectField.title": "Bank", - "adyen.idealIssuer.selectField.placeholder": "Select your bank", - "adyen.creditCard.success": "Payment Successful", - "adyen.oneClick.confirmationAlert.title": "Confirm %@ payment", - "adyen.redirect.cannotOpenApp.title": "Cannot Open App", - "adyen.redirect.cannotOpenApp.appNotInstalledMessage": "This app could not be opened because it is not installed on this device.", - "adyen.holderName": "Cardholder name", - "adyen.countryCode": "Country Code", - "adyen.telephone.number": "Telephone number", - "authorize.title": "Authorize Device for Pro", - "authorize.step1.have_pro_device": "I have another Lantern Pro device", - "authorize.step1.link": "Link this device", - "authorize.step1.or": "அல்லது", - "authorize.step1.recover": "I need to recover my Lantern Pro account", - "authorize.step1.start": "start recovery", - "authorize.step1.no_mail": "Don't remember your Email address?", - "authorize.step2b.enter_code": "Enter your Account Recovery Code", - "authorize.step2b.code": "Account Recovery Code", - "authorize.step2b.instruction": "An Email with a recovery code has been sent to {{email}}. This email may take several hours to arrive. Please check your spam folder if you do not find it.", - "authorize.step2b.no_mail": "Didn't receive email", - "authorize.step3.recovery": "Account Recovery", - "authorize.step3.no_email": "Oops! We're having trouble finding that email address. Please provide more information below to help us locate your account.", - "authorize.step3.no_code_received": "Having trouble receiving the recovery email? Enter the information below and we will contact you within 48 hours.", - "authorize.step3.your_email": "Your Email", - "authorize.step3.payment_method": "Payment Method", - "authorize.step3.payment_method_hint": "Select the payment method you used to get Pro", - "authorize.step3.credit_card": "Credit Card", - "authorize.step3.alipay": "AliPay", - "authorize.step3.android_pay": "Android Pay", - "authorize.step3.by_referral": "Received Pro by Referring a friend", - "authorize.step3.payment_account": "Payment Account", - "authorize.step3.payment_account_hint": "Enter your Alipay account information", - "authorize.step3.referral_code": "Your Referral Code", - "authorize.step3.purchase_date": "Purchase Date", - "authorize.step3.note": "Please note any other information that may help us locate your account.", - "authorize.step4.title": "Account Recovery In-Progress", - "authorize.step4.text1": "Thank you! We've received your account recovery request.", - "authorize.step4.text2": "Please allow 48 hours to retrieve your Pro account information.", - "authorize.step4.text3": "We will send information to the email address entered on the previous screen.", - "authorized.continue": "Continue to Pro", - "authorized.text": "This device is now authorized to use your Lantern Pro account!", - "authorized.title": "Device Authorized", - "button.renew": "Renew", - "button.upgrade": "Upgrade", - "button.upgrade_now": "Upgrade Now", - "button.upgrade_to_lantern_pro": "Upgrade to Lantern Pro", - "button.copy_your_code": "Copy your code", - "button.try_again": "Try again", - "button.continue": "தொடர்க", - "bullet.click_button": "Click on the button below", - "bullet.paste_code": "Paste the code & download link in a message", - "bullet.send_to_friends": "Send to your friends", - "cancel": "நிராகரி", - "confirm": "Confirm", - "google_search": "Google Search", - "link_device": "Already have a Pro account? Link device", - "err.unknown_error": "Unknown error", - "err.internal_error": "Internal error", - "err.bad_input": "Bad input", - "err.not_authorized": "Not authorized", - "err.user_exists": "User exists", - "err.no_such_user": "No such user", - "err.user_already_verified": "User already verified", - "err.invalid_user_verification": "Invalid user verification", - "err.user_unverified": "User Unverified", - "err.operation_temporarily_unavailable": "Operation temporarily unavailable", - "err.wrong_or_inexistent_plan": "Wrong or inexistent plan", - "err.user_has_active_subscription": "User has active subscription", - "err.payment_error": "Payment error", - "err.no_codes_left": "No referral codes left", - "err.wrong_code": "Wrong referral code", - "err.redeeming_own_code_not_allowed": "Redeeming codes of oneself is not allowed", - "err.wrong_charge_id": "Wrong charge ID", - "footer.reseller": "Make Money! Become a Lantern Pro reseller. Click Here", - "footer.reseller.email_subject": "Tell me about the Lantern Reseller Program!", - "footer.reseller.email_body": "When you become a Lantern Reseller you will have the opportunity to make up to 25% on every sale of a Lantern Pro subscription. Tell us a bit about why you want to become a reseller below.", - "feature.faster_speed": "Faster Speed", - "feature.faster": "Faster data centers", - "feature.unlimited": "Unlimited data", - "feature.nologs": "No Logs", - "feature.devices": "Connect up to 3 devices", - "feature.noads": "No Ads", - "feature.antiblock": "Blocking Resistant", - "feature.data_center": "Better Data Centers", - "feature.free_yinbi": "Free Yinbi Cryptocurrency!", - "free.title": "Lantern Pro", - "free.desc": "Faster. Stronger. Unlimited. Secure.", - "free.link_account": "Already have a Pro account? Link your account.", - "home.get_lantern_pro": "Get Lantern Pro", - "input.email": "Email", - "input.your_email": "Your Email Address", - "input.confirm_email": "Confirm Email Address", - "input.enter_email": "Enter your email", - "input.use_valid_email": "Write a valid email address", - "input.email_not_match": "Email fields do not match", - "issue.your_email": "Your Email", - "issue.attach_image_failure": "Cannot attach image", - "issue.try_again": "Please try again", - "issue.select_issue": "Please Select an Issue", - "issue.selected_issue": "Select Issue", - "issue.select_issue_hint": "Select an issue from the dropdown menu", - "issue.note": "Describe your Issue", - "issue.description": "Issue Description", - "issue.error": "Error reporting issue", - "issue.submit": "Send Report", - "issue.report_screenshot": "Drag image or click to upload screenshot", - "issue.reported": "Thank you for reporting your issue, we will get back to you via Email as soon as we are able", - "issue.report_sent": "Report Sent", - "issue.type.no_access": "Cannot access blocked sites", - "issue.type.payment_fail": "Cannot complete the payment", - "issue.type.cannot_login": "Cannot log in", - "issue.type.always_spinning": "Loading spinner spins endlessly", - "issue.type.slow": "Slow", - "issue.type.cannot_link_device": "Cannot link devices", - "issue.type.crashes": "Lantern crashes", - "issue.type.other": "Other", - "languages.title": "Languages", - "mobile.link": "Use the link to download Lantern on your Android device:", - "mobile.title": "Get Android Version", - "nav.about": "பற்றி", - "nav.account": "Account Management", - "nav.authorize": "Add Device", - "nav.authorized": "Device Authorized", - "nav.unauthorized_link": "Authorize Device for Pro", - "nav.language": "மொழி", - "nav.lantern": "Lantern", - "nav.mobile": "Get Mobile Version", - "nav.report_issue": "Report an Issue", - "nav.settings": "அமைப்புக்கள்", - "nav.verify": "Account Verification", - "nav.yinbi": "Yinbi Redemption", - "nav.home": "Home", - "nav.discover": "Discover", - "nav.wallet": "Wallet", - "nav.yinbi_wallet": "Yinbi Wallet", - "notification.retry": "மீளமுயற்சி", - "notifications.whatisnew": "What's New?", - "payment.close": "மூடு", - "payment.wait_for_pro": "Thanks for your purchase of Lantern Pro! Please wait a moment for your Lantern to automatically become Pro.", - "payment_methods.select_name": "Select payment method", - "payment_methods.alipay": "Credit Card/Alipay", - "payment_methods.shetab": "Fast World Pay (Shetab)", - "payment_methods.shetab.details.header": "To purchase Lantern Pro", - "payment_methods.shetab.details.body": "When you click continue to purchase you will be redirected to an external site to complete payment and collect your activation code.", - "payment_methods.shetab.details.tutorial_header": "Farsi tutorial", - "payment_methods.shetab.details.purchase_voucher_button": "Continue To Purchase", - "payment_methods.shetab.details.input_code_button": "Input Activation Code", - "plan.step1": "Step 1", - "plan.apply": "Apply", - "plan.step2": "Step 2", - "plan.step3": "Step 3", - "plan.choose_plan": "Choose Plan", - "plan.enter_email": "Enter Email", - "plan.bestValue": "Best Deal!", - "plan.per_month": "per month", - "plan.yinbi_2x": "+ 2x Yinbi!", - "plan.oneYear": "1 year", - "plan.add_referral": "Add Referral Code", - "plan.years": "{{years}} year plan", - "plan.desc": "{{price}} billed one time", - "plan.price.cny": "¥%.02f", - "plan.price.usd": "$%.02f", - "plan.currency.cny": "(RMB)", - "plan.currency.usd": "(USD)", - "plan.time_unit": "/YR", - "plan.select": "Select", - "plans.title": "Lantern Pro Plans", - "plans.lantern_pro": "Lantern Pro", - "plans.platforms": "For Windows, Android, Mac, Ubuntu.", - "plans.from_reseller": "Have a Lantern Pro activation code? Click here", - "plans.with_voucher_code": "Have an activation code? Click here.", - "pro.apply": "Your credits will be applied to your account in the next billing cycle.", - "pro.title": "Invite friends, get more Pro for free", - "pro.subtitle": "When your friend purchases the two year plan you each get 3 additional months of Pro, the one year plan gets you each 1 month free.", - "pro.share": "Share your code with friends to start earning more credits!", - "promotion.title": "Lantern Pro Checkout", - "promotion.title.activation": "Lantern Pro Activation", - "promotion.enter_and_confirm_email": "Please enter and confirm your email address", - "promotion.code.hint": "Enter your friend's Referral code (optional)", - "promotion.code.label": "Referral Code", - "promotion.payment": "Continue to Payment", - "promotion.loading": "Loading...", - "promotion.howto_1y": "If a friend shared their referral code with you, enter the code to receive one month of Lantern Pro for free after checkout.", - "promotion.howto_2y": "If a friend shared their referral code with you, enter the code to receive three months of Lantern Pro for free after checkout.", - "promotion.pay": "Pay {{amount}}", - "promotion.select": "Select", - "promotion.promotion_applied_1y": "+1 bonus months", - "promotion.promotion_applied_2y": "+3 bonus months", - "promotion.too_many_referrals": "This referral code has already been added. Check out now to receive your extra months.", - "promotion.activation.enter_and_confirm_email": "Please enter and confirm your email address to register your Lantern Pro account.", - "promotion.activation.label": "XXXXX-XXXXX-XXXXX-XXXXX-XXXXX", - "promotion.activation.hint": "Enter your Activation Code", - "promotion.activation.howto": "Please enter your 25 character Lantern Pro activation code above. If you do not have a code, please purchase Pro on the previous screen or look for a Lantern Pro reseller online.", - "promotion.activation.continue": "Continue to Pro", - "promotion.voucher.hint": "Activation Code", - "promotion.voucher.howto": "Please enter your 12 character Fast World Pay activation code above", - "promotion.voucher.label": "XXXXXXXXXXXX", - "promotion.voucher.error.default": "Error redeeming your activation code. Please contact contact@fastworldpay.com for assistance.", - "promotion.voucher.error.invalid_code": "Invalid activation code", - "promotion.voucher.error.invalid_plan": "Activation code associated with an invalid plan", - "promotion.voucher.error.already_redeemed": "Activation code has already been redeemed", - "referral.code": "Share your referral code", - "referral.text": "Use my code %s and get 3 months free when you sign up!", - "renew.title_30_days": "Renew now for 3 months free!", - "renew.title_2_days": "Lantern Pro expires tomorrow.\nRenew now for 3 months free!", - "renew.title_last_day": "Lantern Pro expires today.\nDon't miss out on your Pro discount!", - "renew.title_expired": "Lantern Pro has expired", - "renew.details_30_days": "Your Lantern Pro membership is ending soon, renew now and enjoy up to three months free! This limited time offer is only valid for early renewals.", - "renew.details_2_days": "Your Lantern Pro membership is ending soon, renew now and enjoy up to three months free! This limited time offer is only valid for early renewals.", - "renew.details_last_day": "Renew now and enjoy up to three months free!\nThis is the last day to take advantage of this offer.\nLantern Pro users get faster speeds, unlimited data, better blocking resistance, three devices and no ads.", - "renew.details_expired": "Renew now for an extra 45 days free. Limited time only.\nLantern Pro users get faster speeds, unlimited data, better blocking resistance, three devices and no ads.", - "renew.plan_label": "Lantern Pro - %s", - "renew.plan_renewal_bonus_1_month": "$%d%s + 1 FREE MONTH", - "renew.plan_renewal_bonus_months": "$%d%s + %d FREE MONTHS", - "renew.plan_renewal_bonus_days": "$%d%s + %d FREE DAYS", - "renew.next": "next", - "renew.decline": "Decline Offer", - "renew.decline_question": "Are you sure you want to decline this offer?", - "renew.decline_yes": "Renew later", - "renew.decline_dismiss": "Renew now", - "renew.notification_title_30_days": "Renew Pro now for huge savings!", - "renew.notification_text_30_days": "Your Lantern Pro account expires in {{days}} days. Renew now and get up to 3 months free.", - "renew.notification_title_2_days": "Lantern Pro discount ends tomorrow!", - "renew.notification_text_2_days": "Your Pro account expires tomorrow. Don’t miss this opportunity for a huge discount.", - "renew.notification_title_last_day": "Last chance for a discount!", - "renew.notification_text_last_day": "Your Lantern pro account has expired. Renew today and get up to 3 months free.", - "replica.upload": "Upload", - "replica.relevance": "Relevance", - "replica.upload_date": "Upload Date", - "replica.gallery_view": "Gallery View", - "replica.list_view": "List View", - "replica.copy_lantern_link": "Copy Lantern Link", - "replica.delete_file": "Delete File", - "replica.docs": "Docs", - "replica.other": "Other", - "replica.apps": "Apps", - "replica.images": "Images", - "replica.videos": "Videos", - "replica.next": "Next", - "replica.previous": "Previous", - "replica.select_all": "Select All", - "replica.search_replica": "Search Public Files", - "replica.no_files_found": "No Files Found", - "replica.or_content": "your own content for other people to find!", - "replica.try_again": "Try a different keyword, or", - "replica.upload_success": "Upload Success!", - "replica.cannot_preview": "No preview for this filetype", - "replica.size": "Size", - "replica.uploaded": "Uploaded", - "replica.invalid_link": "Invalid Link", - "replica.close": "மூடு", - "replica.my_files": "My Files", - "replica.filename": "File Name", - "replica.filename_required": "File Name (required)", - "replica.filetype": "Filetype", - "replica.sortby": "Sort By", - "replica.link": "Replica link", - "replica.collapse": "Collapse", - "replica.publish": "Publish", - "replica.cancel": "நிராகரி", - "replica.delete": "Delete", - "replica.failed_to_delete": "Failed to delete", - "replica.link_lookup_failure": "Failed to find link", - "replica.delete_file_confirmation_1": "Are you sure you want to delete", - "replica.delete_file_confirmation_2": "from your uploads", - "replica.share_file": "Share File", - "replica.download_and_view": "Download/View", - "replica.download": "தரவிறக்கு", - "replica.copy_link": "Copy Replica Link", - "replica.find_file": "Find file", - "replica.file_drop_prompt": "Drag file here or browse to post", - "settings.general": "General", - "settings.feedback": "Feedback", - "settings.autoLaunch": "Run Lantern on system start", - "settings.autoReport": "Securely report usage statistics to contribute to Lantern", - "settings.proxyAll": "Proxy all traffic", - "settings.proxyAllHelpTitle": "WHAT DOES \"PROXY ALL TRAFFIC\" DO?", - "settings.proxyAllHelp1": "If enabled, all traffic will be sent through Lantern (most Secure option).", - "settings.proxyAllHelp2": "If disabled, only blocked traffic will be sent through Lantern (fastest option, most common).", - "settings.show_advanced": "Show Advanced Settings", - "settings.hide_advanced": "Hide Advanced Settings", - "settings.systemProxy": "Manage system proxy", - "settings.title": "அமைப்புக்கள்", - "settings.http_proxy": "HTTP(S) proxy:", - "settings.socks_proxy": "SOCKS proxy:", - "settings.caution": "Caution:", - "settings.caution_text": "When you uncheck \"Manage system proxy\" your browser and applications won't be able to use Lantern automatically. If you know how to manually configure these settings refer to the information above.", - "settings.select_language": "Select Langauge", - "status.lantern": "Lantern is", - "status.click_reconnect": "Click here to reconnect", - "status.server_location": "Server Location", - "status.tooltip1": "Lantern uses smart server selection to connect you to our best data centers.", - "status.tooltip2": "Upgrade to Lantern Pro for faster speed with optimized server selection from our exclusive Lantern Pro data centers", - "status.protected_connection": "Your Connection is Protected", - "status.please_wait": "This may take a minute or two...", - "status.connecting": "Connecting...", - "status.no_internet": "Off", - "status.no_internet_connection": "No Internet connection", - "status.connected": "On", - "status.disconnected": "Off", - "status.throttled": "Speed Throttled (Data Cap)", - "status.no_system_proxy": "{{status}}, not managing system proxy", - "status.fail_to_set_system_proxy": "Failed to set Lantern as system proxy", - "status.fail_to_open_browser": "Failed to open browser window to show the Lantern user interface", - "terms_of_service.acknowledgment": "By clicking {{buttonText}}, you agree to our Terms of Service", - "verify.header": "Want to link another device to this Pro account? Enter your Device Linking Code below", - "verify.code": "Device Linking Code", - "verify.howto_1": "If you have a Lantern Pro account on another device, please enter your e-mail address here to receive a code to authorize the device", - "verify.howto_1a": "You're currently an unauthorized Pro user. Please enter your e-mail address to authorize your Pro account. This will enable you to link multiple devices.", - "verify.howto_3": "1. Open the 'Authorize Device for Pro' menu item on your unauthorized device.", - "verify.howto_4": "2. Enter the linking code obtained from step 1, and submit.", - "verify.reminder": "*Make sure you are updated to the latest version of Lantern on your unauthorized device", - "verify.submit": "Submit", - "verify.title": "Account Verification", - "welcomeToPro.continue": "Continue to Pro", - "welcomeToPro.invite": "Invite friends and you will each get 3 months free when they purchase the two-year plan, the one year plan gets you each 1 month free. Start inviting!", - "welcomeToPro.thanks": "Thanks for your purchase of Lantern Pro!", - "welcomeToPro.title": "Welcome To Lantern Pro", - "messages.copied_to_clipboard": "Code Copied. Share it with your friends!", - "messages.datacap": "You have used your free high speed data. Upgrade to Pro for unlimited high speed data.", - "messages.fatal_error": "Sorry, we're having trouble contacting the Lantern servers. Please check your internet connection and try again.", - "messages.backend_gone": "Sorry, Lantern appears to no longer be running. Please restart Lantern and try again.", - "messages.get_help": "Get Help", - "freeProCredits.title": "Invite Friends", - "freeProCredits.shareWithFriends": "Share your code with friends to earn free months!", - "freeProCredits.shareWithFriendsDesc": "When your friend purchases the two year plan you will each get 3 months free, the one year plan gets you each 1 month free.", - "cards.serverLocation.unknown": "Unknown", - "cards.serverLocation.description": "Optimized Server Location", - "cards.serverLocation.description-free": "Server Location", - "cards.serverLocation.description-upgrade": "Upgrade for Faster Servers", - "cards.serverLocation.title": "Current Location:", - "cards.serverLocation.location": "%s, %s", - "cards.serverLocation.text": "Lantern uses smart server selection to automatically find you the fastest connection possible from our data centers in Tokyo, Singapore, Hong Kong, San Francisco, New York, Amsterdam, Bangalore and more.", - "cards.serverLocation.text-free": "Lantern uses smart server selection to connect you to our best data centers.", - "cards.serverLocation.upgrade-link": "Upgrade to Lantern Pro for faster speed with optimized server selection from our exclusive Lantern Pro data centers.", - "cards.httpsUpgrades.description": "HTTPS Upgrades", - "cards.httpsUpgrades.title": "HTTPS Upgrades: %d", - "cards.httpsUpgrades.text": "Lantern automatically upgrades unsecure HTTP connections to encrypted HTTPS connections when possible to keep your information private while surfing the web.", - "cards.adsBlocked.description": "Ads Blocked", - "cards.adsBlocked.title": "Blocked Ads: %d", - "cards.adsBlocked.text": "Lantern blocks intrusive ads to speed up web page loading time, save bandwidth, and to give you a smoother browsing experience.", - "cards.dataUsage.description": "Data Usage", - "cards.dataUsage.upgrade": "Upgrade now", - "cards.dataUsage.mb-used": "You have used %d/%dMB of your monthly high speed data.", - "cards.dataUsage.upgrade-link": "Upgrade now for unlimited high speed service!", - "cards.subscription.description": "Pro Subscription", - "cards.subscription.renew": "Renew", - "cards.subscription.months": "You have %d months of Lantern Pro left in your subscription.", - "cards.subscription.days": "You have %d days of Lantern Pro left in your subscription.", - "cards.subscription.unit.months": "MO", - "cards.subscription.unit.days": "DAYS", - "cards.subscription.renew-link": "Renew your subscription to add more time." -} \ No newline at end of file diff --git a/locale/translation/te.json b/locale/translation/te.json deleted file mode 100644 index 59cc830d4..000000000 --- a/locale/translation/te.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "TRAY_SHOW_LANTERN": "Show Lantern", - "TRAY_QUIT": "Quit Lantern" -} \ No newline at end of file diff --git a/locale/translation/th.json b/locale/translation/th.json deleted file mode 100644 index 06d6b2111..000000000 --- a/locale/translation/th.json +++ /dev/null @@ -1,797 +0,0 @@ -{ - "LANTERN": "Lantern", - "pro": "Pro", - "BEAM": "Beam", - "TRAY_STATUS": "สถานะ: %v", - "TRAY_CONNECT": "เชื่อมต่อ", - "TRAY_DISCONNECT": "ตัดการเชื่อมต่อ", - "TRAY_SHOW": "แสดง %s", - "TRAY_UPGRADE_TO_PRO": "อัปเกรดเป็น Pro", - "TRAY_QUIT": "ออกจาก %s", - "BACKEND_DATA_TITLE": "ไม่มีข้อมูลความเร็วสูงสำหรับ %s เหลืออยู่", - "BACKEND_DATA_MESSAGE": "โปรดอัปเกรดเป็น Pro เพื่อใช้ %s ที่ความเร็วสูงสุดต่อไป!", - "BACKEND_DATA_PERCENT_TITLE": "ถึง %s ของข้อมูล %s แล้ว", - "BACKEND_DATA_PERCENT_MESSAGE": "คุณได้ใช้ข้อมูลความเร็วสูงของ %s สำหรับเดือนนี้ไปแล้ว %s อัปเกรดตอนนี้!", - "BACKEND_CLICK_LABEL": "เปิด", - "BACKEND_CLICK_LABEL_OPEN": "เปิด", - "BACKEND_CLICK_LABEL_HELP": "Help", - "BACKEND_CLICK_LABEL_GOT_IT": "เข้าใจแล้ว", - "BACKEND_AUTOUPDATED_TITLE": "อัปเดต %s เป็นเวอร์ชัน %s", - "BACKEND_AUTOUPDATED_MESSAGE": "ดาวน์โหลด %s %s แล้ว โปรดรีสตาร์ท %s เพื่อใช้งาน", - "BACKEND_MITM_INSTALL_CERT": "%s ต้องการติดตั้งใบรับรองที่กำหนดเองเพื่อเพิ่มประสิทธิภาพ", - "BACKEND_MITM_INSTALL_CERT_WINDOWS_BODY": "โปรดอนุญาตให้ทำการเปลี่ยนแปลงกับระบบของคุณ", - "BACKEND_ALERT_TITLE": "การแจ้งเตือนที่สำคัญต้องได้รับการพิจารณาจากคุณ", - "BACKEND_INSTALL_DIAGNOSTIC_TOOLS": "%s ต้องได้รับการอนุญาตจากคุณเพื่อติดตั้งเครื่องมือวินิจฉัย ที่จะช่วยให้เราพัฒนาประสบการณ์ %s ของคุณ", - "BACKEND_CONFIG_SAVE_ERROR_TITLE": "ไม่สามารถบันทึกการกำหนดค่าได้", - "BACKEND_CONFIG_SAVE_ERROR_MESSAGE": "ไม่สามารถบันทึกการกำหนดค่าแอปพลิเคชันได้ %s ไม่สามารถการันตีได้ว่าการเข้าชมนั้นจะมีการรับส่งข้อมูลอย่างถูกต้อง", - "about.content": "Lantern เป็นแอปพลิเคชันเพื่อการเข้าถึงอินเทอร์เน็ตเปิดได้อย่างรวดเร็ว เชื่อถือได้ และปลอดภัย", - "app.error": "มีบางอย่างผิดพลาด!", - "about.faq": "อ่านคำถามที่พบบ่อยของ Lantern", - "about.open": "อินเทอร์เน็ตแบบเปิดสำหรับทุกคน", - "about.questions": "มีคำถามหรือไม่", - "about.title": "เกี่ยวกับ", - "account.add.password": "เพิ่มรหัสผ่านสำหรับบัญชี", - "account.agree.terms": "ฉันเข้าใจว่าการลืมรหัสผ่านหมายถึงการเสีย\nการเข้าถึงบัญชี Lantern ไม่สามารถช่วยเหลือให้คุณกู้\nรหัสผ่านของคุณได้", - "account.agree.terms.error": "ต้องยอมรับเงื่อนไขก่อน", - "account.cancel": "ยกเลิกบัญชี Pro", - "account.created": "สร้างบัญชีแล้ว!", - "account.create.pro.account.header": "สร้างบัญชี Pro", - "account.create.pro.account.text": "Lantern กำลังปรับเปลี่ยนวิธีการจัดการบัญชีผู้ใช้ จากนี้ไปผู้ใช้ Pro จะต้องสร้างชื่อผู้ใช้และรหัสผ่าน ข้อมูลนี้จะถูกใช้เพื่อลงชื่อเข้าใช้กับอุปกรณ์อื่น และมอบการเข้าถึงฟีเจอร์ใหม่ๆ", - "account.have.a.account": "มีบัญชีหรือไม่?", - "account.link.username.pro": "เชื่อมต่อชื่อผู้ใช้กับบัญชี Pro", - "account.recovery": "การกู้คืนบัญชี", - "account.recovery.link.device": "เชื่อมโยงอุปกรณ์", - "account.recovery.device.code": "รหัสเชื่อมโยงอุปกรณ์", - "account.recovery.device.enter.code": "ป้อนหรือวางพินการเชื่อมโยงอุปกรณ์", - "account.recovery.device.instructions.header": "เพื่อเชื่อมโยงอุปกรณ์นี้กับบัญชี Pro ของคุณ:", - "account.recovery.device.instructions.step.one": "1. เลือกตัวเลือก 'เชื่อมโยงอุปกรณ์' จากรายการในหน้าจอการจัดการบัญชีบนอุปกรณ์ Desktop Pro หรือจากเมนูบนอุปกรณ์ Mobile Pro ของคุณ", - "account.recovery.device.instructions.step.two": "2. ป้อนรหัสเชื่อมโยงอุปกรณ์ แล้วส่ง", - "account.recovery.device.instructions.part.three": "*ตรวจสอบให้แน่ใจว่าอุปกรณ์ทั้งสองใช้ Lantern เวอร์ชันล่าสุด", - "account.recovery.method": "โปรดเลือกวิธีกู้คืนบัญชีของคุณ", - "account.recovery.send.email": "ส่งอีเมล", - "account.recovery.submit": "ส่ง", - "account.recovery.success": "เชื่อมโยงสำเร็จ!", - "account.pro_management": "การจัดการบัญชี Pro", - "account.free_management": "การจัดการบัญชี", - "account.free.cap": "เหลือข้อมูลรายเดือนฟรีของคุณอยู่อีก {{mb}} MB", - "account.free.cap.upgrade": "อัปเกรดเป็น Pro เพื่อใช้ข้อมูลความเร็วสูงแบบไม่จำกัด", - "account.freelink.validFor": "ใช้ได้สำหรับ %s", - "account.freelink.desc": "เพื่ออนุญาตให้อุปกรณ์นี้ใช้บัญชี Pro ของคุณ:", - "account.freelink.step1": "1. เลือกตัวเลือก 'เชื่อมโยงอุปกรณ์' จากเมนูบนอุปกรณ์ Pro ของคุณ", - "account.freelink.step2": "2. ป้อนรหัสเชื่อมโยงอุปกรณ์ แล้วส่ง", - "account.freelink.reminder": "*ตรวจสอบให้แน่ใจว่าอุปกรณ์ทั้งสองใช้ Lantern เวอร์ชันล่าสุด", - "account.freelink.errorTitle": "เกิดข้อผิดพลาดในการเชื่อมโยง", - "account.freelink.errorText": "คุณแน่ใจหรือไม่ว่าได้ป้อนรหัสบนอุปกรณ์ Pro ของคุณ", - "account.freelink.headerDesc": "เชื่อมโยงอุปกรณ์นี้กับบัญชี Pro ของคุณ", - "account.freelink.title": "รหัสเชื่อมโยงอุปกรณ์", - "account.pro.charge": "บัญชีของคุณจะถูกเรียกเก็บเงินอีกหนึ่งปีสำหรับ Lantern Pro เมื่อสิ้นสุดรอบการเรียกเก็บเงินของคุณ", - "account.upgrade_pro": "อัปเกรดเป็น Pro", - "account.upgrade": "อัปเกรด", - "account.upgrade_platinum": "อัปเกรดเป็น Platinum", - "account.create": "สร้างบัญชี", - "account.email": "อีเมล", - "account.confirm.password": "ยืนยันรหัสผ่าน", - "account.password": "รหัสผ่าน", - "account.pro.email": "อีเมล:", - "account.pro.expiration": "การหมดอายุของบัญชี Pro", - "account.platinum.expiration": "การหมดอายุบัญชี Platinum", - "account.pro.expired": "บัญชี Pro ของคุณหมดอายุแล้ว ต่ออายุข้อมูลรายเดือนไม่ จำกัด", - "account.pro.expiry": "บัญชี Pro ของคุณจะหมดอายุใน %s วัน ในวันที่ %s", - "account.pro.bonusMonths": "รวมถึงโบนัส {{bonusMonths}} เดือนของคุณแล้ว!", - "account.pro.thisdevice": "(อุปกรณ์นี้)", - "account.pro.logout": "ออกจากระบบ", - "account.pro.removedevice": "เอาออก", - "account.pro.devices": "อุปกรณ์ Lantern Pro (สูงสุด 3 เครื่อง)", - "account.pro.device.confirm.title": "เลิกอนุญาตอุปกรณ์", - "account.pro.device.confirm": "คุณแน่ใจหรือไม่ว่าต้องการเอา '{{device}}' ออกจากบัญชี Lantern Pro ของคุณ", - "account.pro.device.one.title": "หนึ่งอุปกรณ์เท่านั้น", - "account.pro.device.one": "ขออภัย คุณไม่สามารถลบอุปกรณ์ที่ได้รับอนุญาตล่าสุดได้", - "account.pro.linkingcode": "รหัสเชื่อมโยงอุปกรณ์:", - "account.pro.renew": "ต่ออายุบัญชี Pro", - "account.platinum.renew": "ต่ออายุบัญชี Platinum", - "account.pro.renew_CN": "ต่ออายุ", - "account.prolink.errorTitle": "เกิดข้อผิดพลาดในการเชื่อมโยง", - "account.prolink.errorText": "คุณแน่ใจหรือไม่ว่าได้คัดลอกรหัสมาอย่างถูกต้องจากอุปกรณ์อื่นของคุณ", - "account.prolink.successTitle": "อุปกรณ์ที่เชื่อมโยง", - "account.prolink.successText": "คุณเชื่อมโยงอุปกรณ์เรียบร้อยแล้ว! โปรดรอสักครู่เพื่อให้อุปกรณ์อื่น ๆ ของคุณกลายเป็น Pro โดยอัตโนมัติ", - "account.signin": "Sign In", - "account.signout": "ออกจากระบบ", - "account.submit": "ส่ง", - "account.username": "ชื่อผู้ใช้", - "account.switch.to.register": "สลับไปยังการสร้างบัญชี", - "account.switch.to.signin": "สลับเพื่อเข้าสู่ระบบ", - "account.invalid.username": "ชื่อผู้ใช้ไม่ถูกต้อง", - "account.invalid.email": "อีเมลไม่ถูกต้อง", - "account.password.mismatch": "ยืนยันรหัสผ่านไม่ตรงกันกับรหัสผ่าน", - "account.password.short": "รหัสผ่านสั้นเกินไป", - "account.password.lowercase": "รหัสผ่านต้องมีอักษรตัวพิมพ์เล็กอย่างน้อยหนึ่งตัว", - "account.password.uppercase": "รหัสผ่านต้องมีอักษรตัวพิมพ์ใหญ่อย่างน้อยหนึ่งตัว", - "account.password.number": "รหัสผ่านต้องมีตัวเลขอย่างน้อยหนึ่งตัว", - "account.password.compromised": "รหัสผ่านจะปรากฏบนรายการรหัสผ่านที่ถูกลดหย่อนความปลอดภัย", - "modal.register.free.header": "ลงทะเบียนหรือลงชื่อเข้าใช้เพื่อเข้าถึงกระเป๋าสตางค์ Yinbi", - "modal.register.pro.header": "เพิ่มรหัสผ่านบัญชีเพื่อเข้าถึงกระเป๋าสตางค์ Yinbi", - "modal.register.pro.signin.header": "ลงชื่อเข้าใช้เพื่อเข้าถึงกระเป๋าสตางค์ Yinbi", - "modal.register.free.text": "คุณต้องมีบัญชี Lantern ในการใช้กระเป๋าสตางค์ Yinbi โปรดลงทะเบียนหรือ\nลงชื่อเข้าใช้เพื่อดำเนินการต่อ", - "modal.register.pro.text": "หากต้องการใช้กระเป๋าสตางค์ Yinbi คุณต้องเพิ่มรหัสผ่านเข้าไปในบัญชี Lantern ของคุณ", - "modal.register.pro.signin.text": "หากต้องการใช้กระเป๋าสตางค์ Yinbi คุณต้องลงชื่อเข้าใช้บัญชี Lantern ของคุณ", - "adyen.paymentMethods.title": "วิธีการชำระเงิน", - "adyen.paymentMethods.storedMethods": "วิธีการชำระเงินของคุณ", - "adyen.paymentMethods.otherMethods": "เลือกวิธีอื่น", - "adyen.paymentMethods.moreMethodsButton": "วิธีการชำระเงินเพิ่มเติม", - "adyen.payButton": "ชำระเงิน", - "adyen.payButton.formatted": "ชำระ %@", - "adyen.cancelButton": "ยกเลิก", - "adyen.dismissButton": "ตกลง", - "adyen.storeDetails": "บันทึกไว้สำหรับการชำระเงินครั้งต่อไป", - "adyen.payment.redirecting": "คุณจะได้รับการเปลี่ยนเส้นทาง", - "adyen.payment.processing": "กำลังดำเนินการชำระเงิน", - "adyen.creditCard.title": "รายละเอียดบัตร", - "adyen.creditCard.holderName": "ชื่อผู้ถือบัตร", - "adyen.creditCard.holderName.placeholder": "J. Smith", - "adyen.creditCard.numberField.title": "หมายเลขบัตร", - "adyen.creditCard.numberField.placeholder": "1234 5678 9012 3456", - "adyen.creditCard.numberField.invalid": "หมายเลขบัตรไม่ถูกต้อง", - "adyen.creditCard.expiryDateField.title": "วันหมดอายุ", - "adyen.creditCard.expiryDateField.placeholder": "ดด/ปป", - "adyen.creditCard.expiryDateField.invalid": "วันหมดอายุไม่ถูกต้อง", - "adyen.creditCard.expiryDateField.month": "เดือน", - "adyen.creditCard.expiryDateField.month.placeholder": "ดด", - "adyen.creditCard.expiryDateField.year.placeholder": "ปป", - "adyen.creditCard.expiryDateField.year": "ปี", - "adyen.creditCard.cvcField.title": "CVC / CVV", - "adyen.creditCard.cvcField.placeholder": "123", - "adyen.creditCard.installmentsField": "จำนวนงวดการผ่อนชำระ", - "adyen.creditCard.storeDetailsButton": "จำบัตรนี้ไว้สำหรับการชำระเงินครั้งต่อไป", - "adyen.creditCard.oneClickVerification.title": "ยืนยันบัตรของคุณ", - "adyen.creditCard.oneClickVerification.message": "โปรดป้อนรหัส CVC สำหรับ %@", - "adyen.creditCard.oneClickVerification.invalidInput.title": "CVC ไม่ถูกต้อง", - "adyen.creditCard.oneClickVerification.invalidInput.message": "โปรดป้อน CVC ที่ถูกต้องเพื่อดำเนินการต่อ", - "adyen.sepaDirectDebit.ibanField.title": "หมายเลขบัญชี (IBAN)", - "adyen.sepaDirectDebit.ibanField.placeholder": "NL53 ABNA 1925 1294 122", - "adyen.sepaDirectDebit.ibanField.invalid": "หมายเลขบัญชีไม่ถูกต้อง", - "adyen.sepaDirectDebit.nameField.title": "ชื่อผู้ถือ", - "adyen.sepaDirectDebit.nameField.placeholder": "J. Smith", - "adyen.sepaDirectDebit.consentButton": "ฉันยอมรับว่าจะมีการหักเงินจากบัญชีธนาคารของฉันตามจำนวนเงินด้านล่างนี้", - "adyen.sepa.ownerName": "ชื่อผู้ถือ", - "adyen.sepa.ibanNumber": "หมายเลขบัญชี (IBAN)", - "adyen.giropay.searchField.placeholder": "ชื่อธนาคาร / BIC / รหัสธนาคาร", - "adyen.giropay.minimumLength": "อักขระอย่างน้อย 3 ตัว", - "adyen.giropay.noResults": "ไม่พบผลการค้นหา", - "adyen.error.title": "ข้อผิดพลาด", - "adyen.error.subtitle.redirect": "การเปลี่ยนเส้นทางล้มเหลว", - "adyen.error.subtitle.payment": "การชำระเงินล้มเหลว", - "adyen.error.subtitle.refused": "การชำระเงินถูกปฏิเสธ", - "adyen.error.message.unknown": "เกิดข้อผิดพลาดที่ไม่รู้จัก", - "adyen.error.message.cannotConnectToInternet": "ไม่สามารถเชื่อมต่ออินเทอร์เน็ตได้: โปรดตรวจสอบการเชื่อมต่ออินเทอร์เน็ตของคุณ", - "adyen.error.message.cannotConnectToHost": "ไม่สามารถเชื่อมต่อกับเซิร์ฟเวอร์การชำระเงินของเรา", - "adyen.error.retryButton": "ลองอีกครั้ง", - "adyen.idealIssuer.selectField.title": "ธนาคาร", - "adyen.idealIssuer.selectField.placeholder": "เลือกธนาคารของคุณ", - "adyen.creditCard.success": "ชำระเงินสำเร็จ", - "adyen.oneClick.confirmationAlert.title": "ยืนยันการชำระเงิน %@", - "adyen.redirect.cannotOpenApp.title": "ไม่สามารถเปิดแอป", - "adyen.redirect.cannotOpenApp.appNotInstalledMessage": "ไม่สามารถเปิดแอปนี้ได้เนื่องจากไม่ได้ติดตั้งบนอุปกรณ์นี้", - "adyen.holderName": "ชื่อผู้ถือบัตร", - "adyen.countryCode": "รหัสประเทศ", - "adyen.telephone.number": "หมายเลขโทรศัพท์", - "android.download": "Lantern Android", - "android.download.title": "ดาวน์โหลด Lantern Android", - "authorize.title": "อนุญาตอุปกรณ์สำหรับ Pro", - "authorize.step1.have_pro_device": "ฉันมีอุปกรณ์ Lantern Pro อื่น", - "authorize.step1.link": "การเชื่อมโยงอุปกรณ์", - "authorize.step1.email_linking": "การเชื่อมโยงอีเมล", - "authorize.device_linking_explanation": "ใช้วิธีนี้หากคุณลงชื่อเข้าใช้ด้วยอุปกรณ์อื่นและมีอุปกรณ์อยู่กับตัว", - "authorize.device_email_explanation": "ใช้วิธีนี้หากคุณต้องการให้ส่งพินเชื่อมโยงอุปกรณ์ไปยังอีเมลของคุณ", - "authorize.link_device": "เชื่อมโยงอุปกรณ์", - "authorize.step1.choose": "โปรดเลือกวิธีเชื่อมโยงบัญชีของคุณ", - "authorize.step1.or": "หรือ", - "authorize.step1.recover": "ฉันต้องการกู้คืนบัญชี Lantern Pro ของฉัน", - "authorize.step1.start": "เริ่มการกู้คืน", - "authorize.step1.no_mail": "จำที่อยู่อีเมลของคุณไม่ได้หรือ", - "authorize.step1.description": "ป้อนอีเมลของคุณ และหากมีบัญชีอยู่เราจะส่งอีเมลพร้อมรหัสเชื่อมโยงอุปกรณ์ให้คุณ", - "authorize.step2b.enter_code": "ป้อนรหัสกู้คืนบัญชีของคุณ", - "authorize.step2b.code": "รหัสกู้คืนบัญชี", - "authorize.step2b.instruction": "อีเมลที่มีรหัสกู้คืนได้ถูกส่งไปยัง {{email}} แล้ว หากมีบัญชีนี้อยู่ อาจจะใช้เวลาหลายชั่วโมงกว่าคุณจะได้รับอีเมลนี้ โปรดตรวจสอบโฟลเดอร์สแปมของคุณหากไม่ได้รับอีเมล", - "authorize.step2b.no_mail": "ไม่ได้รับอีเมล", - "authorize.step3.recovery": "การกู้คืนบัญชี", - "authorize.step3.no_email": "โอ๊ะ! เราพบปัญหาในการค้นหาที่อยู่อีเมลดังกล่าว โปรดให้ข้อมูลเพิ่มเติมด้านล่างเพื่อช่วยเราค้นหาบัญชีของคุณ", - "authorize.step3.no_code_received": "มีปัญหาในการรับอีเมลกู้คืนหรือ ป้อนข้อมูลด้านล่างและเราจะติดต่อคุณภายใน 48 ชั่วโมง", - "authorize.step3.your_email": "อีเมลของคุณ", - "authorize.step3.payment_method": "วิธีการชำระเงิน", - "authorize.step3.payment_method_hint": "เลือกวิธีการชำระเงินที่คุณใช้ในการรับ Pro", - "authorize.step3.credit_card": "บัตรเครดิต", - "authorize.step3.alipay": "AliPay", - "authorize.step3.android_pay": "Android Pay", - "authorize.step3.by_referral": "รับ Pro โดยการแนะนำเพื่อน", - "authorize.step3.payment_account": "บัญชีการชำระเงิน", - "authorize.step3.payment_account_hint": "ป้อนข้อมูลบัญชี Alipay ของคุณ", - "authorize.step3.referral_code": "รหัสแนะนำของคุณ", - "authorize.step3.purchase_date": "วันที่ซื้อ", - "authorize.step3.note": "โปรดทราบข้อมูลอื่น ๆ ที่อาจช่วยเราค้นหาบัญชีของคุณ", - "authorize.step4.title": "ความคืบหน้าในการกู้คืนบัญชี", - "authorize.step4.text1": "ขอบคุณ! เราได้รับคำร้องขอกู้คืนบัญชีของคุณแล้ว", - "authorize.step4.text2": "โปรดรอ 48 ชั่วโมงเพื่อเรียกดูข้อมูลบัญชี Pro ของคุณ", - "authorize.step4.text3": "เราจะส่งข้อมูลไปยังที่อยู่อีเมลที่ป้อนบนหน้าจอก่อนหน้านี้", - "authorized.continue": "ดำเนินการต่อไปยัง Pro", - "authorized.continue.lantern": "ดำเนินการต่อไปยัง Lantern", - "authorized.text": "อุปกรณ์นี้ได้รับอนุญาตให้ใช้บัญชี Lantern Pro ของคุณแล้ว!", - "authorized.title": "อนุญาตอุปกรณ์แล้ว", - "button.account": "บัญชี", - "button.renew": "ต่ออายุ", - "button.upgrade": "อัปเกรด", - "button.upgrade_now": "อัปเกรดเดี๋ยวนี้", - "button.upgrade_to_lantern_pro": "อัปเกรดเป็น Lantern Pro", - "button.copy_your_code": "คัดลอกรหัสของคุณ", - "button.try_again": "ลองอีกครั้ง", - "button.continue": "ดำเนินการต่อ", - "button.continue_to": "ดำเนินการต่อไปยัง {{planType}}", - "bullet.click_button": "คลิกบนปุ่มด้านล่าง", - "bullet.paste_code": "วางรหัสและลิงก์ดาวน์โหลดในข้อความ", - "bullet.send_to_friends": "ส่งไปให้เพื่อนของคุณ", - "cancel": "ยกเลิก", - "confirm": "ยืนยัน", - "norecoveryyinbi": "*ไม่กู้คืนกระเป๋าสตางค์ Yinbi", - "email.recovery.check.email": "ตรวจสอบอีเมลของคุณเพื่อค้นหาข้อความที่มีรหัสการกู้คืน", - "email.recovery.code.label": "ป้อนหรือวางรหัสการกู้คืน", - "email.recovery.no.code": "ไม่ได้รับรหัสใช่ไหม?", - "email.recovery.text": "ป้อนอีเมลของคุณแล้วเราจะส่งรหัสสำหรับการตั้งรหัสผ่านใหม่ให้คุณ\nหากคุณมีกระเป๋าสตางค์ Yinbi วิธีการนี้จะไม่สามารถกู้คืนกระเป๋าสตางค์ Yinbi ของคุณได้ หากต้องการกู้คืนกระเป๋าสตางค์ Yinbi ให้ป้อนวลีในการกู้คืนของ Yinbi", - "email.recovery.desc": "ใช้วิธีนี้หากคุณต้องการให้ส่งรหัสกู้คืนไปยังอีเมลของคุณ", - "device.recovery.desc": "ใช้วิธีนี้หากคุณลงชื่อเข้าใช้ด้วยอุปกรณ์อื่นและมีอุปกรณ์อยู่กับตัว", - "google_search": "ค้นหา Google", - "giveaway.upgrade": "อัปเกรดเพื่อรับของแถมประจำวันนี้ได้ฟรี", - "giveaway.title_released_today": "วันนี้ปล่อย %s YNB!", - "giveaway.what_is_it": "การแจก Yinbi คืออะไร?", - "giveaway.description1": "มูลนิธิ Yinbi มอบเงินดิจิทัลจำนวน 888 พันล้าน YNB ให้กับผู้ซื้อ Lantern Pro โดยเฉพาะผ่านทาง Lantern", - "giveaway.description2": "จะมีการแจก YNB ทุกวันเมื่อสิ้นสุดวันตามจำนวน Yinbi ที่ปล่อยออกมาในวันนั้น ตามจำนวนผู้ใช้ที่ทำการอัปเกรด/ต่ออายุ และตามจำนวนปีหรือบัญชีที่คุณซื้อ โดยจะเพิ่ม YNB ลงในกระเป๋าสตางค์ของคุณใน Lantern โดยตรง", - "giveaway.learn_more": "เรียนรู้เพิ่มเติม", - "link_device": "มีบัญชี Pro แล้วใช่ไหม เชื่อมโยงอุปกรณ์เลย", - "email.recovery": "การกู้คืนอีเมล", - "email_taken": "ลงทะเบียนอีเมลไว้แล้ว", - "username_taken": "ลงทะเบียนชื่อผู้ใช้นี้แล้ว", - "err.unknown_error": "ข้อผิดพลาดที่ไม่รู้จัก", - "err.internal_error": "ข้อผิดพลาดภายใน", - "err.bad_input": "ข้อมูลไม่ถูกต้อง", - "err.not_authorized": "ไม่ได้รับอนุญาต", - "err.user_exists": "ผู้ใช้มีอยู่", - "err.no_such_user": "ไม่มีผู้ใช้นั้น", - "err.user_already_verified": "ผู้ใช้ได้รับการตรวจยืนยันไปแล้ว", - "err.invalid_user_verification": "การตรวจยืนยันผู้ใช้ไม่ถูกต้อง", - "err.user_unverified": "ผู้ใช้ยังไม่ได้รับการตรวจยืนยัน", - "err.operation_temporarily_unavailable": "การทำงานใช้งานไม่ได้ชั่วคราว", - "err.wrong_or_inexistent_plan": "แผนนี้ไม่ถูกต้องหรือไม่มีอยู่จริง", - "err.user_has_active_subscription": "ผู้ใช้มีการสมัครที่ใช้งานได้อยู่", - "err.payment_error": "ข้อผิดพลาดการชำระเงิน", - "err.no_codes_left": "ไม่มีรหัสแนะนำเหลือ", - "err.wrong_code": "รหัสแนะนำไม่ถูกต้อง", - "err.redeeming_own_code_not_allowed": "ไม่สามารถขอรหัสสำหรับตัวเองได้", - "err.wrong_charge_id": "ID ค่าบริการที่ไม่ถูกต้อง", - "err.wrong_link_code": "รหัสลิงก์ผิด", - "err.invalid_credentials": "ข้อมูลประจำตัวผู้ใช้ที่ให้ไม่ถูกต้อง", - "footer.reseller": "มาสร้างรายได้กันเถอะ! เป็นตัวแทนจำหน่าย Lantern Pro คลิกที่นี่", - "footer.reseller.email_subject": "บอกฉันเกี่ยวกับโปรแกรมตัวแทนจำหน่าย Lantern", - "footer.reseller.email_body": "เมื่อคุณเป็นผู้ค้าปลีกของ Lantern ที่จะได้รับผลตอบแทนจากการขายการสมัคร Lantern Pro ถึง 25% แจ้งให้เราทราบถึงเหตุผลที่คุณต้องการเป็นผู้ค้าปลีกด้านล่างนี้", - "feature.faster_speed": "ความเร็วที่มากกว่า", - "feature.faster": "ศูนย์ข้อมูลที่เร็วขึ้น", - "feature.unlimited": "ข้อมูลไม่จำกัด", - "feature.nologs": "ไม่มีบันทึก", - "feature.devices": "เชื่อมต่ออุปกรณ์ได้สูงสุด 3 เครื่อง", - "feature.noads": "ไม่มีโฆษณา", - "feature.yinbi.tooltip": "มูลนิธิ Yinbi มอบเงิน 888 ล้านสกุลเงินดิจิทัล YNB ผ่านทาง Lantern ให้กับผู้ซื้อ Lantern Pro จะมีการแจกจ่ายเงิน YNB ในช่วงสุดท้ายของทุกวัน อิงจากจำนวนของ Yinbi ที่จำหน่ายในวันนั้นๆ จำนวนของคนที่อัปเกรดหรือต่ออายุ และจำนวนปีหรือบัญชีที่คุณซื้อ เงิน YNB จะโอนเข้าสู่กระเป๋าสตางค์ Yinbi ใน Lantern ของคุณโดยตรง!", - "feature.antiblock": "ต้านทานต่อการปิดกั้น", - "feature.data_center": "ศูนย์ข้อมูลที่ดีกว่า", - "feature.free_yinbi": "รับเงินดิจิทัล Yinbi ฟรี!", - "free.title": "Lantern Pro", - "free.desc": "เร็วกว่า แข็งแกร่งกว่า ไม่จำกัด ปลอดภัย", - "free.link_account": "มีบัญชี Pro แล้วใช่ไหม เชื่อมโยงบัญชีของคุณเลย", - "home.get_lantern_pro": "รับ Lantern Pro", - "home.get_lantern_platinum": "อัปเกรดแผนของคุณ", - "home.welcome_popup_subheader": "ยินดีต้อนรับสู่ Lantern ใหม่!", - "home.welcome_popup_content_1": "เราทำงานกันอย่างหนักในการอัปเดต Lantern และเพิ่มเติมฟีเจอร์ใหม่ๆ", - "home.welcome_popup_content_2": "ใน UI ใหม่ของเรา คุณจะพบแถบค้นหาที่คุณสามารถค้นหาไฟล์ที่ใช้ร่วมกันบนเครือข่าย Lantern ได้ คุณยังสามารถสนับสนุนด้านเนื้อหาโดยการโพสต์ไฟล์ด้วยตนเอง ลองใช้งานฟีเจอร์เบต้านี้ แล้วบอกเราว่าคุณคิดอย่างไร เราจะนำข้อคิดเห็นของคุณไปพัฒนาปรับปรุงต่อไป", - "home.welcome_popup_button": "ทดลองใช้งาน", - "input.email": "อีเมล", - "input.your_email": "ที่อยู่อีเมลของคุณ", - "input.confirm_email": "ยืนยันที่อยู่อีเมล", - "input.enter_email": "ป้อนอีเมลของคุณ", - "input.use_valid_email": "เขียนที่อยู่อีเมลที่ถูกต้อง", - "input.email_not_match": "ช่องอีเมลไม่ตรงกัน", - "input.existing_email": "มีอีเมลนี้แล้ว", - "issue.your_email": "อีเมลของคุณ", - "issue.attach_image_failure": "ไม่สามารถแนบรูปภาพ", - "issue.try_again": "โปรดลองอีกครั้ง", - "issue.select_issue": "โปรดเลือกปัญหา", - "issue.selected_issue": "เลือกปัญหา", - "issue.select_issue_hint": "เลือกปัญหาจากเมนูแด้านล่าง", - "issue.note": "อธิบายปัญหาของคุณให้เราทราบ", - "issue.description": "คำอธิบายปัญหา", - "issue.error": "เกิดข้อผิดพลาดในการรายงานปัญหา", - "issue.submit": "ส่งรายงาน", - "issue.report_screenshot": "ลากรูปภาพหรือคลิกเพื่ออัปโหลดภาพบันทึกหน้าจอ", - "issue.reported": "ขอบคุณสำหรับการรายงานปัญหา แล้วเราจะติดต่อกลับทางอีเมลโดยเร็วที่สุด", - "issue.report_sent": "ส่งรายงานแล้ว", - "issue.type.no_access": "ไม่สามารถเข้าถึงไซต์ที่ถูกปิดกั้น", - "issue.type.payment_fail": "ไม่สามารถชำระเงินได้เสร็จสิ้น", - "issue.type.cannot_login": "ไม่สามารถเข้าสู่ระบบ", - "issue.type.always_spinning": "สัญลักษณ์โหลดหมุนไม่หยุด", - "issue.type.slow": "ช้า", - "issue.type.cannot_link_device": "ไม่สามารถเชื่อมโยงอุปกรณ์", - "issue.type.crashes": "Lantern ขัดข้อง", - "issue.type.other": "อื่นๆ", - "languages.title": "ภาษา", - "lantern.email": "อีเมล Lantern", - "mobile.link": "ใช้ลิงก์เพื่อดาวน์โหลด Lantern บนอุปกรณ์แอนดรอยด์ของคุณ:", - "mobile.title": "ดาวน์โหลด Android เวอร์ชัน", - "nav.about": "เกี่ยวกับ", - "nav.account": "การจัดการบัญชี", - "nav.authorize": "เพิ่มอุปกรณ์", - "nav.authorized": "อนุญาตอุปกรณ์แล้ว", - "nav.unauthorized_link": "อนุญาตอุปกรณ์สำหรับ Pro", - "nav.language": "ภาษา", - "nav.lantern": "Lantern", - "nav.mobile": "รับเวอร์ชันสำหรับมือถือ", - "nav.report_issue": "รายงานปัญหา", - "nav.settings": "การตั้งค่า", - "nav.support": "สนับสนุน", - "nav.verify": "การตรวจยืนยันบัญชี", - "nav.yinbi": "แลกรับ Yinbi", - "nav.home": "หน้าหลัก", - "nav.discover": "ค้นพบ", - "nav.wallet": "กระเป๋าสตางค์", - "nav.yinbi_wallet": "กระเป๋าสตางค์ Yinbi", - "notification.retry": "ลองใหม่", - "notifications": "แจ้งเตือน", - "notifications.whatisnew": "มีอะไรใหม่?", - "password.change": "เปลี่ยนรหัสผ่าน", - "password.changed": "เปลี่ยนรหัสผ่านแล้ว", - "continue.to.pro": "ดำเนินการต่อไปยัง Pro", - "username": "ชื่อผู้ใช้", - "password.new": "รหัสผ่านใหม่", - "password.requirements": "
รหัสผ่านต้องมีองค์ประกอบต่อไปนี้:
  • ประกอบด้วยอักขระ 8 ตัวขึ้นไป
  • มีตัวอักษรพิมพ์เล็ก 1 ตัว
  • มีตัวอักษรพิมพ์ใหญ่ 1 ตัว
  • มีตัวเลขอย่างน้อย 1 ตัว
  • ต้องไม่อยู่ในรายการรหัสผ่านที่ไม่รัดกุม
", - "password.reset": "ตั้งรหัสผ่านใหม่", - "paxful.buy": "ซื้อ", - "paxful.payment": "วิธีการชำระเงิน", - "paxful.bitcoin": "Bitcoin (BTC)", - "paxful.tether": "Tether (USDT)", - "paxful.wallet": "กระเป๋าสตางค์ออนไลน์", - "paxful.bank": "โอนเงินผ่านธนาคาร", - "paxful.gamer_card": "บัตรเกม", - "paxful.gift_card": "บัตรของขวัญ", - "paxful.cash": "ชำระเงินสด", - "paxful.digital_currency": "สกุลเงินดิจิตอล", - "paxful.button": "แสดงข้อเสนอที่ดีที่สุด", - "payment.close": "ปิด", - "payment.redirectErrorTitle": "การเชื่อมต่อเซิร์ฟเวอร์จ่ายเงินล้มเหลว", - "payment.redirectErrorText": "เรากำลังทำการแก้ไขปัญหานี้อยู่ โปรดตรวจสอบอีกครั้งในภายหลัง", - "payment.wait_for_pro": "ขอขอบคุณที่ซื้อ Lantern Pro! โปรดรอสักครู่เพื่อให้ Lantern ของคุณกลายเป็น Pro โดยอัตโนมัติ", - "payment.moreOptions": "ดูตัวเลือกเพิ่มเติม", - "payment.fewerOptions": "ดูตัวเลือกน้อยลง", - "payment_methods.select_name": "เลือกวิธีการชำระเงิน", - "payment_methods.alipay": "บัตรเครดิต/Alipay", - "payment_methods.shetab": "Fast World Pay (Shetab)", - "payment_methods.shetab.details.header": "หากต้องการซื้อ Lantern Pro", - "payment_methods.shetab.details.body": "เมื่อคุณคลิกดำเนินการซื้อต่อ คุณจะได้รับการเปลี่ยนเส้นทางไปยังไซต์ภายนอกเพื่อชำระเงินและรับรหัสเปิดใช้งาน", - "payment_methods.shetab.details.tutorial_header": "Farsi tutorial", - "payment_methods.shetab.details.purchase_voucher_button": "ดำเนินการซื้อต่อ", - "payment_methods.shetab.details.input_code_button": "ป้อนรหัสเปิดใช้งาน", - "plan.step1": "ขั้นตอนที่ 1", - "plan.apply": "ใช้", - "plan.step2": "ขั้นตอนที่ 2", - "plan.most_popular": "เป็นที่นิยมมากที่สุด!", - "plan.step3": "ขั้นตอนที่ 3", - "plan.choose_plan": "เลือกแผน", - "plan.enter_email": "ป้อนอีเมล", - "plan.choose_method": "เลือกวิธีการชำระเงิน", - "plan.bestValue": "ข้อเสนอสุดพิเศษ!", - "plan.per_month": "ต่อเดือน", - "plan.yinbi_2x": "+ 2x Yinbi!", - "plan.oneYear": "1 ปี", - "plan.add_referral": "เพิ่มรหัสแนะนำ", - "plan.years": "แผน {{years}} ปี", - "plan.desc": "เรียกเก็บเงิน {{price}} ครั้งเดียว", - "plan.bonus_months": "+ {{bonusMonths}} เดือน", - "plan.price.cny": "¥%.02f", - "plan.price.usd": "$%.02f", - "plan.currency.cny": "(RMB)", - "plan.currency.usd": "(USD)", - "plan.time_unit": "/YR", - "plan.select": "เลือก", - "plan.two_year": "สองปี", - "plan.one_year": "หนึ่งปี", - "plan.savings": "บันทึก {{formattedDiscount}} %", - "plans.title": "Lantern Pro Plans", - "plans.lantern_pro": "Lantern Pro", - "plans.platforms": "สำหรับ Windows Android Mac Ubuntu", - "plans.from_reseller": "มีรหัสเปิดใช้งาน Lantern Pro หรือไม่? คลิกที่นี่", - "plans.with_voucher_code": "มีรหัสเปิดใช้งานหรือไม่? คลิกที่นี่", - "pro.apply": "เครดิตของคุณจะถูกนำไปใช้กับบัญชีของคุณในรอบบิลถัดไป", - "pro.title": "เชิญชวนเพื่อน รับ Pro เพิ่มฟรี", - "pro.subtitle": "เมื่อเพื่อนของคุณซื้อแผนสองปีคุณและเพื่อนจะได้รับ Pro เพิ่มอีก 3 เดือนฟรี รับฟรี 1 เดือนเมื่อซื้อแผนหนึ่งปี", - "pro.share": "แบ่งปันรหัสของคุณกับเพื่อนเพื่อรับเครดิตเพิ่ม!", - "promotion.title": "ชำระเงิน Lantern Pro", - "promotion.title.activation": "Lantern Pro เปิดใช้งาน", - "promotion.enter_and_confirm_email": "โปรดป้อนและยืนยันที่อยู่อีเมลของคุณ", - "promotion.code.hint": "ป้อนรหัสแนะนำของเพื่อนของคุณ (ไม่บังคับ)", - "promotion.code.label": "รหัสแนะนำ", - "promotion.payment": "ชำระเงินต่อ", - "promotion.payment.btc": "จ่ายด้วย ₿", - "promotion.loading": "กำลังโหลด...", - "promotion.howto_1y": "หากเพื่อนแชร์รหัสการแนะนำผลิตภัณฑ์กับคุณให้ป้อนรหัสเพื่อรับ Lantern Pro ฟรีหนึ่งเดือนหลังจากชำระเงิน", - "promotion.howto_2y": "หากเพื่อนแชร์รหัสการแนะนำผลิตภัณฑ์กับคุณให้ป้อนรหัสเพื่อรับ Lantern Pro ฟรีหนึ่งเดือนหลังจากชำระเงิน", - "promotion.pay": "ชำระ {{amount}}", - "promotion.select": "เลือก", - "promotion.promotion_applied_1y": "โบนัส +1 เดือน", - "promotion.promotion_applied_2y": "โบนัส +3 เดือน", - "promotion.too_many_referrals": "มีการเพิ่มรหัสแนะนำนี้แล้ว ชำระเงินตอนนี้เพื่อรับเดือนพิเศษของคุณ", - "promotion.activation.enter_and_confirm_email": "กรุณากรอกและยืนยันที่อยู่อีเมลของคุณเพื่อลงทะเบียนบัญชี Lantern Pro ของคุณ", - "promotion.activation.label": "XXXXX-XXXXX-XXXXX-XXXXX-XXXXX", - "promotion.activation.hint": "รหัสเปิดใช้งาน", - "promotion.activation.instructions": "ป้อนอีเมลของคุณและรหัสเปิดใช้งาน 25 หลักที่ได้รับจากตัวแทนจำหน่ายเพื่อลงทะเบียนบัญชี", - "promotion.activation.howto": "โปรดป้อนรหัสเปิดใช้งาน Lantern Pro ที่มีอักขระ 25 ตัวด้านบน หากคุณไม่มีรหัส โปรดซื้อ Pro ในหน้าจอก่อนหน้านี้หรือค้นหาตัวแทนจำหน่าย Lantern Pro ทางออนไลน์", - "promotion.activation.continue": "ลงทะเบียนใช้งาน Pro", - "promotion.voucher.hint": "รหัสเปิดใช้งาน", - "promotion.voucher.howto": "โปรดป้อนรหัสเปิดใช้งาน Fast World Pay ที่มีอักขระ 12 ตัวด้านบน", - "promotion.voucher.label": "XXXXXXXXXXXX", - "promotion.voucher.error.default": "เกิดข้อผิดพลาดในการแลกรหัสเปิดใช้งานของคุณ", - "promotion.voucher.error.invalid_code": "รหัสเปิดใช้งานไม่ถูกต้อง", - "promotion.voucher.error.invalid_plan": "รหัสเปิดใช้งานเชื่อมโยงกับแผนที่ไม่ถูกต้อง", - "promotion.voucher.error.already_redeemed": "รหัสเปิดใช้งานถูกแลกไปแล้ว", - "referral.code": "รหัสแนะนำ", - "referral.text": "ใช้รหัสของฉัน %s เพื่อรับฟรี 3 เดือนเมื่อคุณลงทะเบียน!", - "referral.description_free": "แชร์รหัสของคุณกับเพื่อน และใช้บริการ Lantern Pro ฟรี 1 เดือนเมื่อเพื่อนซื้อ Pro!", - "referral.description_pro": "แชร์รหัสของคุณกับเพื่อน และใช้บริการ Lantern Pro เพิ่มเติมฟรี 1 เดือนเมื่อเพื่อนซื้อ Pro!", - "register": "ลงทะเบียน", - "renew.subtitle_early": "ต่ออายุใหม่แล้วรับฟรี 3 เดือน!", - "renew.subtitle_last_day": "ต่ออายุใหม่แล้วรับฟรี 3 เดือน!", - "renew.subtitle_expired": "ต่ออายุใหม่แล้วรับ 45 วันฟรี!", - "renew.details_early": "สมาชิก Lantern Pro ของคุณกำลังสิ้นสุดเร็วๆ นี้ ต่ออายุตอนนี้และเพลิดเพลินกับการใช้งานฟรีสูงสุด 3 เดือน! ", - "renew.details_last_day": "ต่ออายุใหม่และเพลิดเพลินกับการใช้งานฟรีสูงสุด 3 เดือน! วันนี้เป็นวันสุดท้ายที่จะใช้ประโยชน์จากข้อเสนอพิเศษนี้ ผู้ใช้ Lantern Pro จะได้รับความเร็วที่รวดเร็วขึ้น ข้อมูลที่ไม่จำกัด ต้านทานต่อการปิดกั้นที่ดีขึ้น ใช้ได้ถึง 3 อุปกรณ์และไม่มีโฆษณา", - "renew.details_expired": "ต่ออายุใหม่และรับฟรีเพิ่มอีก 45 วัน ในระยะเวลาจำกัดเท่านั้น \nผู้ใช้ Lantern Pro จะได้รับความเร็วที่รวดเร็วขึ้น ข้อมูลที่ไม่จำกัด ต้านทานต่อการปิดกั้นที่ดีขึ้น ใช้ได้ถึง 3 อุปกรณ์และไม่มีโฆษณา", - "renew.asterisk_early": "* ข้อเสนอในระยะเวลาจำกัดนี้ใช้ได้ในกรณีที่ต่ออายุก่อนกำหนดเท่านั้น", - "renew.asterisk_last_day": "* นี่คือโอกาสสุดท้ายที่จะรับข้อเสนอสุดพิเศษนี้!", - "renew.asterisk_expired": "* ข้อเสนอนี้มีระยะเวลาจำกัด!", - "renew.plan_label": "Lantern Pro - %s", - "renew.plan_renewal_bonus_1_month": "$%d%s + 1 เดือนฟรี ", - "renew.plan_renewal_bonus_months": "$%d%s + %d เดือนฟรี ", - "renew.plan_renewal_bonus_days": "$%d%s + %d วันฟรี ", - "renew.next": "ถัดไป", - "renew.decline": "ปฏิเสธข้อเสนอ", - "renew.decline_question": "คุณแน่ใจหรือไม่ว่าต้องการปฏิเสธข้อเสนอพิเศษนี้", - "renew.decline_yes": "ต่ออายุภายหลัง", - "renew.decline_dismiss": "ต่ออายุตอนนี้", - "renew.notification_title_30_days": "ต่ออายุ Pro ตอนนี้และประหยัดสุดๆ!", - "renew.notification_title_30_days_platinum": "ต่ออายุ Platinum ตอนนี้และประหยัดสุดๆ!", - "renew.notification_text_30_days": "บัญชี {{planName}} ของคุณจะหมดอายุใน {{remainingDays}} วัน ต่ออายุใหม่และรับฟรี 3 เดือน", - "renew.notification_title_2_days": "ส่วนลด {{planName}} จะสิ้นสุดในวันพรุ่งนี้!", - "renew.notification_text_2_days": "บัญชี {{planName}} ของคุณจะหมดอายุในวันพรุ่งนี้ อย่าพลาดโอกาสนี้กับส่วนลดมากมาย", - "renew.notification_title_last_day": "โอกาสสุดท้ายสำหรับส่วนลด!", - "renew.notification_text_last_day": "บัญชี {{planName}} ของคุณหมดอายุแล้ว ต่ออายุวันนี้และรับฟรี 3 เดือน", - "replica.upload": "อัปโหลด", - "replica.favorite": "รายการโปรด", - "replica.added_to_favorites": "เพิ่มเข้ารายการโปรด", - "replica.filedrop_error": "เกิดข้อผิดพลาดในการอัปโหลดไฟล์นี้", - "replica.filedrop_error.file-too-large": "ขนาดไฟล์สูงสุดที่อนุญาต คือ {{fileSize}}", - "replica.filedrop_error.file-too-small": "ไฟล์มีขนาดเล็กเกินไป", - "replica.filedrop_error.too-many-files": "มีไฟล์มากเกินไป", - "replica.filedrop_error.file-invalid-type": "ไม่รองรับไฟล์ประเภทนี้ในขณะนี้", - "replica.filedrop_remove_file": "เอาออกจากคิว", - "replica.post": "โพสต์", - "replica.relevance": "ความเกี่ยวข้อง", - "replica.upload_date": "วันที่อัปโหลด", - "replica.gallery_view": "มุมมองแกลเลอรี", - "replica.list_view": "มุมมองรายการ", - "replica.copy_lantern_link": "คัดลอกลิงก์ Lantern", - "replica.documents": "เอกสาร", - "replica.audio": "เสียง", - "replica.application": "แอป", - "replica.image": "รูปภาพ", - "replica.video": "วิดีโอ", - "replica.web": "เว็บ", - "replica.news": "ข่าว", - "replica.upload_alert.dont_show": "ไม่ต้องแสดงรายการนี้อีก", - "replica.upload_alert.cancel": "ยกเลิกการอัปโหลด", - "replica.upload_alert.resume": "อัปโหลดต่อ", - "replica.upload_alert.info": "ข้อมูลสำคัญ!", - "replica.upload_alert.desc1": "ไฟล์ที่อัปโหลดไปยัง Lantern จะได้รับการเผยแพร่และกระจายส่วนแยกจากศูนย์ เมื่อผู้ใช้รายอื่นเข้าถึงไฟล์ที่อัปโหลดแล้ว จะไม่มีผู้ใด ซึ่งรวมทั้ง Lantern สามารถลบไฟล์ออกจากเครือข่ายได้ แม้ว่าจะมีการลบไฟล์ออกจากรายการ 'ไฟล์ของฉัน' แล้วก็ตาม", - "replica.upload_alert.desc2": "โปรดอย่าใช้ข้อมูลที่ระบุตัวบุคคลได้ในไฟล์หรือชื่อไฟล์เมื่ออัปโหลดเนื้อหาที่มีความละเอียดอ่อน", - "replica.add_details": "เพิ่มรายละเอียด", - "replica.cannot_edit": "เมื่อเผยแพร่แล้วจะแก้ไขชื่อไฟล์ไม่ได้", - "replica.next": "ถัดไป", - "replica.previous": "ก่อนหน้า", - "replica.selectAll": "เลือกทั้งหมด", - "replica.search_replica": "Search", - "replica.search_results_info": "แถบนี้แสดงผลลัพธ์ Lantern เท่านั้น", - "replica.search_results_info_message": "ผลลัพธ์ของ Lantern ประกอบด้วยการอัปโหลดเนื้อหาขึ้นบนเครือข่าย Lantern โดยผู้ใช้", - "replica.no_files_found": "ไม่มีผลลัพธ์", - "replica.or_content": "เนื้อหาของคุณเองสำหรับให้ผู้อื่นค้นหา!", - "replica.try_again": "ลองใช้คำหลักอื่น หรือ", - "replica.upload_success": "อัปโหลดสำเร็จ!", - "replica.cannot_preview": "ไม่มีการแสดงตัวอย่างสำหรับประเภทไฟล์นี้", - "replica.no_description": "ไม่ได้ระบุคำอธิบาย", - "replica.size": "ขนาด", - "replica.uploaded": "อัปโหลดแล้ว", - "replica.invalid_link": "ลิงก์ไม่ถูกต้อง", - "replica.close": "ปิด", - "replica.files": "ไฟล์", - "replica.upload_history": "ประวัติการอัปโหลด", - "replica.my_favorites": "รายการโปรด", - "replica.no_uploads": "ยังไม่มีการอัปโหลด", - "replica.no_favorites": "ยังไม่มีรายการโปรด", - "replica.mime_type": "ประเภทไฟล์: {{mime}}", - "replica.image_loading_error": "เกิดข้อผิดพลาดในการโหลดรูปภาพ", - "replica.play": "เล่น", - "replica.pause": "หยุด", - "replica.scrub": "ถู", - "replica.skip_forward": "ข้าม", - "replica.skip_backwards": "ย้อน", - "replica.trending_videos": "วิดีโอยอดนิยม", - "replica.file_uploaded": "อัปโหลด: {{days}} วันที่แล้ว", - "replica.file_size": "ขนาด: %s", - "replica.duration": "ระยะเวลา", - "replica.filename": "ชื่อไฟล์", - "replica.filename_required": "ชื่อไฟล์ (จำเป็น)", - "replica.description_optional": "เพิ่มคำอธิบาย", - "replica.expand": "ขยายรายละเอียด", - "replica.filetype": "ประเภทไฟล์", - "replica.sortby": "เรียงตาม", - "replica.link": "ลิงก์สำเนา", - "replica.collapse": "ย่อ", - "replica.publish": "เผยแพร่", - "replica.cancel": "ยกเลิก", - "replica.progress_current_upload": "การอัปโหลดของ", - "replica.progress_files": "ไฟล์", - "replica.progress_of": "ของ", - "replica.progress_upload_complete": "เสร็จสิ้น", - "replica.progress_upload_failure": "อัปโหลดล้มเหลว โปรดลองอีกครั้ง", - "replica.upload_in_progress": "กำลังอัปโหลด", - "replica.upload_pending": "รอการอัปโหลด", - "replica.upload_error": "ข้อผิดพลาดในการอัปโหลด", - "replica.upload_cancel": "ยกเลิกการอัปโหลด", - "replica.upload_confirm": "คุณแน่ใจหรือไม่ว่าต้องการยกเลิกการอัปโหลด?", - "replica.progress_view": "ดู", - "replica.delete": "ลบ", - "replica.remove": "เอาออก", - "replica.delete_file": "ลบไฟล์", - "replica.remove_favorite": "เอาออกจากรายการโปรด", - "replica.failed_to_delete": "ลบไม่สำเร็จ", - "replica.failed_to_remove": "เอาออกไม่สำเร็จ", - "replica.link_lookup_failure": "ไม่พบลิงก์", - "replica.delete_file_confirmation_1": "คุณแน่ใจหรือไม่ว่าต้องการลบ", - "replica.delete_file_confirmation_2": "จากการอัปโหลดของคุณ", - "replica.remove_favorite_confirmation_1": "คุณแน่ใจหรือไม่ว่าต้องการเอาออก", - "replica.remove_favorite_confirmation_2": "จากรายการโปรดของคุณ", - "replica.share_file": "แชร์ไฟล์", - "replica.download_and_view": "ดาวน์โหลด/ดู", - "replica.download": "ดาวน์โหลด", - "replica.copy_link": "คัดลอกลิงก์สำเนา", - "replica.find_file": "ค้นหาไฟล์", - "replica.file_drop_prompt": "ลากไฟล์มาที่นี่ หรือเรียกดูเพื่อโพสต์", - "replica.empty_uploads_text1": "คลิก", - "replica.empty_uploads_text2": "ที่นี่", - "replica.empty_uploads_text3": "สำหรับสร้างโพสต์แรกของคุณ", - "replica.error_header": "อุ้ย", - "replica.error": "เกิดข้อผิดพลาดในการประมวลผลคำขอของคุณ โปรดลองอีกครั้ง", - "replica.serp_empty": "Google ไม่แสดงผลลัพธ์สำหรับคำค้นนี้", - "replica.disclaimer": "Lantern ไม่เปิดเผยการค้นหาของคุณและป้องกันการค้นหาจากบุคคลที่สาม", - "settings.general": "ทั่วไป", - "settings.feedback": "ข้อเสนอแนะ", - "settings.autoLaunch": "เรียกใช้ Lantern เมื่อเริ่มต้นระบบ", - "settings.autoReport": "รายงานสถิติการใช้งานอย่างปลอดภัยเพื่อนำไปใช้กับ Lantern", - "settings.lantern_ads": "แสดงโฆษณา Lantern", - "settings.lantern_ads_tooltip": "เพื่อช่วยสนับสนุนการให้บริการของเรา Lantern ได้แสดงโฆษณาให้คุณเห็นบนบางเว็บไซต์ ไม่มีการเก็บข้อมูลผู้ใช้หรือส่งต่อไปยังเซิร์ฟเวอร์ของเรา ในกรณีที่คุณปิดตัวเลือกนี้ คุณอาจจะยังมองเห็นโฆษณาอยู่ แต่ไม่ได้มาจากเครือข่าย Lantern", - "settings.proxyAll": "พร็อกซีการรับส่งข้อมูลทั้งหมด", - "settings.proxyAllHelpTitle": "\"พร็อกซีการรับส่งข้อมูลทั้งหมด\" ทำอะไรบ้าง", - "settings.proxyAllHelp1": "หากเปิดใช้งาน การรับส่งข้อมูลทั้งหมดจะถูกส่งผ่าน Lantern (ตัวเลือกที่ปลอดภัยที่สุด)", - "settings.proxyAllHelp2": "หากปิดใช้งานระบบจะส่งการรับส่งข้อมูลที่ถูกบล็อกไปยัง Lantern (ตัวเลือกที่เร็วที่สุดโดยทั่วไป)", - "settings.show_advanced": "แสดงการตั้งค่าขั้นสูง", - "settings.hide_advanced": "ซ่อนการตั้งค่าขั้นสูง", - "settings.systemProxy": "จัดการพร็อกซีของระบบ", - "settings.title": "การตั้งค่า", - "settings.http_proxy": "พร็อกซี HTTP(S):", - "settings.socks_proxy": "พร็อกซี SOCKS:", - "settings.caution": "ข้อควรระวัง:", - "settings.caution_text": "เมื่อคุณยกเลิกการเลือก \"จัดการพร็อกซีระบบ\" เบราเซอร์และแอปพลิเคชันของคุณจะไม่สามารถใช้ Lantern ได้โดยอัตโนมัติ หากคุณทราบวิธีตั้งค่าเหล่านี้ด้วยตนเองโปรดดูข้อมูลข้างต้น", - "settings.select_language": "เลือกภาษา", - "settings.diagnostics": "แนบข้อมูลการวินิจฉัย", - "settings.diagnostics_tooltip": "การแนบข้อมูลวินิจฉัยจะส่งข้อมูลทีม Lantern ที่อิงจากการเชื่อมต่อของคุณ ซึ่งจะเพิ่มความสามารถของเราในการระบุและแก้ไขปัญหาของคุณ", - "status.lantern": "Lantern คือ", - "status.click_reconnect": "คลิกที่นี่เพื่อเชื่อมต่อใหม่", - "status.server_location": "ตำแหน่งที่ตั้งของเซิร์ฟเวอร์", - "status.tooltip1": "Lantern ใช้การเลือกเซิร์ฟเวอร์อัจฉริยะเพื่อเชื่อมต่อคุณกับศูนย์ข้อมูลที่ดีที่สุดของเรา", - "status.tooltip2": "อัปเกรดเป็น Lantern Pro เพื่อเพิ่มความเร็วในการเลือกเซิร์ฟเวอร์ที่มีประสิทธิภาพสูงสุดจากศูนย์ข้อมูล Lantern Pro สุดพิเศษของเรา", - "status.protected_connection": "การเชื่อมต่อของคุณได้รับการป้องกันแล้ว", - "status.please_wait": "อาจใช้เวลาหนึ่งหรือสองนาที...", - "status.connecting": "กำลังเชื่อมต่อ...", - "status.no_internet": "ปิด", - "status.no_internet_connection": "ไม่มีการเชื่อมต่ออินเทอร์เน็ต", - "status.connected": "เปิด", - "status.disconnected": "ปิด", - "status.throttled": "ความเร็วที่ควบคุมได้ (ข้อมูล Cap)", - "status.no_system_proxy": "{{status}} ไม่ใช่พร็อกซีของระบบการจัดการ", - "status.fail_to_set_system_proxy": "ไม่สามารถตั้งค่า Lantern เป็นพร็อกซีของระบบได้", - "status.fail_to_open_browser": "ไม่สามารถเปิดหน้าต่างเบราว์เซอร์เพื่อแสดงอินเทอร์เฟซผู้ใช้ Lantern", - "support.forum": "กระดานสนทนาผู้ใช้ Lantern", - "support.faq": "คำถามที่พบบ่อย", - "terms_of_service.acknowledgment": "การคลิก {{buttonText}} แสดงว่าคุณยอมรับข้อกำหนดในการให้บริการของเรา", - "terms_of_service.replica": "การค้นหา อัปโหลด หรือใช้ผลิตภัณฑ์ของเราในลักษณะใดก็ตามแสดงว่าคุณยอมรับข้อกำหนดในการให้บริการ นโยบายความเป็นส่วนตัว และนโยบาย DMCAของเรา", - "top_sites.google": "Google", - "top_sites.twitter": "Twitter", - "top_sites.youtube": "YouTube", - "top_sites.facebook": "Facebook", - "top_sites.wikipedia": "Wikipedia", - "verify.header": "ป้อนหรือวางพินการเชื่อมโยงอุปกรณ์", - "verify.code": "รหัสเชื่อมโยงอุปกรณ์", - "verify.howto_1": "หากคุณมีบัญชี Lantern Pro บนอุปกรณ์อื่น โปรดป้อนที่อยู่อีเมลของคุณที่นี่เพื่อรับรหัสในการอนุญาตอุปกรณ์", - "verify.howto_1a": "ขณะนี้คุณเป็นผู้ใช้ Pro ที่ไม่ได้รับอนุญาต โปรดป้อนที่อยู่อีเมลของคุณเพื่ออนุญาตบัญชี Pro ของคุณ ซึ่งจะช่วยให้คุณสามารถเชื่อมโยงอุปกรณ์ต่างๆได้", - "verify.howto_2": "เพื่อเชื่อมโยงอุปกรณ์กับบัญชี Pro ของคุณ:", - "verify.howto_3": "1. เลือก 'อนุญาตอุปกรณ์สำหรับ Pro' จากเมนูบนอุปกรณ์อื่นของคุณ", - "verify.howto_4": "2. ป้อนพินการเชื่อมโยงที่ได้รับจากขั้นตอนที่ 1 แล้วส่ง", - "verify.reminder": "*ตรวจสอบให้แน่ใจว่าอุปกรณ์ทั้งสองใช้ Lantern เวอร์ชันล่าสุด", - "verify.enter_pin": "ป้อนหรือวางพินการเชื่อมโยงอุปกรณ์", - "verify.submit": "ส่ง", - "verify.title": "การตรวจยืนยันบัญชี", - "welcomeToPro.continue": "ดำเนินการต่อไปยัง Pro", - "welcomeToPro.invite": "เชิญเพื่อนๆ และคุณกับเพื่อนจะได้รับเพิ่มฟรี 3 เดือนเมื่อซื้อแผนสองปี รับฟรี 1 เดือนเมื่อซื้อแผนหนึ่งปี เริ่มเชิญชวนวันนี้!", - "welcomeToPro.thanks": "คุณสามารถเข้าถึงได้ไม่จำกัดโดยใช้ศูนย์ข้อมูลที่เร็วที่สุดของเรา ซึ่งสามารถเชื่อมต่อกับบัญชีของคุณได้ถึงสามอุปกรณ์", - "welcomeToPro.title": "ยินดีต้อนรับสู่ Lantern Pro", - "welomeToPro.title_exclamation": "ยินดีต้อนรับสู่ Lantern Pro!", - "purchase.failed": "การซื้อล้มเหลว โปรดลองอีกครั้งในภายหลัง", - "purchase.success": "การซื้อสำเร็จ", - "purchase.success_title": "ยินดีต้อนรับสู่ Lantern {{planType}}!", - "purchase.success_content_pro": "คุณสามารถเข้าถึงได้ไม่จำกัดโดยใช้ศูนย์ข้อมูลที่เร็วที่สุดของเรา ซึ่งสามารถเชื่อมต่อกับบัญชีของคุณได้ถึงสามอุปกรณ์", - "purchase.success_content_platinum": "คุณสามารถเข้าถึงได้ไม่จำกัดโดยใช้ช่องทางเฉพาะและศูนย์ข้อมูลที่เร็วที่สุดของเรา ซึ่งสามารถเชื่อมต่อกับบัญชีของคุณได้ถึงสามอุปกรณ์", - "welcomeToPro.description": "ขณะนี้คุณสามารถเข้าถึงไซต์และบริการที่ถูกปิดกั้นได้โดยไม่จำกัด", - "messages.copied_to_clipboard": "คัดลอกรหัสแล้ว แบ่งปันกับเพื่อนของคุณ!", - "messages.datacap": "คุณใช้ข้อมูลความเร็วสูงฟรีของคุณแล้ว อัปเกรดเป็น Pro สำหรับข้อมูลความเร็วสูงไม่ จำกัด", - "messages.fatal_error": "ขออภัย เรามีปัญหาในการติดต่อกับเซิร์ฟเวอร์ Lantern โปรดตรวจสอบการเชื่อมต่ออินเทอร์เน็ตของคุณและลองอีกครั้ง", - "messages.backend_gone": "ขออภัย Lantern ดูเหมือนจะไม่ทำงานแล้ว โปรดเริ่มการทำงาน Lantern ใหม่และลองอีกครั้ง", - "messages.get_help": "รับความช่วยเหลือ", - "freeProCredits.title": "เชิญชวนเพื่อน", - "freeProCredits.shareWithFriends": "แบ่งปันรหัสของคุณกับเพื่อนเพื่อรับเดือนฟรี!", - "freeProCredits.shareWithFriendsDesc": "เมื่อเพื่อนของคุณซื้อแผนสองปีคุณและเพื่อนจะได้รับเพิ่มฟรี 3 เดือน รับฟรี 1 เดือนเมื่อซื้อแผนหนึ่งปี", - "cards.serverLocation.unknown": "ไม่ทราบ", - "cards.serverLocation.description": "ตำแหน่งที่ตั้งของเซิร์ฟเวอร์ที่ดีที่สุด", - "cards.serverLocation.description-free": "ตำแหน่งที่ตั้งของเซิร์ฟเวอร์", - "cards.serverLocation.description-upgrade": "อัปเกรดเพื่อเซิร์ฟเวอร์ที่เร็วยิ่งขึ้น", - "cards.serverLocation.title": "ที่ตั้งปัจจุบัน:", - "cards.serverLocation.location": "%s, %s", - "cards.serverLocation.text": "Lantern ใช้การเลือกเซิร์ฟเวอร์อัจฉริยะเพื่อค้นหาการเชื่อมต่อที่รวดเร็วที่สุดจากศูนย์ข้อมูลของเราในโตเกียวสิงคโปร์ ฮ่องกง ซานฟรานซิสโก นิวยอร์ก อัมสเตอร์ดัม บังกาลอร์และอื่น ๆ", - "cards.serverLocation.text-free": "Lantern ใช้การเลือกเซิร์ฟเวอร์อัจฉริยะเพื่อเชื่อมต่อคุณกับศูนย์ข้อมูลที่ดีที่สุดของเรา", - "cards.serverLocation.upgrade-link": "อัปเกรดเป็น Lantern Pro เพื่อเพิ่มความเร็วในการเลือกเซิร์ฟเวอร์ที่มีประสิทธิภาพสูงสุดจากศูนย์ข้อมูล Lantern Pro ของเรา", - "cards.httpsUpgrades.description": "อัปเกรด HTTPS", - "cards.httpsUpgrades.title": "อัปเกรด HTTPS: %d", - "cards.httpsUpgrades.text": "Lantern อัปเกรดการเชื่อมต่อ HTTP ที่ไม่ปลอดภัยไปยังการเชื่อมต่อ HTTPS ที่เข้ารหัสเมื่อเป็นไปได้เพื่อให้ข้อมูลของคุณเป็นส่วนตัวขณะที่ท่องเว็บ", - "cards.adsBlocked.description": "ปิดกั้นโฆษณาแล้ว", - "cards.adsBlocked.title": "โฆษณาที่ถูกปิดกั้น: %d", - "cards.adsBlocked.text": "Lantern บล็อกโฆษณาที่ล่วงล้ำเพื่อเพิ่มความเร็วในการโหลดหน้าเว็บ ประหยัดแบนด์วิดท์ และเพื่อให้คุณได้รับประสบการณ์การท่องเว็บที่ราบรื่น", - "cards.dataUsage.description": "การใช้ข้อมูล", - "cards.dataUsage.upgrade": "อัปเกรดเดี๋ยวนี้", - "cards.dataUsage.mb-used": "คุณใช้ข้อมูลความเร็วสูงรายเดือน 1% d /% dMB1 แล้ว", - "cards.dataUsage.upgrade-link": "อัปเกรดเดี๋ยวนี้เพื่อบริการความเร็วสูงแบบไม่จำกัด !", - "cards.subscription.description": "สมัครสมาชิก Pro", - "cards.subscription.renew": "ต่ออายุ", - "cards.subscription.months": "คุณมีการสมัครใช้งาน Lantern Pro เหลืออยู่อีก%d เดือน", - "cards.subscription.days": "คุณมีการสมัครใช้งาน Lantern Pro เหลืออยู่อีก %d วัน", - "cards.subscription.unit.months": "เดือน", - "cards.subscription.unit.days": "วัน", - "cards.subscription.renew-link": "ต่ออายุสมาชิกเพื่อขยายเวลา", - "auth.email": "อีเมล", - "auth.username": "ชื่อผู้ใช้", - "auth.username.or.email": "ชื่อผู้ใช้หรืออีเมล", - "auth.signin": "Sign In", - "current.password": "รหัสผ่านปัจจุบัน", - "new.password": "รหัสผ่านใหม่", - "auth.change.password": "เปลี่ยนรหัสผ่าน", - "confirm.new.password": "ยืนยันรหัสผ่านใหม่", - "auth.password": "รหัสผ่าน", - "auth.have.recovery.phrase": "มีวลีในการกู้คืนหรือไม่?", - "auth.forgot.password": "ลืมหรือไม่มีรหัสผ่านใช่ไหม?", - "auth.create.account": "สร้างบัญชี", - "auth.missing.username": "ไม่มีชื่อผู้ใช้", - "auth.missing.current.password": "ไม่มีรหัสผ่านปัจจุบัน", - "auth.missing.new.password": "ไม่มีรหัสผ่านใหม่", - "auth.missing.confirm.password": "ไม่มีรหัสผ่านยืนยัน", - "invalid_credentials": "ข้อมูลประจำตัวไม่ถูกต้อง", - "yinbi.wallet": "กระเป๋าสตางค์ Yinbi", - "create.wallet": "สร้างกระเป๋าสตางค์", - "new.to.yinbi": "ยังไม่เคยใช้ Yinbi ใช่ไหม?", - "setup.wallet": "ใช่ สร้างกระเป๋าสตางค์ใหม่กันเลย!", - "web.wallet": "ไม่ ฉันมีกระเป๋าสตางค์บนเว็บไซต์ Yin.bi", - "yinbi.next": "ถัดไป", - "yinbi.amount": "จำนวน", - "yinbi.missing.address": "ไม่ได้ระบุที่อยู่ปลายทาง", - "yinbi.missing.amount": "ไม่ได้ระบุจำนวน", - "yinbi.missing.email": "ไม่ได้ระบุที่อยู่อีเมล", - "yinbi.missing.username": "ไม่ได้ระบุชื่อผู้ใช้", - "yinbi.missing.password": "ไม่ได้ระบุรหัสผ่าน", - "yinbi.invalid.address": "{{destination}} ไม่ใช่ที่อยู่ Stellar ที่ถูกต้อง", - "yinbi.send": "ส่ง", - "yinbi.to": "ถึง:", - "yinbi.try_again": "ลองใหม่อีกครั้ง?", - "yinbi.success.transaction": "ทำธุรกรรมสำเร็จ!", - "yinbi.failure.transaction": "การทำธุรกรรมล้มเหลว", - "yinbi.confirm.transaction": "ยืนยันการทำธุรกรรม", - "yinbi.sent.details": "คุณส่ง {{amount}} YNB ไปยัง {{destination}} แล้ว", - "yinbi.sent.failure.details": "การทำธุรกรรมของคุณล้มเหลวเนื่องจากสาเหตุต่อไปนี้:", - "yinbi.recipient": "ผู้รับ", - "yinbi.available.send": "คุณมี {{balance}} YNB ที่ส่งได้", - "yinbi.wallet.header": "กระเป๋าสตางค์", - "yinbi.send.header": "ส่ง Yinbi", - "yinbi.recovery.phrase": "วลีในการกู้คืนของ Yinbi", - "yinbi.recover.account": "ป้อนหรือวางวลีในการกู้คืนของ Yinbi เพื่อกู้คืนกระเป๋าสตางค์ Yinbi และบัญชี Lantern ของคุณ", - "yinbi.recovery.desc": "ใช้วิธีนี้หากคุณต้องการลงชื่อเข้าใช้กระเป๋าสตางค์ Yinbi ที่อยู่นอกเหนือบัญชี Lantern ของคุณ", - "yinbi.redeem.codes": "แลกรหัส Yinbi จำนวนมาก", - "yinbi.obtain.codes": "สามารถรับรหัสแลกรับ Yinbi จำนวนมากได้จาก reseller.lantern.io", - "yinbi.receive.header": "รับ Yinbi", - "yinbi.this.is.your.wallet": "นี่คือที่อยู่กระเป๋าสตางค์ Yinbi ของคุณที่ผู้อื่นสามารถใช้สำหรับส่ง YNB ให้คุณได้", - "yinbi.your.address": "ที่อยู่ของคุณ", - "yinbi.no.activity.header": "ไม่มีกิจกรรม", - "yinbi.upgrade.pro.button": "อัปเกรดเป็น Pro และรับ Yinbi ฟรี", - "yinbi.renew.pro.button": "ต่ออายุ Pro และรับ Yinbi ฟรี", - "yinbi.wallet.activity_header": "กิจกรรม", - "yinbi.wallet.send": "ส่ง", - "yinbi.wallet.receive": "รับ", - "yinbi.wallet.balance": "ยอดคงเหลือ", - "yinbi.wallet.getlantern.pro": "รับ Lantern Pro + Yinbi ฟรี", - "yinbi.redemption.codes": "รหัสแลกรับ Yinbi", - "redeem_codes.title": "แลกรหัส Yinbi", - "redeem_codes.redeem_button_text": "แลก", - "redeem_codes.cancel_button_text": "ยกเลิก", - "redeem_codes.success": "สำเร็จ", - "redeem_codes.errors.missing_codes": "ไม่ได้ป้อนรหัสที่ถูกต้อง", - "redeem_codes.errors.invalid_codes": "เกิดข้อผิดพลาด โปรดตรวจสอบรหัสที่ไฮไลต์ ส่วนรหัสที่ถูกขีดฆ่าจะหมดอายุและไม่สามารถนำมาแลกได้อีก", - "yinbi.new.account.text": "เมื่อคุณส่งหรือรับ Yinbi การทำธุรกรรมของคุณจะปรากฏที่นี่", - "yinbi.createAccount": "สร้างบัญชี", - "yinbi.confirm.account.text": "เพื่อให้แน่ใจว่าคุณใส่วลีถูกต้อง โปรดป้อนคำจากวลีในการกู้คืนของคุณต่อไปนี้", - "create_account.invalid_words.error": "คำที่ป้อนไม่ตรงกับรหัสผ่านที่เป็นวลีสำหรับใช้ในการกู้คืน", - "yinbi.recovery_text": "นี่คือวลีในการกู้คืนกระเป๋าสตางค์ Yinbi ของคุณ ซึ่งเป็นวิธีเดียวที่จะกู้คืนกระเป๋าสตางค์ Yinbi ของคุณได้\nในกรณีที่ลืมรหัสผ่าน ใช้โปรแกรมจัดการรหัสผ่านหรือจดรหัสผ่านเอาไว้เมื่อ\nจัดเก็บวลีนี้", - "yinbi.recovery_confirm_text": "นี่คือวลีในการกู้คืนกระเป๋าสตางค์ Yinbi ของคุณ ซึ่งเป็นวิธีเดียวที่จะกู้คืนกระเป๋าสตางค์ Yinbi ของคุณได้ในกรณีที่ลืมรหัสผ่าน ใช้โปรแกรมจัดการรหัสผ่านหรือจดรหัสผ่านเอาไว้เมื่อจัดเก็บวลีนี้", - "yinbi.import.wallet": "นำเข้ากระเป๋าสตางค์", - "yinbi.setup.wallet": "ตั้งค่ากระเป๋าสตางค์", - "yinbi.importWallet": "นำเข้ากระเป๋าสตางค์ Yin.bi", - "yinbi.import.wallet.continue": "ดำเนินการไปยังกระเป๋าสตางค์ของคุณต่อ", - "yinbi.import.wallet.success": "นำเข้ากระเป๋าสตางค์สำเร็จ!", - "yinbi.wallet.text": "คุณสามารถเข้าถึงกระเป๋าสตางค์ Yinbi ของคุณได้โดยการสร้างบัญชี ลงชื่อเข้าใช้ หรือ\nนำเข้ากระเป๋าสตางค์ของคุณจาก Yin.bi หากคุณเคยลงทะเบียนใช้งานใน\nเว็บไซต์ Yin.bi แล้ว", - "yinbi.wallet.pro.text": "หากต้องการเข้าถึงกระเป๋าสตางค์ Yinbi คุณสามารถสร้างบัญชีแล้วนำเข้ากระเป๋าสตางค์ของคุณจาก Yin.bi ได้หากคุณเคยลงทะเบียนใช้งานไว้แล้ว", - "yinbi.recovery_subheader": "วลีในการกู้คืนกระเป๋าสตางค์ Yinbi", - "yinbi.import_wallet.subheader": "นำเข้ากระเป๋าสตางค์ Yinbi", - "yinbi.import_wallet.text": "ลงชื่อเข้าใช้ด้วยข้อมูลประจำตัว Yin.bi ของคุณเพื่อโอนกระเป๋าสตางค์ไปยัง Lantern", - "yinbi.import_wallet.success": "นำเข้ากระเป๋าสตางค์ของคุณสำเร็จแล้ว โปรดเพิ่มอีเมลของคุณเพื่อลงทะเบียนบัญชีให้สมบูรณ์", - "yinbi.import_wallet.success_subheader": "นำเข้าสำเร็จ!", - "yinbi.import_wallet.button": "นำเข้ากระเป๋าสตางค์ Yin.bi", - "yinbi.import_wallet.success_button": "ลงทะเบียนให้สมบูรณ์", - "yinbi.recovery_passphrase.label_text": "วลีในการกู้คืน", - "yinbi.recovery_passphrase.copy_button_text": "คัดลอก", - "terms_of_service.notice": "หมายเหตุ", - "terms_of_service.i_agree": "ฉันยอมรับ", - "platinum": "Platinum", - "platinum.one_year": "ราคาต่อ 1 ปี", - "platinum.two_years": "ราคาต่อ 2 ปี", - "platinum.save": "ประหยัดได้ถึง {{savings}}% !", - "platinum.unlimited": "ข้อมูลไม่จำกัด", - "platinum.logs": "ไม่มีบันทึก", - "platinum.devices": "เชื่อมต่ออุปกรณ์ได้สูงสุด 3 เครื่อง", - "platinum.everything_in_pro": "ทุกอย่างรวมอยู่ใน Pro แล้ว", - "platinum.faster_data": "ศูนย์ข้อมูลที่เร็วขึ้น", - "platinum.dedicated": "ช่องทางเฉพาะ", - "platinum.reliability": "เพิ่มความน่าเชื่อถือ", - "platinum.platinum_one_year": "Lantern Platinum 1 ปี", - "platinum.platinum_two_years": "Lantern Platinum 2 ปี", - "platinum.pro_one_year": "Lantern Pro 1 ปี", - "platinum.pro_two_years": "Lantern Pro 2 ปี", - "platinum.total": "รวม", - "platinum.free": "ฟรี", - "platinum.credit.days": "+ {{ days }} วัน", - "platinum.credit.months": "{{ months }} เดือน", - "platinum.upgrade": "อัปเกรดเป็น Platinum", - "platinum.upgrade_details": "ช่องทางเฉพาะ + ศูนย์ข้อมูลที่เร็วที่สุด!", - "platinum.unused_time_disclaimer": "ผู้ใช้ Pro ที่อัปเกรดเป็น Platinum จะเห็นการเปลี่ยนแปลงการสมัครสมาชิก Pro ระบุตามเวลาที่เพิ่มขึ้นมาด้านบน", - "p2p.opt_in_description": "ใช้อินเทอร์เน็ตเพื่อช่วยเหลือผู้คนให้เข้าถึงอินเทอร์เน็ตได้โดยที่ไม่ถูกเซ็นเซอร์", - "p2p.active_sharing_description": "การแชร์อินเทอร์เน็ตของคุณเปิดอยู่", - "p2p.dialog.title": "แชร์การเข้าถึงอินเทอร์เน็ต", - "p2p.dialog.text.1": "ช่วยเหลือผู้ที่เข้าถึงอินเทอร์เน็ตได้จำกัดโดยการแชร์สัญญาณของคุณ คุณจะเป็นส่วนหนึ่งของเครือข่ายอาสาที่ทำให้อินเทอร์เน็ตเปิดกว้างขึ้น ผ่านการอนุญาตให้เข้าถึงอินเทอร์เน็ตของคุณ", - "p2p.dialog.text.2": "การแชร์จะไม่กระทบต่อตัวตนหรือความปลอดภัยของคุณ คุณสามารถหยุดการแชร์อินเทอร์เน็ตเมื่อไหร่ก็ได้ที่ต้องการ", - "p2p.dialog.yes_button": "ได้ เริ่มการแชร์", - "p2p.dialog.no_button": "ยกเลิก", - "p2p.banner.introducing": "การแนะนำ", - "top_sites.top_sites": "ไซต์ยอดนิยม" -} \ No newline at end of file diff --git a/locale/translation/tk.json b/locale/translation/tk.json deleted file mode 100644 index 59cc830d4..000000000 --- a/locale/translation/tk.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "TRAY_SHOW_LANTERN": "Show Lantern", - "TRAY_QUIT": "Quit Lantern" -} \ No newline at end of file diff --git a/locale/translation/tr.json b/locale/translation/tr.json deleted file mode 100644 index 99da1f199..000000000 --- a/locale/translation/tr.json +++ /dev/null @@ -1,797 +0,0 @@ -{ - "LANTERN": "Lantern", - "pro": "Pro", - "BEAM": "Beam", - "TRAY_STATUS": "Durum: %v", - "TRAY_CONNECT": "Bağlan", - "TRAY_DISCONNECT": "Bağlantıyı kes", - "TRAY_SHOW": "Şunu göster: %s", - "TRAY_UPGRADE_TO_PRO": "Pro'ya Yükselt", - "TRAY_QUIT": "Şuradan çık: %s", - "BACKEND_DATA_TITLE": "Artık yüksek hızlı %s verisi yok", - "BACKEND_DATA_MESSAGE": "%s uygulamasını tam hızda kullanmaya devam etmek için lütfen Pro'ya yükseltin!", - "BACKEND_DATA_PERCENT_TITLE": "%s verinizin %s kadarına ulaşıldı", - "BACKEND_DATA_PERCENT_MESSAGE": "%s yüksek hızlı verinizin %s kadarını kullandınız. Şimdi yükseltin!", - "BACKEND_CLICK_LABEL": "Aç", - "BACKEND_CLICK_LABEL_OPEN": "Aç", - "BACKEND_CLICK_LABEL_HELP": "Yardım", - "BACKEND_CLICK_LABEL_GOT_IT": "Tamam", - "BACKEND_AUTOUPDATED_TITLE": "%s uygulamasını %s sürümüne güncelle", - "BACKEND_AUTOUPDATED_MESSAGE": "%s %s indirildi. Kullanmak için lütfen %s uygulamasını yeniden başlatın.", - "BACKEND_MITM_INSTALL_CERT": "%s performansı artırmak için özel bir sertifika yüklemek istiyor", - "BACKEND_MITM_INSTALL_CERT_WINDOWS_BODY": "Lütfen sisteminizde değişiklik yapması için %v'a izin verin", - "BACKEND_ALERT_TITLE": "Kritik uyarıya dikkat etmeniz gereklidir", - "BACKEND_INSTALL_DIAGNOSTIC_TOOLS": "%s tanılama araçları yüklemek için izninize ihtiyaç duyar. Bu, %s deneyiminizi geliştirmemize yardımcı olacaktır.", - "BACKEND_CONFIG_SAVE_ERROR_TITLE": "Yapılandırma kaydedilemiyor", - "BACKEND_CONFIG_SAVE_ERROR_MESSAGE": "Uygulama yapılandırması kaydedilemiyor. %s trafiğin doğru şekilde proxy'leneceğini garanti edemez.", - "about.content": "Lantern açık internete hızlı, güvenilir ve güvenli erişim sağlayan ücretsiz bir uygulamadır.", - "app.error": "Bir sorun oluştu!", - "about.faq": "Lantern SSS'lerini okuyun", - "about.open": "Herkes için Açık İnternet", - "about.questions": "Sorular?", - "about.title": "Hakkında", - "account.add.password": "Hesap Parolası Ekle", - "account.agree.terms": "Parolamı kaybetmenin hesap erişimini kaydetmek\nanlamına geldiğini anlıyorum. Lantern parolanızı \nkurtarmanıza yardımcı olamaz.", - "account.agree.terms.error": "Önce şartlar kabul edilmelidir", - "account.cancel": "Pro Hesabını İptal Et", - "account.created": "Hesap Oluşturuldu!", - "account.create.pro.account.header": "Pro Hesabı Oluştur", - "account.create.pro.account.text": "Lantern kullanıcı hesaplarının ele alınma biçimini değiştiriyor. Bundan sonra Pro kullanıcılarının bir kullanıcı adı ve parola oluşturması gerekecektir. Bu kimlik bilgileri diğer cihazlarda giriş yapmak ve yeni özelliklere erişim sağlamak için kullanılacaktır.", - "account.have.a.account": "Bir Hesabınız var mı?", - "account.link.username.pro": "Kullanıcı adını Pro Hesabına bağla", - "account.recovery": "Hesap Kurtarma", - "account.recovery.link.device": "Cihaz Bağla", - "account.recovery.device.code": "Cihaz Bağlama Kodu", - "account.recovery.device.enter.code": "Cihaz Bağlama Pini Gir veya Yapıştır", - "account.recovery.device.instructions.header": "Bu cihazı Pro hesabınızla bağlamak için:", - "account.recovery.device.instructions.step.one": "1. Masaüstü Pro cihazınızdaki Hesap Yönetimi ekran öğesinden veya Mobil Pro Cihazınızdaki menüden \"Cihaz Bağla\" seçeneğini seçin.", - "account.recovery.device.instructions.step.two": "2. Cihaz bağlama kodunu girin ve gönderin.", - "account.recovery.device.instructions.part.three": "*Her iki cihazın da Lantern'ın en son sürümünü çalıştırdığından emin olun", - "account.recovery.method": "Lütfen hesabınızı kurtarmak için bir yöntem seçin", - "account.recovery.send.email": "E-posta Gönder", - "account.recovery.submit": "Gönder", - "account.recovery.success": "Bağlantı Başarılı!", - "account.pro_management": "Pro Hesap Yönetimi", - "account.free_management": "Hesap Yönetimi", - "account.free.cap": "{{mb}} MB ücretsiz veri kaldı. Sıfırlama: {{reset}}", - "account.free.cap.upgrade": "Sınırsız yüksek hızlı veri için Pro'ya yükseltin", - "account.freelink.validFor": "geçerlilik: %s", - "account.freelink.desc": "Bu cihazın Pro hesabınızı kullanmasına izin vermek için:", - "account.freelink.step1": "1. Pro Cihazınızdaki Menü'den \"Cihaz Bağla\" seçeneğini seçin", - "account.freelink.step2": "2. Cihaz bağlama kodunu girin ve gönderin.", - "account.freelink.reminder": "* Her iki cihazın da Lantern'ın en son sürümünü çalıştırdığından emin olun", - "account.freelink.errorTitle": "Bağlama Hatası", - "account.freelink.errorText": "Pro cihazınızdaki kodu doğru girdiğinizden emin misiniz?", - "account.freelink.headerDesc": "Bu cihazı Pro hesabınızla bağlayın", - "account.freelink.title": "Cihaz Bağlama Kodu", - "account.pro.charge": "Ödeme döneminin sonunda Lantern Pro için hesabınızdan bir yıl daha otomatik ödeme alınacak.", - "account.upgrade_pro": "Pro'ya Yükselt", - "account.upgrade": "Yükselt", - "account.upgrade_platinum": "Platinum'a Yükselt", - "account.create": "Hesap Oluştur", - "account.email": "E-posta", - "account.confirm.password": "Parolayı Onayla", - "account.password": "Şifre", - "account.pro.email": "E-posta:", - "account.pro.expiration": "Pro Hesap Süre Dolumu", - "account.platinum.expiration": "Platinum Hesabı Süre Dolumu", - "account.pro.expired": "Pro hesabımızın süresi doldu. Sınırsız aylık veri için şimdi yenileyin.", - "account.pro.expiry": "Pro hesabınızın süresi %s günde %siçinde sona eriyor.", - "account.pro.bonusMonths": "Buna {{bonusMonths}} bonus ay da dahildir!", - "account.pro.thisdevice": "(Bu cihaz)", - "account.pro.logout": "Oturumu kapat", - "account.pro.removedevice": "KALDIR", - "account.pro.devices": "Lantern Pro Cihazları (en fazla 3)", - "account.pro.device.confirm.title": "Cihazın Yetkisini Kaldır", - "account.pro.device.confirm": "'{{device}}' cihazını Lantern Pro hesabınızdan çıkarmak istediğinize emin misiniz?", - "account.pro.device.one.title": "Tek Bir Cihaz", - "account.pro.device.one": "Özür dileriz, ancak en son onayladığınız cihazı kaldıramazsınız.", - "account.pro.linkingcode": "Cihaz Bağlama Kodu:", - "account.pro.renew": "Pro Hesabını Yenile", - "account.platinum.renew": "Platinum Hesabı Yenile", - "account.pro.renew_CN": "Yenile", - "account.prolink.errorTitle": "Bağlama HatasıBağlama Hatası", - "account.prolink.errorText": "Pro cihazınızdaki kodu doğru kopyaladığınızdan emin misiniz?", - "account.prolink.successTitle": "Cihaz Bağlandı", - "account.prolink.successText": "Cihazınızı başarıyla bağladınız! Lütfen diğer cihazınızın pro olması için bir süre bekleyin.", - "account.signin": "Giriş", - "account.signout": "Oturumu Kapat", - "account.submit": "Gönder", - "account.username": "Kullanıcı adı", - "account.switch.to.register": "Hesap Oluşturmaya Geç", - "account.switch.to.signin": "Giriş Yapmaya Geç", - "account.invalid.username": "Kullanıcı adı geçersiz", - "account.invalid.email": "E-posta geçersiz", - "account.password.mismatch": "Onay Parolası, parolayla eşleşmiyor", - "account.password.short": "Parola çok kısa", - "account.password.lowercase": "Parola en az bir küçük harf içermelidir", - "account.password.uppercase": "Parola en az bir büyük harf içermelidir", - "account.password.number": "Parola en az bir rakam içermelidir", - "account.password.compromised": "Parola bir riskli parolalar listesinde yer alıyor", - "modal.register.free.header": "Yinbi Cüzdan'a erişmek için Kaydolun veya Oturum açın", - "modal.register.pro.header": "Yinbi Cüzdan'a erişmek için hesap parolası ekleyin", - "modal.register.pro.signin.header": "Yinbi Cüzdanına erişmek için giriş yapın", - "modal.register.free.text": "Yinbi Cüzdan'ı kullanmak için bir Lantern Hesabınız olmalıdır, lütfen Kaydolun veya\ndevam etmek için Oturum açın.", - "modal.register.pro.text": "Yinbi cüzdanını kullanmak için Lantern hesabınıza bir parola eklemeniz gerekir.", - "modal.register.pro.signin.text": "Yinbi cüzdanını kullanmak için Lantern hesabınıza giriş yapmanız gerekir.", - "adyen.paymentMethods.title": "Ödeme Yöntemleri", - "adyen.paymentMethods.storedMethods": "Ödeme Yöntemleriniz", - "adyen.paymentMethods.otherMethods": "Ödeme yöntemi seçin", - "adyen.paymentMethods.moreMethodsButton": "Daha fazla ödeme yöntemi", - "adyen.payButton": "Öde", - "adyen.payButton.formatted": "%@ öde", - "adyen.cancelButton": "İptal", - "adyen.dismissButton": "TAMAM", - "adyen.storeDetails": "Bir sonraki ödemem için kaydet", - "adyen.payment.redirecting": "Yönlendirileceksiniz", - "adyen.payment.processing": "Ödemeniz işleniyor", - "adyen.creditCard.title": "Kart Detayları", - "adyen.creditCard.holderName": "Kart sahibinin adı", - "adyen.creditCard.holderName.placeholder": "J. Smith", - "adyen.creditCard.numberField.title": "Kart Numarası", - "adyen.creditCard.numberField.placeholder": "1234 5678 9012 3456", - "adyen.creditCard.numberField.invalid": "Geçersiz kart numarası", - "adyen.creditCard.expiryDateField.title": "Son kullanma tarihi", - "adyen.creditCard.expiryDateField.placeholder": "AA/YY", - "adyen.creditCard.expiryDateField.invalid": "Geçersiz son kullanma tarihi", - "adyen.creditCard.expiryDateField.month": "Ay", - "adyen.creditCard.expiryDateField.month.placeholder": "AA", - "adyen.creditCard.expiryDateField.year.placeholder": "YY", - "adyen.creditCard.expiryDateField.year": "Yıl", - "adyen.creditCard.cvcField.title": "CVC / CVV", - "adyen.creditCard.cvcField.placeholder": "123", - "adyen.creditCard.installmentsField": "Taksit Sayısı", - "adyen.creditCard.storeDetailsButton": "Bir sonraki ödemem için bu kartı hatırla", - "adyen.creditCard.oneClickVerification.title": "Kartınızı doğrulayın", - "adyen.creditCard.oneClickVerification.message": "Lütfen %@ için CVC kodunu girin", - "adyen.creditCard.oneClickVerification.invalidInput.title": "Geçersiz CVC", - "adyen.creditCard.oneClickVerification.invalidInput.message": "Devam etmek için lütfen geçerli bir CVC girin.", - "adyen.sepaDirectDebit.ibanField.title": "Hesap Numarası (IBAN)", - "adyen.sepaDirectDebit.ibanField.placeholder": "NL53 ABNA 1925 1294 122", - "adyen.sepaDirectDebit.ibanField.invalid": "Geçersiz hesap numarası", - "adyen.sepaDirectDebit.nameField.title": "Sahibinin adı", - "adyen.sepaDirectDebit.nameField.placeholder": "J. Smith", - "adyen.sepaDirectDebit.consentButton": "Aşağıdaki tutarın banka hesabımdan çekileceğini kabul ediyorum.", - "adyen.sepa.ownerName": "Sahibinin adı", - "adyen.sepa.ibanNumber": "Hesap Numarası (IBAN)", - "adyen.giropay.searchField.placeholder": "Banka adı / BIC / Bankleitzahl", - "adyen.giropay.minimumLength": "En az 3 karakter", - "adyen.giropay.noResults": "Hiçbir arama sonucu bulunamadı", - "adyen.error.title": "Hata", - "adyen.error.subtitle.redirect": "Yönlendirme başarısız oldu", - "adyen.error.subtitle.payment": "Ödeme başarısız oldu", - "adyen.error.subtitle.refused": "Ödeme reddedildi", - "adyen.error.message.unknown": "Bilinmeyen bir hata oluştu", - "adyen.error.message.cannotConnectToInternet": "İnternete bağlanılamadı: lütfen internet bağlantınızı kontrol edin.", - "adyen.error.message.cannotConnectToHost": "Ödeme sunucumuza bağlanılamadı.", - "adyen.error.retryButton": "Tekrar dene", - "adyen.idealIssuer.selectField.title": "Banka", - "adyen.idealIssuer.selectField.placeholder": "Bankanızı seçin", - "adyen.creditCard.success": "Ödeme başarılı", - "adyen.oneClick.confirmationAlert.title": "%@ ödemesini Onaylayın", - "adyen.redirect.cannotOpenApp.title": "Uygulama açılamıyor", - "adyen.redirect.cannotOpenApp.appNotInstalledMessage": "Bu cihazda kurulu olmadığı için bu uygulama açılamadı.", - "adyen.holderName": "Kart sahibinin adı", - "adyen.countryCode": "Ülke Kodu", - "adyen.telephone.number": "Telefon numarası", - "android.download": "Lantern Android", - "android.download.title": "Lantern Android'i İndir", - "authorize.title": "Cihazı Pro Hesabına Dahil Et", - "authorize.step1.have_pro_device": "Başka bir Lantern Pro cihazım var", - "authorize.step1.link": "Cihaz Bağlama", - "authorize.step1.email_linking": "E-posta Bağlama", - "authorize.device_linking_explanation": "Başka bir cihazda oturum açtıysanız ve yanınızdaysa bu yöntemi kullanın", - "authorize.device_email_explanation": "E-postanıza Cihaz bağlama pini gönderilmesini istiyorsanız bu yöntemi kullanın", - "authorize.link_device": "Cihaz Bağla", - "authorize.step1.choose": "Lütfen hesabınızı Bağlamak için bir yöntem seçin", - "authorize.step1.or": "veya", - "authorize.step1.recover": "Lantern Pro hesabımı kurtarmam gerekiyor", - "authorize.step1.start": "kurtarmayı başlat", - "authorize.step1.no_mail": "E-posta adresinizi unuttunuz mu?", - "authorize.step1.description": "E-postanızı girin, hesap varsa cihaz bağlantı kodu içeren bir e-posta göndereceğiz", - "authorize.step2b.enter_code": "Hesap Kurtarma Kodunuzu girin", - "authorize.step2b.code": "Hesap Kurtarma Kodu", - "authorize.step2b.instruction": "Bu hesap varsa, kurtarma kodu içeren bir e-posta şuraya gönderildi: {{email}}. Bu e-postanın gelmesi birkaç saat sürebilir. Bulamazsanız lütfen spam klasörünüzü kontrol edin.", - "authorize.step2b.no_mail": "E-posta gelmedi", - "authorize.step3.recovery": "Hesap Kurtarma", - "authorize.step3.no_email": "Eyvah! Bu e-posta adresini bulmakta sorun yaşıyoruz. Lütfen hesabınızı bulabilmemiz için aşağıdaki alana bilgilerinizi girin.", - "authorize.step3.no_code_received": "Hala kurtarma e-postası gelmedi mi? Aşağıya bilgilerinizi girin ve biz siz ile 48 saat içinde sizinle iletişime geçeceğiz.", - "authorize.step3.your_email": "E-postanız", - "authorize.step3.payment_method": "Ödeme Yöntemi", - "authorize.step3.payment_method_hint": "Pro'yu satın alma yönteminizi seçin", - "authorize.step3.credit_card": "Kredi Kartı", - "authorize.step3.alipay": "Alipay", - "authorize.step3.android_pay": "Android Ödeme", - "authorize.step3.by_referral": "Bir arkadaş kaynak gösterilerek Pro alındı", - "authorize.step3.payment_account": "Ödeme hesabı", - "authorize.step3.payment_account_hint": "Alipay hesap bilgilerinizi girin", - "authorize.step3.referral_code": "Referans Kodunuz", - "authorize.step3.purchase_date": "Satın Alma Tarihi", - "authorize.step3.note": "Diğer bilgiler hesabınızı bulmamızda yardımcı olabilir.", - "authorize.step4.title": "Hesap kurtarma işlemi sürüyor", - "authorize.step4.text1": "Teşekkürler! Hesap kurtarma isteğinizi aldık.", - "authorize.step4.text2": "Lütfen Pro hesabınızın bilgilerini geri almanız için 48 saat izin verin.", - "authorize.step4.text3": "Önceki sayfadaki girilmiş e-postaya bilgilerinizi göndereceğiz.", - "authorized.continue": "Pro'ya Devam Et", - "authorized.continue.lantern": "Lantern'e Devam Et", - "authorized.text": "Bu cihaz artık Lantern Pro hesabınızı kullanmak üzere yetkilendirildi!", - "authorized.title": "Cihaz Yetkilendirildi", - "button.account": "Hesap", - "button.renew": "Yenile", - "button.upgrade": "Yükselt", - "button.upgrade_now": "Şimdi Yükselt", - "button.upgrade_to_lantern_pro": "Lantern Pro'ya Yükseltin", - "button.copy_your_code": "Kodu kopyala", - "button.try_again": "Tekrar dene", - "button.continue": "Devam et", - "button.continue_to": "{{planType}} ile devam et", - "bullet.click_button": "Aşağıdaki düğmeye tıklayın", - "bullet.paste_code": "Mesajdaki kod ve indirme bağlantısını yapıştırın", - "bullet.send_to_friends": "Arkadaşlarınıza gönderin", - "cancel": "İptal", - "confirm": "Onayla", - "norecoveryyinbi": "*Yinbi Cüzdan'ı kurtarmaz", - "email.recovery.check.email": "Kurtarma Kodu içeren bir mesaj için e-postanızı kontrol edin", - "email.recovery.code.label": "Kurtarma Kodunu Gir veya Yapıştır", - "email.recovery.no.code": "Kod gelmedi mi?", - "email.recovery.text": "E-postanızı girdiğinizde size parolanızı sıfırlamanız için bir kod göndereceğiz.\nYinbi Cüzdanınız varsa, bu işlem Yinbi cüzdanınızı KURTARMAYACAKTIR. Yinbi Cüzdanınızı kurtarmak için Yinbi Kurtarma İfadenizi girin.", - "email.recovery.desc": "E-postanıza bir kurtarma kodu gönderilmesini istiyorsanız bu yöntemi kullanın", - "device.recovery.desc": "Başka bir cihazda oturum açtıysanız ve yanınızdaysa bu yöntemi kullanın", - "google_search": "Google Arama", - "giveaway.upgrade": "Bugünün ücretsiz dağıtımını almak için yükseltin", - "giveaway.title_released_today": "{{formattedTokens}} YNB bugün piyasaya sürülüyor", - "giveaway.what_is_it": "Yinbi Ödülü nedir?", - "giveaway.description1": "Yinbi Vakfı, yalnızca Lantern üzerinden 888 milyar YNB kripto parayı Lantern Pro alıcılarına dağıtıyor.", - "giveaway.description2": "YNB her günün sonunda, o gün piyasaya sürülen Yinbi miktarına, yükseltme/yenileme yapan kişi sayısına ve satın aldığınız yıl veya hesap sayısına bağlı olarak dağıtılacaktır. YNB doğrudan Lantern'deki Yinbi Cüzdanınıza aktarılacaktır.", - "giveaway.learn_more": "Daha Fazla Bilgi Edinin", - "link_device": "Zaten bir Pro hesabınız var mı? Cihazı bağlayın", - "email.recovery": "E-posta Kurtarma", - "email_taken": "E-posta zaten kayıtlı", - "username_taken": "Kullanıcı adı zaten kayıtlı", - "err.unknown_error": "Bilinmeyen hata", - "err.internal_error": "Dahili hata", - "err.bad_input": "Geçersiz girdi", - "err.not_authorized": "Not authorized", - "err.user_exists": "Kullanıcı mevcut", - "err.no_such_user": "Böyle bir kullanıcı yok", - "err.user_already_verified": "Kullanıcı zaten onaylandı", - "err.invalid_user_verification": "Geçersiz kullanıcı doğrulaması", - "err.user_unverified": "Kullanıcı Doğrulanmamış", - "err.operation_temporarily_unavailable": "İşlem geçici olarak kullanılamıyor", - "err.wrong_or_inexistent_plan": "Hatalı veya mevcut olmayan plan", - "err.user_has_active_subscription": "Kullanıcının etkin aboneliği var", - "err.payment_error": "Ödeme hatası", - "err.no_codes_left": "Hiç referans kodu kalmadı", - "err.wrong_code": "Hatalı referans kodu", - "err.redeeming_own_code_not_allowed": "Kendi kodlarınızı kullanmaya izin verilmiyor", - "err.wrong_charge_id": "Hatalı ödeme kimliği", - "err.wrong_link_code": "Yanlış bağlantı kodu", - "err.invalid_credentials": "Sağlanan kullanıcı kimlik bilgileri geçersizdi", - "footer.reseller": "Para kazanın! Bir Lantern Pro satıcısı olun. Buraya Tıklayın", - "footer.reseller.email_subject": "Lantern Ticareti Programı hakkında bilgi verin!", - "footer.reseller.email_body": "Bir Lantern Satıcısı olunca, bir Lantern Pro aboneliğinin her satışı üzerine 25% o lik bir ödeme yapma şansına sahip olursunuz. Aşağıda neden bir bayi olmak istiyorsanız neden biraz bilgi verin.", - "feature.faster_speed": "Daha Yüksek Hız", - "feature.faster": "Daha Hızlı Veri Merkezleri", - "feature.unlimited": "Sınırsız Veri", - "feature.nologs": "Günlük Yok", - "feature.devices": "3 cihaza kadar bağlayın", - "feature.noads": "Reklamsız", - "feature.yinbi.tooltip": "Yinbi vakfı, yalnızca Lantern üzerinden 888 milyar YNB kripto parayı Lantern Pro alıcılarına dağıtıyor. YNB her günün sonunda, o gün piyasaya sürülen Yinbi miktarına, yükseltme/yenileme yapan kişi sayısına ve satın aldığınız yıl veya hesap sayısına bağlı olarak dağıtılacaktır. YNB, doğrudan Lantern'deki Yinbi Cüzdanınıza aktarılacaktır!", - "feature.antiblock": "Engellemeye Dayanıklı", - "feature.data_center": "Daha İyi Veri Merkezleri", - "feature.free_yinbi": "Ücretsiz Yinbi Kripto Para!", - "free.title": "Lantern Pro", - "free.desc": "Daha hızlı. Daha güçlü. Sınırsız. Güvenli.", - "free.link_account": "Zaten bir Pro hesabınız var mı? Cihazınızı bağlayın", - "home.get_lantern_pro": "Lantern Pro'ya Geçin", - "home.get_lantern_platinum": "Planınızı yükseltin", - "home.welcome_popup_subheader": "Yeni Lantern'e hoş geldiniz!", - "home.welcome_popup_content_1": "Lantern'i güncelleyip yeni özellikler ekleyerek çok sıkı çalıştık.", - "home.welcome_popup_content_2": "Yeni kullanıcı arayüzümüzde Lantern ağında paylaşılan dosyaları aramanıza izin veren bir arama çubuğu bulacaksınız. Aynı zamanda kendiniz de bir dosya yayınlayarak katkıda bulunabilirsiniz. Bu bir Beta özelliğidir, dolayısıyla bunu deneyip bize ne düşündüğünüzü bildirirseniz geribildiriminize dayalı olarak iyileştirmeler yapmaya devam edebiliriz.", - "home.welcome_popup_button": "Bunu deneyin", - "input.email": "E-posta", - "input.your_email": "E-posta adresiniz", - "input.confirm_email": "E-posta Adresini Doğrula", - "input.enter_email": "E-posta adresinizi girin:", - "input.use_valid_email": "Geçerli bir e-posta adresi girin", - "input.email_not_match": "E-posta alanları eşleşmiyor", - "input.existing_email": "Mevcut e-posta", - "issue.your_email": "E-postanız", - "issue.attach_image_failure": "Görüntü eklenemiyor", - "issue.try_again": "Lütfen tekrar deneyin", - "issue.select_issue": "Bir hata seçiniz", - "issue.selected_issue": "Sorun Seçin", - "issue.select_issue_hint": "Açılır menüden bir konu seçin", - "issue.note": "Sorununuzu Açıklayın", - "issue.description": "Sorun Açıklaması", - "issue.error": "Hata raporlama sorunu", - "issue.submit": "Rapor Gönder", - "issue.report_screenshot": "Görüntüyü sürükleyin veya ekran görüntüsü yüklemek için tıklayın", - "issue.reported": "Sorununuzu bildirdiğiniz için teşekkür ederiz, mümkün olan en kısa sürede e-posta yoluyla size geri dönüş yapacağız", - "issue.report_sent": "Rapor Gönderildi", - "issue.type.no_access": "Engellenen sitelere erişilemiyor", - "issue.type.payment_fail": "Ödeme tamamlanamadı", - "issue.type.cannot_login": "Giriş yapılamıyor", - "issue.type.always_spinning": "Yükleme topaçı durmadan dönüyor", - "issue.type.slow": "Yavaş", - "issue.type.cannot_link_device": "Cihazlar ilişkilendirilemiyor", - "issue.type.crashes": "Lantern çöküyor", - "issue.type.other": "Diğer", - "languages.title": "Diller", - "lantern.email": "Lantern E-posta", - "mobile.link": "Lantern'i Android cihazınıza indirmek için bu bağlantıyı kullanın:", - "mobile.title": "Android Sürümünü Alın", - "nav.about": "Hakkında", - "nav.account": "Hesap Yönetimi", - "nav.authorize": "Hesap Ekle", - "nav.authorized": "Cihaz Yetkilendirildi", - "nav.unauthorized_link": "Cihazı Pro Hesabına Dahil Et", - "nav.language": "Dil", - "nav.lantern": "Lantern", - "nav.mobile": "Mobil Sürümünü Edin", - "nav.report_issue": "Hata Bildir", - "nav.settings": "Ayarlar", - "nav.support": "Destek", - "nav.verify": "Hesap Doğrulama", - "nav.yinbi": "Yinbi Kullanımı", - "nav.home": "Anasayfa", - "nav.discover": "Keşfet", - "nav.wallet": "Cüzdan", - "nav.yinbi_wallet": "Yinbi Cüzdan", - "notification.retry": "Tekrar Dene", - "notifications": "Bildirimler", - "notifications.whatisnew": "Yenilikler Nelerdir?", - "password.change": "Parolayı Değiştir", - "password.changed": "Parola Değiştirildi", - "continue.to.pro": "Pro'ya Devam Et", - "username": "Kullanıcı adı", - "password.new": "Yeni Parola", - "password.requirements": "
Parola aşağıdakileri içermelidir:
  • 8 veya daha fazla karakter
  • 1 küçük harf
  • 1 büyük harf
  • En az 1 rakam
  • Riskli parolalar listesinde olmamalıdır
", - "password.reset": "Parolayı Sıfırla", - "paxful.buy": "Satın Al", - "paxful.payment": "Ödeme metodu", - "paxful.bitcoin": "Bitcoin (BTC)", - "paxful.tether": "Tether (USDT)", - "paxful.wallet": "Çevrimiçi Cüzdanlar", - "paxful.bank": "Banka Havaleleri", - "paxful.gamer_card": "Oyun Kartları", - "paxful.gift_card": "Hediye Kartları", - "paxful.cash": "Nakit Ödeme", - "paxful.digital_currency": "Dijital Para Birimleri", - "paxful.button": "En İyi Fırsatları Göster", - "payment.close": "Kapat", - "payment.redirectErrorTitle": "Ödeme sunucusuna bağlanılırken hata oluştu", - "payment.redirectErrorText": "Şu anda bu sorunu çözmeye çalışıyoruz. Lütfen daha sonra tekrar kontrol edin.", - "payment.wait_for_pro": "Lantern Pro'yu satın aldığınız için teşekkürler! Lantern'in otomatik olarak Pro sürümüne geçmesi için lütfen biraz bekleyin.", - "payment.moreOptions": "Daha Fazla Seçenek", - "payment.fewerOptions": "Daha Az Seçenek", - "payment_methods.select_name": "Ödeme yöntemi seçin", - "payment_methods.alipay": "Kredi Kartı/Alipay", - "payment_methods.shetab": "Fast World Pay (Shetab)", - "payment_methods.shetab.details.header": "Lantern Pro'yu satın almak için", - "payment_methods.shetab.details.body": "Satın almaya devam et öğesine tıkladığınızda, ödemeyi tamamlamak ve aktivasyon kodunuzu almak için harici bir siteye yönlendirilirsiniz.", - "payment_methods.shetab.details.tutorial_header": "(Farsi Eğitimi)", - "payment_methods.shetab.details.purchase_voucher_button": "Satın Almaya Devam Et", - "payment_methods.shetab.details.input_code_button": "Giriş Aktivasyon Kodu", - "plan.step1": "Adım 1", - "plan.apply": "Uygula", - "plan.step2": "Adım 2", - "plan.most_popular": "En Popüler!", - "plan.step3": "Adım 3", - "plan.choose_plan": "Plan Seç", - "plan.enter_email": "E-posta Gir", - "plan.choose_method": "Ödeme Yöntemi Seç", - "plan.bestValue": "En İyi Fiyat!", - "plan.per_month": "aylık", - "plan.yinbi_2x": "+ 2x Yinbi!", - "plan.oneYear": "1 yıl", - "plan.add_referral": "Referans Kodu Ekle", - "plan.years": "{{years}} yıllık plan", - "plan.desc": "tek seferlik {{price}} faturalama", - "plan.bonus_months": "+ {{bonusMonths}} ay", - "plan.price.cny": "¥%.02f", - "plan.price.usd": "$%.02f", - "plan.currency.cny": "(RMB)", - "plan.currency.usd": "(USD)", - "plan.time_unit": "/YR", - "plan.select": "Seç", - "plan.two_year": "İki Yıllık", - "plan.one_year": "Bir Yıllık", - "plan.savings": "%{{formattedDiscount}} tasarruf edin", - "plans.title": "Lantern Pro Planları", - "plans.lantern_pro": "Lantern Pro", - "plans.platforms": "Windows, Android, Mac, Ubuntu içi", - "plans.from_reseller": "Lantern Pro aktivasyon kodunuz mu var? Buraya tıklayın.", - "plans.with_voucher_code": "Aktivasyon kodunuz mu var? Buraya tıklayın.", - "pro.apply": "Kredileriniz gelecek ay ödeme döngüsünde hesabınıza uygulanacaktır.", - "pro.title": "Arkadaşlarını davet et ve daha fazla Pro kazan", - "pro.subtitle": "Arkadaşın 2 yıllık plan satın aldığında ikiniz de fazladan 3 aylık Pro kazanırsınız, 1 yıllık plan satın aldığında ikiniz de fazladan 1 aylık Pro kazanırsınız.", - "pro.share": "Kodunu arkadaşlarınla paylaş ve daha fazla kredi kazan!", - "promotion.title": "Lantern Pro Ödeme", - "promotion.title.activation": "Lantern Pro Aktivasyon", - "promotion.enter_and_confirm_email": "Lütfen e-posta adresinizi girin ve onaylayın", - "promotion.code.hint": "Arkadaşınızın Yönlendirme kodunu girin (isteğe bağlı)", - "promotion.code.label": "Referans Kodu", - "promotion.payment": "Ödemeye devam et", - "promotion.payment.btc": "₿ ile öde", - "promotion.loading": "Yükleniyor...", - "promotion.howto_1y": "Eğer bir arkadaşınız referans kodunu sizinle paylaştıysa, onu buraya girin ve ödeme işleminden sonra 1 aylık ücretsiz Lantern Pro hesabınıza eklensin.", - "promotion.howto_2y": "Eğer bir arkadaşınız referans kodunu sizinle paylaştıysa, onu buraya girin ve ödeme işleminden sonra 3 aylık ücretsiz Lantern Pro hesabınıza eklensin.", - "promotion.pay": "{{amount}} öde", - "promotion.select": "Seç", - "promotion.promotion_applied_1y": "+1 bonus ay", - "promotion.promotion_applied_2y": "+3 bonus ay", - "promotion.too_many_referrals": "Bu referans kodu zaten eklenmiş. Ek aylarınızı almak için ödemeyi tamamlayın.", - "promotion.activation.enter_and_confirm_email": "Lütfen Lantern Pro hesabınızı kaydetmek için e-posta adresinizi girin ve onaylayın.", - "promotion.activation.label": "XXXXX-XXXXX-XXXXX-XXXXX-XXXXX", - "promotion.activation.hint": "Aktivasyon Kodu", - "promotion.activation.instructions": "Hesabınızı kaydetmek için e-postanızı ve satıcıdan alınan 25 haneli aktivasyon kodunu girin.", - "promotion.activation.howto": "Lütfen yukarıdaki 25 karakterlik Lantern Pro aktivasyon kodunu girin. Bir kodunuz yoksa, lütfen Pro'yu bir önceki ekranda satın alın veya çevrimiçi bir Lantern Pro satıcısına başvurun.", - "promotion.activation.continue": "Pro için kaydolun", - "promotion.voucher.hint": "Aktivasyon Kodu", - "promotion.voucher.howto": "Lütfen 12 karakterli Fast World Pay aktivasyon kodunuzu yukarı girin", - "promotion.voucher.label": "XXXXXXXXXXXX", - "promotion.voucher.error.default": "Aktivasyon kodunuz alınırken hata oluştu.", - "promotion.voucher.error.invalid_code": "Geçersiz aktivasyon kodu", - "promotion.voucher.error.invalid_plan": "Geçersiz bir planla ilişkili aktivasyon kodu", - "promotion.voucher.error.already_redeemed": "Aktivasyon kodu zaten kullanılmış", - "referral.code": "Referans kodu", - "referral.text": "%s kodumu kullan ve üye olduğunda 3 ay ücretsiz kazan!", - "referral.description_free": "Kodunuzu arkadaşlarınızla paylaşın ve Pro satın aldıklarında 1 aylık Lantern Pro hizmetini ücretsiz edinin!", - "referral.description_pro": "Kodunuzu arkadaşlarınızla paylaşın ve Pro satın aldıklarında 1 aylık Ek Lantern Pro hizmetini ücretsiz edinin!", - "register": "Register", - "renew.subtitle_early": "3 ücretsiz ay için yenileyin!", - "renew.subtitle_last_day": "3 ücretsiz ay için yenileyin!", - "renew.subtitle_expired": "45 gün boyunca yenileyin!", - "renew.details_early": "Lantern Pro üyeliğinyakında sona eriyor. Şimdi yenileyin ve üç aya kadar ücretsiz tadını çıkarın!", - "renew.details_last_day": "Lantern Pro üyeliğiniz bugün sona eriyor! Şimdi yenileyin ve üç aya kadar ücretsiz tadını çıkarın!", - "renew.details_expired": "Lantern Pro üyeliğinizin süresi doldu. Şimdi yenileyin ve kırk beş güne kadar ücretsiz tadını çıkarın!", - "renew.asterisk_early": "* Bu sınırlı süreli teklif sadece erken yenilemeler için geçerlidir.", - "renew.asterisk_last_day": "* Bu bu özel teklifi almak için son şansınız!", - "renew.asterisk_expired": "* Bu sınırlı bir süre teklif!", - "renew.plan_label": "Lantern Pro - %s", - "renew.plan_renewal_bonus_1_month": "$%d%s+ ÜCRETSİZ 1 AY", - "renew.plan_renewal_bonus_months": "$%d%s+%dÜCRETSİZ AYLAR", - "renew.plan_renewal_bonus_days": "$%d%s+%dÜCRETSİZ GÜNLER", - "renew.next": "sonraki", - "renew.decline": "Teklifi reddet", - "renew.decline_question": "Bu teklifi reddetmek istediğinizden emin misiniz?", - "renew.decline_yes": "Daha sonra yenile", - "renew.decline_dismiss": "Şimdi yenile", - "renew.notification_title_30_days": "Büyük tasarruflar için Pro'yu şimdi yenileyin!", - "renew.notification_title_30_days_platinum": "Büyük tasarruflar için Platinum'u şimdi yenileyin!", - "renew.notification_text_30_days": "{{planName}} hesabınızın süresi {{remainingDays}} gün içinde doluyor. Şimdi yenileyin ve 3 aya kadar ücretsiz kullanın.", - "renew.notification_title_2_days": "{{planName}} indirimi yarın sona eriyor!", - "renew.notification_text_2_days": "{{planName}} hesabınızın süresi yarın doluyor. Büyük bir indirim için bu fırsatı kaçırmayın.", - "renew.notification_title_last_day": "Bir indirim kazanmak için son şans!", - "renew.notification_text_last_day": "{{planName}} hesabınızın süresi doldu. Bugün yenileyin ve 3 aya kadar ücretsiz kullanın.", - "replica.upload": "Yükle", - "replica.favorite": "Favorilerine ekle", - "replica.added_to_favorites": "Favorilere Eklendi", - "replica.filedrop_error": "Bu dosya yüklenirken hata", - "replica.filedrop_error.file-too-large": "İzin verilen maksimum dosya boyutu: {{fileSize}}", - "replica.filedrop_error.file-too-small": "Dosya çok küçük", - "replica.filedrop_error.too-many-files": "Çok fazla dosya", - "replica.filedrop_error.file-invalid-type": "Bu dosya türü şu anda desteklenmiyor", - "replica.filedrop_remove_file": "Kuyruktan kaldır", - "replica.post": "Dosya Yükle", - "replica.relevance": "İlgi", - "replica.upload_date": "Yükleme Tarihi", - "replica.gallery_view": "Galeri Görünümü", - "replica.list_view": "Liste Görünümü", - "replica.copy_lantern_link": "Lantern Bağlantısını Kopyala", - "replica.documents": "Belgeler", - "replica.audio": "Ses", - "replica.application": "Uygulamalar", - "replica.image": "Görüntüler", - "replica.video": "Videolar", - "replica.web": "Web", - "replica.news": "Haberler", - "replica.upload_alert.dont_show": "Bunu bir daha gösterme", - "replica.upload_alert.cancel": "Yüklemeyi İptal Et", - "replica.upload_alert.resume": "Yüklemeye Devam Et", - "replica.upload_alert.info": "Önemli Bilgi!", - "replica.upload_alert.desc1": "Lantern'a yüklenen dosyalar dağıtımlıdır ve merkezi değildir. Başka bir kullanıcı tarafından erişildikten sonra, \"Dosyalarım\" listenizden silinseler bile, Lantern dahil olmak üzere hiç kimse tarafından ağdan silinemezler.", - "replica.upload_alert.desc2": "Lütfen hassas içerik yüklerken dosyada veya dosya adında kişisel tanımlayıcı bilgiler kullanmaktan kaçının.", - "replica.add_details": "Ayrıntıları ekle", - "replica.cannot_edit": "Yayımlandıktan sonra dosya adları değiştirilemez", - "replica.next": "İleri", - "replica.previous": "Önceki", - "replica.selectAll": "Tümünü Seç", - "replica.search_replica": "Ara", - "replica.search_results_info": "Bu sekme yalnızca Lantern sonuçlarını gösterir.", - "replica.search_results_info_message": "Lantern sonuçları kullanıcılar tarafından Lantern ağına yüklenen içeriklerden oluşur.", - "replica.no_files_found": "Sonuç Yok", - "replica.or_content": "diğer insanların bulması için kendi içeriğiniz!", - "replica.try_again": "Farklı bir anahtar kelime deneyin veya", - "replica.upload_success": "Yükleme Başarılı!", - "replica.cannot_preview": "Bu dosya türü için önizleme yok", - "replica.no_description": "Sağlanan tanım yok", - "replica.size": "Boyut", - "replica.uploaded": "Yüklendi", - "replica.invalid_link": "Geçersiz Bağlantı", - "replica.close": "Kapat", - "replica.files": "Dosyalar", - "replica.upload_history": "Yükleme geçmişi", - "replica.my_favorites": "Favoriler", - "replica.no_uploads": "Henüz Yükleme Yok", - "replica.no_favorites": "Henüz Favori Yok", - "replica.mime_type": "Dosya türü: {{mime}}", - "replica.image_loading_error": "Görüntü yükleme hatası", - "replica.play": "Oynat", - "replica.pause": "Duraklat", - "replica.scrub": "Temizle", - "replica.skip_forward": "İleri atla", - "replica.skip_backwards": "Geri atla", - "replica.trending_videos": "Popüler Videolar", - "replica.file_uploaded": "Yüklendi: {{days}} gün önce", - "replica.file_size": "Boyut", - "replica.duration": "Süre", - "replica.filename": "Dosya Adı", - "replica.filename_required": "Dosyanızı Adlandırın", - "replica.description_optional": "Tanım Ekle", - "replica.expand": "Ayrıntıları genişlet", - "replica.filetype": "Dosya Türü", - "replica.sortby": "Sıralama Ölçütü", - "replica.link": "Çoğaltma bağlantısı", - "replica.collapse": "Daralt", - "replica.publish": "Yayınla", - "replica.cancel": "İptal", - "replica.progress_current_upload": "Şunun yüklemesi:", - "replica.progress_files": "dosyalar", - "replica.progress_of": "/", - "replica.progress_upload_complete": "Tamamla", - "replica.progress_upload_failure": "Yükleme başarısız oldu, lütfen tekrar deneyin.", - "replica.upload_in_progress": "Yükleme devam ediyor", - "replica.upload_pending": "Yükleme beklemede", - "replica.upload_error": "Yükleme hatası", - "replica.upload_cancel": "Yüklemeyi iptal et", - "replica.upload_confirm": "Yüklemeyi iptal etmek istediğinize emin misiniz?", - "replica.progress_view": "Görüntüle", - "replica.delete": "Sil", - "replica.remove": "Kaldır", - "replica.delete_file": "Dosya Sil", - "replica.remove_favorite": "Favorilerden kaldır", - "replica.failed_to_delete": "Silinemedi", - "replica.failed_to_remove": "Kaldırılamadı", - "replica.link_lookup_failure": "Bağlantı bulunamadı", - "replica.delete_file_confirmation_1": "Silmek istediğinizden emin misiniz", - "replica.delete_file_confirmation_2": "yüklemelerinizden", - "replica.remove_favorite_confirmation_1": "Şuradan kaldırmak istediğinize emin misiniz:", - "replica.remove_favorite_confirmation_2": "favorilerinizden.", - "replica.share_file": "Dosya Paylaş", - "replica.download_and_view": "İndir/Görüntüle", - "replica.download": "İndir", - "replica.copy_link": "Çoğaltma Bağlantısını Kopyala", - "replica.find_file": "Dosya bul", - "replica.file_drop_prompt": "Yüklemeyi başlatmak için dosyayı bırakın!", - "replica.empty_uploads_text1": "İlk gönderinizi oluşturmak için", - "replica.empty_uploads_text2": "buraya", - "replica.empty_uploads_text3": "tıklayın.", - "replica.error_header": "Eyvah!", - "replica.error": "Talebiniz işleme alınırken bir hata oluştu. Lütfen tekrar deneyin.", - "replica.serp_empty": "Google bu sorgu için hiçbir sonuç döndürmedi.", - "replica.disclaimer": "Lantern aramalarınızı anonimleştirir ve üçüncü taraflardan korur", - "settings.general": "Genel", - "settings.feedback": "Geri Bildirim", - "settings.autoLaunch": "Lantern'i işletim sistemi açılırken başlat", - "settings.autoReport": "Lantern'in gelişimine katkıda bulunmak için, kullanım istatistiklerini güvenli rapor et", - "settings.lantern_ads": "Lantern Reklamlarını Göster", - "settings.lantern_ads_tooltip": "Lantern hizmetimizi desteklemek için size bazı web sitelerinde reklamlar gösterir. Hiçbir kullanıcı bilgisi toplanmaz ve sunucularımıza aktarılmaz. Bu seçeneği kapatırsanız yine de reklamlar görebilirsiniz ancak bunlar Lantern ağından olmayacaktır.", - "settings.proxyAll": "Tüm trafiği proxyle", - "settings.proxyAllHelpTitle": "\"TÜM TRAFİĞİ PROXYLE\" NE İŞE YARAR?", - "settings.proxyAllHelp1": "Etkinleştirilirse, bütün trafik Lantern'den gönderilir (en güvenli seçenek).", - "settings.proxyAllHelp2": "Devre dışı bırakılırsa, sadece engellenen trafik Lantern ile gönderilir (en hızlı seçenek, en yaygın).", - "settings.show_advanced": "Gelişmiş Ayarları Göster", - "settings.hide_advanced": "Gelişmiş Ayarları Gizle", - "settings.systemProxy": "Sistem vekil sunucusunu yönet", - "settings.title": "Ayarlar", - "settings.http_proxy": "HTTP(S) vekil:", - "settings.socks_proxy": "SOCKS vekil:", - "settings.caution": "Dikkat:", - "settings.caution_text": "\"Sistem vekilini ayarla\" seçeneğini işaretlemezseniz, tarayıcınız ve diğer uygulamalar Lantern'i otomatik olarak kullanamazlar. Eğer bu ayarları el ile nasıl yapacağınızı biliyorsanız, yukarıdaki bilgileri kullanın.", - "settings.select_language": "Dil Seç", - "settings.diagnostics": "Tanılama Bilgileri Ekle", - "settings.diagnostics_tooltip": "Tanılama bilgileri eklendiğinde Lantern ekibine bağlantınızdan elde edilen veriler gönderilir. Bu, sorununuzu tespit etme ve çözme kabiliyetimizi artırır.", - "status.lantern": "Lantern", - "status.click_reconnect": "Yeniden bağlanmak için buraya tıklayın", - "status.server_location": "Sunucu Konumu", - "status.tooltip1": "Lantern, sizi en iyi veri merkezlerimize bağlamak için akıllı sunucu seçimini kullanır.", - "status.tooltip2": "Özel Lantern Pro veri merkezlerimizden optimize edilmiş sunucu seçimiyle daha yüksek hız için Lantern Pro'ya yükseltin", - "status.protected_connection": "Bağlantınız Korumalıdır", - "status.please_wait": "Bu işlem bir iki dakika sürebilir...", - "status.connecting": "Bağlanılıyor...", - "status.no_internet": "Kapalı", - "status.no_internet_connection": "Internet bağlantısı yok", - "status.connected": "Açık", - "status.disconnected": "Kapalı", - "status.throttled": "Hız Azalıyor (Veri Kapağı)", - "status.no_system_proxy": "{{status}}, sistem proxy'si yönetilmiyor", - "status.fail_to_set_system_proxy": "Lantern, sistem proxy'si olarak ayarlanamadı", - "status.fail_to_open_browser": "Lantern kullanıcı arabirimini göstermek için tarayıcı penceresi açılamadı", - "support.forum": "Lantern Kullanıcı Forumu", - "support.faq": "SSS", - "terms_of_service.acknowledgment": "{{buttonText}} öğesini tıklayarak, Hizmet Şartlarımızı kabul edersiniz", - "terms_of_service.replica": "Ürünlerimizi herhangi bir şekilde arayarak, yükleyerek veya kullanarak Hizmet Şartlarımızı, Gizlilik Politikamızı ve DMCA Politikamızı kabul edersiniz", - "top_sites.google": "Google", - "top_sites.twitter": "Twitter", - "top_sites.youtube": "Youtube", - "top_sites.facebook": "Facebook", - "top_sites.wikipedia": "Wikipedia", - "verify.header": "Cihaz Bağlama Pinini Girin veya Yapıştırın", - "verify.code": "Cihaz Bağlama Kodu", - "verify.howto_1": "Başka bir cihazda Lantern Pro hesabı kullanıyorsanız, bu cihazda da kullanmak için buraya e-posta adresinizi girin", - "verify.howto_1a": "Şu anda yetkisiz bir Pro kullanıcısısınız. Lütfen Pro hesabınızı yetkilendirmek için e-posta adresinizi girin. Bu birden fazla cihaz bağlamanızı sağlayacak.", - "verify.howto_2": "Pro Hesabınıza Bir Cihaz Bağlamak İçin:", - "verify.howto_3": "1. Diğer cihazınızın Menü'sünden \"Cihazı Pro Hesabına Dahil Et\" öğesini seçin.", - "verify.howto_4": "2. 1. adımdan elde edilen bağlama pinini girin ve gönderin.", - "verify.reminder": "*Her iki cihazın da Lantern'ın en son sürümünü çalıştırdığından emin olun", - "verify.enter_pin": "Cihaz Bağlama Pini Gir veya Yapıştır", - "verify.submit": "Gönder", - "verify.title": "Hesap Doğrulama", - "welcomeToPro.continue": "Pro'ya Devam Et", - "welcomeToPro.invite": "Arkadaşlarınızı davet edin! Eğer 2 yıllık plan satın alırlarsa ikiniz de 3'er aylık, 1 yıllık plan satın alırlarsa ikiniz de 1'er aylık ücretsiz Lantern Pro kazanacaksınız. Haydi davet edin!", - "welcomeToPro.thanks": "Artık en hızlı veri merkezlerimizi kullanmak için sınırsız erişime sahipsiniz. Hesabınıza en fazla üç cihaz bağlanabilir.", - "welcomeToPro.title": "Lantern Pro'ya Hoş Geldiniz!", - "welomeToPro.title_exclamation": "Lantern Pro'ya Hoş Geldiniz!", - "purchase.failed": "Satın alma başarısız oldu. Lütfen daha sonra tekrar deneyin.", - "purchase.success": "Satın Alma Başarılı", - "purchase.success_title": "Lantern {{planType}} planına hoş geldiniz!", - "purchase.success_content_pro": "Artık en hızlı veri merkezlerimizi kullanmak için sınırsız erişime sahipsiniz. Hesabınıza en fazla üç cihaz bağlanabilir.", - "purchase.success_content_platinum": "Artık en hızlı veri merkezlerimizi ve özel hatlarımızı kullanmak için sınırsız erişime sahipsiniz. Hesabınıza en fazla üç cihaz bağlanabilir.", - "welcomeToPro.description": "Artık engelli sitelere ve hizmetlere sınırsız erişime sahipsiniz", - "messages.copied_to_clipboard": "Kod Kopyalandı. Arkadaşlarınızla paylaşın!", - "messages.datacap": "Ücretsiz Lantern hızlı erişim verinizi tamamını kullandınız. Pro'ya yükselterek sınırsız yüksek hıza sahip olun.", - "messages.fatal_error": "Üzgünüz, Lantern sunucularına erişmekte sorun yaşıyoruz. Lütfen İnternet bağlantınızı denetleyip tekrar deneyin.", - "messages.backend_gone": "Üzgünüz, Lantern çalışmıyor gibi görünüyor. Lütfen Lantern'ı yeniden başlatıp tekrar deneyin.", - "messages.get_help": "Yardım Alın", - "freeProCredits.title": "Arkadaşlarını Davet Et", - "freeProCredits.shareWithFriends": "Kodunuzu arkadaşlarınızla paylaşın ve ücretsiz aylık üyelik kazanın!", - "freeProCredits.shareWithFriendsDesc": "Arkadaşınız iki yıllık plan aldığında 3 ay ücretsiz; bir yıllık plan aldığında da 1 ay ücretsiz hakkınız olacak.", - "cards.serverLocation.unknown": "Bilinmeyen", - "cards.serverLocation.description": "Optimize edilmiş Sunucu Konumu", - "cards.serverLocation.description-free": "Sunucu Konumu", - "cards.serverLocation.description-upgrade": "Daha Hızlı Sunuculara Yükselt", - "cards.serverLocation.title": "Mevcut Konum:", - "cards.serverLocation.location": "%s,%s", - "cards.serverLocation.text": "Lantern, Tokyo, Singapur, Hong Kong, San Francisco, New York, Amsterdam, Bangalore ve daha fazlasındaki veri merkezlerimizden size en hızlı bağlantıyı otomatik olarak bulmak için akıllı sunucu seçimini kullanır.", - "cards.serverLocation.text-free": "Lantern, sizi en iyi veri merkezlerimize bağlamak için akıllı sunucu seçimini kullanır.", - "cards.serverLocation.upgrade-link": "Özel Lantern Pro veri merkezlerimizden optimize edilmiş sunucu seçimi ile daha yüksek bir hız için Lantern Pro'ya yükseltin.", - "cards.httpsUpgrades.description": "HTTPS Yükseltmeleri", - "cards.httpsUpgrades.title": "HTTPS Yükseltmeleri: %d", - "cards.httpsUpgrades.text": "Lantern, internette gezinirken bilgilerinizi gizli tutmak için mümkün olunca güvenli olmayan HTTP bağlantılarını otomatik olarak şifreli HTTPS bağlantılarına yükseltir.", - "cards.adsBlocked.description": "Engellenen Reklamlar", - "cards.adsBlocked.title": "Engellenen Reklamlar: %d", - "cards.adsBlocked.text": "Lantern, web sayfalarının yüklenme sürecini hızlandırmak, bant genişliğinden tasarruf etmek ve size daha sorunsuz bir gezinme deneyimi sağlamak için araya giren reklamları engeller.", - "cards.dataUsage.description": "Veri Kullanımı", - "cards.dataUsage.upgrade": "Şimdi Yükselt", - "cards.dataUsage.mb-used": "Aylık yüksek hızlı trafiğinizin%d/%dMB'lık kısmını kullandınız.", - "cards.dataUsage.upgrade-link": "Sınırsız yüksek hızlı servis için şimdi yükseltin", - "cards.subscription.description": "Pro Abonelik", - "cards.subscription.renew": "Yenile", - "cards.subscription.months": "Aboneliğinizde %d aylık Lantern Pro kaldı.", - "cards.subscription.days": "Aboneliğinizde %dgünlükLantern Pro kaldı", - "cards.subscription.unit.months": "MO", - "cards.subscription.unit.days": "GÜNLER", - "cards.subscription.renew-link": "Daha fazla zaman eklemek için aboneliğinizi yenileyin", - "auth.email": "E-posta", - "auth.username": "Kullanıcı adı", - "auth.username.or.email": "Kullanıcı Adı veya E-posta", - "auth.signin": "Giriş", - "current.password": "Geçerli Parola", - "new.password": "Yeni Parola", - "auth.change.password": "Parolayı Değiştir", - "confirm.new.password": "Yeni Parolayı Onayla", - "auth.password": "Şifre", - "auth.have.recovery.phrase": "Bir Kurtarma İfedeniz var mı?", - "auth.forgot.password": "Parolanızı mı unuttunuz ya da parolanız yok mu?", - "auth.create.account": "Hesap Oluştur", - "auth.missing.username": "Kullanıcı adı eksik", - "auth.missing.current.password": "Geçerli parola eksik", - "auth.missing.new.password": "Yeni parola eksik", - "auth.missing.confirm.password": "Onay parolası eksik", - "invalid_credentials": "Geçersiz Kimlik Bilgileri", - "yinbi.wallet": "Yinbi Cüzdan", - "create.wallet": "Cüzdan Oluştur", - "new.to.yinbi": "Yinbi'de yeni misiniz?", - "setup.wallet": "Evet, şimdi yeni bir cüzdan hazırlayalım!", - "web.wallet": "Hayır, Yin.bi Web Sitesinde Cüzdanım var", - "yinbi.next": "İleri", - "yinbi.amount": "Tutar", - "yinbi.missing.address": "Sağlanan hedef adresi yok", - "yinbi.missing.amount": "Belirtilen tutar yok", - "yinbi.missing.email": "E-posta adresi belirtilmedi", - "yinbi.missing.username": "Kullanıcı adı belirtilmedi", - "yinbi.missing.password": "Parola belirtilmedi", - "yinbi.invalid.address": "{{destination}} geçerli bir Stellar adresi değil", - "yinbi.send": "Gönder", - "yinbi.to": "Hedef:", - "yinbi.try_again": "Tekrar denensin mi?", - "yinbi.success.transaction": "İşlem Başarılı!", - "yinbi.failure.transaction": "İşlem Başarısız Oldu", - "yinbi.confirm.transaction": "İşlemi Onayla", - "yinbi.sent.details": "Şuraya {{amount}} YNB gönderdiniz: {{destination}}", - "yinbi.sent.failure.details": "İşleminiz aşağıdaki nedenlerden dolayı başarısız oldu:", - "yinbi.recipient": "Alıcı", - "yinbi.available.send": "Gönderilebilecek {{balance}} YNB'niz var", - "yinbi.wallet.header": "Cüzdan", - "yinbi.send.header": "Yinbi Gönder", - "yinbi.recovery.phrase": "Yinbi Kurtarma İfadesi", - "yinbi.recover.account": "Yinbi Cüzdanınızı ve Lantern hesabınızı kurtarmak için Yinbi Kurtarma İfadenizi girin veya yapıştırın", - "yinbi.recovery.desc": "Lantern hesabınıza ek olarak Yinbi Cüzdan'da oturum açmak istiyorsanız bu yöntemi kullanın", - "yinbi.redeem.codes": "Toplu Yinbi Kodları Kullan", - "yinbi.obtain.codes": "Toplu Yinbi Kullanım kodları, reseller.lantern.io'dan alınabilir", - "yinbi.receive.header": "Yinbi Al", - "yinbi.this.is.your.wallet": "Bu, insanların size YNB gönderebileceği Yinbi cüzdan adresinizdir.", - "yinbi.your.address": "Adresiniz", - "yinbi.no.activity.header": "Etkinlik Yok", - "yinbi.upgrade.pro.button": "Pro'ya Yükseltin ve Ücretsiz Yinbi Alın", - "yinbi.renew.pro.button": "Pro'yu Yenileyin ve Ücretsiz Yinbi Alın", - "yinbi.wallet.activity_header": "Etkinlik", - "yinbi.wallet.send": "Gönder", - "yinbi.wallet.receive": "Al", - "yinbi.wallet.balance": "Bakiye", - "yinbi.wallet.getlantern.pro": "Lantern Pro + Ücretsiz Yinbi Alın", - "yinbi.redemption.codes": "Yinbi Kullanım Kodları", - "redeem_codes.title": "Yinbi Kodlarını Kullan", - "redeem_codes.redeem_button_text": "Kullan", - "redeem_codes.cancel_button_text": "İptal", - "redeem_codes.success": "Başarılı", - "redeem_codes.errors.missing_codes": "Girilen geçerli kod yok", - "redeem_codes.errors.invalid_codes": "Hata, lütfen vurgulanan kodları kontrol edin. Üstü çizili kodların süresi dolmuştur ve artık kullanılamaz.", - "yinbi.new.account.text": "Yinbi gönderdikten veya aldıktan sonra işlemleriniz burada görünecektir.", - "yinbi.createAccount": "Hesap Oluştur", - "yinbi.confirm.account.text": "İfadeyi doğru yazdığınızdan emin olmak için lütfen kurtarma ifadenizden aşağıdaki sözcükleri girin", - "create_account.invalid_words.error": "Girilen sözcükler kurtarma parolasındakilerle eşleşmedi", - "yinbi.recovery_text": "Bu sizin Yinbi Cüzdan Kurtarma İfadenizdir. Parolayı unuttuğunuzda Yinbi Cüzdanınızı\nkurtarmanın TEK yolu budur. Bu ifadeyi muhafaza ederken parola yöneticisi kullanın\nveya basılı bir kopya oluşturun.", - "yinbi.recovery_confirm_text": "Bu sizin Yinbi Cüzdan Kurtarma İfadenizdir. Parolayı unuttuğunuzda Yinbi Cüzdanınızı\nkurtarmanın TEK yolu budur. Bu ifadeyi muhafaza ederken parola yöneticisi kullanın\nveya basılı bir kopya oluşturun.", - "yinbi.import.wallet": "Cüzdanı İçe Aktar", - "yinbi.setup.wallet": "Cüzdanı Kur", - "yinbi.importWallet": "Yin.bi Cüzdan'ı İçe Aktar", - "yinbi.import.wallet.continue": "Cüzdanınıza Devam Edin", - "yinbi.import.wallet.success": "Cüzdan İçe Aktarma Başarılı!", - "yinbi.wallet.text": "Yinbi Cüzdan'a erişmek için Hesap Oluşturabilir, Oturum Açabilir veya\ndaha önce Yin.bi web sitesine kaydolduysanız Yin.bi'den cüzdanınızı\niçe aktarabilirsiniz.", - "yinbi.wallet.pro.text": "Yinbi Cüzdan'a erişmek için Hesap Oluşturabilir, daha önce kaydolduysanız Yin.bi'den cüzdanınızı içe aktarabilirsiniz.", - "yinbi.recovery_subheader": "Yinbi Cüzdan Kurtarma İfadesi", - "yinbi.import_wallet.subheader": "Yinbi Cüzdan'ı İçe Aktar", - "yinbi.import_wallet.text": "Cüzdanınızı Lantern'a aktarmak için Yin.bi kimlik bilgilerinizi kullanarak oturum açın", - "yinbi.import_wallet.success": "Cüzdanınız başarıyla içe aktarıldı, lütfen hesap kaydını tamamlamak için e-postanızı ekleyin.", - "yinbi.import_wallet.success_subheader": "İçe Aktarma Başarılı!", - "yinbi.import_wallet.button": "Yin.bi Cüzdan'ı İçe Aktar", - "yinbi.import_wallet.success_button": "Kaydı Tamamla", - "yinbi.recovery_passphrase.label_text": "Kurtarma İfadesi", - "yinbi.recovery_passphrase.copy_button_text": "Kopyala", - "terms_of_service.notice": "Bildirim", - "terms_of_service.i_agree": "Kabul ediyorum", - "platinum": "Platinum", - "platinum.one_year": "1 yıllık fiyatlandırma", - "platinum.two_years": "2 yıllık fiyatlandırma", - "platinum.save": "%{{savings}} oranına kadar tasarruf!", - "platinum.unlimited": "Sınırsız Veri", - "platinum.logs": "Günlük yok", - "platinum.devices": "3 cihaza kadar bağlayın", - "platinum.everything_in_pro": "Pro içine dahil olan her şey", - "platinum.faster_data": "Daha hızlı veri merkezleri", - "platinum.dedicated": "Özel hat", - "platinum.reliability": "Artmış Güvenilirlik", - "platinum.platinum_one_year": "Lantern Platinum 1 yıllık", - "platinum.platinum_two_years": "Lantern Platinum 2 yıllık", - "platinum.pro_one_year": "Lantern Pro 1 yıllık", - "platinum.pro_two_years": "Lantern Pro 2 yıllık", - "platinum.total": "Toplam", - "platinum.free": "Ücretsiz", - "platinum.credit.days": "+ {{ days }} gün", - "platinum.credit.months": "{{ months }} ay", - "platinum.upgrade": "Platinum'a Yükselt", - "platinum.upgrade_details": "Özel Hat + Daha Hızlı Veri merkezleri!", - "platinum.unused_time_disclaimer": "Platinum'a yükselten Pro kullanıcıları, dönüştürülen Pro aboneliğini yukarıda eklenilen süre olarak görecek.", - "p2p.opt_in_description": "İnternetinizi kullanarak insanların sansürsüz internete erişmesine yardım edin", - "p2p.active_sharing_description": "İnternet paylaşımınız açık", - "p2p.dialog.title": "İnternet erişimini paylaş", - "p2p.dialog.text.1": "Bağlantınızı paylaşarak kısıtlanmış interneti olanlara yardım edin. İnternetinizi erişime açarak internetin daha açık bir yer olmasını sağlayan gönüllü ağının bir parçası olursunuz.", - "p2p.dialog.text.2": "Paylaşmak kimlik veya güvenliğinizi tehlikeye atmaz. İstediğiniz zaman internet paylaşımınızı durdurabilirsiniz.", - "p2p.dialog.yes_button": "EVET, PAYLAŞMAYA BAŞLA", - "p2p.dialog.no_button": "İPTAL ET", - "p2p.banner.introducing": "KARŞINIZDA", - "top_sites.top_sites": "Başlıca Siteler" -} \ No newline at end of file diff --git a/locale/translation/ug.json b/locale/translation/ug.json deleted file mode 100644 index b14206029..000000000 --- a/locale/translation/ug.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "TRAY_SHOW_LANTERN": "Show Lantern", - "TRAY_QUIT": "Lantern دىن چېكىنىش" -} \ No newline at end of file diff --git a/locale/translation/uk.json b/locale/translation/uk.json deleted file mode 100644 index 6bf9e6784..000000000 --- a/locale/translation/uk.json +++ /dev/null @@ -1,462 +0,0 @@ -{ - "TRAY_LANTERN": "Lantern", - "TRAY_STATUS": "Status: %v", - "TRAY_CONNECT": "Connect", - "TRAY_DISCONNECT": "Disconnect", - "TRAY_SHOW_LANTERN": "Показати Lantern", - "TRAY_UPGRADE_TO_PRO": "Upgrade to Pro", - "TRAY_QUIT": "Вийти з Lantern", - "BACKEND_DATA_TITLE": "No more high speed Lantern data", - "BACKEND_DATA_MESSAGE": "Please upgrade to Pro to keep using Lantern at full speed!", - "BACKEND_DATA_PERCENT_TITLE": "Reached %s of your Lantern data", - "BACKEND_DATA_PERCENT_MESSAGE": "You have used %s of your Lantern high speed data for the month. Upgrade now!", - "BACKEND_CLICK_LABEL": "Open", - "BACKEND_CLICK_LABEL_OPEN": "Open", - "BACKEND_CLICK_LABEL_HELP": "Допомога", - "BACKEND_CLICK_LABEL_GOT_IT": "Got it", - "BACKEND_AUTOUPDATED_TITLE": "Update Lantern to version %s", - "BACKEND_AUTOUPDATED_MESSAGE": "Lantern %s has been downloaded. Please restart Lantern to use it.", - "BACKEND_MITM_INSTALL_CERT": "Lantern wants to install a custom certificate in order to unblock your traffic", - "BACKEND_MITM_INSTALL_CERT_WINDOWS_BODY": "Please allow %v to make changes to your system", - "BACKEND_ALERT_TITLE": "Critical alert needs your attention", - "about.content": "Lantern is an application that delivers fast, reliable and secure access to the open Internet.", - "about.faq": "Read the Lantern FAQs", - "about.open": "Open Internet for Everyone", - "about.questions": "Questions?", - "about.title": "Про нас", - "account.cancel": "Cancel Pro Account", - "account.free.cap": "{{mb}} MB remaining of your free monthly data", - "account.free.cap.upgrade": "Upgrade to Pro for unlimited high speed data", - "account.freelink.validFor": "valid for %s", - "account.freelink.desc": "To link this device to your Pro account:", - "account.freelink.step1": "1. Open the 'Add Device' menu item on your Pro device.", - "account.freelink.step2": "2. Enter the device linking code, and submit.", - "account.freelink.reminder": "* Make sure you're updated to the latest version of Lantern on your Pro device", - "account.freelink.errorTitle": "Error Linking", - "account.freelink.errorText": "Are you sure you entered the code on your Pro device?", - "account.freelink.headerDesc": "Link this device to your Pro account", - "account.freelink.title": "Device Linking Code", - "account.pro.charge": "Your account will automatically be charged for another year of Lantern Pro at the end of your billing cycle.", - "account.upgrade": "Upgrade to Pro", - "account.pro.email": "Email Address:", - "account.pro.expired": "Your Pro account has expired. Renew now for Unlimited monthly data.", - "account.pro.expiry": "Your Pro account expires in %s days on %s.", - "account.pro.bonusMonths": "This includes your {{bonusMonths}} bonus months!", - "account.pro.thisdevice": "(This Device)", - "account.pro.logout": "LOG OUT", - "account.pro.removedevice": "REMOVE", - "account.pro.devices": "Devices authorized to use your Pro account:", - "account.pro.device.confirm.title": "Deauthorize Device", - "account.pro.device.confirm": "Are you sure you want to remove '{{device}}' from your Lantern Pro account?", - "account.pro.device.one.title": "Only One Device", - "account.pro.device.one": "Sorry, but you cannot remove your last authorized device.", - "account.pro.linkingcode": "Device Linking Code:", - "account.pro.renew": "RENEW PRO ACCOUNT", - "account.prolink.errorTitle": "Error Linking", - "account.prolink.errorText": "Are you sure you copied the code correctly from your other device?", - "account.prolink.successTitle": "Device Linked", - "account.prolink.successText": "You have successfully linked your device! Please wait a moment for your other device to automatically become pro.", - "adyen.paymentMethods.title": "Payment Methods", - "adyen.paymentMethods.storedMethods": "Your payment methods", - "adyen.paymentMethods.otherMethods": "Select other method", - "adyen.paymentMethods.moreMethodsButton": "More payment methods", - "adyen.payButton": "Pay", - "adyen.payButton.formatted": "Pay %@", - "adyen.cancelButton": "Скасувати", - "adyen.dismissButton": "Гаразд", - "adyen.storeDetails": "Save for my next payment", - "adyen.payment.redirecting": "You will be redirected", - "adyen.payment.processing": "Your payment is being processed", - "adyen.creditCard.title": "Card Details", - "adyen.creditCard.holderName": "Cardholder name", - "adyen.creditCard.holderName.placeholder": "J. Smith", - "adyen.creditCard.numberField.title": "Card Number", - "adyen.creditCard.numberField.placeholder": "1234 5678 9012 3456", - "adyen.creditCard.numberField.invalid": "Invalid card number", - "adyen.creditCard.expiryDateField.title": "Expiry Date", - "adyen.creditCard.expiryDateField.placeholder": "MM/YY", - "adyen.creditCard.expiryDateField.invalid": "Invalid expiration date", - "adyen.creditCard.expiryDateField.month": "Month", - "adyen.creditCard.expiryDateField.month.placeholder": "MM", - "adyen.creditCard.expiryDateField.year.placeholder": "YY", - "adyen.creditCard.expiryDateField.year": "Year", - "adyen.creditCard.cvcField.title": "CVC / CVV", - "adyen.creditCard.cvcField.placeholder": "123", - "adyen.creditCard.installmentsField": "Number of installments", - "adyen.creditCard.storeDetailsButton": "Remember this card for my next payment", - "adyen.creditCard.oneClickVerification.title": "Verify your card", - "adyen.creditCard.oneClickVerification.message": "Please enter the CVC code for %@", - "adyen.creditCard.oneClickVerification.invalidInput.title": "Invalid CVC", - "adyen.creditCard.oneClickVerification.invalidInput.message": "Please enter a valid CVC to continue.", - "adyen.sepaDirectDebit.ibanField.title": "Account Number (IBAN)", - "adyen.sepaDirectDebit.ibanField.placeholder": "NL53 ABNA 1925 1294 122", - "adyen.sepaDirectDebit.ibanField.invalid": "Invalid account number", - "adyen.sepaDirectDebit.nameField.title": "Holder Name", - "adyen.sepaDirectDebit.nameField.placeholder": "J. Smith", - "adyen.sepaDirectDebit.consentButton": "I agree that the amount below will be debited from my bank account.", - "adyen.sepa.ownerName": "Holder Name", - "adyen.sepa.ibanNumber": "Account Number (IBAN)", - "adyen.giropay.searchField.placeholder": "Bankname / BIC / Bankleitzahl", - "adyen.giropay.minimumLength": "Min. 3 characters", - "adyen.giropay.noResults": "No search results", - "adyen.error.title": "Помилка", - "adyen.error.subtitle.redirect": "Redirect failed", - "adyen.error.subtitle.payment": "Payment failed", - "adyen.error.subtitle.refused": "Payment refused", - "adyen.error.message.unknown": "An unknown error occurred", - "adyen.error.message.cannotConnectToInternet": "Failed to connect to the internet : please check your internet connection.", - "adyen.error.message.cannotConnectToHost": "Failed to connect to our payment server.", - "adyen.error.retryButton": "Try again", - "adyen.idealIssuer.selectField.title": "Bank", - "adyen.idealIssuer.selectField.placeholder": "Select your bank", - "adyen.creditCard.success": "Payment Successful", - "adyen.oneClick.confirmationAlert.title": "Confirm %@ payment", - "adyen.redirect.cannotOpenApp.title": "Cannot Open App", - "adyen.redirect.cannotOpenApp.appNotInstalledMessage": "This app could not be opened because it is not installed on this device.", - "adyen.holderName": "Cardholder name", - "adyen.countryCode": "Country Code", - "adyen.telephone.number": "Telephone number", - "authorize.title": "Authorize Device for Pro", - "authorize.step1.have_pro_device": "I have another Lantern Pro device", - "authorize.step1.link": "Link this device", - "authorize.step1.or": "або", - "authorize.step1.recover": "I need to recover my Lantern Pro account", - "authorize.step1.start": "start recovery", - "authorize.step1.no_mail": "Don't remember your Email address?", - "authorize.step2b.enter_code": "Enter your Account Recovery Code", - "authorize.step2b.code": "Account Recovery Code", - "authorize.step2b.instruction": "An Email with a recovery code has been sent to {{email}}. This email may take several hours to arrive. Please check your spam folder if you do not find it.", - "authorize.step2b.no_mail": "Didn't receive email", - "authorize.step3.recovery": "Account Recovery", - "authorize.step3.no_email": "Oops! We're having trouble finding that email address. Please provide more information below to help us locate your account.", - "authorize.step3.no_code_received": "Having trouble receiving the recovery email? Enter the information below and we will contact you within 48 hours.", - "authorize.step3.your_email": "Your Email", - "authorize.step3.payment_method": "Payment Method", - "authorize.step3.payment_method_hint": "Select the payment method you used to get Pro", - "authorize.step3.credit_card": "Credit Card", - "authorize.step3.alipay": "AliPay", - "authorize.step3.android_pay": "Android Pay", - "authorize.step3.by_referral": "Received Pro by Referring a friend", - "authorize.step3.payment_account": "Payment Account", - "authorize.step3.payment_account_hint": "Enter your Alipay account information", - "authorize.step3.referral_code": "Your Referral Code", - "authorize.step3.purchase_date": "Purchase Date", - "authorize.step3.note": "Please note any other information that may help us locate your account.", - "authorize.step4.title": "Account Recovery In-Progress", - "authorize.step4.text1": "Thank you! We've received your account recovery request.", - "authorize.step4.text2": "Please allow 48 hours to retrieve your Pro account information.", - "authorize.step4.text3": "We will send information to the email address entered on the previous screen.", - "authorized.continue": "Continue to Pro", - "authorized.text": "This device is now authorized to use your Lantern Pro account!", - "authorized.title": "Device Authorized", - "button.renew": "Renew", - "button.upgrade": "Upgrade", - "button.upgrade_now": "Upgrade Now", - "button.upgrade_to_lantern_pro": "Upgrade to Lantern Pro", - "button.copy_your_code": "Copy your code", - "button.try_again": "Try again", - "button.continue": "Продовжити", - "bullet.click_button": "Click on the button below", - "bullet.paste_code": "Paste the code & download link in a message", - "bullet.send_to_friends": "Send to your friends", - "cancel": "Скасувати", - "confirm": "Confirm", - "google_search": "Google Search", - "link_device": "Already have a Pro account? Link device", - "err.unknown_error": "Unknown error", - "err.internal_error": "Internal error", - "err.bad_input": "Bad input", - "err.not_authorized": "Not authorized", - "err.user_exists": "User exists", - "err.no_such_user": "No such user", - "err.user_already_verified": "User already verified", - "err.invalid_user_verification": "Invalid user verification", - "err.user_unverified": "User Unverified", - "err.operation_temporarily_unavailable": "Operation temporarily unavailable", - "err.wrong_or_inexistent_plan": "Wrong or inexistent plan", - "err.user_has_active_subscription": "User has active subscription", - "err.payment_error": "Payment error", - "err.no_codes_left": "No referral codes left", - "err.wrong_code": "Wrong referral code", - "err.redeeming_own_code_not_allowed": "Redeeming codes of oneself is not allowed", - "err.wrong_charge_id": "Wrong charge ID", - "footer.reseller": "Make Money! Become a Lantern Pro reseller. Click Here", - "footer.reseller.email_subject": "Tell me about the Lantern Reseller Program!", - "footer.reseller.email_body": "When you become a Lantern Reseller you will have the opportunity to make up to 25% on every sale of a Lantern Pro subscription. Tell us a bit about why you want to become a reseller below.", - "feature.faster_speed": "Faster Speed", - "feature.faster": "Faster data centers", - "feature.unlimited": "Unlimited data", - "feature.nologs": "No Logs", - "feature.devices": "Connect up to 3 devices", - "feature.noads": "No Ads", - "feature.antiblock": "Blocking Resistant", - "feature.data_center": "Better Data Centers", - "feature.free_yinbi": "Free Yinbi Cryptocurrency!", - "free.title": "Lantern Pro", - "free.desc": "Faster. Stronger. Unlimited. Secure.", - "free.link_account": "Already have a Pro account? Link your account.", - "home.get_lantern_pro": "Get Lantern Pro", - "input.email": "Email", - "input.your_email": "Your Email Address", - "input.confirm_email": "Confirm Email Address", - "input.enter_email": "Enter your email", - "input.use_valid_email": "Write a valid email address", - "input.email_not_match": "Email fields do not match", - "issue.your_email": "Your Email", - "issue.attach_image_failure": "Cannot attach image", - "issue.try_again": "Please try again", - "issue.select_issue": "Please Select an Issue", - "issue.selected_issue": "Select Issue", - "issue.select_issue_hint": "Select an issue from the dropdown menu", - "issue.note": "Describe your Issue", - "issue.description": "Issue Description", - "issue.error": "Error reporting issue", - "issue.submit": "Send Report", - "issue.report_screenshot": "Drag image or click to upload screenshot", - "issue.reported": "Thank you for reporting your issue, we will get back to you via Email as soon as we are able", - "issue.report_sent": "Report Sent", - "issue.type.no_access": "Cannot access blocked sites", - "issue.type.payment_fail": "Cannot complete the payment", - "issue.type.cannot_login": "Cannot log in", - "issue.type.always_spinning": "Loading spinner spins endlessly", - "issue.type.slow": "Slow", - "issue.type.cannot_link_device": "Cannot link devices", - "issue.type.crashes": "Lantern crashes", - "issue.type.other": "Other", - "languages.title": "Languages", - "mobile.link": "Use the link to download Lantern on your Android device:", - "mobile.title": "Get Android Version", - "nav.about": "Про нас", - "nav.account": "Account Management", - "nav.authorize": "Add Device", - "nav.authorized": "Device Authorized", - "nav.unauthorized_link": "Authorize Device for Pro", - "nav.language": "Мова", - "nav.lantern": "Lantern", - "nav.mobile": "Get Mobile Version", - "nav.report_issue": "Report an Issue", - "nav.settings": "Параметри", - "nav.verify": "Account Verification", - "nav.yinbi": "Yinbi Redemption", - "nav.home": "Home", - "nav.discover": "Discover", - "nav.wallet": "Wallet", - "nav.yinbi_wallet": "Yinbi Wallet", - "notification.retry": "Повторити", - "notifications.whatisnew": "What's New?", - "payment.close": "Закрити", - "payment.wait_for_pro": "Thanks for your purchase of Lantern Pro! Please wait a moment for your Lantern to automatically become Pro.", - "payment_methods.select_name": "Select payment method", - "payment_methods.alipay": "Credit Card/Alipay", - "payment_methods.shetab": "Fast World Pay (Shetab)", - "payment_methods.shetab.details.header": "To purchase Lantern Pro", - "payment_methods.shetab.details.body": "When you click continue to purchase you will be redirected to an external site to complete payment and collect your activation code.", - "payment_methods.shetab.details.tutorial_header": "Farsi tutorial", - "payment_methods.shetab.details.purchase_voucher_button": "Continue To Purchase", - "payment_methods.shetab.details.input_code_button": "Input Activation Code", - "plan.step1": "Step 1", - "plan.apply": "Apply", - "plan.step2": "Step 2", - "plan.step3": "Step 3", - "plan.choose_plan": "Choose Plan", - "plan.enter_email": "Enter Email", - "plan.bestValue": "Best Deal!", - "plan.per_month": "per month", - "plan.yinbi_2x": "+ 2x Yinbi!", - "plan.oneYear": "1 year", - "plan.add_referral": "Add Referral Code", - "plan.years": "{{years}} year plan", - "plan.desc": "{{price}} billed one time", - "plan.price.cny": "¥%.02f", - "plan.price.usd": "$%.02f", - "plan.currency.cny": "(RMB)", - "plan.currency.usd": "(USD)", - "plan.time_unit": "/YR", - "plan.select": "Select", - "plans.title": "Lantern Pro Plans", - "plans.lantern_pro": "Lantern Pro", - "plans.platforms": "For Windows, Android, Mac, Ubuntu.", - "plans.from_reseller": "Have a Lantern Pro activation code? Click here", - "plans.with_voucher_code": "Have an activation code? Click here.", - "pro.apply": "Your credits will be applied to your account in the next billing cycle.", - "pro.title": "Invite friends, get more Pro for free", - "pro.subtitle": "When your friend purchases the two year plan you each get 3 additional months of Pro, the one year plan gets you each 1 month free.", - "pro.share": "Share your code with friends to start earning more credits!", - "promotion.title": "Lantern Pro Checkout", - "promotion.title.activation": "Lantern Pro Activation", - "promotion.enter_and_confirm_email": "Please enter and confirm your email address", - "promotion.code.hint": "Enter your friend's Referral code (optional)", - "promotion.code.label": "Referral Code", - "promotion.payment": "Continue to Payment", - "promotion.loading": "Loading...", - "promotion.howto_1y": "If a friend shared their referral code with you, enter the code to receive one month of Lantern Pro for free after checkout.", - "promotion.howto_2y": "If a friend shared their referral code with you, enter the code to receive three months of Lantern Pro for free after checkout.", - "promotion.pay": "Pay {{amount}}", - "promotion.select": "Select", - "promotion.promotion_applied_1y": "+1 bonus months", - "promotion.promotion_applied_2y": "+3 bonus months", - "promotion.too_many_referrals": "This referral code has already been added. Check out now to receive your extra months.", - "promotion.activation.enter_and_confirm_email": "Please enter and confirm your email address to register your Lantern Pro account.", - "promotion.activation.label": "XXXXX-XXXXX-XXXXX-XXXXX-XXXXX", - "promotion.activation.hint": "Enter your Activation Code", - "promotion.activation.howto": "Please enter your 25 character Lantern Pro activation code above. If you do not have a code, please purchase Pro on the previous screen or look for a Lantern Pro reseller online.", - "promotion.activation.continue": "Continue to Pro", - "promotion.voucher.hint": "Activation Code", - "promotion.voucher.howto": "Please enter your 12 character Fast World Pay activation code above", - "promotion.voucher.label": "XXXXXXXXXXXX", - "promotion.voucher.error.default": "Error redeeming your activation code. Please contact contact@fastworldpay.com for assistance.", - "promotion.voucher.error.invalid_code": "Invalid activation code", - "promotion.voucher.error.invalid_plan": "Activation code associated with an invalid plan", - "promotion.voucher.error.already_redeemed": "Activation code has already been redeemed", - "referral.code": "Share your referral code", - "referral.text": "Use my code %s and get 3 months free when you sign up!", - "renew.title_30_days": "Renew now for 3 months free!", - "renew.title_2_days": "Lantern Pro expires tomorrow.\nRenew now for 3 months free!", - "renew.title_last_day": "Lantern Pro expires today.\nDon't miss out on your Pro discount!", - "renew.title_expired": "Lantern Pro has expired", - "renew.details_30_days": "Your Lantern Pro membership is ending soon, renew now and enjoy up to three months free! This limited time offer is only valid for early renewals.", - "renew.details_2_days": "Your Lantern Pro membership is ending soon, renew now and enjoy up to three months free! This limited time offer is only valid for early renewals.", - "renew.details_last_day": "Renew now and enjoy up to three months free!\nThis is the last day to take advantage of this offer.\nLantern Pro users get faster speeds, unlimited data, better blocking resistance, three devices and no ads.", - "renew.details_expired": "Renew now for an extra 45 days free. Limited time only.\nLantern Pro users get faster speeds, unlimited data, better blocking resistance, three devices and no ads.", - "renew.plan_label": "Lantern Pro - %s", - "renew.plan_renewal_bonus_1_month": "$%d%s + 1 FREE MONTH", - "renew.plan_renewal_bonus_months": "$%d%s + %d FREE MONTHS", - "renew.plan_renewal_bonus_days": "$%d%s + %d FREE DAYS", - "renew.next": "next", - "renew.decline": "Decline Offer", - "renew.decline_question": "Are you sure you want to decline this offer?", - "renew.decline_yes": "Renew later", - "renew.decline_dismiss": "Renew now", - "renew.notification_title_30_days": "Renew Pro now for huge savings!", - "renew.notification_text_30_days": "Your Lantern Pro account expires in {{days}} days. Renew now and get up to 3 months free.", - "renew.notification_title_2_days": "Lantern Pro discount ends tomorrow!", - "renew.notification_text_2_days": "Your Pro account expires tomorrow. Don’t miss this opportunity for a huge discount.", - "renew.notification_title_last_day": "Last chance for a discount!", - "renew.notification_text_last_day": "Your Lantern pro account has expired. Renew today and get up to 3 months free.", - "replica.upload": "Upload", - "replica.relevance": "Relevance", - "replica.upload_date": "Upload Date", - "replica.gallery_view": "Gallery View", - "replica.list_view": "List View", - "replica.copy_lantern_link": "Copy Lantern Link", - "replica.delete_file": "Delete File", - "replica.docs": "Документи", - "replica.other": "Other", - "replica.apps": "Apps", - "replica.images": "Images", - "replica.videos": "Videos", - "replica.next": "Next", - "replica.previous": "Previous", - "replica.select_all": "Select All", - "replica.search_replica": "Search Public Files", - "replica.no_files_found": "No Files Found", - "replica.or_content": "your own content for other people to find!", - "replica.try_again": "Try a different keyword, or", - "replica.upload_success": "Upload Success!", - "replica.cannot_preview": "No preview for this filetype", - "replica.size": "Size", - "replica.uploaded": "Uploaded", - "replica.invalid_link": "Invalid Link", - "replica.close": "Закрити", - "replica.my_files": "My Files", - "replica.filename": "File Name", - "replica.filename_required": "File Name (required)", - "replica.filetype": "Filetype", - "replica.sortby": "Sort By", - "replica.link": "Replica link", - "replica.collapse": "Collapse", - "replica.publish": "Publish", - "replica.cancel": "Скасувати", - "replica.delete": "Delete", - "replica.failed_to_delete": "Failed to delete", - "replica.link_lookup_failure": "Failed to find link", - "replica.delete_file_confirmation_1": "Are you sure you want to delete", - "replica.delete_file_confirmation_2": "from your uploads", - "replica.share_file": "Share File", - "replica.download_and_view": "Download/View", - "replica.download": "Звантажити", - "replica.copy_link": "Copy Replica Link", - "replica.find_file": "Find file", - "replica.file_drop_prompt": "Drag file here or browse to post", - "settings.general": "General", - "settings.feedback": "Feedback", - "settings.autoLaunch": "Run Lantern on system start", - "settings.autoReport": "Securely report usage statistics to contribute to Lantern", - "settings.proxyAll": "Перенаправити весь трафік", - "settings.proxyAllHelpTitle": "WHAT DOES \"PROXY ALL TRAFFIC\" DO?", - "settings.proxyAllHelp1": "If enabled, all traffic will be sent through Lantern (most Secure option).", - "settings.proxyAllHelp2": "If disabled, only blocked traffic will be sent through Lantern (fastest option, most common).", - "settings.show_advanced": "Show Advanced Settings", - "settings.hide_advanced": "Hide Advanced Settings", - "settings.systemProxy": "Manage system proxy", - "settings.title": "Параметри", - "settings.http_proxy": "HTTP(S) proxy:", - "settings.socks_proxy": "SOCKS proxy:", - "settings.caution": "Caution:", - "settings.caution_text": "When you uncheck \"Manage system proxy\" your browser and applications won't be able to use Lantern automatically. If you know how to manually configure these settings refer to the information above.", - "settings.select_language": "Select Langauge", - "status.lantern": "Lantern is", - "status.click_reconnect": "Click here to reconnect", - "status.server_location": "Server Location", - "status.tooltip1": "Lantern uses smart server selection to connect you to our best data centers.", - "status.tooltip2": "Upgrade to Lantern Pro for faster speed with optimized server selection from our exclusive Lantern Pro data centers", - "status.protected_connection": "Your Connection is Protected", - "status.please_wait": "This may take a minute or two...", - "status.connecting": "З'єднання…", - "status.no_internet": "Off", - "status.no_internet_connection": "No Internet connection", - "status.connected": "On", - "status.disconnected": "Off", - "status.throttled": "Speed Throttled (Data Cap)", - "status.no_system_proxy": "{{status}}, not managing system proxy", - "status.fail_to_set_system_proxy": "Failed to set Lantern as system proxy", - "status.fail_to_open_browser": "Failed to open browser window to show the Lantern user interface", - "terms_of_service.acknowledgment": "By clicking {{buttonText}}, you agree to our Terms of Service", - "verify.header": "Want to link another device to this Pro account? Enter your Device Linking Code below", - "verify.code": "Device Linking Code", - "verify.howto_1": "If you have a Lantern Pro account on another device, please enter your e-mail address here to receive a code to authorize the device", - "verify.howto_1a": "You're currently an unauthorized Pro user. Please enter your e-mail address to authorize your Pro account. This will enable you to link multiple devices.", - "verify.howto_3": "1. Open the 'Authorize Device for Pro' menu item on your unauthorized device.", - "verify.howto_4": "2. Enter the linking code obtained from step 1, and submit.", - "verify.reminder": "*Make sure you are updated to the latest version of Lantern on your unauthorized device", - "verify.submit": "Submit", - "verify.title": "Account Verification", - "welcomeToPro.continue": "Continue to Pro", - "welcomeToPro.invite": "Invite friends and you will each get 3 months free when they purchase the two-year plan, the one year plan gets you each 1 month free. Start inviting!", - "welcomeToPro.thanks": "Thanks for your purchase of Lantern Pro!", - "welcomeToPro.title": "Welcome To Lantern Pro", - "messages.copied_to_clipboard": "Code Copied. Share it with your friends!", - "messages.datacap": "You have used your free high speed data. Upgrade to Pro for unlimited high speed data.", - "messages.fatal_error": "Sorry, we're having trouble contacting the Lantern servers. Please check your internet connection and try again.", - "messages.backend_gone": "Sorry, Lantern appears to no longer be running. Please restart Lantern and try again.", - "messages.get_help": "Get Help", - "freeProCredits.title": "Invite Friends", - "freeProCredits.shareWithFriends": "Share your code with friends to earn free months!", - "freeProCredits.shareWithFriendsDesc": "When your friend purchases the two year plan you will each get 3 months free, the one year plan gets you each 1 month free.", - "cards.serverLocation.unknown": "Unknown", - "cards.serverLocation.description": "Optimized Server Location", - "cards.serverLocation.description-free": "Server Location", - "cards.serverLocation.description-upgrade": "Upgrade for Faster Servers", - "cards.serverLocation.title": "Current Location:", - "cards.serverLocation.location": "%s, %s", - "cards.serverLocation.text": "Lantern uses smart server selection to automatically find you the fastest connection possible from our data centers in Tokyo, Singapore, Hong Kong, San Francisco, New York, Amsterdam, Bangalore and more.", - "cards.serverLocation.text-free": "Lantern uses smart server selection to connect you to our best data centers.", - "cards.serverLocation.upgrade-link": "Upgrade to Lantern Pro for faster speed with optimized server selection from our exclusive Lantern Pro data centers.", - "cards.httpsUpgrades.description": "HTTPS Upgrades", - "cards.httpsUpgrades.title": "HTTPS Upgrades: %d", - "cards.httpsUpgrades.text": "Lantern automatically upgrades unsecure HTTP connections to encrypted HTTPS connections when possible to keep your information private while surfing the web.", - "cards.adsBlocked.description": "Ads Blocked", - "cards.adsBlocked.title": "Blocked Ads: %d", - "cards.adsBlocked.text": "Lantern blocks intrusive ads to speed up web page loading time, save bandwidth, and to give you a smoother browsing experience.", - "cards.dataUsage.description": "Data Usage", - "cards.dataUsage.upgrade": "Upgrade now", - "cards.dataUsage.mb-used": "You have used %d/%dMB of your monthly high speed data.", - "cards.dataUsage.upgrade-link": "Upgrade now for unlimited high speed service!", - "cards.subscription.description": "Pro Subscription", - "cards.subscription.renew": "Renew", - "cards.subscription.months": "You have %d months of Lantern Pro left in your subscription.", - "cards.subscription.days": "You have %d days of Lantern Pro left in your subscription.", - "cards.subscription.unit.months": "MO", - "cards.subscription.unit.days": "DAYS", - "cards.subscription.renew-link": "Renew your subscription to add more time." -} \ No newline at end of file diff --git a/locale/translation/uk_UA.json b/locale/translation/uk_UA.json deleted file mode 100644 index efc2ca839..000000000 --- a/locale/translation/uk_UA.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "TRAY_SHOW_LANTERN": "Показати Lantern", - "TRAY_QUIT": "Вийти з Lantern" -} \ No newline at end of file diff --git a/locale/translation/vi.json b/locale/translation/vi.json deleted file mode 100644 index 94bf62f5a..000000000 --- a/locale/translation/vi.json +++ /dev/null @@ -1,797 +0,0 @@ -{ - "LANTERN": "Lantern", - "pro": "Pro", - "BEAM": "Beam", - "TRAY_STATUS": "Trạng thái: %v", - "TRAY_CONNECT": "Kết nối", - "TRAY_DISCONNECT": "Ngắt kết nối", - "TRAY_SHOW": "Hiển thị %s", - "TRAY_UPGRADE_TO_PRO": "Nâng cấp lên bản Pro", - "TRAY_QUIT": "Thoát %s", - "BACKEND_DATA_TITLE": "Không còn dữ liệu %s tốc độ cao nữa", - "BACKEND_DATA_MESSAGE": "Vui lòng nâng cấp lên Pro để tiếp tục sử dụng %s ở tốc độ tối đa!", - "BACKEND_DATA_PERCENT_TITLE": "Đã dùng đến %s trong số %s dữ liệu của bạn", - "BACKEND_DATA_PERCENT_MESSAGE": "Bạn đã sử dụng %s trong số %s dữ liệu tốc độ cao của mình. Nâng cấp ngay bây giờ!", - "BACKEND_CLICK_LABEL": "Mở", - "BACKEND_CLICK_LABEL_OPEN": "Mở", - "BACKEND_CLICK_LABEL_HELP": "Trợ giúp", - "BACKEND_CLICK_LABEL_GOT_IT": "Đã nhận được", - "BACKEND_AUTOUPDATED_TITLE": "Cập nhật %s lên phiên bản %s", - "BACKEND_AUTOUPDATED_MESSAGE": "%s %s đã được tải xuống. Vui lòng khởi động lại %s để sử dụng.", - "BACKEND_MITM_INSTALL_CERT": "%s muốn cài đặt chứng chỉ tùy chỉnh để cải thiện hiệu suất", - "BACKEND_MITM_INSTALL_CERT_WINDOWS_BODY": "Vui lòng cho phép %v thay đổi hệ thống của bạn", - "BACKEND_ALERT_TITLE": "Cảnh báo quan trọng cần bạn chú ý", - "BACKEND_INSTALL_DIAGNOSTIC_TOOLS": "% s cần sự cho phép của bạn để cài đặt các công cụ chẩn đoán. Điều này sẽ giúp chúng tôi cải thiện trải nghiệm% s của bạn.", - "BACKEND_CONFIG_SAVE_ERROR_TITLE": "Không thể lưu cấu hình", - "BACKEND_CONFIG_SAVE_ERROR_MESSAGE": "Không thể lưu cấu hình ứng dụng. %s không thể đảm bảo rằng lưu lượng truy cập sẽ được tính theo tỷ lệ chính xác.", - "about.content": "Lantern là một ứng dụng để kết nối vào mạng Internet lẹ, chắc và an toàn.", - "app.error": "Đã xảy ra lỗi!", - "about.faq": "Đọc Những Câu Hỏi Thường Gặp về Lantern", - "about.open": "Internet Mở cho Mọi Người", - "about.questions": "Thắc mắc?", - "about.title": "Thông tin", - "account.add.password": "Thêm mật khẩu tài khoản", - "account.agree.terms": "Tôi hiểu rằng mất mật khẩu có nghĩa là\nmất quyền truy cập tài khoản. Lantern không thể giúp bạn\nkhôi phục mật khẩu.", - "account.agree.terms.error": "Trước tiên phải đồng ý với các điều khoản", - "account.cancel": "Hủy Tài Khoản Pro", - "account.created": "Tài khoản đã được tạo!", - "account.create.pro.account.header": "Tạo tài khoản Pro", - "account.create.pro.account.text": "Lantern đang thay đổi cách xử lý các tài khoản người dùng. Từ bây giờ người dùng Pro sẽ cần tạo tên người dùng và mật khẩu. Các thông tin xác thực này sẽ được sử dụng để đăng nhập vào các thiết bị khác và cung cấp quyền truy cập vào các tính năng mới.", - "account.have.a.account": "Có tài khoản?", - "account.link.username.pro": "Liên kết tên người dùng với Tài khoản Pro", - "account.recovery": "Phục Hồi Tài Khoản", - "account.recovery.link.device": "Liên kết thiết bị", - "account.recovery.device.code": "Mã Số Kết Nối Máy", - "account.recovery.device.enter.code": "Nhập hoặc dán mã pin liên kết thiết bị", - "account.recovery.device.instructions.header": "Nối kết máy này với tài khoản Pro của bạn:", - "account.recovery.device.instructions.step.one": "1. Chọn tùy chọn ‘Liên kết thiết bị’ từ mục màn hình Quản lý tài khoản trên thiết bị Desktop Pro của bạn hoặc từ menu trên Thiết bị Mobile Pro của bạn.", - "account.recovery.device.instructions.step.two": "2. Điền vào mã số kết nối máy, rồi nộp vào.", - "account.recovery.device.instructions.part.three": "*Đảm bảo cả hai thiết bị đang chạy phiên bản Lantern mới nhất", - "account.recovery.method": "Vui lòng chọn một phương pháp để khôi phục tài khoản của bạn", - "account.recovery.send.email": "Gửi Email", - "account.recovery.submit": "Nộp", - "account.recovery.success": "Liên kết thành công!", - "account.pro_management": "Quản Trị Tài Khoản Pro", - "account.free_management": "Quản Trị Tài Khoản", - "account.free.cap": "Còn lại {{mb}} MB dữ liệu miễn phí. Đặt lại lúc {{reset}}", - "account.free.cap.upgrade": "Nâng cấp lên bản Pro để có dung lượng tốc độ cao và không giới hạn", - "account.freelink.validFor": "có giá trị trong %s", - "account.freelink.desc": "Để cho phép thiết bị này sử dụng tài khoản Pro của bạn:", - "account.freelink.step1": "1. Chọn tùy chọn 'Liên kết thiết bị' từ Menu trên Thiết bị Pro của bạn", - "account.freelink.step2": "2. Điền vào mã số kết nối máy, rồi nộp vào.", - "account.freelink.reminder": "* Đảm bảo cả hai thiết bị đang chạy phiên bản Lantern mới nhất", - "account.freelink.errorTitle": "Có Lỗi Kết Nối", - "account.freelink.errorText": "Bạn có chắc là đã điền mã số vào trong máy Pro?", - "account.freelink.headerDesc": "Kết nối máy này với tài khoản Pro của bạn", - "account.freelink.title": "Mã Số Kết Nối Máy", - "account.pro.charge": "Tài khoản bạn sẽ được tự động tính tiền thêm một năm cho Lantern Pro khi gần hết hạn.", - "account.upgrade_pro": "Nâng cấp lên bản Pro", - "account.upgrade": "Nâng Cấp", - "account.upgrade_platinum": "Nâng cấp lên Platinum", - "account.create": "Tạo tài khoản", - "account.email": "Email", - "account.confirm.password": "Xác nhận mật khẩu", - "account.password": "Mật khẩu", - "account.pro.email": "E-mail:", - "account.pro.expiration": "Tài khoản Pro hết hạn", - "account.platinum.expiration": "Tài khoản Platinum hết hạn", - "account.pro.expired": "Tài khoản Pro của bạn đã hết hạn. Hãy gia hạn ngay để nhận được lưu lượng hàng tháng không giới hạn", - "account.pro.expiry": "Tài khoản Pro của bạn hết hạn trong %s ngày vào %s.", - "account.pro.bonusMonths": "Bao gồm {{bonusMonths}} tháng thưởng thêm!", - "account.pro.thisdevice": "Thiết bị này", - "account.pro.logout": "Đăng xuất", - "account.pro.removedevice": "XÓA", - "account.pro.devices": "Thiết bị Lantern Pro (tối đa 3)", - "account.pro.device.confirm.title": "Rút Phép của Máy", - "account.pro.device.confirm": "Bạn có chắc chắn muốn gỡ '{{device}}' khỏi tài khoản Lantern Pro của mình không?", - "account.pro.device.one.title": "Chỉ Có Một Máy", - "account.pro.device.one": "Rất tiếc, bạn không thể xóa máy được phép cuối cùng này.", - "account.pro.linkingcode": "Mã Số Kết Nối Máy:", - "account.pro.renew": "Gia hạn Tài khoản Pro", - "account.platinum.renew": "Gia hạn tài khoản Platinum", - "account.pro.renew_CN": "Làm mới", - "account.prolink.errorTitle": "Có Lỗi Kết Nối", - "account.prolink.errorText": "Bạn có chắc là chép đúng mã số từ máy kia?", - "account.prolink.successTitle": "Máy được kết nối", - "account.prolink.successText": "Bạn đã kết nối máy tốt đẹp! Xin vui lòng chờ trong giây lát để các máy khác tự động chuyển qua bản Pro.", - "account.signin": "Đăng nhập", - "account.signout": "Đăng xuất", - "account.submit": "Nộp", - "account.username": "Tên người dùng", - "account.switch.to.register": "Chuyển sang Tạo tài khoản", - "account.switch.to.signin": "Chuyển sang Đăng nhập", - "account.invalid.username": "Tên người dùng không hợp lệ", - "account.invalid.email": "Email không hợp lệ", - "account.password.mismatch": "Xác nhận Mật khẩu không khớp với mật khẩu", - "account.password.short": "Mật khẩu quá ngắn", - "account.password.lowercase": "Mật khẩu phải chứa ít nhất một chữ cái viết thường", - "account.password.uppercase": "Mật khẩu phải chứa ít nhất một chữ cái viết hoa", - "account.password.number": "Mật khẩu phải chứa ít nhất một chữ số", - "account.password.compromised": "Mật khẩu xuất hiện trên danh sách các mật khẩu bị xâm phạm", - "modal.register.free.header": "Đăng ký hoặc Đăng nhập để truy cập Ví Yinbi", - "modal.register.pro.header": "Thêm mật khẩu tài khoản để truy cập Ví Yinbi", - "modal.register.pro.signin.header": "Đăng nhập để truy cập Ví Yinbi", - "modal.register.free.text": "Để sử dụng Ví Yinbi, bạn phải có Tài khoản Lantern, vui lòng Đăng ký hoặc\nĐăng nhập để Tiếp tục.", - "modal.register.pro.text": "Để sử dụng Ví Yinbi, bạn phải thêm mật khẩu vào tài khoản Lantern của bạn.", - "modal.register.pro.signin.text": "Để sử dụng ví Yinbi, bạn phải đăng nhập vào tài khoản Lantern của mình", - "adyen.paymentMethods.title": "Phương thức thanh toán", - "adyen.paymentMethods.storedMethods": "Phương thức thanh toán của bạn", - "adyen.paymentMethods.otherMethods": "Chọn phương thức khác", - "adyen.paymentMethods.moreMethodsButton": "Thêm phương thức thanh toán", - "adyen.payButton": "Thanh toán", - "adyen.payButton.formatted": "Thanh toán %@", - "adyen.cancelButton": "Hủy bỏ", - "adyen.dismissButton": "ĐỒNG Ý", - "adyen.storeDetails": "Lưu cho lần thanh toán tiếp theo", - "adyen.payment.redirecting": "Bạn sẽ được chuyển hướng", - "adyen.payment.processing": "Quá trình thanh toán của bạn đang được xử lý", - "adyen.creditCard.title": "Thông tin chi tiết về thẻ", - "adyen.creditCard.holderName": "Tên chủ thẻ", - "adyen.creditCard.holderName.placeholder": "J. Smith", - "adyen.creditCard.numberField.title": "Số Thẻ Tín Dụng", - "adyen.creditCard.numberField.placeholder": "1234 5678 9012 3456", - "adyen.creditCard.numberField.invalid": "Số thẻ không hợp lệ", - "adyen.creditCard.expiryDateField.title": "Ngày hết hạn", - "adyen.creditCard.expiryDateField.placeholder": "THÁNG/NĂM", - "adyen.creditCard.expiryDateField.invalid": "Ngày hết hạn không hợp lệ", - "adyen.creditCard.expiryDateField.month": "Tháng", - "adyen.creditCard.expiryDateField.month.placeholder": "THÁNG", - "adyen.creditCard.expiryDateField.year.placeholder": "NĂM", - "adyen.creditCard.expiryDateField.year": "Năm", - "adyen.creditCard.cvcField.title": "Mã xác minh của thẻ", - "adyen.creditCard.cvcField.placeholder": "123", - "adyen.creditCard.installmentsField": "Số lần trả", - "adyen.creditCard.storeDetailsButton": "Nhớ thẻ này cho lần thanh toán tiếp theo của tôi", - "adyen.creditCard.oneClickVerification.title": "Xác minh thẻ của bạn", - "adyen.creditCard.oneClickVerification.message": "Vui lòng nhập Mã xác minh cho %@", - "adyen.creditCard.oneClickVerification.invalidInput.title": "Mã xác minh không hợp lệ", - "adyen.creditCard.oneClickVerification.invalidInput.message": "Vui lòng nhập Mã xác minh hợp lệ để tiếp tục", - "adyen.sepaDirectDebit.ibanField.title": "Số tài khoản (IBAN)", - "adyen.sepaDirectDebit.ibanField.placeholder": "NL53 ABNA 1925 1294 122", - "adyen.sepaDirectDebit.ibanField.invalid": "Số tài khoản này không hợp lệ", - "adyen.sepaDirectDebit.nameField.title": "Tên chủ thẻ", - "adyen.sepaDirectDebit.nameField.placeholder": "J. Smith", - "adyen.sepaDirectDebit.consentButton": "Tôi đồng ý rằng số tiền dưới đây sẽ được trích từ tài khoản ngân hàng của tôi.", - "adyen.sepa.ownerName": "Tên chủ thẻ", - "adyen.sepa.ibanNumber": "Số tài khoản (IBAN)", - "adyen.giropay.searchField.placeholder": "Tên ngân hàng / BIC / Bankleitzahl", - "adyen.giropay.minimumLength": "Tối thiểu 3 ký tự", - "adyen.giropay.noResults": "Không tìm thấy kết quả", - "adyen.error.title": "Lỗi", - "adyen.error.subtitle.redirect": "Chuyển hướng thất bại", - "adyen.error.subtitle.payment": "Thanh toán thất bại", - "adyen.error.subtitle.refused": "Thanh toán bị từ chối", - "adyen.error.message.unknown": "Đã xảy ra lỗi không xác định", - "adyen.error.message.cannotConnectToInternet": "Không có kết nối Internet: Vui lòng kiểm trang mạng Internet của bạn", - "adyen.error.message.cannotConnectToHost": "Không kết nối được với máy chủ thanh toán của chúng tôi", - "adyen.error.retryButton": "Thử lại", - "adyen.idealIssuer.selectField.title": "Ngân hàng", - "adyen.idealIssuer.selectField.placeholder": "Chọn ngân hàng của bạn", - "adyen.creditCard.success": "Thanh toán thành công", - "adyen.oneClick.confirmationAlert.title": "Xác nhận %@ thanh toán", - "adyen.redirect.cannotOpenApp.title": "Không thể mở ứng dụng", - "adyen.redirect.cannotOpenApp.appNotInstalledMessage": "Không thể mở được ứng dụng này vì nó không được cài trên thiết bị này.", - "adyen.holderName": "Tên chủ thẻ", - "adyen.countryCode": "Mã quốc gia", - "adyen.telephone.number": "Số điện thoại", - "android.download": "Lantern Android", - "android.download.title": "Tải xuống Lantern Android", - "authorize.title": "Cho Phép Máy dùng bản Pro", - "authorize.step1.have_pro_device": "Tôi có một máy Lantern Pro khác", - "authorize.step1.link": "Liên kết thiết bị", - "authorize.step1.email_linking": "Liên kết Email", - "authorize.device_linking_explanation": "Sử dụng phương pháp này nếu bạn đã đăng nhập vào một thiết bị khác và mang theo bên mình", - "authorize.device_email_explanation": "Sử dụng phương pháp này nếu bạn muốn một Mã pin liên kết thiết bị được gửi đến email của bạn", - "authorize.link_device": "Liên kết thiết bị", - "authorize.step1.choose": "Vui lòng chọn một phương pháp để Liên kết tài khoản của bạn", - "authorize.step1.or": "hoặc", - "authorize.step1.recover": "Cần phục hồi lại tài khoản Lantern Pro của tôi", - "authorize.step1.start": "bắt đầu phục hồi", - "authorize.step1.no_mail": "Không nhớ địa chỉ email của bạn?", - "authorize.step1.description": "Nhập email của bạn và nếu tài khoản đã tồn tại, chúng tôi sẽ gửi email có mã liên kết thiết bị", - "authorize.step2b.enter_code": "Điền vào Mã Số Phục Hồi Tài Khoản", - "authorize.step2b.code": "Mã Số Phục Hồi Tài Khoản", - "authorize.step2b.instruction": "Email có mã khôi phục đã được gửi tới {{email}} nếu tài khoản này tồn tại. Có thể mất vài giờ để nhận được email này. Vui lòng kiểm tra thư mục thư rác của bạn nếu bạn không thấy email này.", - "authorize.step2b.no_mail": "Không nhận được email", - "authorize.step3.recovery": "Phục Hồi Tài Khoản", - "authorize.step3.no_email": "Chúng tôi không tìm thấy địa chỉ email đó. Xin vui lòng cung cấp thêm dữ kiện để giúp tìm lại tài khoản của bạn.", - "authorize.step3.no_code_received": "Có khó khăn trong việc nhận email phục hồi? Điền vào thông tin dưới đây và chúng tôi sẽ liên lạc với bạn trong vòng 48 tiếng.", - "authorize.step3.your_email": "Email của bạn", - "authorize.step3.payment_method": "Phương thức Trả tiền", - "authorize.step3.payment_method_hint": "Chọn phương thức trả tiền khi mua tài khoản Pro trước đây", - "authorize.step3.credit_card": "Thẻ Tín Dụng", - "authorize.step3.alipay": "AliPay", - "authorize.step3.android_pay": "Android Pay", - "authorize.step3.by_referral": "Có bản Pro bằng cách Giới thiệu người bạn", - "authorize.step3.payment_account": "Tài khoản Trả tiền", - "authorize.step3.payment_account_hint": "Điền vào thông tin tài khoản Alipay của bạn", - "authorize.step3.referral_code": "Mã Số Giới Thiệu của bạn", - "authorize.step3.purchase_date": "Ngày Mua", - "authorize.step3.note": "Xin cung cấp thêm các thông tin nào khác có thể giúp chúng tôi tìm lại tài khoản bạn.", - "authorize.step4.title": "Đang Trong Tiến Trình Phục Hồi Tài Khoản", - "authorize.step4.text1": "Cám ơn! Chúng tôi đã nhận được yêu cầu phục hồi tài khoản.", - "authorize.step4.text2": "Xin chờ 48 tiếng để tìm lại thông tin tài khoản Pro của bạn.", - "authorize.step4.text3": "Chúng tôi sẽ gửi thông tin đến địa chỉ email đã điền trong trang trước.", - "authorized.continue": "Tiếp tục qua bản Pro", - "authorized.continue.lantern": "Tiếp tục đến Lantern", - "authorized.text": "Máy này đã được phép dùng tài khoản Lantern Pro!", - "authorized.title": "Máy đã được phép", - "button.account": "Tài khoản", - "button.renew": "Làm mới", - "button.upgrade": "Nâng Cấp", - "button.upgrade_now": "Nâng cấp ngay", - "button.upgrade_to_lantern_pro": "Nâng Cấp lên Lantern Pro", - "button.copy_your_code": "Sao chép mã số của", - "button.try_again": "Thử lại", - "button.continue": "Tiếp tục", - "button.continue_to": "Tiếp tục đến {{planType}}", - "bullet.click_button": "Bấm vào nút dưới đây", - "bullet.paste_code": "Dán mã số & đường tải trong tin nhắn", - "bullet.send_to_friends": "Gửi đến bạn bè", - "cancel": "Hủy bỏ", - "confirm": "Xác nhận", - "norecoveryyinbi": "*Không khôi phục Ví Yinbi", - "email.recovery.check.email": "Kiểm tra email của bạn để tìm thư có Mã khôi phục", - "email.recovery.code.label": "Nhập hoặc dán mã khôi phục", - "email.recovery.no.code": "Không nhận được mã?", - "email.recovery.text": "Nhập email của bạn và chúng tôi sẽ gửi cho bạn một mã để đặt lại mật khẩu.\nNếu bạn có Ví Yinbi, việc này sẽ KHÔNG khôi phục ví Yinbi, để khôi phục Ví Yinbi, hãy nhập Cụm từ khôi phục Yinbi của bạn.", - "email.recovery.desc": "Sử dụng phương pháp này nếu bạn muốn gửi mã khôi phục đến email của mình", - "device.recovery.desc": "Sử dụng phương pháp này nếu bạn đã đăng nhập vào một thiết bị khác và mang theo bên mình", - "google_search": "Tìm kiếm Google", - "giveaway.upgrade": "Nâng cấp để nhận bản miễn phí hôm nay", - "giveaway.title_released_today": "{{formattedTokens}} YNB được phát hành hôm nay", - "giveaway.what_is_it": "Tặng phẩm Yinbi là gì?", - "giveaway.description1": "Nền tảng Yinbi đang tặng 888 tỷ YNB tiền điện tử độc quyền thông qua Lantern cho những người mua Lantern Pro.", - "giveaway.description2": "YNB sẽ được phân phối vào cuối mỗi ngày, dựa trên số lượng Yinbi được phát hành vào ngày hôm đó, số người nâng cấp/gia hạn, và số năm hoặc tài khoản bạn mua. YNB sẽ được gửi trực tiếp vào Ví Yinbi của bạn ở Lantern.", - "giveaway.learn_more": "Tìm hiểu thêm", - "link_device": "Đã có tài khoản Pro? Liên kết thiết bị", - "email.recovery": "Khôi phục Email", - "email_taken": "Email đã đăng ký", - "username_taken": "Tên người dùng đã đăng ký", - "err.unknown_error": "Lỗi không rõ", - "err.internal_error": "Lỗi nội bộ", - "err.bad_input": "Dữ liệu đầu vào sai", - "err.not_authorized": "Không được phép", - "err.user_exists": "Người dùng đã có rồi", - "err.no_such_user": "Không thấy người dùng đó", - "err.user_already_verified": "Người dùng đã kiểm chứng", - "err.invalid_user_verification": "Kiểm chứng người dùng không hợp lệ", - "err.user_unverified": "Người dùng chưa kiểm chứng", - "err.operation_temporarily_unavailable": "Hoạt động tạm thời ngưng", - "err.wrong_or_inexistent_plan": "Gói cước không đúng hoặc không có", - "err.user_has_active_subscription": "Người dùng có tài khoản hợp lệ", - "err.payment_error": "Có lỗi trả tiền", - "err.no_codes_left": "Hết mã số giới thiệu", - "err.wrong_code": "Mã số giới thiệu sai", - "err.redeeming_own_code_not_allowed": "Không được phép dùng mã số của chính mình", - "err.wrong_charge_id": "ID trả tiền không đúng", - "err.wrong_link_code": "Mã liên kết sai", - "err.invalid_credentials": "Thông tin đăng nhập người dùng được cung cấp không hợp lệ", - "footer.reseller": "Muốn kiếm tiền! Trở thành đại lý cho Lantern Pro. Bấm vào đây", - "footer.reseller.email_subject": "Cho biết thêm về Chương Trình Đại Lý Lantern", - "footer.reseller.email_body": "Khi làm Đại Lý cho Lantern, bạn có thể hưởng lên tới 25% khi bán được một tài khoản Lantern Pro. Cho chúng tôi tại sao bạn muốn làm đại lý.", - "feature.faster_speed": "Tốc độ lẹ hơn", - "feature.faster": "Trung tâm dữ liệu nhanh hơn", - "feature.unlimited": "Dung Lượng Không Giới Hạn", - "feature.nologs": "Không có nhật ký", - "feature.devices": "Kết nối tối đa 3 thiết bị", - "feature.noads": "Không có quảng cáo", - "feature.yinbi.tooltip": "Nền tảng Yinbi đang tặng 888 tỷ YNB tiền điện tử độc quyền thông qua Lantern cho những người mua Lantern Pro. YNB sẽ được phân phối vào cuối mỗi ngày, dựa trên số lượng Yinbi được phát hành vào ngày hôm đó, số người nâng cấp/gia hạn và số năm hoặc số tài khoản bạn mua. YNB sẽ được gửi trực tiếp vào Ví Yinbi của bạn trong Lantern!", - "feature.antiblock": "Chống khóa tài khoản", - "feature.data_center": "Trung tâm dữ liệu tốt hơn", - "feature.free_yinbi": "Tiền điện tử Yinbi miễn phí!", - "free.title": "Lantern Pro", - "free.desc": "Nhanh hơn. Mạnh hơn. Không giới hạn. Bảo mật.", - "free.link_account": "Đã có tài khoản Pro? Liên kết tài khoản.", - "home.get_lantern_pro": "Lấy Lantern Pro", - "home.get_lantern_platinum": "Nâng cấp gói của bạn", - "home.welcome_popup_subheader": "Chào mừng bạn đến với Lantern mới!", - "home.welcome_popup_content_1": "Chúng tôi đã làm việc chăm chỉ, cập nhật Lantern và thêm các tính năng mới.", - "home.welcome_popup_content_2": "Trong giao diện người dùng mới của chúng tôi, bạn sẽ tìm thấy thanh tìm kiếm cho phép bạn tìm kiếm các tệp được chia sẻ trên mạng Lantern. Bạn cũng có thể đóng góp nội dung bằng cách tự đăng tệp. Đây là tính năng Beta, vì vậy hãy dùng thử và cho chúng tôi biết suy nghĩ của bạn, chúng tôi sẽ tiếp tục cải tiến dựa trên phản hồi của bạn.", - "home.welcome_popup_button": "Dùng thử", - "input.email": "Email", - "input.your_email": "Email của bạn", - "input.confirm_email": "Xác nhận địa chỉ email", - "input.enter_email": "Điền email của bạn", - "input.use_valid_email": "Cho địa chỉ email hợp lệ", - "input.email_not_match": "Địa chỉ email không giống", - "input.existing_email": "Email hiện có", - "issue.your_email": "Email của bạn", - "issue.attach_image_failure": "Không thể đính kèm hình ảnh", - "issue.try_again": "Xin thử lại", - "issue.select_issue": "Hãy chọn 1 vấn đề", - "issue.selected_issue": "Chọn vấn đề", - "issue.select_issue_hint": "Chọn một vấn đề từ trình đơn thả xuống.", - "issue.note": "Mô tả vấn đề của bạn", - "issue.description": "Mô tả vấn đề", - "issue.error": "Lỗi gửi báo cáo", - "issue.submit": "Gửi báo cáo", - "issue.report_screenshot": "Kéo hình ảnh hoặc nhấp để tải lên ảnh chụp màn hình lên", - "issue.reported": "Cảm ơn bạn đã báo cáo sự cố của mình, chúng tôi sẽ liên hệ lại với bạn qua Email ngay khi có thể", - "issue.report_sent": "Đã gửi báo cáo", - "issue.type.no_access": "Không thể truy cập các trang bị chặn", - "issue.type.payment_fail": "Không thể hoàn thành việc thanh toán", - "issue.type.cannot_login": "Không thẻ đăng nhập", - "issue.type.always_spinning": "Tải trang mãi không dừng", - "issue.type.slow": "chậm", - "issue.type.cannot_link_device": "Không thể liên kết các thiết bị", - "issue.type.crashes": "Xảy ra lổi với Lantern", - "issue.type.other": "Khác", - "languages.title": "Ngôn ngữ", - "lantern.email": "Email của Lantern", - "mobile.link": "Vào liên kết để tải Lantern trên thiết bị Android:", - "mobile.title": "Tải phiên bản cho Android", - "nav.about": "Thông tin", - "nav.account": "Quản Trị Tài Khoản", - "nav.authorize": "Thêm Máy", - "nav.authorized": "Máy Được phép", - "nav.unauthorized_link": "Cho Phép Máy dùng bản Pro", - "nav.language": "Ngôn ngữ", - "nav.lantern": "Lantern", - "nav.mobile": "Lấy Phiên Bản Di Động", - "nav.report_issue": "Báo cáo vấn đề", - "nav.settings": "Thiết đặt", - "nav.support": "Hỗ trợ", - "nav.verify": "Kiểm Chứng Tài Khoản", - "nav.yinbi": "Đổi thưởng Yinbi", - "nav.home": "Trang Chủ", - "nav.discover": "Khám phá", - "nav.wallet": "Ví", - "nav.yinbi_wallet": "Ví Yinbi", - "notification.retry": "Thử lại", - "notifications": "Thông báo", - "notifications.whatisnew": "Có gì mới?", - "password.change": "Đổi mật khẩu", - "password.changed": "Mật khẩu đã được thay đổi", - "continue.to.pro": "Tiếp tục qua bản Pro", - "username": "Tên người dùng", - "password.new": "Mật khẩu mới", - "password.requirements": "
Mật khẩu phải chứa:
  • 8 ký tự trở lên
  • 1 chữ thường
  • 1 chữ in hoa
  • Ít nhất 1 số
  • Không có trong danh sách mật khẩu bị xâm phạm
", - "password.reset": "Đặt lại mật khẩu", - "paxful.buy": "Mua", - "paxful.payment": "Phương thức trả tiền", - "paxful.bitcoin": "Bitcoin (BTC)", - "paxful.tether": "Tether (USDT)", - "paxful.wallet": "Các ví trực tuyến", - "paxful.bank": "Chuyển khoản ngân hàng", - "paxful.gamer_card": "Thẻ Game", - "paxful.gift_card": "Thẻ quà tặng", - "paxful.cash": "Thanh toán tiền mặt", - "paxful.digital_currency": "Tiền kỹ thuật số", - "paxful.button": "Hiển thị các ưu đãi tốt nhất", - "payment.close": "Đóng lại", - "payment.redirectErrorTitle": "Lỗi kết nối với máy chủ thanh toán", - "payment.redirectErrorText": "Chúng tôi hiện đang làm việc để giải quyết vấn đề này. Vui lòng kiểm tra lại sau.", - "payment.wait_for_pro": "Cảm ơn đã mua Lantern Pro! Vui lòng chờ trong giây lát để phiên bản Lantern của bạn tự động cập nhật lên bản Pro.", - "payment.moreOptions": "Thêm tùy chọn", - "payment.fewerOptions": "Bớt tùy chọn", - "payment_methods.select_name": "Chọn phương thức thanh toán", - "payment_methods.alipay": "Credit Card/Alipay", - "payment_methods.shetab": "Fast World Pay (Shetab)", - "payment_methods.shetab.details.header": "Mua Lantern Pro", - "payment_methods.shetab.details.body": "Khi bạn nhấp vào tiếp tục mua hàng, bạn sẽ được chuyển hướng đến trang bên ngoài để hoàn tất thanh toán và lấy mã kích hoạt của bạn.", - "payment_methods.shetab.details.tutorial_header": "Farsi tutorial", - "payment_methods.shetab.details.purchase_voucher_button": "Tiếp tục mua hàng", - "payment_methods.shetab.details.input_code_button": "Nhập mã kích hoạt", - "plan.step1": "Bước 1", - "plan.apply": "Áp dụng", - "plan.step2": "Bước 2", - "plan.most_popular": "Phổ biến nhất!", - "plan.step3": "Bước 3", - "plan.choose_plan": "Chọn gói", - "plan.enter_email": "Nhập Email", - "plan.choose_method": "Chọn phương thức thanh toán", - "plan.bestValue": "Giá lợi nhất!", - "plan.per_month": "mỗi tháng", - "plan.yinbi_2x": "+ 2x Yinbi!", - "plan.oneYear": "1 năm", - "plan.add_referral": "Thêm mã giới thiệu", - "plan.years": "Gói {{years}} năm", - "plan.desc": "{{price}} thanh toán một lần", - "plan.bonus_months": "+ {{bonusMonths}} tháng", - "plan.price.cny": "¥%.02f", - "plan.price.usd": "$%.02f", - "plan.currency.cny": "(RMB)", - "plan.currency.usd": "(USD)", - "plan.time_unit": "/Năm", - "plan.select": "Chọn", - "plan.two_year": "Hai năm", - "plan.one_year": "Một năm", - "plan.savings": "Tiết kiệm {{formattedDiscount}} %", - "plans.title": "Các Gói Cước Lantern Pro", - "plans.lantern_pro": "Lantern Pro", - "plans.platforms": "Dành cho Windows, Android, Mac, Ubuntu.", - "plans.from_reseller": "Bạn có mã kích hoạt Lantern Pro? Bấm vào đây.", - "plans.with_voucher_code": "Có mã kích hoạt? Bấm vào đây.", - "pro.apply": "Điểm sẽ được tính vào tài khoản của bạn trong chu kỳ tính tiền kế tiếp.", - "pro.title": "Mời thêm bạn bè, để được bản Pro miễn phí", - "pro.subtitle": "Khi bạn bè mua gói cước hai năm, bạn và người đó sẽ được thêm 3 tháng Pro, gói cước một năm sẽ được thêm 1 tháng Pro miễn phí.", - "pro.share": "Chia sẽ mã số với bạn bè để bắt đầu tích tụ thêm điểm!", - "promotion.title": "Tính Tiền Lantern Pro", - "promotion.title.activation": "Kích hoạt Latern Pro", - "promotion.enter_and_confirm_email": "Xin điền và xác nhận email của bạn", - "promotion.code.hint": "Điền mã giới thiệu của bạn (tùy chọn)", - "promotion.code.label": "Mã Số Giới Thiệu", - "promotion.payment": "Chuyển sang Thanh toán", - "promotion.payment.btc": "Thanh toán bằng ₿", - "promotion.loading": "Đang tải...", - "promotion.howto_1y": "Nếu người bạn chia sẻ mã số giới thiệu với bạn, điền số vào đây để được một tháng Lantern Pro miễn phí sau khi tính tiền xong.", - "promotion.howto_2y": "Nếu người bạn chia sẻ mã số giới thiệu với bạn, điền số vào đây để được ba tháng Lantern Pro miễn phí sau khi tính tiền xong.", - "promotion.pay": "Trả {{amount}}", - "promotion.select": "Chọn", - "promotion.promotion_applied_1y": "+1 tháng thưởng", - "promotion.promotion_applied_2y": "+3 tháng thưởng", - "promotion.too_many_referrals": "Mã số giới thiệu này đã được tính. Ra quầy tính tiền để nhận được thêm các tháng miễn phí.", - "promotion.activation.enter_and_confirm_email": "Vui lòng điền và xác nhận địa chỉ email để đăng ký tài khoản Lantern Pro", - "promotion.activation.label": "XXXXX-XXXXX-XXXXX-XXXXX-XXXXX", - "promotion.activation.hint": "Mã kích hoạt", - "promotion.activation.instructions": "Nhập email của bạn và mã kích hoạt gồm 25 chữ số nhận được từ người bán lại để đăng ký tài khoản của bạn.", - "promotion.activation.howto": "Vui lòng điền mã kích hoạt Lantern Pro gồm 25 ký tự ở trên. Nếu bạn không có mã này, vui lòng mua bản Pro tại màn hình trước hoặc tìm một nhà bán lẻ Lantern Pro trực tuyến.", - "promotion.activation.continue": "Đăng ký Pro", - "promotion.voucher.hint": "Mã kích hoạt", - "promotion.voucher.howto": "Vui lòng nhập mã kích hoạt Fast World Pay gồm 12 ký tự của bạn ở trên", - "promotion.voucher.label": "XXXXXXXXXXXX", - "promotion.voucher.error.default": "Lỗi khi đổi mã kích hoạt của bạn.", - "promotion.voucher.error.invalid_code": "Mã kích hoạt không hợp lệ", - "promotion.voucher.error.invalid_plan": "Mã kích hoạt được liên kết với gói không hợp lệ", - "promotion.voucher.error.already_redeemed": "Mã kích hoạt đã được đổi", - "referral.code": "Mã giới thiệu", - "referral.text": "Dùng số %s này của tôi để được 3 tháng miễn phí khi bạn đăng ký!", - "referral.description_free": "Chia sẻ mã của bạn với bạn bè và nhận 1 tháng dịch vụ Lantern Pro miễn phí khi họ mua Pro!", - "referral.description_pro": "Chia sẻ mã của bạn với bạn bè và nhận thêm 1 tháng dịch vụ Lantern Pro miễn phí khi họ mua Pro!", - "register": "Đăng ký", - "renew.subtitle_early": "Gia hạn trong 3 tháng miễn phí!", - "renew.subtitle_last_day": "Gia hạn trong 3 tháng miễn phí!", - "renew.subtitle_expired": "Gia hạn trong 45 ngày miễn phí!", - "renew.details_early": "Tư cách thành viên Lantern Pro của bạn sắp kết thúc. Gia hạn ngay bây giờ và tận hưởng tối đa ba tháng miễn phí!", - "renew.details_last_day": "Tư cách thành viên Lantern Pro của bạn kết thúc hôm nay! Gia hạn ngay bây giờ và tận hưởng tối đa ba tháng miễn phí!", - "renew.details_expired": "Tư cách thành viên Lantern Pro của bạn đã hết hạn. Gia hạn ngay bây giờ và tận hưởng tối đa bốn mươi lăm ngày miễn phí!", - "renew.asterisk_early": "* Ưu đãi có thời hạn này chỉ áp dụng cho những trường hợp gia hạn sớm.", - "renew.asterisk_last_day": "* Đây là cơ hội cuối cùng để bạn nhận được ưu đãi đặc biệt này!", - "renew.asterisk_expired": "* Đây là một ưu đãi trong thời gian có hạn!", - "renew.plan_label": "Lantern Pro - %s", - "renew.plan_renewal_bonus_1_month": "$%d%s + 1 THÁNG MIỄN PHÍ", - "renew.plan_renewal_bonus_months": "$%d%s + %d THÁNG MIỄN PHÍ", - "renew.plan_renewal_bonus_days": "$%d%s + %d NGÀY MIỄN PHÍ", - "renew.next": "tiếp", - "renew.decline": "Từ chối khuyến mại", - "renew.decline_question": "Bạn có chắc muốn từ chối khuyến mại này?", - "renew.decline_yes": "Gia hạn sau", - "renew.decline_dismiss": "Gia hạn ngay", - "renew.notification_title_30_days": "Gia hạn Pro ngay để tiết kiệm cực nhiều!", - "renew.notification_title_30_days_platinum": "Gia hạn Platinum ngay để tiết kiệm cực nhiều!", - "renew.notification_text_30_days": "Tài khoản {{planName}} của bạn sẽ hết hạn sau {{remainingDays}} ngày nữa. Gia hạn ngay bây giờ và nhận đến 3 tháng miễn phí.", - "renew.notification_title_2_days": "{{planName}} khuyến mại hết vào ngày mai!", - "renew.notification_text_2_days": "Tài khoản {{planName}} của bạn sẽ hết hạn ngày mai. Đừng bỏ lỡ cơ hội giảm giá lớn.", - "renew.notification_title_last_day": "Cơ hội cuối cùng để được giảm giá!", - "renew.notification_text_last_day": "Tài khoản {{planName}} của bạn đã hết hạn. Gia hạn ngay hôm nay và tận hưởng thêm tới 3 tháng miễn phí.", - "replica.upload": "Tải lên", - "replica.favorite": "Yêu thích", - "replica.added_to_favorites": "Đã thêm vào Yêu thích", - "replica.filedrop_error": "Lỗi khi tải lên tệp này", - "replica.filedrop_error.file-too-large": "Kích thước tệp tối đa được phép là {{fileSize}}", - "replica.filedrop_error.file-too-small": "Tệp quá nhỏ", - "replica.filedrop_error.too-many-files": "Có quá nhiều tệp", - "replica.filedrop_error.file-invalid-type": "Loại tệp này hiện không được hỗ trợ", - "replica.filedrop_remove_file": "Xóa khỏi hàng đợi", - "replica.post": "Tải tệp lên", - "replica.relevance": "Liên quan", - "replica.upload_date": "Ngày tải lên", - "replica.gallery_view": "Xem thư viện", - "replica.list_view": "Xem danh sách", - "replica.copy_lantern_link": "Sao chép liên kết Lantern", - "replica.documents": "Tài liệu", - "replica.audio": "Âm thanh", - "replica.application": "Ứng dụng", - "replica.image": "Hình ảnh", - "replica.video": "Video", - "replica.web": "Web", - "replica.news": "Tin tức", - "replica.upload_alert.dont_show": "Không hiển thị lại", - "replica.upload_alert.cancel": "Hủy tải lên", - "replica.upload_alert.resume": "Tiếp tục Tải lên", - "replica.upload_alert.info": "Thông tin quan trọng!", - "replica.upload_alert.desc1": "Các tệp được tải lên Lantern được phân phối và phi tập trung. Khi các tệp này được người dùng khác truy cập, không ai có thể xóa các tệp này khỏi mạng, kể cả Lantern, ngay cả khi chúng bị xóa khỏi danh sách 'Tệp của tôi' của bạn.", - "replica.upload_alert.desc2": "Vui lòng không sử dụng thông tin nhận dạng cá nhân trong tệp hoặc tên tệp khi tải lên nội dung nhạy cảm.", - "replica.add_details": "Thêm chi tiết", - "replica.cannot_edit": "Tên tệp không thể chỉnh sửa sau khi xuất bản.", - "replica.next": "Tiếp theo", - "replica.previous": "Trước", - "replica.selectAll": "Chọn tất cả", - "replica.search_replica": "Tìm kiếm", - "replica.search_results_info": "Tab này chỉ hiển thị kết quả của Lantern.", - "replica.search_results_info_message": "Kết quả của Lantern bao gồm nội dung do người dùng tải lên mạng Lantern.", - "replica.no_files_found": "Không có kết quả", - "replica.or_content": "nội dung của riêng bạn để người khác tìm thấy!", - "replica.try_again": "Hãy thử một từ khóa khác, hoặc", - "replica.upload_success": "Tải lên thành công!", - "replica.cannot_preview": "Không có bản xem trước cho loại tệp này", - "replica.no_description": "Không có mô tả được cung cấp", - "replica.size": "Kích thước", - "replica.uploaded": "Đã tải lên", - "replica.invalid_link": "Liên kết không hợp lệ", - "replica.close": "Đóng lại", - "replica.files": "Tệp", - "replica.upload_history": "Lịch sử tải lên", - "replica.my_favorites": "Yêu thích", - "replica.no_uploads": "Chưa có tải lên", - "replica.no_favorites": "Chưa có mục Yêu thích", - "replica.mime_type": "Loại tệp: {{mime}}", - "replica.image_loading_error": "Lỗi khi tải hình ảnh", - "replica.play": "Phát", - "replica.pause": "Dừng", - "replica.scrub": "Scrub", - "replica.skip_forward": "Bỏ qua đi tiếp", - "replica.skip_backwards": "Bỏ qua quay lại", - "replica.trending_videos": "Video thịnh hành", - "replica.file_uploaded": "Đã tải lên: {{days}} ngày trước", - "replica.file_size": "Kích thước", - "replica.duration": "Thời lượng", - "replica.filename": "Tên tệp", - "replica.filename_required": "Đặt tên tệp của bạn", - "replica.description_optional": "Thêm mô tả", - "replica.expand": "Mở rộng chi tiết", - "replica.filetype": "Loại tệp", - "replica.sortby": "Sắp xếp theo", - "replica.link": "Liên kết bản sao", - "replica.collapse": "Thu gọn", - "replica.publish": "Xuất bản", - "replica.cancel": "Hủy bỏ", - "replica.progress_current_upload": "Tải lên", - "replica.progress_files": "tệp", - "replica.progress_of": "của", - "replica.progress_upload_complete": "Hoàn thành", - "replica.progress_upload_failure": "Tải lên không thành công, vui lòng thử lại.", - "replica.upload_in_progress": "Đang tải lên", - "replica.upload_pending": "Đang chờ tải lên", - "replica.upload_error": "Lỗi tải lên", - "replica.upload_cancel": "Hủy tải lên", - "replica.upload_confirm": "Bạn có chắc chắn muốn hủy tải lên không?", - "replica.progress_view": "Xem", - "replica.delete": "Xóa", - "replica.remove": "Xóa bỏ", - "replica.delete_file": "Xóa tệp", - "replica.remove_favorite": "Gỡ bỏ khỏi mục Yêu thích", - "replica.failed_to_delete": "Không xóa được", - "replica.failed_to_remove": "Gỡ bỏ không thành công", - "replica.link_lookup_failure": "Không tìm thấy liên kết", - "replica.delete_file_confirmation_1": "Bạn có chắc chắn muốn xóa", - "replica.delete_file_confirmation_2": "từ tải lên của bạn", - "replica.remove_favorite_confirmation_1": "Bạn có chắc chắn muốn gỡ", - "replica.remove_favorite_confirmation_2": "khỏi yêu thích của bạn?", - "replica.share_file": "Chia sẻ tệp", - "replica.download_and_view": "Tải xuống/Xem", - "replica.download": "Tải xuống", - "replica.copy_link": "Sao chép liên kết bản sao", - "replica.find_file": "Tìm tập tin", - "replica.file_drop_prompt": "Thả tệp để bắt đầu tải lên!", - "replica.empty_uploads_text1": "Nhấn", - "replica.empty_uploads_text2": "tại đây", - "replica.empty_uploads_text3": "để tạo bài viết đầu tiên của bạn.", - "replica.error_header": "Ôi trời", - "replica.error": "Có lỗi xảy ra khi xử lý yêu cầu của bạn. Vui lòng thử lại.", - "replica.serp_empty": "Google đã không trả lại bất kỳ kết quả nào cho truy vấn này.", - "replica.disclaimer": "Lantern ẩn danh các tìm kiếm của bạn và bảo vệ chúng khỏi các bên thứ ba", - "settings.general": "Chung", - "settings.feedback": "Phản hồi", - "settings.autoLaunch": "Khởi động Lantern cung với hệ thống", - "settings.autoReport": "Báo cáo thống kê sử dụng một cách an toàn để đóng góp cho Lantern", - "settings.lantern_ads": "Hiển thị Quảng cáo Lantern", - "settings.lantern_ads_tooltip": "Lantern hiển thị cho bạn quảng cáo trên một số trang web để giúp hỗ trợ dịch vụ của chúng tôi. Không có thông tin người dùng nào được thu thập hoặc chuyển đến máy chủ của chúng tôi. Nếu bạn tắt tùy chọn này, bạn vẫn có thể thấy quảng cáo, nhưng những quảng cáo đó không đến từ mạng Lantern.", - "settings.proxyAll": "Proxy tất cả lưu lượng", - "settings.proxyAllHelpTitle": "\"PROXY TẤT CẢ LƯU LƯỢNG\" LÀ LÀM GÌ?", - "settings.proxyAllHelp1": "Nếu bật tính năng này, tất cả các gói tin đều được gửi qua Lantern (tùy chọn Bảo mật nhất).", - "settings.proxyAllHelp2": "Nếu tắt tính năng này, chỉ các gói tin bị chặn sẽ gửi qua Lantern (tùy chọn nhanh nhất, thông dụng nhất).", - "settings.show_advanced": "Hiển thị cài đặt nâng cao", - "settings.hide_advanced": "Ẩn cài đặt nâng cao", - "settings.systemProxy": "Quản trị proxy hệ thống", - "settings.title": "Thiết đặt", - "settings.http_proxy": "HTTP(S) proxy:", - "settings.socks_proxy": "SOCKS proxy:", - "settings.caution": "Cảnh báo:", - "settings.caution_text": "Khi mà bạn bỏ chọn \"Quản lý Proxy của Hệ thống\", trình duyệt và ứng dụng của bạn của bạn sẻ không thể sư dụng Latern một cách tự động được nửa. Nếu bạn biết làm thế nào để tự cấu hình những cài đặt này dựa vào những thông tin ở trên.", - "settings.select_language": "Chọn ngôn ngữ", - "settings.diagnostics": "Đính kèm thông tin chẩn đoán", - "settings.diagnostics_tooltip": "Việc đính kèm thông tin chẩn đoán sẽ gửi dữ liệu nhóm Lantern được thu thập từ kết nối của bạn. Điều này sẽ giúp chúng tôi tăng khả năng xác định và giải quyết vấn đề của bạn.", - "status.lantern": "Lantern là", - "status.click_reconnect": "Bấm vào đây để kết nối lại", - "status.server_location": "Địa chỉ Server", - "status.tooltip1": "Lantern lựa chọn server một cách thông minh để kết nối bạn với các trung tâm dữ liệu tốt nhất của chúng tôi.", - "status.tooltip2": "Nâng cấp lên Lantern Pro để có tốc độ nhanh hơn với lựa chọn máy chủ được tối ưu hóa từ các trung tâm dữ liệu Lantern Pro độc quyền của chúng tôi", - "status.protected_connection": "Kết nối của bạn được bảo vệ", - "status.please_wait": "Quá trình này có thể mất một hoặc hai phút...", - "status.connecting": "Đang kết nối...", - "status.no_internet": "Tắt", - "status.no_internet_connection": "Không có kết nối Internet", - "status.connected": "Bật", - "status.disconnected": "Tắt", - "status.throttled": "Hạn chế tốc độ (giới hạn lưu lượng)", - "status.no_system_proxy": "{{status}}, không quản lý proxy hệ thống", - "status.fail_to_set_system_proxy": "Không đặt được Lantern làm proxy hệ thống", - "status.fail_to_open_browser": "Không mở được cửa sổ trình duyệt để hiển thị giao diện người dùng Lantern", - "support.forum": "Diễn đàn người dùng Lantern", - "support.faq": "FAQ", - "terms_of_service.acknowledgment": "Bằng cách nhấn vào {{buttonText}} , bạn đồng ý với Điều khoản dịch vụ của chúng tôi", - "terms_of_service.replica": "Bằng cách tìm kiếm, tải lên hoặc sử dụng sản phẩm của chúng tôi theo bất kỳ cách nào, bạn đồng ý với Điều khoản dịch vụ, Chính sách quyền riêng tưChính sách bản quyền DMCA của chúng tôi", - "top_sites.google": "Google", - "top_sites.twitter": "Twitter", - "top_sites.youtube": "Youtube", - "top_sites.facebook": "Facebook", - "top_sites.wikipedia": "Wikipedia", - "verify.header": "Nhập hoặc dán mã pin liên kết thiết bị", - "verify.code": "Mã Số Kết Nối Máy", - "verify.howto_1": "Nếu bạn có tài khoản Lantern Pro trên máy khác, điền vào địa chỉ email nơi đây để nhận mã số cho phép sử dụng", - "verify.howto_1a": "Bạn chưa được phép dùng bản Pro. Xin điền vào địa chỉ email để được phép dùng tài khoản Pro. Thao tác này cho phép bạn kết nối nhiều máy.", - "verify.howto_2": "Để liên kết thiết bị với tài khoản Pro của bạn:", - "verify.howto_3": "1. Chọn ‘Cấp phép thiết bị cho Pro' từ Menu của thiết bị khác của bạn.", - "verify.howto_4": "2. Nhập mã pin liên kết có được từ bước 1 và gửi.", - "verify.reminder": "*Đảm bảo cả hai thiết bị đang chạy phiên bản Lantern mới nhất", - "verify.enter_pin": "Nhập hoặc dán mã pin liên kết thiết bị", - "verify.submit": "Nộp", - "verify.title": "Kiểm Chứng Tài Khoản", - "welcomeToPro.continue": "Tiếp tục qua bản Pro", - "welcomeToPro.invite": "Mời bạn bè tham gia, sau đó bạn và họ sẽ được 3 tháng miễn phí khi họ mua gói cước hai-năm, còn mua gói cước một năm thì sẽ được 1 tháng miễn phí. Hãy mời ngay!", - "welcomeToPro.thanks": "Bây giờ bạn có quyền truy cập không giới hạn bằng cách sử dụng các trung tâm dữ liệu nhanh nhất của chúng tôi. Có thể kết nối tối đa ba thiết bị với tài khoản của bạn.", - "welcomeToPro.title": "Chào mừng bạn đến với Lantern Pro", - "welomeToPro.title_exclamation": "Chào mừng đến với Lantern Pro!", - "purchase.failed": "Mua không thành công. Vui lòng thử lại.", - "purchase.success": "Mua thành công", - "purchase.success_title": "Chào mừng đến với Lantern {{planType}}!", - "purchase.success_content_pro": "Bây giờ bạn có quyền truy cập không giới hạn bằng cách sử dụng các trung tâm dữ liệu nhanh nhất của chúng tôi. Có thể kết nối tối đa ba thiết bị với tài khoản của bạn.", - "purchase.success_content_platinum": "Bây giờ bạn có quyền truy cập không giới hạn bằng cách sử dụng các đường truyền chuyên dụng và trung tâm dữ liệu nhanh nhất của chúng tôi. Có thể kết nối tối đa ba thiết bị với tài khoản của bạn.", - "welcomeToPro.description": "Giờ đây, bạn có quyền truy cập không hạn chế vào các trang web và dịch vụ bị chặn", - "messages.copied_to_clipboard": "Mã số được chép. Chia sẻ chúng với bạn bè!", - "messages.datacap": "Bạn đã dùng hết dung lượng miễn phí tốc độ cao. Nâng cấp lên bản Pro để có dung lượng tốc độ cao không giới hạn.", - "messages.fatal_error": "Xin lỗi, chúng tôi gặp khó khăn kết nối máy chủ Lantern. Xin xem lại đường dây nối mạng của bạn và thử lại.", - "messages.backend_gone": "Xin lỗi, Lantern dường như không chạy. Xin khởi động lại Lantern và thử lại.", - "messages.get_help": "Nhận trợ giúp", - "freeProCredits.title": "Mời Bạn Bè", - "freeProCredits.shareWithFriends": "Chia sẻ mã số với bạn bè để được thêm các tháng miễn phí!", - "freeProCredits.shareWithFriendsDesc": "Khi bạn bè mua gói cước hai năm, bạn và họ sẽ được 3 tháng miễn phí, gói cước một năm sẽ được 1 tháng miễn phí.", - "cards.serverLocation.unknown": "Không rõ", - "cards.serverLocation.description": "Địa chỉ Server tối ưu", - "cards.serverLocation.description-free": "Địa chỉ Server", - "cards.serverLocation.description-upgrade": "Nâng cấp lên Server tốc độ cao hơn", - "cards.serverLocation.title": "Địa chỉ hiện tại:", - "cards.serverLocation.location": "%s, %s", - "cards.serverLocation.text": "Lantern lựa chọn server một cách thông minh để tự động tìm kết nối nhanh nhất có thể từ các trung tâm dữ liệu của chúng tôi tại Tokyo, Singapore, Hong Kong, San Francisco, New York, Amsterdam, Bangalore và hơn thế nữa.", - "cards.serverLocation.text-free": "Lantern lựa chọn server một cách thông minh để kết nối bạn với các trung tâm dữ liệu tốt nhất của chúng tôi.", - "cards.serverLocation.upgrade-link": "Nâng cấp lên Lantern Pro để có tốc dộ cao hơn, lựa chọn server tối ưu từ các trung tâm dữ liệu Lantern Pro riêng biệt.", - "cards.httpsUpgrades.description": "Nâng cấp HTTPS", - "cards.httpsUpgrades.title": "Nâng cấp HTTPS: %d", - "cards.httpsUpgrades.text": "Khi có thể, Lantern tự động nâng cấp các kết nối HTTP thiếu bảo mật lên các kết nối HTTPS được mã hóa, để bảo đảm tính riêng tư cho thông tin của bạn khi lướt web.", - "cards.adsBlocked.description": "Chặn quảng cáo", - "cards.adsBlocked.title": "Quảng cáo bị chặn: %d", - "cards.adsBlocked.text": "Lantern chặn các quảng cáo khó chịu để tăng tốc thời gian tải trang, tiết kiệm băng thông, và đem lại cho bạn trải nghiệm lướt web mượt mà hơn.", - "cards.dataUsage.description": "Sử dụng dữ liệu", - "cards.dataUsage.upgrade": "Nâng cấp ngay", - "cards.dataUsage.mb-used": "Bạn đã dùng hết %d/%dMB trong số dung lượng tốc độ cao hàng tháng.", - "cards.dataUsage.upgrade-link": "Nâng cấp ngay để tận hưởng dịch vụ tốc độ cao không giới hạn!", - "cards.subscription.description": "Thuê bao Pro", - "cards.subscription.renew": "Làm mới", - "cards.subscription.months": "Bạn còn %d tháng Lantern Pro trong thời gian thuê bao của mình.", - "cards.subscription.days": "Bạn còn %d ngày Lantern Pro ltrong thời gian thuê bao của mình.", - "cards.subscription.unit.months": "TH", - "cards.subscription.unit.days": "NGÀY", - "cards.subscription.renew-link": "Gia hạn thuê bao để sử dụng thêm", - "auth.email": "Email", - "auth.username": "Tên người dùng", - "auth.username.or.email": "Tên người dùng hoặc email", - "auth.signin": "Đăng nhập", - "current.password": "Mật khẩu hiện tại", - "new.password": "Mật khẩu mới", - "auth.change.password": "Đổi mật khẩu", - "confirm.new.password": "Xác nhận mật khẩu mới", - "auth.password": "Mật khẩu", - "auth.have.recovery.phrase": "Có một cụm từ khôi phục?", - "auth.forgot.password": "Quên hoặc không có mật khẩu?", - "auth.create.account": "Tạo tài khoản", - "auth.missing.username": "Thiếu tên người dùng", - "auth.missing.current.password": "Thiếu mật khẩu hiện tại", - "auth.missing.new.password": "Thiếu mật khẩu mới", - "auth.missing.confirm.password": "Thiếu mật khẩu xác nhận", - "invalid_credentials": "Thông tin không hợp lệ", - "yinbi.wallet": "Ví Yinbi", - "create.wallet": "Tạo ví", - "new.to.yinbi": "Mới sử dụng Yinbi?", - "setup.wallet": "Đúng, hãy thiết lập ví mới!", - "web.wallet": "Không, tôi có một Ví trên Trang web Yin.bi", - "yinbi.next": "Tiếp theo", - "yinbi.amount": "Số tiền", - "yinbi.missing.address": "Không có địa chỉ đích được cung cấp", - "yinbi.missing.amount": "Không có số tiền được chỉ định", - "yinbi.missing.email": "Không có địa chỉ email được chỉ định", - "yinbi.missing.username": "Không có tên người dùng được chỉ định", - "yinbi.missing.password": "Không có mật khẩu được chỉ định", - "yinbi.invalid.address": "{{destination}} không phải là địa chỉ Stellar hợp lệ", - "yinbi.send": "Gửi", - "yinbi.to": "Đến:", - "yinbi.try_again": "Thử lại?", - "yinbi.success.transaction": "Giao dịch thành công!", - "yinbi.failure.transaction": "Giao dịch không thành công", - "yinbi.confirm.transaction": "Xác nhận giao dịch", - "yinbi.sent.details": "Bạn đã gửi {{amount}} YNB tới {{destination}}", - "yinbi.sent.failure.details": "Giao dịch của bạn không thành công vì những lý do sau:", - "yinbi.recipient": "Người nhận", - "yinbi.available.send": "Bạn có {{balance}} YNB có sẵn để gửi", - "yinbi.wallet.header": "Ví", - "yinbi.send.header": "Gửi Yinbi", - "yinbi.recovery.phrase": "Cụm từ khôi phục Yinbi", - "yinbi.recover.account": "Nhập hoặc dán Cụm từ khôi phục Yinbi của bạn để khôi phục Ví Yinbi và tài khoản Lantern của bạn", - "yinbi.recovery.desc": "Sử dụng phương pháp này nếu bạn muốn đăng nhập vào Ví Yinbi ngoài tài khoản Lantern của mình", - "yinbi.redeem.codes": "Đổi thưởng hàng loạt mã Yinbi", - "yinbi.obtain.codes": "Bạn có thể lấy số lượng lớn mã Đổi thưởng Yinbi từ reseller.lantern.io", - "yinbi.receive.header": "Nhận Yinbi", - "yinbi.this.is.your.wallet": "Đây là địa chỉ ví Yinbi của bạn, nơi mọi người có thể gửi YNB cho bạn.", - "yinbi.your.address": "Địa chỉ của bạn", - "yinbi.no.activity.header": "Không hoạt động", - "yinbi.upgrade.pro.button": "Nâng cấp lên Pro và nhận Yinbi miễn phí", - "yinbi.renew.pro.button": "Gia hạn Pro và Nhận Yinbi miễn phí", - "yinbi.wallet.activity_header": "Hoạt động", - "yinbi.wallet.send": "Gửi", - "yinbi.wallet.receive": "Nhận", - "yinbi.wallet.balance": "Số dư", - "yinbi.wallet.getlantern.pro": "Nhận Lantern Pro + Yinbi miễn phí", - "yinbi.redemption.codes": "Mã đổi thưởng Yinbi", - "redeem_codes.title": "Đổi thưởng mã Yinbi", - "redeem_codes.redeem_button_text": "Đổi thưởng", - "redeem_codes.cancel_button_text": "Hủy bỏ", - "redeem_codes.success": "Thành công", - "redeem_codes.errors.missing_codes": "Không có mã hợp lệ nào được nhập", - "redeem_codes.errors.invalid_codes": "Lỗi, vui lòng kiểm tra các mã được đánh dấu. Các mã bị gạch chéo đã hết hạn và không thể đổi được nữa.", - "yinbi.new.account.text": "Sau khi bạn gửi hoặc nhận Yinbi, các giao dịch của bạn sẽ xuất hiện ở đây.", - "yinbi.createAccount": "Tạo tài khoản", - "yinbi.confirm.account.text": "Để đảm bảo rằng bạn đã viết cụm từ chính xác, vui lòng nhập các từ sau từ cụm từ khôi phục của bạn", - "create_account.invalid_words.error": "Các từ đã nhập không khớp với các từ của cụm mật khẩu khôi phục", - "yinbi.recovery_text": "Đây là Cụm từ khôi phục ví Yinbi của bạn. Đây là cách DUY NHẤT để khôi phục Ví Yinbi của bạn\ntrong trường hợp quên mật khẩu. Sử dụng trình quản lý mật khẩu hoặc tạo bản cứng khi\nlưu trữ cụm từ này.", - "yinbi.recovery_confirm_text": "Đây là Cụm từ khôi phục ví Yinbi của bạn. Đây là cách DUY NHẤT để khôi phục Ví Yinbi của bạn trong trường hợp quên mật khẩu. Sử dụng trình quản lý mật khẩu hoặc tạo bản cứng khi lưu trữ cụm từ này.", - "yinbi.import.wallet": "Nhập khẩu Ví", - "yinbi.setup.wallet": "Thiết lập Ví", - "yinbi.importWallet": "Nhập ví Yin.bi", - "yinbi.import.wallet.continue": "Tiếp tục đến Ví của bạn", - "yinbi.import.wallet.success": "Nhập khẩu Ví thành công!", - "yinbi.wallet.text": "Để truy cập vào Ví Yinbi, bạn có thể Tạo tài khoản, Đăng nhập hoặc Nhập khẩu ví của mình từ Yin.bi nếu bạn đã đăng ký trên trang web Yin.bi trước đó.", - "yinbi.wallet.pro.text": "Để truy cập Ví Yinbi, bạn có thể Tạo tài khoản, Nhập khẩu ví từ Yin.bi nếu bạn đã đăng ký trước đó.", - "yinbi.recovery_subheader": "Cụm từ khôi phục ví Yinbi", - "yinbi.import_wallet.subheader": "Nhập ví Yinbi", - "yinbi.import_wallet.text": "Đăng nhập bằng thông tin đăng nhập Yin.bi của bạn để chuyển ví của bạn sang Lantern", - "yinbi.import_wallet.success": "Ví của bạn đã được nhập thành công, vui lòng thêm email của bạn để hoàn tất đăng ký tài khoản.", - "yinbi.import_wallet.success_subheader": "Nhập thành công!", - "yinbi.import_wallet.button": "Nhập ví Yin.bi", - "yinbi.import_wallet.success_button": "Hoàn tất đăng ký", - "yinbi.recovery_passphrase.label_text": "Cụm từ khôi phục", - "yinbi.recovery_passphrase.copy_button_text": "Sao chép", - "terms_of_service.notice": "Chú ý", - "terms_of_service.i_agree": "Tôi đồng ý", - "platinum": "Platinum", - "platinum.one_year": "Báo giá 1 năm", - "platinum.two_years": "Báo giá 2 năm", - "platinum.save": "Tiết kiệm lên đến {{savings}}%!", - "platinum.unlimited": "Dung Lượng Không Giới Hạn", - "platinum.logs": "Không có nhật ký", - "platinum.devices": "Kết nối tối đa 3 thiết bị", - "platinum.everything_in_pro": "Mọi thứ có trong Pro", - "platinum.faster_data": "Trung tâm dữ liệu nhanh hơn", - "platinum.dedicated": "Đường truyền chuyên dụng", - "platinum.reliability": "Tăng độ tin cậy", - "platinum.platinum_one_year": "Lantern Platinum 1 năm", - "platinum.platinum_two_years": "Lantern Platinum 2 năm", - "platinum.pro_one_year": "Lantern Pro 1 năm", - "platinum.pro_two_years": "Lantern Pro 2 năm", - "platinum.total": "Tổng", - "platinum.free": "Miễn phí", - "platinum.credit.days": "+ {{ days }} ngày", - "platinum.credit.months": "{{ months }} tháng", - "platinum.upgrade": "Nâng cấp lên Platinum", - "platinum.upgrade_details": "Đường truyền chuyên dụng + Trung tâm dữ liệu nhanh hơn!", - "platinum.unused_time_disclaimer": "Người dùng Pro nâng cấp lên Platinum sẽ thấy đăng ký Pro đã chuyển đổi của họ được liệt kê dưới dạng thời gian thêm ở trên.", - "p2p.opt_in_description": "Sử dụng mạng internet của bạn để giúp mọi người truy cập internet không bị kiểm duyệt", - "p2p.active_sharing_description": "Chia sẻ mạng internet của bạn đang bật", - "p2p.dialog.title": "Chia sẻ truy cập internet", - "p2p.dialog.text.1": "Giúp những người khác có quyền truy cập hạn chế vào Internet bằng cách chia sẻ kết nối mạng của bạn. Bằng cách cho phép truy cập internet, bạn sẽ là một phần của mạng lưới các tình nguyện viên giúp mở rộng internet hơn.", - "p2p.dialog.text.2": "Chia sẻ sẽ không ảnh hưởng đến danh tính hoặc sự an toàn của bạn. Bạn có thể ngừng chia sẻ internet của mình bất cứ khi nào bạn muốn.", - "p2p.dialog.yes_button": "CÓ, BẮT ĐẦU CHIA SẺ", - "p2p.dialog.no_button": "HỦY BỎ", - "p2p.banner.introducing": "GIỚI THIỆU", - "top_sites.top_sites": "Các trang web hàng đầu" -} \ No newline at end of file diff --git a/locale/translation/zh-CN.json b/locale/translation/zh-CN.json deleted file mode 100644 index bffca440d..000000000 --- a/locale/translation/zh-CN.json +++ /dev/null @@ -1,797 +0,0 @@ -{ - "LANTERN": "蓝灯", - "pro": "Pro", - "BEAM": "小手电", - "TRAY_STATUS": "状态: %v", - "TRAY_CONNECT": "连接", - "TRAY_DISCONNECT": "断开", - "TRAY_SHOW": "显示%s", - "TRAY_UPGRADE_TO_PRO": "升级到专业版", - "TRAY_QUIT": "退出%s", - "BACKEND_DATA_TITLE": "高速流量仅剩%s", - "BACKEND_DATA_MESSAGE": "请升级到%s专业版继续使用高速流量!", - "BACKEND_DATA_PERCENT_TITLE": "高速流量已使用 %s %s", - "BACKEND_DATA_PERCENT_MESSAGE": "您已经使用本月高速流量 %s %s。立刻升级!", - "BACKEND_CLICK_LABEL": "打开", - "BACKEND_CLICK_LABEL_OPEN": "打开", - "BACKEND_CLICK_LABEL_HELP": "帮助", - "BACKEND_CLICK_LABEL_GOT_IT": "明白了", - "BACKEND_AUTOUPDATED_TITLE": "更新 %s到版本 %s", - "BACKEND_AUTOUPDATED_MESSAGE": "%s %s 已经下载完成. 请重启 %s 即可使用.", - "BACKEND_MITM_INSTALL_CERT": "%s 希望安装定制证书以改善性能", - "BACKEND_MITM_INSTALL_CERT_WINDOWS_BODY": "请允许 %v对您的系统进行更改", - "BACKEND_ALERT_TITLE": "严重告警提请您关注", - "BACKEND_INSTALL_DIAGNOSTIC_TOOLS": "%s 请求你授权安装诊断工具,以改进%s的使用体验。", - "BACKEND_CONFIG_SAVE_ERROR_TITLE": "Unable to save configuration", - "BACKEND_CONFIG_SAVE_ERROR_MESSAGE": "Unable to save application configuration. %s cannot guarantee that traffic will be correctly proxied.", - "about.content": "蓝灯能帮助你快速、可靠、安全地访问互联网。", - "app.error": "啊呀,出现一些问题!", - "about.faq": "阅读蓝灯常见问题", - "about.open": "人人可享的真互联网", - "about.questions": "有疑问?", - "about.title": "关于", - "account.add.password": "添加账户密码", - "account.agree.terms": "I understand that losing my password means losing\naccount access. Lantern cannot help you recover\nyour password.", - "account.agree.terms.error": "Must first agree to terms", - "account.cancel": "取消专业版账户", - "account.created": "账号建立成功", - "account.create.pro.account.header": "Create Pro Account", - "account.create.pro.account.text": "Lantern is changing the way user accounts are handled. From now on Pro users will need to create a username and password. These credentials will be used to sign in to other devices, and provide access to new features.", - "account.have.a.account": "Have an Account?", - "account.link.username.pro": "Link username to Pro Account", - "account.recovery": "邮箱登陆", - "account.recovery.link.device": "授权设备", - "account.recovery.device.code": "动态授权码", - "account.recovery.device.enter.code": "输入或粘贴验证码", - "account.recovery.device.instructions.header": "授权这台设备使用您的专业版帐户", - "account.recovery.device.instructions.step.one": "请到电脑专业版账户管理界面或手机专业版菜单选择“授权设备”", - "account.recovery.device.instructions.step.two": "2. 输入设备的授权码,并提交。", - "account.recovery.device.instructions.part.three": "*请确保两台设备都使用最新版本", - "account.recovery.method": "请选择授权设备的方式", - "account.recovery.send.email": "发送电子邮件", - "account.recovery.submit": "提交", - "account.recovery.success": "授权成功!", - "account.pro_management": "专业版账户管理", - "account.free_management": "账号管理", - "account.free.cap": "本月高速流量只剩下{{mb}},高速流量将在{{reset}}重置。", - "account.free.cap.upgrade": "升级到专业版来享受无限的高速流量", - "account.freelink.validFor": "%s 内有效", - "account.freelink.desc": "授权这台设备使用您的专业版帐户", - "account.freelink.step1": "在已登陆专业版的设备上点击“授权其他设备使用专业版”", - "account.freelink.step2": "2. 输入设备的授权码,并提交。", - "account.freelink.reminder": "*请确保两台设备都使用最新版本", - "account.freelink.errorTitle": "授权失败", - "account.freelink.errorText": "您在专业版设备上输入正确的授权码了吗?", - "account.freelink.headerDesc": "授权这台设备使用您的专业版帐户", - "account.freelink.title": "动态授权码", - "account.pro.charge": "您的账户将自动在您的结算周期结束时为下一年的蓝灯专业版付费。", - "account.upgrade_pro": "升级到专业版", - "account.upgrade": "升级", - "account.upgrade_platinum": "升级为白金版", - "account.create": "创建账号", - "account.email": "电子邮件", - "account.confirm.password": "确认密码", - "account.password": "密码", - "account.pro.email": "电子邮件", - "account.pro.expiration": "专业版到期日", - "account.platinum.expiration": "白金账户到期时间", - "account.pro.expired": "你的蓝灯专业版账号已过期。现在就续期,享受无限制的高速流量。", - "account.pro.expiry": "您的专业版账户将在 %s 天后,即 %s 过期。", - "account.pro.bonusMonths": "这包括您的 {{bonusMonths}} 奖金月!", - "account.pro.thisdevice": "(此设备)", - "account.pro.logout": "退出登录", - "account.pro.removedevice": "解绑", - "account.pro.devices": "蓝灯专业版(最多3台设备)", - "account.pro.device.confirm.title": "取消设备绑定", - "account.pro.device.confirm": "您确定不再需要让此设备使用专业版帐户吗?", - "account.pro.device.one.title": "最后一台设备", - "account.pro.device.one": "这是你的专业版帐户绑定的惟一一台设备,不能解绑", - "account.pro.linkingcode": "动态授权码", - "account.pro.renew": "续订专业版账户", - "account.platinum.renew": "更新白金版账户", - "account.pro.renew_CN": "Renew", - "account.prolink.errorTitle": "授权失败", - "account.prolink.errorText": "您的授权码是否正确?", - "account.prolink.successTitle": "设备已授权", - "account.prolink.successText": "授权成功。请等待您的设备自动成为专业版。", - "account.signin": "登录", - "account.signout": "退出登录", - "account.submit": "提交", - "account.username": "用户名", - "account.switch.to.register": "Switch to Create Account", - "account.switch.to.signin": "Switch to Sign In", - "account.invalid.username": "用户名错误", - "account.invalid.email": "Email错误", - "account.password.mismatch": "确认密码和密码不对应。", - "account.password.short": "密码太短。", - "account.password.lowercase": "密码必须有小写字母。", - "account.password.uppercase": "密码必须有大写字母。", - "account.password.number": "密码必须有数字", - "account.password.compromised": "密码不能在已经被泄漏的密码中", - "modal.register.free.header": "注册或登录以访问隐币钱包", - "modal.register.pro.header": "添加账号密码以访问隐币钱包", - "modal.register.pro.signin.header": "Sign in to access Yinbi Wallet", - "modal.register.free.text": "您须通过蓝灯账户使用隐币钱包, 请点击注册或\n登录继续使用。", - "modal.register.pro.text": "请为您的蓝灯账户添加密码以继续使用隐币钱包。", - "modal.register.pro.signin.text": "To use the Yinbi wallet you must sign in to your Lantern account", - "adyen.paymentMethods.title": "支付方式", - "adyen.paymentMethods.storedMethods": "您的支付方式", - "adyen.paymentMethods.otherMethods": "选择其他方式", - "adyen.paymentMethods.moreMethodsButton": "更多支付方式", - "adyen.payButton": "支付", - "adyen.payButton.formatted": "支付 %@", - "adyen.cancelButton": "取消", - "adyen.dismissButton": "OK", - "adyen.storeDetails": "下次继续使用这些信息", - "adyen.payment.redirecting": "你将会被重定向", - "adyen.payment.processing": "支付处理中", - "adyen.creditCard.title": "信用卡详情", - "adyen.creditCard.holderName": "持卡人姓名", - "adyen.creditCard.holderName.placeholder": "J. Smith", - "adyen.creditCard.numberField.title": "卡号", - "adyen.creditCard.numberField.placeholder": "1234 5678 9012 3456", - "adyen.creditCard.numberField.invalid": "卡号无效", - "adyen.creditCard.expiryDateField.title": "到期时间", - "adyen.creditCard.expiryDateField.placeholder": "MM/YY", - "adyen.creditCard.expiryDateField.invalid": "到期时间无效", - "adyen.creditCard.expiryDateField.month": "月", - "adyen.creditCard.expiryDateField.month.placeholder": "MM", - "adyen.creditCard.expiryDateField.year.placeholder": "YY", - "adyen.creditCard.expiryDateField.year": "年", - "adyen.creditCard.cvcField.title": "CVC / CVV", - "adyen.creditCard.cvcField.placeholder": "123", - "adyen.creditCard.installmentsField": "计划分期数", - "adyen.creditCard.storeDetailsButton": "下次付款时自动选择这张卡", - "adyen.creditCard.oneClickVerification.title": "验证信用卡", - "adyen.creditCard.oneClickVerification.message": "请输入%@的CVC码", - "adyen.creditCard.oneClickVerification.invalidInput.title": "CVC码无效", - "adyen.creditCard.oneClickVerification.invalidInput.message": "请输入有效的CVC码", - "adyen.sepaDirectDebit.ibanField.title": "帐号 (IBAN)", - "adyen.sepaDirectDebit.ibanField.placeholder": "NL53 ABNA 1925 1294 122", - "adyen.sepaDirectDebit.ibanField.invalid": "帐号无效", - "adyen.sepaDirectDebit.nameField.title": "持有人名称", - "adyen.sepaDirectDebit.nameField.placeholder": "J. Smith", - "adyen.sepaDirectDebit.consentButton": "我同意以下金额将从我的银行帐户中扣除。", - "adyen.sepa.ownerName": "持有人名称", - "adyen.sepa.ibanNumber": "帐号 (IBAN)", - "adyen.giropay.searchField.placeholder": "银行名称 / BIC代码", - "adyen.giropay.minimumLength": "最少需要3个字符", - "adyen.giropay.noResults": "没有搜索结果", - "adyen.error.title": "错误", - "adyen.error.subtitle.redirect": "重定向失败", - "adyen.error.subtitle.payment": "支付失败", - "adyen.error.subtitle.refused": "支付被拒绝", - "adyen.error.message.unknown": "未知错误", - "adyen.error.message.cannotConnectToInternet": "无法连接互联网,请检查网络。", - "adyen.error.message.cannotConnectToHost": "无法连接支付服务器", - "adyen.error.retryButton": "重试", - "adyen.idealIssuer.selectField.title": "银行", - "adyen.idealIssuer.selectField.placeholder": "选择银行", - "adyen.creditCard.success": "支付成功", - "adyen.oneClick.confirmationAlert.title": "确认 %@ 支付", - "adyen.redirect.cannotOpenApp.title": "无法打开应用", - "adyen.redirect.cannotOpenApp.appNotInstalledMessage": "该应用在这台设备上没有安装,所以无法打开", - "adyen.holderName": "持卡人姓名", - "adyen.countryCode": "国家代码", - "adyen.telephone.number": "电话号码", - "android.download": "蓝灯安卓版", - "android.download.title": "Download Lantern Android", - "authorize.title": "授权设备使用专业版", - "authorize.step1.have_pro_device": "已有其他专业版的设备", - "authorize.step1.link": "通过设备授权登录", - "authorize.step1.email_linking": "通过邮箱授权登录", - "authorize.device_linking_explanation": "如果您身边已经有一台专业版设备,请选用“设备授权”登录", - "authorize.device_email_explanation": "如果您有邮箱验证码,请选用“邮箱授权”登录", - "authorize.link_device": "授权设备", - "authorize.step1.choose": "选择授权设备登录的方式", - "authorize.step1.or": "或", - "authorize.step1.recover": "邮箱登陆", - "authorize.step1.start": "登陆", - "authorize.step1.no_mail": "不记得您的电子邮件地址吗?", - "authorize.step1.description": "请输入您正确的注册邮箱,验证码就会发到你的邮箱", - "authorize.step2b.enter_code": "输入邮箱登陆码", - "authorize.step2b.code": "邮箱登陆码", - "authorize.step2b.instruction": "如果此蓝灯账号存在,蓝灯恢复码已发送到{{email}}。Email送达可能需要几小时,请检查您的垃圾邮件。", - "authorize.step2b.no_mail": "没有收到email", - "authorize.step3.recovery": "帐号登陆", - "authorize.step3.no_email": "出错了!我们找不到对应的邮箱地址。请提供更多信息来找回帐号。", - "authorize.step3.no_code_received": "收不到邮箱登陆码? 请输入以下信息来人工找回帐号,我们会在48小时内联系你。", - "authorize.step3.your_email": "您的邮箱", - "authorize.step3.payment_method": "付款方式", - "authorize.step3.payment_method_hint": "请选择你购买专业版的方式", - "authorize.step3.credit_card": "信用卡", - "authorize.step3.alipay": "支付宝", - "authorize.step3.android_pay": "安卓Pay", - "authorize.step3.by_referral": "因为邀请朋友而免费获得了专业版", - "authorize.step3.payment_account": "付款帐号", - "authorize.step3.payment_account_hint": "请输入支付宝帐号信息", - "authorize.step3.referral_code": "您的邀请码", - "authorize.step3.purchase_date": "付款日期", - "authorize.step3.note": "请输入其他相关信息,方便我们寻找你的帐号。", - "authorize.step4.title": "正在进行帐号恢复", - "authorize.step4.text1": "感谢!我们已收到你的帐号恢复请求。", - "authorize.step4.text2": "请等待48小时让我们寻找你的专业版帐号。", - "authorize.step4.text3": "我们会反馈结果给上面填写的邮箱地址。", - "authorized.continue": "下一步", - "authorized.continue.lantern": "进入蓝灯专业版", - "authorized.text": "当前设备被授权使用您蓝灯专业版账户了!", - "authorized.title": "设备已授权", - "button.account": "帐号", - "button.renew": "续期", - "button.upgrade": "升级", - "button.upgrade_now": "现在升级", - "button.upgrade_to_lantern_pro": "升级到蓝灯专业版", - "button.copy_your_code": "复制您的邀请码", - "button.try_again": "重试", - "button.continue": "继续", - "button.continue_to": "继续使用 {{planType}}", - "bullet.click_button": "点击下面的按钮", - "bullet.paste_code": "复制邀请码和下载链接", - "bullet.send_to_friends": "发送给你的朋友", - "cancel": "取消", - "confirm": "确认", - "norecoveryyinbi": "无法恢复隐币钱包", - "email.recovery.check.email": "请到邮箱查看授权码", - "email.recovery.code.label": "输入或粘贴授权码", - "email.recovery.no.code": "没有收到授权码?", - "email.recovery.text": "请输入您的邮箱,我们将发送验证码协助您重设密码。\n如果您有隐币钱包,上述方法无法恢复您的隐币钱包。如需恢复隐币钱包,请输入隐币助记词", - "email.recovery.desc": "如果您希望通过邮箱收到授权码,请选此方式", - "device.recovery.desc": "如果您已经有专业版设备在身边,请选此方法", - "google_search": "谷歌搜索", - "giveaway.upgrade": "升级蓝灯免费领取当日的隐币分配!", - "giveaway.title_released_today": "当日YNB额度", - "giveaway.what_is_it": "什么是Yinbi赠送?", - "giveaway.description1": "YNB会根据购买当天发放隐币总量,当天购买/续费蓝灯专业版的数量和和时长,您购买/续费蓝灯专业版的数量和时长当日日终直接发放到您的隐币钱包。", - "giveaway.description2": "YNB会根据购买当天发放隐币总量,当天购买/续费蓝灯专业版的数量和和时长,您购买/续费蓝灯专业版的数量和时长当日日终直接发放到您的隐币钱包。", - "giveaway.learn_more": "了解更多", - "link_device": "已经有专业版帐户?请登录", - "email.recovery": "通过邮箱恢复", - "email_taken": "邮箱已使用", - "username_taken": "用户名已使用", - "err.unknown_error": "未知错误", - "err.internal_error": "内部错误", - "err.bad_input": "错误输入", - "err.not_authorized": "登录失败", - "err.user_exists": "用户存在", - "err.no_such_user": "无此用户", - "err.user_already_verified": "用户已验证", - "err.invalid_user_verification": "无效用户验证", - "err.user_unverified": "用户未验证", - "err.operation_temporarily_unavailable": "操作暂时不可用", - "err.wrong_or_inexistent_plan": "错误或不存在的套餐", - "err.user_has_active_subscription": "用户已激活订阅", - "err.payment_error": "支付错误", - "err.no_codes_left": "无邀请码", - "err.wrong_code": "邀请码错误", - "err.redeeming_own_code_not_allowed": "不允许兑换自己的邀请码", - "err.wrong_charge_id": "充值 ID 不正确", - "err.wrong_link_code": "设备授权码错误", - "err.invalid_credentials": "提供的用户凭证无效", - "footer.reseller": "想赚钱吗?成为蓝灯代理商吧。请点击这里。", - "footer.reseller.email_subject": "关于蓝灯代理商的详情", - "footer.reseller.email_body": "当你成为蓝灯代理商,你可以对销售蓝灯专业版销售额进行最多25% 的提成。请联络我们并知之为何想要成为蓝灯代理商。", - "feature.faster_speed": "速度更快", - "feature.faster": "速度更快", - "feature.unlimited": "无限流量", - "feature.nologs": "无服务器记录", - "feature.devices": "支持3个设备", - "feature.noads": "无广告", - "feature.yinbi.tooltip": "隐币基金会将通过蓝灯向购买蓝灯专业版的用户独家赠送 8880 亿个隐币。在每天结束时,基金会会根据当天发布的隐币数量、升级/续费人数以及购买年限或账户数量来发放隐币。隐币将直接存入您在蓝灯的隐币钱包!", - "feature.antiblock": "更抗封锁", - "feature.data_center": "更好的服务器", - "feature.free_yinbi": "免费加密货币!", - "free.title": "蓝灯专业版", - "free.desc": "更快速,更强大,无限流量,安全", - "free.link_account": "已经有专业版帐户?请登录", - "home.get_lantern_pro": "购买蓝灯专业版", - "home.get_lantern_platinum": "升级您的计划", - "home.welcome_popup_subheader": "欢迎用Lantern!", - "home.welcome_popup_content_1": "我们正在努力更新蓝灯,增加新功能。", - "home.welcome_popup_content_2": "在新界面中,您可以在蓝灯网络中搜索文件,您也可以上传文件。这是一个测试功能,欢迎大家测试反馈。", - "home.welcome_popup_button": "试试", - "input.email": "电子邮件", - "input.your_email": "你的Email", - "input.confirm_email": "确认你的Email", - "input.enter_email": "请输入你的Email", - "input.use_valid_email": "请输入有效的电子邮件地址", - "input.email_not_match": "电子邮件地址不相符", - "input.existing_email": "Existing email", - "issue.your_email": "您的邮件", - "issue.attach_image_failure": "无法上传图片", - "issue.try_again": "请重试", - "issue.select_issue": "请选择问题类型", - "issue.selected_issue": "选择问题", - "issue.select_issue_hint": "请用下拉框选择问题类型", - "issue.note": "描述你的问题", - "issue.description": "问题描述", - "issue.error": "报告问题出错", - "issue.submit": "发送报告", - "issue.report_screenshot": "拖拽或点击上传图片", - "issue.reported": "感谢报告问题,我们会尽快通过邮件反馈。", - "issue.report_sent": "报告已发送", - "issue.type.no_access": "无法访问被屏蔽网站", - "issue.type.payment_fail": "无法完成支付", - "issue.type.cannot_login": "无法登录", - "issue.type.always_spinning": "始终显示载入中", - "issue.type.slow": "很慢", - "issue.type.cannot_link_device": "无法链接设备", - "issue.type.crashes": "Lantern 崩溃了", - "issue.type.other": "其他", - "languages.title": "语言", - "lantern.email": "蓝灯邮箱", - "mobile.link": "使用这个链接在您的安卓设备上下载蓝灯", - "mobile.title": "获取安卓版", - "nav.about": "关于", - "nav.account": "账号管理", - "nav.authorize": "授权其他设备使用专业版", - "nav.authorized": "在当前设备登录成功", - "nav.unauthorized_link": "授权设备使用专业版", - "nav.language": "语言", - "nav.lantern": "蓝灯", - "nav.mobile": "获取移动版本", - "nav.report_issue": "报告问题", - "nav.settings": "设置", - "nav.support": "支持", - "nav.verify": "账号验证", - "nav.yinbi": "兑换隐币", - "nav.home": "主页", - "nav.discover": "发现", - "nav.wallet": "钱包", - "nav.yinbi_wallet": "隐币钱包", - "notification.retry": "重试", - "notifications": "通知", - "notifications.whatisnew": "新功能", - "password.change": "修改密码", - "password.changed": "密码修改成功", - "continue.to.pro": "下一步", - "username": "用户名", - "password.new": "新密码", - "password.requirements": "
密码必须包含如下:
  • 8个及以上的字符
  • 1 个小写字母
  • 1 大写字母
  • 至少1个数字
  • 不是已经泄露的密码
", - "password.reset": "重设密码", - "paxful.buy": "购买", - "paxful.payment": "支付方式", - "paxful.bitcoin": "比特币 (BTC)", - "paxful.tether": "泰达币(USDT)", - "paxful.wallet": "电子钱包", - "paxful.bank": "银行转账", - "paxful.gamer_card": "游戏卡", - "paxful.gift_card": "礼品卡", - "paxful.cash": "现金", - "paxful.digital_currency": "数字货币", - "paxful.button": "显示优惠的交易", - "payment.close": "关闭", - "payment.redirectErrorTitle": "Error connecting to payment server", - "payment.redirectErrorText": "We are currently working on resolving this issue. Please check back later.", - "payment.wait_for_pro": "感谢你购买蓝灯专业版。请稍等片刻,蓝灯会自动会变成专业版。", - "payment.moreOptions": "更多选项", - "payment.fewerOptions": "更少选项", - "payment_methods.select_name": "选择付款方式", - "payment_methods.alipay": "信用卡/支付宝", - "payment_methods.shetab": "快速全球支付(Shetab)", - "payment_methods.shetab.details.header": "购买蓝灯专业版", - "payment_methods.shetab.details.body": "当您单击继续购买时,您将被重定向到外部站点以完成支付并收集激活码。", - "payment_methods.shetab.details.tutorial_header": "获取教程", - "payment_methods.shetab.details.purchase_voucher_button": "继续购买", - "payment_methods.shetab.details.input_code_button": "输入激活码", - "plan.step1": "步骤1", - "plan.apply": "应用", - "plan.step2": "步骤2", - "plan.most_popular": "最受欢迎", - "plan.step3": "步骤3", - "plan.choose_plan": "选择套餐", - "plan.enter_email": "输入邮箱", - "plan.choose_method": "选择付款方式", - "plan.bestValue": "最实惠!", - "plan.per_month": "每月", - "plan.yinbi_2x": "两倍隐币", - "plan.oneYear": "1 年", - "plan.add_referral": "输入邀请码", - "plan.years": "{{years}}年版", - "plan.desc": "收取{{price}}", - "plan.bonus_months": "+ {{bonusMonths}} 月", - "plan.price.cny": "¥%.02f", - "plan.price.usd": "$%.02f", - "plan.currency.cny": "(人民币)", - "plan.currency.usd": "(美元)", - "plan.time_unit": "年", - "plan.select": "选择", - "plan.two_year": "两年", - "plan.one_year": "一年", - "plan.savings": "节省 {{formattedDiscount}} %", - "plans.title": "蓝灯专业版套餐", - "plans.lantern_pro": "蓝灯专业版", - "plans.platforms": "支持Windows、安卓、Mac 和 Ubuntu。", - "plans.from_reseller": "有蓝灯专业版激活码吗?请点击这里。", - "plans.with_voucher_code": "网上打折购买了专业版激活码?点此升级", - "pro.apply": "您的积分将在下一个结算周期加入到您的账号。", - "pro.title": "邀请好友来获得更多的专业版使用时间。", - "pro.subtitle": "好友购买两年套餐后,双方都赠送三个月的专业版使用时间;好友购买一年套餐后,双方都会赠送一个月的使用时间。", - "pro.share": "与好友分享您的代码,开始赚取更多积分!", - "promotion.title": "蓝灯专业版购买", - "promotion.title.activation": "蓝灯专业版激活", - "promotion.enter_and_confirm_email": "请输入并确认的你的email地址", - "promotion.code.hint": "请输入邀请码(可选)", - "promotion.code.label": "邀请码", - "promotion.payment": "继续支付", - "promotion.payment.btc": "Pay with ₿", - "promotion.loading": "加载中…", - "promotion.howto_1y": "朋友给您分享了邀请码?输入邀请码,购买一年套餐后自动赠送一个月。", - "promotion.howto_2y": "朋友给您分享了邀请码?输入邀请码,购买两年套餐后自动赠送3个月。", - "promotion.pay": "支付 {{amount}}", - "promotion.select": "选择", - "promotion.promotion_applied_1y": "赠送一个月", - "promotion.promotion_applied_2y": "赠送3个月", - "promotion.too_many_referrals": "此邀请码已经添加。您获赠的时间付款后就能使用了。", - "promotion.activation.enter_and_confirm_email": "请输入并确认你的Email地址来注册蓝灯专业版账号。", - "promotion.activation.label": "XXXXX-XXXXX-XXXXX-XXXXX-XXXXX", - "promotion.activation.hint": "激活码", - "promotion.activation.instructions": "注册专业版账户,请输入邮箱和代理商处购买的25位激活码", - "promotion.activation.howto": "请输入25位蓝灯专业版激活码。如果你没有激活码,请退回选择套餐界面直接购买,或者在网上寻找蓝灯代理商。", - "promotion.activation.continue": "注册专业版账户", - "promotion.voucher.hint": "激活码", - "promotion.voucher.howto": "请在上面输入您的12个字符的快速全球支付激活码", - "promotion.voucher.label": "XXXXXXXXXXXX", - "promotion.voucher.error.default": "兑换激活码时出错。", - "promotion.voucher.error.invalid_code": "激活码无效", - "promotion.voucher.error.invalid_plan": "与无效预付关联的激活码", - "promotion.voucher.error.already_redeemed": "激活码已被兑换", - "referral.code": "邀请码", - "referral.text": "输入我的邀请码 %s 来获得三个月的蓝灯专业版!立即下载 https://github.com/getlantern/forum", - "referral.description_free": "与朋友分享你的邀请码,双方各获赠1个月时间。", - "referral.description_pro": "与朋友分享你的邀请码,双方各获赠1个月时间。", - "register": "注册", - "renew.subtitle_early": "现在续期立即获赠3个月!", - "renew.subtitle_last_day": "现在续期立即获赠3个月!", - "renew.subtitle_expired": "现在续期立即获赠45天!", - "renew.details_early": "你的蓝灯专业版快要过期了。现在续期可获赠最多3个月!", - "renew.details_last_day": "你的蓝灯专业版今天过期。现在续期可获赠最多3个月!", - "renew.details_expired": "你的蓝灯专业版账号过期了。今天续期可以获赠最多45天!", - "renew.asterisk_early": "* 只有提前续期的用户才能享受这项优惠。", - "renew.asterisk_last_day": "* 这是你获得这项特别优惠的最后机会!", - "renew.asterisk_expired": "* 这是一项限期优惠!", - "renew.plan_label": "蓝灯专业版 - %s", - "renew.plan_renewal_bonus_1_month": "¥%d%s + 免费 1 个月", - "renew.plan_renewal_bonus_months": "¥%d%s + 免费 %d 个月", - "renew.plan_renewal_bonus_days": "¥%d%s + 免费 %d 天", - "renew.next": "下一步", - "renew.decline": "拒接优惠", - "renew.decline_question": "你确认拒绝这个优惠么?", - "renew.decline_yes": "稍后续期", - "renew.decline_dismiss": "现在就续期", - "renew.notification_title_30_days": "现在续期可以获得限量折扣!", - "renew.notification_title_30_days_platinum": "现在续订白金版,可节省大量资金", - "renew.notification_text_30_days": "您的 {{planName}} 账户在 {{remainingDays}} 天后到期。现在续约,可获得长达 3 个月的免费使用期。", - "renew.notification_title_2_days": "{{planName}} 优惠明天结束!", - "renew.notification_text_2_days": "您的 {{planName}} 账户将于明天到期。不要错过享受超值优惠的机会。", - "renew.notification_title_last_day": "最后一次获得优惠的机会!", - "renew.notification_text_last_day": "您的 {{planName}} 账户已过期。今天续订,可获得长达 3 个月的免费服务。", - "replica.upload": "上传", - "replica.favorite": "收藏", - "replica.added_to_favorites": "Added to Favorites", - "replica.filedrop_error": "上传文件错误", - "replica.filedrop_error.file-too-large": "Maximum allowed file size is {{fileSize}}", - "replica.filedrop_error.file-too-small": "File is too small", - "replica.filedrop_error.too-many-files": "Too many files", - "replica.filedrop_error.file-invalid-type": "This file type is not currently supported", - "replica.filedrop_remove_file": "停止上传图片", - "replica.post": "上传文件", - "replica.relevance": "相关度", - "replica.upload_date": "上传日期", - "replica.gallery_view": "预览图展示", - "replica.list_view": "列表展示", - "replica.copy_lantern_link": "复制蓝灯链接", - "replica.documents": "文件", - "replica.audio": "音频", - "replica.application": "应用", - "replica.image": "图片", - "replica.video": "视频", - "replica.web": "网页", - "replica.news": "News", - "replica.upload_alert.dont_show": "不再显示", - "replica.upload_alert.cancel": "取消上传", - "replica.upload_alert.resume": "继续上传", - "replica.upload_alert.info": "重要信息!", - "replica.upload_alert.desc1": "文件上传到蓝灯网络后将去中心化分布式存储。一旦其他用户访问了这些文件,任何人 (包括蓝灯) 都无法将它们从网络中删除。 即使你已经删除该文件,也可能继续存在网络中。", - "replica.upload_alert.desc2": "因此上传敏感内容时请注意不要包含个人信息。", - "replica.add_details": "Add details", - "replica.cannot_edit": "Filenames cannot be edited once published.", - "replica.next": "下一步", - "replica.previous": "上一页", - "replica.selectAll": "全选", - "replica.search_replica": "搜索", - "replica.search_results_info": "此界面i显示蓝灯网络的结果", - "replica.search_results_info_message": "蓝灯网络的结果包含了用户上传的文件", - "replica.no_files_found": "无结果", - "replica.or_content": "你想让其他人看到的内容", - "replica.try_again": "尝试搜索其他关键词,或", - "replica.upload_success": "上传成功", - "replica.cannot_preview": "此文件无法预览", - "replica.no_description": "No description provided", - "replica.size": "dax", - "replica.uploaded": "已上传", - "replica.invalid_link": "无效链接", - "replica.close": "关闭", - "replica.files": "Files", - "replica.upload_history": "Upload history", - "replica.my_favorites": "收藏", - "replica.no_uploads": "还未上传", - "replica.no_favorites": "No Favorites Yet", - "replica.mime_type": "File type: {{mime}}", - "replica.image_loading_error": "加载图片错误", - "replica.play": "Play", - "replica.pause": "Pause", - "replica.scrub": "Scrub", - "replica.skip_forward": "Skip forward", - "replica.skip_backwards": "Skip backwards", - "replica.trending_videos": "热门视频", - "replica.file_uploaded": "Uploaded: {{days}} days ago", - "replica.file_size": "文件大小: %s", - "replica.duration": "Duration", - "replica.filename": "文件名", - "replica.filename_required": "命名文件", - "replica.description_optional": "Add Description", - "replica.expand": "Expand details", - "replica.filetype": "文件类型", - "replica.sortby": "排序", - "replica.link": "链接", - "replica.collapse": "折叠", - "replica.publish": "发布", - "replica.cancel": "取消", - "replica.progress_current_upload": "上传", - "replica.progress_files": "文件", - "replica.progress_of": "of", - "replica.progress_upload_complete": "完成", - "replica.progress_upload_failure": "上传文件失败,请重试", - "replica.upload_in_progress": "上传文件中", - "replica.upload_pending": "正在上传", - "replica.upload_error": "上传失败", - "replica.upload_cancel": "取消上传", - "replica.upload_confirm": "您确认取消上传吗?", - "replica.progress_view": "View", - "replica.delete": "删除", - "replica.remove": "移除", - "replica.delete_file": "删除文件", - "replica.remove_favorite": "Remove from Favorites", - "replica.failed_to_delete": "无法删除", - "replica.failed_to_remove": "Failed to remove", - "replica.link_lookup_failure": "无法找到链接", - "replica.delete_file_confirmation_1": "确定删除?", - "replica.delete_file_confirmation_2": "你的上传", - "replica.remove_favorite_confirmation_1": "Are you sure you want to remove", - "replica.remove_favorite_confirmation_2": "from your favorites", - "replica.share_file": "分享内容", - "replica.download_and_view": "下载/查看", - "replica.download": "下载", - "replica.copy_link": "复制Replica链接", - "replica.find_file": "查找内容", - "replica.file_drop_prompt": "Drop file to begin upload!", - "replica.empty_uploads_text1": "点击", - "replica.empty_uploads_text2": "这里", - "replica.empty_uploads_text3": "来发表您的第一篇文章。", - "replica.error_header": "Oops", - "replica.error": "There was an error processing your request. Please try again.", - "replica.serp_empty": "谷歌对此没有任何搜索结果。", - "replica.disclaimer": "Lantern anonymizes your searches and protects them from third parties", - "settings.general": "通用", - "settings.feedback": "反馈", - "settings.autoLaunch": "系统启动时运行 Lantern", - "settings.autoReport": "安全报告使用统计以帮助改进蓝灯", - "settings.lantern_ads": "Show Lantern Ads", - "settings.lantern_ads_tooltip": "Lantern shows you ads on some websites to help support our service. No user information is collected or passed to our servers. If you turn this option off, you may still see ads, but they will not be from the Lantern network.", - "settings.proxyAll": "代理全部流量", - "settings.proxyAllHelpTitle": "什么叫“代理全部流量”", - "settings.proxyAllHelp1": "如果开启,所有流量将通过蓝灯传输(最安全)", - "settings.proxyAllHelp2": "如果关闭,仅被封锁的流量通过蓝灯传输(最快且常用)", - "settings.show_advanced": "显示高级设置", - "settings.hide_advanced": "隐藏高级设置", - "settings.systemProxy": "管理系统代理", - "settings.title": "设置", - "settings.http_proxy": "HTTP(S)代理服务器:", - "settings.socks_proxy": "SOCKS代理服务器:", - "settings.caution": "请注意:", - "settings.caution_text": "在您取消“管理系统代理”后,您的浏览器和应用程序将不会自动使用蓝灯。手动配置相关设置的方法见上文。", - "settings.select_language": "选择语言", - "settings.diagnostics": "Attach Diagnostic Information", - "settings.diagnostics_tooltip": "Attaching diagnostic information will send the Lantern team data captured from your connection. This will increase our ability to identify and solve your issue.", - "status.lantern": "蓝灯状态", - "status.click_reconnect": "点击重新联网", - "status.server_location": "服务器位置", - "status.tooltip1": "蓝灯智能选择服务器,使您连接至我们最好的数据中心", - "status.tooltip2": "升级蓝灯专业版,使用高速流量,尊享专业版数据中心和优化的服务器", - "status.protected_connection": "已保护您的链接", - "status.please_wait": "这可能需要1-2分钟...", - "status.connecting": "连接中…", - "status.no_internet": "没有联网", - "status.no_internet_connection": "没有互联网连接", - "status.connected": "已连接", - "status.disconnected": "已断开", - "status.throttled": "限速中(高速流量已用尽)", - "status.no_system_proxy": "{{status}},没有管理系统代理", - "status.fail_to_set_system_proxy": "无法将蓝灯设置为系统代理", - "status.fail_to_open_browser": "无法打开浏览器显示蓝灯界面", - "support.forum": "蓝灯用户论坛", - "support.faq": "蓝灯论坛", - "terms_of_service.acknowledgment": "点击 {{buttonText}},即表示您同意接受我们的条款", - "terms_of_service.replica": "点击搜索 ,上传或通过任何方式使用我们的产品 ,即表示您同意我们的 Terms of Service, Privacy Policy and DMCA Policy", - "top_sites.google": "谷歌", - "top_sites.twitter": "推特", - "top_sites.youtube": "油管", - "top_sites.facebook": "脸书", - "top_sites.wikipedia": "维基百科", - "verify.header": "输入或粘贴验证码", - "verify.code": "动态授权码或支持码", - "verify.howto_1": "如果您已经有蓝灯专业版帐户,请输入您的电子邮件地址,以接收验证码,来绑定当前设备。", - "verify.howto_1a": "请输入您的电子邮件地址来验证您的专业版账户。验证通过后您就能绑定多台设备。", - "verify.howto_2": "授权设备使用你的专业版账户", - "verify.howto_3": "在已登陆专业版的设备上点击“授权其他设备使用专业版”", - "verify.howto_4": "在现在这个界面输入上一步获得的动态授权码或支持码", - "verify.reminder": "*请确保两台设备都使用最新版本", - "verify.enter_pin": "输入或粘贴验证码", - "verify.submit": "提交", - "verify.title": "账号验证", - "welcomeToPro.continue": "下一步", - "welcomeToPro.invite": "邀请好友购买,如果对方购买两年套餐,双方都会免费得到三个月的专业版使用时间;如果购买一年套餐,双方都会免费得到一个月的使用时间。现在就邀请!", - "welcomeToPro.thanks": "现在起,蓝灯最高速的数据中心和专线将开始为您提供无限量上网服务。您最多可同时接入三台设备。", - "welcomeToPro.title": "欢迎使用蓝灯专业版", - "welomeToPro.title_exclamation": "欢迎使用蓝灯专业版!", - "purchase.failed": "购买失败,请稍后重试。", - "purchase.success": "购买成功", - "purchase.success_title": "欢迎使用蓝灯 {{planType}}!", - "purchase.success_content_pro": "现在起,蓝灯最高速的数据中心和专线将开始为您提供无限量上网服务。您最多可同时接入三台设备。", - "purchase.success_content_platinum": "现在您可以使用我们的专线和最快的数据中心进行无限量访问。您最多可同时接入三台设备。", - "welcomeToPro.description": "现在您可以访问被封锁网站和服务了。", - "messages.copied_to_clipboard": "代码已复制。与您的朋友分享吧!", - "messages.datacap": "您已经用完了免费的高速流量,将被限速。请升级到专业版来享受无限高速流量。", - "messages.fatal_error": "很抱歉,我们无法连接到蓝灯的服务器。请检查您的网络连接并重试。", - "messages.backend_gone": "很抱歉,蓝灯似乎未在运行。请重启蓝灯并重试。", - "messages.get_help": "获取帮助", - "freeProCredits.title": "邀请好友", - "freeProCredits.shareWithFriends": "和朋友分享邀请码免费获赠专业版", - "freeProCredits.shareWithFriendsDesc": "好友购买两年套餐后,会赠送双方3个月专业版;好友购买一年套餐后,则赠送双方1个月。", - "cards.serverLocation.unknown": "未知", - "cards.serverLocation.description": "最快的服务器位置", - "cards.serverLocation.description-free": "服务器位置", - "cards.serverLocation.description-upgrade": "升级至更快的服务器", - "cards.serverLocation.title": "当前位置", - "cards.serverLocation.location": "%s, %s", - "cards.serverLocation.text": "蓝灯专业版会根据独创的算法和你的本地网络状况智能在日本, 新加坡, 香港, 旧金山, 纽约, 阿姆斯特丹, 班加罗尔等地自动选择最快的服务器。", - "cards.serverLocation.text-free": "蓝灯智能选择服务器,使您连接至我们最好的数据中心", - "cards.serverLocation.upgrade-link": "升级到蓝灯专业版可以获得更快的上网速度,因为专业版有专供的服务器和优化的访问线路。", - "cards.httpsUpgrades.description": "增加网站安全性", - "cards.httpsUpgrades.title": "增加了 %d 个网站的安全性", - "cards.httpsUpgrades.text": "蓝灯会自动将不安全的HTTP链接升级成为加密的HTTPS链接以保证您在访问网站时的信息安全。蓝灯的服务器也无法知道HTTPS链接的内容。", - "cards.adsBlocked.description": "广告拦截", - "cards.adsBlocked.title": "已拦截 %d 个广告", - "cards.adsBlocked.text": "蓝灯会阻止侵入式广告,加快网页加载速度,节省带宽,为您提供更为流畅的浏览体验。", - "cards.dataUsage.description": "数据用量", - "cards.dataUsage.upgrade": "现在升级", - "cards.dataUsage.mb-used": "您已使用本月%d/%dMB高速流量", - "cards.dataUsage.upgrade-link": "升级到专业版可无限量的高速浏览!", - "cards.subscription.description": "专业版购买", - "cards.subscription.renew": "续期", - "cards.subscription.months": "您的蓝灯专业版订阅还有%d个月剩余", - "cards.subscription.days": "您的蓝灯专业版订阅还有%d天剩余", - "cards.subscription.unit.months": "个月", - "cards.subscription.unit.days": "天", - "cards.subscription.renew-link": "续期您的订阅来增加更多使用时间", - "auth.email": "电子邮件", - "auth.username": "用户名", - "auth.username.or.email": "用户名或邮箱", - "auth.signin": "登录", - "current.password": "当前密码", - "new.password": "新密码", - "auth.change.password": "修改密码", - "confirm.new.password": "确认新密码", - "auth.password": "密码", - "auth.have.recovery.phrase": "Have a Recovery Phrase?", - "auth.forgot.password": "忘记或没有密码?", - "auth.create.account": "创建账号", - "auth.missing.username": "缺失用户名", - "auth.missing.current.password": "缺失当前密码", - "auth.missing.new.password": "缺失新密码", - "auth.missing.confirm.password": "缺失再次确认密码", - "invalid_credentials": "无效凭证", - "yinbi.wallet": "隐币钱包", - "create.wallet": "开通钱包", - "new.to.yinbi": "第一次来到隐币?", - "setup.wallet": "是,开通隐币钱包", - "web.wallet": "否,我已经通过网站Yin.bi注册了钱包", - "yinbi.next": "下一步", - "yinbi.amount": "金额", - "yinbi.missing.address": "未提供接收钱包地址", - "yinbi.missing.amount": "未填写具体金额", - "yinbi.missing.email": "未填写具体邮箱", - "yinbi.missing.username": "未填写用户名", - "yinbi.missing.password": "未填写密码", - "yinbi.invalid.address": "{{destination}} 不是一个有效的恒星币地址", - "yinbi.send": "发送", - "yinbi.to": "支付到:", - "yinbi.try_again": "重新尝试?", - "yinbi.success.transaction": "交易成功!", - "yinbi.failure.transaction": "交易失败", - "yinbi.confirm.transaction": "确认交易", - "yinbi.sent.details": "您将支付{{amount}} YNB到 {{destination}}", - "yinbi.sent.failure.details": "您的交易因如下原因失败:", - "yinbi.recipient": "接收方", - "yinbi.available.send": "您有 {{balance}} YNB 可供支付", - "yinbi.wallet.header": "钱包", - "yinbi.send.header": "支付隐币", - "yinbi.recovery.phrase": "隐币恢复助记词", - "yinbi.recover.account": "输入或复制您的隐币助记词以恢复您的隐币钱包及蓝灯账户", - "yinbi.recovery.desc": "如果您希望同时登入隐币钱包和蓝灯账户,请使用此方法", - "yinbi.redeem.codes": "批量兑换隐币", - "yinbi.obtain.codes": "批量获取隐币兑换码请到 reseller.lantern.io", - "yinbi.receive.header": "接收隐币", - "yinbi.this.is.your.wallet": "这是您的隐币钱包地址,他人可通过这个地址向您支付隐币", - "yinbi.your.address": "您的地址", - "yinbi.no.activity.header": "无交易记录", - "yinbi.upgrade.pro.button": "升级到专业版即可免费获取隐币", - "yinbi.renew.pro.button": "专业版续费可免费获赠隐币", - "yinbi.wallet.activity_header": "交易", - "yinbi.wallet.send": "发送", - "yinbi.wallet.receive": "接收", - "yinbi.wallet.balance": "余额", - "yinbi.wallet.getlantern.pro": "获取蓝灯专业版+赠送隐币", - "yinbi.redemption.codes": "隐币兑换码", - "redeem_codes.title": "兑换隐币", - "redeem_codes.redeem_button_text": "兑换", - "redeem_codes.cancel_button_text": "取消", - "redeem_codes.success": "成功", - "redeem_codes.errors.missing_codes": "无效的兑换码", - "redeem_codes.errors.invalid_codes": "错误,请检查标记的兑换码是否正确。\n划掉的兑换码已经过期且不能用于兑换隐币。", - "yinbi.new.account.text": "您的交易收支记录将会显示在这里。", - "yinbi.createAccount": "创建账号", - "yinbi.confirm.account.text": "请确保您正确记下了助记词,并输入如下单词", - "create_account.invalid_words.error": "这个单词与提供的助记词不符", - "yinbi.recovery_text": "这是您的隐币钱包恢复助记词。如果您忘记了密码,这是恢复您的隐币钱包的唯一方式\n建议使用密码管理器或打印存储这些助记词。", - "yinbi.recovery_confirm_text": "这是您的隐币钱包恢复助记词。如果您忘记了密码,这是恢复您的隐币钱包的唯一方式\n建议使用密码管理器或打印存储这些助记词。", - "yinbi.import.wallet": "Import Wallet", - "yinbi.setup.wallet": "Set up Wallet", - "yinbi.importWallet": "导入Yin.bi 钱包", - "yinbi.import.wallet.continue": "Continue to Your Wallet", - "yinbi.import.wallet.success": "Import Wallet Success!", - "yinbi.wallet.text": "使用隐币钱包,您可以创建或登录账户,或导入通过Yin.bi注册的隐币钱包。", - "yinbi.wallet.pro.text": "使用隐币钱包,您可以创建新账户,或导入通过Yin.bi注册的隐币钱包。", - "yinbi.recovery_subheader": "隐币钱包恢复助记词", - "yinbi.import_wallet.subheader": "导入隐币钱包", - "yinbi.import_wallet.text": "将隐币钱包整合到蓝灯,请输入您的隐币密码", - "yinbi.import_wallet.success": "已经成功导入您的隐币钱包,请输入邮箱完成注册", - "yinbi.import_wallet.success_subheader": "钱包导入成功!", - "yinbi.import_wallet.button": "导入Yin.bi 钱包", - "yinbi.import_wallet.success_button": "完成注册", - "yinbi.recovery_passphrase.label_text": "恢复助记词", - "yinbi.recovery_passphrase.copy_button_text": "复制", - "terms_of_service.notice": "提醒", - "terms_of_service.i_agree": "我同意", - "platinum": "白金版", - "platinum.one_year": "1 年价格", - "platinum.two_years": "2 年价格", - "platinum.save": "节省高达 {{savings}}%!", - "platinum.unlimited": "无限流量", - "platinum.logs": "无服务器记录", - "platinum.devices": "支持3个设备", - "platinum.everything_in_pro": "专业版中包含所有内容", - "platinum.faster_data": "速度更快", - "platinum.dedicated": "专线", - "platinum.reliability": "更可靠", - "platinum.platinum_one_year": "蓝灯白金版 1 年", - "platinum.platinum_two_years": "蓝灯白金版 2 年", - "platinum.pro_one_year": "蓝灯专业版 1 年", - "platinum.pro_two_years": "蓝灯专业版 2 年", - "platinum.total": "总计", - "platinum.free": "免费", - "platinum.credit.days": "+ {{ days }} 天", - "platinum.credit.months": "{{ months }} 月", - "platinum.upgrade": "升级为白金版", - "platinum.upgrade_details": "专线 + 更快的数据中心!", - "platinum.unused_time_disclaimer": "专业版用户升级到白金版后,将看到他们转换后的专业版订阅被列为上面的新增时间。", - "p2p.opt_in_description": "Use your internet to help people access the internet uncensored", - "p2p.active_sharing_description": "Your internet sharing is on", - "p2p.dialog.title": "Share internet access", - "p2p.dialog.text.1": "Help others with restricted access to the internet by sharing your connection. By allowing access to your internet, you will be part of a network of volunteers that makes the internet more open.", - "p2p.dialog.text.2": "Sharing will not compromise your identity or safety. You can stop sharing your internet whenever you want.", - "p2p.dialog.yes_button": "YES, START SHARING", - "p2p.dialog.no_button": "CANCEL", - "p2p.banner.introducing": "INTRODUCING", - "top_sites.top_sites": "热门网站" -} \ No newline at end of file diff --git a/locale/translation/zh-HK.json b/locale/translation/zh-HK.json deleted file mode 100644 index 21463c417..000000000 --- a/locale/translation/zh-HK.json +++ /dev/null @@ -1,632 +0,0 @@ -{ - "LANTERN": "藍燈", - "BEAM": "小手電", - "TRAY_STATUS": "狀態:%v", - "TRAY_CONNECT": "連線", - "TRAY_DISCONNECT": "斷線", - "TRAY_SHOW": "顯示%s", - "TRAY_UPGRADE_TO_PRO": "昇級到付費版", - "TRAY_QUIT": "退出%s", - "BACKEND_DATA_TITLE": "No more high speed %s data", - "BACKEND_DATA_MESSAGE": "Please upgrade to Pro to keep using %s at full speed!", - "BACKEND_DATA_PERCENT_TITLE": "Reached %s of your %s data", - "BACKEND_DATA_PERCENT_MESSAGE": "You have used %s of your %s high speed data for the month. Upgrade now!", - "BACKEND_CLICK_LABEL": "Open", - "BACKEND_CLICK_LABEL_OPEN": "Open", - "BACKEND_CLICK_LABEL_HELP": "幫助", - "BACKEND_CLICK_LABEL_GOT_IT": "Got it", - "BACKEND_AUTOUPDATED_TITLE": "Update %s to version %s", - "BACKEND_AUTOUPDATED_MESSAGE": "%s %s has been downloaded. Please restart %s to use it.", - "BACKEND_MITM_INSTALL_CERT": "%s wants to install a custom certificate to improve performance", - "BACKEND_MITM_INSTALL_CERT_WINDOWS_BODY": "Please allow %v to make changes to your system", - "BACKEND_ALERT_TITLE": "Critical alert needs your attention", - "about.content": "藍燈是一個自由免費的應用程式可以傳送快速、可靠與安全的開放網路近用", - "about.faq": "閱讀使用者問答集", - "about.open": "每個人的開放網路", - "about.questions": "問題?", - "about.title": "關於", - "account.add.password": "Add Account Password", - "account.cancel": "取消付費帳號", - "account.recovery": "Account Recovery", - "account.recovery.link.device": "Link Device", - "account.recovery.device.code": "Device Linking Code", - "account.recovery.device.enter.code": "Enter or Paste Device Linking Pin", - "account.recovery.device.instructions.header": "To link this device to your Pro account:", - "account.recovery.device.instructions.step.one": "1. Choose the ‘Link a Device’ option from the Account Management screen item on your Desktop Pro device, or From the menu on you Mobile Pro Device.", - "account.recovery.device.instructions.step.two": "2. Enter the device linking code, and submit.", - "account.recovery.device.instructions.part.three": "*Ensure both devices are running the most recent version of Lantern", - "account.recovery.method": "Please Choose a method to recover your account", - "account.recovery.send.email": "寄出電子郵件", - "account.recovery.submit": "提交", - "account.recovery.success": "Linking Success!", - "account.pro_management": "付費版帳號管理", - "account.free.cap": "每月免費資料流量還剩{{mb}} MB", - "account.free.cap.upgrade": "Upgrade to Pro for unlimited high speed data", - "account.freelink.validFor": "valid for %s", - "account.freelink.desc": "To Authorize this device to use your Pro account:", - "account.freelink.step1": "1. Choose the 'Link a Device' option from the Menu on your Pro Device", - "account.freelink.step2": "2. Enter the device linking code, and submit.", - "account.freelink.reminder": "* Ensure both devices are running the most recent version of Lantern", - "account.freelink.errorTitle": "Error Linking", - "account.freelink.errorText": "Are you sure you entered the code on your Pro device?", - "account.freelink.headerDesc": "Link this device to your Pro account", - "account.freelink.title": "Device Linking Code", - "account.pro.charge": "當付費版帳號快到期前,你將會自動被收取下一年的費用", - "account.upgrade": "昇級到付費版", - "account.create": "Create Account", - "account.email": "電子郵件", - "account.confirm.password": "Confirm Password", - "account.password": "Password", - "account.pro.email": "Email:", - "account.pro.expiration": "Pro Account Expiration", - "account.pro.expired": "Your Pro account has expired. Renew now for Unlimited monthly data.", - "account.pro.expiry": "Your Pro account expires in %s days on %s.", - "account.pro.bonusMonths": "This includes your {{bonusMonths}} bonus months!", - "account.pro.thisdevice": "(This Device)", - "account.pro.logout": "LOG OUT", - "account.pro.removedevice": "REMOVE", - "account.pro.devices": "Lantern Pro Devices (up to 3)", - "account.pro.device.confirm.title": "Deauthorize Device", - "account.pro.device.confirm": "Are you sure you want to remove '{{device}}' from your Lantern Pro account?", - "account.pro.device.one.title": "只有一個設備", - "account.pro.device.one": "Sorry, but you cannot remove your last authorized device.", - "account.pro.linkingcode": "Device Linking Code:", - "account.pro.renew": "RENEW PRO ACCOUNT", - "account.prolink.errorTitle": "Error Linking", - "account.prolink.errorText": "Are you sure you copied the code correctly from your other device?", - "account.prolink.successTitle": "Device Linked", - "account.prolink.successText": "You have successfully linked your device! Please wait a moment for your other device to automatically become pro.", - "account.signin": "登入", - "account.signout": "Sign Out", - "account.submit": "提交", - "account.username": "Username", - "modal.register.free.header": "Register or Sign in to access Yinbi Wallet", - "modal.register.pro.header": "Add account password to access Yinbi Wallet", - "modal.register.free.text": "To use the Yinbi Wallet you must have a Lantern Account, please Register or\nSign in to Continue.", - "modal.register.pro.text": "To use the Yinbi wallet you must add a password to your Lantern account.", - "adyen.paymentMethods.title": "Payment Methods", - "adyen.paymentMethods.storedMethods": "Your payment methods", - "adyen.paymentMethods.otherMethods": "Select other method", - "adyen.paymentMethods.moreMethodsButton": "More payment methods", - "adyen.payButton": "Pay", - "adyen.payButton.formatted": "Pay %@", - "adyen.cancelButton": "取消", - "adyen.dismissButton": "確定", - "adyen.storeDetails": "Save for my next payment", - "adyen.payment.redirecting": "You will be redirected", - "adyen.payment.processing": "Your payment is being processed", - "adyen.creditCard.title": "Card Details", - "adyen.creditCard.holderName": "Cardholder name", - "adyen.creditCard.holderName.placeholder": "J. Smith", - "adyen.creditCard.numberField.title": "卡片號碼", - "adyen.creditCard.numberField.placeholder": "1234 5678 9012 3456", - "adyen.creditCard.numberField.invalid": "Invalid card number", - "adyen.creditCard.expiryDateField.title": "Expiry Date", - "adyen.creditCard.expiryDateField.placeholder": "MM/YY", - "adyen.creditCard.expiryDateField.invalid": "Invalid expiration date", - "adyen.creditCard.expiryDateField.month": "月", - "adyen.creditCard.expiryDateField.month.placeholder": "MM", - "adyen.creditCard.expiryDateField.year.placeholder": "YY", - "adyen.creditCard.expiryDateField.year": "年", - "adyen.creditCard.cvcField.title": "CVC / CVV", - "adyen.creditCard.cvcField.placeholder": "123", - "adyen.creditCard.installmentsField": "Number of installments", - "adyen.creditCard.storeDetailsButton": "Remember this card for my next payment", - "adyen.creditCard.oneClickVerification.title": "Verify your card", - "adyen.creditCard.oneClickVerification.message": "Please enter the CVC code for %@", - "adyen.creditCard.oneClickVerification.invalidInput.title": "Invalid CVC", - "adyen.creditCard.oneClickVerification.invalidInput.message": "Please enter a valid CVC to continue.", - "adyen.sepaDirectDebit.ibanField.title": "Account Number (IBAN)", - "adyen.sepaDirectDebit.ibanField.placeholder": "NL53 ABNA 1925 1294 122", - "adyen.sepaDirectDebit.ibanField.invalid": "Invalid account number", - "adyen.sepaDirectDebit.nameField.title": "Holder Name", - "adyen.sepaDirectDebit.nameField.placeholder": "J. Smith", - "adyen.sepaDirectDebit.consentButton": "I agree that the amount below will be debited from my bank account.", - "adyen.sepa.ownerName": "Holder Name", - "adyen.sepa.ibanNumber": "Account Number (IBAN)", - "adyen.giropay.searchField.placeholder": "Bankname / BIC / Bankleitzahl", - "adyen.giropay.minimumLength": "Min. 3 characters", - "adyen.giropay.noResults": "No search results", - "adyen.error.title": "錯誤", - "adyen.error.subtitle.redirect": "Redirect failed", - "adyen.error.subtitle.payment": "Payment failed", - "adyen.error.subtitle.refused": "Payment refused", - "adyen.error.message.unknown": "An unknown error occurred", - "adyen.error.message.cannotConnectToInternet": "Failed to connect to the internet : please check your internet connection.", - "adyen.error.message.cannotConnectToHost": "Failed to connect to our payment server.", - "adyen.error.retryButton": "Try again", - "adyen.idealIssuer.selectField.title": "Bank", - "adyen.idealIssuer.selectField.placeholder": "Select your bank", - "adyen.creditCard.success": "Payment Successful", - "adyen.oneClick.confirmationAlert.title": "Confirm %@ payment", - "adyen.redirect.cannotOpenApp.title": "Cannot Open App", - "adyen.redirect.cannotOpenApp.appNotInstalledMessage": "This app could not be opened because it is not installed on this device.", - "adyen.holderName": "Cardholder name", - "adyen.countryCode": "Country Code", - "adyen.telephone.number": "Telephone number", - "authorize.title": "授權付費版的設備", - "authorize.step1.have_pro_device": "I have another Lantern Pro device", - "authorize.step1.link": "Device Linking", - "authorize.step1.email_linking": "Email Linking", - "authorize.device_linking_explanation": "Use this method if you are signed into another device and have it with you", - "authorize.device_email_explanation": "Use this method if you want a Device linking pin sent to your email", - "authorize.link_device": "Link Device", - "authorize.step1.choose": "Please choose a method to Link your account", - "authorize.step1.or": "或", - "authorize.step1.recover": "I need to recover my Lantern Pro account", - "authorize.step1.start": "start recovery", - "authorize.step1.no_mail": "Don't remember your Email address?", - "authorize.step1.description": "Enter your email and if the account exists we will send an email with a device linking code", - "authorize.step2b.enter_code": "Enter your Account Recovery Code", - "authorize.step2b.code": "Account Recovery Code", - "authorize.step2b.instruction": "An Email with a recovery code has been sent to {{email}} if this account exists. This email may take several hours to arrive. Please check your spam folder if you do not find it.", - "authorize.step2b.no_mail": "Didn't receive email", - "authorize.step3.recovery": "Account Recovery", - "authorize.step3.no_email": "Oops! We're having trouble finding that email address. Please provide more information below to help us locate your account.", - "authorize.step3.no_code_received": "Having trouble receiving the recovery email? Enter the information below and we will contact you within 48 hours.", - "authorize.step3.your_email": "你的電子郵件", - "authorize.step3.payment_method": "Payment Method", - "authorize.step3.payment_method_hint": "Select the payment method you used to get Pro", - "authorize.step3.credit_card": "Credit Card", - "authorize.step3.alipay": "AliPay", - "authorize.step3.android_pay": "Android Pay", - "authorize.step3.by_referral": "Received Pro by Referring a friend", - "authorize.step3.payment_account": "Payment Account", - "authorize.step3.payment_account_hint": "Enter your Alipay account information", - "authorize.step3.referral_code": "你的邀請碼", - "authorize.step3.purchase_date": "Purchase Date", - "authorize.step3.note": "Please note any other information that may help us locate your account.", - "authorize.step4.title": "Account Recovery In-Progress", - "authorize.step4.text1": "Thank you! We've received your account recovery request.", - "authorize.step4.text2": "Please allow 48 hours to retrieve your Pro account information.", - "authorize.step4.text3": "We will send information to the email address entered on the previous screen.", - "authorized.continue": "繼續使用付費版", - "authorized.text": "這個設備已被授權使用專業付費版Lantern", - "authorized.title": "裝置已授權", - "button.renew": "Renew", - "button.upgrade": "㫒級 ", - "button.upgrade_now": "Upgrade Now", - "button.upgrade_to_lantern_pro": "昇級到付費版", - "button.copy_your_code": "複制代碼", - "button.try_again": "Try again", - "button.continue": "繼續", - "bullet.click_button": "點擊下方按鈕", - "bullet.paste_code": "貼上代碼並下載訊息中的連結網址", - "bullet.send_to_friends": "寄送給好友", - "cancel": "取消", - "confirm": "Confirm", - "norecoveryyinbi": "*Does not recover Yinbi Wallet", - "email.recovery.check.email": "Check your email for a message with a Recovery Code", - "email.recovery.code.label": "Enter or Paste Recovery Code", - "email.recovery.no.code": "Didnt get a Code?", - "email.recovery.text": "Enter your email, and we will send you a code to reset your password.\nIf you have a Yinbi Wallet, this will NOT recover your Yinbi wallet, to recover your Yinbi Wallet enter your Yinbi Recovery Phrase.", - "email.recovery.desc": "Use this method if you want a recovery code sent to your email", - "device.recovery.desc": "Use this method if you are signed in to another device and have it with you", - "google_search": "Google Search", - "giveaway.upgrade": "Upgrade to receive today's free distribution", - "giveaway.title_released_today": "%s YNB being released today", - "giveaway.what_is_it": "What is the Yinbi Giveaway?", - "giveaway.description1": "The Yinbi foundation is giving away 888 billion YNB cryptocurrency exclusively through Lantern to purchasers of Lantern Pro.", - "giveaway.description2": "YNB will be distributed at the end of every day, based on the quantity of Yinbi released that day, the number of people that upgrade/renew, and the number of years or accounts you purchase. YNB will be deposited directly into your Yinbi Wallet in Lantern.", - "giveaway.learn_more": "Learn More", - "link_device": "Already have a Pro account? Link device", - "email.recovery": "Email Recovery", - "email_taken": "Email already registered", - "username_taken": "Username already registered", - "err.unknown_error": "不明的錯誤", - "err.internal_error": "內部出錯", - "err.bad_input": "不正確的輸入", - "err.not_authorized": "未授權", - "err.user_exists": "帳號已存在", - "err.no_such_user": "本帳號不存在", - "err.user_already_verified": "用戶已認證", - "err.invalid_user_verification": "無效的用戶認證", - "err.user_unverified": "用戶未認證", - "err.operation_temporarily_unavailable": "服務暫時無法使用", - "err.wrong_or_inexistent_plan": "錯誤或不存在的計畫", - "err.user_has_active_subscription": "用戶有效訂閱", - "err.payment_error": "付款出錯", - "err.no_codes_left": "未有邀請碼", - "err.wrong_code": "錯誤的邀請碼", - "err.redeeming_own_code_not_allowed": "無法事後填補邀請碼", - "err.wrong_charge_id": "錯誤的支付代號", - "err.invalid_credentials": "The supplied user credentials were invalid", - "footer.reseller": "Make Money! Become a Lantern Pro reseller. Click Here", - "footer.reseller.email_subject": "Tell me about the Lantern Reseller Program!", - "footer.reseller.email_body": "When you become a Lantern Reseller you will have the opportunity to make up to 25% on every sale of a Lantern Pro subscription. Tell us a bit about why you want to become a reseller below.", - "feature.faster_speed": "更快速度", - "feature.faster": "Faster data centers", - "feature.unlimited": "無流量限制", - "feature.nologs": "No Logs", - "feature.devices": "Connect up to 3 devices", - "feature.noads": "No Ads", - "feature.antiblock": "Blocking Resistant", - "feature.data_center": "Better Data Centers", - "feature.free_yinbi": "Free Yinbi Cryptocurrency!", - "free.title": "Lantern 付費專業版", - "free.desc": "Faster. Stronger. Unlimited. Secure.", - "free.link_account": "Already have a Pro account? Link your account.", - "home.get_lantern_pro": "取得Lantern 付費專業版", - "input.email": "電子郵件", - "input.your_email": "Your Email Address", - "input.confirm_email": "Confirm Email Address", - "input.enter_email": "Enter your email", - "input.use_valid_email": "輸入一個有效的電子信箱位址", - "input.email_not_match": "Email fields do not match", - "issue.your_email": "你的電子郵件", - "issue.attach_image_failure": "Cannot attach image", - "issue.try_again": "請重試一次", - "issue.select_issue": "Please Select an Issue", - "issue.selected_issue": "Select Issue", - "issue.select_issue_hint": "Select an issue from the dropdown menu", - "issue.note": "Describe your Issue", - "issue.description": "Issue Description", - "issue.error": "Error reporting issue", - "issue.submit": "Send Report", - "issue.report_screenshot": "Drag image or click to upload screenshot", - "issue.reported": "Thank you for reporting your issue, we will get back to you via Email as soon as we are able", - "issue.report_sent": "Report Sent", - "issue.type.no_access": "Cannot access blocked sites", - "issue.type.payment_fail": "Cannot complete the payment", - "issue.type.cannot_login": "Cannot log in", - "issue.type.always_spinning": "Loading spinner spins endlessly", - "issue.type.slow": "Slow", - "issue.type.cannot_link_device": "Cannot link devices", - "issue.type.crashes": "Lantern crashes", - "issue.type.other": "Other", - "languages.title": "語言", - "lantern.email": "Lantern Email", - "mobile.link": "Use the link to download Lantern on your Android device:", - "mobile.title": "Get Android Version", - "nav.about": "關於", - "nav.account": "帳號管理", - "nav.authorize": "Add Device", - "nav.authorized": "裝置已授權", - "nav.unauthorized_link": "授權付費版的設備", - "nav.language": "語言", - "nav.lantern": "Lantern", - "nav.mobile": "取得行動版", - "nav.report_issue": "回報問題", - "nav.settings": "設定", - "nav.verify": "帳號認證", - "nav.yinbi": "Yinbi Redemption", - "nav.home": "Home", - "nav.discover": "Discover", - "nav.wallet": "Wallet", - "nav.yinbi_wallet": "Yinbi Wallet", - "notification.retry": "重是", - "password.change": "Change Password", - "password.changed": "Password Changed", - "continue.to.pro": "繼續使用付費版", - "username": "Username", - "password.new": "New Password", - "password.requirements": "
Password must contain the following:
  • 8 or more characters
  • 1 lowercase letter
  • 1 uppercase letter
  • At least 1 number
  • Not on a list of compromised passwords
", - "password.reset": "Reset Password", - "notifications.whatisnew": "What's New?", - "payment.close": "關閉", - "payment.wait_for_pro": "Thanks for your purchase of Lantern Pro! Please wait a moment for your Lantern to automatically become Pro.", - "payment_methods.select_name": "Select payment method", - "payment_methods.alipay": "Credit Card/Alipay", - "payment_methods.shetab": "Fast World Pay (Shetab)", - "payment_methods.shetab.details.header": "To purchase Lantern Pro", - "payment_methods.shetab.details.body": "When you click continue to purchase you will be redirected to an external site to complete payment and collect your activation code.", - "payment_methods.shetab.details.tutorial_header": "Farsi tutorial", - "payment_methods.shetab.details.purchase_voucher_button": "Continue To Purchase", - "payment_methods.shetab.details.input_code_button": "Input Activation Code", - "plan.step1": "Step 1", - "plan.apply": "Apply", - "plan.step2": "Step 2", - "plan.most_popular": "Most Popular!", - "plan.step3": "Step 3", - "plan.choose_plan": "Choose Plan", - "plan.enter_email": "Enter Email", - "plan.bestValue": "Best Deal!", - "plan.per_month": "per month", - "plan.yinbi_2x": "+ 2x Yinbi!", - "plan.oneYear": "1 year", - "plan.add_referral": "Add Referral Code", - "plan.years": "{{years}} year plan", - "plan.desc": "{{price}} billed one time", - "plan.price.cny": "¥%.02f", - "plan.price.usd": "$%.02f", - "plan.currency.cny": "(RMB)", - "plan.currency.usd": "(USD)", - "plan.time_unit": "/YR", - "plan.select": "選擇", - "plans.title": "Lantern 付費專業版方案", - "plans.lantern_pro": "Lantern 付費專業版", - "plans.platforms": "For Windows, Android, Mac, Ubuntu.", - "plans.from_reseller": "Have a Lantern Pro activation code? Click here", - "plans.with_voucher_code": "Have an activation code? Click here.", - "pro.apply": "你的優惠點數可以在下回帳單中使用", - "pro.title": "Invite friends, get more Pro for free", - "pro.subtitle": "When your friend purchases the two year plan you each get 3 additional months of Pro, the one year plan gets you each 1 month free.", - "pro.share": "分享你的邀請給好友以賺得更多優惠點數", - "promotion.title": "取得Lantern 付費專業版付款", - "promotion.title.activation": "Lantern Pro Activation", - "promotion.enter_and_confirm_email": "Please enter and confirm your email address", - "promotion.code.hint": "Enter your friend's Referral code (optional)", - "promotion.code.label": "邀請碼", - "promotion.payment": "Continue to Payment", - "promotion.loading": "Loading...", - "promotion.howto_1y": "If a friend shared their referral code with you, enter the code to receive one month of Lantern Pro for free after checkout.", - "promotion.howto_2y": "If a friend shared their referral code with you, enter the code to receive three months of Lantern Pro for free after checkout.", - "promotion.pay": "支付 {{amount}}", - "promotion.select": "選擇", - "promotion.promotion_applied_1y": "+1 bonus months", - "promotion.promotion_applied_2y": "+3 bonus months", - "promotion.too_many_referrals": "This referral code has already been added. Check out now to receive your extra months.", - "promotion.activation.enter_and_confirm_email": "Please enter and confirm your email address to register your Lantern Pro account.", - "promotion.activation.label": "XXXXX-XXXXX-XXXXX-XXXXX-XXXXX", - "promotion.activation.hint": "Activation Code", - "promotion.activation.instructions": "Enter your email and the 25 digit activation code received from the reseller to register your account.", - "promotion.activation.howto": "Please enter your 25 character Lantern Pro activation code above. If you do not have a code, please purchase Pro on the previous screen or look for a Lantern Pro reseller online.", - "promotion.activation.continue": "Register for Pro", - "promotion.voucher.hint": "Activation Code", - "promotion.voucher.howto": "Please enter your 12 character Fast World Pay activation code above", - "promotion.voucher.label": "XXXXXXXXXXXX", - "promotion.voucher.error.default": "Error redeeming your activation code. Please contact contact@fastworldpay.com for assistance.", - "promotion.voucher.error.invalid_code": "Invalid activation code", - "promotion.voucher.error.invalid_plan": "Activation code associated with an invalid plan", - "promotion.voucher.error.already_redeemed": "Activation code has already been redeemed", - "referral.code": "Referral code", - "referral.text": "使用邀請碼 %s 註冊後可以得到3個月免費專業版試用!", - "referral.description_free": "Share Your code with your friends, and get 1 month of Lantern Pro service for free when they Purchase Pro!", - "referral.description_pro": "Share Your code with your friends and get 1 month of Additional Lantern Pro service for free when they Purchase Pro!", - "register": "Register", - "renew.title_30_days": "Renew now for 3 months free!", - "renew.title_2_days": "Lantern Pro expires tomorrow.\nRenew now for 3 months free!", - "renew.title_last_day": "Lantern Pro expires today.\nDon't miss out on your Pro discount!", - "renew.title_expired": "Lantern Pro has expired", - "renew.details_30_days": "Your Lantern Pro membership is ending soon, renew now and enjoy up to three months free! This limited time offer is only valid for early renewals.", - "renew.details_2_days": "Your Lantern Pro membership is ending soon, renew now and enjoy up to three months free! This limited time offer is only valid for early renewals.", - "renew.details_last_day": "Renew now and enjoy up to three months free!\nThis is the last day to take advantage of this offer.\nLantern Pro users get faster speeds, unlimited data, better blocking resistance, three devices and no ads.", - "renew.details_expired": "Renew now for an extra 45 days free. Limited time only.\nLantern Pro users get faster speeds, unlimited data, better blocking resistance, three devices and no ads.", - "renew.plan_label": "Lantern Pro - %s", - "renew.plan_renewal_bonus_1_month": "$%d%s + 1 FREE MONTH", - "renew.plan_renewal_bonus_months": "$%d%s + %d FREE MONTHS", - "renew.plan_renewal_bonus_days": "$%d%s + %d FREE DAYS", - "renew.next": "next", - "renew.decline": "Decline Offer", - "renew.decline_question": "Are you sure you want to decline this offer?", - "renew.decline_yes": "Renew later", - "renew.decline_dismiss": "Renew now", - "renew.notification_title_30_days": "Renew Pro now for huge savings!", - "renew.notification_text_30_days": "Your Lantern Pro account expires in {{days}} days. Renew now and get up to 3 months free.", - "renew.notification_title_2_days": "Lantern Pro discount ends tomorrow!", - "renew.notification_text_2_days": "Your Pro account expires tomorrow. Don’t miss this opportunity for a huge discount.", - "renew.notification_title_last_day": "Last chance for a discount!", - "renew.notification_text_last_day": "Your Lantern pro account has expired. Renew today and get up to 3 months free.", - "replica.upload": "Upload", - "replica.relevance": "Relevance", - "replica.upload_date": "Upload Date", - "replica.gallery_view": "Gallery View", - "replica.list_view": "List View", - "replica.copy_lantern_link": "Copy Lantern Link", - "replica.docs": "文件", - "replica.other": "Other", - "replica.apps": "Apps", - "replica.images": "Images", - "replica.upload_alert.dont_show": "Don't show this again", - "replica.upload_alert.cancel": "Cancel Upload", - "replica.upload_alert.resume": "Resume Upload", - "replica.upload_alert.info": "Important Information!", - "replica.upload_alert.desc1": "Files uploaded to Lantern are distributed and decentralized. Once they are accessed by another user they cannot be deleted from the network by anyone, including Lantern, even if they are deleted from your 'My Files' list.", - "replica.upload_alert.desc2": "Please refrain from using personal identifying information in the file or filename when uploading sensitive content.", - "replica.videos": "Videos", - "replica.next": "Next", - "replica.previous": "Previous", - "replica.select_all": "Select All", - "replica.search_replica": "搜尋", - "replica.no_files_found": "No Files Found", - "replica.or_content": "your own content for other people to find!", - "replica.try_again": "Try a different keyword, or", - "replica.upload_success": "Upload Success!", - "replica.cannot_preview": "No preview for this filetype", - "replica.size": "Size", - "replica.uploaded": "Uploaded", - "replica.invalid_link": "Invalid Link", - "replica.close": "關閉", - "replica.my_files": "My Files", - "replica.filename": "File Name", - "replica.filename_required": "File Name (required)", - "replica.filetype": "Filetype", - "replica.sortby": "Sort By", - "replica.link": "Replica link", - "replica.collapse": "Collapse", - "replica.publish": "Publish", - "replica.cancel": "取消", - "replica.delete": "Delete", - "replica.delete_file": "Delete File", - "replica.failed_to_delete": "Failed to delete", - "replica.link_lookup_failure": "Failed to find link", - "replica.delete_file_confirmation_1": "Are you sure you want to delete", - "replica.delete_file_confirmation_2": "從您的上傳", - "replica.share_file": "Share File", - "replica.download_and_view": "Download/View", - "replica.download": "下載", - "replica.copy_link": "Copy Replica Link", - "replica.find_file": "Find file", - "replica.file_drop_prompt": "將文件拖到此處或瀏覽進行上傳", - "settings.general": "一般", - "settings.feedback": "意見回饋", - "settings.autoLaunch": "Run Lantern on system start", - "settings.autoReport": "安全地回報使用統計數據以改進藍燈", - "settings.proxyAll": "代理所有流量", - "settings.proxyAllHelpTitle": "WHAT DOES \"PROXY ALL TRAFFIC\" DO?", - "settings.proxyAllHelp1": "If enabled, all traffic will be sent through Lantern (most Secure option).", - "settings.proxyAllHelp2": "If disabled, only blocked traffic will be sent through Lantern (fastest option, most common).", - "settings.show_advanced": "顯示高級設置", - "settings.hide_advanced": "隱藏高級設置", - "settings.systemProxy": "管理系統代理", - "settings.title": "設定", - "settings.http_proxy": "HTTP(S) 代理:", - "settings.socks_proxy": "SOCKS 代理:", - "settings.caution": "Caution:", - "settings.caution_text": "When you uncheck \"Manage system proxy\" your browser and applications won't be able to use Lantern automatically. If you know how to manually configure these settings refer to the information above.", - "settings.select_language": "選擇語言", - "status.lantern": "Lantern is", - "status.click_reconnect": "Click here to reconnect", - "status.server_location": "伺服器位置", - "status.tooltip1": "Lantern uses smart server selection to connect you to our best data centers.", - "status.tooltip2": "Upgrade to Lantern Pro for faster speed with optimized server selection from our exclusive Lantern Pro data centers", - "status.protected_connection": "Your Connection is Protected", - "status.please_wait": "This may take a minute or two...", - "status.connecting": "連線中...", - "status.no_internet": "已斷線", - "status.no_internet_connection": "No Internet connection", - "status.connected": "已連線", - "status.disconnected": "已斷線", - "status.throttled": "Speed Throttled (Data Cap)", - "status.no_system_proxy": "{{status}}, not managing system proxy", - "status.fail_to_set_system_proxy": "Failed to set Lantern as system proxy", - "status.fail_to_open_browser": "Failed to open browser window to show the Lantern user interface", - "terms_of_service.acknowledgment": "By clicking {{buttonText}}, you agree to our Terms of Service", - "terms_of_service.replica": "By Searching, uploading or using our products in any way, you agree to our Terms of Service, Privacy Policy and DMCA Policy", - "top_sites.google": "Google", - "top_sites.twitter": "Twitter", - "top_sites.youtube": "Youtube", - "top_sites.facebook": "Facebook", - "top_sites.wikipedia": "Wikipedia", - "verify.header": "Enter or Paste Device Linking Pin", - "verify.code": "Device Linking Code", - "verify.howto_1": "If you have a Lantern Pro account on another device, please enter your e-mail address here to receive a code to authorize the device", - "verify.howto_1a": "You're currently an unauthorized Pro user. Please enter your e-mail address to authorize your Pro account. This will enable you to link multiple devices.", - "verify.howto_2": "To Link a Device to your Pro Account:", - "verify.howto_3": "1. Choose ‘Authorize Device for Pro from the Menu of your other device.", - "verify.howto_4": "2. Enter the linking pin obtained from step 1, and submit.", - "verify.reminder": "*Ensure both devices are running the most recent version of Lantern", - "verify.enter_pin": "Enter or Paste Device Linking Pin", - "verify.submit": "提交", - "verify.title": "帳號認證", - "welcomeToPro.continue": "繼續使用付費版", - "welcomeToPro.invite": "邀請朋友加入,當你介紹的朋友購買了二年份的方案,你將可免費取得 3個月的專業版使用優惠,若友人購買一年份方案你則取得 1個月專業版優惠。立馬邀請!", - "welcomeToPro.thanks": "感謝購買Lantern付費專業版", - "welcomeToPro.title": "歡迎來到 Lantern Pro!", - "welomeToPro.title_exclamation": "歡迎來到 Lantern Pro!", - "welcomeToPro.description": "You now have unrestricted access to blocked sites and services", - "messages.copied_to_clipboard": "Code Copied. Share it with your friends!", - "messages.datacap": "You have used your free high speed data. Upgrade to Pro for unlimited high speed data.", - "messages.fatal_error": "Sorry, we're having trouble contacting the Lantern servers. Please check your internet connection and try again.", - "messages.backend_gone": "Sorry, Lantern appears to no longer be running. Please restart Lantern and try again.", - "messages.get_help": "獲取幫助", - "freeProCredits.title": "邀請朋友加入", - "freeProCredits.shareWithFriends": "Share your code with friends to earn free months!", - "freeProCredits.shareWithFriendsDesc": "When your friend purchases the two year plan you will each get 3 months free, the one year plan gets you each 1 month free.", - "cards.serverLocation.unknown": "Unknown", - "cards.serverLocation.description": "優化的伺服器位置", - "cards.serverLocation.description-free": "伺服器位置", - "cards.serverLocation.description-upgrade": "Upgrade for Faster Servers", - "cards.serverLocation.title": "當前位置:", - "cards.serverLocation.location": "%s, %s", - "cards.serverLocation.text": "Lantern uses smart server selection to automatically find you the fastest connection possible from our data centers in Tokyo, Singapore, Hong Kong, San Francisco, New York, Amsterdam, Bangalore and more.", - "cards.serverLocation.text-free": "Lantern uses smart server selection to connect you to our best data centers.", - "cards.serverLocation.upgrade-link": "Upgrade to Lantern Pro for faster speed with optimized server selection from our exclusive Lantern Pro data centers.", - "cards.httpsUpgrades.description": "HTTPS Upgrades", - "cards.httpsUpgrades.title": "HTTPS Upgrades: %d", - "cards.httpsUpgrades.text": "Lantern automatically upgrades unsecure HTTP connections to encrypted HTTPS connections when possible to keep your information private while surfing the web.", - "cards.adsBlocked.description": "Ads Blocked", - "cards.adsBlocked.title": "Blocked Ads: %d", - "cards.adsBlocked.text": "Lantern blocks intrusive ads to speed up web page loading time, save bandwidth, and to give you a smoother browsing experience.", - "cards.dataUsage.description": "Data Usage", - "cards.dataUsage.upgrade": "Upgrade now", - "cards.dataUsage.mb-used": "You have used %d/%dMB of your monthly high speed data.", - "cards.dataUsage.upgrade-link": "Upgrade now for unlimited high speed service!", - "cards.subscription.description": "Pro Subscription", - "cards.subscription.renew": "Renew", - "cards.subscription.months": "You have %d months of Lantern Pro left in your subscription.", - "cards.subscription.days": "You have %d days of Lantern Pro left in your subscription.", - "cards.subscription.unit.months": "MO", - "cards.subscription.unit.days": "DAYS", - "cards.subscription.renew-link": "Renew your subscription to add more time.", - "auth.username.or.email": "Username or Email", - "auth.signin": "登入", - "current.password": "Current Password", - "new.password": "New Password", - "auth.change.password": "Change Password", - "confirm.new.password": "Confirm New Password", - "auth.password": "Password", - "auth.forgot.password": "Forgot or do not have password?", - "auth.create.account": "Create Account", - "auth.missing.username": "Missing username", - "auth.missing.current.password": "Missing current password", - "auth.missing.new.password": "Missing new password", - "auth.missing.confirm.password": "Missing confirm password", - "invalid_credentials": "Invalid Credentials", - "yinbi.wallet": "Yinbi Wallet", - "create.wallet": "Create Wallet", - "new.to.yinbi": "New to Yinbi?", - "setup.wallet": "Yes, lets set up a new wallet!", - "web.wallet": "No, I have a Wallet on the Yin.bi Website", - "yinbi.next": "Next", - "yinbi.amount": "Amount", - "yinbi.missing.address": "No destination address provided", - "yinbi.missing.amount": "No amount specified", - "yinbi.missing.email": "No email address specified", - "yinbi.missing.username": "No username specified", - "yinbi.missing.password": "No password specified", - "yinbi.invalid.address": "{{destination}} is not a valid Stellar address", - "yinbi.send": "傳送", - "yinbi.to": "To:", - "yinbi.try_again": "Try again?", - "yinbi.success.transaction": "Transaction Successful!", - "yinbi.failure.transaction": "Transaction Failed", - "yinbi.confirm.transaction": "Confirm Transaction", - "yinbi.sent.details": "You sent {{amount}} YNB to {{destination}}", - "yinbi.sent.failure.details": "Your Transaction failed for the following reasons:", - "yinbi.recipient": "Recipient", - "yinbi.available.send": "You have {{balance}} YNB available to send", - "yinbi.wallet.header": "Wallet", - "yinbi.send.header": "Send Yinbi", - "yinbi.recovery.phrase": "Yinbi Recovery Phrase", - "yinbi.recover.account": "Enter or Paste your Yinbi Recovery Phrase to recover your Yinbi Wallet, and Lantern account", - "yinbi.recovery.desc": "Use this method if you want to sign in to a Yinbi Wallet in addition to your Lantern account", - "yinbi.redeem.codes": "Redeem Bulk Yinbi Codes", - "yinbi.obtain.codes": "Bulk Yinbi Redemption codes can be obtained from reseller.lantern.io", - "yinbi.receive.header": "Receive Yinbi", - "yinbi.this.is.your.wallet": "This is your Yinbi wallet address where people can send you YNB.", - "yinbi.your.address": "Your Address", - "yinbi.no.activity.header": "No Activity", - "yinbi.upgrade.pro.button": "Upgrade to Pro and Get Free Yinbi", - "yinbi.renew.pro.button": "Renew Pro and Get Free Yinbi", - "yinbi.wallet.activity_header": "Activity", - "yinbi.wallet.send": "傳送", - "yinbi.wallet.receive": "Receive", - "yinbi.wallet.balance": "Balance", - "yinbi.wallet.getlantern.pro": "Get Lantern Pro + Free Yinbi", - "yinbi.redemption.codes": "Yinbi Redemption Codes", - "redeem_codes.title": "Redeem Yinbi Codes", - "redeem_codes.redeem_button_text": "Redeem", - "redeem_codes.cancel_button_text": "取消", - "redeem_codes.success": "Success", - "redeem_codes.errors.missing_codes": "No valid codes entered", - "redeem_codes.errors.invalid_codes": "Error, please check the highlighted codes. Crossed out codes are expired and can no longer be redeemed.", - "yinbi.new.account.text": "Once you send or receive Yinbi your transactions will appear here.", - "yinbi.createAccount": "Create Account", - "yinbi.confirm.account.text": "To make sure that you wrote the phrase down correctly, please enter the following words from your recovery phrase", - "create_account.invalid_words.error": "The words entered didn't match those of the recovery passphrase", - "yinbi.recovery_text": "This is your Yinbi Wallet Recovery Phrase. It is the ONLY way to recover your Yinbi Wallet\nin case of a forgotten password. Use a password manager or make a hard copy when\nstoring this phrase.", - "yinbi.recovery_confirm_text": "This is your Yinbi Wallet Recovery Phrase. It is the ONLY way to recover your Yinbi Wallet in case of a forgotten password. Use a password manager or make a hard copy when storing this phrase.", - "yinbi.importWallet": "Import Yin.bi Wallet", - "yinbi.wallet.text": "To access the Yinbi Wallet, you can Create an Account, Sign In or\nImport your wallet from Yin.bi if you have signed up on the Yin.bi\nwebsite before.", - "yinbi.wallet.pro.text": "To access the Yinbi Wallet, you can Create an Account, Import your wallet from Yin.bi if you have signed up before.", - "yinbi.recovery_subheader": "Yinbi Wallet Recovery Phrase", - "yinbi.import_wallet.subheader": "Import Yinbi Wallet", - "yinbi.import_wallet.text": "Sign in using your Yin.bi credentials to transfer your wallet to Lantern", - "yinbi.import_wallet.success": "Your Wallet has been imported successfully please add your email to complete account registration.", - "yinbi.import_wallet.success_subheader": "Import Success!", - "yinbi.import_wallet.button": "Import Yin.bi Wallet", - "yinbi.import_wallet.success_button": "Complete Registration", - "yinbi.recovery_passphrase.label_text": "Recovery Phrase", - "yinbi.recovery_passphrase.copy_button_text": "Copy", - "replica.my_uploads": "我的上載", - "replica.mime_type": "Filetype: {{mime}}", - "replica.image_loading_error": "Error loading image", - "replica.trending_videos": "Trending Videos", - "replica.file_uploaded": "Uploaded: %d days ago", - "replica.file_size": "Size: %s", - "replica.finishing": "Finishing up", - "terms_of_service.notice": "Notice", - "terms_of_service.i_agree": "I agree", - "top_sites.top_sites": "Top Sites" -} \ No newline at end of file diff --git a/locale/translation/zh-TW.json b/locale/translation/zh-TW.json deleted file mode 100644 index 21463c417..000000000 --- a/locale/translation/zh-TW.json +++ /dev/null @@ -1,632 +0,0 @@ -{ - "LANTERN": "藍燈", - "BEAM": "小手電", - "TRAY_STATUS": "狀態:%v", - "TRAY_CONNECT": "連線", - "TRAY_DISCONNECT": "斷線", - "TRAY_SHOW": "顯示%s", - "TRAY_UPGRADE_TO_PRO": "昇級到付費版", - "TRAY_QUIT": "退出%s", - "BACKEND_DATA_TITLE": "No more high speed %s data", - "BACKEND_DATA_MESSAGE": "Please upgrade to Pro to keep using %s at full speed!", - "BACKEND_DATA_PERCENT_TITLE": "Reached %s of your %s data", - "BACKEND_DATA_PERCENT_MESSAGE": "You have used %s of your %s high speed data for the month. Upgrade now!", - "BACKEND_CLICK_LABEL": "Open", - "BACKEND_CLICK_LABEL_OPEN": "Open", - "BACKEND_CLICK_LABEL_HELP": "幫助", - "BACKEND_CLICK_LABEL_GOT_IT": "Got it", - "BACKEND_AUTOUPDATED_TITLE": "Update %s to version %s", - "BACKEND_AUTOUPDATED_MESSAGE": "%s %s has been downloaded. Please restart %s to use it.", - "BACKEND_MITM_INSTALL_CERT": "%s wants to install a custom certificate to improve performance", - "BACKEND_MITM_INSTALL_CERT_WINDOWS_BODY": "Please allow %v to make changes to your system", - "BACKEND_ALERT_TITLE": "Critical alert needs your attention", - "about.content": "藍燈是一個自由免費的應用程式可以傳送快速、可靠與安全的開放網路近用", - "about.faq": "閱讀使用者問答集", - "about.open": "每個人的開放網路", - "about.questions": "問題?", - "about.title": "關於", - "account.add.password": "Add Account Password", - "account.cancel": "取消付費帳號", - "account.recovery": "Account Recovery", - "account.recovery.link.device": "Link Device", - "account.recovery.device.code": "Device Linking Code", - "account.recovery.device.enter.code": "Enter or Paste Device Linking Pin", - "account.recovery.device.instructions.header": "To link this device to your Pro account:", - "account.recovery.device.instructions.step.one": "1. Choose the ‘Link a Device’ option from the Account Management screen item on your Desktop Pro device, or From the menu on you Mobile Pro Device.", - "account.recovery.device.instructions.step.two": "2. Enter the device linking code, and submit.", - "account.recovery.device.instructions.part.three": "*Ensure both devices are running the most recent version of Lantern", - "account.recovery.method": "Please Choose a method to recover your account", - "account.recovery.send.email": "寄出電子郵件", - "account.recovery.submit": "提交", - "account.recovery.success": "Linking Success!", - "account.pro_management": "付費版帳號管理", - "account.free.cap": "每月免費資料流量還剩{{mb}} MB", - "account.free.cap.upgrade": "Upgrade to Pro for unlimited high speed data", - "account.freelink.validFor": "valid for %s", - "account.freelink.desc": "To Authorize this device to use your Pro account:", - "account.freelink.step1": "1. Choose the 'Link a Device' option from the Menu on your Pro Device", - "account.freelink.step2": "2. Enter the device linking code, and submit.", - "account.freelink.reminder": "* Ensure both devices are running the most recent version of Lantern", - "account.freelink.errorTitle": "Error Linking", - "account.freelink.errorText": "Are you sure you entered the code on your Pro device?", - "account.freelink.headerDesc": "Link this device to your Pro account", - "account.freelink.title": "Device Linking Code", - "account.pro.charge": "當付費版帳號快到期前,你將會自動被收取下一年的費用", - "account.upgrade": "昇級到付費版", - "account.create": "Create Account", - "account.email": "電子郵件", - "account.confirm.password": "Confirm Password", - "account.password": "Password", - "account.pro.email": "Email:", - "account.pro.expiration": "Pro Account Expiration", - "account.pro.expired": "Your Pro account has expired. Renew now for Unlimited monthly data.", - "account.pro.expiry": "Your Pro account expires in %s days on %s.", - "account.pro.bonusMonths": "This includes your {{bonusMonths}} bonus months!", - "account.pro.thisdevice": "(This Device)", - "account.pro.logout": "LOG OUT", - "account.pro.removedevice": "REMOVE", - "account.pro.devices": "Lantern Pro Devices (up to 3)", - "account.pro.device.confirm.title": "Deauthorize Device", - "account.pro.device.confirm": "Are you sure you want to remove '{{device}}' from your Lantern Pro account?", - "account.pro.device.one.title": "只有一個設備", - "account.pro.device.one": "Sorry, but you cannot remove your last authorized device.", - "account.pro.linkingcode": "Device Linking Code:", - "account.pro.renew": "RENEW PRO ACCOUNT", - "account.prolink.errorTitle": "Error Linking", - "account.prolink.errorText": "Are you sure you copied the code correctly from your other device?", - "account.prolink.successTitle": "Device Linked", - "account.prolink.successText": "You have successfully linked your device! Please wait a moment for your other device to automatically become pro.", - "account.signin": "登入", - "account.signout": "Sign Out", - "account.submit": "提交", - "account.username": "Username", - "modal.register.free.header": "Register or Sign in to access Yinbi Wallet", - "modal.register.pro.header": "Add account password to access Yinbi Wallet", - "modal.register.free.text": "To use the Yinbi Wallet you must have a Lantern Account, please Register or\nSign in to Continue.", - "modal.register.pro.text": "To use the Yinbi wallet you must add a password to your Lantern account.", - "adyen.paymentMethods.title": "Payment Methods", - "adyen.paymentMethods.storedMethods": "Your payment methods", - "adyen.paymentMethods.otherMethods": "Select other method", - "adyen.paymentMethods.moreMethodsButton": "More payment methods", - "adyen.payButton": "Pay", - "adyen.payButton.formatted": "Pay %@", - "adyen.cancelButton": "取消", - "adyen.dismissButton": "確定", - "adyen.storeDetails": "Save for my next payment", - "adyen.payment.redirecting": "You will be redirected", - "adyen.payment.processing": "Your payment is being processed", - "adyen.creditCard.title": "Card Details", - "adyen.creditCard.holderName": "Cardholder name", - "adyen.creditCard.holderName.placeholder": "J. Smith", - "adyen.creditCard.numberField.title": "卡片號碼", - "adyen.creditCard.numberField.placeholder": "1234 5678 9012 3456", - "adyen.creditCard.numberField.invalid": "Invalid card number", - "adyen.creditCard.expiryDateField.title": "Expiry Date", - "adyen.creditCard.expiryDateField.placeholder": "MM/YY", - "adyen.creditCard.expiryDateField.invalid": "Invalid expiration date", - "adyen.creditCard.expiryDateField.month": "月", - "adyen.creditCard.expiryDateField.month.placeholder": "MM", - "adyen.creditCard.expiryDateField.year.placeholder": "YY", - "adyen.creditCard.expiryDateField.year": "年", - "adyen.creditCard.cvcField.title": "CVC / CVV", - "adyen.creditCard.cvcField.placeholder": "123", - "adyen.creditCard.installmentsField": "Number of installments", - "adyen.creditCard.storeDetailsButton": "Remember this card for my next payment", - "adyen.creditCard.oneClickVerification.title": "Verify your card", - "adyen.creditCard.oneClickVerification.message": "Please enter the CVC code for %@", - "adyen.creditCard.oneClickVerification.invalidInput.title": "Invalid CVC", - "adyen.creditCard.oneClickVerification.invalidInput.message": "Please enter a valid CVC to continue.", - "adyen.sepaDirectDebit.ibanField.title": "Account Number (IBAN)", - "adyen.sepaDirectDebit.ibanField.placeholder": "NL53 ABNA 1925 1294 122", - "adyen.sepaDirectDebit.ibanField.invalid": "Invalid account number", - "adyen.sepaDirectDebit.nameField.title": "Holder Name", - "adyen.sepaDirectDebit.nameField.placeholder": "J. Smith", - "adyen.sepaDirectDebit.consentButton": "I agree that the amount below will be debited from my bank account.", - "adyen.sepa.ownerName": "Holder Name", - "adyen.sepa.ibanNumber": "Account Number (IBAN)", - "adyen.giropay.searchField.placeholder": "Bankname / BIC / Bankleitzahl", - "adyen.giropay.minimumLength": "Min. 3 characters", - "adyen.giropay.noResults": "No search results", - "adyen.error.title": "錯誤", - "adyen.error.subtitle.redirect": "Redirect failed", - "adyen.error.subtitle.payment": "Payment failed", - "adyen.error.subtitle.refused": "Payment refused", - "adyen.error.message.unknown": "An unknown error occurred", - "adyen.error.message.cannotConnectToInternet": "Failed to connect to the internet : please check your internet connection.", - "adyen.error.message.cannotConnectToHost": "Failed to connect to our payment server.", - "adyen.error.retryButton": "Try again", - "adyen.idealIssuer.selectField.title": "Bank", - "adyen.idealIssuer.selectField.placeholder": "Select your bank", - "adyen.creditCard.success": "Payment Successful", - "adyen.oneClick.confirmationAlert.title": "Confirm %@ payment", - "adyen.redirect.cannotOpenApp.title": "Cannot Open App", - "adyen.redirect.cannotOpenApp.appNotInstalledMessage": "This app could not be opened because it is not installed on this device.", - "adyen.holderName": "Cardholder name", - "adyen.countryCode": "Country Code", - "adyen.telephone.number": "Telephone number", - "authorize.title": "授權付費版的設備", - "authorize.step1.have_pro_device": "I have another Lantern Pro device", - "authorize.step1.link": "Device Linking", - "authorize.step1.email_linking": "Email Linking", - "authorize.device_linking_explanation": "Use this method if you are signed into another device and have it with you", - "authorize.device_email_explanation": "Use this method if you want a Device linking pin sent to your email", - "authorize.link_device": "Link Device", - "authorize.step1.choose": "Please choose a method to Link your account", - "authorize.step1.or": "或", - "authorize.step1.recover": "I need to recover my Lantern Pro account", - "authorize.step1.start": "start recovery", - "authorize.step1.no_mail": "Don't remember your Email address?", - "authorize.step1.description": "Enter your email and if the account exists we will send an email with a device linking code", - "authorize.step2b.enter_code": "Enter your Account Recovery Code", - "authorize.step2b.code": "Account Recovery Code", - "authorize.step2b.instruction": "An Email with a recovery code has been sent to {{email}} if this account exists. This email may take several hours to arrive. Please check your spam folder if you do not find it.", - "authorize.step2b.no_mail": "Didn't receive email", - "authorize.step3.recovery": "Account Recovery", - "authorize.step3.no_email": "Oops! We're having trouble finding that email address. Please provide more information below to help us locate your account.", - "authorize.step3.no_code_received": "Having trouble receiving the recovery email? Enter the information below and we will contact you within 48 hours.", - "authorize.step3.your_email": "你的電子郵件", - "authorize.step3.payment_method": "Payment Method", - "authorize.step3.payment_method_hint": "Select the payment method you used to get Pro", - "authorize.step3.credit_card": "Credit Card", - "authorize.step3.alipay": "AliPay", - "authorize.step3.android_pay": "Android Pay", - "authorize.step3.by_referral": "Received Pro by Referring a friend", - "authorize.step3.payment_account": "Payment Account", - "authorize.step3.payment_account_hint": "Enter your Alipay account information", - "authorize.step3.referral_code": "你的邀請碼", - "authorize.step3.purchase_date": "Purchase Date", - "authorize.step3.note": "Please note any other information that may help us locate your account.", - "authorize.step4.title": "Account Recovery In-Progress", - "authorize.step4.text1": "Thank you! We've received your account recovery request.", - "authorize.step4.text2": "Please allow 48 hours to retrieve your Pro account information.", - "authorize.step4.text3": "We will send information to the email address entered on the previous screen.", - "authorized.continue": "繼續使用付費版", - "authorized.text": "這個設備已被授權使用專業付費版Lantern", - "authorized.title": "裝置已授權", - "button.renew": "Renew", - "button.upgrade": "㫒級 ", - "button.upgrade_now": "Upgrade Now", - "button.upgrade_to_lantern_pro": "昇級到付費版", - "button.copy_your_code": "複制代碼", - "button.try_again": "Try again", - "button.continue": "繼續", - "bullet.click_button": "點擊下方按鈕", - "bullet.paste_code": "貼上代碼並下載訊息中的連結網址", - "bullet.send_to_friends": "寄送給好友", - "cancel": "取消", - "confirm": "Confirm", - "norecoveryyinbi": "*Does not recover Yinbi Wallet", - "email.recovery.check.email": "Check your email for a message with a Recovery Code", - "email.recovery.code.label": "Enter or Paste Recovery Code", - "email.recovery.no.code": "Didnt get a Code?", - "email.recovery.text": "Enter your email, and we will send you a code to reset your password.\nIf you have a Yinbi Wallet, this will NOT recover your Yinbi wallet, to recover your Yinbi Wallet enter your Yinbi Recovery Phrase.", - "email.recovery.desc": "Use this method if you want a recovery code sent to your email", - "device.recovery.desc": "Use this method if you are signed in to another device and have it with you", - "google_search": "Google Search", - "giveaway.upgrade": "Upgrade to receive today's free distribution", - "giveaway.title_released_today": "%s YNB being released today", - "giveaway.what_is_it": "What is the Yinbi Giveaway?", - "giveaway.description1": "The Yinbi foundation is giving away 888 billion YNB cryptocurrency exclusively through Lantern to purchasers of Lantern Pro.", - "giveaway.description2": "YNB will be distributed at the end of every day, based on the quantity of Yinbi released that day, the number of people that upgrade/renew, and the number of years or accounts you purchase. YNB will be deposited directly into your Yinbi Wallet in Lantern.", - "giveaway.learn_more": "Learn More", - "link_device": "Already have a Pro account? Link device", - "email.recovery": "Email Recovery", - "email_taken": "Email already registered", - "username_taken": "Username already registered", - "err.unknown_error": "不明的錯誤", - "err.internal_error": "內部出錯", - "err.bad_input": "不正確的輸入", - "err.not_authorized": "未授權", - "err.user_exists": "帳號已存在", - "err.no_such_user": "本帳號不存在", - "err.user_already_verified": "用戶已認證", - "err.invalid_user_verification": "無效的用戶認證", - "err.user_unverified": "用戶未認證", - "err.operation_temporarily_unavailable": "服務暫時無法使用", - "err.wrong_or_inexistent_plan": "錯誤或不存在的計畫", - "err.user_has_active_subscription": "用戶有效訂閱", - "err.payment_error": "付款出錯", - "err.no_codes_left": "未有邀請碼", - "err.wrong_code": "錯誤的邀請碼", - "err.redeeming_own_code_not_allowed": "無法事後填補邀請碼", - "err.wrong_charge_id": "錯誤的支付代號", - "err.invalid_credentials": "The supplied user credentials were invalid", - "footer.reseller": "Make Money! Become a Lantern Pro reseller. Click Here", - "footer.reseller.email_subject": "Tell me about the Lantern Reseller Program!", - "footer.reseller.email_body": "When you become a Lantern Reseller you will have the opportunity to make up to 25% on every sale of a Lantern Pro subscription. Tell us a bit about why you want to become a reseller below.", - "feature.faster_speed": "更快速度", - "feature.faster": "Faster data centers", - "feature.unlimited": "無流量限制", - "feature.nologs": "No Logs", - "feature.devices": "Connect up to 3 devices", - "feature.noads": "No Ads", - "feature.antiblock": "Blocking Resistant", - "feature.data_center": "Better Data Centers", - "feature.free_yinbi": "Free Yinbi Cryptocurrency!", - "free.title": "Lantern 付費專業版", - "free.desc": "Faster. Stronger. Unlimited. Secure.", - "free.link_account": "Already have a Pro account? Link your account.", - "home.get_lantern_pro": "取得Lantern 付費專業版", - "input.email": "電子郵件", - "input.your_email": "Your Email Address", - "input.confirm_email": "Confirm Email Address", - "input.enter_email": "Enter your email", - "input.use_valid_email": "輸入一個有效的電子信箱位址", - "input.email_not_match": "Email fields do not match", - "issue.your_email": "你的電子郵件", - "issue.attach_image_failure": "Cannot attach image", - "issue.try_again": "請重試一次", - "issue.select_issue": "Please Select an Issue", - "issue.selected_issue": "Select Issue", - "issue.select_issue_hint": "Select an issue from the dropdown menu", - "issue.note": "Describe your Issue", - "issue.description": "Issue Description", - "issue.error": "Error reporting issue", - "issue.submit": "Send Report", - "issue.report_screenshot": "Drag image or click to upload screenshot", - "issue.reported": "Thank you for reporting your issue, we will get back to you via Email as soon as we are able", - "issue.report_sent": "Report Sent", - "issue.type.no_access": "Cannot access blocked sites", - "issue.type.payment_fail": "Cannot complete the payment", - "issue.type.cannot_login": "Cannot log in", - "issue.type.always_spinning": "Loading spinner spins endlessly", - "issue.type.slow": "Slow", - "issue.type.cannot_link_device": "Cannot link devices", - "issue.type.crashes": "Lantern crashes", - "issue.type.other": "Other", - "languages.title": "語言", - "lantern.email": "Lantern Email", - "mobile.link": "Use the link to download Lantern on your Android device:", - "mobile.title": "Get Android Version", - "nav.about": "關於", - "nav.account": "帳號管理", - "nav.authorize": "Add Device", - "nav.authorized": "裝置已授權", - "nav.unauthorized_link": "授權付費版的設備", - "nav.language": "語言", - "nav.lantern": "Lantern", - "nav.mobile": "取得行動版", - "nav.report_issue": "回報問題", - "nav.settings": "設定", - "nav.verify": "帳號認證", - "nav.yinbi": "Yinbi Redemption", - "nav.home": "Home", - "nav.discover": "Discover", - "nav.wallet": "Wallet", - "nav.yinbi_wallet": "Yinbi Wallet", - "notification.retry": "重是", - "password.change": "Change Password", - "password.changed": "Password Changed", - "continue.to.pro": "繼續使用付費版", - "username": "Username", - "password.new": "New Password", - "password.requirements": "
Password must contain the following:
  • 8 or more characters
  • 1 lowercase letter
  • 1 uppercase letter
  • At least 1 number
  • Not on a list of compromised passwords
", - "password.reset": "Reset Password", - "notifications.whatisnew": "What's New?", - "payment.close": "關閉", - "payment.wait_for_pro": "Thanks for your purchase of Lantern Pro! Please wait a moment for your Lantern to automatically become Pro.", - "payment_methods.select_name": "Select payment method", - "payment_methods.alipay": "Credit Card/Alipay", - "payment_methods.shetab": "Fast World Pay (Shetab)", - "payment_methods.shetab.details.header": "To purchase Lantern Pro", - "payment_methods.shetab.details.body": "When you click continue to purchase you will be redirected to an external site to complete payment and collect your activation code.", - "payment_methods.shetab.details.tutorial_header": "Farsi tutorial", - "payment_methods.shetab.details.purchase_voucher_button": "Continue To Purchase", - "payment_methods.shetab.details.input_code_button": "Input Activation Code", - "plan.step1": "Step 1", - "plan.apply": "Apply", - "plan.step2": "Step 2", - "plan.most_popular": "Most Popular!", - "plan.step3": "Step 3", - "plan.choose_plan": "Choose Plan", - "plan.enter_email": "Enter Email", - "plan.bestValue": "Best Deal!", - "plan.per_month": "per month", - "plan.yinbi_2x": "+ 2x Yinbi!", - "plan.oneYear": "1 year", - "plan.add_referral": "Add Referral Code", - "plan.years": "{{years}} year plan", - "plan.desc": "{{price}} billed one time", - "plan.price.cny": "¥%.02f", - "plan.price.usd": "$%.02f", - "plan.currency.cny": "(RMB)", - "plan.currency.usd": "(USD)", - "plan.time_unit": "/YR", - "plan.select": "選擇", - "plans.title": "Lantern 付費專業版方案", - "plans.lantern_pro": "Lantern 付費專業版", - "plans.platforms": "For Windows, Android, Mac, Ubuntu.", - "plans.from_reseller": "Have a Lantern Pro activation code? Click here", - "plans.with_voucher_code": "Have an activation code? Click here.", - "pro.apply": "你的優惠點數可以在下回帳單中使用", - "pro.title": "Invite friends, get more Pro for free", - "pro.subtitle": "When your friend purchases the two year plan you each get 3 additional months of Pro, the one year plan gets you each 1 month free.", - "pro.share": "分享你的邀請給好友以賺得更多優惠點數", - "promotion.title": "取得Lantern 付費專業版付款", - "promotion.title.activation": "Lantern Pro Activation", - "promotion.enter_and_confirm_email": "Please enter and confirm your email address", - "promotion.code.hint": "Enter your friend's Referral code (optional)", - "promotion.code.label": "邀請碼", - "promotion.payment": "Continue to Payment", - "promotion.loading": "Loading...", - "promotion.howto_1y": "If a friend shared their referral code with you, enter the code to receive one month of Lantern Pro for free after checkout.", - "promotion.howto_2y": "If a friend shared their referral code with you, enter the code to receive three months of Lantern Pro for free after checkout.", - "promotion.pay": "支付 {{amount}}", - "promotion.select": "選擇", - "promotion.promotion_applied_1y": "+1 bonus months", - "promotion.promotion_applied_2y": "+3 bonus months", - "promotion.too_many_referrals": "This referral code has already been added. Check out now to receive your extra months.", - "promotion.activation.enter_and_confirm_email": "Please enter and confirm your email address to register your Lantern Pro account.", - "promotion.activation.label": "XXXXX-XXXXX-XXXXX-XXXXX-XXXXX", - "promotion.activation.hint": "Activation Code", - "promotion.activation.instructions": "Enter your email and the 25 digit activation code received from the reseller to register your account.", - "promotion.activation.howto": "Please enter your 25 character Lantern Pro activation code above. If you do not have a code, please purchase Pro on the previous screen or look for a Lantern Pro reseller online.", - "promotion.activation.continue": "Register for Pro", - "promotion.voucher.hint": "Activation Code", - "promotion.voucher.howto": "Please enter your 12 character Fast World Pay activation code above", - "promotion.voucher.label": "XXXXXXXXXXXX", - "promotion.voucher.error.default": "Error redeeming your activation code. Please contact contact@fastworldpay.com for assistance.", - "promotion.voucher.error.invalid_code": "Invalid activation code", - "promotion.voucher.error.invalid_plan": "Activation code associated with an invalid plan", - "promotion.voucher.error.already_redeemed": "Activation code has already been redeemed", - "referral.code": "Referral code", - "referral.text": "使用邀請碼 %s 註冊後可以得到3個月免費專業版試用!", - "referral.description_free": "Share Your code with your friends, and get 1 month of Lantern Pro service for free when they Purchase Pro!", - "referral.description_pro": "Share Your code with your friends and get 1 month of Additional Lantern Pro service for free when they Purchase Pro!", - "register": "Register", - "renew.title_30_days": "Renew now for 3 months free!", - "renew.title_2_days": "Lantern Pro expires tomorrow.\nRenew now for 3 months free!", - "renew.title_last_day": "Lantern Pro expires today.\nDon't miss out on your Pro discount!", - "renew.title_expired": "Lantern Pro has expired", - "renew.details_30_days": "Your Lantern Pro membership is ending soon, renew now and enjoy up to three months free! This limited time offer is only valid for early renewals.", - "renew.details_2_days": "Your Lantern Pro membership is ending soon, renew now and enjoy up to three months free! This limited time offer is only valid for early renewals.", - "renew.details_last_day": "Renew now and enjoy up to three months free!\nThis is the last day to take advantage of this offer.\nLantern Pro users get faster speeds, unlimited data, better blocking resistance, three devices and no ads.", - "renew.details_expired": "Renew now for an extra 45 days free. Limited time only.\nLantern Pro users get faster speeds, unlimited data, better blocking resistance, three devices and no ads.", - "renew.plan_label": "Lantern Pro - %s", - "renew.plan_renewal_bonus_1_month": "$%d%s + 1 FREE MONTH", - "renew.plan_renewal_bonus_months": "$%d%s + %d FREE MONTHS", - "renew.plan_renewal_bonus_days": "$%d%s + %d FREE DAYS", - "renew.next": "next", - "renew.decline": "Decline Offer", - "renew.decline_question": "Are you sure you want to decline this offer?", - "renew.decline_yes": "Renew later", - "renew.decline_dismiss": "Renew now", - "renew.notification_title_30_days": "Renew Pro now for huge savings!", - "renew.notification_text_30_days": "Your Lantern Pro account expires in {{days}} days. Renew now and get up to 3 months free.", - "renew.notification_title_2_days": "Lantern Pro discount ends tomorrow!", - "renew.notification_text_2_days": "Your Pro account expires tomorrow. Don’t miss this opportunity for a huge discount.", - "renew.notification_title_last_day": "Last chance for a discount!", - "renew.notification_text_last_day": "Your Lantern pro account has expired. Renew today and get up to 3 months free.", - "replica.upload": "Upload", - "replica.relevance": "Relevance", - "replica.upload_date": "Upload Date", - "replica.gallery_view": "Gallery View", - "replica.list_view": "List View", - "replica.copy_lantern_link": "Copy Lantern Link", - "replica.docs": "文件", - "replica.other": "Other", - "replica.apps": "Apps", - "replica.images": "Images", - "replica.upload_alert.dont_show": "Don't show this again", - "replica.upload_alert.cancel": "Cancel Upload", - "replica.upload_alert.resume": "Resume Upload", - "replica.upload_alert.info": "Important Information!", - "replica.upload_alert.desc1": "Files uploaded to Lantern are distributed and decentralized. Once they are accessed by another user they cannot be deleted from the network by anyone, including Lantern, even if they are deleted from your 'My Files' list.", - "replica.upload_alert.desc2": "Please refrain from using personal identifying information in the file or filename when uploading sensitive content.", - "replica.videos": "Videos", - "replica.next": "Next", - "replica.previous": "Previous", - "replica.select_all": "Select All", - "replica.search_replica": "搜尋", - "replica.no_files_found": "No Files Found", - "replica.or_content": "your own content for other people to find!", - "replica.try_again": "Try a different keyword, or", - "replica.upload_success": "Upload Success!", - "replica.cannot_preview": "No preview for this filetype", - "replica.size": "Size", - "replica.uploaded": "Uploaded", - "replica.invalid_link": "Invalid Link", - "replica.close": "關閉", - "replica.my_files": "My Files", - "replica.filename": "File Name", - "replica.filename_required": "File Name (required)", - "replica.filetype": "Filetype", - "replica.sortby": "Sort By", - "replica.link": "Replica link", - "replica.collapse": "Collapse", - "replica.publish": "Publish", - "replica.cancel": "取消", - "replica.delete": "Delete", - "replica.delete_file": "Delete File", - "replica.failed_to_delete": "Failed to delete", - "replica.link_lookup_failure": "Failed to find link", - "replica.delete_file_confirmation_1": "Are you sure you want to delete", - "replica.delete_file_confirmation_2": "從您的上傳", - "replica.share_file": "Share File", - "replica.download_and_view": "Download/View", - "replica.download": "下載", - "replica.copy_link": "Copy Replica Link", - "replica.find_file": "Find file", - "replica.file_drop_prompt": "將文件拖到此處或瀏覽進行上傳", - "settings.general": "一般", - "settings.feedback": "意見回饋", - "settings.autoLaunch": "Run Lantern on system start", - "settings.autoReport": "安全地回報使用統計數據以改進藍燈", - "settings.proxyAll": "代理所有流量", - "settings.proxyAllHelpTitle": "WHAT DOES \"PROXY ALL TRAFFIC\" DO?", - "settings.proxyAllHelp1": "If enabled, all traffic will be sent through Lantern (most Secure option).", - "settings.proxyAllHelp2": "If disabled, only blocked traffic will be sent through Lantern (fastest option, most common).", - "settings.show_advanced": "顯示高級設置", - "settings.hide_advanced": "隱藏高級設置", - "settings.systemProxy": "管理系統代理", - "settings.title": "設定", - "settings.http_proxy": "HTTP(S) 代理:", - "settings.socks_proxy": "SOCKS 代理:", - "settings.caution": "Caution:", - "settings.caution_text": "When you uncheck \"Manage system proxy\" your browser and applications won't be able to use Lantern automatically. If you know how to manually configure these settings refer to the information above.", - "settings.select_language": "選擇語言", - "status.lantern": "Lantern is", - "status.click_reconnect": "Click here to reconnect", - "status.server_location": "伺服器位置", - "status.tooltip1": "Lantern uses smart server selection to connect you to our best data centers.", - "status.tooltip2": "Upgrade to Lantern Pro for faster speed with optimized server selection from our exclusive Lantern Pro data centers", - "status.protected_connection": "Your Connection is Protected", - "status.please_wait": "This may take a minute or two...", - "status.connecting": "連線中...", - "status.no_internet": "已斷線", - "status.no_internet_connection": "No Internet connection", - "status.connected": "已連線", - "status.disconnected": "已斷線", - "status.throttled": "Speed Throttled (Data Cap)", - "status.no_system_proxy": "{{status}}, not managing system proxy", - "status.fail_to_set_system_proxy": "Failed to set Lantern as system proxy", - "status.fail_to_open_browser": "Failed to open browser window to show the Lantern user interface", - "terms_of_service.acknowledgment": "By clicking {{buttonText}}, you agree to our Terms of Service", - "terms_of_service.replica": "By Searching, uploading or using our products in any way, you agree to our Terms of Service, Privacy Policy and DMCA Policy", - "top_sites.google": "Google", - "top_sites.twitter": "Twitter", - "top_sites.youtube": "Youtube", - "top_sites.facebook": "Facebook", - "top_sites.wikipedia": "Wikipedia", - "verify.header": "Enter or Paste Device Linking Pin", - "verify.code": "Device Linking Code", - "verify.howto_1": "If you have a Lantern Pro account on another device, please enter your e-mail address here to receive a code to authorize the device", - "verify.howto_1a": "You're currently an unauthorized Pro user. Please enter your e-mail address to authorize your Pro account. This will enable you to link multiple devices.", - "verify.howto_2": "To Link a Device to your Pro Account:", - "verify.howto_3": "1. Choose ‘Authorize Device for Pro from the Menu of your other device.", - "verify.howto_4": "2. Enter the linking pin obtained from step 1, and submit.", - "verify.reminder": "*Ensure both devices are running the most recent version of Lantern", - "verify.enter_pin": "Enter or Paste Device Linking Pin", - "verify.submit": "提交", - "verify.title": "帳號認證", - "welcomeToPro.continue": "繼續使用付費版", - "welcomeToPro.invite": "邀請朋友加入,當你介紹的朋友購買了二年份的方案,你將可免費取得 3個月的專業版使用優惠,若友人購買一年份方案你則取得 1個月專業版優惠。立馬邀請!", - "welcomeToPro.thanks": "感謝購買Lantern付費專業版", - "welcomeToPro.title": "歡迎來到 Lantern Pro!", - "welomeToPro.title_exclamation": "歡迎來到 Lantern Pro!", - "welcomeToPro.description": "You now have unrestricted access to blocked sites and services", - "messages.copied_to_clipboard": "Code Copied. Share it with your friends!", - "messages.datacap": "You have used your free high speed data. Upgrade to Pro for unlimited high speed data.", - "messages.fatal_error": "Sorry, we're having trouble contacting the Lantern servers. Please check your internet connection and try again.", - "messages.backend_gone": "Sorry, Lantern appears to no longer be running. Please restart Lantern and try again.", - "messages.get_help": "獲取幫助", - "freeProCredits.title": "邀請朋友加入", - "freeProCredits.shareWithFriends": "Share your code with friends to earn free months!", - "freeProCredits.shareWithFriendsDesc": "When your friend purchases the two year plan you will each get 3 months free, the one year plan gets you each 1 month free.", - "cards.serverLocation.unknown": "Unknown", - "cards.serverLocation.description": "優化的伺服器位置", - "cards.serverLocation.description-free": "伺服器位置", - "cards.serverLocation.description-upgrade": "Upgrade for Faster Servers", - "cards.serverLocation.title": "當前位置:", - "cards.serverLocation.location": "%s, %s", - "cards.serverLocation.text": "Lantern uses smart server selection to automatically find you the fastest connection possible from our data centers in Tokyo, Singapore, Hong Kong, San Francisco, New York, Amsterdam, Bangalore and more.", - "cards.serverLocation.text-free": "Lantern uses smart server selection to connect you to our best data centers.", - "cards.serverLocation.upgrade-link": "Upgrade to Lantern Pro for faster speed with optimized server selection from our exclusive Lantern Pro data centers.", - "cards.httpsUpgrades.description": "HTTPS Upgrades", - "cards.httpsUpgrades.title": "HTTPS Upgrades: %d", - "cards.httpsUpgrades.text": "Lantern automatically upgrades unsecure HTTP connections to encrypted HTTPS connections when possible to keep your information private while surfing the web.", - "cards.adsBlocked.description": "Ads Blocked", - "cards.adsBlocked.title": "Blocked Ads: %d", - "cards.adsBlocked.text": "Lantern blocks intrusive ads to speed up web page loading time, save bandwidth, and to give you a smoother browsing experience.", - "cards.dataUsage.description": "Data Usage", - "cards.dataUsage.upgrade": "Upgrade now", - "cards.dataUsage.mb-used": "You have used %d/%dMB of your monthly high speed data.", - "cards.dataUsage.upgrade-link": "Upgrade now for unlimited high speed service!", - "cards.subscription.description": "Pro Subscription", - "cards.subscription.renew": "Renew", - "cards.subscription.months": "You have %d months of Lantern Pro left in your subscription.", - "cards.subscription.days": "You have %d days of Lantern Pro left in your subscription.", - "cards.subscription.unit.months": "MO", - "cards.subscription.unit.days": "DAYS", - "cards.subscription.renew-link": "Renew your subscription to add more time.", - "auth.username.or.email": "Username or Email", - "auth.signin": "登入", - "current.password": "Current Password", - "new.password": "New Password", - "auth.change.password": "Change Password", - "confirm.new.password": "Confirm New Password", - "auth.password": "Password", - "auth.forgot.password": "Forgot or do not have password?", - "auth.create.account": "Create Account", - "auth.missing.username": "Missing username", - "auth.missing.current.password": "Missing current password", - "auth.missing.new.password": "Missing new password", - "auth.missing.confirm.password": "Missing confirm password", - "invalid_credentials": "Invalid Credentials", - "yinbi.wallet": "Yinbi Wallet", - "create.wallet": "Create Wallet", - "new.to.yinbi": "New to Yinbi?", - "setup.wallet": "Yes, lets set up a new wallet!", - "web.wallet": "No, I have a Wallet on the Yin.bi Website", - "yinbi.next": "Next", - "yinbi.amount": "Amount", - "yinbi.missing.address": "No destination address provided", - "yinbi.missing.amount": "No amount specified", - "yinbi.missing.email": "No email address specified", - "yinbi.missing.username": "No username specified", - "yinbi.missing.password": "No password specified", - "yinbi.invalid.address": "{{destination}} is not a valid Stellar address", - "yinbi.send": "傳送", - "yinbi.to": "To:", - "yinbi.try_again": "Try again?", - "yinbi.success.transaction": "Transaction Successful!", - "yinbi.failure.transaction": "Transaction Failed", - "yinbi.confirm.transaction": "Confirm Transaction", - "yinbi.sent.details": "You sent {{amount}} YNB to {{destination}}", - "yinbi.sent.failure.details": "Your Transaction failed for the following reasons:", - "yinbi.recipient": "Recipient", - "yinbi.available.send": "You have {{balance}} YNB available to send", - "yinbi.wallet.header": "Wallet", - "yinbi.send.header": "Send Yinbi", - "yinbi.recovery.phrase": "Yinbi Recovery Phrase", - "yinbi.recover.account": "Enter or Paste your Yinbi Recovery Phrase to recover your Yinbi Wallet, and Lantern account", - "yinbi.recovery.desc": "Use this method if you want to sign in to a Yinbi Wallet in addition to your Lantern account", - "yinbi.redeem.codes": "Redeem Bulk Yinbi Codes", - "yinbi.obtain.codes": "Bulk Yinbi Redemption codes can be obtained from reseller.lantern.io", - "yinbi.receive.header": "Receive Yinbi", - "yinbi.this.is.your.wallet": "This is your Yinbi wallet address where people can send you YNB.", - "yinbi.your.address": "Your Address", - "yinbi.no.activity.header": "No Activity", - "yinbi.upgrade.pro.button": "Upgrade to Pro and Get Free Yinbi", - "yinbi.renew.pro.button": "Renew Pro and Get Free Yinbi", - "yinbi.wallet.activity_header": "Activity", - "yinbi.wallet.send": "傳送", - "yinbi.wallet.receive": "Receive", - "yinbi.wallet.balance": "Balance", - "yinbi.wallet.getlantern.pro": "Get Lantern Pro + Free Yinbi", - "yinbi.redemption.codes": "Yinbi Redemption Codes", - "redeem_codes.title": "Redeem Yinbi Codes", - "redeem_codes.redeem_button_text": "Redeem", - "redeem_codes.cancel_button_text": "取消", - "redeem_codes.success": "Success", - "redeem_codes.errors.missing_codes": "No valid codes entered", - "redeem_codes.errors.invalid_codes": "Error, please check the highlighted codes. Crossed out codes are expired and can no longer be redeemed.", - "yinbi.new.account.text": "Once you send or receive Yinbi your transactions will appear here.", - "yinbi.createAccount": "Create Account", - "yinbi.confirm.account.text": "To make sure that you wrote the phrase down correctly, please enter the following words from your recovery phrase", - "create_account.invalid_words.error": "The words entered didn't match those of the recovery passphrase", - "yinbi.recovery_text": "This is your Yinbi Wallet Recovery Phrase. It is the ONLY way to recover your Yinbi Wallet\nin case of a forgotten password. Use a password manager or make a hard copy when\nstoring this phrase.", - "yinbi.recovery_confirm_text": "This is your Yinbi Wallet Recovery Phrase. It is the ONLY way to recover your Yinbi Wallet in case of a forgotten password. Use a password manager or make a hard copy when storing this phrase.", - "yinbi.importWallet": "Import Yin.bi Wallet", - "yinbi.wallet.text": "To access the Yinbi Wallet, you can Create an Account, Sign In or\nImport your wallet from Yin.bi if you have signed up on the Yin.bi\nwebsite before.", - "yinbi.wallet.pro.text": "To access the Yinbi Wallet, you can Create an Account, Import your wallet from Yin.bi if you have signed up before.", - "yinbi.recovery_subheader": "Yinbi Wallet Recovery Phrase", - "yinbi.import_wallet.subheader": "Import Yinbi Wallet", - "yinbi.import_wallet.text": "Sign in using your Yin.bi credentials to transfer your wallet to Lantern", - "yinbi.import_wallet.success": "Your Wallet has been imported successfully please add your email to complete account registration.", - "yinbi.import_wallet.success_subheader": "Import Success!", - "yinbi.import_wallet.button": "Import Yin.bi Wallet", - "yinbi.import_wallet.success_button": "Complete Registration", - "yinbi.recovery_passphrase.label_text": "Recovery Phrase", - "yinbi.recovery_passphrase.copy_button_text": "Copy", - "replica.my_uploads": "我的上載", - "replica.mime_type": "Filetype: {{mime}}", - "replica.image_loading_error": "Error loading image", - "replica.trending_videos": "Trending Videos", - "replica.file_uploaded": "Uploaded: %d days ago", - "replica.file_size": "Size: %s", - "replica.finishing": "Finishing up", - "terms_of_service.notice": "Notice", - "terms_of_service.i_agree": "I agree", - "top_sites.top_sites": "Top Sites" -} \ No newline at end of file diff --git a/locale/translation/zh.json b/locale/translation/zh.json deleted file mode 100644 index bffca440d..000000000 --- a/locale/translation/zh.json +++ /dev/null @@ -1,797 +0,0 @@ -{ - "LANTERN": "蓝灯", - "pro": "Pro", - "BEAM": "小手电", - "TRAY_STATUS": "状态: %v", - "TRAY_CONNECT": "连接", - "TRAY_DISCONNECT": "断开", - "TRAY_SHOW": "显示%s", - "TRAY_UPGRADE_TO_PRO": "升级到专业版", - "TRAY_QUIT": "退出%s", - "BACKEND_DATA_TITLE": "高速流量仅剩%s", - "BACKEND_DATA_MESSAGE": "请升级到%s专业版继续使用高速流量!", - "BACKEND_DATA_PERCENT_TITLE": "高速流量已使用 %s %s", - "BACKEND_DATA_PERCENT_MESSAGE": "您已经使用本月高速流量 %s %s。立刻升级!", - "BACKEND_CLICK_LABEL": "打开", - "BACKEND_CLICK_LABEL_OPEN": "打开", - "BACKEND_CLICK_LABEL_HELP": "帮助", - "BACKEND_CLICK_LABEL_GOT_IT": "明白了", - "BACKEND_AUTOUPDATED_TITLE": "更新 %s到版本 %s", - "BACKEND_AUTOUPDATED_MESSAGE": "%s %s 已经下载完成. 请重启 %s 即可使用.", - "BACKEND_MITM_INSTALL_CERT": "%s 希望安装定制证书以改善性能", - "BACKEND_MITM_INSTALL_CERT_WINDOWS_BODY": "请允许 %v对您的系统进行更改", - "BACKEND_ALERT_TITLE": "严重告警提请您关注", - "BACKEND_INSTALL_DIAGNOSTIC_TOOLS": "%s 请求你授权安装诊断工具,以改进%s的使用体验。", - "BACKEND_CONFIG_SAVE_ERROR_TITLE": "Unable to save configuration", - "BACKEND_CONFIG_SAVE_ERROR_MESSAGE": "Unable to save application configuration. %s cannot guarantee that traffic will be correctly proxied.", - "about.content": "蓝灯能帮助你快速、可靠、安全地访问互联网。", - "app.error": "啊呀,出现一些问题!", - "about.faq": "阅读蓝灯常见问题", - "about.open": "人人可享的真互联网", - "about.questions": "有疑问?", - "about.title": "关于", - "account.add.password": "添加账户密码", - "account.agree.terms": "I understand that losing my password means losing\naccount access. Lantern cannot help you recover\nyour password.", - "account.agree.terms.error": "Must first agree to terms", - "account.cancel": "取消专业版账户", - "account.created": "账号建立成功", - "account.create.pro.account.header": "Create Pro Account", - "account.create.pro.account.text": "Lantern is changing the way user accounts are handled. From now on Pro users will need to create a username and password. These credentials will be used to sign in to other devices, and provide access to new features.", - "account.have.a.account": "Have an Account?", - "account.link.username.pro": "Link username to Pro Account", - "account.recovery": "邮箱登陆", - "account.recovery.link.device": "授权设备", - "account.recovery.device.code": "动态授权码", - "account.recovery.device.enter.code": "输入或粘贴验证码", - "account.recovery.device.instructions.header": "授权这台设备使用您的专业版帐户", - "account.recovery.device.instructions.step.one": "请到电脑专业版账户管理界面或手机专业版菜单选择“授权设备”", - "account.recovery.device.instructions.step.two": "2. 输入设备的授权码,并提交。", - "account.recovery.device.instructions.part.three": "*请确保两台设备都使用最新版本", - "account.recovery.method": "请选择授权设备的方式", - "account.recovery.send.email": "发送电子邮件", - "account.recovery.submit": "提交", - "account.recovery.success": "授权成功!", - "account.pro_management": "专业版账户管理", - "account.free_management": "账号管理", - "account.free.cap": "本月高速流量只剩下{{mb}},高速流量将在{{reset}}重置。", - "account.free.cap.upgrade": "升级到专业版来享受无限的高速流量", - "account.freelink.validFor": "%s 内有效", - "account.freelink.desc": "授权这台设备使用您的专业版帐户", - "account.freelink.step1": "在已登陆专业版的设备上点击“授权其他设备使用专业版”", - "account.freelink.step2": "2. 输入设备的授权码,并提交。", - "account.freelink.reminder": "*请确保两台设备都使用最新版本", - "account.freelink.errorTitle": "授权失败", - "account.freelink.errorText": "您在专业版设备上输入正确的授权码了吗?", - "account.freelink.headerDesc": "授权这台设备使用您的专业版帐户", - "account.freelink.title": "动态授权码", - "account.pro.charge": "您的账户将自动在您的结算周期结束时为下一年的蓝灯专业版付费。", - "account.upgrade_pro": "升级到专业版", - "account.upgrade": "升级", - "account.upgrade_platinum": "升级为白金版", - "account.create": "创建账号", - "account.email": "电子邮件", - "account.confirm.password": "确认密码", - "account.password": "密码", - "account.pro.email": "电子邮件", - "account.pro.expiration": "专业版到期日", - "account.platinum.expiration": "白金账户到期时间", - "account.pro.expired": "你的蓝灯专业版账号已过期。现在就续期,享受无限制的高速流量。", - "account.pro.expiry": "您的专业版账户将在 %s 天后,即 %s 过期。", - "account.pro.bonusMonths": "这包括您的 {{bonusMonths}} 奖金月!", - "account.pro.thisdevice": "(此设备)", - "account.pro.logout": "退出登录", - "account.pro.removedevice": "解绑", - "account.pro.devices": "蓝灯专业版(最多3台设备)", - "account.pro.device.confirm.title": "取消设备绑定", - "account.pro.device.confirm": "您确定不再需要让此设备使用专业版帐户吗?", - "account.pro.device.one.title": "最后一台设备", - "account.pro.device.one": "这是你的专业版帐户绑定的惟一一台设备,不能解绑", - "account.pro.linkingcode": "动态授权码", - "account.pro.renew": "续订专业版账户", - "account.platinum.renew": "更新白金版账户", - "account.pro.renew_CN": "Renew", - "account.prolink.errorTitle": "授权失败", - "account.prolink.errorText": "您的授权码是否正确?", - "account.prolink.successTitle": "设备已授权", - "account.prolink.successText": "授权成功。请等待您的设备自动成为专业版。", - "account.signin": "登录", - "account.signout": "退出登录", - "account.submit": "提交", - "account.username": "用户名", - "account.switch.to.register": "Switch to Create Account", - "account.switch.to.signin": "Switch to Sign In", - "account.invalid.username": "用户名错误", - "account.invalid.email": "Email错误", - "account.password.mismatch": "确认密码和密码不对应。", - "account.password.short": "密码太短。", - "account.password.lowercase": "密码必须有小写字母。", - "account.password.uppercase": "密码必须有大写字母。", - "account.password.number": "密码必须有数字", - "account.password.compromised": "密码不能在已经被泄漏的密码中", - "modal.register.free.header": "注册或登录以访问隐币钱包", - "modal.register.pro.header": "添加账号密码以访问隐币钱包", - "modal.register.pro.signin.header": "Sign in to access Yinbi Wallet", - "modal.register.free.text": "您须通过蓝灯账户使用隐币钱包, 请点击注册或\n登录继续使用。", - "modal.register.pro.text": "请为您的蓝灯账户添加密码以继续使用隐币钱包。", - "modal.register.pro.signin.text": "To use the Yinbi wallet you must sign in to your Lantern account", - "adyen.paymentMethods.title": "支付方式", - "adyen.paymentMethods.storedMethods": "您的支付方式", - "adyen.paymentMethods.otherMethods": "选择其他方式", - "adyen.paymentMethods.moreMethodsButton": "更多支付方式", - "adyen.payButton": "支付", - "adyen.payButton.formatted": "支付 %@", - "adyen.cancelButton": "取消", - "adyen.dismissButton": "OK", - "adyen.storeDetails": "下次继续使用这些信息", - "adyen.payment.redirecting": "你将会被重定向", - "adyen.payment.processing": "支付处理中", - "adyen.creditCard.title": "信用卡详情", - "adyen.creditCard.holderName": "持卡人姓名", - "adyen.creditCard.holderName.placeholder": "J. Smith", - "adyen.creditCard.numberField.title": "卡号", - "adyen.creditCard.numberField.placeholder": "1234 5678 9012 3456", - "adyen.creditCard.numberField.invalid": "卡号无效", - "adyen.creditCard.expiryDateField.title": "到期时间", - "adyen.creditCard.expiryDateField.placeholder": "MM/YY", - "adyen.creditCard.expiryDateField.invalid": "到期时间无效", - "adyen.creditCard.expiryDateField.month": "月", - "adyen.creditCard.expiryDateField.month.placeholder": "MM", - "adyen.creditCard.expiryDateField.year.placeholder": "YY", - "adyen.creditCard.expiryDateField.year": "年", - "adyen.creditCard.cvcField.title": "CVC / CVV", - "adyen.creditCard.cvcField.placeholder": "123", - "adyen.creditCard.installmentsField": "计划分期数", - "adyen.creditCard.storeDetailsButton": "下次付款时自动选择这张卡", - "adyen.creditCard.oneClickVerification.title": "验证信用卡", - "adyen.creditCard.oneClickVerification.message": "请输入%@的CVC码", - "adyen.creditCard.oneClickVerification.invalidInput.title": "CVC码无效", - "adyen.creditCard.oneClickVerification.invalidInput.message": "请输入有效的CVC码", - "adyen.sepaDirectDebit.ibanField.title": "帐号 (IBAN)", - "adyen.sepaDirectDebit.ibanField.placeholder": "NL53 ABNA 1925 1294 122", - "adyen.sepaDirectDebit.ibanField.invalid": "帐号无效", - "adyen.sepaDirectDebit.nameField.title": "持有人名称", - "adyen.sepaDirectDebit.nameField.placeholder": "J. Smith", - "adyen.sepaDirectDebit.consentButton": "我同意以下金额将从我的银行帐户中扣除。", - "adyen.sepa.ownerName": "持有人名称", - "adyen.sepa.ibanNumber": "帐号 (IBAN)", - "adyen.giropay.searchField.placeholder": "银行名称 / BIC代码", - "adyen.giropay.minimumLength": "最少需要3个字符", - "adyen.giropay.noResults": "没有搜索结果", - "adyen.error.title": "错误", - "adyen.error.subtitle.redirect": "重定向失败", - "adyen.error.subtitle.payment": "支付失败", - "adyen.error.subtitle.refused": "支付被拒绝", - "adyen.error.message.unknown": "未知错误", - "adyen.error.message.cannotConnectToInternet": "无法连接互联网,请检查网络。", - "adyen.error.message.cannotConnectToHost": "无法连接支付服务器", - "adyen.error.retryButton": "重试", - "adyen.idealIssuer.selectField.title": "银行", - "adyen.idealIssuer.selectField.placeholder": "选择银行", - "adyen.creditCard.success": "支付成功", - "adyen.oneClick.confirmationAlert.title": "确认 %@ 支付", - "adyen.redirect.cannotOpenApp.title": "无法打开应用", - "adyen.redirect.cannotOpenApp.appNotInstalledMessage": "该应用在这台设备上没有安装,所以无法打开", - "adyen.holderName": "持卡人姓名", - "adyen.countryCode": "国家代码", - "adyen.telephone.number": "电话号码", - "android.download": "蓝灯安卓版", - "android.download.title": "Download Lantern Android", - "authorize.title": "授权设备使用专业版", - "authorize.step1.have_pro_device": "已有其他专业版的设备", - "authorize.step1.link": "通过设备授权登录", - "authorize.step1.email_linking": "通过邮箱授权登录", - "authorize.device_linking_explanation": "如果您身边已经有一台专业版设备,请选用“设备授权”登录", - "authorize.device_email_explanation": "如果您有邮箱验证码,请选用“邮箱授权”登录", - "authorize.link_device": "授权设备", - "authorize.step1.choose": "选择授权设备登录的方式", - "authorize.step1.or": "或", - "authorize.step1.recover": "邮箱登陆", - "authorize.step1.start": "登陆", - "authorize.step1.no_mail": "不记得您的电子邮件地址吗?", - "authorize.step1.description": "请输入您正确的注册邮箱,验证码就会发到你的邮箱", - "authorize.step2b.enter_code": "输入邮箱登陆码", - "authorize.step2b.code": "邮箱登陆码", - "authorize.step2b.instruction": "如果此蓝灯账号存在,蓝灯恢复码已发送到{{email}}。Email送达可能需要几小时,请检查您的垃圾邮件。", - "authorize.step2b.no_mail": "没有收到email", - "authorize.step3.recovery": "帐号登陆", - "authorize.step3.no_email": "出错了!我们找不到对应的邮箱地址。请提供更多信息来找回帐号。", - "authorize.step3.no_code_received": "收不到邮箱登陆码? 请输入以下信息来人工找回帐号,我们会在48小时内联系你。", - "authorize.step3.your_email": "您的邮箱", - "authorize.step3.payment_method": "付款方式", - "authorize.step3.payment_method_hint": "请选择你购买专业版的方式", - "authorize.step3.credit_card": "信用卡", - "authorize.step3.alipay": "支付宝", - "authorize.step3.android_pay": "安卓Pay", - "authorize.step3.by_referral": "因为邀请朋友而免费获得了专业版", - "authorize.step3.payment_account": "付款帐号", - "authorize.step3.payment_account_hint": "请输入支付宝帐号信息", - "authorize.step3.referral_code": "您的邀请码", - "authorize.step3.purchase_date": "付款日期", - "authorize.step3.note": "请输入其他相关信息,方便我们寻找你的帐号。", - "authorize.step4.title": "正在进行帐号恢复", - "authorize.step4.text1": "感谢!我们已收到你的帐号恢复请求。", - "authorize.step4.text2": "请等待48小时让我们寻找你的专业版帐号。", - "authorize.step4.text3": "我们会反馈结果给上面填写的邮箱地址。", - "authorized.continue": "下一步", - "authorized.continue.lantern": "进入蓝灯专业版", - "authorized.text": "当前设备被授权使用您蓝灯专业版账户了!", - "authorized.title": "设备已授权", - "button.account": "帐号", - "button.renew": "续期", - "button.upgrade": "升级", - "button.upgrade_now": "现在升级", - "button.upgrade_to_lantern_pro": "升级到蓝灯专业版", - "button.copy_your_code": "复制您的邀请码", - "button.try_again": "重试", - "button.continue": "继续", - "button.continue_to": "继续使用 {{planType}}", - "bullet.click_button": "点击下面的按钮", - "bullet.paste_code": "复制邀请码和下载链接", - "bullet.send_to_friends": "发送给你的朋友", - "cancel": "取消", - "confirm": "确认", - "norecoveryyinbi": "无法恢复隐币钱包", - "email.recovery.check.email": "请到邮箱查看授权码", - "email.recovery.code.label": "输入或粘贴授权码", - "email.recovery.no.code": "没有收到授权码?", - "email.recovery.text": "请输入您的邮箱,我们将发送验证码协助您重设密码。\n如果您有隐币钱包,上述方法无法恢复您的隐币钱包。如需恢复隐币钱包,请输入隐币助记词", - "email.recovery.desc": "如果您希望通过邮箱收到授权码,请选此方式", - "device.recovery.desc": "如果您已经有专业版设备在身边,请选此方法", - "google_search": "谷歌搜索", - "giveaway.upgrade": "升级蓝灯免费领取当日的隐币分配!", - "giveaway.title_released_today": "当日YNB额度", - "giveaway.what_is_it": "什么是Yinbi赠送?", - "giveaway.description1": "YNB会根据购买当天发放隐币总量,当天购买/续费蓝灯专业版的数量和和时长,您购买/续费蓝灯专业版的数量和时长当日日终直接发放到您的隐币钱包。", - "giveaway.description2": "YNB会根据购买当天发放隐币总量,当天购买/续费蓝灯专业版的数量和和时长,您购买/续费蓝灯专业版的数量和时长当日日终直接发放到您的隐币钱包。", - "giveaway.learn_more": "了解更多", - "link_device": "已经有专业版帐户?请登录", - "email.recovery": "通过邮箱恢复", - "email_taken": "邮箱已使用", - "username_taken": "用户名已使用", - "err.unknown_error": "未知错误", - "err.internal_error": "内部错误", - "err.bad_input": "错误输入", - "err.not_authorized": "登录失败", - "err.user_exists": "用户存在", - "err.no_such_user": "无此用户", - "err.user_already_verified": "用户已验证", - "err.invalid_user_verification": "无效用户验证", - "err.user_unverified": "用户未验证", - "err.operation_temporarily_unavailable": "操作暂时不可用", - "err.wrong_or_inexistent_plan": "错误或不存在的套餐", - "err.user_has_active_subscription": "用户已激活订阅", - "err.payment_error": "支付错误", - "err.no_codes_left": "无邀请码", - "err.wrong_code": "邀请码错误", - "err.redeeming_own_code_not_allowed": "不允许兑换自己的邀请码", - "err.wrong_charge_id": "充值 ID 不正确", - "err.wrong_link_code": "设备授权码错误", - "err.invalid_credentials": "提供的用户凭证无效", - "footer.reseller": "想赚钱吗?成为蓝灯代理商吧。请点击这里。", - "footer.reseller.email_subject": "关于蓝灯代理商的详情", - "footer.reseller.email_body": "当你成为蓝灯代理商,你可以对销售蓝灯专业版销售额进行最多25% 的提成。请联络我们并知之为何想要成为蓝灯代理商。", - "feature.faster_speed": "速度更快", - "feature.faster": "速度更快", - "feature.unlimited": "无限流量", - "feature.nologs": "无服务器记录", - "feature.devices": "支持3个设备", - "feature.noads": "无广告", - "feature.yinbi.tooltip": "隐币基金会将通过蓝灯向购买蓝灯专业版的用户独家赠送 8880 亿个隐币。在每天结束时,基金会会根据当天发布的隐币数量、升级/续费人数以及购买年限或账户数量来发放隐币。隐币将直接存入您在蓝灯的隐币钱包!", - "feature.antiblock": "更抗封锁", - "feature.data_center": "更好的服务器", - "feature.free_yinbi": "免费加密货币!", - "free.title": "蓝灯专业版", - "free.desc": "更快速,更强大,无限流量,安全", - "free.link_account": "已经有专业版帐户?请登录", - "home.get_lantern_pro": "购买蓝灯专业版", - "home.get_lantern_platinum": "升级您的计划", - "home.welcome_popup_subheader": "欢迎用Lantern!", - "home.welcome_popup_content_1": "我们正在努力更新蓝灯,增加新功能。", - "home.welcome_popup_content_2": "在新界面中,您可以在蓝灯网络中搜索文件,您也可以上传文件。这是一个测试功能,欢迎大家测试反馈。", - "home.welcome_popup_button": "试试", - "input.email": "电子邮件", - "input.your_email": "你的Email", - "input.confirm_email": "确认你的Email", - "input.enter_email": "请输入你的Email", - "input.use_valid_email": "请输入有效的电子邮件地址", - "input.email_not_match": "电子邮件地址不相符", - "input.existing_email": "Existing email", - "issue.your_email": "您的邮件", - "issue.attach_image_failure": "无法上传图片", - "issue.try_again": "请重试", - "issue.select_issue": "请选择问题类型", - "issue.selected_issue": "选择问题", - "issue.select_issue_hint": "请用下拉框选择问题类型", - "issue.note": "描述你的问题", - "issue.description": "问题描述", - "issue.error": "报告问题出错", - "issue.submit": "发送报告", - "issue.report_screenshot": "拖拽或点击上传图片", - "issue.reported": "感谢报告问题,我们会尽快通过邮件反馈。", - "issue.report_sent": "报告已发送", - "issue.type.no_access": "无法访问被屏蔽网站", - "issue.type.payment_fail": "无法完成支付", - "issue.type.cannot_login": "无法登录", - "issue.type.always_spinning": "始终显示载入中", - "issue.type.slow": "很慢", - "issue.type.cannot_link_device": "无法链接设备", - "issue.type.crashes": "Lantern 崩溃了", - "issue.type.other": "其他", - "languages.title": "语言", - "lantern.email": "蓝灯邮箱", - "mobile.link": "使用这个链接在您的安卓设备上下载蓝灯", - "mobile.title": "获取安卓版", - "nav.about": "关于", - "nav.account": "账号管理", - "nav.authorize": "授权其他设备使用专业版", - "nav.authorized": "在当前设备登录成功", - "nav.unauthorized_link": "授权设备使用专业版", - "nav.language": "语言", - "nav.lantern": "蓝灯", - "nav.mobile": "获取移动版本", - "nav.report_issue": "报告问题", - "nav.settings": "设置", - "nav.support": "支持", - "nav.verify": "账号验证", - "nav.yinbi": "兑换隐币", - "nav.home": "主页", - "nav.discover": "发现", - "nav.wallet": "钱包", - "nav.yinbi_wallet": "隐币钱包", - "notification.retry": "重试", - "notifications": "通知", - "notifications.whatisnew": "新功能", - "password.change": "修改密码", - "password.changed": "密码修改成功", - "continue.to.pro": "下一步", - "username": "用户名", - "password.new": "新密码", - "password.requirements": "
密码必须包含如下:
  • 8个及以上的字符
  • 1 个小写字母
  • 1 大写字母
  • 至少1个数字
  • 不是已经泄露的密码
", - "password.reset": "重设密码", - "paxful.buy": "购买", - "paxful.payment": "支付方式", - "paxful.bitcoin": "比特币 (BTC)", - "paxful.tether": "泰达币(USDT)", - "paxful.wallet": "电子钱包", - "paxful.bank": "银行转账", - "paxful.gamer_card": "游戏卡", - "paxful.gift_card": "礼品卡", - "paxful.cash": "现金", - "paxful.digital_currency": "数字货币", - "paxful.button": "显示优惠的交易", - "payment.close": "关闭", - "payment.redirectErrorTitle": "Error connecting to payment server", - "payment.redirectErrorText": "We are currently working on resolving this issue. Please check back later.", - "payment.wait_for_pro": "感谢你购买蓝灯专业版。请稍等片刻,蓝灯会自动会变成专业版。", - "payment.moreOptions": "更多选项", - "payment.fewerOptions": "更少选项", - "payment_methods.select_name": "选择付款方式", - "payment_methods.alipay": "信用卡/支付宝", - "payment_methods.shetab": "快速全球支付(Shetab)", - "payment_methods.shetab.details.header": "购买蓝灯专业版", - "payment_methods.shetab.details.body": "当您单击继续购买时,您将被重定向到外部站点以完成支付并收集激活码。", - "payment_methods.shetab.details.tutorial_header": "获取教程", - "payment_methods.shetab.details.purchase_voucher_button": "继续购买", - "payment_methods.shetab.details.input_code_button": "输入激活码", - "plan.step1": "步骤1", - "plan.apply": "应用", - "plan.step2": "步骤2", - "plan.most_popular": "最受欢迎", - "plan.step3": "步骤3", - "plan.choose_plan": "选择套餐", - "plan.enter_email": "输入邮箱", - "plan.choose_method": "选择付款方式", - "plan.bestValue": "最实惠!", - "plan.per_month": "每月", - "plan.yinbi_2x": "两倍隐币", - "plan.oneYear": "1 年", - "plan.add_referral": "输入邀请码", - "plan.years": "{{years}}年版", - "plan.desc": "收取{{price}}", - "plan.bonus_months": "+ {{bonusMonths}} 月", - "plan.price.cny": "¥%.02f", - "plan.price.usd": "$%.02f", - "plan.currency.cny": "(人民币)", - "plan.currency.usd": "(美元)", - "plan.time_unit": "年", - "plan.select": "选择", - "plan.two_year": "两年", - "plan.one_year": "一年", - "plan.savings": "节省 {{formattedDiscount}} %", - "plans.title": "蓝灯专业版套餐", - "plans.lantern_pro": "蓝灯专业版", - "plans.platforms": "支持Windows、安卓、Mac 和 Ubuntu。", - "plans.from_reseller": "有蓝灯专业版激活码吗?请点击这里。", - "plans.with_voucher_code": "网上打折购买了专业版激活码?点此升级", - "pro.apply": "您的积分将在下一个结算周期加入到您的账号。", - "pro.title": "邀请好友来获得更多的专业版使用时间。", - "pro.subtitle": "好友购买两年套餐后,双方都赠送三个月的专业版使用时间;好友购买一年套餐后,双方都会赠送一个月的使用时间。", - "pro.share": "与好友分享您的代码,开始赚取更多积分!", - "promotion.title": "蓝灯专业版购买", - "promotion.title.activation": "蓝灯专业版激活", - "promotion.enter_and_confirm_email": "请输入并确认的你的email地址", - "promotion.code.hint": "请输入邀请码(可选)", - "promotion.code.label": "邀请码", - "promotion.payment": "继续支付", - "promotion.payment.btc": "Pay with ₿", - "promotion.loading": "加载中…", - "promotion.howto_1y": "朋友给您分享了邀请码?输入邀请码,购买一年套餐后自动赠送一个月。", - "promotion.howto_2y": "朋友给您分享了邀请码?输入邀请码,购买两年套餐后自动赠送3个月。", - "promotion.pay": "支付 {{amount}}", - "promotion.select": "选择", - "promotion.promotion_applied_1y": "赠送一个月", - "promotion.promotion_applied_2y": "赠送3个月", - "promotion.too_many_referrals": "此邀请码已经添加。您获赠的时间付款后就能使用了。", - "promotion.activation.enter_and_confirm_email": "请输入并确认你的Email地址来注册蓝灯专业版账号。", - "promotion.activation.label": "XXXXX-XXXXX-XXXXX-XXXXX-XXXXX", - "promotion.activation.hint": "激活码", - "promotion.activation.instructions": "注册专业版账户,请输入邮箱和代理商处购买的25位激活码", - "promotion.activation.howto": "请输入25位蓝灯专业版激活码。如果你没有激活码,请退回选择套餐界面直接购买,或者在网上寻找蓝灯代理商。", - "promotion.activation.continue": "注册专业版账户", - "promotion.voucher.hint": "激活码", - "promotion.voucher.howto": "请在上面输入您的12个字符的快速全球支付激活码", - "promotion.voucher.label": "XXXXXXXXXXXX", - "promotion.voucher.error.default": "兑换激活码时出错。", - "promotion.voucher.error.invalid_code": "激活码无效", - "promotion.voucher.error.invalid_plan": "与无效预付关联的激活码", - "promotion.voucher.error.already_redeemed": "激活码已被兑换", - "referral.code": "邀请码", - "referral.text": "输入我的邀请码 %s 来获得三个月的蓝灯专业版!立即下载 https://github.com/getlantern/forum", - "referral.description_free": "与朋友分享你的邀请码,双方各获赠1个月时间。", - "referral.description_pro": "与朋友分享你的邀请码,双方各获赠1个月时间。", - "register": "注册", - "renew.subtitle_early": "现在续期立即获赠3个月!", - "renew.subtitle_last_day": "现在续期立即获赠3个月!", - "renew.subtitle_expired": "现在续期立即获赠45天!", - "renew.details_early": "你的蓝灯专业版快要过期了。现在续期可获赠最多3个月!", - "renew.details_last_day": "你的蓝灯专业版今天过期。现在续期可获赠最多3个月!", - "renew.details_expired": "你的蓝灯专业版账号过期了。今天续期可以获赠最多45天!", - "renew.asterisk_early": "* 只有提前续期的用户才能享受这项优惠。", - "renew.asterisk_last_day": "* 这是你获得这项特别优惠的最后机会!", - "renew.asterisk_expired": "* 这是一项限期优惠!", - "renew.plan_label": "蓝灯专业版 - %s", - "renew.plan_renewal_bonus_1_month": "¥%d%s + 免费 1 个月", - "renew.plan_renewal_bonus_months": "¥%d%s + 免费 %d 个月", - "renew.plan_renewal_bonus_days": "¥%d%s + 免费 %d 天", - "renew.next": "下一步", - "renew.decline": "拒接优惠", - "renew.decline_question": "你确认拒绝这个优惠么?", - "renew.decline_yes": "稍后续期", - "renew.decline_dismiss": "现在就续期", - "renew.notification_title_30_days": "现在续期可以获得限量折扣!", - "renew.notification_title_30_days_platinum": "现在续订白金版,可节省大量资金", - "renew.notification_text_30_days": "您的 {{planName}} 账户在 {{remainingDays}} 天后到期。现在续约,可获得长达 3 个月的免费使用期。", - "renew.notification_title_2_days": "{{planName}} 优惠明天结束!", - "renew.notification_text_2_days": "您的 {{planName}} 账户将于明天到期。不要错过享受超值优惠的机会。", - "renew.notification_title_last_day": "最后一次获得优惠的机会!", - "renew.notification_text_last_day": "您的 {{planName}} 账户已过期。今天续订,可获得长达 3 个月的免费服务。", - "replica.upload": "上传", - "replica.favorite": "收藏", - "replica.added_to_favorites": "Added to Favorites", - "replica.filedrop_error": "上传文件错误", - "replica.filedrop_error.file-too-large": "Maximum allowed file size is {{fileSize}}", - "replica.filedrop_error.file-too-small": "File is too small", - "replica.filedrop_error.too-many-files": "Too many files", - "replica.filedrop_error.file-invalid-type": "This file type is not currently supported", - "replica.filedrop_remove_file": "停止上传图片", - "replica.post": "上传文件", - "replica.relevance": "相关度", - "replica.upload_date": "上传日期", - "replica.gallery_view": "预览图展示", - "replica.list_view": "列表展示", - "replica.copy_lantern_link": "复制蓝灯链接", - "replica.documents": "文件", - "replica.audio": "音频", - "replica.application": "应用", - "replica.image": "图片", - "replica.video": "视频", - "replica.web": "网页", - "replica.news": "News", - "replica.upload_alert.dont_show": "不再显示", - "replica.upload_alert.cancel": "取消上传", - "replica.upload_alert.resume": "继续上传", - "replica.upload_alert.info": "重要信息!", - "replica.upload_alert.desc1": "文件上传到蓝灯网络后将去中心化分布式存储。一旦其他用户访问了这些文件,任何人 (包括蓝灯) 都无法将它们从网络中删除。 即使你已经删除该文件,也可能继续存在网络中。", - "replica.upload_alert.desc2": "因此上传敏感内容时请注意不要包含个人信息。", - "replica.add_details": "Add details", - "replica.cannot_edit": "Filenames cannot be edited once published.", - "replica.next": "下一步", - "replica.previous": "上一页", - "replica.selectAll": "全选", - "replica.search_replica": "搜索", - "replica.search_results_info": "此界面i显示蓝灯网络的结果", - "replica.search_results_info_message": "蓝灯网络的结果包含了用户上传的文件", - "replica.no_files_found": "无结果", - "replica.or_content": "你想让其他人看到的内容", - "replica.try_again": "尝试搜索其他关键词,或", - "replica.upload_success": "上传成功", - "replica.cannot_preview": "此文件无法预览", - "replica.no_description": "No description provided", - "replica.size": "dax", - "replica.uploaded": "已上传", - "replica.invalid_link": "无效链接", - "replica.close": "关闭", - "replica.files": "Files", - "replica.upload_history": "Upload history", - "replica.my_favorites": "收藏", - "replica.no_uploads": "还未上传", - "replica.no_favorites": "No Favorites Yet", - "replica.mime_type": "File type: {{mime}}", - "replica.image_loading_error": "加载图片错误", - "replica.play": "Play", - "replica.pause": "Pause", - "replica.scrub": "Scrub", - "replica.skip_forward": "Skip forward", - "replica.skip_backwards": "Skip backwards", - "replica.trending_videos": "热门视频", - "replica.file_uploaded": "Uploaded: {{days}} days ago", - "replica.file_size": "文件大小: %s", - "replica.duration": "Duration", - "replica.filename": "文件名", - "replica.filename_required": "命名文件", - "replica.description_optional": "Add Description", - "replica.expand": "Expand details", - "replica.filetype": "文件类型", - "replica.sortby": "排序", - "replica.link": "链接", - "replica.collapse": "折叠", - "replica.publish": "发布", - "replica.cancel": "取消", - "replica.progress_current_upload": "上传", - "replica.progress_files": "文件", - "replica.progress_of": "of", - "replica.progress_upload_complete": "完成", - "replica.progress_upload_failure": "上传文件失败,请重试", - "replica.upload_in_progress": "上传文件中", - "replica.upload_pending": "正在上传", - "replica.upload_error": "上传失败", - "replica.upload_cancel": "取消上传", - "replica.upload_confirm": "您确认取消上传吗?", - "replica.progress_view": "View", - "replica.delete": "删除", - "replica.remove": "移除", - "replica.delete_file": "删除文件", - "replica.remove_favorite": "Remove from Favorites", - "replica.failed_to_delete": "无法删除", - "replica.failed_to_remove": "Failed to remove", - "replica.link_lookup_failure": "无法找到链接", - "replica.delete_file_confirmation_1": "确定删除?", - "replica.delete_file_confirmation_2": "你的上传", - "replica.remove_favorite_confirmation_1": "Are you sure you want to remove", - "replica.remove_favorite_confirmation_2": "from your favorites", - "replica.share_file": "分享内容", - "replica.download_and_view": "下载/查看", - "replica.download": "下载", - "replica.copy_link": "复制Replica链接", - "replica.find_file": "查找内容", - "replica.file_drop_prompt": "Drop file to begin upload!", - "replica.empty_uploads_text1": "点击", - "replica.empty_uploads_text2": "这里", - "replica.empty_uploads_text3": "来发表您的第一篇文章。", - "replica.error_header": "Oops", - "replica.error": "There was an error processing your request. Please try again.", - "replica.serp_empty": "谷歌对此没有任何搜索结果。", - "replica.disclaimer": "Lantern anonymizes your searches and protects them from third parties", - "settings.general": "通用", - "settings.feedback": "反馈", - "settings.autoLaunch": "系统启动时运行 Lantern", - "settings.autoReport": "安全报告使用统计以帮助改进蓝灯", - "settings.lantern_ads": "Show Lantern Ads", - "settings.lantern_ads_tooltip": "Lantern shows you ads on some websites to help support our service. No user information is collected or passed to our servers. If you turn this option off, you may still see ads, but they will not be from the Lantern network.", - "settings.proxyAll": "代理全部流量", - "settings.proxyAllHelpTitle": "什么叫“代理全部流量”", - "settings.proxyAllHelp1": "如果开启,所有流量将通过蓝灯传输(最安全)", - "settings.proxyAllHelp2": "如果关闭,仅被封锁的流量通过蓝灯传输(最快且常用)", - "settings.show_advanced": "显示高级设置", - "settings.hide_advanced": "隐藏高级设置", - "settings.systemProxy": "管理系统代理", - "settings.title": "设置", - "settings.http_proxy": "HTTP(S)代理服务器:", - "settings.socks_proxy": "SOCKS代理服务器:", - "settings.caution": "请注意:", - "settings.caution_text": "在您取消“管理系统代理”后,您的浏览器和应用程序将不会自动使用蓝灯。手动配置相关设置的方法见上文。", - "settings.select_language": "选择语言", - "settings.diagnostics": "Attach Diagnostic Information", - "settings.diagnostics_tooltip": "Attaching diagnostic information will send the Lantern team data captured from your connection. This will increase our ability to identify and solve your issue.", - "status.lantern": "蓝灯状态", - "status.click_reconnect": "点击重新联网", - "status.server_location": "服务器位置", - "status.tooltip1": "蓝灯智能选择服务器,使您连接至我们最好的数据中心", - "status.tooltip2": "升级蓝灯专业版,使用高速流量,尊享专业版数据中心和优化的服务器", - "status.protected_connection": "已保护您的链接", - "status.please_wait": "这可能需要1-2分钟...", - "status.connecting": "连接中…", - "status.no_internet": "没有联网", - "status.no_internet_connection": "没有互联网连接", - "status.connected": "已连接", - "status.disconnected": "已断开", - "status.throttled": "限速中(高速流量已用尽)", - "status.no_system_proxy": "{{status}},没有管理系统代理", - "status.fail_to_set_system_proxy": "无法将蓝灯设置为系统代理", - "status.fail_to_open_browser": "无法打开浏览器显示蓝灯界面", - "support.forum": "蓝灯用户论坛", - "support.faq": "蓝灯论坛", - "terms_of_service.acknowledgment": "点击 {{buttonText}},即表示您同意接受我们的条款", - "terms_of_service.replica": "点击搜索 ,上传或通过任何方式使用我们的产品 ,即表示您同意我们的 Terms of Service, Privacy Policy and DMCA Policy", - "top_sites.google": "谷歌", - "top_sites.twitter": "推特", - "top_sites.youtube": "油管", - "top_sites.facebook": "脸书", - "top_sites.wikipedia": "维基百科", - "verify.header": "输入或粘贴验证码", - "verify.code": "动态授权码或支持码", - "verify.howto_1": "如果您已经有蓝灯专业版帐户,请输入您的电子邮件地址,以接收验证码,来绑定当前设备。", - "verify.howto_1a": "请输入您的电子邮件地址来验证您的专业版账户。验证通过后您就能绑定多台设备。", - "verify.howto_2": "授权设备使用你的专业版账户", - "verify.howto_3": "在已登陆专业版的设备上点击“授权其他设备使用专业版”", - "verify.howto_4": "在现在这个界面输入上一步获得的动态授权码或支持码", - "verify.reminder": "*请确保两台设备都使用最新版本", - "verify.enter_pin": "输入或粘贴验证码", - "verify.submit": "提交", - "verify.title": "账号验证", - "welcomeToPro.continue": "下一步", - "welcomeToPro.invite": "邀请好友购买,如果对方购买两年套餐,双方都会免费得到三个月的专业版使用时间;如果购买一年套餐,双方都会免费得到一个月的使用时间。现在就邀请!", - "welcomeToPro.thanks": "现在起,蓝灯最高速的数据中心和专线将开始为您提供无限量上网服务。您最多可同时接入三台设备。", - "welcomeToPro.title": "欢迎使用蓝灯专业版", - "welomeToPro.title_exclamation": "欢迎使用蓝灯专业版!", - "purchase.failed": "购买失败,请稍后重试。", - "purchase.success": "购买成功", - "purchase.success_title": "欢迎使用蓝灯 {{planType}}!", - "purchase.success_content_pro": "现在起,蓝灯最高速的数据中心和专线将开始为您提供无限量上网服务。您最多可同时接入三台设备。", - "purchase.success_content_platinum": "现在您可以使用我们的专线和最快的数据中心进行无限量访问。您最多可同时接入三台设备。", - "welcomeToPro.description": "现在您可以访问被封锁网站和服务了。", - "messages.copied_to_clipboard": "代码已复制。与您的朋友分享吧!", - "messages.datacap": "您已经用完了免费的高速流量,将被限速。请升级到专业版来享受无限高速流量。", - "messages.fatal_error": "很抱歉,我们无法连接到蓝灯的服务器。请检查您的网络连接并重试。", - "messages.backend_gone": "很抱歉,蓝灯似乎未在运行。请重启蓝灯并重试。", - "messages.get_help": "获取帮助", - "freeProCredits.title": "邀请好友", - "freeProCredits.shareWithFriends": "和朋友分享邀请码免费获赠专业版", - "freeProCredits.shareWithFriendsDesc": "好友购买两年套餐后,会赠送双方3个月专业版;好友购买一年套餐后,则赠送双方1个月。", - "cards.serverLocation.unknown": "未知", - "cards.serverLocation.description": "最快的服务器位置", - "cards.serverLocation.description-free": "服务器位置", - "cards.serverLocation.description-upgrade": "升级至更快的服务器", - "cards.serverLocation.title": "当前位置", - "cards.serverLocation.location": "%s, %s", - "cards.serverLocation.text": "蓝灯专业版会根据独创的算法和你的本地网络状况智能在日本, 新加坡, 香港, 旧金山, 纽约, 阿姆斯特丹, 班加罗尔等地自动选择最快的服务器。", - "cards.serverLocation.text-free": "蓝灯智能选择服务器,使您连接至我们最好的数据中心", - "cards.serverLocation.upgrade-link": "升级到蓝灯专业版可以获得更快的上网速度,因为专业版有专供的服务器和优化的访问线路。", - "cards.httpsUpgrades.description": "增加网站安全性", - "cards.httpsUpgrades.title": "增加了 %d 个网站的安全性", - "cards.httpsUpgrades.text": "蓝灯会自动将不安全的HTTP链接升级成为加密的HTTPS链接以保证您在访问网站时的信息安全。蓝灯的服务器也无法知道HTTPS链接的内容。", - "cards.adsBlocked.description": "广告拦截", - "cards.adsBlocked.title": "已拦截 %d 个广告", - "cards.adsBlocked.text": "蓝灯会阻止侵入式广告,加快网页加载速度,节省带宽,为您提供更为流畅的浏览体验。", - "cards.dataUsage.description": "数据用量", - "cards.dataUsage.upgrade": "现在升级", - "cards.dataUsage.mb-used": "您已使用本月%d/%dMB高速流量", - "cards.dataUsage.upgrade-link": "升级到专业版可无限量的高速浏览!", - "cards.subscription.description": "专业版购买", - "cards.subscription.renew": "续期", - "cards.subscription.months": "您的蓝灯专业版订阅还有%d个月剩余", - "cards.subscription.days": "您的蓝灯专业版订阅还有%d天剩余", - "cards.subscription.unit.months": "个月", - "cards.subscription.unit.days": "天", - "cards.subscription.renew-link": "续期您的订阅来增加更多使用时间", - "auth.email": "电子邮件", - "auth.username": "用户名", - "auth.username.or.email": "用户名或邮箱", - "auth.signin": "登录", - "current.password": "当前密码", - "new.password": "新密码", - "auth.change.password": "修改密码", - "confirm.new.password": "确认新密码", - "auth.password": "密码", - "auth.have.recovery.phrase": "Have a Recovery Phrase?", - "auth.forgot.password": "忘记或没有密码?", - "auth.create.account": "创建账号", - "auth.missing.username": "缺失用户名", - "auth.missing.current.password": "缺失当前密码", - "auth.missing.new.password": "缺失新密码", - "auth.missing.confirm.password": "缺失再次确认密码", - "invalid_credentials": "无效凭证", - "yinbi.wallet": "隐币钱包", - "create.wallet": "开通钱包", - "new.to.yinbi": "第一次来到隐币?", - "setup.wallet": "是,开通隐币钱包", - "web.wallet": "否,我已经通过网站Yin.bi注册了钱包", - "yinbi.next": "下一步", - "yinbi.amount": "金额", - "yinbi.missing.address": "未提供接收钱包地址", - "yinbi.missing.amount": "未填写具体金额", - "yinbi.missing.email": "未填写具体邮箱", - "yinbi.missing.username": "未填写用户名", - "yinbi.missing.password": "未填写密码", - "yinbi.invalid.address": "{{destination}} 不是一个有效的恒星币地址", - "yinbi.send": "发送", - "yinbi.to": "支付到:", - "yinbi.try_again": "重新尝试?", - "yinbi.success.transaction": "交易成功!", - "yinbi.failure.transaction": "交易失败", - "yinbi.confirm.transaction": "确认交易", - "yinbi.sent.details": "您将支付{{amount}} YNB到 {{destination}}", - "yinbi.sent.failure.details": "您的交易因如下原因失败:", - "yinbi.recipient": "接收方", - "yinbi.available.send": "您有 {{balance}} YNB 可供支付", - "yinbi.wallet.header": "钱包", - "yinbi.send.header": "支付隐币", - "yinbi.recovery.phrase": "隐币恢复助记词", - "yinbi.recover.account": "输入或复制您的隐币助记词以恢复您的隐币钱包及蓝灯账户", - "yinbi.recovery.desc": "如果您希望同时登入隐币钱包和蓝灯账户,请使用此方法", - "yinbi.redeem.codes": "批量兑换隐币", - "yinbi.obtain.codes": "批量获取隐币兑换码请到 reseller.lantern.io", - "yinbi.receive.header": "接收隐币", - "yinbi.this.is.your.wallet": "这是您的隐币钱包地址,他人可通过这个地址向您支付隐币", - "yinbi.your.address": "您的地址", - "yinbi.no.activity.header": "无交易记录", - "yinbi.upgrade.pro.button": "升级到专业版即可免费获取隐币", - "yinbi.renew.pro.button": "专业版续费可免费获赠隐币", - "yinbi.wallet.activity_header": "交易", - "yinbi.wallet.send": "发送", - "yinbi.wallet.receive": "接收", - "yinbi.wallet.balance": "余额", - "yinbi.wallet.getlantern.pro": "获取蓝灯专业版+赠送隐币", - "yinbi.redemption.codes": "隐币兑换码", - "redeem_codes.title": "兑换隐币", - "redeem_codes.redeem_button_text": "兑换", - "redeem_codes.cancel_button_text": "取消", - "redeem_codes.success": "成功", - "redeem_codes.errors.missing_codes": "无效的兑换码", - "redeem_codes.errors.invalid_codes": "错误,请检查标记的兑换码是否正确。\n划掉的兑换码已经过期且不能用于兑换隐币。", - "yinbi.new.account.text": "您的交易收支记录将会显示在这里。", - "yinbi.createAccount": "创建账号", - "yinbi.confirm.account.text": "请确保您正确记下了助记词,并输入如下单词", - "create_account.invalid_words.error": "这个单词与提供的助记词不符", - "yinbi.recovery_text": "这是您的隐币钱包恢复助记词。如果您忘记了密码,这是恢复您的隐币钱包的唯一方式\n建议使用密码管理器或打印存储这些助记词。", - "yinbi.recovery_confirm_text": "这是您的隐币钱包恢复助记词。如果您忘记了密码,这是恢复您的隐币钱包的唯一方式\n建议使用密码管理器或打印存储这些助记词。", - "yinbi.import.wallet": "Import Wallet", - "yinbi.setup.wallet": "Set up Wallet", - "yinbi.importWallet": "导入Yin.bi 钱包", - "yinbi.import.wallet.continue": "Continue to Your Wallet", - "yinbi.import.wallet.success": "Import Wallet Success!", - "yinbi.wallet.text": "使用隐币钱包,您可以创建或登录账户,或导入通过Yin.bi注册的隐币钱包。", - "yinbi.wallet.pro.text": "使用隐币钱包,您可以创建新账户,或导入通过Yin.bi注册的隐币钱包。", - "yinbi.recovery_subheader": "隐币钱包恢复助记词", - "yinbi.import_wallet.subheader": "导入隐币钱包", - "yinbi.import_wallet.text": "将隐币钱包整合到蓝灯,请输入您的隐币密码", - "yinbi.import_wallet.success": "已经成功导入您的隐币钱包,请输入邮箱完成注册", - "yinbi.import_wallet.success_subheader": "钱包导入成功!", - "yinbi.import_wallet.button": "导入Yin.bi 钱包", - "yinbi.import_wallet.success_button": "完成注册", - "yinbi.recovery_passphrase.label_text": "恢复助记词", - "yinbi.recovery_passphrase.copy_button_text": "复制", - "terms_of_service.notice": "提醒", - "terms_of_service.i_agree": "我同意", - "platinum": "白金版", - "platinum.one_year": "1 年价格", - "platinum.two_years": "2 年价格", - "platinum.save": "节省高达 {{savings}}%!", - "platinum.unlimited": "无限流量", - "platinum.logs": "无服务器记录", - "platinum.devices": "支持3个设备", - "platinum.everything_in_pro": "专业版中包含所有内容", - "platinum.faster_data": "速度更快", - "platinum.dedicated": "专线", - "platinum.reliability": "更可靠", - "platinum.platinum_one_year": "蓝灯白金版 1 年", - "platinum.platinum_two_years": "蓝灯白金版 2 年", - "platinum.pro_one_year": "蓝灯专业版 1 年", - "platinum.pro_two_years": "蓝灯专业版 2 年", - "platinum.total": "总计", - "platinum.free": "免费", - "platinum.credit.days": "+ {{ days }} 天", - "platinum.credit.months": "{{ months }} 月", - "platinum.upgrade": "升级为白金版", - "platinum.upgrade_details": "专线 + 更快的数据中心!", - "platinum.unused_time_disclaimer": "专业版用户升级到白金版后,将看到他们转换后的专业版订阅被列为上面的新增时间。", - "p2p.opt_in_description": "Use your internet to help people access the internet uncensored", - "p2p.active_sharing_description": "Your internet sharing is on", - "p2p.dialog.title": "Share internet access", - "p2p.dialog.text.1": "Help others with restricted access to the internet by sharing your connection. By allowing access to your internet, you will be part of a network of volunteers that makes the internet more open.", - "p2p.dialog.text.2": "Sharing will not compromise your identity or safety. You can stop sharing your internet whenever you want.", - "p2p.dialog.yes_button": "YES, START SHARING", - "p2p.dialog.no_button": "CANCEL", - "p2p.banner.introducing": "INTRODUCING", - "top_sites.top_sites": "热门网站" -} \ No newline at end of file diff --git a/macos/Podfile.lock b/macos/Podfile.lock index 042bc332e..25bc122e3 100644 --- a/macos/Podfile.lock +++ b/macos/Podfile.lock @@ -141,4 +141,4 @@ SPEC CHECKSUMS: PODFILE CHECKSUM: 236401fc2c932af29a9fcf0e97baeeb2d750d367 -COCOAPODS: 1.15.2 +COCOAPODS: 1.14.3 diff --git a/protos_shared/vpn.proto b/protos_shared/vpn.proto index a49a846eb..82d9544f4 100644 --- a/protos_shared/vpn.proto +++ b/protos_shared/vpn.proto @@ -48,7 +48,6 @@ message Plan { message PaymentProviders { string name = 1; - map data = 2; repeated string logoUrls = 3; } diff --git a/pubspec.lock b/pubspec.lock index e6e94d1f7..1eae7ea30 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -760,6 +760,14 @@ packages: url: "https://pub.dev" source: hosted version: "2.0.17" + flutter_staggered_grid_view: + dependency: transitive + description: + name: flutter_staggered_grid_view + sha256: "19e7abb550c96fbfeb546b23f3ff356ee7c59a019a651f8f102a4ba9b7349395" + url: "https://pub.dev" + source: hosted + version: "0.7.0" flutter_svg: dependency: transitive description: @@ -908,18 +916,34 @@ packages: dependency: "direct main" description: name: i18n_extension - sha256: f3b60575f30ba835d405fcb41ac28ce8efe7caa5812fd93074eaffae7877cb70 + sha256: "514fca4f34e8eb73cd29d2938225bf139b1ff3cede462c0b2875f60f470e64b2" url: "https://pub.dev" source: hosted - version: "7.0.0" + version: "11.0.12" + i18n_extension_core: + dependency: transitive + description: + name: i18n_extension_core + sha256: f45157bcd04d4fd88811e8e7c104a66ffbf77d16a6cf8526197c30cb78cbf1c4 + url: "https://pub.dev" + source: hosted + version: "2.0.6" + i18n_extension_importer: + dependency: "direct main" + description: + name: i18n_extension_importer + sha256: "4fd651ff47ac52f604b34b5cd80ee225d38fe589d51b042f00178081b476252f" + url: "https://pub.dev" + source: hosted + version: "0.0.6" infinite_scroll_pagination: dependency: "direct main" description: name: infinite_scroll_pagination - sha256: "9517328f4e373f08f57dbb11c5aac5b05554142024d6b60c903f3b73476d52db" + sha256: b68bce20752fcf36c7739e60de4175494f74e99e9a69b4dd2fe3a1dd07a7f16a url: "https://pub.dev" source: hosted - version: "3.2.0" + version: "4.0.0" integration_test: dependency: "direct dev" description: flutter @@ -1670,10 +1694,10 @@ packages: dependency: "direct main" description: name: tray_manager - sha256: e0ac9a88b2700f366b8629b97e8663b6ef450a2f169560a685dc167bfe9c9c29 + sha256: c9a63fd88bd3546287a7eb8ccc978d707eef82c775397af17dda3a4f4c039e64 url: "https://pub.dev" source: hosted - version: "0.2.2" + version: "0.2.3" typed_data: dependency: transitive description: @@ -1982,10 +2006,10 @@ packages: dependency: "direct main" description: name: window_manager - sha256: b3c895bdf936c77b83c5254bec2e6b3f066710c1f89c38b20b8acc382b525494 + sha256: "8699323b30da4cdbe2aa2e7c9de567a6abd8a97d9a5c850a3c86dcd0b34bbfbf" url: "https://pub.dev" source: hosted - version: "0.3.8" + version: "0.3.9" xdg_directories: dependency: transitive description: @@ -2027,5 +2051,5 @@ packages: source: hosted version: "2.2.0" sdks: - dart: ">=3.2.3 <4.0.0" - flutter: ">=3.16.6" + dart: ">=3.2.6 <4.0.0" + flutter: ">=3.19.6" diff --git a/pubspec.yaml b/pubspec.yaml index 89de4030d..1734f7472 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -19,7 +19,7 @@ version: 1.0.0+1 environment: sdk: '>=3.2.3 <4.0.0' - flutter: '>=3.3.0' + flutter: 3.19.6 dependencies: # SDKs @@ -50,7 +50,7 @@ dependencies: emoji_picker_flutter: ^1.6.4 pin_code_text_field: ^1.8.0 scrollable_positioned_list: ^0.3.8 - infinite_scroll_pagination: ^3.2.0 + infinite_scroll_pagination: ^4.0.0 wakelock: ^0.6.2 email_validator: ^2.1.17 credit_card_validator: ^2.1.0 @@ -77,8 +77,9 @@ dependencies: # Navigation & Localization auto_route: ^7.8.4 - i18n_extension: ^7.0.0 - intl: ^0.18.0 + i18n_extension: ^11.0.12 + i18n_extension_importer: ^0.0.6 + intl: ^0.18.1 # QR qr_flutter: ^4.1.0