From bdd40609cc8188ccb8abb3d82459c5cfff67bc69 Mon Sep 17 00:00:00 2001 From: Nostr Buddha Date: Thu, 31 Oct 2024 09:12:49 +0000 Subject: [PATCH 1/7] Link to Figma designs (#25) Solves https://github.com/bisq-network/bisq-mobile/issues/2 Thanks Buddha, amazing work!!! --- bisqapps/README.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/bisqapps/README.md b/bisqapps/README.md index eaa3e6e2..f0e56469 100644 --- a/bisqapps/README.md +++ b/bisqapps/README.md @@ -37,6 +37,14 @@ If you are a mobile enthusiast and feel driven by Bisq goals, please reach out! Alternatively, you could run `./gradlew clean build` (1) first from terminal and then open with your IDE of preference. +#### UI Designs +androidNode + xClient screens are designed in Figma. +Yet to differentiate between which screens goes into which. + +Figma link: https://www.figma.com/design/IPnuicxGKIZXq28gybxOgp/Xchange?node-id=7-759&t=LV9Gx9XgJRvXu5YQ-1 + +Though the figma design captures most of the functionality, it's an evolving document. It will be updated with new screens, flow updates, based on discussions happening in GH issues / matrix. + ### Configuring dev env: known issues - Some Apple M chips have trouble with cocoapods, follow [this guide](https://stackoverflow.com/questions/64901180/how-to-run-cocoapods-on-apple-silicon-m1/66556339#66556339) to fix it From c9aece0cce8ae8ebafd8031cebed0cfe815b7dac Mon Sep 17 00:00:00 2001 From: Rodrigo Varela Date: Fri, 1 Nov 2024 17:28:12 +1100 Subject: [PATCH 2/7] Apps versioning - removed version harcodings in favour of gradle.properties (#26) - read gradle properties for gradle setup configs - added kmp lib for shared build config generation - printing shared properties in main presenter as an example --- bisqapps/androidClient/build.gradle.kts | 10 +++++- bisqapps/androidNode/build.gradle.kts | 10 +++++- bisqapps/build.gradle.kts | 2 ++ bisqapps/gradle.properties | 10 ++++++ bisqapps/gradle/libs.versions.toml | 4 ++- bisqapps/shared/domain/build.gradle.kts | 4 ++- bisqapps/shared/domain/domain.podspec | 2 +- bisqapps/shared/presentation/build.gradle.kts | 33 ++++++++++++++++++- .../shared/presentation/presentation.podspec | 2 +- .../bisq/mobile/presentation/MainPresenter.kt | 8 +++++ 10 files changed, 78 insertions(+), 7 deletions(-) diff --git a/bisqapps/androidClient/build.gradle.kts b/bisqapps/androidClient/build.gradle.kts index 479e3cad..f46340e4 100644 --- a/bisqapps/androidClient/build.gradle.kts +++ b/bisqapps/androidClient/build.gradle.kts @@ -8,6 +8,9 @@ plugins { alias(libs.plugins.compose.compiler) } +version = project.findProperty("client.android.version") as String +val sharedVersion = project.findProperty("shared.version") as String + kotlin { androidTarget { @OptIn(ExperimentalKotlinGradlePluginApi::class) @@ -51,7 +54,9 @@ android { minSdk = libs.versions.android.minSdk.get().toInt() targetSdk = libs.versions.android.targetSdk.get().toInt() versionCode = 1 - versionName = "0.0.1" + versionName = version.toString() + buildConfigField("String", "APP_VERSION", "\"${version}\"") + buildConfigField("String", "SHARED_VERSION", "\"${sharedVersion}\"") } packaging { resources { @@ -63,6 +68,9 @@ android { isMinifyEnabled = false } } + buildFeatures { + buildConfig = true + } compileOptions { sourceCompatibility = JavaVersion.VERSION_11 targetCompatibility = JavaVersion.VERSION_11 diff --git a/bisqapps/androidNode/build.gradle.kts b/bisqapps/androidNode/build.gradle.kts index 91ec6eb4..0e8cd105 100644 --- a/bisqapps/androidNode/build.gradle.kts +++ b/bisqapps/androidNode/build.gradle.kts @@ -8,6 +8,9 @@ plugins { alias(libs.plugins.compose.compiler) } +version = project.findProperty("node.android.version") as String +val sharedVersion = project.findProperty("shared.version") as String + kotlin { androidTarget { @OptIn(ExperimentalKotlinGradlePluginApi::class) @@ -33,7 +36,9 @@ android { minSdk = libs.versions.android.node.minSdk.get().toInt() targetSdk = libs.versions.android.targetSdk.get().toInt() versionCode = 1 - versionName = "0.0.1" + versionName = project.version.toString() + buildConfigField("String", "APP_VERSION", "\"${version}\"") + buildConfigField("String", "SHARED_VERSION", "\"${sharedVersion}\"") } packaging { resources { @@ -45,6 +50,9 @@ android { isMinifyEnabled = false } } + buildFeatures { + buildConfig = true + } compileOptions { sourceCompatibility = JavaVersion.VERSION_17 targetCompatibility = JavaVersion.VERSION_17 diff --git a/bisqapps/build.gradle.kts b/bisqapps/build.gradle.kts index 978a47f1..0158e72f 100644 --- a/bisqapps/build.gradle.kts +++ b/bisqapps/build.gradle.kts @@ -6,4 +6,6 @@ plugins { alias(libs.plugins.kotlinMultiplatform).apply(false) alias(libs.plugins.kotlinCocoapods).apply(false) alias(libs.plugins.compose.compiler).apply(false) + + alias(libs.plugins.buildconfig).apply(false) } diff --git a/bisqapps/gradle.properties b/bisqapps/gradle.properties index c205b0f9..0245fefd 100644 --- a/bisqapps/gradle.properties +++ b/bisqapps/gradle.properties @@ -9,3 +9,13 @@ kotlin.code.style=official #Android android.useAndroidX=true android.nonTransitiveRClass=true + +#Versioning +shared.version=0.0.2 + +node.name=Bisq +node.android.version=0.0.1 + +client.name=BisqClient +client.android.version=0.0.1 +client.ios.version=0.0.1 \ No newline at end of file diff --git a/bisqapps/gradle/libs.versions.toml b/bisqapps/gradle/libs.versions.toml index fb7b4ee1..3e8f4220 100644 --- a/bisqapps/gradle/libs.versions.toml +++ b/bisqapps/gradle/libs.versions.toml @@ -17,6 +17,7 @@ junit = "4.13.2" kotlin = "2.0.20" kotlinx = "1.9.0" kermit = "2.0.4" +buildconfig = "5.5.0" [libraries] kotlin-test = { module = "org.jetbrains.kotlin:kotlin-test", version.ref = "kotlin" } @@ -41,4 +42,5 @@ androidApplication = { id = "com.android.application", version.ref = "agp" } androidLibrary = { id = "com.android.library", version.ref = "agp" } jetbrainsCompose = { id = "org.jetbrains.compose", version.ref = "compose-plugin" } compose-compiler = { id = "org.jetbrains.kotlin.plugin.compose", version.ref = "kotlin" } -kotlinMultiplatform = { id = "org.jetbrains.kotlin.multiplatform", version.ref = "kotlin" } \ No newline at end of file +kotlinMultiplatform = { id = "org.jetbrains.kotlin.multiplatform", version.ref = "kotlin" } +buildconfig = { id = "com.github.gmazzo.buildconfig", version.ref = "buildconfig" } \ No newline at end of file diff --git a/bisqapps/shared/domain/build.gradle.kts b/bisqapps/shared/domain/build.gradle.kts index e1de529c..e7816a18 100644 --- a/bisqapps/shared/domain/build.gradle.kts +++ b/bisqapps/shared/domain/build.gradle.kts @@ -4,6 +4,8 @@ plugins { alias(libs.plugins.androidLibrary) } +version = project.findProperty("shared.version") as String + kotlin { androidTarget { compilations.all { @@ -19,7 +21,7 @@ kotlin { cocoapods { summary = "Shared Domain business logic and KOJOs" homepage = "X" - version = "0.0.1" + version = project.version.toString() ios.deploymentTarget = "16.0" podfile = project.file("../../iosClient/Podfile") framework { diff --git a/bisqapps/shared/domain/domain.podspec b/bisqapps/shared/domain/domain.podspec index e8296e50..d577324b 100644 --- a/bisqapps/shared/domain/domain.podspec +++ b/bisqapps/shared/domain/domain.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |spec| spec.name = 'domain' - spec.version = '0.0.1' + spec.version = '0.0.2' spec.homepage = 'X' spec.source = { :http=> ''} spec.authors = '' diff --git a/bisqapps/shared/presentation/build.gradle.kts b/bisqapps/shared/presentation/build.gradle.kts index 21c5dec3..8a4d3930 100644 --- a/bisqapps/shared/presentation/build.gradle.kts +++ b/bisqapps/shared/presentation/build.gradle.kts @@ -4,6 +4,37 @@ plugins { alias(libs.plugins.androidLibrary) alias(libs.plugins.jetbrainsCompose) alias(libs.plugins.compose.compiler) + alias(libs.plugins.buildconfig) +} + +version = project.findProperty("shared.version") as String + +// The following allow us to configure each app type independently and link for example with gradle.properties +// TODO potentially to be refactored into a shared/common module +buildConfig { + forClass("network.bisq.mobile.client", className = "BuildConfig") { + buildConfigField("APP_NAME", project.findProperty("client.name").toString()) + buildConfigField("ANDROID_APP_VERSION", project.findProperty("client.android.version").toString()) + buildConfigField("IOS_APP_VERSION", project.findProperty("client.ios.version").toString()) + buildConfigField("SHARED_LIBS_VERSION", project.version.toString()) + buildConfigField("BUILD_TS", System.currentTimeMillis()) + } + forClass("network.bisq.mobile.android.node", className = "BuildNodeConfig") { + buildConfigField("APP_NAME", project.findProperty("node.name").toString()) + buildConfigField("APP_VERSION", project.findProperty("node.android.version").toString()) + buildConfigField("SHARED_LIBS_VERSION", project.version.toString()) + buildConfigField("BUILD_TS", System.currentTimeMillis()) + } +// buildConfigField("APP_SECRET", "Z3JhZGxlLWphdmEtYnVpbGRjb25maWctcGx1Z2lu") +// buildConfigField("OPTIONAL", null) +// buildConfigField("FEATURE_ENABLED", true) +// buildConfigField("MAGIC_NUMBERS", intArrayOf(1, 2, 3, 4)) +// buildConfigField("STRING_LIST", arrayOf("a", "b", "c")) +// buildConfigField("MAP", mapOf("a" to 1, "b" to 2)) +// buildConfigField("FILE", File("aFile")) +// buildConfigField("URI", uri("https://example.io")) +// buildConfigField("com.github.gmazzo.buildconfig.demos.kts.SomeData", "DATA", "SomeData(\"a\", 1)") + } kotlin { @@ -21,7 +52,7 @@ kotlin { cocoapods { summary = "Shared Presentation Logic, navigation and connection between data and UI" homepage = "X" - version = "0.0.1" + version = project.version.toString() ios.deploymentTarget = "16.0" podfile = project.file("../../iosClient/Podfile") framework { diff --git a/bisqapps/shared/presentation/presentation.podspec b/bisqapps/shared/presentation/presentation.podspec index d79d9b24..0c7dd2a1 100644 --- a/bisqapps/shared/presentation/presentation.podspec +++ b/bisqapps/shared/presentation/presentation.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |spec| spec.name = 'presentation' - spec.version = '0.0.1' + spec.version = '0.0.2' spec.homepage = 'X' spec.source = { :http=> ''} spec.authors = '' diff --git a/bisqapps/shared/presentation/src/commonMain/kotlin/network/bisq/mobile/presentation/MainPresenter.kt b/bisqapps/shared/presentation/src/commonMain/kotlin/network/bisq/mobile/presentation/MainPresenter.kt index 79d6a703..97f85ba2 100644 --- a/bisqapps/shared/presentation/src/commonMain/kotlin/network/bisq/mobile/presentation/MainPresenter.kt +++ b/bisqapps/shared/presentation/src/commonMain/kotlin/network/bisq/mobile/presentation/MainPresenter.kt @@ -1,7 +1,10 @@ package network.bisq.mobile.presentation +import co.touchlab.kermit.Logger import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.flow.StateFlow +import network.bisq.mobile.android.node.BuildNodeConfig +import network.bisq.mobile.client.BuildConfig import network.bisq.mobile.domain.data.repository.GreetingRepository import network.bisq.mobile.presentation.ui.AppPresenter @@ -9,6 +12,7 @@ import network.bisq.mobile.presentation.ui.AppPresenter * Main Presenter as an example of implementation for now. */ class MainPresenter(private val greetingRepository: GreetingRepository) : BasePresenter(), AppPresenter { + private val log = Logger.withTag("MainPresenter") // Observable state private val _isContentVisible = MutableStateFlow(false) override val isContentVisible: StateFlow = _isContentVisible @@ -27,6 +31,10 @@ class MainPresenter(private val greetingRepository: GreetingRepository) : BasePr override fun onResume() { super.onResume() + log.i { "Shared Version: ${BuildConfig.SHARED_LIBS_VERSION}" } + log.i { "iOS Client Version: ${BuildConfig.IOS_APP_VERSION}" } + log.i { "Android Client Version: ${BuildConfig.IOS_APP_VERSION}" } + log.i { "Android Node Version: ${BuildNodeConfig.APP_VERSION}" } refresh() } } \ No newline at end of file From 624de6b9edbd9122f34d9427a325d8ffd5b1e230 Mon Sep 17 00:00:00 2001 From: Rodrigo Varela Date: Mon, 4 Nov 2024 20:56:39 +1100 Subject: [PATCH 3/7] Feature/testing setup (#27) * - fix android namespaces warnings * - compose ui test, ignored for now because of a framework limitation * - initial setup github actions ci workflow * - github workflow should be in root * - ci env setup * - fix conflicting packaging names on terminal project building * fix missing gradle jar * - cleanup ci code targetting current project setup * - refactor: run shared CI tasks first and then platform specific * testing different envs to find the issue with iosBuild * - remove ci testing branch from setup --- .github/workflows/ci.yml | 90 ++++++ bisqapps/androidClient/build.gradle.kts | 4 +- .../src/androidMain/AndroidManifest.xml | 2 +- .../bisq/mobile/{ => client}/MainActivity.kt | 2 +- bisqapps/androidNode/build.gradle.kts | 4 +- bisqapps/gradle/libs.versions.toml | 3 + bisqapps/gradle/wrapper/gradle-wrapper.jar | Bin 0 -> 56921 bytes bisqapps/gradlew | 306 +++++++----------- bisqapps/gradlew.bat | 78 ++--- bisqapps/shared/domain/build.gradle.kts | 2 +- bisqapps/shared/presentation/build.gradle.kts | 27 +- .../bisq/mobile/presentation/MainPresenter.kt | 2 +- .../bisq/mobile/presentation/ExampleTest.kt | 42 +++ 13 files changed, 314 insertions(+), 248 deletions(-) create mode 100644 .github/workflows/ci.yml rename bisqapps/androidClient/src/androidMain/kotlin/network/bisq/mobile/{ => client}/MainActivity.kt (97%) create mode 100644 bisqapps/gradle/wrapper/gradle-wrapper.jar create mode 100644 bisqapps/shared/presentation/src/commonTest/kotlin/network/bisq/mobile/presentation/ExampleTest.kt diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 00000000..e4caba0c --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,90 @@ +name: BisqApps + +on: + push: + branches: + - main + pull_request: + branches: + - main + workflow_dispatch: + +jobs: + build: + name: Project Build & Test + + strategy: + matrix: + os: [ubuntu-latest] +# os: [ubuntu-latest, macos-14, macos-latest] +# platform: [androidNode, androidClient, iosClient] +# TODO build fails on macos - might be an issue with the Pods compiled in MacOS 15 pushed to the repo (support for XCode 15 is still under dev for KMP) + + + runs-on: ${{ matrix.os }} + + steps: + - name: Checkout code + uses: actions/checkout@v4 + + - name: Set up JDK 17 (Azul Zulu) + uses: actions/setup-java@v4 + with: + java-version: '17' + distribution: 'zulu' + cache: gradle + + # Cache Gradle dependencies + - name: Cache Gradle dependencies + uses: actions/cache@v3.2.0 + with: + path: | + ~/.gradle/caches + ~/.gradle/wrapper + key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }} + restore-keys: | + ${{ runner.os }}-gradle- + + - name: Grant execute permission for gradlew + working-directory: ./bisqapps + run: | + chmod +x gradlew + + + # Android setup + - name: Set up Android SDK + uses: android-actions/setup-android@v2 + with: + api-level: 33 + build-tools: 33.0.0 + + # MacOS setup + # needed for macos terminal build to not hang doing linkDebugFrameworkxxxxArm64 related tasks + - name: Set up Xcode + if: startsWith(matrix.os, 'macos') + run: | + sudo xcode-select -s /Applications/Xcode_14.3.app + xcodebuild -version +# sudo xcode-select -s /Applications/Xcode_15.0.app + + - name: Build project + working-directory: ./bisqapps + run: ./gradlew clean build --info + + - name: Run all project tests + working-directory: ./bisqapps + run: ./gradlew test + + - name: Run androidClient Tests + working-directory: ./bisqapps + run: ./gradlew androidClient:testDebugUnitTest androidClient:connectedDebugAndroidTest + + - name: Run androidNode Tests + working-directory: ./bisqapps + run: ./gradlew androidNode:testDebugUnitTest androidNode:connectedDebugAndroidTest + + # TODO ios specific and run on emulator if needed + - name: Run iOS Tests + working-directory: ./bisqapps + if: startsWith(matrix.os, 'macos') + run: ./gradlew shared:presentation:iosSimulatorArm64Test diff --git a/bisqapps/androidClient/build.gradle.kts b/bisqapps/androidClient/build.gradle.kts index f46340e4..09596723 100644 --- a/bisqapps/androidClient/build.gradle.kts +++ b/bisqapps/androidClient/build.gradle.kts @@ -46,11 +46,11 @@ kotlin { } android { - namespace = "network.bisq.mobile" + namespace = "network.bisq.mobile.client" compileSdk = libs.versions.android.compileSdk.get().toInt() defaultConfig { - applicationId = "network.bisq.mobile.android" + applicationId = "network.bisq.mobile.client" minSdk = libs.versions.android.minSdk.get().toInt() targetSdk = libs.versions.android.targetSdk.get().toInt() versionCode = 1 diff --git a/bisqapps/androidClient/src/androidMain/AndroidManifest.xml b/bisqapps/androidClient/src/androidMain/AndroidManifest.xml index dd9335ef..8c92fa1d 100644 --- a/bisqapps/androidClient/src/androidMain/AndroidManifest.xml +++ b/bisqapps/androidClient/src/androidMain/AndroidManifest.xml @@ -11,7 +11,7 @@ + android:name="network.bisq.mobile.client.MainActivity"> diff --git a/bisqapps/androidClient/src/androidMain/kotlin/network/bisq/mobile/MainActivity.kt b/bisqapps/androidClient/src/androidMain/kotlin/network/bisq/mobile/client/MainActivity.kt similarity index 97% rename from bisqapps/androidClient/src/androidMain/kotlin/network/bisq/mobile/MainActivity.kt rename to bisqapps/androidClient/src/androidMain/kotlin/network/bisq/mobile/client/MainActivity.kt index 772eba52..415badac 100644 --- a/bisqapps/androidClient/src/androidMain/kotlin/network/bisq/mobile/MainActivity.kt +++ b/bisqapps/androidClient/src/androidMain/kotlin/network/bisq/mobile/client/MainActivity.kt @@ -1,4 +1,4 @@ -package network.bisq.mobile +package network.bisq.mobile.client import android.os.Bundle import androidx.activity.ComponentActivity diff --git a/bisqapps/androidNode/build.gradle.kts b/bisqapps/androidNode/build.gradle.kts index 0e8cd105..446fe171 100644 --- a/bisqapps/androidNode/build.gradle.kts +++ b/bisqapps/androidNode/build.gradle.kts @@ -28,11 +28,11 @@ kotlin { } android { - namespace = "network.bisq.mobile.android.node" + namespace = "network.bisq.mobile.node" compileSdk = libs.versions.android.compileSdk.get().toInt() defaultConfig { - applicationId = "network.bisq.mobile.android.node" + applicationId = "network.bisq.mobile.node" minSdk = libs.versions.android.node.minSdk.get().toInt() targetSdk = libs.versions.android.targetSdk.get().toInt() versionCode = 1 diff --git a/bisqapps/gradle/libs.versions.toml b/bisqapps/gradle/libs.versions.toml index 3e8f4220..eab67e54 100644 --- a/bisqapps/gradle/libs.versions.toml +++ b/bisqapps/gradle/libs.versions.toml @@ -12,6 +12,7 @@ androidx-espresso-core = "3.6.1" androidx-lifecycle = "2.8.2" androidx-material = "1.12.0" androidx-test-junit = "1.2.1" +androidx-test-compose-ver = "1.6.8" compose-plugin = "1.7.0" junit = "4.13.2" kotlin = "2.0.20" @@ -26,6 +27,8 @@ kotlinx-coroutines = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-core", junit = { group = "junit", name = "junit", version.ref = "junit" } androidx-core-ktx = { group = "androidx.core", name = "core-ktx", version.ref = "androidx-core-ktx" } androidx-test-junit = { group = "androidx.test.ext", name = "junit", version.ref = "androidx-test-junit" } +androidx-test-compose = { group = "androidx.compose.ui", name = "ui-test-junit4-android", version.ref = "androidx-test-compose-ver" } +androidx-test-manifest = { group = "androidx.compose.ui", name = "ui-test-manifest", version.ref = "androidx-test-compose-ver" } androidx-espresso-core = { group = "androidx.test.espresso", name = "espresso-core", version.ref = "androidx-espresso-core" } androidx-appcompat = { group = "androidx.appcompat", name = "appcompat", version.ref = "androidx-appcompat" } androidx-material = { group = "com.google.android.material", name = "material", version.ref = "androidx-material" } diff --git a/bisqapps/gradle/wrapper/gradle-wrapper.jar b/bisqapps/gradle/wrapper/gradle-wrapper.jar new file mode 100644 index 0000000000000000000000000000000000000000..b498d2444600d918cbd5949508e2ade6fbef0301 GIT binary patch literal 56921 zcmbq)1CVCh(q-AUZ5v(cvTfV8ZFbo9J8MNm{yTSV>x{iLuFF3Ji11Tl+U-w8P@#(&NJb*A9RHa+2T>qk#SX{9hBOe2u?;1pKe7rVjc>R>ri3 zR_0$r-_g-d-^q;5&cW8s*ulx%*pZsz_oRe09cAM_71cQP$e45k=)Wd_|Ljx!V+BZm zI|1?knZVUS-|p+4e?N&dy@b?=_`LMQ$lm`w-EQ!dF5cJ8aQ;2r|Ll2?udB8WrvGyK z|7-#MZ;L-y{Wpg2|F_|nd;aECGXA$Qzk#EZgTA4YpslsFzKxNTxs9=)t&PiwB)K)v^bTwkOeCIBF)oC%AgeZ698%zV#A?G(LL6Q{PvM^>NZhh=V1}<$IHSHme2M?av^EupYiKc(K!zD^7uXa@bH43AN-oktTd4>A{ zFJH7wqZ)p0roUJ{hvA?Hm4Q=;CO<{xEy^a|QiyR}kgzM29L)0a<0&0HHokFyAe zBRq^5`0!RR@Y=cC0*vap9iEL?2I;x9Tg5k?8*anVX!+73gs-KZ5p?VSv?_5+an^zb zM_Y^6N?ExL8$6)PaZ~kc^uk5=ghJheR;4?(*fvz?#c0YSBikYsAo7^&{K>^Vl>oQ&+r*=L}0)Cd%L zsGpa!w(ZPz2wMr8e?Z+FMSDgF2mnA4^zWd~_17UP_rJmZ*TI^lqN$3ljPe1O#^8hj z)ej~_1q3Q3CNYOr3M))m#D+zej#a3977L?KFxH<2*_(5<-r)7v&?$7R;e5aRxf@7l z`!u)NvS^=p#%c9oCb2h3M(e%$KwvZ}oYgtJY)?cy1&5inK zC=_NXdF4ml${{1nZ`DgG;h9*ivlwM zQF2;~I2~Q`+AA`u`WTSRp@e%hsleQy7O{ga_pAh+IJ5Lo*%^B6lKf=64N@btnEDyp zX^DH4qhAD36b@u*4O7j*hMO)h=t7#KGN{O6^)M`LF#AwvNGniBzlCFc`<+*3iGpn2 zXP!GMuV<4FJ72%y9eiaYH899G6E43m{yOZs&rfRz@<9$izkI zF;5DLA+_z~FmFta9SYvET2OQ+)JD{dxk~t0o+kR!xoDBsQdmGfBzy5OqdpU-JflS* zEy`jEIX;+|WarF#kUg3rMi{bZG%K;TB)vezkUn=2teY0$Zj!AQt{V>Pg%$uUh75XA zVi$pSQ6+*{!_z0EK=TINK&$Bo%{ko zEaDEm)mZ8?ItV81-G77cIDry^QSC_t!oqbtjsos}0mR=AK_2tRfG(kO&*9|cvef{w z^Ukk<+mn2nm5$GUsR`F1T5ioR_CEV!?Z1{Q{{zkb$BxDCVCrmbY~v*CW@v2ZWNvHo zZ<>vplmKQ#80@;6tg4*1Xs9d&_xz>l439?*N(t4w)04b0YrQ1mf;@6jUcFzo)dPN& z*Ked*Z-ywPH$3KbJ1TYaas2|eg)`3NFuY2kBo`!H<133_hOL0u>{=$~)?bzF{Sa$M z3Gow}&TWRc6yI~Rl|R23qV+tEzYyjwj_Edr)Qf_K_}*eNaAIUq*KADiMEWZG%y z+W9C&zQK-t51n$Xh!lxrG|G!ZFGM++cZP^zaR``*+-;$3AENTwQ=}eY+D+=#-0Kjo zHV~JAy;NY-izQk>zU-_T`6=}f5e2+axtGhhG<0Rx#W!YvdcBRwpEzO9FxJ#7r{W-&t_P0@MZ7YGNbgPC`AgYVYPIKoNMe*({ths<2)2SZaFgymW!mVb5VX}kANG&W zL$Zcq?}M!tcE0>H{Rq8ip@O0JOtot_t1_zj6Rb_1W{R-}T_7>s;=+JpTO6GiQolERXZHsc)9 zQxh2pDY#hHHo8uU=y+rY~Q?zKa zNB#7ZF}Sv0@LE9^7z2-9%!=Y`h0rI;=#qny3v}n!v+T| z>6mqTSKXZO-HaH=4&Zd8#srnxMoNXtfTBX%!o+-QEbS)R$@LuN%I6b=H92g-E^p84e;4VlcR5HwZZI?@lvv? z)tDP`#k^IgOCWu)iCaH0p+Dhi_?tirtcvF`qnVv^%@_G&BD7h6dG0QAq4|9h0`-$r z@CuJbAIpDDO#QF{A)M_lbdA-mo^Va_fy}!k*CyX6a86e7%?H-;$cg3#j^qw?I>v0x z>BfJCe3xaAn}rcstcfOc)`M-s#M7gO)DPLT)1$j#ej~QzIO@6SL-*w&W1)ArTZ6^t zah;+PinAI75Uz*jqMRTci)E4IVp(AnV(h1!JVo&Z{{hOL3oHOdAbX7_mVB%|jX{Dc zz5y}`9rVmsj0d?&+B$H}?yrp0DV`yfc*bH_zjKhqy?{Rul37ZndVwsjbj4-8iHZ>E zWV}|#PdAnEC=em!Zq6YU>URx&&wwckGWXp$BO%17sXQ5M(J1p^4bA3aDxnRN7$( zmv7*DA0nkVV0O|@BkVB1kwheC$E%V>a~RPs2nUB04yU00hhh#HML2SmLiEaoci0Xd zZ_Vo|@GE!*X&lUZUQJ)CDD}irk2O33k!j>+5B@p6M?_Of0WtT_p_p616Ns=o9Vz4v zlOwUrJb($Pp*X0p*#iDm#uT!VLE=JqP}0bNnQT3B?@tK)Re!10W4rpYeo6=4#Spl+ zLI(k#fOoc~`t=&0@?C(ej!Qy!{NB~;Ve#VL`N*o``_-_o)IfF%B=l|0pW9gQ!G3rv z4}XP#t_9)s1kn@JpjUrhA6q`cEl01Mau>C(ZlojDPB`;Am;6UIvt)!v>3Y;5G-^ofQJSJPL@20P?VN;^KY~qJyt!n>k{I#a}ACl+)&@}&EH^0eO zX-CA|!O=<4+2G%o|8&KG%Bc*pJi-XB1E7?Mof zrLkN0c}OV`#GK5?m#pM%B4 znRnVE)C*}eBZ@|@hzasGLcz4i>bcSgha<`@p1tg>{Je2o0KeN>2)Y*uxzg}pXQ?(C zvYH9}3Zmw%-=fNU07;RHo2C&^mF1_dz(_OmuohIT6cj8Xfn1z$ZbhgMIt{WH4a&yM z5V2XLI7-wbsdJnSby*{tD;=^hR&Zi#VOp`%oYRcGDrPA)9-WJhioCHC;!xYEfIjA@ z12?BxA@73Z&!Lg^r4~>$!gKT>b!uP$#n0$QUz7AOP zmB8=G7_M{#d;vAoH?@>z&Y`kYFJ>upD38~cm(tFR6skU=%(OE--N(|2!Y}g^VyqOH z3p%WFSUN?!PylHLrZ5o!aTvs7AJUrk_qcbWny^hBaIz=yifkRpDux(8;4|O0nLTjl zA>a+%VHSdDo!(7u%UoqtrY(aG&6pg%gU*HMRPUP_6H*yDWR-C-d|saa+7J;mKIT41 z#t?|m%M5H1$nOq0*eCq!Z1-PbLsed=NDCna(W`0b(wSLoPVlnx06>8Z-fpS_DBoNG z1QKPLy{fk6(V=|(P@qH~+v1PcZxXFA7(`VgG?(Fxs{Ub>J@q zf0f<;8o|u}Was)9g8$UZj{i;`m91rG-EjS5ZlRxRc5rj+Rhx2vg8*?{R6v&B*rr%|IdQ9AMA9iMbJip$u`?;^p z<`NVWWsATg1!1n1p`XN*vPKCs=%Xc{n<%O^)R|+_2hB2N)`r?@^|^m+uv%9Li>M=?D4mNPz*OH*?>!v3(Y)qI!RjqXU(gz=KZ%?M%D04> zaz@m?S@6aOq-tbS#RQLirO{8yos<$U9ZBONaJtCOdU+VM`KvnvzCZyWheiJ)2=1&EdO zj$Nf_^5V7WZMm_ZG(Tc>YH9k^ZNgMW&B`c(Wwj|165w1@lyWUlo1Q*Iph==Ko!FJv zNXN2#m?41)@g3HT;@1S9OGjk-RNy_E!|M)-CbMs(wi%0Nd6jrRagTYjshayQefl|W zQ9aCnv8;EPUPD&5n*%EROvTl9$U`l8kF4>G6OmqLdg6m}7Xe|40`v4x7I~r=qh2v4 zIRcmCo`cUsbUs7sl{lX6A@t^f#~K8={4nw5G}xCEma@AG;XC#ge~Qn&!NVMbm)?j1 zuZYBt`6*Qf{%nZ*<$zn_)h>E-NP>F&>^-%C7<>vC91bS~)Y@b<^V@Jmk!9C-BEP%f z;#?8YF_y1@=wKJi=6AnUyryehidr8o9{SD--ydMeg3x^U`IRh^f&U#Cxc>t)QOJraU83M}Ibjx85(P0<&=A&=L%JNf@w*kGpy(ebdaSsj26&5O_hqi~BV&7JBjF3?J zr|5~RcAT{cNWS3`QKVO4-+MT?1RSSd5TP0JHilTLIJ!0rJwt4CXE1FjFos12{Q`G^ z+>Y2rs$zL<*6}eqx{wqcC&CPG%=Lx}P7tKp5OKi&$n@h|gMFjLRE2QFJ#M!>S9?Gn z?W&_(A(|9Xjv^EeJ9-_`AX%MeQD%sW3iC|9lCEfWt)JqAPp@%FV`Xv(y1Ooylqr&D zrg>aYT)#Rx>LJ;7=$0cQAk;LT4?3qL5eYdZ-eoF=obHoXu|r)n(o$uNYyp1dg?xK; z7$`N*WOJmY@R;IF0HOum9fr=_Z=0OZ4_k52f~cG9|OV z_?m+hOi;PBnt5{AKd4cl!j|c&(egXKGoaFPUV5By;2VNOJ{+5Y~Q2zmPM ziw$yPD^;@L`pvo&;3Cy{8H8-i(r#isFhKb_3WdN$P#kIIB0Tsn?+hrQ2_*(8@6bq# z?-vukGaPNOUPs44Pf`(+D1^)7oOF}IZQDmUs(>6mLZ(^_;`2P_pLq0GrnU9 zgd45zH_s*!#$JO#E+V4Mc3R;n*QA7w@t>iZJ^sq=&daeqHd0yK?3|V{!?9Z;g*OFJ z`SRB%+v=&LZ&bkgX{wjE-^L2kB|ZT-lP1oHZg8sw)wXS`mkP`?^D%{vs5Xq%GauFP zo9wW!OxE_*27jelIDw*$v#uwvBQSBF5f%JXZpa*V~*==(-u@Nhwk)|9fHNZ(>x*AV=zJpAu~P|Jyz;Tmo{a9k+rA-ttAmgTac*ddRLe#_u- z0`o~wTtpIYH}{@$(z`wylaCp~GzJGmQ)BQQ{$PYe&Vo>}c^%I_v^1AME>6}!7d%ZW z=5MnoFv=B~ypeKEU@K;ju0f*KzeWlgWuVm}mlBEbDb+fBq+^Ed8kO5MVWNKlZ&R?1 z)J~x-O5Q}gh?)AGiEK#bRSDGlYvD7dX~O#{H1DQ^RnfxlF3mG5(q(=F&p$m#fD0vy zU2}(F+tCK-`rAohvIKJk&Tschon^wpjVh$ypGf1_78Tj#y`9U0gE^&Isn3IYO&Ksr zwy)mnag#~MmL9ol5#mHk(vu0T+Ytn@{=uldZw&cCErg>r-I8h;8w@JX%wzs`(U)2w z&Yc!stv%$Sq_tyozJB-FNhl^yo6Y>X_6g2haNV?HbtJcpY_l~)&UNH0MhSDI*r)>=B%9VP#Eh!K5cHz)44sFJc5)&e2 zTYNanKEu4tlY{q9Orz$XczXJ;b<-*O_aln4JRye-lgo^NoSs37cm0^F)YpcHUT4)J zcBt2)>6PjNu#LmNlpR9T$n%&_MpK3kC z3RRWV49Ayo%Ppz={GQB{FWDj^hx@dg#>Pes){jG}gq|`bZlai-MA;jVaD6F1FnB7LDMtuiu zO@d|&l~Q#cltYFJN65CyXt=LCEBU>Qt!ZY9Z53hp|bU<&g_?B&mLiuBz3Vd z&se3{_$hl|-URp6ux=y;wd8qE=;5v>wq)|gb_#z&Y9qDYEnXL<{23?_5-ByH zQ?!Fn2eNxu5Nyx-Jo}G@2?w9=y(Xj!dqFE1;%#8gVlp-Qa)Hh!C60GoC(Smekw=@1 z;r3_f5ZF~VmQ}{kO5@_?qMKHEInsfkfqhcX?b#&!9L;01if_f(7#_FPIkDZvaNF%8Em4 zOz5&~;`T^|jCgmfn921!*jS9aq`6B3>l|90=&(1~^=4}XjmYzbtMUu}Md z2A=e?Ir+!GpFY?5(_4Ej52v_vYV}cR`C%gocO}&(ywHN(DkhoE_Wnd7<|!^)T{j=M zcM|P+Mfdi6p&nTc?xfzc@H0Cj*N{3{KL&yGKQz}0K&PU5y6x3e@6FM@+Y^4d7fqbOFpC%<&+YF= zNgkZYHL!!4hEy6%CzHdq%b2bA~9V{OulXG3UeL~V+{0`WU_+sS_nzTb<(a-o3 zwK`v>J*3$UH*~l-D?iS+U8;5~n&T45wm&V!gLr~xFPh_(>Gy@K8|m=%Bueo4t3iSp zcYw0#6gP%7tal7-U{S5C-1;Xao6PnL{cgfiqW4?m+Yn1tlq_?X{ zDzZfOsR)I`v(4I5t;VJ`-m&_49IWi&`!GRI2+BJs-a}q{pvj#D1XuEtDy1yqIWYY7 zY^}fKIl^3+hG3atpjdV(a5#{>Ozszg5CnVpZ2h@$D=v;r2 z7;tm(c1)JoeoYm!hjhn06+`rbCT$-p2}nH}KP4e3YtkyFZ6Uz8m_WSJeqR^MJg z>fSp*JEVlLH;_L_*x}%k8|y1~?LquI68=Z|tF*bJpo75V)y+Pt=J8Qu!{2+%Fl0D#ehxHS2G4l76nv-G&fN-+5GW&5sn^56ue8c!mh;yUAe$SjEf9 z_@qO@P}cMF`nUd330d?A7|ZgMTEALY`t>`)0G95%WlkqNe@_nI~2R% zu;BYBBvvE%3MWbNhLXNx-{AY8WknEVSH8IK0m|n<_Zr2jv6SE@hw+%ueX!~vjqjz| zceZQvKaf!p*M?a0B~S0Znl%5P^7P-3aMgD({x5l2sdWBFtAa<-qKQUR1Mx&vnHMVY zM!u9t08yAIL~XjT81kddda-rpBEC&?TJ#$7Z5LizD4K-V58gOa6Dk>{u0NHmgNykw z+tK7=?fL%oE4gB~@4^OjGKaw82u0BEiJO;Fj*u81OSDum882H5)*jJpe3lYhOdKiU z%HCh9XcK7U29@S?-uOoZQ>r1~YC`T=6cv`?EX4%b-%Xox%*(YUgeXAp88Jw{A z6XR3$bu$gUz%a*v#_0zT^~N|4xW4NcXr4nAk$3I94H35^4Dpw-WlkZ=K&a!r_jhTg z+HRlK*)&jRd;~xU!d^*i+TZi+yke{hmRzShTWfTXs4gi-yN`}wZ~ zuJ0tnzUd1g{eO!P_J5MV{fUtOx9kwDwE0If;NxOJo&ppskdh+6ukO0SDwiS)f^M2d zz1t|He~2kveWs!CJj^%57lOXiFRuUU%-3*Eb+^SDR2_U@pX)H&bCPrOdE)r_^TDvSGM4>T5dVHlCEBQmkQENSInez^2mFP9^z%2Wm z!6^x5^ok85zU8ed$Of-El+ZgD*F2(39oE?N@_V%>k_TbrQNr{Oz>twsMNm$R!jKEl z)=`GkQPuZY+DV3_^ouegFw6y;@a6-~koo3*TEb|UYL8TXHr4281vz(n^)*C$)j^6u z3=z8RMC;i?B;dl4V*V|5$9b8@6Vy{a77MjiUnhC@$LbmkC4wEmftX;;1+5N)mezf& zZ2Lmd3VhL!Po6}^U~{nAi_K$R%yZ89Qc~URgxfGrJ`*=bWPiXKGVWAlPW@LUC zf#nTyH{dn>w)wT$EZ3E6@#MU6?Zq+eamFW37N`yIK#f|Y&7}u_m2jBVCRB{#9eG`D zdIgmeFMr~QE7UdA)gxFg+=e}BnD8H?Fw9M9QX$#t(={yB1K4UEbo|&wMNcbi6!l8K zG-b4Xt?e{^#obAAvjl3@(yUWvq@SKtg`u;NI}x3AQ<>UO8MU+h2x(i<-ceoDSp~QgC8N}a~iq9;-|P~2AR1fa-N1njJYQ= zjK2y6rI-SP+jN_9N&@TjX;9de0x?z&rp#tC^=AQy^G(DE0f;Mg^ZsZB_y6Mc*@GW&4;b25(kOf-2 z^d1jd13~mz`}p%jiA3Xhwd4*KUFm*PKiSa|@R)Am4i-klEPURYJPv*Gt5_w#D~rO5 zzONV}ZYsK)cEv|FJK{(*O+MZa%)P4=h>A&P1g(5FKS$WGFakeox6G^Hxj(E~1?|9B z7MX_<#TaJ}SPD2JX4O2HeX1)#;-@Ub=3V9brquj$qpSY?$qw$ygmaA#Ci^>WQsO5y zepT#yA3s!Zf4}fcG||vN8ejzlAl|1$BC>X$NB-m$_cVHyj?2Vv9G~v=^uFWGtKVY` zf#lPYRwUNdNS|blYV2_bZrHZ%+#7YBhU@kZ4i|8L=!)FhGS%X*BZdWEE!4l(75}Jx z`sc3sXUX>8?bCm&iC@;s3TUNC@Q6zNMCStP5l`wMhSA}OJs<;HU6O5-k*n(_u8c1f zy#Bs~h+-_)fL`R$j!l{%s~}>tuZ)k`%%&z6XVrY0zCg`^iinG`-_i57JXi}3 z!pp6(P*<6L+jP)no5(w2u=N8Ke^0*?chk4X? zY3H`QG$Y7ux$*ncgehCRr1#M>wed^K5?L4{7~0V&Uw2O$Z* zT8Nm)!@a65`@DF#=n%>$JwZ?&?l$Pm-7W}EzAUvfhn8-Pu|2a*PYxGpV$x`R{hsQ; zQ4)-EZjgbR5ac{~H&tgDt<&~}3Jr4C^x0%e{E{je64^9##8!HH0^kSc^O<{6T-K;# zfc2Usfz+*y;sfjC`wODS-7#?CeH!qT4@4HEzP;ZQBtjoW2ya9|_roXjsd=Qfh{Kot#%SNY$m?M^CFv^)UIlFA=eHkFjK8ni(` zu;8x8CdNA5Z(Z2CKD^%Hasxp)l^jN-s} zw%x5VW1xR#jA!#?E*mig^@?|reFK+5IkdJT6&@pu=(39$*MV?HVtSLLTVVd_=|fM< ze%C%1oNx$R2bpVQi*2Mcl2R`Zm!8_O^!v+g*$j+MVj4PbD@0BSy4a`Q|2H$mM#n-*>>=rUDX3p?S_`3w662nkC! z>n`(-deBuZ)i(9oaQ^DHs{KVAJP?)KfMUE$;lwE$4-iA1i@XSQ803zmZXE3#7!14_ zYUSaQA@Pc#dZrPky0T;DQr+RW*pg~7!FWcAPCRrym|df^=H8KmoLEXYt3=s6%A8!P zoV;O6W^`3ai4TmGFo%G|xse=*M-0lMTi8J^mykRr0UClF0U;?86q`J3nB5i|k6T z<=;g~uum@2A4VzHp*($*uNl?K>rcM6USkpjW0Gf|w8ip)jq299)NWyz+lb2C2A_F3s&?C zF7#j*t$(6#<#PyM^slH2n#2gL@g*VZSFB`f+bqaHs8HiveVh(1O+S~C--}K|H`h(W zy%HTkoo9Gy)$b_g3}BsCNG%#!5??ovbIx90mn^}f5?+d;>#H2)E!#~H=+i1GYLi0` zsxd4%_?B(ekIu{C2A>#Iut&9}ST~RoPG3u6oVkZR z1c%x*F=9hbQ;-lhjz3~+I+cq2D zKZ!488_U0Gv~?&;el>|vJ|^mmieMBFr~=@H5?v?~Qz+0F#aPl2SoquYT+PXyoxTYc zEAG=j>1v4)#Wr7oH#_WFZVyIdze5i?nvxaG#Lq-WwjAHdtRo&`)+iAGlZ_% zQ$PqKsvz=%>rcB#EXNZ^6lc?>inz?vr35Q$G1I)q*-^DJKlFRpEYnwpu2$)5eyoL1 zYh_K<8mWb}NlhtQPWD5`u?8#uwrP&hPjavn4dXGYjp^(uV06;1*ZPJp3X>(@Uvxv) zYbEK1JhEH1AaBZ{LT*~7IY4=bAka&R_=43$k>#O$x6P7QVK*#@Vcp>gi6gBI$Yu zJr%V~nZ^Qb3Oqy7#-91A0sN5mqU#!}dwyn}U=G*#T~msXfYjWR&U+}ieO-l=oJ+AW zGjWFc@)+Wv4A23N^^$T)?k4lzF$uO;@g5%J3GnDlma?J}l?Q3WX*7E&pg0Ei1w=u! z_;7s!q>s;Mlt+f0LmHNKhjHg8R0<|R|77|m+2e~5>J<&2QzPzKPZ9FiPyy4AUMp~x zZ{L+NmIBL-A7ZD-9;doSp`qv;GmIdPkcsXv?O%G0_o-iwu?O9xZz1hKRROEXf#Vkw z2vMua2ZG#OaLNdrLMrbRdaEt%3u&fYf2iK80_zB1^#L+r6A-WPf^FgeewG4@TIj(d z1G>dkI^aB&fXlqVHQ)-XS^hwGEG^bg^EL_#dRTa!^UgG!^&O@d#Xdq`eA#r4N8+^< zsFMNH%E;uOpf^|%GPwb$_Y|5Jh3C6`ol_cMK;7dU#Js-6>8npMUC!vCxutrWO|-gg z9(0+@Q16CSX&PojPxdVWrK#;86-Tb^`a`ua>6`f+d_l_cZx4Nu{R2q-soJwN-1QRY z8$Pp)OgcyQfCUJ;bHDomh>I}bv{CckJD(OkM-dNHSogCV~YKVP_ZIZp5#t~vS~ zu4UkGKdb=)lnl>u4hu8_hC-5S1@zh#x_dbGAHr+QVh8#kOZKfcJ_~##`NuY_poeQ9 z_Aux&U~F`<)w7~(;AzZbK?e!S`&-GyuaP-yA;Lfo9j4ST4iNdvF`KH`Tx;)TY@k7d zlq^1JP@^`O8^mfjl_skpFX=y9yW_#|XZz=o-7reUmbeFY%H7^6!)pE zgQ|;^T)?ErP0R+JxD(cF4g>FtJM5uwgNsbRnxOuTUOodm1G(z2$@lL7fx(i>+$o&{=ur;_;(H@t zz?Pu!zn&=Yy@a{=D?`n{FQgx5ZSzY-t>_oTEzzk*tks z@~lnE{h(Kn4*Axw^4Nt?5fzdz-vr&;r-ShCHgoML#@(@*IOqepUKhFO7>ui%t(Y}n zK%}gCRC<2e(g`pusi=bLDhHuWP~iE|m1#8BMjJ$+3rkx0(xs}Duc5O|M?fFXd>{Tg zi8tRbSA1JOUs8HwB}FRbY~sqcON6{yE4T$2TB@?jMlJM0ng(>8Vc}WZJ-0$-Tvk!e zoRZ!wHJ_$0+({wsyqAR+Ru1#nX5T`vctF8tt5N1p9iGY)p+u^dEKIZ=2ChmVyL~ZF zRwd6Fw~7Hb;N>rOM^mxh?JP9B!A4^a4f2l0SuLE6&0eRJTyZ^4))}g)bZ>6mAmC#n zBXTQCP^l2!Jl=o)#LG{GCX=}AL?C|sltp%-@Wj%*98v2<(q6^;-rWzc9AwXYw7!sw z`fHBug6W!gO%OCtrId3azqUeSzt@}WLNy}=8*V=29Pax#pP4~Z)q;kMK}s^EUk--r zN*@_s51vFmQou->T;Zh>9o~Q}?Auts;qPrq2A+Na4pFO61oo z7R4@3BpXX@e7V8>l4L%p1=e%*L8-~J8@r$z?0A>a13elK2J`F*SXl>bLsR@#do?StZ*Jv!6_({^e>5zL2BAy_yeP4KEbL= z3@`7>JzI-Tz(UW9Nc=XBLV1L!D^JbPqy(AZ<3CXfhwB}m44IqcDZJrmNOoaM;@}v zRFwYa>XDgo^2;av!e~XgRk+za0mVy#ZCep1Ab~mQ>%-30;8I&5Xy~MfInlM^J&G^~ zHqh04+K|0EiF;!k3xk-*&~4(taB8NY=5$IDF=D|ayyvq%u&@mYm!fYQYsD(fFkZwAS1=A7WKcbMLA`khu6UC<~gZ<6&=rL-&J{|wV? z@pX9$5^6$~#^ykpf(Ymwqaq;*m~;z?^rX@~MNI7mP$NYji3)2;O|N*)mR6OrIf=*~ zc2DW7@Cm6@jF3sCzedU-##WrIS%jg(b)UNOtv zlANVq#rRld(@XSBIz*4g%R?ra{xBC$#vxkf9oC8e}(4rGuH#{7C zeL!nF`X+Ze5Eyf&g#1nEkluB&-e>`%Y9RHIo6yCuc>rB`CH(nlBg<((^Ycw#;LB73 zwW?|GD|~&XM-*`jh*TG&9b<@IIw2jK#i&^CES%*m@%_T=ktLAN{v_?Mbqvzk3+mmu zpr4YX<3RXbrB^DyA%xxafe_OeR?Eut69vQ|(-u%2ck7djEZDKBL%t}}dT5IIPSvq# zR_V33r=`IcleUTxI1h?iAbFKNmEeMjHizE!Prztf4pmJ@3mBJPfii(_Lo)?t-q z-f{rv5~Px86zbIE#}DZ=E0^yYu;BzD{bk5-vbxsM)Sgg#3in%t>9F3f{}6&nK08?~ zHt>j?C9?A=XLOK1n%42gmUH}~L8MJ*!__q`M2SY7N@oz%W`52sB*9ueze<}M44i!)ldPb(SfMV3y$Gih3 z6#E)cNSSEDqGWpHjB88UL!_#GR!{3N;pJw8c3Q=9=+(3D9jAU2u0E4ngcJs@?-N$h zH9vUEr#E8by7XBQf7cYxFfWvO7>f)2uC}X+T8-bb)jTI%cJW@IPtPZ*pwafF>kf6b-F{DDhn z*WH-x(dQ1NBL$SrvXbi>=jkbmQF+>pcC33dl$|8)cu3g}u~?e}0&9aBT(>3*Tbd`QbWAj?-z z951!lYId~CvXMWlewpAM?PQxw7F zXAl)#x^MuV5-pq4r{<2LzE(xgbw;O!^=#M#tC+&p#plI}IkNK(MiwbQP(MuJU4sg? z$-iqY$&1s^>^I0%4|+hb|0TSc&Oekqj~{K1uun{mnYB@LQ-TDyBvnnrN52x!v!cFB zZFgZpiN3u2!VGbWO#*3f zaZ=`ukeG$X(W}Lv%mxmdw9%gSmh$NlejZc z5;5e@lnu9{?B*r@l?y^_=Q%_!ozwnt^B-}&s{y*xNSiK+oxdFe@-^Jx$nZMV#U zCq1p1wx$#1TySx?AlVOuZ-#wQ+h(B;8&rw zswT&Bv)T1%Wg<tmmfXDzY=!TOJSI!WR&hcW@+7qkp*Iv)k~&mC+!Ju&Z= zx0~d=8emZ~IpcKe8Ty~r6m~9R%k=icQw}8zi(FRe_R9xsDb8WE_qXI-Y4yc76u)8z zBfH7_kM>;z$esy;O6#*<+}Uyff3?nk2p(v2hw|;Zdj+7~aG1g#2xAY@4F&2V zO6#U@e@K`dpqRW>Y8|kc57!!V!H!qEY3l&69N=xovD_p@pJ~vg)=DMi_OMmGlv)^k zU~1e$gNP?z{(=b4kJoZ&Sw?A-n)9X}}CWsk@YaXSQuz69a49#uuRT1m$WyRlRkKLE!&+@_H2Vs0+E z=o`3bj{zD<+iGj8>SL%JDA(UIXOk=JEY9;ui)w0|QE%1l%64FUXC#b@l0=j`k*<@C zNa~H?GFqnG_-O@6vx(J5mg8B<6WeYZ`t;1 zzqs(1Wx&p@FY=06xDllW19hE=#Gn_ebG< zBc~B;rN1E@_L}TLg1$n%?hzl2u(zy~J9l(e?TnfFk-^@`wPga=p-gnEAbp~(>+P`( z3CB#dMU3x>+*eoKpHRw$Lm6MI=~yg1=C9YT&>6ur>gNuJL*5>~KH%LzFW#Z6 zn-MSGfn1&s_oQpSKlcou+|#*a*y?x0x$nELzW-3HMj81=biT=v4&Sh#|GDY>-zZl9 zY$+Ih_tXB(RQ#7>6|MTJinW6BnS%;8gdS+s2Y)~r!yo{TgjLEADb7%DX_&G&Bqx?> z5;bgqO`vZsWL0XO*kqoNauF#&uRs&0IO~? zhJ$!1%wE8(0L4sF*ltnaA&cG|XsbsK0P}^h$hTZADTLhsB}}(!AWLUKq-ZqdHGbqa zHgYsEAZ~0kD?&0ZOUiDZ7r%qv|U^%Okp|&m~2S5OJ?CFt~1p3X3u1yjaBFHFn8{{n7btq za+~ckGL7D|V(b;ueNfQd7tTR11L$xU=;y|`e7o#x2i?b68;9GG8*5sM%uE}Ar01p) zp-MNsHNp!N1*JsM_CcwPDS_4l;xqNQD`*|>hJNDkxGCYsscdjTwMbTobHgdCloXM| z5@W(bUHHoV#omHfKZM)E$6c`p@dnB-YS#$~X#g=MuwcMPz(ihEc@h|u!}yCWvbax# zzHBEo0-i(7CE!B;Sj^4DgIF!qEIRhnog0&EF*b zz8}6cbf-$DZzPZ!(2b_}smo1>X6h_u7!ng*Ov026fAVCfbqZh+-8BIf3T=9bijmz- zG-}SKV7BMDk2qc4SLDnIR|( zY97yuktXk30`@huW^cI_fLJc7#M$~pYJVIPQ!Q{Z#vv1Ltx@a9bg#!|ceZ}3R=Lay zpglOf%(j#xOL!STH0f%GIy07EFflg z+))7XqJ;zoo-uH80TT&e;X`&2?X5y1UAyueaJ$Mlxrt8|Sut^%s$nZh$x>J@yc2At z6UWbb#&(+3SF?V7M1L9w2QwDeTlK+h3zjdo(iX7Oh|+^TFvYKtUIC6KPv)iyp(Bj< zA{OhT8V;8>%j}26#^rK*5y1N5#Y%Z{PL&vm7+A{PNkC5l$@jC>^pe^%is(aJ-3iCP z%D4w7B!j7A-A>?m*|{MeS|~Qsd~=purD5ED_L68euq$)8R+z=aB_0sjR`%~Soca}X zBy;H-ldJ)4;&u+ka}^mhsCF+ zYlnA>ro!v#W4X=;Jf3T{TB+TGscZG}bM5}{O}x|eL-)^RGuxe7#R*&0Hfwa1bA%#@ zctjp-{XUCUC94wl&ooWW)%*JXw=a~OAT@i;!8ZQAd%Hv04+_WipTD22z1&d#0{!hz z$*V+*Pf*}q*F|{;7NAk4@mJ>F8<`wm?^Rvi?krFEAoPXfKenY(jh1Q)S75qs>AWGw z9UylxgtV@!|5eM_zmm3(1#&9MZJ&0!26AexC5+MxyEpLySsis(c#GXL9+Xbo6H*H- z@dnl-?$#r$e!Q^u%36Faw;kGtiJSUWx@fUld0P|tzFNDN7ot=18Tt2%C=Rx1#VrI4 z@e@%ktJv1On#!x|Z02U_&2Z9X1jozCf)yXYN&;5AN)6!Ke}FL-DY?S7Ry}3scW(dr zez-JKj)+ z<|jA%4%r%BiPVGtLe}M!k46`WB8*`F>TrL&;^&iOn0$X07vLVxwinPP|DE&|(=`YL zV(cYcH?yk^>caBa8+py}2`}r5$EPR1429q9bApjL#!n->^S1CvX4UaUG;gp(7&5LkT$9$HIR{XO=}qn=b6a;ecO%)EeG zFk!j?*m2xBNUVhs|8%yNQWd-ai4QO{9!BfxbG2VJ=nIF*u-z?lg3@zPy$0ArdChI% zCh1J!r+Y&;x_0}xUUf!8GaYRAD{xOWy2CmA!b~N;tMnVBTmbQ$FY?Oir$r8=ft%|u zkHMk!TrL%;3~396WyRk40P1zRJ(qWLNE*{wU*#xIn1<*$%Fglu?C2hVvXzo;t)I<< zJ9ZonPENrXYa9I1qNb?SfmS60t)ay0?YGsAG;gi)9GA<8Gm5IT{~qOWsvXfR#g99n zoQZF#`WV8766W(^VW6res)FyvyE4tLsVf%x>D{U{H2m@ z#DtdnJa+qDn+b^EK<*rXcqbfmhlssx@d?_bQL2u1e6db7@CN*TS8^i>f{d4A5GVin zYx()}pOm6+(L?p{yUXh%9yH&FlIov#0@Zuply=fA24C2iRSJ!GE_xQ=8X!@i_z z0`QGlW#L;xc77p2Mu3qC*p*I8338{4ITzsva*cG?Ef7*Nez?bFEMrb94Ri>xPL-#p z!#^M&9LJZ}-!`=$X@iOo1VO?=MnZE0`1MmRX$JI)ip#96OBGakhWu>Kt>pMwV=6*J zAP?^1(yDApBpW83BwO|*Vc;Wk5b8pyQ8o|YX)RXLb5<%$O2rl@Q-fWTwu>^4s*q`T0wggQ~k&Z!JQuNsx)q zQyNGOv(E!{%v2)7+duH=E?YpafI$C>Dq`2R#jM$;SIV6nbF8AkSYeO`%{X(IUa~6R zdI<=dYC^Th2#*LVp!~_S z0gVOxq##~pr`ssnkH|-XUuY~bVR?LZTN_+wUXu)?&B$`9!(txY;Nl_eBNevXisiE6 zP3xFYg!Ytt28w~-5~~18MC^ld_KU^?YLAsBz0Vet=UT2Pj6T~>=n7uo3Vr{LU|*NO z`>Emhgu##aoF$jcgTDuQ=aa*seEs;w*@4ZVS?5*(-Hx&|uAcKxmw*4D^x?KdqzRD5T0ty~ zBES|wZvJNAJFG#2e6Ctpig52JHX2Aq?b?WwA2R5rFxZZ>-wD$~a2O#(eM^cfSF(j7 zhc8q99WN)52lrIo;W`Dym|T{bi$=A8!p6!q62p(Q;h;s zbxn- zXz<7v*F{JT@}<<=F58U2a6qDX-Am8=D1;hzvqgmvHp=-v^fADaRNxA!Me!$e4hqNEgWcsyjE%oT<&l1|SF_vtp+-+|#p7cRvROu-gfH8Ht1}26a zYa>9ljx)s4kX><_PbTktXLb^;BPC#3s$ir1!~>F(EBvY`FDN?S@*emfA6F?k{E&X% zj$Ww$=;-D6zt>sO-OY6yqeZd>O8hH1M~eFe_(Oh}M#-=)e3)nQs*7vpA~U=7IaT$C*`N%rLf#*I?I36) z1lV>vYSFlONtzAgwo88&AQQa(j+8M$APgsluhlfs?02DAS?r z`I7WNmY}DE?$53n+oO3L-U9Gqv7Q_cLCUMqS!Idh5$k=}FgO{( zzYjY=`v0!+ep_XfhF+8}ty&h+R;yw#X{P5pe0*30+H4w`Rh);|tXSP&f{1ZQH{o5&Eug~QQV zKOGHJ@G!|d(;$l=NoooJ4?sm>fYHonfabK}P;`k-05HL685#$7raQ(ERRq8;gqR-( z??GNMTIn)hDomHH0Z6WN7{VCiCf%o{$Qm5@6_hmW^0Lc!`xBELWp>_!ARhnm56k zvCCofav`+`eY%Ec?;)F=`5B#3+ei5-Aax+(kfa@}F>|&8F=53EHN{>t_8c^aX2bc_ z^N0m0Iq;y3kt7?G1kqI(3iOdre;e1*wQrI$IH6kBH0^M^{@TAQS2sTj3t6#Gx~pfm>CN?dd_&<voOV(IiAaH!Z+ zt9wzAA}rO{n09I-FPGOUMrfG?<)FA8waGAMpJfcRzR5|vTVdJk%c_b|M^Q+qSV)$d z`qf-~*og_*2FOD!U=j&#bx|I)LT)wh_?v=m-7;k6apK~!W@qRI=c?RQ+utXU=jd(S zpu+%SE{Du>>2a6>DbV_bV%TB=)i^-MO?`)=&*_3335`aYm7zRuEqaoo$PBUqKwSCT zvY5$msyaP=RF)x!u!nN@uxbN^%N;Xpl!-L5qG*qSEr#Kdt{UOS2h_`B1 z@gDT%rEr|!sxVZ2ZfLVh7UX371~RL~t7X)b<>oX;R~AhgVF z09O>v!v)!Kr~MC4`lxPp8P_f0i$Xxb0j#kmVGQ(V1D+m{+pF?mTPpmBH+P;8VOwPA z0}5fZqgxQ%*o1vYKJUOtQd83_1TRVX45r*m*G%{`s61GoP6Cs%uoA!=#r}GyJiz7D zec$&~cjPN1HBg9RgowqT<()qAdG$%GxhMZ@78?WBBNR)$;zv95e zt0#s_7G6Ba*S)GPSLgE{8X%CxR__sUM|t)4G+AX}K{8)F&Ix+nIQyGfz{`&>&hC^j zR}ZYKIG|u*0h2}n2YW=)43m#`qH+sk*!e}m5pvx%{qo88kN0nVxmzs!ca3%SAAy8K z|NWy@=$jm4Wvg%WZ;GmSwB$EM6+P(Kwz6Eg-V;HqjWta4<|pk?Fj<&&7!3i1d9$nI z-cRl%bd=U<`W-8rL+<+&znL|4Av|O=`@^`@Wp{@8AFYZejlax!~`*!_A%F*~#o1;cssE zzhO`Rh{;*_M#S56k{GS205wH1u(mMF|CAm{{Vgn}I7eI*Kng>d&*NUb1ZFJ$r_JfF zuvi~(R~-cLKYZi%*)F;o6mep=kB_$;BRwuYpKnjVeLUPvaRTeVhlkOJF(TrvJfz34 z{BJrES~mndW(sW3g}UmyCa;RH|*^E2{PqCxUD=i zyVb(AL&8hsjN+gxaR(zbd49^z!)5*%SW60*gr2Tn%qKu{2Q!<)sCEn9n}Z+lO{lX& zaRjSbOB)$5KZfwjsw|t|chHuQnP#%l?=*;iDxe)h6!ZzZb19Z1G9$474>_&Ci%8Ah z!XePT&GuuIVX3&!8!oPW4>S^K{z%JL`rC_`ied7w3`>JDn82lWpL;G29eE|T)ZCyW zV^J#}QQK*;;} z<4<5+&W>oVu_l9nXE})?#fO@?+`$2Fn2C(ue~vWbxH~rzeiuVh|It=X@SpeKzvO^y zH7GB|756XSmJ6zhmElo6co0HFe4lZMxZf8+ep3^AQHE8$Qg|jnw9uR%?|wrx8+;8%A3q>o!i;PMV#foz9xiC)?*OC6AxSTH+~I07+4U zEyv#b?CZar&yqV|563^OQq}P&<;?pG3m}&Q9>q-?9Ovr`>^twf45ubnWsZ9eUxm2M zg+Z5|0f_YvHvA3kz0d}}4i57!9TV1n%%M5Q#7AU`-wex}vgJlis~lBKHzlN8LKbAG z8Pvh%8P5XISirm_#x?i{fyV0>OfPPm@*3KWn?gDk)5}I6BQRG6dH^ZP|rAwg`mv1Q$=BQA%(_CYx!0wUkY{9_+6CmZZ zFU=F5h^t%3CJ{1!O3L0gl~qe;@9yR$`$XiHw!><{TGijT*(9Q8F`!;^$44!7JWs-) z4*j+H9CDPk&Jktf?3EhsIS0Vc;KhpOpuo{4OY*&9vgbqpf|<*L^bT*jB(7@PT_%hd z33=;~ET^oetQ#59d7xibSPtUZ9|FNb%eJ8Ke$>Z%!eZCk$A|snJZ249F+Ucc|4E3m zneEeYNpDC__gmJ)V8G?#q+ZH{G_l0g+H(EJOf?N^z1vDC5xN{LH>uiMmr^1xcbQ8l zh=1^w0T8AoIuV$NH1O#2vzz{mFft%W#S!{Ad zbZSXZUUAiHDxxFKZC$vcTTnT#4Pb=Hp31tCc%4f;B0zb{n6W={A&NhEDSyr@Y=D(s z-vCh&pszU)gN@!I_*96&rJUsLnl#pPXG|BtL^>UCt31{(`5I{BIZ#q zz)U+{I2fvo&Kr6R^AQ!E3xImCYL6<7p5dxzrmE=oJ3Y6=c-%h*l}mXMM(Qo{QXI>v z61YAf^-*_juefz%G^RSkQw_dCBJ~j_F@_0b<>ob(-GKC15>nxZ5r896GzaZ8*;l0O zLb0MhHCuH?${jm^(Kw|5ea{L{MV^#g4aC?;SMJkgxpfCsg1PlGl$JTS+78uK&G~@o zpTv@wE{^N@+F@wL?>5+ndLgW|7Uw^clp=OUqFEu5s9dm}&$1vEd$mK-Wxd%T_4(DS z$q8YmC4zl09#M*F9LOc++?sW>{|t&2dyRv6g2j%GEq*I?GkbHRC%3YtXTAqRIxg!1cn(tgfEn@ z>F%}k2k@tSoxxm>=E-A2u8U$hrkVs`t6<}c;&>0f8UyapjKli{?W5BFUlv`D_6zlr z^gGFzs2IsFzHfB z|EQkSOqqzs^(@140C%;~dFoykFf;-`KrL355@0BnOtEBeNS4J&jZRQM)PAVGT0n=z>^zwUz)+Bo|!$2Y%>jzJxd8UgsrRhpNuAs^xR?N1#8GC~Qyb>0g z09wgG{zAPFbJL7Lcuscx+Gx6!6`#)Dx0}<(yvEqW0AeDY#fas&475TJqvW(nTgWSV z*Qkf2jG8Jju6*}Z&BG!+D7H8t+=w%6d~&kxZha14zi})IiJRMl`7lu#Q4a@2Crl%? zwlE7k;n*3^urf}Qoua*)D(PIi;?v!j$XX2&&*&mcmhD-tnCd6z=yZKC=~y)fTPb4RwX2T#l(E^#<^xb&wl--xB#E2mgG3lbf9k+d z_EpKBC|P%7tXfJx2a|*&!u!>ix+lm!r3DZr@oc4W&}tN4Ay? zkuBs*U=K7}d*{DGV{ow7@nCb$c$gXOf(9Y!5S^i`mDVMSM62C~Ym@?^r5BhScKbf_ z7593O-l_ae0z6W>pL+96M%o)v-6b2JMi8HVo4hq$LRZquJzo)b?v(u*TJ(fH5tjv| ziD9L5in=HQ$1oh2#%eIN8*ZEN8wRR^vAoMY&+|&46k<=Lb6u6`=z7fM>q3bv z=9pLD@GrK4lUW3>#^M}fdCi{gn>-*6N-Ds(xA+D~xt~GEh^(Ss<|>)Crqi9KJnsF) z$9L}C=4DBhvF7jDL8=eypPZjnftVX>YllB`RtH-VWQK8hEj2cZx(#9P3P>AOiBxXb z#D+7ALMv6!C{6=g+qo{|0bEplpm8mjsF>F&+yQOyyD%aFC8yjimP;N|a%?@)i zB1{>)VU8PL_Tcm%$!>@~U5#$1&)bl1du?I)J{1(V&N3pGr#nhC{#IF6Xb0zJ)wF*= zuWRr@EckLnlEqr)bvLHOv9Rr`#Vhk6 z`LW3*14cM)@|uYvspxi}YEb?>!!+Zm-OfjHp7czLV}HE2_;k>EClG*M?E9cGTot}v zoBCalKK$hLfXi+`+dA3v?LHawf!_Zyz#b-#Eszvvjx7Qvdc%qhFhuV|f-Wu%d*sGF z)OHI)+oHG4FFeHQSG5Du9YpVmNqiy2EkQ=`3awkAAI^U&Qrgom-+M3^m?ya5l~9aL zE!K^hFW+y@`T~&QN}$S7xl4?CxBpT61C?KX|E_`tsM=E zsz@@{I~0hh)Dp8V7K|WJifo;*Uk}mG=8`ATaZeO_QR@HezBrj^m+cP;{0?o!bd%*@ z_H(4K&ObAR@R%Ui{pi?1t)RXqGRIv)qZ>J%#3E-s>Ed@k$5n2cDTJ9?L*kbx$mgVD zZi7=K;z%X$!coHmcy-yl<%07?WRuBl!Od~vN9Ms!>FcxlXE%4KZl}WNhK2X8lswKV zG2C1c6t#>(7z1~b;cdN^`_|SvYbX{lPHo?P!Iz}3>ndLFJm2srjA2Qo&C<$-!uMw;N7PjKk;wtHZHpSJ<-zZQA$%~{YN4Ch zB!J=AB7Emg{Y1xePVTf)mE%Rs4R8{h=}xEFgXq1vqFm`^&m2oEiv53wp2 z-C^95+vAnMas=%4g)h)$L=!am6!5X(Ea&JT*qOCd-HoeBtOJh0I(JP_MA9=hrARGV zQ?!GRgpxlevL=A=j`astbr+SyuCR^^w39n}K0ik}dcHhoDcV6bQ1w0IbrwFx?L`eG zhTdWz{_M9hy8%eWAcCzX`@G!NG+rT*mvjrAQE?{9%+0epU{#$nyd)0$m=E-c^(mxd}Xa@!-PeoK``tj3?7C$iqS$X<@jkC`?di(QI40xt_JPE=YLUv@G!A@55MDn0&)J6Z1aC)F8;fR@Nb>!TeUHDFm`m5GXL%! z+59`&*g3i%GT`^OYSlV_hAcF4B|MAE=|UYKM4r%LdlgHuKi+ZF>3s6jqfD&O(h(iZ zg!kythx=z0{mm{s>iQ5NtAa7L1yN)`^y(SsOp}smq2Zu0266G9tmsf${iN|uRqL#RMvZk|e&3A%9=gd1v@#;2pj!ZjiCf^Q?(9g<%>XoX+K#$-&!P+G z^>XK&BXw_d&vgucWVV<3bk^011qeC53J3?J>8)efdi4lc(jW+4A%f{FTo z10b5yo^sZqxf1;R0-TCIzw;>*6P|9P%ydxMS|uquCXd0o${yz}>_#icReGr%y0aKw zOAjDxe`VG!3%LhSAsxz%f&xX0bp?BCu4|AISMAowo&cMlEKb7?ObUuX+N%`?Shxr$ zX)J+`9j2WA-1#e~Jp&foSplM;xZ2^ygg4ZtPew}(k|n9X;WUamE-78~O8o?!O&=Ih ztSu=uNRksjI+ZW{hmA(jvk{48YfZK2HtNzM4Qqcp&9WX9H~gjKCAb_0Zk;C0=Dk zsdSUn_k{8Xts({_^dvpG&mo&V2bG<9U*$64sLkKRtpqnsgG8!R#iC-arX$CsbGXYT zdD~)sor#i{V({EZBh=Jur3UPXgC|Y0Zrg!zoWNg{RRZrI;-D=;_CN^dK%7&l$!en_ zl&xmBsLycfL2EWUL9<3RO-dPi22!Xi7$n60H*Kks7nr+0h;sDgX^i1IP`7j#P6hp$ z5}%ZFV6a=R2tU6(03!=!^-<17MRu14HSLH0R%S)YF$cz$I|>>-!L0T&n&~9M#^cnz z@&xpSuzwE9;UKVg$jwBN)=*NwOobclf+eSuLrhv7s$q|H1`4X0N0%*S3>x@@QTGh< za|J2Ym1Bb!9n^)?F`h~h9i$QS8S~L(LQ9_JPgy~~DHB;sk2D(^JHf6-4K5Qsa`JL| z`{wj23%xarLFcFnvPu%Bf{m7_5L(PlpSGE^#E{qYz~bGE2zQQ%7TX*N(k&)y#b*wb zaXaKTO3DT^6%tc}Ik-v2%*i<%)e<7G*9G@GAub>#6fM$CJZHp z*tHu3v0Zqpb}@R|*STa~n{`G) z8oi&rhM4tqYl4mH=Yx#D2D@=HvL>N_^$ z2h;6F!oMKy5EhaB;qiYj`WU~*_@fT3d-R6VBRw$@YBm1J1^<_8J9xhLUfZb)3DTDZ zInv?sPY0UyYADTWY;AnO65z(!t8jZM9|Pg4C?EWJXQ*{lm?^$@&gd6@PJ3+4X&?*n zb)o4SEbalT@?eb-T`K0&R{w!1m|I44Nde2l*0BC7wj0vro%;!^$MwP3X^7PwdGM%r z6-A~uegi|iwJ~|_**E4d^Nm5+XhXr;x4*9Fk-WAy*zlQwnrJ%ck#@S+K&!0a;7D7lr~84d+(57S^w?Z6qij#%4)XceO55!a&k4|)P(^jf znjAqlr1N|~3UK+*b;BjreG}hkMJ4*uugS0Xm)}l|q1gqRyz+<$b7(zyNwN-NT{gD{ zz}Wa2=ATcu%X6_vU8P#XKb)Wof(Ee{MRyM<2wjnP1{d6bM{ZDUp?d{TdqrS-`{6B; z3@Xf=k@0qsKf}2{gY7>ubB{=ng@W)*f~PCci`hzr;P~#j=xJRJnpQ{dN92oCO#uXV z*nrnM6WaO!%C^wV7gl5sxj{*{bmnE@#+bHuSe2%5yV1=Ux#FsB07Lhi4R# ziUS_6ZyTa=@{Q{UJf8rSkCeT$`kk{x5C1qw(${`a0PW|c#{QpV*JHOAPDL_GbQL?! zikpSduiZoZUf}vyv$ZysvbD8zw)-#Fo#KYfHw23(^Y;aaBNM!sKbRR51dTmKw_rRudK@?!2|R^t zytqog-o>bW*@@~S;ZI5hy!Tn#ii&AY3JH9;u8XUvndx*6-uL(G*xVneb=dqr_#tp0 zIS~v_xLBv5rx-69T0Gq*BXI@I#+syU(+SeVj)+I0nPN1T$7|#p+MdQ(C{eB~uzcL) z{#=zfjxWSGDpZb!$pJX&l?!FdiQZ8C18g98AU)<*2GV$HJwB51D<`{oR`MIRIR>2w zw?J;S7HH{6uSeaqbJ8TH0ZF69;NghT{Y2Q zz8UlITft>0Ho3tB`cnPuxQtO%r{`3^PX7*EdO}-twveKS*p~7wOH~eSf$xKlyA8qH zB#_0BL6$HGUI=J*4$-^P!C)$*853g|(I~6xAbVBpVjPj5ayXL@>J>zXK_9f1QeGIl zJU>i+OEksD7#*rOoo5&=sZ3RvWGq*^kJ(x{>-A?z;B%R*);)?`Jcn03_Gb13iHgis zS$i3THpExdKIwe+(e=*+vuw8STfwNW{iPg+**XG4^k&YcI?&2ch@N7KX#2M|NE}d zzqYpOw=Krb*x?_}nE%?>YQNkRzh_bCQvMpf>LaZ|Gl2f=s!I++Fes^qak=?HXCMX) z_qv8E<{{uQAh%vZm3=BcWA)_wr2~&)K|y{7+erOAi_uB$npv zl;k*sRV>K!jiPA>6cjalJ7JBx-`~h6jCmv=DockyI4z#aO5>LjoAi^*a$5ZYKYddi z`|ZeQ4TK0aoZ6U>m*C89gK(eoAcgM?!y)lfAeAik>KJ(8c`#Up3waorjD*a6X>f9+ zmsmk39B0p&4)RaRu&6*mdOx(9p4o^gw&_iToXp*$BdF?A@Uc=@{4FhGoQ^ElTsYoa zGKKVcDo_^7%7nL!XSNetlvqnhG7bvI!f;tkzX!F#u&~^+6m6Ixk#i+NoD}<&fw1mb zpR%RXJd8+#)FU*aPRwN_E`Sl=f3Q}p22BAK^Am9*VoDD?`#ZBV0@Jpu1zRdx0h}L5 zNllL-bBhhwCCT0I9|F3l3+#K~)&<%~%Hp?l@6EPgzIj*tq@ATwa7= zn}1Gd^qhS5lHp1gw>`OJb_!63GrB19X4$@ao48(dpizfYbM{=I_(I+k36aQ$oR4;b z45SrhnRFu+v0w}YwKM!h7^zeWKIjN&3P)9I19dQr^=h>K-G~l$Dt&YrIshFwH3fU| z0D@|)vP3;28xGfuodD`{%86_d z4PlpBKMkc$Kq}-SM_W>E*`-uvom97kO5a*zTODKe;DmCQKns)#%+h|BT~V1k?}uZIm; zwyw^mIvpu6oAD6)Dz2_4St&geQNWXIyJi=May#4=LTNIrDX3X!U^sR({h}f*vsz^6 zEP7eW)GVMYB6PCR-wVUz9=A)i|6QpI&$S+}qpJXPD)!x&%h*k{CfBo zikBGRyZ5x*Aqj!#RB_21kg>&UwBA-`0|w^7ReoZ~Ub~Bn^1Oera3M{17r+|rza0}` zjYA!ht5-jfbH;_m(#&LS8ql%iOrECKoWqO-;`<5;YpL#8=G}Qq&FRHIVUwK?RTR8qSxq`{Tm@FOfabJ{;oufrh}dYOSOa zn}nmT(k*z8kYiG;+2OS_>>}6xu0N8$qMK5{T{3rR!@awV{+8$G;4pmvT4>K9L|Harh09V#!ZKn~N9iwC0>X>)-;uqXbtz*&=h>Q$beh@ z9~ADPhL>Qnn@up@#oG_pk;+G#tf(ZIY$&aM{4%g=^UO3ZI}?`Enh_-MyVI6wYGwo2 z#)t1zLhtPJ45{MRBw^*Xnce)tu!X^1V}T{&|*<|NnG#bx*W1FmM(p6 zY}Ba>V>7Oz`s*-6Pp#h8E1y^4?s70>j`8J5w8AKo;46R)jF^g`ukjC6_|=CYk=y)B z&Pes?7uT2PH&&;X=F_GWQ!zL>Ca31JQ?;|0HLHh6VL9nZp`$X9UzyIQsa0+-b1)Ex z?A)h~qXN~==DD3{z$ZMidW<)?!*L08Klc~*i|v6QR*z<}HvQNXrl}gDtHF0U{Wd@P zMpI7^caNi}=kONP!UHH3Vk{zf2PcEg#%Z5L0k@j^dN4p#)jGn`1UKpWwqtmvrGxe{ zOS&+}E}GW**V^jVXr^|S$K5sU#2tEOa*HRa$Wju7Y;B@cyrDpQ&NjUxO`o)CIpO{C z9RqQaCJ5->z))sr1dTMS*P7Q7gN8~^Cx10y&hvfr)25$n0yMhd=)re<6hy=kw-EIyCaMO>t(B5Ab0N+-LMFNtuK_oA97yV45oMP@exSjjx~@FLv3FCwE3D=U zbYh;lvu_oUAxIPS;jXf#x%lN)=X&-&W+%WC~nETZ$Kyf_e7TIx@F^ zUWJe6pn&`YD8wOSoZY>0J1(+y98~23kIY`*B)NqSC_=)&ZXrj?>?);9nRVm}yh?R= z$P3Fpfx2=3s2piOYruF6<-p6P|LI~u6qn>XI|!$*SM)H0*Ppf-OVbWE&6c`xhwW64 zx-C3&0O4ML3?qmUhrCAkv4T+NTdJC*mekTc?aurD)O1J5?t9qx3+o!Kikw*iOoKwT zep|d9!)1CEW;(8@5Y}x;iu$Dp{BzrxV=`P6i_$YTmM|v+UY@+=TH;GcUFpGGX}4m>*?7KgCR5 zn-14^kC}NVGRDx?y=P4rs*7Qa4AW?RLr2F#A2Vy|PwJ&?j{{+td1XG_QMTKCY&s}E z8CGcG$gh+hS35o@cbvXJsNxQ6D!e>LHy+L1NdqKfKh&>tKhGT;y{?sn} zWZT=~Ot#|lj~4Mg>Y;-*mTDZ23L8CguEFB9mxPUbb(d?jF8NmH2qX&&r;ZUr?cDzrtH6{5CT<4w4*QInQ5kGFjd{IwB9 z#SP8zXagfVq$d;R7AG&FUcsKKCPCBhiczPcarC`S@pIfL@sA#<^rbX5MLtr=l8&q* zvH?O9 z4JmLVrNIPQU?Imsds#@V3LQ#7Zq{o?B%wcXtaf8QmtZnFY#s&&(**w_eT!H30n!Kj zHyna~1)v9&*nrf{SXf@Xx3{p;zEEUz6D26M8KzP=>+*~;US8sIo8ViDG&=!*GAaLQ z&t|#8*g|Ps_o?`$YLhsIaoG*CP%^{scMDvpv%7xb+Rm?VX`gSf&yk>LXGPfLaPZ1g zl`Au|tTxUO+-?3)y`@vIwj89`%70Bc|0mV09US#7E&qNrG*k8I2dW6#yG*)~5Lci= zA!bY2d|XkIEdj63v=4?5r=(`7t7SZ?cI#SXI)Jke=i>QW1tdP9Yq+Ek^*a08F8?O~ zHe@t=o5W0jTo*xY9rw+C$A!m@myM41`@x6}7)|#QC51rg=P$uH_(4lSScv@q&LYZO z-l7a~3X>9TS&iDFIU0jYwO8|66QUszI+{fiM|aMmt^qkl5)0Neq9o2hwB?(~P8 zA$OixiI48>L&54PwE74GTBF1d4jovG!+4Hheo%No*hS>zUIx3D4j81ea(cDSOj zwI<~7RV!#~OAnJ!Tf)9+d!Lewnx?2j8E8w+8H61P(VDi9^#+3+t&cX?+=d zC8Tl zJtG0#p>a5@`v7pNx+%Zl_&BkZAFjarV7V;byS0d~wq04&9sS+G-rv zClpwr=%u7>!cl61nHHSnfr}@GraoAR3x8J50X`M{E)4vtG%{F4bQ)WoY)EjgNIIrV zCSF!3$H+o)sO%fsw!(ZZ>fW}-v*BXkEzXPiivEXJne^DZiu_m%xoKebW5)J7E<%2!XF zcFC>EMmTQIDu;GoVoszH@Q|XBN-I<>T%abd%}!>)_@b{Ga&XBss!Yo2-wWVPfqXkm8%1Zm>zB+X!q56`=*bBzg#?$!OtSOim zrIM7Y-_7ONAkk)0sTR;llSa|W=cQUmtrKkZ3HoV?k>!KXBCXW~<>l3Apt8*{6Y7

UR&j$T(w{wl#mTmyvu9DhRlM(x8jjp@#c;@FjGx;4_86 z(t=sRXvwy4plMIbw~(o)iiP~N*aF3s0<~8NZNguhs>|C*jFt;M+Y3hWbZD#hjhvYQ zES#xIaecQa=7?D9!Nqxkw*z32d#SNp+8zZE^Z2E&^nKSbk5A5*gMYY}Mr$Zsq1IH!GN z?NF*WR_|Mhd85}U?r=Rw2fjz1*6f(dbr8G4C}1yS37kdEKym0gnXxF*<%wZS$r!o? zn2b!Tu|{y-nbpIgMkxlwlVt`rjuz2)LKGoCr}_7yL*vB_(LKx=$k-=>E$B?n>cNJF2lei>5+;mDDkksDJYCzHPvk zy_Z3wZ{-zkBe!)*QE!(J>&j#B3nTy-v%wrD<}UN{Y$fVoj4fMml~FDBt4zLKEoYy> z%4HHtB(ZngR6Tb+;^W8P8W_w!`NZrj9ao&!@?GN%yy^!oFb03l0oEAO2dW zq7nH_U5!eOEJWZG-C@wMg((kxvbcm~o%oRle}H7-P@Oe40D)29-2#uJ4#QsO zzu1Q$f8hQ(eM#Q3!L1%%XSxm|8#P+Hz7Ah^GF_~iwD%`iTQbdKh&=a_XapgkBCN)V z0}w$^>S4+l#@H-=72kmYoOp~} z50D~tzTW&xn?;L?gVQr8Ev<<7-@FLI|KLUZ^K%H|gEs2`+NzhB=uU7%&OYp=UR$A04)(E@!t(VUc$73B)c;Wlh1S^bPG)cU+p zXp&`~2UiUJ@k(uZpT`^%pP%tLt;X=G6=U3-f@}>Al_*1|wS>4)PbNHFLTqkYsZM$n zi0jLrb$Z@NF)PiUhQYg-(+8W*@#*GsT`O%HBl22S16rVXKNp1@Qw?cqJ$ShG7%z~{ zko+?v!5#!gidqOv_w36H0MFy6Ozmwpj#S^N@<-YJyfX+Ya8|lJwzG=})9D(or0wO! zC9}dA9O6)@{)cZ_+!%ddXG>Vkv9Qs{#=;w^scG11K1*Tw%?Hf-aj}m`w`Z_jsFNib z2I|@C_MMwa7yr}|rFR>1*lB37MS!IH{Qu zF4rIv57VyUyIborA?xeAWc?w5lwK_osGYv)Q_h)DT4~F4Z#5fgvs`kXQV+EvZ8?BI zrXoD>GiQp`jCItJ3^g-VX;^a6$%3Nj<5p15<{+7wzpt~e`XGr92!zH;$PhlCDulOr zu&bYpP9Q)npS&paxHN@Vt|?ZK!C@ZQ`jh3x3kAO7XWStObwev>0l6#lgYglXG<`xL z=TvfygoTK^|DjJI?lxi`4ljfO+5NVHz!8N&w~=phQ;A^2TKN}NYFc*yNld{Rlh;%T z;0X?al0)7E{#Fc6xg9;+xr!}D-wdm&?^s$jIT5Bu)D7vGQE$^8)n)*l2JxwM z40>f6lVwQ8y87Of65JSltPHHNUF?LT!>?=79%`{V?S`p-6ubG!Ea|nU-I;NFjjM^?I13}y{lUBSkM%Ip%F}?sPN=0LVN>ofa zIV2(EXnp5>Gh|s)Q$l6+nJU?x#@j282yG5?4&{V%D`6sS1FG+tpss)iw5tL&_p|S1 zCDLx=eTYi8?q8=$hC>KaA8XQ7aiuQwf=HidKD;CVgv4mJW-a^A4yaCk5OLh}tudi{ z_>O6K>p4)Bmfasq)8IEKe0T}lE3GSL$AaHvPcYoO-ZKx}NPEn@o>g);2av={GYD-D zD+};MC(mBf*HI{+I$t1X4g5%d{G>x+^hfA51~#khlm0ndYYRll&{J*Q}8`x(1v#USn>fVE|1{xa#JP&R`p5E9E99=;t6?Rv)QdEqST%BG|=>1C}T%8}Z;fi|}5GcmO091!k+V$x~2uW^6b$JWN2WTqihoSylyL@7;y zbZ*JSsqWL0AGi$_Ax>DK$}ya}GL`OjEU4S#B@A+a8P5WZ$jLWtjaOzm!~>nb*OKGJ(|p`^gM#K-nKS*gEL6 za+YD)aV4-6ifDmhWy)3|A)4x=h!)jo;?7+$s}d+6X^@DBNU1$f5iok@=1ap?UIq3raVO=ll1ysSoiu`sx=o_pl_u_w=JEI)KLP2ua#& z&;U%qsX`XD!x+3hvCWTQ8Q1F-01})d++-kfy1LeC{6@z_%J*z(n}(&>aVd7u-;ULo z_Bh;ug0NK$)0w3y`629Oh@r(%{AgrRk?`%lol~2z(di!NYT=a%`{!fkfK+04;+$9Y zjJ5BFgegXx9*|L(_91q)9_@x+kEIAD#?VLIt%m!2KdJsfNZP~`zNj!#3 z?eC2NwaIvppT6y6S$Wz!T$Ql+CTvB<}M9keI`NrTqm!F zrf61zcNj{2=eOiP_!Rzy9-}_vmhlMZrM0X7o?a!H^thJg*DOjy0(W&3-5yM$%-SHc zMj2+N$92TDGTDU1Qm9+zCS)#8RUKMYTKrZ6wQRcoxrt+cgk>{6Tq6~G;2$3^V<(bP}q%s0w zZR0ur6!oFvqeNCjgC*pSp1t-g1pcZUaV%gdM?Ce|LE4_D2BFP?xN%ak7SV;zZ_~~s ziQD+NGI4&&7M_G1$(AtBL>4jRfbQqAGJ%TK!4XXjYJx5%K9+e8p>=_Z@`qAQsgCT8 z6TvrqOYcgyIR6{)I%+4wexyp=9Etcvl zwYqHtqO=riPblbCIU=I&%ZP+Ed8ylHine3FbySUNIzpPv1$g=&YHZQocpL0a%n@Z5 zM@Rw@Biq$@Lpt5f&6*JPbvw4ykttvUUZU3``)3$Xu9Lx&wB68N@A`AM1=@Q($jJgD zO2Z+q&hdzZyjqJgK~FJ{e++SbKj@!SkHD^IcU%92u{caNPu~F!@{T zeVk^yaZGgb9W=52i!y$z&5qK2=!((`{GMEQo5t?6WU4>qtOlq$)5`9ZHCP@NFFF|r)8<)!)|Aam4Ig2UNJxP&oFsM zY}4`&96S}FLHmY0g;18N&-FM57;e)z&(qj*qP|6K7`7H^3rMvw>)_ud=yO5rsX%xl z=y?dQ-tmb(x)O9+_i$k8)x_!|$a~<6fLRUde}o#}x^a6{8}~;~De~7yZDA}1pz}E($k)R2sdYM=ko{ zinLDLySSvId>v2pVwqo$u=C{np5I)%rg$yIRlmF7NZ#?=UN$ zcQ6x#ovQkU4XHO5q<6XV11qF=>^_U&YHzgyFEyUC4EjzYN_>=fC=$ixU?YtV0a!^1 z53fz=Q7EiJg(N_TT#l7o(FF&~HO|+_jCFUY;v*+xHUe^Ef`bMo>~a_t`b6dd`YKVW z!VFol`h5OK596XvenNe682TPZor{9(^E_q#A$RBKtQxprx#$T!)~lvZ*@i$olL&9$ z8aDz{f~^RmD9=!0#7nD?1xUuh9|ZbyoI$~tJorE5`>+ zDQoW5(;$i^52buXJgO8L!UGd{a3mFq{p~<(x|Uy`5&e*;%ynR14zWjz!&`2mTIZfA zU%J!eey;#=iBwcF?85Dt)eFf(MId3Pt5e|Cn&#=h|0AyS7ES-atPy*H0shyJOQQkp$BJTu{3J<|HH$>j<7ApNMm*l%cU2m`3wpsF7Rzm3 z5i8jvcBD_w0p}kGW1lqEtNK0ecrChAL~$>Pqu$UIuN(~S>D3Z-a<05Xn>JPZPQMHt zx$NGd#JQ$s=op0lz*60O*nNP+?V{ejhy40X-37Pv0hHaZ}~Nv2!Wf3H{RDbgt! zEi3Y?BED+sv|fFDk$q$#6WgVZCztr0ERBzwKICK<=bGe7wdL!_9Vcnlf~6SXf}H6f zIPs}wq-VhivNxL%eF}nXN7!~AGBAjqJ&?2#aG;cw;D8;y za&M;Ha#W+-d@-h>>e3snSZSfeSvoFQR7W4Kxa=t26ELds{Oj^JJMe9T5%yhA_Jzvo zWsC58KtP~+MA8FDp&eiP!@i$X^%T< z5>TL!#70%Fws)|Pqx(z8pa_E~BlGKqlQ6@s`T$mtrz|V()3N0KM)E<%=gJ*i){$bl zrObxZ%ot<9Ho+jGc1ZCr&TWFBXuNHA$l8}y5r^XOk8%9PiTvg0PcOpW$3WBJt@zy= z=BF0J{jvHezkaZ>Q7d2pab-qrq&DFIZx&7J6U$oZDn(1$V z=k1kUnN%v?l)vnmgPL!$x-c`IEO_79uk$LAMJz{EM{GE2B_?{`|8g3!Q%vJH01XUG zm-@eDGztEFMpN3x^nZF!0^?6)PzBHi-e+Jfq|7M6X_CST%{3EfH#>lREJQ@5$pr;u zo;XQEwasf*O`4Ha+lnRf(l48z9_4_{brzHf@C45L8EX!2Ada@tx2NY5b|1XinGm8% zqF4bGRJa-Pmrn~;=PAF_dr|ct;ZP@N2d;G)`bH9+VHRShW5)GRu!6uBn4M;J#2P30 z-P>2tv(_B}imq@&>s=@b69@`}AaE!ye;$)@Mvd&>orf{?+&P0SMZXPNerrzHza(8i zujj&;G8XIe`JYfQq0xovPqt3i;h|8ni`{y;Tg_8jQQ8yxqhOR0sTVu+OBQDd@ED&*Mke?dCHm1%-co} zjs?j7&Q)f#R;EvsG|G)q}v z*l8TZf|_^)k&X9CzbnasCy*+aB3Q}^=d=)*@0V@ldWrtVDPoh6kLkHW-a=uaiR<9` znt=mzV2k)5VXJ6dLz7B+NR*3*a{WP{iIAqf+`FYqjTDG&_A{E{T1XV1)iRUOKCA|h z$?}+6z=KFnS^~H|O_>CwG|p2Jw-S;s6IhN>fTEmU?*61K^Z{`w?4A4o{Yl=@rBHDd z_u#nir@YGw@)|EN{$`C=+4T98;E(EdE)OG_Bj`9S%YQ|f{1dPI-y5pr^c}woI5-$v z8CV+IlStbb>RSqfn#%0W44fRzZ2oq*Hc&xR3P%7$>Pgm0roCe_w@z>FB|d+g)M!Hq zE)NqpiJ@`5xk7>!7kXlyvZnT;3Imag_y+bv=_pkqrU=F@mGfZKh10>r`t79?;u60~ z%2v)+{jEJQT> zUWrz}NG(|prf`gDa(DAiLEuY%{7A)L!$hXTI~yQtXuJ9i%>8}(SK)>@h%`_1F;kay?+^xOMgsVp-ptkNd`h_u{L$xpMr0yTv zqom^OdkYA(Q18D2Q~n9{|KDzpzt(LMRm}`>=FoX3l6Y&GWN?wm`xbLZAdH3@)2izu ziGDWqeH@YL@I?*5l0bDsF%un)Tcp*VW&>{(()^D^6)W^6*w<{m_Xel|=mI zcXvL!%{lMG>K*U<&c?+XUYF3L=4Y$#sz?e`zB0a9)XS{2%Cn<_=6oI^6D=Pzqp^y% zvXH+=BmQ(Gil75WMt{zM>7!|jp<2}FEGe#B(P*hyDZNQ+<2&bYr_`La@_l_fFcxbv zt%#GsshbYcFC51f@uKm2<;ckq>lY9P$G7x-OnB!uOHGdSGqtGHPyGl9)5>kkQE6qw z`=gkgZ`UxrHC;nT9Mu^!Sm}1Vx~ub>r;H)Wz|L5lZ=R!PEa8}+Qm1CW{B10)CcXN? z?Gd~xJD%Bz?_(ymhtF*}W>-gFS0hcH-ZR|3CfKO=w*yUe1te5Cm!KqK53PP^IGEK2 zYBkg}AzXz1hnyFmFi7MtAu-tDC?}$$8qMvQ(%{g(#BGISJozaLXHY?t;{~Eh5shE_ z6MF>-6zoty$^f-nV&G& zR8r0jsqjsa5P;zMqgR_}(WQ@%QC4JCdV-s?&v$*B6^S!p+<4J?xQe6Z8hSkIWiV-A zK#i+)Z^Q9}%M!oTGkYlWjGNy9VdO1Y=-WK`oG1E5B~{Fd(ZUSTH!ys;1|PydK8TBm zO}I5~Sr;+2?tBL?^Yc4z_NFcb49tzZ-Fzk+$S(|=7t{b#Kp;+Rxn{7y&@4|vyQMyJKlKV zu+d)QlT=3sq(>ruD)t!$so$@r5a)^!H-|CZxakm1nG>=&C(T=(v?e8DA^3kJ7Uhh} z3bSaI;iNQ2ASJD`8Pzor)7T{$yH2O#3zda-s) zdqxqJIP%GsayK#Xv2u4bwsUk;voU97OYIW=;Z@R7I&D*lK6zgsgcD4rZ zpjFwR;#sfG)G+7}-=%Ez@!XV|X|r=eR!z<>pA9c>PYb%AXMDSr5%;ym9$fu!9;R~p zs052!Y7t2Gljn>eg;m;XoZ8sQBeZV7cJ+-q&Fa#l8q0nGK5X{t;lj(;|7s17zIxu? z{M63*<^59_-Z(44FIs&K?1DZM%G zOtK9AzR5fLI;JOZ*-=NUk@T6nX{6I*YR+DjS;LJRvZ#PGBuE^xAnDBD6)2MknSxS@2wsuvWz^#~Cj0?gYiz@e*G^kAxbMZ3 zCXV&wGYvDbDp5qIZS>Gc6u>S)}H+KVs zLW{n}x|%2fw_s~T#~4?!l{J$~yV^9I9W`hBjuE6{AwIogi(YytbjyLACx#w9dl@@} zw^C~es5MP9+B0v?ooxxcn(Ld2%Fkq#RyjVum7n$DXkiNYB)$n1m(s_;#_&};{Yqj% zyDc<(+jLjqi%!=BOdWxT zE(`*2ZRH%ALhhAYp|ak6LIaltXvCQG7mE<37mnmE~azIRRH z(X3+mbxn-PME+6^y+&s}7<4~_LZ%#8cikb%o3(~4w~o#0g;Q(S;|B*Q_8_)c4cKKS zpd}wk+!;i4i;v>mRIWYL=8gEhBR2*mdHpuFT?#z>=6?+k6tL$z-RGBx-)osG4XFp7 z)?Y<(>v;vTwA><)<~yUG@4VXN5vxlyKB(5n$FB8cQ2rqh5szlU0<;k?)g>ODZ1F_{qb9|evw6a#sgzX5}(dq3qKls#JZ{?@<7 zR4X_@>Gw|kS}PclwI2Jklgpp4-M`GTO=s4Kv~*T$v{2jr$nWt>9!ydyf_B#@t|}Bb zNNXyr4*C8s)1Losm_umt!!d^c3ZXO(hvdR$iuUlsZ3bzFe6O z9@YtOqZFD)hKa9CttmQfD>iG(qS-BNfY9W=hTm#i4lxymQ%4s35`6jc$A90W@NaBX zAnbfiP|N>+MrmaD_tC|lp`pd~twC*le`|G*R9R6(RmFVAi?1fC&=QFR;nNLg%AwbM zHtYD73!jVvV?gf=ZBdKlJhK-0&F22?P_dZ#KGz11d*&#@D^w`8bY|gAV!re>6X5gt z^19k%+7^oB)YVr8-fDW=5i zxB7AU3URY2HYUzlElg%2nHTa0e~wC6j!s?5NVm1p)`ZUe5M0kgq22PF_oECtk`j6)FJBu{FWh1I!VX2 zFa$>?GYz)#^oZOxOd)8u3a{vrW*un-N2#zZ?WDjozJXfR{&EgtB*&kAafRk97J{eH z8S#OKsE3OKzfgvxmm5_Y0?%OX%A0)_FgI#DvnI9G2e&`2JLgcS1Y$yaYd``Ai??y*g-E*$kfJK&@PGiokYC+-7+Xh6~FQlNIBDAD% zxM{efw~zVIa-##5mJLLsE0=4fompzmn|}|F>)_8xmz@y;!OJqNjAfzXQxqsZOqZ>TDFczq?wn>NunaaMr$ zv<9?%a#uvwlU$_C9=|zpiYUtbg22Hg(8DK3j(feo(c!cB!amz}AaS20rpS)MMQ@~} zWo2wzxEh^e2YP(koK~fYe_~owr;X32exsiM8l2Xwe~j9a2)>pTt0}9YDM8Czz7+IA z2lHyZZ2P%&n_fq*a;Zz{Y#xT?!dmRAwxVyhkrnn#j1c#Sq(8CrWDW3<&ntwBU;-|b zg*#Dm3edzuxpGv#Zblv0sHuI9?P7#nb3RvY5?!8aDPa^WHOq}WP>@Gce6sYj{XP*D zfv=7qjZ~;M4O&%-Zl-5P{&G%5h|Y#&bp@K(*xY)2-}7-P^v71e5Hz(Z`JEszElc4I z-)wmO0VDlG*E2YK>~_lj!iT;mD7VyWD>;-s3JwS^{BJK?0!fdRmjU`TH$O4J2K53B zNu||hMNQ{m{1qB6oL$DBDTYJYdL81--?bE+k+IR`(v5wRnUY-F53-{Rj#sfUw zag$yZS-2mN#$SN=xCLg)pI^g_d#QAx*ybDUnbP)Plz+qL`CWk8{m>QBy@N5r8!jhx zYjCsJF63ed>iYa=Zhh1e+|9mOH|26e9;#Knc|T{=>kIZbZX17u(Oeuh)~3`sZlkx@ zFLPDGuR(nDvH36XW&$8^&=kJDN#Xk5CA>Gp<_dYAjf2=;+TYy;2Iv;J{*T}%j{zc3 zJCL4X6Dcnf;l`AQotvj@q^3xo5nSNQs0z>MN_J&ADqBAS>{Uj-b=p0V|Ct{Y`h}=@wK!O=vJ5nb%lEVR}kO-(DeMbo=_nhYZEh5Cwu*W#IKR@ z8-HYGfWLgF1=ZiwC=v{ikqWc}V4z?`;yx-fD#M|Rw-afqjl|WGwrK)9sQ@HoI*(v{ z30I@%Xv_L(uFR(UqfebrW2tNWKYqMIRQrula7|(fhzot`f%E?YG$qz#J(YC+<*A?L z4z~puX>6wr8h6~M@UspYN>dzC!QH7aH~GZ@oJ%}1+Q3Yk}EC*qhO_#}UHK`W&xZ${l1nXKBw>r!`SC?9{o+rWH@5 z(hg2Lm8Cr-f@CO8CH-Kzz+5(G4aa=T8n-&VCrpej$|*BK^up%pAT1PUBigB<`l6TB zRz);7$a;+bJ*5xLf8MfZk^s~Po6O6zIC3={jBV1)wXUVk#h#?PAbBShG%0fyan3GR zZ+WBrT5HKg0B275%kFHp1RpD^f8i_E^*C)Zk>bmQ&i-JFfqNTmg8z{;H92~V{Zxme z1zLOSg<3 zopWEFQaN|=zEt>wxAfemh&PV(l#t8hJ9<%UCv2M2rOkSD{@3x46g0-Y0X~K|;%N@4 za>HTfFv?f*6#SDG(JFkLR?*dL@|UMa7u~lIAadNtUZ^RWV*(b@I+A^ga&S=)xpu6; zKsyJCRP2S*5kJG#8IXqNbJKPu&Xpkz)D?#EGyB{@6{B4^%3YmeLFzr8s4)LWNWLAf zElB#`U`*mwa7^W&-TX+=L3eRPk?Rlv{BZoP>d+|30vHK|)aEhGaJ9l|du)XHA9qVp zj5HwBmHjHp1d5DfoTe@7KcpfPT1dtOz+DSMUrWQs#Ryy%ELnewLnE9>B-~*V7l5v< zguqG`xEH@Ef)|(cv3yKh{mX$%t(gMOW>9vAALK;*X9t4f-#ZY0dnH6%jSZa~ZT{{! z{L#TMfc_pu>t~+*;r1YMT0?V1~H=Q?87aq*d$3Jx6 zFnqKhqXS@qXj>U)_zWqo0+zjjatf4l-}%jXJ@)6+fV1$>_z+J4_8MjjxA(mof_J%L zxrNdr*yq*3R+K`;!KI~U{8U@<^6>mZb026+Qz5Y$8*e$0xhv!aCC2N;076pZj`dLz zF9Y39SK(+ z9^$V^KAUnhK(m@uk|OjuXsWGKUkb>Bb}J#p1(-xW2#SN@_FOopFo1?NOZ z!GnM!N1Pk@)y0C&@np!%ip-FL2h5u#zbH)*KMA=Tp_ZAf2utJn94XJgylJEvvdZxC zi{W7PJg=_jD;-u_O>k~ebCzk!=R&Ll%Vt%eR|Y&Qw00={GXvIxolOCVy^EIpE0^SZ`UqITve)D{W!9=78tn*Mw$6<>WXO z&S4@fUXD>YZpE;kgU}P&N-QIeulZjPnJNfbS5m=)p0%!z;`G@EO>Tz{4+=^E^i6%i z-AvEHXbwph9TLFm^w*~+WUPGa63_ME{5}D4b4Qh>7E>D*<^kmaV`14hwR0LYCiH&?jTzmd;P}Hd}0uxy{JeEQ+QXr844efYYFtOwH1`w>t|*%;Y{P# zMtZjG$<0QT5d>xk@zc*67vTQZqUp}T#ISO?#Xp9KwdRcv34iNZ!sFSQ4ukWOsn26u z2a~yhuni(|d@hL`#r}K=EUaz`7trV|KI%=ISybv-dWA0Q zfSOLCrKfhl(!riOoDxt#B|Ld>$%A+Y+g}vp5+mjau9I-3?-|hDdn5WnO=sT~(m>EV zKcpcz1w$a zYO8Z7cdI)$Yb(|+sLP%^WN4RHJ&k4HaU5+1#iw%od-SJVNBa_o-4MgtP9rAw0*5&F z2_wh)Y$&!VZWb&&EZlQSF~`w_?zw4g-^byL55X+{Z%+PEA!~aq?Esyd2j1)HnV$ng zEy`XR3V4H~fKnjT1uPGlyR<|EWe{+nF(!NCzH=92N&gc;)M~fFehR|`&Y6+M4=!X+$jKUq zT+9NNK0C$EBrOu42UNQ@6-6*ut@5@yqT(D%m0-g^a#c7A*>>s_1D&Jpf4J(Mcs# zutSx-lxFeSc^@esCX?WtN}9BHuP(?H2B3WFa<6J)3;a)g3)oZkK9VaI1U~i_C&RWar>u+hm zjx>&hx7nfcle9In@>MTXi{!OUfco!=j>_wQTXx3<2f!^#b2ovHn_kTV9))~wINRS3 zQN|;~7fc-<^*HN(4+VUfH5lx!7;A)Pt24**`2BQ{(Q$CYGQ_*o9B=@n{77(&C|27n z{wrF?4@BMN5)z;?qvI6l#g5GCiyRjf`-0gWIdjTbQEW==wco=Eu5HSB!FidFQuf2WzFrlpSmUqTs3Tt89NG>~h80&4lu?L4Z4Pf9MRw8D z0I!6&2A6zfg_109r&ugo5Og9RT|gzBP9E2eHf>-v!Xvr{g`twe9cOPo{f zkoxqnS6AfAo;c#NcrbM7v|v~>QEC(ko!GX`kNhSW->2%xCzQzcyrhtBB@WrM2NqZB zoU-mZ%$5%}Ms_ye`{=d;$RL<{Ed>L}^08hLv*^*h|J$YlA@E_WK*F z4jMXHuCE|Uox-Wcz%5;a*I(~{2~R#8LSM6iLK9q2x%eNx7#NrU$ou-o0QJ{`8913) z8qwMt8ycJ0I?~zN+kn7o9LpmhfAp1X)AiKRfg{Hq@7pk4W=h5kvbfW4`c6^LF2gxzUu`;Vaf&wBXg zzPsRn#G8V|Q~rw{Zy?S7v-tnTJOV_P?iiqkHB(Rm_KzaxKZY#`S?xcI{b#DuKR@aL z{s>dhZTIS+BJCc?n*aJkPJ_M*|Ep91 z6VMhBHM4hcRCF@SU}L&#Ks{Ed1!y(Ve_81Z=!5mY+Du5_ z!C1oD!Pwft%n<}Cs|Y&xU~LMrovl77ef0Nu`OoIF-@o9&2AQrK84Qf~U)EeD`ai5G zWo_eP{a5q-bw7Zp{Tz+|y&;QZ+mNe4>fM4i@V^>TAM}d+uj&EJ{$FL+^9pek#J?&2 z00$QbnqX5O3cd(%uj4in0gfg5@-UFDLKC%|+KOmtESXzXibDo{*? zW244Nl@8PdZh-0ls2Yg=HtT#-nHFg)wcoc3yU8{PgS_zFG2CCmTR=qNsZf2&RF6F3St3&gZiDGwWb>uhRmmQ*b3v5t3KvPHUtx>dFpB zX5Rom3a%4G=$6$2Gc)4%jz|CDIJb5%6N0@s25wSK$X1)oWb#_zHrN!iy~lz1qmB`D z3d)$cJFse?t!1v?jG6a385#GZRo#WPoQIsq{(BAc-4ORgRo!j1>G;fB3T?JG=G^(EE>lB0o4P7mb47u-hP#<0C(b}k!@8(9NTX(9k)mTw^f6E1WDPL zHz34yVmm)RWL$+F4lN`bQBMZh*l7-DV#XBD|?gJSV^v zNvUys%!>qVt_5~EG%mYTi}Y++PYWKWhI;(c&M-g#cN)X z@n~Hnj)&8#17v(l>t1-Wf#Doi`Xw4V6wz>EHXj4tp(Q=j+G5Ll|GD!G{@lzA^g4~6OUNBPO#g#+jn-luQ^m*w8O<%4ss=9T- fmnQ1gMa$y7`yEVIM{$YzrwzYBh~cyFU(5OihdU)S literal 0 HcmV?d00001 diff --git a/bisqapps/gradlew b/bisqapps/gradlew index f5feea6d..17a91706 100755 --- a/bisqapps/gradlew +++ b/bisqapps/gradlew @@ -1,130 +1,78 @@ -#!/bin/sh - -# -# Copyright © 2015-2021 the original authors. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# https://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# SPDX-License-Identifier: Apache-2.0 -# +#!/usr/bin/env sh ############################################################################## -# -# Gradle start up script for POSIX generated by Gradle. -# -# Important for running: -# -# (1) You need a POSIX-compliant shell to run this script. If your /bin/sh is -# noncompliant, but you have some other compliant shell such as ksh or -# bash, then to run this script, type that shell name before the whole -# command line, like: -# -# ksh Gradle -# -# Busybox and similar reduced shells will NOT work, because this script -# requires all of these POSIX shell features: -# * functions; -# * expansions «$var», «${var}», «${var:-default}», «${var+SET}», -# «${var#prefix}», «${var%suffix}», and «$( cmd )»; -# * compound commands having a testable exit status, especially «case»; -# * various built-in commands including «command», «set», and «ulimit». -# -# Important for patching: -# -# (2) This script targets any POSIX shell, so it avoids extensions provided -# by Bash, Ksh, etc; in particular arrays are avoided. -# -# The "traditional" practice of packing multiple parameters into a -# space-separated string is a well documented source of bugs and security -# problems, so this is (mostly) avoided, by progressively accumulating -# options in "$@", and eventually passing that to Java. -# -# Where the inherited environment variables (DEFAULT_JVM_OPTS, JAVA_OPTS, -# and GRADLE_OPTS) rely on word-splitting, this is performed explicitly; -# see the in-line comments for details. -# -# There are tweaks for specific operating systems such as AIX, CygWin, -# Darwin, MinGW, and NonStop. -# -# (3) This script is generated from the Groovy template -# https://github.com/gradle/gradle/blob/HEAD/platforms/jvm/plugins-application/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt -# within the Gradle project. -# -# You can find Gradle at https://github.com/gradle/gradle/. -# +## +## Gradle start up script for UN*X +## ############################################################################## # Attempt to set APP_HOME - # Resolve links: $0 may be a link -app_path=$0 - -# Need this for daisy-chained symlinks. -while - APP_HOME=${app_path%"${app_path##*/}"} # leaves a trailing /; empty if no leading path - [ -h "$app_path" ] -do - ls=$( ls -ld "$app_path" ) - link=${ls#*' -> '} - case $link in #( - /*) app_path=$link ;; #( - *) app_path=$APP_HOME$link ;; - esac +PRG="$0" +# Need this for relative symlinks. +while [ -h "$PRG" ] ; do + ls=`ls -ld "$PRG"` + link=`expr "$ls" : '.*-> \(.*\)$'` + if expr "$link" : '/.*' > /dev/null; then + PRG="$link" + else + PRG=`dirname "$PRG"`"/$link" + fi done +SAVED="`pwd`" +cd "`dirname \"$PRG\"`/" >/dev/null +APP_HOME="`pwd -P`" +cd "$SAVED" >/dev/null + +APP_NAME="Gradle" +APP_BASE_NAME=`basename "$0"` -# This is normally unused -# shellcheck disable=SC2034 -APP_BASE_NAME=${0##*/} -# Discard cd standard output in case $CDPATH is set (https://github.com/gradle/gradle/issues/25036) -APP_HOME=$( cd -P "${APP_HOME:-./}" > /dev/null && printf '%s -' "$PWD" ) || exit +# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +DEFAULT_JVM_OPTS="" # Use the maximum available, or set MAX_FD != -1 to use that value. -MAX_FD=maximum +MAX_FD="maximum" warn () { echo "$*" -} >&2 +} die () { echo echo "$*" echo exit 1 -} >&2 +} # OS specific support (must be 'true' or 'false'). cygwin=false msys=false darwin=false nonstop=false -case "$( uname )" in #( - CYGWIN* ) cygwin=true ;; #( - Darwin* ) darwin=true ;; #( - MSYS* | MINGW* ) msys=true ;; #( - NONSTOP* ) nonstop=true ;; +case "`uname`" in + CYGWIN* ) + cygwin=true + ;; + Darwin* ) + darwin=true + ;; + MINGW* ) + msys=true + ;; + NONSTOP* ) + nonstop=true + ;; esac CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar - # Determine the Java command to use to start the JVM. if [ -n "$JAVA_HOME" ] ; then if [ -x "$JAVA_HOME/jre/sh/java" ] ; then # IBM's JDK on AIX uses strange locations for the executables - JAVACMD=$JAVA_HOME/jre/sh/java + JAVACMD="$JAVA_HOME/jre/sh/java" else - JAVACMD=$JAVA_HOME/bin/java + JAVACMD="$JAVA_HOME/bin/java" fi if [ ! -x "$JAVACMD" ] ; then die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME @@ -133,120 +81,96 @@ Please set the JAVA_HOME variable in your environment to match the location of your Java installation." fi else - JAVACMD=java - if ! command -v java >/dev/null 2>&1 - then - die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. + JAVACMD="java" + which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. Please set the JAVA_HOME variable in your environment to match the location of your Java installation." - fi fi # Increase the maximum file descriptors if we can. -if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then - case $MAX_FD in #( - max*) - # In POSIX sh, ulimit -H is undefined. That's why the result is checked to see if it worked. - # shellcheck disable=SC2039,SC3045 - MAX_FD=$( ulimit -H -n ) || - warn "Could not query maximum file descriptor limit" - esac - case $MAX_FD in #( - '' | soft) :;; #( - *) - # In POSIX sh, ulimit -n is undefined. That's why the result is checked to see if it worked. - # shellcheck disable=SC2039,SC3045 - ulimit -n "$MAX_FD" || - warn "Could not set maximum file descriptor limit to $MAX_FD" - esac +if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then + MAX_FD_LIMIT=`ulimit -H -n` + if [ $? -eq 0 ] ; then + if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then + MAX_FD="$MAX_FD_LIMIT" + fi + ulimit -n $MAX_FD + if [ $? -ne 0 ] ; then + warn "Could not set maximum file descriptor limit: $MAX_FD" + fi + else + warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT" + fi fi -# Collect all arguments for the java command, stacking in reverse order: -# * args from the command line -# * the main class name -# * -classpath -# * -D...appname settings -# * --module-path (only if needed) -# * DEFAULT_JVM_OPTS, JAVA_OPTS, and GRADLE_OPTS environment variables. - -# For Cygwin or MSYS, switch paths to Windows format before running java -if "$cygwin" || "$msys" ; then - APP_HOME=$( cygpath --path --mixed "$APP_HOME" ) - CLASSPATH=$( cygpath --path --mixed "$CLASSPATH" ) - - JAVACMD=$( cygpath --unix "$JAVACMD" ) +# For Darwin, add options to specify how the application appears in the dock +if $darwin; then + GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\"" +fi +# For Cygwin, switch paths to Windows format before running java +if $cygwin ; then + APP_HOME=`cygpath --path --mixed "$APP_HOME"` + CLASSPATH=`cygpath --path --mixed "$CLASSPATH"` + JAVACMD=`cygpath --unix "$JAVACMD"` + + # We build the pattern for arguments to be converted via cygpath + ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null` + SEP="" + for dir in $ROOTDIRSRAW ; do + ROOTDIRS="$ROOTDIRS$SEP$dir" + SEP="|" + done + OURCYGPATTERN="(^($ROOTDIRS))" + # Add a user-defined pattern to the cygpath arguments + if [ "$GRADLE_CYGPATTERN" != "" ] ; then + OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)" + fi # Now convert the arguments - kludge to limit ourselves to /bin/sh - for arg do - if - case $arg in #( - -*) false ;; # don't mess with options #( - /?*) t=${arg#/} t=/${t%%/*} # looks like a POSIX filepath - [ -e "$t" ] ;; #( - *) false ;; - esac - then - arg=$( cygpath --path --ignore --mixed "$arg" ) + i=0 + for arg in "$@" ; do + CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -` + CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option + + if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition + eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"` + else + eval `echo args$i`="\"$arg\"" fi - # Roll the args list around exactly as many times as the number of - # args, so each arg winds up back in the position where it started, but - # possibly modified. - # - # NB: a `for` loop captures its iteration list before it begins, so - # changing the positional parameters here affects neither the number of - # iterations, nor the values presented in `arg`. - shift # remove old arg - set -- "$@" "$arg" # push replacement arg + i=$((i+1)) done + case $i in + (0) set -- ;; + (1) set -- "$args0" ;; + (2) set -- "$args0" "$args1" ;; + (3) set -- "$args0" "$args1" "$args2" ;; + (4) set -- "$args0" "$args1" "$args2" "$args3" ;; + (5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;; + (6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;; + (7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;; + (8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;; + (9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;; + esac fi +# Escape application args +save () { + for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done + echo " " +} +APP_ARGS=$(save "$@") -# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' - -# Collect all arguments for the java command: -# * DEFAULT_JVM_OPTS, JAVA_OPTS, JAVA_OPTS, and optsEnvironmentVar are not allowed to contain shell fragments, -# and any embedded shellness will be escaped. -# * For example: A user cannot expect ${Hostname} to be expanded, as it is an environment variable and will be -# treated as '${Hostname}' itself on the command line. - -set -- \ - "-Dorg.gradle.appname=$APP_BASE_NAME" \ - -classpath "$CLASSPATH" \ - org.gradle.wrapper.GradleWrapperMain \ - "$@" - -# Stop when "xargs" is not available. -if ! command -v xargs >/dev/null 2>&1 -then - die "xargs is not available" +# Collect all arguments for the java command, following the shell quoting and substitution rules +if $JAVACMD --add-opens java.base/java.lang=ALL-UNNAMED -version ; then + DEFAULT_JVM_OPTS="--add-opens java.base/java.lang=ALL-UNNAMED $DEFAULT_JVM_OPTS" fi -# Use "xargs" to parse quoted args. -# -# With -n1 it outputs one arg per line, with the quotes and backslashes removed. -# -# In Bash we could simply go: -# -# readarray ARGS < <( xargs -n1 <<<"$var" ) && -# set -- "${ARGS[@]}" "$@" -# -# but POSIX shell has neither arrays nor command substitution, so instead we -# post-process each arg (as a line of input to sed) to backslash-escape any -# character that might be a shell metacharacter, then use eval to reverse -# that process (while maintaining the separation between arguments), and wrap -# the whole thing up as a single "set" statement. -# -# This will of course break if any of these variables contains a newline or -# an unmatched quote. -# - -eval "set -- $( - printf '%s\n' "$DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS" | - xargs -n1 | - sed ' s~[^-[:alnum:]+,./:=@_]~\\&~g; ' | - tr '\n' ' ' - )" '"$@"' +eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS" + +# by default we should be in the correct project dir, but when run from Finder on Mac, the cwd is wrong +if [ "$(uname)" = "Darwin" ] && [ "$HOME" = "$PWD" ]; then + cd "$(dirname "$0")" +fi exec "$JAVACMD" "$@" diff --git a/bisqapps/gradlew.bat b/bisqapps/gradlew.bat index 9b42019c..e95643d6 100644 --- a/bisqapps/gradlew.bat +++ b/bisqapps/gradlew.bat @@ -1,22 +1,4 @@ -@rem -@rem Copyright 2015 the original author or authors. -@rem -@rem Licensed under the Apache License, Version 2.0 (the "License"); -@rem you may not use this file except in compliance with the License. -@rem You may obtain a copy of the License at -@rem -@rem https://www.apache.org/licenses/LICENSE-2.0 -@rem -@rem Unless required by applicable law or agreed to in writing, software -@rem distributed under the License is distributed on an "AS IS" BASIS, -@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -@rem See the License for the specific language governing permissions and -@rem limitations under the License. -@rem -@rem SPDX-License-Identifier: Apache-2.0 -@rem - -@if "%DEBUG%"=="" @echo off +@if "%DEBUG%" == "" @echo off @rem ########################################################################## @rem @rem Gradle startup script for Windows @@ -27,29 +9,25 @@ if "%OS%"=="Windows_NT" setlocal set DIRNAME=%~dp0 -if "%DIRNAME%"=="" set DIRNAME=. -@rem This is normally unused +if "%DIRNAME%" == "" set DIRNAME=. set APP_BASE_NAME=%~n0 set APP_HOME=%DIRNAME% -@rem Resolve any "." and ".." in APP_HOME to make it shorter. -for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi - @rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m" +set DEFAULT_JVM_OPTS= @rem Find java.exe if defined JAVA_HOME goto findJavaFromJavaHome set JAVA_EXE=java.exe %JAVA_EXE% -version >NUL 2>&1 -if %ERRORLEVEL% equ 0 goto execute +if "%ERRORLEVEL%" == "0" goto init -echo. 1>&2 -echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. 1>&2 -echo. 1>&2 -echo Please set the JAVA_HOME variable in your environment to match the 1>&2 -echo location of your Java installation. 1>&2 +echo. +echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. goto fail @@ -57,36 +35,48 @@ goto fail set JAVA_HOME=%JAVA_HOME:"=% set JAVA_EXE=%JAVA_HOME%/bin/java.exe -if exist "%JAVA_EXE%" goto execute +if exist "%JAVA_EXE%" goto init -echo. 1>&2 -echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% 1>&2 -echo. 1>&2 -echo Please set the JAVA_HOME variable in your environment to match the 1>&2 -echo location of your Java installation. 1>&2 +echo. +echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. goto fail +:init +@rem Get command-line arguments, handling Windows variants + +if not "%OS%" == "Windows_NT" goto win9xME_args + +:win9xME_args +@rem Slurp the command line arguments. +set CMD_LINE_ARGS= +set _SKIP=2 + +:win9xME_args_slurp +if "x%~1" == "x" goto execute + +set CMD_LINE_ARGS=%* + :execute @rem Setup the command line set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar - @rem Execute Gradle -"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %* +"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS% :end @rem End local scope for the variables with windows NT shell -if %ERRORLEVEL% equ 0 goto mainEnd +if "%ERRORLEVEL%"=="0" goto mainEnd :fail rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of rem the _cmd.exe /c_ return code! -set EXIT_CODE=%ERRORLEVEL% -if %EXIT_CODE% equ 0 set EXIT_CODE=1 -if not ""=="%GRADLE_EXIT_CONSOLE%" exit %EXIT_CODE% -exit /b %EXIT_CODE% +if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1 +exit /b 1 :mainEnd if "%OS%"=="Windows_NT" endlocal diff --git a/bisqapps/shared/domain/build.gradle.kts b/bisqapps/shared/domain/build.gradle.kts index e7816a18..af89fdf7 100644 --- a/bisqapps/shared/domain/build.gradle.kts +++ b/bisqapps/shared/domain/build.gradle.kts @@ -41,7 +41,7 @@ kotlin { } android { - namespace = "network.bisq.mobile" + namespace = "network.bisq.mobile.shared.domain" compileSdk = 34 defaultConfig { minSdk = 24 diff --git a/bisqapps/shared/presentation/build.gradle.kts b/bisqapps/shared/presentation/build.gradle.kts index 8a4d3930..0411aa7c 100644 --- a/bisqapps/shared/presentation/build.gradle.kts +++ b/bisqapps/shared/presentation/build.gradle.kts @@ -1,3 +1,7 @@ +import org.jetbrains.compose.compose +import org.jetbrains.kotlin.gradle.ExperimentalKotlinGradlePluginApi +import org.jetbrains.kotlin.gradle.plugin.KotlinSourceSetTree + plugins { alias(libs.plugins.kotlinMultiplatform) alias(libs.plugins.kotlinCocoapods) @@ -7,12 +11,17 @@ plugins { alias(libs.plugins.buildconfig) } +dependencies { + androidTestImplementation(libs.androidx.test.compose) + androidTestImplementation(libs.androidx.test.manifest) +} + version = project.findProperty("shared.version") as String // The following allow us to configure each app type independently and link for example with gradle.properties // TODO potentially to be refactored into a shared/common module buildConfig { - forClass("network.bisq.mobile.client", className = "BuildConfig") { + forClass("network.bisq.mobile.client.shared", className = "BuildConfig") { buildConfigField("APP_NAME", project.findProperty("client.name").toString()) buildConfigField("ANDROID_APP_VERSION", project.findProperty("client.android.version").toString()) buildConfigField("IOS_APP_VERSION", project.findProperty("client.ios.version").toString()) @@ -44,6 +53,8 @@ kotlin { jvmTarget = "1.8" } } + @OptIn(ExperimentalKotlinGradlePluginApi::class) + instrumentedTestVariant.sourceSetTree.set(KotlinSourceSetTree.test) } iosX64() iosArm64() @@ -77,17 +88,23 @@ kotlin { implementation(libs.logging.kermit) implementation(libs.kotlinx.coroutines) } - commonTest.dependencies { - implementation(libs.kotlin.test) - } + val commonTest by getting { + dependencies { + implementation(libs.kotlin.test) +// implementation(kotlin("test")) + @OptIn(org.jetbrains.compose.ExperimentalComposeLibrary::class) + implementation(compose.uiTest) + } + } } } android { - namespace = "network.bisq.mobile" + namespace = "network.bisq.mobile.shared.presentation" compileSdk = 34 defaultConfig { minSdk = 24 + testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" } compileOptions { sourceCompatibility = JavaVersion.VERSION_1_8 diff --git a/bisqapps/shared/presentation/src/commonMain/kotlin/network/bisq/mobile/presentation/MainPresenter.kt b/bisqapps/shared/presentation/src/commonMain/kotlin/network/bisq/mobile/presentation/MainPresenter.kt index 97f85ba2..613e2362 100644 --- a/bisqapps/shared/presentation/src/commonMain/kotlin/network/bisq/mobile/presentation/MainPresenter.kt +++ b/bisqapps/shared/presentation/src/commonMain/kotlin/network/bisq/mobile/presentation/MainPresenter.kt @@ -4,7 +4,7 @@ import co.touchlab.kermit.Logger import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.flow.StateFlow import network.bisq.mobile.android.node.BuildNodeConfig -import network.bisq.mobile.client.BuildConfig +import network.bisq.mobile.client.shared.BuildConfig import network.bisq.mobile.domain.data.repository.GreetingRepository import network.bisq.mobile.presentation.ui.AppPresenter diff --git a/bisqapps/shared/presentation/src/commonTest/kotlin/network/bisq/mobile/presentation/ExampleTest.kt b/bisqapps/shared/presentation/src/commonTest/kotlin/network/bisq/mobile/presentation/ExampleTest.kt new file mode 100644 index 00000000..1a2d164c --- /dev/null +++ b/bisqapps/shared/presentation/src/commonTest/kotlin/network/bisq/mobile/presentation/ExampleTest.kt @@ -0,0 +1,42 @@ +import androidx.compose.material.* +import androidx.compose.runtime.* +import androidx.compose.ui.Modifier +import androidx.compose.ui.platform.testTag +import androidx.compose.ui.test.* +import kotlin.test.Ignore +import kotlin.test.Test + +/** + * Example test for UI shared code on KMP Compose. + * Not working- see https://slack-chats.kotlinlang.org/t/18784429/hi-there-i-m-trying-to-run-an-ui-test-in-shared-commontest-a + * Ignoring till we figure out the problem bringing NPE on Build.FINGERPRINT (internal to compose ui test) + */ +@Ignore +class ExampleTest { + + @OptIn(ExperimentalTestApi::class) + @Test + fun myTest() = runComposeUiTest { + // Declares a mock UI to demonstrate API calls + // + // Replace with your own declarations to test the code of your project + setContent { + var text by remember { mutableStateOf("Hello") } + Text( + text = text, + modifier = Modifier.testTag("text") + ) + Button( + onClick = { text = "Compose" }, + modifier = Modifier.testTag("button") + ) { + Text("Click me") + } + } + + // Tests the declared UI with assertions and actions of the Compose Multiplatform testing API + onNodeWithTag("text").assertTextEquals("Hello") + onNodeWithTag("button").performClick() + onNodeWithTag("text").assertTextEquals("Compose") + } +} \ No newline at end of file From f0637e0160533aee74c7d72715536762b8c3ba73 Mon Sep 17 00:00:00 2001 From: Rodrigo Varela Date: Wed, 6 Nov 2024 09:24:45 +1100 Subject: [PATCH 4/7] - Updating native poc with Henriks contribution + some small adaptations to make it play well with the bisq2 project local maven publishing work (#28) --- .../app/build.gradle.kts | 89 +- .../app/proguard-rules.pro | 7 +- .../app/src/main/AndroidManifest.xml | 4 +- .../android/AndroidApplicationService.java | 261 + .../main/java/bisq/android/MainActivity.kt | 72 + .../android/impl/AndroidCatHashService.java | 47 + .../impl/AndroidMemoryReportService.java | 41 + .../bisq/android/main/MainController.java | 356 + .../java/bisq/android/main/MainModel.java | 13 + .../main/java/bisq/android/main/MainView.java | 18 + .../user_profile/UserProfileController.java | 88 + .../main/user_profile/UserProfileModel.java | 29 + .../main/user_profile/UserProfileView.java | 16 + .../main/java/bisq/android/ui/theme/Color.kt | 11 + .../main/java/bisq/android/ui/theme/Theme.kt | 57 + .../main/java/bisq/android/ui/theme/Type.kt | 34 + .../app/src/main/proto/account.proto | 303 + .../app/src/main/proto/bonded_roles.proto | 131 + .../app/src/main/proto/chat.proto | 211 + .../app/src/main/proto/common.proto | 13 +- .../app/src/main/proto/contract.proto | 98 + .../app/src/main/proto/identity.proto | 36 + .../app/src/main/proto/network.proto | 396 + .../app/src/main/proto/network_identity.proto | 11 + .../app/src/main/proto/offer.proto | 156 + .../app/src/main/proto/persistence.proto | 27 + .../app/src/main/proto/presentation.proto | 22 + .../app/src/main/proto/security.proto | 82 + .../app/src/main/proto/settings.proto | 67 + .../app/src/main/proto/support.proto | 40 + .../app/src/main/proto/trade.proto | 166 + .../app/src/main/proto/user.proto | 160 + .../app/src/main/resources/academy.properties | 388 + .../src/main/resources/academy_cs.properties | 94 + .../src/main/resources/academy_de.properties | 94 + .../src/main/resources/academy_es.properties | 94 + .../src/main/resources/academy_it.properties | 94 + .../src/main/resources/academy_pcm.properties | 94 + .../main/resources/academy_pt_BR.properties | 94 + .../app/src/main/resources/adjectives.txt | 4832 ++++++ .../app/src/main/resources/adverbs.txt | 450 + .../app/src/main/resources/android.conf | 216 + .../src/main/resources/application.properties | 274 + .../main/resources/application_cs.properties | 252 + .../main/resources/application_de.properties | 252 + .../main/resources/application_es.properties | 252 + .../main/resources/application_it.properties | 252 + .../main/resources/application_pcm.properties | 252 + .../resources/application_pt_BR.properties | 252 + .../main/resources/authorized_role.properties | 158 + .../resources/authorized_role_cs.properties | 154 + .../resources/authorized_role_de.properties | 154 + .../resources/authorized_role_es.properties | 154 + .../resources/authorized_role_it.properties | 154 + .../resources/authorized_role_pcm.properties | 154 + .../authorized_role_pt_BR.properties | 154 + .../src/main/resources/bisq_easy.properties | 942 ++ .../main/resources/bisq_easy_cs.properties | 808 + .../main/resources/bisq_easy_de.properties | 808 + .../main/resources/bisq_easy_es.properties | 808 + .../main/resources/bisq_easy_it.properties | 808 + .../main/resources/bisq_easy_pcm.properties | 808 + .../main/resources/bisq_easy_pt_BR.properties | 808 + .../app/src/main/resources/chat.properties | 282 + .../app/src/main/resources/chat_cs.properties | 247 + .../app/src/main/resources/chat_de.properties | 247 + .../app/src/main/resources/chat_es.properties | 247 + .../app/src/main/resources/chat_it.properties | 247 + .../src/main/resources/chat_pcm.properties | 247 + .../src/main/resources/chat_pt_BR.properties | 247 + .../app/src/main/resources/default.properties | 142 + .../src/main/resources/default_cs.properties | 140 + .../src/main/resources/default_de.properties | 140 + .../src/main/resources/default_es.properties | 140 + .../src/main/resources/default_it.properties | 140 + .../src/main/resources/default_pcm.properties | 140 + .../main/resources/default_pt_BR.properties | 140 + .../app/src/main/resources/logback.xml | 17 + .../app/src/main/resources/network.properties | 79 + .../src/main/resources/network_cs.properties | 61 + .../src/main/resources/network_de.properties | 61 + .../src/main/resources/network_es.properties | 61 + .../src/main/resources/network_it.properties | 61 + .../src/main/resources/network_pcm.properties | 61 + .../main/resources/network_pt_BR.properties | 61 + .../app/src/main/resources/nouns.txt | 12591 ++++++++++++++++ .../main/resources/payment_method.properties | 175 + .../resources/payment_method_cs.properties | 175 + .../resources/payment_method_de.properties | 175 + .../resources/payment_method_es.properties | 175 + .../resources/payment_method_it.properties | 175 + .../resources/payment_method_pcm.properties | 175 + .../resources/payment_method_pt_BR.properties | 175 + .../src/main/resources/reputation.properties | 436 + .../main/resources/reputation_cs.properties | 319 + .../main/resources/reputation_de.properties | 326 + .../main/resources/reputation_es.properties | 305 + .../main/resources/reputation_it.properties | 319 + .../main/resources/reputation_pcm.properties | 319 + .../resources/reputation_pt_BR.properties | 319 + .../src/main/resources/settings.properties | 59 + .../src/main/resources/settings_cs.properties | 46 + .../src/main/resources/settings_de.properties | 46 + .../src/main/resources/settings_es.properties | 46 + .../src/main/resources/settings_it.properties | 46 + .../main/resources/settings_pcm.properties | 46 + .../main/resources/settings_pt_BR.properties | 46 + .../app/src/main/resources/support.properties | 50 + .../src/main/resources/support_cs.properties | 50 + .../src/main/resources/support_de.properties | 51 + .../src/main/resources/support_es.properties | 51 + .../src/main/resources/support_it.properties | 51 + .../src/main/resources/support_pcm.properties | 51 + .../main/resources/support_pt_BR.properties | 51 + .../src/main/resources/trade_apps.properties | 374 + .../main/resources/trade_apps_cs.properties | 265 + .../main/resources/trade_apps_de.properties | 265 + .../main/resources/trade_apps_es.properties | 265 + .../main/resources/trade_apps_it.properties | 265 + .../main/resources/trade_apps_pcm.properties | 265 + .../resources/trade_apps_pt_BR.properties | 265 + .../app/src/main/resources/user.properties | 129 + .../app/src/main/resources/user_cs.properties | 113 + .../app/src/main/resources/user_de.properties | 113 + .../app/src/main/resources/user_es.properties | 113 + .../app/src/main/resources/user_it.properties | 113 + .../src/main/resources/user_pcm.properties | 113 + .../src/main/resources/user_pt_BR.properties | 113 + .../app/src/main/resources/wallet.properties | 25 + .../src/main/resources/wallet_cs.properties | 25 + .../src/main/resources/wallet_de.properties | 25 + .../src/main/resources/wallet_es.properties | 25 + .../src/main/resources/wallet_it.properties | 25 + .../src/main/resources/wallet_pcm.properties | 25 + .../main/resources/wallet_pt_BR.properties | 25 + .../gradle/libs.versions.toml | 158 +- .../gradle/wrapper/gradle-wrapper.properties | 2 +- .../settings.gradle.kts | 8 +- 138 files changed, 41322 insertions(+), 19 deletions(-) create mode 100644 pocs/android_only_m2_j17jars/app/src/main/java/bisq/android/AndroidApplicationService.java create mode 100644 pocs/android_only_m2_j17jars/app/src/main/java/bisq/android/MainActivity.kt create mode 100644 pocs/android_only_m2_j17jars/app/src/main/java/bisq/android/impl/AndroidCatHashService.java create mode 100644 pocs/android_only_m2_j17jars/app/src/main/java/bisq/android/impl/AndroidMemoryReportService.java create mode 100644 pocs/android_only_m2_j17jars/app/src/main/java/bisq/android/main/MainController.java create mode 100644 pocs/android_only_m2_j17jars/app/src/main/java/bisq/android/main/MainModel.java create mode 100644 pocs/android_only_m2_j17jars/app/src/main/java/bisq/android/main/MainView.java create mode 100644 pocs/android_only_m2_j17jars/app/src/main/java/bisq/android/main/user_profile/UserProfileController.java create mode 100644 pocs/android_only_m2_j17jars/app/src/main/java/bisq/android/main/user_profile/UserProfileModel.java create mode 100644 pocs/android_only_m2_j17jars/app/src/main/java/bisq/android/main/user_profile/UserProfileView.java create mode 100644 pocs/android_only_m2_j17jars/app/src/main/java/bisq/android/ui/theme/Color.kt create mode 100644 pocs/android_only_m2_j17jars/app/src/main/java/bisq/android/ui/theme/Theme.kt create mode 100644 pocs/android_only_m2_j17jars/app/src/main/java/bisq/android/ui/theme/Type.kt create mode 100644 pocs/android_only_m2_j17jars/app/src/main/proto/account.proto create mode 100644 pocs/android_only_m2_j17jars/app/src/main/proto/bonded_roles.proto create mode 100644 pocs/android_only_m2_j17jars/app/src/main/proto/chat.proto create mode 100644 pocs/android_only_m2_j17jars/app/src/main/proto/contract.proto create mode 100644 pocs/android_only_m2_j17jars/app/src/main/proto/identity.proto create mode 100644 pocs/android_only_m2_j17jars/app/src/main/proto/network.proto create mode 100644 pocs/android_only_m2_j17jars/app/src/main/proto/network_identity.proto create mode 100644 pocs/android_only_m2_j17jars/app/src/main/proto/offer.proto create mode 100644 pocs/android_only_m2_j17jars/app/src/main/proto/persistence.proto create mode 100644 pocs/android_only_m2_j17jars/app/src/main/proto/presentation.proto create mode 100644 pocs/android_only_m2_j17jars/app/src/main/proto/security.proto create mode 100644 pocs/android_only_m2_j17jars/app/src/main/proto/settings.proto create mode 100644 pocs/android_only_m2_j17jars/app/src/main/proto/support.proto create mode 100644 pocs/android_only_m2_j17jars/app/src/main/proto/trade.proto create mode 100644 pocs/android_only_m2_j17jars/app/src/main/proto/user.proto create mode 100644 pocs/android_only_m2_j17jars/app/src/main/resources/academy.properties create mode 100644 pocs/android_only_m2_j17jars/app/src/main/resources/academy_cs.properties create mode 100644 pocs/android_only_m2_j17jars/app/src/main/resources/academy_de.properties create mode 100644 pocs/android_only_m2_j17jars/app/src/main/resources/academy_es.properties create mode 100644 pocs/android_only_m2_j17jars/app/src/main/resources/academy_it.properties create mode 100644 pocs/android_only_m2_j17jars/app/src/main/resources/academy_pcm.properties create mode 100644 pocs/android_only_m2_j17jars/app/src/main/resources/academy_pt_BR.properties create mode 100644 pocs/android_only_m2_j17jars/app/src/main/resources/adjectives.txt create mode 100644 pocs/android_only_m2_j17jars/app/src/main/resources/adverbs.txt create mode 100644 pocs/android_only_m2_j17jars/app/src/main/resources/android.conf create mode 100644 pocs/android_only_m2_j17jars/app/src/main/resources/application.properties create mode 100644 pocs/android_only_m2_j17jars/app/src/main/resources/application_cs.properties create mode 100644 pocs/android_only_m2_j17jars/app/src/main/resources/application_de.properties create mode 100644 pocs/android_only_m2_j17jars/app/src/main/resources/application_es.properties create mode 100644 pocs/android_only_m2_j17jars/app/src/main/resources/application_it.properties create mode 100644 pocs/android_only_m2_j17jars/app/src/main/resources/application_pcm.properties create mode 100644 pocs/android_only_m2_j17jars/app/src/main/resources/application_pt_BR.properties create mode 100644 pocs/android_only_m2_j17jars/app/src/main/resources/authorized_role.properties create mode 100644 pocs/android_only_m2_j17jars/app/src/main/resources/authorized_role_cs.properties create mode 100644 pocs/android_only_m2_j17jars/app/src/main/resources/authorized_role_de.properties create mode 100644 pocs/android_only_m2_j17jars/app/src/main/resources/authorized_role_es.properties create mode 100644 pocs/android_only_m2_j17jars/app/src/main/resources/authorized_role_it.properties create mode 100644 pocs/android_only_m2_j17jars/app/src/main/resources/authorized_role_pcm.properties create mode 100644 pocs/android_only_m2_j17jars/app/src/main/resources/authorized_role_pt_BR.properties create mode 100644 pocs/android_only_m2_j17jars/app/src/main/resources/bisq_easy.properties create mode 100644 pocs/android_only_m2_j17jars/app/src/main/resources/bisq_easy_cs.properties create mode 100644 pocs/android_only_m2_j17jars/app/src/main/resources/bisq_easy_de.properties create mode 100644 pocs/android_only_m2_j17jars/app/src/main/resources/bisq_easy_es.properties create mode 100644 pocs/android_only_m2_j17jars/app/src/main/resources/bisq_easy_it.properties create mode 100644 pocs/android_only_m2_j17jars/app/src/main/resources/bisq_easy_pcm.properties create mode 100644 pocs/android_only_m2_j17jars/app/src/main/resources/bisq_easy_pt_BR.properties create mode 100644 pocs/android_only_m2_j17jars/app/src/main/resources/chat.properties create mode 100644 pocs/android_only_m2_j17jars/app/src/main/resources/chat_cs.properties create mode 100644 pocs/android_only_m2_j17jars/app/src/main/resources/chat_de.properties create mode 100644 pocs/android_only_m2_j17jars/app/src/main/resources/chat_es.properties create mode 100644 pocs/android_only_m2_j17jars/app/src/main/resources/chat_it.properties create mode 100644 pocs/android_only_m2_j17jars/app/src/main/resources/chat_pcm.properties create mode 100644 pocs/android_only_m2_j17jars/app/src/main/resources/chat_pt_BR.properties create mode 100644 pocs/android_only_m2_j17jars/app/src/main/resources/default.properties create mode 100644 pocs/android_only_m2_j17jars/app/src/main/resources/default_cs.properties create mode 100644 pocs/android_only_m2_j17jars/app/src/main/resources/default_de.properties create mode 100644 pocs/android_only_m2_j17jars/app/src/main/resources/default_es.properties create mode 100644 pocs/android_only_m2_j17jars/app/src/main/resources/default_it.properties create mode 100644 pocs/android_only_m2_j17jars/app/src/main/resources/default_pcm.properties create mode 100644 pocs/android_only_m2_j17jars/app/src/main/resources/default_pt_BR.properties create mode 100644 pocs/android_only_m2_j17jars/app/src/main/resources/logback.xml create mode 100644 pocs/android_only_m2_j17jars/app/src/main/resources/network.properties create mode 100644 pocs/android_only_m2_j17jars/app/src/main/resources/network_cs.properties create mode 100644 pocs/android_only_m2_j17jars/app/src/main/resources/network_de.properties create mode 100644 pocs/android_only_m2_j17jars/app/src/main/resources/network_es.properties create mode 100644 pocs/android_only_m2_j17jars/app/src/main/resources/network_it.properties create mode 100644 pocs/android_only_m2_j17jars/app/src/main/resources/network_pcm.properties create mode 100644 pocs/android_only_m2_j17jars/app/src/main/resources/network_pt_BR.properties create mode 100644 pocs/android_only_m2_j17jars/app/src/main/resources/nouns.txt create mode 100644 pocs/android_only_m2_j17jars/app/src/main/resources/payment_method.properties create mode 100644 pocs/android_only_m2_j17jars/app/src/main/resources/payment_method_cs.properties create mode 100644 pocs/android_only_m2_j17jars/app/src/main/resources/payment_method_de.properties create mode 100644 pocs/android_only_m2_j17jars/app/src/main/resources/payment_method_es.properties create mode 100644 pocs/android_only_m2_j17jars/app/src/main/resources/payment_method_it.properties create mode 100644 pocs/android_only_m2_j17jars/app/src/main/resources/payment_method_pcm.properties create mode 100644 pocs/android_only_m2_j17jars/app/src/main/resources/payment_method_pt_BR.properties create mode 100644 pocs/android_only_m2_j17jars/app/src/main/resources/reputation.properties create mode 100644 pocs/android_only_m2_j17jars/app/src/main/resources/reputation_cs.properties create mode 100644 pocs/android_only_m2_j17jars/app/src/main/resources/reputation_de.properties create mode 100644 pocs/android_only_m2_j17jars/app/src/main/resources/reputation_es.properties create mode 100644 pocs/android_only_m2_j17jars/app/src/main/resources/reputation_it.properties create mode 100644 pocs/android_only_m2_j17jars/app/src/main/resources/reputation_pcm.properties create mode 100644 pocs/android_only_m2_j17jars/app/src/main/resources/reputation_pt_BR.properties create mode 100644 pocs/android_only_m2_j17jars/app/src/main/resources/settings.properties create mode 100644 pocs/android_only_m2_j17jars/app/src/main/resources/settings_cs.properties create mode 100644 pocs/android_only_m2_j17jars/app/src/main/resources/settings_de.properties create mode 100644 pocs/android_only_m2_j17jars/app/src/main/resources/settings_es.properties create mode 100644 pocs/android_only_m2_j17jars/app/src/main/resources/settings_it.properties create mode 100644 pocs/android_only_m2_j17jars/app/src/main/resources/settings_pcm.properties create mode 100644 pocs/android_only_m2_j17jars/app/src/main/resources/settings_pt_BR.properties create mode 100644 pocs/android_only_m2_j17jars/app/src/main/resources/support.properties create mode 100644 pocs/android_only_m2_j17jars/app/src/main/resources/support_cs.properties create mode 100644 pocs/android_only_m2_j17jars/app/src/main/resources/support_de.properties create mode 100644 pocs/android_only_m2_j17jars/app/src/main/resources/support_es.properties create mode 100644 pocs/android_only_m2_j17jars/app/src/main/resources/support_it.properties create mode 100644 pocs/android_only_m2_j17jars/app/src/main/resources/support_pcm.properties create mode 100644 pocs/android_only_m2_j17jars/app/src/main/resources/support_pt_BR.properties create mode 100644 pocs/android_only_m2_j17jars/app/src/main/resources/trade_apps.properties create mode 100644 pocs/android_only_m2_j17jars/app/src/main/resources/trade_apps_cs.properties create mode 100644 pocs/android_only_m2_j17jars/app/src/main/resources/trade_apps_de.properties create mode 100644 pocs/android_only_m2_j17jars/app/src/main/resources/trade_apps_es.properties create mode 100644 pocs/android_only_m2_j17jars/app/src/main/resources/trade_apps_it.properties create mode 100644 pocs/android_only_m2_j17jars/app/src/main/resources/trade_apps_pcm.properties create mode 100644 pocs/android_only_m2_j17jars/app/src/main/resources/trade_apps_pt_BR.properties create mode 100644 pocs/android_only_m2_j17jars/app/src/main/resources/user.properties create mode 100644 pocs/android_only_m2_j17jars/app/src/main/resources/user_cs.properties create mode 100644 pocs/android_only_m2_j17jars/app/src/main/resources/user_de.properties create mode 100644 pocs/android_only_m2_j17jars/app/src/main/resources/user_es.properties create mode 100644 pocs/android_only_m2_j17jars/app/src/main/resources/user_it.properties create mode 100644 pocs/android_only_m2_j17jars/app/src/main/resources/user_pcm.properties create mode 100644 pocs/android_only_m2_j17jars/app/src/main/resources/user_pt_BR.properties create mode 100644 pocs/android_only_m2_j17jars/app/src/main/resources/wallet.properties create mode 100644 pocs/android_only_m2_j17jars/app/src/main/resources/wallet_cs.properties create mode 100644 pocs/android_only_m2_j17jars/app/src/main/resources/wallet_de.properties create mode 100644 pocs/android_only_m2_j17jars/app/src/main/resources/wallet_es.properties create mode 100644 pocs/android_only_m2_j17jars/app/src/main/resources/wallet_it.properties create mode 100644 pocs/android_only_m2_j17jars/app/src/main/resources/wallet_pcm.properties create mode 100644 pocs/android_only_m2_j17jars/app/src/main/resources/wallet_pt_BR.properties diff --git a/pocs/android_only_m2_j17jars/app/build.gradle.kts b/pocs/android_only_m2_j17jars/app/build.gradle.kts index 027f1e5e..7239fd65 100644 --- a/pocs/android_only_m2_j17jars/app/build.gradle.kts +++ b/pocs/android_only_m2_j17jars/app/build.gradle.kts @@ -9,7 +9,7 @@ protobuf { artifact = "com.google.protobuf:protoc:3.25.4" } - /* generateProtoTasks { + generateProtoTasks { all().forEach { task -> // Set the source of the .proto files to the "src/main/proto" directory //task.source("src/main/proto") @@ -21,7 +21,7 @@ protobuf { } // Generates standard Protobuf Java classes } } - }*/ + } generateProtoTasks { all().forEach { task -> @@ -67,17 +67,11 @@ android { jvmTarget = "17" } - - /* sourceSets { - getByName("main") { - java.srcDir("src/main/proto") // Specify the directory for proto files - java.srcDir("build/generated/source/proto/main/java") // Specify the Java output directory - } - }*/ - sourceSets { getByName("main") { - java.srcDir("src/main/proto") // Specify the directory for proto files + java.srcDir("src/main/resources") + java.srcDir("src/main/proto") + java.srcDir("build/generated/source/proto/main/java") } } @@ -90,10 +84,22 @@ android { packaging { resources { excludes += "/META-INF/{AL2.0,LGPL2.1}" + // Exclude the conflicting META-INF files + excludes.add("META-INF/versions/9/OSGI-INF/MANIFEST.MF") + excludes.add("META-INF/DEPENDENCIES") + +// pickFirsts.add("bisq/account/protobuf/Account\$Builder.class") + pickFirsts.add("**/protobuf/**/*.class") } } } +//configurations { +// all { +// exclude(group = "com.google.protobuf") +// } +//} + dependencies { implementation(libs.androidx.core.ktx) @@ -113,7 +119,66 @@ dependencies { debugImplementation(libs.androidx.ui.test.manifest) - implementation("bisq:common:2.1.1") + implementation("bisq:common:2.1.2") + implementation(libs.typesafe.config) + implementation(libs.annotations) + + implementation("bisq:i18n:2.1.2") + + implementation("bisq:persistence:2.1.2") + + implementation("bisq:security:2.1.2") + implementation(libs.bouncycastle) + implementation(libs.bouncycastle.pg) + testImplementation(libs.apache.commons.lang) + implementation(libs.google.guava) + + // network + implementation("network:network-identity:2.1.2") + implementation("network:socks5-socket-channel:2.1.2") + implementation("network:i2p:2.1.2") + implementation("network:network:2.1.2") + implementation(libs.chimp.jsocks) + implementation(libs.failsafe) + implementation(libs.apache.httpcomponents.httpclient) + + //tor + implementation(libs.tukaani) + implementation(libs.chimp.jsocks) + implementation(libs.chimp.jtorctl) + + //i2p + implementation(libs.bundles.i2p) + + implementation("bisq:identity:2.1.2") // cannot be used until network dependencies are fixed. -> Could not find network:network-common:. + + implementation("bisq:account:2.1.2") { + exclude(group = "com.google.protobuf", module = "*") + } + + implementation("bisq:settings:2.1.2") + + implementation("bisq:bonded-roles:2.1.2") + implementation(libs.google.gson) + implementation(libs.typesafe.config) + implementation(libs.bundles.jackson) + + implementation("bisq:user:2.1.2") + implementation("bisq:contract:2.1.2") + implementation("bisq:offer:2.1.2") + implementation("bisq:trade:2.1.2") + implementation("bisq:support:2.1.2") + implementation("bisq:application:2.1.2") + implementation("bisq:chat:2.1.2") + implementation("bisq:presentation:2.1.2") + + compileOnly(libs.lombok) + annotationProcessor(libs.lombok) + + implementation(libs.slf4j.api) + implementation(libs.logback.core) + implementation(libs.logback.classic) + implementation(libs.protobuf.java) implementation(libs.protobuf.gradle.plugin) implementation("com.google.protobuf:protoc:3.25.4") diff --git a/pocs/android_only_m2_j17jars/app/proguard-rules.pro b/pocs/android_only_m2_j17jars/app/proguard-rules.pro index 481bb434..c13153b8 100644 --- a/pocs/android_only_m2_j17jars/app/proguard-rules.pro +++ b/pocs/android_only_m2_j17jars/app/proguard-rules.pro @@ -18,4 +18,9 @@ # If you keep the line number information, uncomment this to # hide the original source file name. -#-renamesourcefileattribute SourceFile \ No newline at end of file +#-renamesourcefileattribute SourceFile + +-keep class bisq.** { *; } +-dontwarn bisq.** +-keep class com.google.protobuf.** { *; } +-dontwarn com.google.protobuf.** \ No newline at end of file diff --git a/pocs/android_only_m2_j17jars/app/src/main/AndroidManifest.xml b/pocs/android_only_m2_j17jars/app/src/main/AndroidManifest.xml index b9c1595e..f22d5f9f 100644 --- a/pocs/android_only_m2_j17jars/app/src/main/AndroidManifest.xml +++ b/pocs/android_only_m2_j17jars/app/src/main/AndroidManifest.xml @@ -13,7 +13,7 @@ android:theme="@style/Theme.Mobile" tools:targetApi="31"> @@ -25,4 +25,6 @@ + + \ No newline at end of file diff --git a/pocs/android_only_m2_j17jars/app/src/main/java/bisq/android/AndroidApplicationService.java b/pocs/android_only_m2_j17jars/app/src/main/java/bisq/android/AndroidApplicationService.java new file mode 100644 index 00000000..66a2a70a --- /dev/null +++ b/pocs/android_only_m2_j17jars/app/src/main/java/bisq/android/AndroidApplicationService.java @@ -0,0 +1,261 @@ +/* + * This file is part of Bisq. + * + * Bisq is free software: you can redistribute it and/or modify it + * under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or (at + * your option) any later version. + * + * Bisq is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public + * License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with Bisq. If not, see . + */ + +package bisq.android; + +import bisq.account.AccountService; +import bisq.android.impl.AndroidMemoryReportService; +import bisq.application.ApplicationService; +import bisq.application.State; +import bisq.bonded_roles.BondedRolesService; +import bisq.bonded_roles.security_manager.alert.AlertNotificationsService; +import bisq.chat.ChatService; +import bisq.common.facades.FacadeProvider; +import bisq.common.facades.android.AndroidGuavaFacade; +import bisq.common.facades.android.AndroidJdkFacade; +import bisq.common.network.AndroidEmulatorLocalhostFacade; +import bisq.common.observable.Observable; +import bisq.common.util.ExceptionUtil; +import bisq.contract.ContractService; +import bisq.identity.IdentityService; +import bisq.network.NetworkService; +import bisq.network.NetworkServiceConfig; +import bisq.offer.OfferService; +import bisq.presentation.notifications.SystemNotificationService; +import bisq.security.SecurityService; +import bisq.settings.DontShowAgainService; +import bisq.settings.FavouriteMarketsService; +import bisq.settings.SettingsService; +import bisq.support.SupportService; +import bisq.trade.TradeService; +import bisq.user.UserService; +import lombok.Getter; +import lombok.extern.slf4j.Slf4j; + +import java.nio.file.Path; +import java.security.Security; +import java.util.Optional; +import java.util.concurrent.CompletableFuture; +import java.util.concurrent.TimeUnit; + +import static com.google.common.base.Preconditions.checkArgument; +import static java.util.concurrent.CompletableFuture.supplyAsync; + +import org.bouncycastle.jce.provider.BouncyCastleProvider; + +/** + * Creates domain specific options from program arguments and application options. + * Creates domain instance with options and optional dependency to other domain objects. + * Initializes the domain instances according to the requirements of their dependencies either in sequence + * or in parallel. + */ + +@Slf4j +@Getter +public class AndroidApplicationService extends ApplicationService { + public static final long STARTUP_TIMEOUT_SEC = 300; + public static final long SHUTDOWN_TIMEOUT_SEC = 10; + private static AndroidApplicationService INSTANCE; + + private final Observable state = new Observable<>(State.INITIALIZE_APP); + private final Observable shutDownErrorMessage = new Observable<>(); + private final Observable startupErrorMessage = new Observable<>(); + + private final SecurityService securityService; + private final NetworkService networkService; + private final IdentityService identityService; + private final BondedRolesService bondedRolesService; + private final AccountService accountService; + private final OfferService offerService; + private final ContractService contractService; + private final UserService userService; + private final ChatService chatService; + private final SettingsService settingsService; + private final SupportService supportService; + private final SystemNotificationService systemNotificationService; + private final TradeService tradeService; + private final AlertNotificationsService alertNotificationsService; + private final FavouriteMarketsService favouriteMarketsService; + private final DontShowAgainService dontShowAgainService; + + + public AndroidApplicationService(Path userDataDir) { + super("android", new String[]{}, userDataDir); + + FacadeProvider.setLocalhostFacade(new AndroidEmulatorLocalhostFacade()); + FacadeProvider.setJdkFacade(new AndroidJdkFacade(android.os.Process.myPid())); + FacadeProvider.setGuavaFacade(new AndroidGuavaFacade()); + + // Androids default BC version does not support all algorithms we need, thus we remove + // it and add our BC provider + Security.removeProvider("BC"); + Security.addProvider(new BouncyCastleProvider()); + securityService = new SecurityService(persistenceService, SecurityService.Config.from(getConfig("security"))); + networkService = new NetworkService(NetworkServiceConfig.from(config.getBaseDir(), + getConfig("network")), + persistenceService, + securityService.getKeyBundleService(), + securityService.getHashCashProofOfWorkService(), + securityService.getEquihashProofOfWorkService(), + new AndroidMemoryReportService()); + + identityService = new IdentityService(persistenceService, + securityService.getKeyBundleService(), + networkService); + + accountService = new AccountService(persistenceService); + settingsService = new SettingsService(persistenceService); + bondedRolesService = new BondedRolesService(BondedRolesService.Config.from(getConfig("bondedRoles")), + getPersistenceService(), + networkService); + + userService = new UserService(persistenceService, + securityService, + identityService, + networkService, + bondedRolesService); + + + contractService = new ContractService(securityService); + + offerService = new OfferService(networkService, identityService, persistenceService); + + systemNotificationService = new SystemNotificationService(Optional.empty()); + + chatService = new ChatService(persistenceService, + networkService, + userService, + settingsService, + systemNotificationService); + + supportService = new SupportService(SupportService.Config.from(getConfig("support")), + persistenceService, + networkService, + chatService, + userService, + bondedRolesService); + + tradeService = new TradeService(networkService, identityService, persistenceService, offerService, + contractService, supportService, chatService, bondedRolesService, userService, settingsService); + + + alertNotificationsService = new AlertNotificationsService(settingsService, bondedRolesService.getAlertService()); + + favouriteMarketsService = new FavouriteMarketsService(settingsService); + + dontShowAgainService = new DontShowAgainService(settingsService); + } + + @Override + public CompletableFuture initialize() { + return securityService.initialize() + .thenCompose(result -> { + setState(State.INITIALIZE_NETWORK); + return networkService.initialize(); + }) + .whenComplete((r, throwable) -> { + if (throwable == null) { + setState(State.INITIALIZE_SERVICES); + } + }) + .thenCompose(result -> identityService.initialize()) + .thenCompose(result -> bondedRolesService.initialize()) + .thenCompose(result -> accountService.initialize()) + .thenCompose(result -> contractService.initialize()) + .thenCompose(result -> userService.initialize()) + .thenCompose(result -> settingsService.initialize()) + .thenCompose(result -> offerService.initialize()) + .thenCompose(result -> chatService.initialize()) + .thenCompose(result -> systemNotificationService.initialize()) + .thenCompose(result -> supportService.initialize()) + .thenCompose(result -> tradeService.initialize()) + .thenCompose(result -> alertNotificationsService.initialize()) + .thenCompose(result -> favouriteMarketsService.initialize()) + .thenCompose(result -> dontShowAgainService.initialize()) + .orTimeout(STARTUP_TIMEOUT_SEC, TimeUnit.SECONDS) + .handle((result, throwable) -> { + if (throwable == null) { + if (result != null && result) { + setState(State.APP_INITIALIZED); + log.info("ApplicationService initialized"); + return true; + } else { + startupErrorMessage.set("Initializing applicationService failed with result=false"); + log.error(startupErrorMessage.get()); + } + } else { + log.error("Initializing applicationService failed", throwable); + startupErrorMessage.set(ExceptionUtil.getRootCauseMessage(throwable)); + } + setState(State.FAILED); + return false; + }); + } + + @Override + public CompletableFuture shutdown() { + log.info("shutdown"); + // We shut down services in opposite order as they are initialized + // In case a shutdown method completes exceptionally we log the error and map the result to `false` to not + // interrupt the shutdown sequence. + return supplyAsync(() -> dontShowAgainService.shutdown().exceptionally(this::logError) + .thenCompose(result -> favouriteMarketsService.shutdown().exceptionally(this::logError)) + .thenCompose(result -> alertNotificationsService.shutdown().exceptionally(this::logError)) + .thenCompose(result -> tradeService.shutdown().exceptionally(this::logError)) + .thenCompose(result -> supportService.shutdown().exceptionally(this::logError)) + .thenCompose(result -> systemNotificationService.shutdown().exceptionally(this::logError)) + .thenCompose(result -> chatService.shutdown().exceptionally(this::logError)) + .thenCompose(result -> offerService.shutdown().exceptionally(this::logError)) + .thenCompose(result -> settingsService.shutdown().exceptionally(this::logError)) + .thenCompose(result -> userService.shutdown().exceptionally(this::logError)) + .thenCompose(result -> contractService.shutdown().exceptionally(this::logError)) + .thenCompose(result -> accountService.shutdown().exceptionally(this::logError)) + .thenCompose(result -> bondedRolesService.shutdown().exceptionally(this::logError)) + .thenCompose(result -> identityService.shutdown().exceptionally(this::logError)) + .thenCompose(result -> networkService.shutdown().exceptionally(this::logError)) + .thenCompose(result -> securityService.shutdown().exceptionally(this::logError)) + .orTimeout(SHUTDOWN_TIMEOUT_SEC, TimeUnit.SECONDS) + .handle((result, throwable) -> { + if (throwable == null) { + if (result != null && result) { + log.info("ApplicationService shutdown completed"); + return true; + } else { + startupErrorMessage.set("Shutdown applicationService failed with result=false"); + log.error(shutDownErrorMessage.get()); + } + } else { + log.error("Shutdown applicationService failed", throwable); + shutDownErrorMessage.set(ExceptionUtil.getRootCauseMessage(throwable)); + } + return false; + }) + .join()); + } + + private void setState(State newState) { + checkArgument(state.get().ordinal() < newState.ordinal(), + "New state %s must have a higher ordinal as the current state %s", newState, state.get()); + state.set(newState); + log.info("New state {}", newState); + } + + private boolean logError(Throwable throwable) { + log.error("Exception at shutdown", throwable); + return false; + } +} diff --git a/pocs/android_only_m2_j17jars/app/src/main/java/bisq/android/MainActivity.kt b/pocs/android_only_m2_j17jars/app/src/main/java/bisq/android/MainActivity.kt new file mode 100644 index 00000000..896917d0 --- /dev/null +++ b/pocs/android_only_m2_j17jars/app/src/main/java/bisq/android/MainActivity.kt @@ -0,0 +1,72 @@ +package bisq.android + +import android.os.Bundle +import androidx.activity.ComponentActivity +import androidx.activity.compose.setContent +import androidx.activity.enableEdgeToEdge +import androidx.compose.foundation.layout.fillMaxSize +import androidx.compose.foundation.layout.padding +import androidx.compose.material3.Scaffold +import androidx.compose.material3.Text +import androidx.compose.runtime.Composable +import androidx.compose.runtime.collectAsState +import androidx.compose.runtime.getValue +import androidx.compose.ui.Modifier +import bisq.android.main.MainController +import androidx.lifecycle.ViewModel +import androidx.lifecycle.viewModelScope +import kotlinx.coroutines.flow.MutableStateFlow +import kotlinx.coroutines.flow.StateFlow +import kotlinx.coroutines.launch +import bisq.android.ui.theme.MobileTheme +import lombok.extern.slf4j.Slf4j + + +@Slf4j +class MainActivity : ComponentActivity() { + var logViewModel = LogViewModel() + + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + + val userDataDir = getFilesDir().toPath() + var controller = MainController(userDataDir) + + // Map observable log message from java model to logViewModel + controller.getLogMessage().addObserver { info -> + logViewModel.setLogMessage(info) + } + controller.initialize() + + enableEdgeToEdge() + setContent { + MobileTheme { + Scaffold(modifier = Modifier.fillMaxSize()) { innerPadding -> + LogView( + logViewModel = logViewModel, + modifier = Modifier.padding(innerPadding) + ) + } + } + } + } +} + +class LogViewModel : ViewModel() { + private val _logMessage = MutableStateFlow("N/A") + val logMessage: StateFlow = _logMessage + fun setLogMessage(newValue: String) { + viewModelScope.launch { + _logMessage.value = newValue + } + } +} + +@Composable +fun LogView(logViewModel: LogViewModel, modifier: Modifier = Modifier) { + val value by logViewModel.logMessage.collectAsState() + Text( + text = value, + modifier = modifier + ) +} diff --git a/pocs/android_only_m2_j17jars/app/src/main/java/bisq/android/impl/AndroidCatHashService.java b/pocs/android_only_m2_j17jars/app/src/main/java/bisq/android/impl/AndroidCatHashService.java new file mode 100644 index 00000000..a0ecb732 --- /dev/null +++ b/pocs/android_only_m2_j17jars/app/src/main/java/bisq/android/impl/AndroidCatHashService.java @@ -0,0 +1,47 @@ +/* + * This file is part of Bisq. + * + * Bisq is free software: you can redistribute it and/or modify it + * under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or (at + * your option) any later version. + * + * Bisq is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public + * License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with Bisq. If not, see . + */ + +package bisq.android.impl; + +import android.graphics.Bitmap; + +import bisq.user.cathash.CatHashService; + +import java.io.File; +import java.io.IOException; +import java.nio.file.Path; + +public class AndroidCatHashService extends CatHashService { + public AndroidCatHashService(Path baseDir) { + super(baseDir); + } + + @Override + protected Bitmap composeImage(String[] paths, double size) { + throw new RuntimeException("Not impl. yet"); + } + + @Override + protected void writeRawImage(Bitmap image, File iconFile) throws IOException { + throw new RuntimeException("Not impl. yet"); + } + + @Override + protected Bitmap readRawImage(File iconFile) throws IOException { + throw new RuntimeException("Not impl. yet"); + } +} diff --git a/pocs/android_only_m2_j17jars/app/src/main/java/bisq/android/impl/AndroidMemoryReportService.java b/pocs/android_only_m2_j17jars/app/src/main/java/bisq/android/impl/AndroidMemoryReportService.java new file mode 100644 index 00000000..476c6a66 --- /dev/null +++ b/pocs/android_only_m2_j17jars/app/src/main/java/bisq/android/impl/AndroidMemoryReportService.java @@ -0,0 +1,41 @@ +package bisq.android.impl; + +import java.util.concurrent.CompletableFuture; + +import bisq.common.platform.MemoryReportService; + +public class AndroidMemoryReportService implements MemoryReportService { + @Override + public void logReport() { + } + + @Override + public long getUsedMemoryInBytes() { + return 0; + } + + @Override + public long getUsedMemoryInMB() { + return 0; + } + + @Override + public long getFreeMemoryInMB() { + return 0; + } + + @Override + public long getTotalMemoryInMB() { + return 0; + } + + @Override + public CompletableFuture initialize() { + return null; + } + + @Override + public CompletableFuture shutdown() { + return null; + } +} diff --git a/pocs/android_only_m2_j17jars/app/src/main/java/bisq/android/main/MainController.java b/pocs/android_only_m2_j17jars/app/src/main/java/bisq/android/main/MainController.java new file mode 100644 index 00000000..853292be --- /dev/null +++ b/pocs/android_only_m2_j17jars/app/src/main/java/bisq/android/main/MainController.java @@ -0,0 +1,356 @@ +package bisq.android.main; + +import com.google.common.base.Joiner; + +import java.nio.file.Path; +import java.security.KeyPair; +import java.util.ArrayList; +import java.util.Comparator; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Optional; +import java.util.Random; +import java.util.concurrent.CompletableFuture; +import java.util.concurrent.TimeUnit; +import java.util.concurrent.atomic.AtomicLong; + +import bisq.android.AndroidApplicationService; +import bisq.android.main.user_profile.UserProfileController; +import bisq.chat.ChatChannelDomain; +import bisq.chat.ChatMessage; +import bisq.chat.ChatService; +import bisq.chat.common.CommonPublicChatChannel; +import bisq.chat.common.CommonPublicChatChannelService; +import bisq.chat.common.CommonPublicChatMessage; +import bisq.chat.two_party.TwoPartyPrivateChatChannel; +import bisq.chat.two_party.TwoPartyPrivateChatMessage; +import bisq.common.currency.MarketRepository; +import bisq.common.encoding.Hex; +import bisq.common.locale.LanguageRepository; +import bisq.common.network.TransportType; +import bisq.common.observable.Observable; +import bisq.common.observable.Pin; +import bisq.common.observable.collection.CollectionObserver; +import bisq.common.observable.collection.ObservableSet; +import bisq.common.timer.Scheduler; +import bisq.common.util.MathUtils; +import bisq.common.util.StringUtils; +import bisq.i18n.Res; +import bisq.network.p2p.ServiceNode; +import bisq.network.p2p.node.Node; +import bisq.network.p2p.services.peer_group.PeerGroupManager; +import bisq.security.DigestUtil; +import bisq.security.pow.ProofOfWork; +import bisq.user.UserService; +import bisq.user.identity.NymIdGenerator; +import bisq.user.identity.UserIdentity; +import bisq.user.identity.UserIdentityService; +import bisq.user.profile.UserProfile; +import lombok.extern.slf4j.Slf4j; + +@Slf4j +public class MainController { + private final MainModel model; + private final MainView view; + private final AndroidApplicationService applicationService; + private final UserProfileController userProfileController; + private final UserIdentityService userIdentityService; + + public MainController(Path userDataDir) { + applicationService = new AndroidApplicationService(userDataDir); + model = new MainModel(); + view = new MainView(this, model); + + userIdentityService = applicationService.getUserService().getUserIdentityService(); + + userProfileController = new UserProfileController(applicationService.getUserService(), + applicationService.getSecurityService()); + } + + public void initialize() { + CompletableFuture.runAsync(() -> { + observeAppState(); + applicationService.readAllPersisted().join(); + applicationService.initialize().join(); + + printDefaultKeyId(); + printLanguageCode(); + + if (userIdentityService.getUserIdentities().isEmpty()) { + //createUserIfNoneExist(); + userProfileController.initialize(); + + // mock profile creation and wait until done. + userProfileController.createUserProfile().join(); + } else { + printUserProfiles(); + } + + observeNetworkState(); + observeNumConnections(); + printMarketPrice(); + + observePrivateMessages(); + // publishRandomChatMessage(); + observeChatMessages(5); + + maybeRemoveMyOldChatMessages(); + }); + + view.initialize(); + } + + public Observable getLogMessage() { + return model.getLogMessage(); + } + + // Use cases + private void observeNetworkState() { + Optional.ofNullable(applicationService.getNetworkService().getDefaultNodeStateByTransportType().get(TransportType.CLEAR)) + .orElseThrow() + .addObserver(state -> appendLog("Network state", state)); + } + + private void observeNumConnections() { + ServiceNode serviceNode = applicationService.getNetworkService().getServiceNodesByTransport().findServiceNode(TransportType.CLEAR).orElseThrow(); + Node defaultNode = serviceNode.getDefaultNode(); + PeerGroupManager peerGroupManager = serviceNode.getPeerGroupManager().orElseThrow(); + var peerGroupService = peerGroupManager.getPeerGroupService(); + AtomicLong numConnections = new AtomicLong(); + Scheduler.run(() -> { + long currentNumConnections = peerGroupService.getAllConnectedPeers(defaultNode).count(); + if (numConnections.get() != currentNumConnections) { + numConnections.set(currentNumConnections); + appendLog("Number of connections", currentNumConnections); + } + }).periodically(100); + } + + private void observePrivateMessages() { + Map pinByChannelId = new HashMap<>(); + applicationService.getChatService().getTwoPartyPrivateChatChannelService().getChannels() + .addObserver(new CollectionObserver<>() { + @Override + public void add(TwoPartyPrivateChatChannel channel) { + appendLog("Private channel", channel.getDisplayString()); + pinByChannelId.computeIfAbsent(channel.getId(), + k -> channel.getChatMessages().addObserver(new CollectionObserver<>() { + @Override + public void add(TwoPartyPrivateChatMessage message) { + String text = ""; + switch (message.getChatMessageType()) { + case TEXT -> { + text = message.getText(); + } + case LEAVE -> { + text = "PEER LEFT " + message.getText(); + // leave handling not working yet correctly + /* Scheduler.run(()->applicationService.getChatService().getTwoPartyPrivateChatChannelService().leaveChannel(channel)) + .after(500);*/ + } + case TAKE_BISQ_EASY_OFFER -> { + text = "TAKE_BISQ_EASY_OFFER " + message.getText(); + } + case PROTOCOL_LOG_MESSAGE -> { + text = "PROTOCOL_LOG_MESSAGE " + message.getText(); + } + } + String displayString = "[" + channel.getDisplayString() + "] " + text; + appendLog("Private message", displayString); + } + + @Override + public void remove(Object o) { + // We do not support remove of PM + } + + @Override + public void clear() { + } + })); + } + + @Override + public void remove(Object o) { + if (o instanceof TwoPartyPrivateChatChannel channel) { + String id = channel.getId(); + if (pinByChannelId.containsKey(id)) { + pinByChannelId.get(id).unbind(); + pinByChannelId.remove(id); + } + appendLog("Closed private channel", channel.getDisplayString()); + } + } + + @Override + public void clear() { + } + }); + } + + private void observeAppState() { + applicationService.getState().addObserver(state -> appendLog("Application state", Res.get("splash.applicationServiceState." + state.name()))); + } + + private void printDefaultKeyId() { + appendLog("Default key ID", applicationService.getSecurityService().getKeyBundleService().getDefaultKeyId()); + } + + private void printLanguageCode() { + appendLog("Language", LanguageRepository.getDisplayLanguage(applicationService.getSettingsService().getLanguageCode().get())); + } + + private void printMarketPrice() { + Optional priceQuote = applicationService.getBondedRolesService().getMarketPriceService() + .findMarketPrice(MarketRepository.getUSDBitcoinMarket()) + .map(e -> MathUtils.roundDouble(e.getPriceQuote().getValue() / 10000d, 2) + " BTC/USD"); + if (priceQuote.isEmpty()) { + Scheduler.run(this::printMarketPrice).after(500); + } else { + appendLog("Market price", priceQuote.get()); + } + } + + private void createUserIfNoneExist() { + UserIdentityService userIdentityService = applicationService.getUserService().getUserIdentityService(); + ObservableSet userIdentities = userIdentityService.getUserIdentities(); + if (userIdentities.isEmpty()) { + String nickName = "Android " + new Random().nextInt(100); + KeyPair keyPair = applicationService.getSecurityService().getKeyBundleService().generateKeyPair(); + byte[] pubKeyHash = DigestUtil.hash(keyPair.getPublic().getEncoded()); + ProofOfWork proofOfWork = userIdentityService.mintNymProofOfWork(pubKeyHash); + byte[] powSolution = proofOfWork.getSolution(); + String nym = NymIdGenerator.generate(pubKeyHash, powSolution); // nym will be created on demand from pubKeyHash and pow + // CatHash is in desktop, needs to be reimplemented or the javafx part extracted and refactored into a non javafx lib + // Image image = CatHash.getImage(pubKeyHash, + // powSolution, + // CURRENT_AVATARS_VERSION, + // CreateProfileModel.CAT_HASH_IMAGE_SIZE); + int avatarVersion = 0; + String terms = ""; + String statement = ""; + appendLog("Create new user with", ""); + appendLog("nickName", nickName); + appendLog("pubKeyHash", Hex.encode(pubKeyHash)); + appendLog("nym", nym); + userIdentityService.createAndPublishNewUserProfile(nickName, + keyPair, + pubKeyHash, + proofOfWork, + avatarVersion, + terms, + statement).join(); + } + } + + private void printUserProfiles() { + applicationService.getUserService().getUserIdentityService().getUserIdentities().stream() + .map(UserIdentity::getUserProfile) + .map(userProfile -> userProfile.getUserName() + " [" + userProfile.getNym() + "]") + .forEach(userName -> appendLog("My profile", userName)); + + } + + private void publishRandomChatMessage() { + UserService userService = applicationService.getUserService(); + UserIdentityService userIdentityService = userService.getUserIdentityService(); + ChatService chatService = applicationService.getChatService(); + ChatChannelDomain chatChannelDomain = ChatChannelDomain.DISCUSSION; + CommonPublicChatChannelService discussionChannelService = chatService.getCommonPublicChatChannelServices().get(chatChannelDomain); + CommonPublicChatChannel channel = discussionChannelService.getChannels().stream().findFirst().orElseThrow(); + UserIdentity userIdentity = userIdentityService.getSelectedUserIdentity(); + discussionChannelService.publishChatMessage("Dev message " + new Random().nextInt(100), + Optional.empty(), + channel, + userIdentity) + .whenComplete((result, throwable) -> { + log.info("publishChatMessage result {}", result); + }); + } + + private void observeChatMessages(int numLastMessages) { + UserService userService = applicationService.getUserService(); + ChatService chatService = applicationService.getChatService(); + ChatChannelDomain chatChannelDomain = ChatChannelDomain.DISCUSSION; + CommonPublicChatChannelService discussionChannelService = chatService.getCommonPublicChatChannelServices().get(chatChannelDomain); + CommonPublicChatChannel channel = discussionChannelService.getChannels().stream().findFirst().orElseThrow(); + int toSkip = Math.max(0, channel.getChatMessages().size() - numLastMessages); + List displayedMessages = new ArrayList<>(); + channel.getChatMessages().stream() + .sorted(Comparator.comparingLong(ChatMessage::getDate)) + .map(message -> { + displayedMessages.add(message.getId()); + String authorUserProfileId = message.getAuthorUserProfileId(); + String userName = userService.getUserProfileService().findUserProfile(authorUserProfileId) + .map(UserProfile::getUserName) + .orElse("N/A"); + maybeRemoveMyOldChatMessages(); + return "{" + userName + "} " + message.getText(); + }) + .skip(toSkip) + .forEach(e -> appendLog("Chat message", e)); + + channel.getChatMessages().addObserver(new CollectionObserver<>() { + @Override + public void add(CommonPublicChatMessage message) { + if (displayedMessages.contains(message.getId())) { + return; + } + displayedMessages.add(message.getId()); + String authorUserProfileId = message.getAuthorUserProfileId(); + String userName = userService.getUserProfileService().findUserProfile(authorUserProfileId) + .map(UserProfile::getUserName) + .orElse("N/A"); + String text = message.getText(); + String displayString = "{" + userName + "} " + text; + appendLog("Chat message", displayString); + maybeRemoveMyOldChatMessages(); + } + + @Override + public void remove(Object o) { + if (o instanceof CommonPublicChatMessage message) + appendLog("Removed chat message", message.getText()); + } + + @Override + public void clear() { + } + }); + } + + private void maybeRemoveMyOldChatMessages() { + UserService userService = applicationService.getUserService(); + UserIdentityService userIdentityService = userService.getUserIdentityService(); + UserIdentity userIdentity = userIdentityService.getSelectedUserIdentity(); + ChatService chatService = applicationService.getChatService(); + ChatChannelDomain chatChannelDomain = ChatChannelDomain.DISCUSSION; + CommonPublicChatChannelService discussionChannelService = chatService.getCommonPublicChatChannelServices().get(chatChannelDomain); + CommonPublicChatChannel channel = discussionChannelService.getChannels().stream().findFirst().orElseThrow(); + String myProfileId = userIdentity.getUserProfile().getId(); + appendLog("Number of chat messages", channel.getChatMessages().size()); + long expireDate = System.currentTimeMillis() - TimeUnit.SECONDS.toMillis(30); + channel.getChatMessages().stream() + .filter(message -> message.getDate() < expireDate) + .filter(message -> myProfileId.equals(message.getAuthorUserProfileId())) + .forEach(message -> { + appendLog("Remove my old chat message", StringUtils.truncate(message.getText(), 5)); + discussionChannelService.deleteChatMessage(message, userIdentity.getNetworkIdWithKeyPair()) + .whenComplete((r, t) -> { + appendLog("Remove message result", t == null); + log.error(r.toString()); + }); + }); + } + + private void appendLog(String key, Object value) { + String line = key + ": " + value; + List logMessages = model.getLogMessages(); + logMessages.add(line); + if (logMessages.size() > 20) { + logMessages.remove(0); + } + model.getLogMessage().set(Joiner.on("\n").join(logMessages)); + } +} diff --git a/pocs/android_only_m2_j17jars/app/src/main/java/bisq/android/main/MainModel.java b/pocs/android_only_m2_j17jars/app/src/main/java/bisq/android/main/MainModel.java new file mode 100644 index 00000000..68d3fc24 --- /dev/null +++ b/pocs/android_only_m2_j17jars/app/src/main/java/bisq/android/main/MainModel.java @@ -0,0 +1,13 @@ +package bisq.android.main; + +import java.util.ArrayList; +import java.util.List; + +import bisq.common.observable.Observable; +import lombok.Getter; +@Getter +public class MainModel { + public final Observable logMessage = new Observable<>(""); + public final List logMessages = new ArrayList<>(); + +} diff --git a/pocs/android_only_m2_j17jars/app/src/main/java/bisq/android/main/MainView.java b/pocs/android_only_m2_j17jars/app/src/main/java/bisq/android/main/MainView.java new file mode 100644 index 00000000..92a44381 --- /dev/null +++ b/pocs/android_only_m2_j17jars/app/src/main/java/bisq/android/main/MainView.java @@ -0,0 +1,18 @@ +package bisq.android.main; + +import androidx.lifecycle.ViewModel; + +// Example view how Bisq 2 MVC would use it +public class MainView extends ViewModel { + private final MainController mainController; + private final MainModel model; + + public MainView(MainController mainController, MainModel model) { + this.mainController = mainController; + this.model = model; + } + + public void initialize() { + // model.getLogMessage().addObserver(logMessage -> textField.setText(logMessage)); + } +} diff --git a/pocs/android_only_m2_j17jars/app/src/main/java/bisq/android/main/user_profile/UserProfileController.java b/pocs/android_only_m2_j17jars/app/src/main/java/bisq/android/main/user_profile/UserProfileController.java new file mode 100644 index 00000000..4748d153 --- /dev/null +++ b/pocs/android_only_m2_j17jars/app/src/main/java/bisq/android/main/user_profile/UserProfileController.java @@ -0,0 +1,88 @@ +package bisq.android.main.user_profile; + +import java.security.KeyPair; +import java.util.Random; +import java.util.concurrent.CompletableFuture; + +import bisq.common.observable.collection.ObservableSet; +import bisq.security.DigestUtil; +import bisq.security.SecurityService; +import bisq.security.pow.ProofOfWork; +import bisq.user.UserService; +import bisq.user.identity.NymIdGenerator; +import bisq.user.identity.UserIdentity; +import bisq.user.identity.UserIdentityService; +import lombok.extern.slf4j.Slf4j; + +@Slf4j +public class UserProfileController { + private static final int AVATAR_VERSION = 0; + + private final UserProfileView view; + private final UserProfileModel model; + private final SecurityService securityService; + private final UserIdentityService userIdentityService; + + public UserProfileController(UserService userService, SecurityService securityService) { + userIdentityService = userService.getUserIdentityService(); + this.securityService = securityService; + model = new UserProfileModel(); + view = new UserProfileView(this, model); + } + + public void initialize() { + ObservableSet userIdentities = userIdentityService.getUserIdentities(); + if (userIdentities.isEmpty()) { + // Generate + onGenerateKeyPair(); + } else { + // If we have already a user profile we don't do anything. Leave it to the parent + // controller to skip and not even create initialize controller. + log.warn("We have already a user profile."); + } + } + + public CompletableFuture createUserProfile() { + // Mock UI action + return createUserProfile("Android user " + new Random().nextInt(100)); + } + + // Called from UI event (e.g. button click at re-generate button) + private void onGenerateKeyPair() { + KeyPair keyPair = securityService.getKeyBundleService().generateKeyPair(); + model.setKeyPair(keyPair); + byte[] pubKeyHash = DigestUtil.hash(keyPair.getPublic().getEncoded()); + model.setPubKeyHash(pubKeyHash); + ProofOfWork proofOfWork = userIdentityService.mintNymProofOfWork(pubKeyHash); + model.setProofOfWork(proofOfWork); + byte[] powSolution = proofOfWork.getSolution(); + String nym = NymIdGenerator.generate(pubKeyHash, powSolution); + model.getNym().set(nym); // nym will be created on demand from pubKeyHash and pow + // CatHash is in desktop, needs to be reimplemented or the javafx part extracted and refactored into a non javafx lib + // Image image = CatHash.getImage(pubKeyHash, + // powSolution, + // CURRENT_AVATARS_VERSION, + // CreateProfileModel.CAT_HASH_IMAGE_SIZE); + } + + // Called from UI event (e.g. button click create profile button and passing the string from the nickname text input) + private void onCreateUserProfile(String nickName) { + createUserProfile(nickName); + } + + private CompletableFuture createUserProfile(String nickName) { + // UI can listen to that state change and show busy animation + model.getIsBusy().set(true); + return userIdentityService.createAndPublishNewUserProfile(nickName, + model.getKeyPair(), + model.getPubKeyHash(), + model.getProofOfWork(), + AVATAR_VERSION, + model.getTerms().get(), + model.getStatement().get()) + .whenComplete((userIdentity, throwable) -> { + // UI can listen to that state change and stop busy animation and show close button + model.getIsBusy().set(false); + }); + } +} diff --git a/pocs/android_only_m2_j17jars/app/src/main/java/bisq/android/main/user_profile/UserProfileModel.java b/pocs/android_only_m2_j17jars/app/src/main/java/bisq/android/main/user_profile/UserProfileModel.java new file mode 100644 index 00000000..ecff117b --- /dev/null +++ b/pocs/android_only_m2_j17jars/app/src/main/java/bisq/android/main/user_profile/UserProfileModel.java @@ -0,0 +1,29 @@ +package bisq.android.main.user_profile; + +import java.security.KeyPair; + +import bisq.common.data.ByteArray; +import bisq.common.observable.Observable; +import bisq.security.pow.ProofOfWork; +import bisq.user.identity.UserIdentity; +import lombok.Getter; +import lombok.Setter; + +@Getter +public class UserProfileModel { + @Setter + private KeyPair keyPair; + @Setter + private byte[] pubKeyHash; + @Setter + private ProofOfWork proofOfWork; + + private final Observable userName = new Observable<>(); + private final Observable terms = new Observable<>(""); + private final Observable statement = new Observable<>(""); + private final Observable nym = new Observable<>(); + private final Observable nickName = new Observable<>(); + private final Observable profileId = new Observable<>(); + + private final Observable isBusy = new Observable<>(); +} diff --git a/pocs/android_only_m2_j17jars/app/src/main/java/bisq/android/main/user_profile/UserProfileView.java b/pocs/android_only_m2_j17jars/app/src/main/java/bisq/android/main/user_profile/UserProfileView.java new file mode 100644 index 00000000..8e5b5253 --- /dev/null +++ b/pocs/android_only_m2_j17jars/app/src/main/java/bisq/android/main/user_profile/UserProfileView.java @@ -0,0 +1,16 @@ +package bisq.android.main.user_profile; + +public class UserProfileView { + private final UserProfileController userProfileController; + private final UserProfileModel model; + + public UserProfileView(UserProfileController userProfileController, UserProfileModel model) { + this.userProfileController = userProfileController; + this.model = model; + } + + public void initialize() { + /* model.getNickName().addObserver(value -> nickNameTextField.setText(value)); + model.getNym().addObserver(value -> nymTextField.setText(value));*/ + } +} diff --git a/pocs/android_only_m2_j17jars/app/src/main/java/bisq/android/ui/theme/Color.kt b/pocs/android_only_m2_j17jars/app/src/main/java/bisq/android/ui/theme/Color.kt new file mode 100644 index 00000000..0e9f43b0 --- /dev/null +++ b/pocs/android_only_m2_j17jars/app/src/main/java/bisq/android/ui/theme/Color.kt @@ -0,0 +1,11 @@ +package bisq.android.ui.theme + +import androidx.compose.ui.graphics.Color + +val Purple80 = Color(0xFFD0BCFF) +val PurpleGrey80 = Color(0xFFCCC2DC) +val Pink80 = Color(0xFFEFB8C8) + +val Purple40 = Color(0xFF6650a4) +val PurpleGrey40 = Color(0xFF625b71) +val Pink40 = Color(0xFF7D5260) \ No newline at end of file diff --git a/pocs/android_only_m2_j17jars/app/src/main/java/bisq/android/ui/theme/Theme.kt b/pocs/android_only_m2_j17jars/app/src/main/java/bisq/android/ui/theme/Theme.kt new file mode 100644 index 00000000..fe7fd0f3 --- /dev/null +++ b/pocs/android_only_m2_j17jars/app/src/main/java/bisq/android/ui/theme/Theme.kt @@ -0,0 +1,57 @@ +package bisq.android.ui.theme + +import android.os.Build +import androidx.compose.foundation.isSystemInDarkTheme +import androidx.compose.material3.MaterialTheme +import androidx.compose.material3.darkColorScheme +import androidx.compose.material3.dynamicDarkColorScheme +import androidx.compose.material3.dynamicLightColorScheme +import androidx.compose.material3.lightColorScheme +import androidx.compose.runtime.Composable +import androidx.compose.ui.platform.LocalContext + +private val DarkColorScheme = darkColorScheme( + primary = Purple80, + secondary = PurpleGrey80, + tertiary = Pink80 +) + +private val LightColorScheme = lightColorScheme( + primary = Purple40, + secondary = PurpleGrey40, + tertiary = Pink40 + + /* Other default colors to override + background = Color(0xFFFFFBFE), + surface = Color(0xFFFFFBFE), + onPrimary = Color.White, + onSecondary = Color.White, + onTertiary = Color.White, + onBackground = Color(0xFF1C1B1F), + onSurface = Color(0xFF1C1B1F), + */ +) + +@Composable +fun MobileTheme( + darkTheme: Boolean = isSystemInDarkTheme(), + // Dynamic color is available on Android 12+ + dynamicColor: Boolean = true, + content: @Composable () -> Unit +) { + val colorScheme = when { + dynamicColor && Build.VERSION.SDK_INT >= Build.VERSION_CODES.S -> { + val context = LocalContext.current + if (darkTheme) dynamicDarkColorScheme(context) else dynamicLightColorScheme(context) + } + + darkTheme -> DarkColorScheme + else -> LightColorScheme + } + + MaterialTheme( + colorScheme = colorScheme, + typography = Typography, + content = content + ) +} \ No newline at end of file diff --git a/pocs/android_only_m2_j17jars/app/src/main/java/bisq/android/ui/theme/Type.kt b/pocs/android_only_m2_j17jars/app/src/main/java/bisq/android/ui/theme/Type.kt new file mode 100644 index 00000000..10ab6705 --- /dev/null +++ b/pocs/android_only_m2_j17jars/app/src/main/java/bisq/android/ui/theme/Type.kt @@ -0,0 +1,34 @@ +package bisq.android.ui.theme + +import androidx.compose.material3.Typography +import androidx.compose.ui.text.TextStyle +import androidx.compose.ui.text.font.FontFamily +import androidx.compose.ui.text.font.FontWeight +import androidx.compose.ui.unit.sp + +// Set of Material typography styles to start with +val Typography = Typography( + bodyLarge = TextStyle( + fontFamily = FontFamily.Default, + fontWeight = FontWeight.Normal, + fontSize = 16.sp, + lineHeight = 24.sp, + letterSpacing = 0.5.sp + ) + /* Other default text styles to override + titleLarge = TextStyle( + fontFamily = FontFamily.Default, + fontWeight = FontWeight.Normal, + fontSize = 22.sp, + lineHeight = 28.sp, + letterSpacing = 0.sp + ), + labelSmall = TextStyle( + fontFamily = FontFamily.Default, + fontWeight = FontWeight.Medium, + fontSize = 11.sp, + lineHeight = 16.sp, + letterSpacing = 0.5.sp + ) + */ +) \ No newline at end of file diff --git a/pocs/android_only_m2_j17jars/app/src/main/proto/account.proto b/pocs/android_only_m2_j17jars/app/src/main/proto/account.proto new file mode 100644 index 00000000..fd734be4 --- /dev/null +++ b/pocs/android_only_m2_j17jars/app/src/main/proto/account.proto @@ -0,0 +1,303 @@ +/* + * This file is part of Bisq. + * + * Bisq is free software: you can redistribute it and/or modify it + * under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or (at + * your option) any later version. + * + * Bisq is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public + * License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with Bisq. If not, see . + */ + +syntax = "proto3"; + +package account; +option java_package = "bisq.mobile.account.protobuf"; +option java_multiple_files = true; + +import "common.proto"; + +// ProtocolType +enum TradeProtocolType { + TRADEPROTOCOLTYPE_UNSPECIFIED = 0; + TRADEPROTOCOLTYPE_BISQ_EASY = 1; + TRADEPROTOCOLTYPE_BISQ_MU_SIG = 2; + TRADEPROTOCOLTYPE_SUBMARINE = 3; + TRADEPROTOCOLTYPE_LIQUID_MU_SIG = 4; + TRADEPROTOCOLTYPE_BISQ_LIGHTNING = 5; + TRADEPROTOCOLTYPE_LIQUID_SWAP = 6; + TRADEPROTOCOLTYPE_BSQ_SWAP = 7; + TRADEPROTOCOLTYPE_LIGHTNING_ESCROW = 8; + TRADEPROTOCOLTYPE_MONERO_SWAP = 9; +} +enum LoanProtocolType { + LOANPROTOCOLTYPE_UNSPECIFIED = 0; + LOANPROTOCOLTYPE_COLLATERALIZED = 1; + LOANPROTOCOLTYPE_REPUTATION = 2; +} +message ProtocolType { + oneof message { + TradeProtocolType tradeProtocolType = 10; + LoanProtocolType loanProtocolType = 11; + } +} + +// PaymentMethod +message PaymentMethod { + string name = 1; + oneof message { + FiatPaymentMethod fiatPaymentMethod = 10; + BitcoinPaymentMethod bitcoinPaymentMethod = 11; + CryptoPaymentMethod cryptoPaymentMethod = 12; + } +} +message FiatPaymentMethod { +} +message BitcoinPaymentMethod { +} +message CryptoPaymentMethod { + string currencyCode = 1; +} + +// AccountPayload +message AccountPayload { + string id = 1; + string paymentMethodName = 2; + oneof message { + ZelleAccountPayload zelleAccountPayload = 19; + UserDefinedFiatAccountPayload userDefinedFiatAccountPayload = 20; + RevolutAccountPayload RevolutAccountPayload = 21; + CountryBasedAccountPayload countryBasedAccountPayload = 22; + FasterPaymentsAccountPayload fasterPaymentsAccountPayload = 23; + PayIDAccountPayload payIDAccountPayload = 24; + USPostalMoneyOrderAccountPayload usPostalMoneyOrderAccountPayload = 25; + CashByMailAccountPayload cashByMailAccountPayload = 26; + InteracETransferAccountPayload interacETransferAccountPayload = 27; + CashAppAccountPayload cashAppAccountPayload = 28; + } +} +message UserDefinedFiatAccountPayload { + string accountData = 2; +} +message RevolutAccountPayload { + string email = 2; +} +message CountryBasedAccountPayload { + string countryCode = 1; + oneof message { + BankAccountPayload bankAccountPayload = 2; + SepaAccountPayload sepaAccountPayload = 10; + F2FAccountPayload f2fAccountPayload = 11; + PixAccountPayload pixAccountPayload = 12; + StrikeAccountPayload strikeAccountPayload = 13; + AmazonGiftCardAccountPayload amazonGiftCardAccountPayload = 14; + UpiAccountPayload upiAccountPayload = 15; + BizumAccountPayload bizumAccountPayload = 16; + } +} +message SepaAccountPayload { + string holderName = 1; + string iban = 2; + string bic = 3; + +} + +message F2FAccountPayload { + string contact = 1; + string city = 2; + string extra_info = 3; +} + +message AchTransferAccountPayload { + string holder_address = 1; +} + +message NationalBankAccountPayload { +} + +message BankAccountPayload { + string holder_name = 1; + string bank_name = 2; + string bank_id = 3; + string branch_id = 4; + string account_nr = 5; + string account_type = 6; + string holder_tax_id = 7; + string national_account_id = 12; + oneof message { + AchTransferAccountPayload achTransferAccountPayload = 13; + NationalBankAccountPayload nationalBankAccountPayload = 14; + CashDepositAccountPayload cashDepositAccountPayload = 15; + } +} + +message ZelleAccountPayload { + string holderName = 1; + string emailOrMobileNr = 2; +} + +message PixAccountPayload { + string pix_key = 1; +} + +message FasterPaymentsAccountPayload { + string sort_code = 1; + string account_nr = 2; +} + +message PayIDAccountPayload { + string bank_account_name = 1; + string pay_id = 2; +} + +message USPostalMoneyOrderAccountPayload { + string postal_address = 1; + string holder_name = 2; +} + +message CashByMailAccountPayload { + string postal_address = 1; + string contact = 2; + string extra_info = 3; +} + +message StrikeAccountPayload { + string holderName = 1; +} + +message InteracETransferAccountPayload { + string email = 1; + string holder_name = 2; + string question = 3; + string answer = 4; +} + +message AmazonGiftCardAccountPayload { + string email_or_mobile_nr = 1; +} + +message CashDepositAccountPayload { + string requirements = 1; +} + +message UpiAccountPayload { + string virtual_payment_address = 1; +} + +message BizumAccountPayload { + string mobileNr = 1; +} + +message CashAppAccountPayload { + string cashTag = 1; +} + +// Account +message Account { + sint64 creationDate = 1; + string accountName = 2; + AccountPayload accountPayload = 3; + PaymentMethod paymentMethod = 4; + common.TradeCurrency selectedTradeCurrency = 6; + + oneof message { + ZelleAccount zelleAccount = 19; + UserDefinedFiatAccount userDefinedFiatAccount = 20; + RevolutAccount revolutAccount = 21; + CountryBasedAccount countryBasedAccount = 22; + FasterPaymentsAccount fasterPaymentsAccount = 23; + PayIDAccount payIDAccount = 24; + USPostalMoneyOrderAccount usPostalMoneyOrderAccount = 25; + CashByMailAccount cashByMailAccount = 26; + InteracETransferAccount interacETransferAccount = 27; + CashAppAccount cashAppAccount = 28; + } +} + +message UserDefinedFiatAccount { +} +message RevolutAccount { +} +message CountryBasedAccount { + common.Country country = 1; + oneof message { + BankAccount bankAccount = 19; + SepaAccount sepaAccount = 20; + F2FAccount f2fAccount = 21; + PixAccount pixAccount = 22; + StrikeAccount strikeAccount = 23; + AmazonGiftCardAccount amazonGiftCardAccount = 24; + UpiAccount upiAccount = 25; + BizumAccount bizumAccount = 26; + } +} +message SepaAccount { +} + +message F2FAccount { +} + +message BankAccount { + oneof message { + AchTransferAccount achTransferAccount = 1; + NationalBankAccount nationalBankAccount = 2; + CashDepositAccount cashDepositAccount = 3; + } +} + +message AchTransferAccount { +} + +message ZelleAccount { +} + +message NationalBankAccount { +} + +message PixAccount { +} + +message FasterPaymentsAccount { +} + +message PayIDAccount { +} + +message USPostalMoneyOrderAccount { +} + +message CashByMailAccount { +} + +message StrikeAccount { +} + +message InteracETransferAccount { +} + +message AmazonGiftCardAccount { +} + +message CashDepositAccount { +} + +message UpiAccount { +} + +message BizumAccount { +} + +message CashAppAccount { +} + +message AccountStore { + map accountByName = 1; + optional Account selectedAccount = 2; +} + diff --git a/pocs/android_only_m2_j17jars/app/src/main/proto/bonded_roles.proto b/pocs/android_only_m2_j17jars/app/src/main/proto/bonded_roles.proto new file mode 100644 index 00000000..6b68a36f --- /dev/null +++ b/pocs/android_only_m2_j17jars/app/src/main/proto/bonded_roles.proto @@ -0,0 +1,131 @@ +syntax = "proto3"; +package bonded_roles; +option java_package = "bisq.mobile.bonded_roles.protobuf"; +option java_multiple_files = true; +import "common.proto"; +import "network_identity.proto"; + +enum BondedRoleType { + BONDEDROLETYPE_UNSPECIFIED = 0; + BONDEDROLETYPE_MEDIATOR = 1; + BONDEDROLETYPE_ARBITRATOR = 2; + BONDEDROLETYPE_MODERATOR = 3; + BONDEDROLETYPE_SECURITY_MANAGER = 4; + BONDEDROLETYPE_RELEASE_MANAGER = 5; + BONDEDROLETYPE_SEED_NODE = 10; + BONDEDROLETYPE_ORACLE_NODE = 11; + BONDEDROLETYPE_EXPLORER_NODE = 12; + BONDEDROLETYPE_MARKET_PRICE_NODE = 13; +} +message AuthorizedOracleNode { + network.identity.NetworkId networkId = 1; + string profileId = 2; + string authorizedPublicKey = 3; + string bondUserName = 4; + string signatureBase64 = 5; + bool staticPublicKeysProvided = 6; + sint32 version = 7; +} + +message BondedRoleRegistrationRequest { + string profileId = 1; + string authorizedPublicKey = 2; + BondedRoleType bondedRoleType = 3; + string bondUserName = 4; + string signatureBase64 = 5; + optional common.AddressByTransportTypeMap addressByTransportTypeMap = 6; + network.identity.NetworkId networkId = 7; + bool isCancellationRequest = 8; +} + +message AuthorizedBondedRole { + string profileId = 1; + string authorizedPublicKey = 2; + BondedRoleType bondedRoleType = 3; + string bondUserName = 4; + string signatureBase64 = 5; + optional common.AddressByTransportTypeMap addressByTransportTypeMap = 6; + network.identity.NetworkId networkId = 7; + optional AuthorizedOracleNode authorizingOracleNode = 8; + bool staticPublicKeysProvided = 9; + sint32 version = 10; +} + +enum AlertType { + ALERTTYPE_UNSPECIFIED = 0; + ALERTTYPE_INFO = 1; + ALERTTYPE_WARN = 2; + ALERTTYPE_EMERGENCY = 3; + ALERTTYPE_BAN = 4; +} + +message AuthorizedAlertData { + string id = 1; + sint64 date = 2; + AlertType alertType = 3; + optional string message = 4; + bool haltTrading = 5; + bool requireVersionForTrading = 6; + optional string minVersion = 7; + optional AuthorizedBondedRole bannedRole = 8; + string securityManagerProfileId = 9; + bool staticPublicKeysProvided = 10; + optional string headline = 11; + sint32 version = 12; +} + +message ReleaseNotification { + string id = 1; + sint64 date = 2; + bool isPreRelease = 3; + bool isLauncherUpdate = 4; + string releaseNotes = 5; + string versionString = 6; + string releaseManagerProfileId = 7; + bool staticPublicKeysProvided = 8; + sint32 version = 9; +} + +message AuthorizedDifficultyAdjustmentData { + sint64 date = 1; + double difficultyAdjustmentFactor = 2; + string securityManagerProfileId = 3; + bool staticPublicKeysProvided = 4; + sint32 version = 5; +} + +// Not used anymore since 2.1.1 +message AuthorizedMinRequiredReputationScoreData { + option deprecated = true; + sint64 date = 1; + sint64 minRequiredReputationScore = 2; + string securityManagerProfileId = 3; + bool staticPublicKeysProvided = 4; + sint32 version = 5; +} + +enum MarketPriceProvider { + MARKETPRICEPROVIDER_UNSPECIFIED = 0; + MARKETPRICEPROVIDER_BISQAGGREGATE = 1; + MARKETPRICEPROVIDER_COINGECKO = 2; + MARKETPRICEPROVIDER_POLO = 3; + MARKETPRICEPROVIDER_BITFINEX = 4; + MARKETPRICEPROVIDER_OTHER = 5; +} + +message MarketPrice { + common.PriceQuote priceQuote = 1; + sint64 timestamp = 2; + MarketPriceProvider marketPriceProvider = 3; +} + +message AuthorizedMarketPriceData { + map marketPriceByCurrencyMap = 1; + bool staticPublicKeysProvided = 2; + sint32 version = 3; +} + +message MarketPriceStore { + map marketPriceByCurrencyMap = 1; + common.Market selectedMarket = 2; +} diff --git a/pocs/android_only_m2_j17jars/app/src/main/proto/chat.proto b/pocs/android_only_m2_j17jars/app/src/main/proto/chat.proto new file mode 100644 index 00000000..c687e037 --- /dev/null +++ b/pocs/android_only_m2_j17jars/app/src/main/proto/chat.proto @@ -0,0 +1,211 @@ +/* + * This file is part of Bisq. + * + * Bisq is free software: you can redistribute it and/or modify it + * under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or (at + * your option) any later version. + * + * Bisq is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public + * License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with Bisq. If not, see . + */ + +syntax = "proto3"; + +package chat; +option java_package = "bisq.mobile.chat.protobuf"; +option java_multiple_files = true; +import "common.proto"; +import "network_identity.proto"; +import "security.proto"; +import "offer.proto"; +import "user.proto"; + +enum ChatMessageType { + CHATMESSAGETYPE_UNSPECIFIED = 0; + CHATMESSAGETYPE_TEXT = 1; + CHATMESSAGETYPE_LEAVE = 2; + CHATMESSAGETYPE_TAKE_BISQ_EASY_OFFER = 3; + CHATMESSAGETYPE_PROTOCOL_LOG_MESSAGE = 4; +} + +enum ChatChannelNotificationType { + CHATCHANNELNOTIFICATIONTYPE_UNSPECIFIED = 0; + CHATCHANNELNOTIFICATIONTYPE_GLOBAL_DEFAULT = 1; + CHATCHANNELNOTIFICATIONTYPE_ALL = 2; + CHATCHANNELNOTIFICATIONTYPE_MENTION = 3; + CHATCHANNELNOTIFICATIONTYPE_OFF = 4; +} + +enum ChatChannelDomain { + CHATCHANNELDOMAIN_UNSPECIFIED = 0; + CHATCHANNELDOMAIN_BISQ_EASY_OFFERBOOK = 1; + CHATCHANNELDOMAIN_BISQ_EASY_OPEN_TRADES = 2; + CHATCHANNELDOMAIN_BISQ_EASY_PRIVATE_CHAT = 3 [deprecated = true]; // Dropped in 2.1.1, all messages will fall back on domain DISCUSSION, + CHATCHANNELDOMAIN_DISCUSSION = 4; + CHATCHANNELDOMAIN_EVENTS = 5 [deprecated = true]; // Dropped in 2.1.1, all messages will fall back on domain DISCUSSION + CHATCHANNELDOMAIN_SUPPORT = 6; +} + +message Citation { + string authorUserProfileId = 1; + string text = 2; +} + +message ChatMessage { + string id = 1; + ChatChannelDomain chatChannelDomain = 2; + string channelId = 3; + optional string text = 4; + string authorUserProfileId = 5; + optional Citation citation = 6; + sint64 date = 7; + bool wasEdited = 8; + ChatMessageType chatMessageType = 9; + oneof message { + TwoPartyPrivateChatMessage twoPartyPrivateChatMessage = 20; + CommonPublicChatMessage commonPublicChatMessage = 21; + BisqEasyOpenTradeMessage bisqEasyOpenTradeMessage = 22; + BisqEasyOfferbookMessage bisqEasyOfferbookMessage = 23; + } +} + +message ChatChannel { + string id = 1; + ChatChannelDomain chatChannelDomain = 2; + ChatChannelNotificationType chatChannelNotificationType = 3; + oneof message{ + TwoPartyPrivateChatChannel twoPartyPrivateChatChannel = 10; + CommonPublicChatChannel commonPublicChatChannel = 11; + BisqEasyOpenTradeChannel bisqEasyOpenTradeChannel = 12; + BisqEasyOfferbookChannel bisqEasyOfferbookChannel = 13; + } +} + +// TwoPartyPrivateChat +message TwoPartyPrivateChatMessage { + string receiverUserProfileId = 1; + user.UserProfile sender = 2; + network.identity.NetworkId receiverNetworkId = 3; + repeated ChatMessageReaction chatMessageReactions = 4; +} +message TwoPartyPrivateChatChannel { + user.UserIdentity myUserIdentity = 1; + user.UserProfile peer = 2; + repeated ChatMessage chatMessages = 3; +} +message TwoPartyPrivateChatChannelStore { + repeated ChatChannel channels = 1; +} + +// CommonPublicChat +message CommonPublicChatMessage { +} + +message CommonPublicChatChannel { + string channelTitle = 1; + optional string channelAdminId = 2; + repeated string channelModeratorIds = 3; + bool isVisible = 4; +} +message CommonPublicChatChannelStore { + repeated ChatChannel channels = 1; +} + +// BisqEasy +message BisqEasyOpenTradeMessage { + string tradeId = 1; + string receiverUserProfileId = 2; + network.identity.NetworkId receiverNetworkId = 3; + user.UserProfile sender = 4; + optional user.UserProfile mediator = 5; + optional offer.Offer bisqEasyOffer = 6; + repeated ChatMessageReaction chatMessageReactions = 7; +} +message BisqEasyOpenTradeChannel { + string tradeId = 1; + offer.Offer bisqEasyOffer = 2; + user.UserIdentity myUserIdentity = 3; + repeated user.UserProfile traders = 4; + optional user.UserProfile mediator = 5; + repeated ChatMessage chatMessages = 6; + bool isInMediation = 7; +} +message BisqEasyOpenTradeChannelStore { + repeated ChatChannel channels = 1; +} + +message BisqEasyOfferbookMessage { + optional offer.Offer bisqEasyOffer = 1; +} +message BisqEasyOfferbookChannel { + common.Market market = 1; +} +message BisqEasyOfferbookChannelStore { + repeated ChatChannel channels = 1; +} + +// ChatChannelSelection +message ChatChannelSelectionStore { + optional string selectedChannelId = 1; +} + +message ChatNotification { + string id = 1; + string title = 2; + string message = 3; + sint64 date = 4; + string chatChannelId = 5; + ChatChannelDomain chatChannelDomain = 6; + string chatMessageId = 7; + optional string tradeId = 8; + optional user.UserProfile senderUserProfile = 9; + optional user.UserProfile mediator = 10; + bool isConsumed = 11; +} + +message ChatNotificationsStore { + repeated ChatNotification chatNotifications = 1; +} + +// Reactions +message ChatMessageReaction { + string id = 1; + string userProfileId = 2; + string chatChannelId = 3; + ChatChannelDomain chatChannelDomain = 4; + string chatMessageId = 5; + sint32 reactionId = 6; + sint64 date = 8; + oneof message { + CommonPublicChatMessageReaction commonPublicChatMessageReaction = 20; + BisqEasyOfferbookMessageReaction bisqEasyOfferbookMessageReaction = 21; + TwoPartyPrivateChatMessageReaction twoPartyPrivateChatMessageReaction = 22; + BisqEasyOpenTradeMessageReaction bisqEasyOpenTradeMessageReaction = 23; + } +} + +message CommonPublicChatMessageReaction { +} + +message BisqEasyOfferbookMessageReaction { +} + +message TwoPartyPrivateChatMessageReaction { + string receiverUserProfileId = 1; + user.UserProfile sender = 2; + network.identity.NetworkId receiverNetworkId = 3; + bool isRemoved = 4; +} + +message BisqEasyOpenTradeMessageReaction { + string receiverUserProfileId = 1; + user.UserProfile sender = 2; + network.identity.NetworkId receiverNetworkId = 3; + bool isRemoved = 4; +} diff --git a/pocs/android_only_m2_j17jars/app/src/main/proto/common.proto b/pocs/android_only_m2_j17jars/app/src/main/proto/common.proto index 85d49d96..694ffd94 100644 --- a/pocs/android_only_m2_j17jars/app/src/main/proto/common.proto +++ b/pocs/android_only_m2_j17jars/app/src/main/proto/common.proto @@ -18,7 +18,7 @@ syntax = "proto3"; package common; -option java_package = "bisq.common.protobuf"; +option java_package = "bisq.mobile.common.protobuf"; option java_multiple_files = true; message ByteArray { @@ -91,4 +91,13 @@ message ByteArrayMapEntry { message StringLongPair { string key = 1; sint64 value = 2; -} \ No newline at end of file +} + +message Address { + string host = 1; + sint32 port = 2; +} + +message AddressByTransportTypeMap { + map addressByTransportType = 1; +} diff --git a/pocs/android_only_m2_j17jars/app/src/main/proto/contract.proto b/pocs/android_only_m2_j17jars/app/src/main/proto/contract.proto new file mode 100644 index 00000000..7cc10441 --- /dev/null +++ b/pocs/android_only_m2_j17jars/app/src/main/proto/contract.proto @@ -0,0 +1,98 @@ +/* + * This file is part of Bisq. + * + * Bisq is free software: you can redistribute it and/or modify it + * under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or (at + * your option) any later version. + * + * Bisq is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public + * License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with Bisq. If not, see . + */ + +syntax = "proto3"; + +package contract; +option java_package = "bisq.mobile.contract.protobuf"; +option java_multiple_files = true; + +import "network_identity.proto"; +import "account.proto"; +import "offer.proto"; +import "user.proto"; + +enum Role { + ROLE_UNSPECIFIED = 0; + ROLE_MAKER = 1; + ROLE_TAKER = 2; + ROLE_ESCROW_AGENT = 3; +} + +message Party { + Role role = 1; + network.identity.NetworkId networkId = 2; +} +message Contract { + uint64 takeOfferDate = 1; + offer.Offer offer = 2; + account.TradeProtocolType tradeProtocolType = 3; + oneof message { + TwoPartyContract twoPartyContract = 10; + MultiPartyContract multiPartyContract = 12; + } +} + +message TwoPartyContract { + Party taker = 1; + oneof message { + BisqEasyContract bisqEasyContract = 10; + BisqMuSigContract bisqMuSigContract = 11; + SubmarineContract submarineContract = 12; + } +} + +message MultiPartyContract { + repeated Party parties = 1; +} + +message ContractSignatureData { + bytes contractHash = 1; + bytes signature = 2; + bytes publicKeyBytes = 3; +} +message SignedTwoPartyContract { + Contract contract = 1; + ContractSignatureData makerSignatureData = 2; + ContractSignatureData takerSignatureData = 3; + oneof message { + SignedBisqEasyContract signedBisqEasyContract = 10; + } +} +message SignedBisqEasyContract { +} + +// BisqEasy +message BisqEasyContract { + uint64 baseSideAmount = 1; + uint64 quoteSideAmount = 2; + offer.PaymentMethodSpec baseSidePaymentMethodSpec = 3; + offer.PaymentMethodSpec quoteSidePaymentMethodSpec = 4; + optional user.UserProfile mediator = 12; + offer.PriceSpec agreedPriceSpec = 13; + uint64 marketPrice = 14; +} + + +// BisqMuSig +message BisqMuSigContract { +} + + +// Submarine +message SubmarineContract { +} diff --git a/pocs/android_only_m2_j17jars/app/src/main/proto/identity.proto b/pocs/android_only_m2_j17jars/app/src/main/proto/identity.proto new file mode 100644 index 00000000..c7f55e31 --- /dev/null +++ b/pocs/android_only_m2_j17jars/app/src/main/proto/identity.proto @@ -0,0 +1,36 @@ +/* + * This file is part of Bisq. + * + * Bisq is free software: you can redistribute it and/or modify it + * under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or (at + * your option) any later version. + * + * Bisq is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public + * License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with Bisq. If not, see . + */ + +syntax = "proto3"; + +package identity; +option java_package = "bisq.mobile.identity.protobuf"; +option java_multiple_files = true; +import "network_identity.proto"; +import "security.proto"; + +message Identity { + string domainId = 1; + network.identity.NetworkId networkId = 2; + security.KeyBundle keyBundle = 3; +} + +message IdentityStore { + optional Identity defaultIdentity = 1; + map activeIdentityByDomainId = 2; + repeated Identity retired = 3; +} diff --git a/pocs/android_only_m2_j17jars/app/src/main/proto/network.proto b/pocs/android_only_m2_j17jars/app/src/main/proto/network.proto new file mode 100644 index 00000000..33a0a4c2 --- /dev/null +++ b/pocs/android_only_m2_j17jars/app/src/main/proto/network.proto @@ -0,0 +1,396 @@ +syntax = "proto3"; +package network; +option java_package = "bisq.mobile.network.protobuf"; +option java_multiple_files = true; +import "common.proto"; +import "network_identity.proto"; +import "security.proto"; +import "google/protobuf/any.proto"; + +//////////////////////////////////////////////////////////////////// +// Data +//////////////////////////////////////////////////////////////////// + +message NetworkLoad { + double load = 1; + double difficultyAdjustmentFactor = 2; +} + +enum Feature { + FEATURE_UNSPECIFIED = 0; + FEATURE_INVENTORY_HASH_SET = 1; + FEATURE_INVENTORY_MINI_SKETCH = 2; + FEATURE_AUTHORIZATION_HASH_CASH = 3; + FEATURE_AUTHORIZATION_EQUI_HASH = 4; +} + +message Capability { + common.Address address = 1; + repeated string supportedTransportTypes = 2; + repeated Feature features = 3; + sint32 version = 4; + string applicationVersion = 5; +} + +enum InventoryFilterType{ + INVENTORYFILTERTYPE_UNSPECIFIED = 0; + INVENTORYFILTERTYPE_HASH_SET = 1; + INVENTORYFILTERTYPE_MINI_SKETCH = 2; +} + +message HashSetFilterEntry { + bytes hash = 1; + sint32 sequenceNumber = 2; +} + +message HashSetFilter { + repeated HashSetFilterEntry filterEntries = 1; +} + +message MiniSketchFilter { +} + +message InventoryFilter { + InventoryFilterType inventoryFilterType = 1; + oneof message { + HashSetFilter hashSetFilter = 10; + MiniSketchFilter miniSketchFilter = 11; + } +} + +message Inventory { + repeated DataRequest entries = 1; + bool maxSizeReached = 2; +} + +message Peer { + Capability capability = 1; + NetworkLoad networkLoad = 2; + bool isOutboundConnection = 3; + sint64 created = 4; +} + +enum AuthorizationTokenType{ + AUTHORIZATIONTOKENTYPE_UNSPECIFIED = 0; + AUTHORIZATIONTOKENTYPE_HASH_CASH = 1; + AUTHORIZATIONTOKENTYPE_EQUI_HASH = 2; +} + +message HashCashToken { + security.ProofOfWork proofOfWork = 1; + sint32 messageCounter = 2; +} +message EquiHashToken { + security.ProofOfWork proofOfWork = 1; + sint32 messageCounter = 2; +} +message AuthorizationToken { + AuthorizationTokenType authorizationTokenType = 1; + + oneof message { + HashCashToken hashCashToken = 10; + EquiHashToken equiHashToken = 11; + }; +} + + +//////////////////////////////////////////////////////////////////// +// NetworkMessages +//////////////////////////////////////////////////////////////////// + +message ConnectionHandshake { + message Request { + Capability capability = 1; + optional bytes addressOwnershipProof = 2; + NetworkLoad networkLoad = 3; + sint64 signatureDate = 4; + } + message Response { + Capability capability = 1; + NetworkLoad networkLoad = 2; + } +} + +message CloseConnectionMessage { + string closeReason = 1; +} + +message PeerExchangeRequest { + sint32 nonce = 1; + repeated Peer peers = 2; +} +message PeerExchangeResponse { + sint32 nonce = 1; + repeated Peer peers = 2; +} + +message Ping { + sint32 nonce = 1; +} +message Pong { + sint32 requestNonce = 1; +} + +message NetworkLoadExchangeRequest { + sint32 nonce = 1; + NetworkLoad networkLoad = 2; +} + +message NetworkLoadExchangeResponse { + sint32 requestNonce = 1; + NetworkLoad networkLoad = 2; +} + +message ConfidentialMessage { + security.ConfidentialData confidentialData = 1; + string receiverKeyId = 2; +} + +message AckMessage { + string id = 1; +} + +message InventoryRequest { + InventoryFilter inventoryFilter = 1; + sint32 nonce = 2; + sint32 version = 3; +} + +message InventoryResponse { + Inventory inventory = 1; + sint32 requestNonce = 2; + sint32 version = 3; +} + +message ExternalNetworkMessage { + google.protobuf.Any payload = 1; +} + + +//////////////////////////////////////////////////////////////////// +// EnvelopePayloadMessage types +//////////////////////////////////////////////////////////////////// + +message EnvelopePayloadMessage { + oneof message { + ConnectionHandshake.Request connectionHandshakeRequest = 1; + ConnectionHandshake.Response connectionHandshakeResponse = 2; + + CloseConnectionMessage closeConnectionMessage = 3; + + PeerExchangeRequest peerExchangeRequest = 4; + PeerExchangeResponse peerExchangeResponse = 5; + + Ping ping = 6; + Pong pong = 7; + + ConfidentialMessage confidentialMessage = 8; + AckMessage ackMessage = 9; + + InventoryRequest inventoryRequest = 10; + InventoryResponse inventoryResponse = 11; + + DataRequest dataRequest = 12; + + NetworkLoadExchangeRequest networkLoadExchangeRequest = 13; + NetworkLoadExchangeResponse networkLoadExchangeResponse = 14; + + // Wrapper for NetworkMessages defined in other modules like PrivateChatMessage which are wrapped in an Any blob + ExternalNetworkMessage externalNetworkMessage = 15; + + ReportRequest reportRequest = 16; + ReportResponse reportResponse = 17; + } +} + + +//////////////////////////////////////////////////////////////////// +// DataRequests +//////////////////////////////////////////////////////////////////// + +message MetaData { + sint64 ttl = 1; + sint32 priority = 2; + sint32 maxMapSize = 3; + string className = 4; +} +message AuthorizedData { + optional bytes signature = 1; + bytes authorizedPublicKeyBytes = 2; +} +message DefaultAuthenticatedData { +} +message AuthenticatedData { + google.protobuf.Any distributedData = 1; + oneof message { + DefaultAuthenticatedData defaultAuthenticatedData = 10; + AuthorizedData authorizedData = 11; + } +} +message AuthenticatedSequentialData { + AuthenticatedData authenticatedData = 1; + sint32 sequenceNumber = 2; + bytes pubKeyHash = 3; + sint64 created = 4; +} +message AddAuthenticatedDataRequest { + AuthenticatedSequentialData authenticatedSequentialData = 1; + bytes signature = 2; + bytes ownerPublicKeyBytes = 3; +} +message RemoveAuthenticatedDataRequest { + MetaData metaData = 1; + bytes hash = 2; + bytes ownerPublicKeyBytes = 3; + sint32 sequenceNumber = 4; + bytes signature = 5; + sint64 created = 6; + sint32 version = 7; +} +message RefreshAuthenticatedDataRequest { + MetaData metaData = 1; + bytes hash = 2; + bytes ownerPublicKeyBytes = 3; + sint32 sequenceNumber = 4; + bytes signature = 5; + sint32 version = 6; + sint64 created = 7; +} + +message MailboxData { + ConfidentialMessage confidentialMessage = 1; + MetaData metaData = 2; + sint32 version = 3; +} +message MailboxSequentialData { + MailboxData mailboxData = 1; + sint32 sequenceNumber = 2; + bytes senderPublicKeyHash = 3; + sint64 created = 4; + bytes receiversPubKeyBytes = 5; + bytes receiversPubKeyHash = 6; +} +message AddMailboxRequest { + MailboxSequentialData mailboxSequentialData = 1; + bytes signature = 2; + bytes senderPublicKeyBytes = 3; +} +message RemoveMailboxRequest { + MetaData metaData = 1; + bytes hash = 2; + bytes receiverPublicKeyBytes = 3; + bytes signature = 4; + sint64 created = 5; + sint32 version = 6; +} + +message AddAppendOnlyDataRequest { + google.protobuf.Any appendOnlyData = 1; +} + +//////////////////////////////////////////////////////////////////// +// DataRequest types +//////////////////////////////////////////////////////////////////// + +message DataRequest { + oneof message { + AddAuthenticatedDataRequest addAuthenticatedDataRequest = 1; + RemoveAuthenticatedDataRequest removeAuthenticatedDataRequest = 2; + RefreshAuthenticatedDataRequest refreshAuthenticatedDataRequest = 3; + + AddMailboxRequest addMailboxRequest = 4; + RemoveMailboxRequest removeMailboxRequest = 5; + + AddAppendOnlyDataRequest addAppendOnlyDataRequest = 6; + } +} + + +//////////////////////////////////////////////////////////////////// +// NetworkEnvelope +//////////////////////////////////////////////////////////////////// + +message NetworkEnvelope { + sint32 version = 1; + AuthorizationToken authorizationToken = 2; + EnvelopePayloadMessage networkMessage = 3; +} + +enum MessageDeliveryStatus { + MESSAGEDELIVERYSTATUS_UNSPECIFIED = 0; + MESSAGEDELIVERYSTATUS_CONNECTING = 1; + MESSAGEDELIVERYSTATUS_SENT = 2; + MESSAGEDELIVERYSTATUS_ACK_RECEIVED = 3; + MESSAGEDELIVERYSTATUS_TRY_ADD_TO_MAILBOX = 4; + MESSAGEDELIVERYSTATUS_ADDED_TO_MAILBOX = 5; + MESSAGEDELIVERYSTATUS_MAILBOX_MSG_RECEIVED = 6; + MESSAGEDELIVERYSTATUS_FAILED = 7; +} + + +//////////////////////////////////////////////////////////////////// +// Stores +//////////////////////////////////////////////////////////////////// + +message DataStore { + message MapEntry { + .common.ByteArray key = 1; // The leading dot is needed to distinguish between common module and network.common + DataRequest value = 2; + } + repeated MapEntry mapEntries = 1; +} + +message NetworkServiceStore { + repeated common.AddressByTransportTypeMap seedNodes = 1; + map networkIdByTag = 2 [deprecated = true]; // Moved to NetworkIdStore +} + +message NetworkIdStore { + map networkIdByTag = 1; +} + +message MessageDeliveryStatusStore { + map messageDeliveryStatusByMessageId = 1; + map creationDateByMessageId = 2; +} + +message ResendMessageData { + EnvelopePayloadMessage envelopePayloadMessage = 1; + network.identity.NetworkId receiverNetworkId = 2; + security.KeyPair senderKeyPair = 3; + network.identity.NetworkId senderNetworkId = 4; + MessageDeliveryStatus messageDeliveryStatus = 5; + sint64 date = 6; +} + +message ResendMessageStore { + map resendMessageDataByMessageId = 1; + map numResendsByMessageId = 2; +} + +message PeerGroupStore { + repeated Peer persistedPeers = 1; +} + + +//////////////////////////////////////////////////////////////////// +// Report +//////////////////////////////////////////////////////////////////// + +message Report { + map authorizedDataPerClassName = 1; + map authenticatedDataPerClassName = 2; + map mailboxDataPerClassName = 3; + sint32 numConnections = 4; + sint32 memoryUsed = 5; + sint32 numThreads = 6; + double nodeLoad = 7; +} +message ReportRequest { + string requestId = 1; +} +message ReportResponse { + string requestId = 1; + Report report = 2; +} + \ No newline at end of file diff --git a/pocs/android_only_m2_j17jars/app/src/main/proto/network_identity.proto b/pocs/android_only_m2_j17jars/app/src/main/proto/network_identity.proto new file mode 100644 index 00000000..96179bbf --- /dev/null +++ b/pocs/android_only_m2_j17jars/app/src/main/proto/network_identity.proto @@ -0,0 +1,11 @@ +syntax = "proto3"; +package network.identity; +option java_package = "bisq.mobile.network.identity.protobuf"; +option java_multiple_files = true; +import "common.proto"; +import "security.proto"; + +message NetworkId { + common.AddressByTransportTypeMap addressByNetworkTypeMap = 1; + security.PubKey pubKey = 2; +} \ No newline at end of file diff --git a/pocs/android_only_m2_j17jars/app/src/main/proto/offer.proto b/pocs/android_only_m2_j17jars/app/src/main/proto/offer.proto new file mode 100644 index 00000000..c690d008 --- /dev/null +++ b/pocs/android_only_m2_j17jars/app/src/main/proto/offer.proto @@ -0,0 +1,156 @@ +syntax = "proto3"; +package offer; +option java_package = "bisq.mobile.offer.protobuf"; +option java_multiple_files = true; +import "common.proto"; +import "network_identity.proto"; +import "security.proto"; +import "account.proto"; + +enum Direction { + DIRECTION_UNSPECIFIED = 0; + DIRECTION_BUY = 1; + DIRECTION_SELL = 2; +} + +// AmountSpec +message BaseSideFixedAmountSpec { +} +message QuoteSideFixedAmountSpec { +} +message BaseSideRangeAmountSpec { +} +message QuoteSideRangeAmountSpec { +} +message FixedAmountSpec { + sint64 amount = 1; + oneof message { + BaseSideFixedAmountSpec baseSideFixedAmountSpec = 10; + QuoteSideFixedAmountSpec quoteSideFixedAmountSpec = 11; + } +} +message RangeAmountSpec { + sint64 minAmount = 1; + sint64 maxAmount = 2; + oneof message { + BaseSideRangeAmountSpec baseSideRangeAmountSpec = 10; + QuoteSideRangeAmountSpec quoteSideRangeAmountSpec = 11; + } +} +message AmountSpec { + oneof message { + FixedAmountSpec fixedAmountSpec = 1; + RangeAmountSpec rangeAmountSpec = 2; + } +} + +// PriceSpec +message FixPrice { + common.PriceQuote priceQuote = 1; +} +message FloatPrice { + double percentage = 1; +} +message MarketPrice { +} +message PriceSpec { + oneof message { + FixPrice fixPrice = 1; + FloatPrice floatPrice = 2; + MarketPrice marketPrice = 3; + } +} + +message FiatPaymentMethodSpec { +} + +message BitcoinPaymentMethodSpec { +} + +message PaymentMethodSpec { + account.PaymentMethod paymentMethod = 1; + optional string saltedMakerAccountId = 2; + oneof message { + BitcoinPaymentMethodSpec bitcoinPaymentMethodSpec = 10; + FiatPaymentMethodSpec fiatPaymentMethodSpec = 11; + } +} + +// options +message ReputationOption { + uint64 requiredTotalReputationScore = 1 [deprecated = true]; // Not used anymore since 2.1.1 +} +message TradeTermsOption { + string makersTradeTerms = 1; +} + +message CollateralOption { + sint64 buyerSecurityDeposit = 1; + sint64 sellerSecurityDeposit = 2; +} + +message FeeOption { + enum FeeType { + FEETYPE_UNSPECIFIED = 0; + FEETYPE_BTC = 1; + FEETYPE_BSQ = 2; + } + FeeType feeType = 10; + sint32 blockHeightAtFeePayment = 11; + string feeTxId = 12; +} + +message FiatPaymentOption { + string countyCodeOfBank = 1; + string bankName = 2; +} + +message OfferOption { + oneof message { + TradeTermsOption tradeTermsOption = 1; + ReputationOption reputationOption = 2; + CollateralOption collateralOption = 4; + FiatPaymentOption fiatPaymentOption = 5; + FeeOption feeOption = 6; + } +} + +// Offer +message Offer { + string id = 1; + sint64 date = 2; + network.identity.NetworkId makerNetworkId = 3; + common.Market market = 4; + Direction direction = 5; + AmountSpec amountSpec = 6; + PriceSpec priceSpec = 7; + repeated account.TradeProtocolType protocolTypes = 8; + repeated PaymentMethodSpec baseSidePaymentSpecs = 9; + repeated PaymentMethodSpec quoteSidePaymentSpecs = 10; + repeated OfferOption offerOptions = 11; + oneof message { + BisqEasyOffer bisqEasyOffer = 30; + BisqMuSigOffer bisqMuSigOffer = 31; + SubmarineOffer submarineOffer = 32; + } +} + +message OfferMessage { + Offer offer = 1; +} + +// BisqEasy +message BisqEasyOffer { + repeated string supportedLanguageCodes = 1; +} + +// BisqMuSig +message BisqMuSigOffer { +} +message MyBisqMuSigOffersStore { + repeated Offer offers = 1; +} + +// Submarine +message SubmarineOffer { +} diff --git a/pocs/android_only_m2_j17jars/app/src/main/proto/persistence.proto b/pocs/android_only_m2_j17jars/app/src/main/proto/persistence.proto new file mode 100644 index 00000000..13de61bb --- /dev/null +++ b/pocs/android_only_m2_j17jars/app/src/main/proto/persistence.proto @@ -0,0 +1,27 @@ +/* + * This file is part of Bisq. + * + * Bisq is free software: you can redistribute it and/or modify it + * under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or (at + * your option) any later version. + * + * Bisq is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public + * License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with Bisq. If not, see . + */ + +syntax = "proto3"; + +package persistence; +option java_package = "bisq.mobile.persistence.protobuf"; +option java_multiple_files = true; +import "google/protobuf/any.proto"; + +message PersistableStore { + google.protobuf.Any any = 1; +} diff --git a/pocs/android_only_m2_j17jars/app/src/main/proto/presentation.proto b/pocs/android_only_m2_j17jars/app/src/main/proto/presentation.proto new file mode 100644 index 00000000..d717dc54 --- /dev/null +++ b/pocs/android_only_m2_j17jars/app/src/main/proto/presentation.proto @@ -0,0 +1,22 @@ +/* + * This file is part of Bisq. + * + * Bisq is free software: you can redistribute it and/or modify it + * under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or (at + * your option) any later version. + * + * Bisq is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public + * License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with Bisq. If not, see . + */ + +syntax = "proto3"; + +package presentation; +option java_package = "bisq.mobile.presentation.protobuf"; +option java_multiple_files = true; diff --git a/pocs/android_only_m2_j17jars/app/src/main/proto/security.proto b/pocs/android_only_m2_j17jars/app/src/main/proto/security.proto new file mode 100644 index 00000000..942be0d4 --- /dev/null +++ b/pocs/android_only_m2_j17jars/app/src/main/proto/security.proto @@ -0,0 +1,82 @@ +/* + * This file is part of Bisq. + * + * Bisq is free software: you can redistribute it and/or modify it + * under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or (at + * your option) any later version. + * + * Bisq is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public + * License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with Bisq. If not, see . + */ + +syntax = "proto3"; + +package security; +option java_package = "bisq.mobile.security.protobuf"; +option java_multiple_files = true; + +message PubKey { + bytes publicKey = 1; + string keyId = 2; +} + +message ConfidentialData { + bytes senderPublicKey = 1; + bytes iv = 2; + bytes cipherText = 3; + bytes signature = 4; +} + +message EncryptedData { + bytes iv = 1; + bytes cipherText = 2; +} + +// Protobuf wrapper for java.security.KeyPair used by other modules +message KeyPair { + bytes privateKey = 1; + bytes publicKey = 2; +} +message TorKeyPair { + bytes privateKey = 1; + bytes publicKey = 2; + string onionAddress = 3; +} +message I2PKeyPair { + bytes privateKey = 1; + bytes publicKey = 2; + string destination = 3; +} +message KeyBundle { + string keyId = 1; + KeyPair keyPair = 2; + TorKeyPair torKeyPair = 3; + /*I2PKeyPair i2PKeyPair = 4;*/ +} +message KeyBundleStore { + string secretUid = 1; + map keyBundleById = 2; +} + +message ProofOfWork { + bytes payload = 1; + sint64 counter = 2; + optional bytes challenge = 3; + double difficulty = 4; + bytes solution = 5; + sint64 duration = 6; +} + +message ScryptParameters { + bytes salt = 1; + sint32 cost = 2; + sint32 blockSize = 3; + sint32 parallelization = 4; + sint32 keyLength = 5; +} diff --git a/pocs/android_only_m2_j17jars/app/src/main/proto/settings.proto b/pocs/android_only_m2_j17jars/app/src/main/proto/settings.proto new file mode 100644 index 00000000..e145e81e --- /dev/null +++ b/pocs/android_only_m2_j17jars/app/src/main/proto/settings.proto @@ -0,0 +1,67 @@ +/* + * This file is part of Bisq. + * + * Bisq is free software: you can redistribute it and/or modify it + * under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or (at + * your option) any later version. + * + * Bisq is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public + * License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with Bisq. If not, see . + */ + +syntax = "proto3"; + +package settings; +option java_package = "bisq.mobile.settings.protobuf"; +option java_multiple_files = true; +import "common.proto"; + +message CookieMapEntry { + string key = 1; + string value = 2; + optional string subKey = 3; +} +message Cookie { + repeated CookieMapEntry cookieMapEntries = 1; +} + +enum ChatNotificationType { + CHATNOTIFICATIONTYPE_UNSPECIFIED = 0; + CHATNOTIFICATIONTYPE_ALL = 1; + CHATNOTIFICATIONTYPE_MENTION = 2; + CHATNOTIFICATIONTYPE_OFF = 3; +} + +message SettingsStore { + Cookie cookie = 1; + map dontShowAgainMap = 2; + bool useAnimations = 3; + common.Market selectedMarket = 4; + sint64 minRequiredReputationScore = 5 [deprecated = true]; // Not used anymore since 2.1.1 + bool offersOnly = 6; + bool tradeRulesConfirmed = 7; + ChatNotificationType chatNotificationType = 8; + bool isTacAccepted = 9; + repeated string consumedAlertIds = 10; + bool closeMyOfferWhenTaken = 11; + string languageCode = 12; + bool preventStandbyMode = 13; + repeated string supportedLanguageCodes = 14; + double difficultyAdjustmentFactor = 15; + bool ignoreDiffAdjustmentFromSecManager = 16; + repeated common.Market favouriteMarkets = 17; + bool ignoreMinRequiredReputationScoreFromSecManager = 18 [deprecated = true]; // Not used anymore since 2.1.1 + double maxTradePriceDeviation = 19; + bool showBuyOffers = 20; + bool showOfferListExpanded = 21; + bool showMarketSelectionListCollapsed = 22; + string backupLocation = 23; + bool showMyOffersOnly = 24; + double totalMaxBackupSizeInMB = 25; +} diff --git a/pocs/android_only_m2_j17jars/app/src/main/proto/support.proto b/pocs/android_only_m2_j17jars/app/src/main/proto/support.proto new file mode 100644 index 00000000..dc63831a --- /dev/null +++ b/pocs/android_only_m2_j17jars/app/src/main/proto/support.proto @@ -0,0 +1,40 @@ +syntax = "proto3"; +package support; +option java_package = "bisq.mobile.support.protobuf"; +option java_multiple_files = true; +import "user.proto"; +import "chat.proto"; +import "offer.proto"; +import "contract.proto"; +import "network.proto"; + +message MediationRequest { + string tradeId = 1; + contract.Contract contract = 2; + user.UserProfile requester = 3; + user.UserProfile peer = 4; + repeated chat.ChatMessage chatMessages = 5; +} +message MediatorsResponse { + string tradeId = 1; +} + +message MediationCase { + MediationRequest mediationRequest = 1; + sint64 requestDate = 2; + bool isClosed = 3; +} +message MediatorStore { + repeated MediationCase mediationCases = 1; +} + +message ReportToModeratorMessage { + sint64 date = 1; + string reporterUserProfileId = 2; + user.UserProfile accusedUserProfile = 3; + string message = 4; + chat.ChatChannelDomain chatChannelDomain = 5; +} +message ModeratorStore { + repeated ReportToModeratorMessage reportToModeratorMessages = 1; +} diff --git a/pocs/android_only_m2_j17jars/app/src/main/proto/trade.proto b/pocs/android_only_m2_j17jars/app/src/main/proto/trade.proto new file mode 100644 index 00000000..8468605c --- /dev/null +++ b/pocs/android_only_m2_j17jars/app/src/main/proto/trade.proto @@ -0,0 +1,166 @@ +/* + * This file is part of Bisq. + * + * Bisq is free software: you can redistribute it and/or modify it + * under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or (at + * your option) any later version. + * + * Bisq is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public + * License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with Bisq. If not, see . + */ + +syntax = "proto3"; + +package trade; +option java_package = "bisq.mobile.trade.protobuf"; +option java_multiple_files = true; + +import "offer.proto"; +import "network_identity.proto"; +import "contract.proto"; +import "identity.proto"; + +message TradeParty { + network.identity.NetworkId networkId = 1; + optional contract.ContractSignatureData contractSignatureData = 2; + oneof message { + BisqEasyTradeParty bisqEasyTradeParty = 20; + BisqMuSigTradeParty bisqMuSigTradeParty = 21; + SubmarineTradeParty submarineTradeParty = 22; + } +} + +enum TradeRole{ + TRADEROLE_UNSPECIFIED = 0; + TRADEROLE_BUYER_AS_TAKER = 1; + TRADEROLE_BUYER_AS_MAKER = 2; + TRADEROLE_SELLER_AS_TAKER = 3; + TRADEROLE_SELLER_AS_MAKER = 4; +} +message Trade { + string state = 1; + string id = 2; + TradeRole tradeRole = 3; + identity.Identity myIdentity = 4; + optional contract.Contract contract = 5; + TradeParty taker = 6; + TradeParty maker = 7; + optional string errorMessage = 8; + optional string errorStackTrace = 9; + optional string peersErrorMessage = 10; + optional string peersErrorStackTrace = 11; + + oneof message { + BisqEasyTrade bisqEasyTrade = 30; + BisqMuSigTrade bisqMuSigTrade = 31; + SubmarineTrade submarineTrade = 32; + } +} +message TradeMessage { + string id = 1; + string tradeId = 2; + string protocolVersion = 3; + network.identity.NetworkId sender = 4; + network.identity.NetworkId receiver = 5; + oneof message { + BisqEasyTradeMessage bisqEasyTradeMessage = 20; + SubmarineTradeMessage submarineTradeMessage = 21; + BisqMuSigTradeMessage bisqMuSigTradeMessage = 23; + } +} + +// BisqEasy +message BisqEasyTradeParty { +} + +message BisqEasyTrade { + optional string paymentAccountData = 1; + optional string bitcoinPaymentData = 2; + optional string paymentProof = 3; + optional contract.Role interruptTradeInitiator = 4; +} + +message BisqEasyTradeStore { + repeated Trade trades = 1; + repeated string tradeIds = 2; +} + +// BisqEasy messages +message BisqEasyTradeMessage { + oneof message { + BisqEasyTakeOfferRequest bisqEasyTakeOfferRequest = 20; + BisqEasyTakeOfferResponse bisqEasyTakeOfferResponse = 21; + BisqEasyAccountDataMessage bisqEasyAccountDataMessage = 22; + BisqEasyConfirmFiatSentMessage bisqEasyConfirmFiatSentMessage = 23; + BisqEasyBtcAddressMessage bisqEasyBtcAddressMessage = 24; + BisqEasyConfirmFiatReceiptMessage bisqEasyConfirmFiatReceiptMessage = 25; + BisqEasyConfirmBtcSentMessage bisqEasyConfirmBtcSentMessage = 26; + BisqEasyRejectTradeMessage bisqEasyRejectTradeMessage = 27; + BisqEasyCancelTradeMessage bisqEasyCancelTradeMessage = 28; + BisqEasyReportErrorMessage bisqEasyReportErrorMessage = 29; + } +} +message BisqEasyTakeOfferRequest { + contract.Contract bisqEasyContract = 1; + contract.ContractSignatureData contractSignatureData = 2; +} +message BisqEasyTakeOfferResponse { + contract.ContractSignatureData contractSignatureData = 1; +} +message BisqEasyAccountDataMessage { + string paymentAccountData = 1; + offer.Offer bisqEasyOffer = 2; +} +message BisqEasyConfirmFiatSentMessage { +} +message BisqEasyBtcAddressMessage { + string bitcoinPaymentData = 1; + offer.Offer bisqEasyOffer = 2; +} +message BisqEasyConfirmFiatReceiptMessage { +} +message BisqEasyConfirmBtcSentMessage { + optional string paymentProof = 1; +} +message BisqEasyRejectTradeMessage { +} +message BisqEasyCancelTradeMessage { +} +message BisqEasyReportErrorMessage { + string errorMessage = 1; + string stackTrace = 2; +} + + +// BisqMuSig +message BisqMuSigTradeMessage{ +} +message BisqMuSigTradeParty { +} + +message BisqMuSigTrade { +} + +message BisqMuSigTradeStore { + map tradeById = 1; +} + + +// Submarine +message SubmarineTradeMessage { +} +message SubmarineTradeParty { +} + +message SubmarineTrade { +} + +message SubmarineTradeStore { + map tradeById = 1; +} diff --git a/pocs/android_only_m2_j17jars/app/src/main/proto/user.proto b/pocs/android_only_m2_j17jars/app/src/main/proto/user.proto new file mode 100644 index 00000000..6b57032d --- /dev/null +++ b/pocs/android_only_m2_j17jars/app/src/main/proto/user.proto @@ -0,0 +1,160 @@ +/* + * This file is part of Bisq. + * + * Bisq is free software: you can redistribute it and/or modify it + * under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or (at + * your option) any later version. + * + * Bisq is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public + * License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with Bisq. If not, see . + */ + +syntax = "proto3"; + +package user; +option java_package = "bisq.mobile.user.protobuf"; +option java_multiple_files = true; +import "network_identity.proto"; +import "security.proto"; +import "identity.proto"; + +message UserProfile { + string nickName = 1; + network.identity.NetworkId networkId = 2; + security.ProofOfWork proofOfWork = 3; + string terms = 4; + string statement = 5; + sint32 avatarVersion = 6; + sint32 version = 7; + string applicationVersion = 8; +} + +message UserIdentity { + identity.Identity identity = 1; + UserProfile userProfile = 2; +} + +// Stores +message UserIdentityStore { + repeated UserIdentity userIdentities = 1; + optional string selectedUserIdentityId = 2; + optional security.EncryptedData encryptedData = 3; + optional security.ScryptParameters scryptParameters = 4; + sint64 lastUserProfilePublishingDate = 5 [deprecated = true]; // Not used anymore in v2.1.0 +} + +message NymList { + repeated string nyms = 1; +} + +message UserProfileStore { + map nymListByNickName = 1; + repeated string ignoredUserProfileIds = 2; + map userProfileById = 3; +} + +message ProofOfBurnProof { + string txId = 1; + sint64 burntAmount = 2; + sint64 date = 3; +} +message BondedRoleProof { + string txId = 1; + string signature = 2; +} +message InvitationProof { + string invitationCode = 1; +} + +message AccountAgeStore { + repeated string jsonRequests = 1; + sint64 lastRequested = 2; +} + +message SignedWitnessStore { + repeated string jsonRequests = 1; + sint64 lastRequested = 2; +} + +message ProfileAgeStore { + repeated string profileIds = 1; + sint64 lastRequested = 2; +} + +message AuthorizeAccountAgeRequest { + string profileId = 1; + string hashAsHex = 2; + sint64 date = 3; + string pubKeyBase64 = 4; + string signatureBase64 = 5; +} + +message AuthorizeSignedWitnessRequest { + string profileId = 1; + string hashAsHex = 2; + sint64 accountAgeWitnessDate = 3; + sint64 witnessSignDate = 4; + string pubKeyBase64 = 5; + string signatureBase64 = 6; +} + +message AuthorizeTimestampRequest { + string profileId = 1; +} + +message AuthorizedProofOfBurnData { + sint64 amount = 1; + sint64 blockTime = 2; + bytes hash = 3; + bool staticPublicKeysProvided = 4; + sint32 version = 5; + sint32 blockHeight = 6; + string txId = 7; +} + +message AuthorizedBondedReputationData { + sint64 amount = 1; + sint64 blockTime = 2; + bytes hash = 3; + sint64 lockTime = 4; + bool staticPublicKeysProvided = 5; + sint32 version = 6; + sint32 blockHeight = 7; + string txId = 8; +} + +message AuthorizedAccountAgeData { + string profileId = 1; + sint64 date = 2; + bool staticPublicKeysProvided = 3; + sint32 version = 4; +} + +message AuthorizedSignedWitnessData { + string profileId = 1; + sint64 witnessSignDate = 2; + bool staticPublicKeysProvided = 3; + sint32 version = 4; +} + +message AuthorizedTimestampData { + string profileId = 1; + sint64 date = 2; + bool staticPublicKeysProvided = 3; + sint32 version = 4; +} + +message BannedUserProfileData { + UserProfile userProfile = 1; + bool staticPublicKeysProvided = 2; + sint32 version = 3; +} +message BannedUserStore { + repeated BannedUserProfileData bannedUserProfileDataSet = 1; +} diff --git a/pocs/android_only_m2_j17jars/app/src/main/resources/academy.properties b/pocs/android_only_m2_j17jars/app/src/main/resources/academy.properties new file mode 100644 index 00000000..a93e89da --- /dev/null +++ b/pocs/android_only_m2_j17jars/app/src/main/resources/academy.properties @@ -0,0 +1,388 @@ +###################################################### +## Academy (Learn section) +###################################################### + +academy.overview=Overview + +academy.overview.subHeadline=Hitchhiker's Guide to the Cryptoverse +academy.overview.content=Bisq and Bitcoin community members provide content for learning about the Bitcoin space and \ + help you to filter the signal from the noise. +academy.overview.selectButton=Learn more + +academy.overview.bisq=Bisq +academy.overview.bisq.content=Learn about Bisq, the Bisq DAO. And find out why Bisq is important \ + for your security, privacy and for keeping Bitcoin aligned to it's core values. +academy.overview.bitcoin=Bitcoin +academy.overview.bitcoin.content=Get a deep dive into Satoshi's rabbit hole. Learn about the concepts behind the \ + blockchain, mining and what makes Bitcoin unique. +academy.overview.security=Security +academy.overview.security.content=Learn about security concepts related to handling your Bitcoin funds. Make sure you understand the best practices for keeping your Bitcoin safe. +academy.overview.privacy=Privacy +academy.overview.privacy.content=Why is privacy important? What are the risks when companies collect your data? \ + Why is privacy a requirement for a liberal society and for security? +academy.overview.wallets=Wallets +academy.overview.wallets.content=You want to find out which wallet is best to your needs? Read here about the best \ + options for wallets. +academy.overview.foss=Open source +academy.overview.foss.content=Bisq is free and open source software (FOSS) based on the GPL license. Why is FOSS important? Interested to contribute? + + +###################################################### +## Bisq +###################################################### + +academy.bisq.subHeadline=Bisq is free and open source software for exchanging Bitcoin with fiat currencies or other cryptocurrencies in a decentralized and trust-minimized way. +academy.bisq.exchangeDecentralizedHeadline=Exchange, decentralized +academy.bisq.exchangeDecentralizedContent=Bisq is an exchange application where you can buy and sell Bitcoin for \ + national currencies or other cryptocurrencies. Unlike most exchange alternatives, Bisq is both decentralized and \ + peer-to-peer.\n\nIt is decentralized because it does not depend nor is it controlled by any single company, team or \ + government. Decentralization makes Bisq a resilient network: just like Bitcoin, it exists because of users like you. \ + Since there is no single element on which everything relies, it is significantly hard for anybody to stop or hurt \ + the network. It is peer-to-peer because each trade you perform is matched with another user just like you. This \ + helps you protect your privacy from centralized elements like governments and traditional financial institutions. It \ + also makes Bisq permissionless: you don't need anybody's authorization to use it, and nobody can stop you from doing \ + it.\n\nCurrently, two applications exist: Bisq 1 and Bisq 2. Bisq 2 is the application where you are reading this. \ + We recommend you to get acquainted with Bisq 2 before you try to learn more about Bisq 1. +academy.bisq.whyBisqHeadline=Why Bisq +academy.bisq.whyBisqContent=For many users, Bisq is the preferred method to buy or sell Bitcoin in exchange for national\ + \ currencies. This is because Bisq's nature results in a completely different experience to that of Centralized \ + Exchanges.\n\nUsers also value the privacy-respecting nature of Bisq. You don't need to provide any kind of \ + personal information to use Bisq. Whenever you trade, you only need to share your payment details with your trade\ + \ partner. Nobody else has access to this data, and there is no central database where all of your information and \ + transactions will end up stored for years or decades.\n\nBisq also allows users to overcome any lack of permissions\ + \ that can be imposed arbitrarily by their local governments or financial institutions. Examples of this can be\ + \ governments that declare Bitcoin possession or trading illegal, or banks that forbid customers from sending their\ + \ own money to exchange institutions. Users in these situations find in Bisq a way to work around them being\ + \ excluded from the traditional financial system for any kind of reason.\n\nFinally, Bisq is a safe way to exchange\ + \ Bitcoin and national currencies. The existing trade protocols and reputation systems prevent bad actors from\ + \ stealing your funds. Mediators are always available to support you if another peer is not behaving properly and\ + \ will step in if necessary to work out a solution for your case. The result: Bisq users can happily trade with\ + \ others without having to worry about being scammed and losing their funds. +academy.bisq.tradeSafelyHeadline=Trade safely +academy.bisq.tradeSafelyContent=Exchanging your Bitcoin and national currencies with other peers comes with great \ + benefits like not depending on companies or protecting your privacy. But you might be wondering: how can I know if \ + the peer I'm trading with is honest? Won't I get scammed? Those are valid concerns that you should always keep in \ + mind and that Bisq addresses in several ways to allow safe trading.\n\nThe different trade protocols (you can think\ + \ of a protocol as the rules you and your peer will have to follow) minimize the risk of any actor scamming their peer\ + \ during a trade. There is usually a trade-off between security and convenience: some protocols are more robust,\ + \ others are more convenient and fast. It is up to you to decide which protocol to use on each trade, depending on\ + \ your preferences and needs, as well as the traded amount. Protocols like Bisq Easy are recommended for small sums\ + \ of money, while more robust and structured protocols like Bisq MuSig are advisable for larger amounts.\n\nIf\ + \ your trade ends up in a conflict with your trade peer, or the peer simply disappears and becomes unresponsive, you\ + \ will not be left alone. Mediators and arbitrators are always available to advice and provide solutions in these\ + \ situations. These roles will observe each case, propose friendly solutions between the traders, and potentially\ + \ make final decisions if no agreements are reached. If you have acted honestly and followed the rules, the outcomes\ + \ will be in your favor and you will never lose your funds.\n\nIn summary, Bisq is designed to minimize the need for \ + trusting other peers and to discourage scamming and other bad behaviors. This translates in very few trades having \ + any kind of conflict, and those which do will always be solved in a reasonable way through mediation and/or \ + arbitration. The result: trading in Bisq is a safe and smooth experience. + + +###################################################### +## Bitcoin +###################################################### + +academy.bitcoin.subHeadline=A peer-to-peer electronic cash that allows online payments to be sent directly without intermediaries. +academy.bitcoin.whatIsBitcoinHeadline=What is Bitcoin +academy.bitcoin.whatIsBitcoinContent=Bitcoin is the largest and most popular cryptocurrency in the world. It is a \ + digital form of cash that allows anybody to send value to other people without the need for intermediaries. It \ + started out in 2009 and has grown massively since then, gaining adoption throughout the world because of its unique \ + and appealing properties.\n\nBitcoin differs from all national currencies in several aspects. Bitcoin is not \ + controlled or issued by any government or institution. It is decentralized, and it exists only because of the \ + thousands of people across the world who use it. This makes it neutral money, where nobody is in a privileged \ + position that allows abuse. This also means that you are free to use Bitcoin without requiring any kind of \ + permission, and nobody in the system has more power than you. It's an open system that welcomes everyone. Another \ + important property is that you can hold Bitcoin in self-custody. In other words, you can own it yourself without \ + depending on any other company or entity. Comparing it to traditional currencies, it's more similar to cash in your \ + pocket (which you completely control) than to a balance in a bank account (where you are subject to the bank's \ + conditions and wishes). Because of this, you are also always free to send Bitcoin: you don't need anybody's approval \ + to do so, and your transactions can't be stopped or reversed. A third interesting aspect is that Bitcoin's supply is \ + limited to a maximum of 21 million. This means that the value of each bitcoin, unlike the value of each dollar for \ + example, can't be debased by creating more of it. Bitcoin is created through a costly process called mining, and \ + both the emission schedule and maximum amount that can be created are strictly defined and can't be modified. This \ + makes the supply limited, certain and predictable, making Bitcoin attractive due to its scarcity and robustness. +academy.bitcoin.whyUseBitcoinHeadline=Why use Bitcoin +academy.bitcoin.whyUseBitcoinContent=Bitcoin's properties make it a unique asset that attracts different people for \ + different reasons. How Bitcoin appeals to you depends on your profile and needs.\n\nOne of the most common reasons \ + for people to use Bitcoin is its capacity to protect value over time. The national currencies of most countries in \ + the world lose value continuously over time due to currency debasement. This means that by holding your savings in \ + cash or in a bank account, you are gradually losing them because their value goes down over time. Bitcoin's limited \ + supply prevents this from happening, so even if it behaves in a volatile way in the short term, it is a powerful \ + tool to preserve your wealth in the long term.\n\nAnother reason for individuals to use Bitcoin is to protect \ + themselves from the actions and decisions of governments and financial institutions. Since Bitcoin is something you \ + can own, send, and receive in a permission-less way, the value stored in it is not affected by situations like a \ + central bank printing more units of its national currency, a bank deciding to block your transfers for arbitrary \ + reasons, or a government imposing confiscations on its population. With Bitcoin, the rules of the game are \ + well-known and predictable, and you can count on the network being fair and treating everyone equally.\n\nBitcoin \ + is also very attractive for those who engage in international trade and seek to send or receive money to other \ + countries or regions. Bitcoin has no concept of borders and works the same whether you send some to your neighbor or \ + to someone on the other side of the world. Since making payments to people or companies in different regions of the \ + world usually means long waiting times, significant fees, and cumbersome red tape, some people chose Bitcoin as a \ + simple and convenient alternative for their cross-region payments. It also means that you can use it to send money \ + to countries that your government or bank have decided to block.\n\nFinally, some people chose Bitcoin for its \ + simplicity and convenience. Bitcoin presents many advantages in this sense with respect to traditional currencies. \ + With it, you don't need to deal with contracts and long bureaucratic processes to do simple things like opening an \ + account. You can easily access your money on all your devices. You can send it anywhere and to anyone without the \ + need for different forms of payment (cash, bank transfers of different sorts, credit cards, etc.). You can easily \ + protect and secure your funds with the right knowledge, and you will enjoy not having to worry about someone \ + stealing your wallet or credit card details.\n\nBitcoin is a huge and innovative step forward in the world of money \ + and payments. There is almost certainly some reason for which Bitcoin can be attractive and useful for your needs, \ + so we encourage you to learn more and to become familiar with it. + + +###################################################### +## Security +###################################################### + +academy.security.subHeadline=Ensuring you, and only you, always have access to your funds +academy.security.introContent=Because Bitcoin is quite different from national currencies in the way it works, the \ + precautions you need to take are also quite different from what you are probably used to. This is also a highly \ + important topic because, while Bitcoin provides you with a lot of power and freedom, it also makes you responsible \ + for taking care of your funds. Therefore, you should invest some time and effort to learn how to do so securely.\ + \n\nWhile security is a complex topic, we can boil things down to three main goals: to ensure that other people never\ + \ have access to your private keys, to ensure that you always have access to your private keys, and to avoid \ + accidentally sending your bitcoin away to scammers and other untrusted peers. +academy.security.securingYourKeysHeadline=Securing your keys +academy.security.securingYourKeysContent=First of all, you must understand one simple idea: not your keys, not your \ + coins. This means that, in order for you to truly own your Bitcoin, it should be stored in a wallet where you, and \ + only you, own the keys. Thus, holding a Bitcoin balance in entities such as banks or centralized exchanges is not \ + truly owning the asset since it's those entities, and not you, who hold the keys to your funds. If you truly \ + want to own your bitcoin, you must store it in a wallet for which only you control the keys.\n\nThere are many \ + Bitcoin wallets out there, each with its own unique design and features. What they all have in common is that, \ + somehow, somewhere, they will store your private keys. These keys provide access to your funds. Whatever wallet you \ + use, you must make sure that only you, or people you fully trust, have access to these keys. If anyone else has \ + access to them, they will be able to steal your funds from you, and nothing can be done to reverse this transaction. \ + On the other hand, losing the keys yourself is equally terrible. If you lose your keys, you will not be able to send \ + your funds anymore, and there is no way to take back control of them. While this might sound daunting, you can \ + easily avoid these situations with a bit of learning and good practices.\n\nMost bitcoin wallets will provide you \ + with a 12 or 24 words long backup, commonly known as the mnemonic phrase or simply the seedphrase. This backup \ + phrase allows you to restore your wallet on any device, making it the most important element for you to secure. It \ + is generally advised to store these backups in analogical form, typically by writing them on a piece of paper or on a \ + small metal sheet, and to have multiple copies of them. You should also store it so that you can find it if you need \ + it, but no one else can access it.\n\nFor significant amounts of Bitcoin, it's usual to employ specialized devices \ + called Hardware Wallets to store your keys. These devices offer a superior level of security with respect to storing \ + your keys in a smartphone or laptop wallet, while providing a convenient experience when it comes to making \ + transactions. You can learn more about these and other types of wallets in the Wallets section of Bisq Learn.\ + \n\nFinally, make sure to avoid overly complicated storage schemes. An advanced storage plan with many details and \ + subtleties will keep thieves away from your funds, but there is also a significant chance that you might not be able \ + to access your own wallet due to mistakes, confusion, or simply forgetting how you organized the backups. Aim for a \ + balance between a set-up that is too simple and anybody could easily break (like storing your seedphrase in a plain \ + text file on your laptop's desktop) and one that is so complex that not even you can crack (like storing the words \ + of your seedphrase across 12 books in 12 different locations). +academy.security.avoidScamsHeadline=Avoid scams +academy.security.avoidScamsContent=Another source of problems and risks are scams. Bitcoin's transactions are \ + irreversible, which means that if someone tricks you into sending them some Bitcoin and then runs away with it, \ + there isn't really much that you can do about it. Because of this, it is common to encounter different schemes where \ + people will try to convince you to send some bitcoin to them. Most of the time, scammers will present you with some \ + wonderful "opportunity" for you to earn money easily, which tends to sound too good to be true. The specific stories \ + and details surrounding these scams are extremely diverse and creative, but the common pattern will always look the \ + same: you will be offered some wonderful returns, but first, you will have to send bitcoin in advance. Once the \ + bitcoin is sent, you will probably never see it come back to you. Defending yourself against these scams is simple: \ + interact only with reputable and trusted companies and people. If you feel some entity is sketchy, ask for \ + references or simply steer away from it. If you are offered an opportunity that feels almost too good to be true, it \ + probably is, and you should stay away from it. + + +###################################################### +## Privacy +###################################################### + +academy.privacy.subHeadline=Your data is yours. Keep it that way. +academy.privacy.introContent=Keeping your financial information and identity private is a common need among Bitcoin \ + users. It is natural and logical to not want other people to know about your funds and transactions without your \ + consent. After all, you wouldn't wear a t-shirt with your bank account balance and credit card reports while you \ + walked down the street, would you? Privacy is an important topic in Bitcoin because the transparent nature of \ + Bitcoin transactions and addresses makes mistakes in this area especially costly. In this section, we cover some \ + points on privacy in your Bitcoin journey. +academy.privacy.whyPrivacyHeadline=Why privacy is relevant +academy.privacy.whyPrivacyContent=Many users value the freedom that Bitcoin provides them to own their property and \ + transact freely and without permission with others. But without good privacy practices, these features of Bitcoin \ + get seriously eroded. Disclosing information about yourself and your Bitcoin funds will put you at risk of several \ + kinds of attacks from others that will restrict your own freedom. Reflecting on what data you are sharing and being \ + mindful of this will prevent you from making costly mistakes that you might regret down the line.\n\nThe first \ + obvious issue with revealing your identity and details about your funds is personal safety. If someone knows details \ + such as how much bitcoin you hold, where you live, and what kind of wallet you are using, they could easily plot a \ + physical attack against you in order to get hold of your keys. This is especially tempting in comparison with \ + national currency bank accounts, since Bitcoin transactions are irreversible. Thus, if a thief manages to force you \ + to send your bitcoin to an address of their own, or just steals your wallet keys and does so himself, there will be no \ + way to cancel that transaction and your bitcoin won't be yours anymore. Keeping your identity and financial details \ + private prevents you from becoming a target of this kind of attack.\n\nAnother good reason to keep your details \ + private is the danger posed by hostile government regulations and actions. Governments throughout the world have \ + repeatedly taken actions against their citizens' private property in various ways. A great example of this is \ + Executive Order 6102, which made it illegal for US citizens to hold gold and caused a unilateral confiscation of \ + gold for millions of US citizens. Just like with regular thieves, ensuring that government entities and personnel \ + hold no information about you and your funds protects you in case the government starts a negative policy against \ + owners of Bitcoin.\n\nOverall, you probably just don't want others to know how much Bitcoin you hold or what \ + transactions you perform. Just like we protect our bank accounts with various methods so that only we can check our \ + balances and movements, it makes sense to ensure others don't have the ability to view the transactions and their \ + details, such as when, how much, or with whom we transact. +academy.privacy.giveUpPrivacyHeadline=How we give up our privacy +academy.privacy.giveUpPrivacyContent=There are many ways in which one can voluntarily or accidentally disclose \ + personal details. Most times, these are easy to prevent with a bit of common sense, since we frequently just give \ + our details away by not being thoughtful about it. Some more subtle leaks will require some technical knowledge and \ + time. But the good news is that, with minimal effort, the most significant issues can be avoided.\n\nThe clear \ + champion of privacy mistakes, both because of how frequent and how terrible it is, is simply providing your ID \ + voluntarily when buying or selling Bitcoin. Nowadays, most centralized exchanges (companies like Coinbase, Kraken, \ + Binance, etc.) are subject to government KYC regulations (KYC stands for Know Your Customer). This means that \ + governments force these companies to ask for your passport, national identity card, driver's license, or similar \ + documents so that this information can be associated with your account. From the moment you give these away, every \ + purchase and sale you make will be recorded and linked to you. Furthermore, the exchange and government agencies \ + will have full visibility of your balances at any time. Even if you decide to take your Bitcoin out of these \ + exchanges and into a wallet you custody yourself, these parties will be able to track which addresses your funds \ + were sent to. And if this is not worrisome enough, there is another concern to keep in mind: if any hacker gains \ + access to the databases of these companies, your information could be leaked publicly to the internet, enabling \ + anyone in the world to know all your stored personal and financial information. This is a situation that has \ + happened many times in the past few years, with terrible consequences for some of the affected customers of the \ + exchanges.\n\nAnother area where attention must be paid is address re-use. Every time you provide someone with an \ + address of your wallet in order to receive some bitcoin from them, this person learns that this address belongs to \ + you. This means that, from this point on, the person could monitor the address and all its activity. If you reuse \ + this address repeatedly, every person you interact with will be able to see the different transactions going through \ + the address, including when they happen, where the funds are coming from and going to, and the amounts being \ + transacted. Hence, it is recommended to only use addresses to receive bitcoin once. Most wallets will take care of \ + this automatically for you, but it's still important for you to understand why this is a good practice.\n\nFinally, \ + relying on other people's nodes to read blockchain data means that the node runner could potentially monitor what \ + addresses your wallet is interested in. When handling significant amounts of Bitcoin, it pays off to learn how to \ + run your own node and connect your wallet to it. Or, at least, be mindful about which node you are connecting to and \ + choose one from a person or organization you trust, such as a friend who is more experienced in Bitcoin or a local \ + Bitcoin community. +academy.privacy.bisqProtectsPrivacyHeadline=Bisq helps protect your privacy +academy.privacy.bisqProtectsPrivacyContent=Bisq allows you to buy and sell Bitcoin from other peers. This simple \ + difference comes with a world of advantages regarding privacy when compared to using centralized exchanges. By using \ + Bisq, you protect your safety and privacy from governments, companies, and other hostile third parties that would \ + otherwise record and use your data against your own interests.\n\nWhen you transact in Bisq, only your peer and you \ + know the details of the transaction. And even between both of you, the information that needs to be shared is \ + completely minimized and restricted to the strictly necessary payment details, like, for example, your bank account \ + number if you want to receive a fiat payment in your bank account. This means there is no need to provide \ + information like your ID, address, etc. Furthermore, the ability to interact with different peers on every trade \ + prevents any single individual from accumulating data about you over time, thus distributing your transaction \ + history across different counterparties and preventing any single entity from holding a complete view of your \ + financial life. Bisq also allows you to receive any bitcoin you purchase directly into an address of a wallet you \ + control, enabling you to keep control of your funds at all times, and to distribute them across different addresses \ + so that no single peer can monitor your entire wallet.\n\nAnd remember: Bisq is just a piece of software that runs \ + in your computer, and only connects to the internet through privacy friendly networks like Tor and I2P. You don't \ + even need to sign up anywhere in a pseudonymous way. Because of this, nobody can even know that you are using Bisq, \ + and your communication with other participants can't be monitored, tracked or accessed by third parties. + + +###################################################### +## Wallets +###################################################### + +academy.wallets.subHeadline=Picking the right tools to handle and secure your bitcoin. +academy.wallets.whatIsAWalletHeadline=What is a wallet +academy.wallets.whatIsAWalletContent=Wallets are your tool to perform the most fundamental actions in Bitcoin: \ + receiving it, storing it and sending it. Since Bitcoin is an open system, anyone can build a wallet for it, and many \ + different ones exist. This is great because it means you have plenty of different options in the market from which \ + to choose, and you can even use multiple different wallets to cover different needs.\n\nGenerally, a wallet is a \ + piece of software that does several things for you: it reads the blockchain to check the balance of the addresses \ + you control. It can build and send transactions when you want to pay someone else. And it holds your keys so that \ + you can sign your transactions. Some of these features look different in different wallets, and some wallets only \ + cover parts of them. To understand this better, it's useful to be familiar with the different characteristics that \ + make wallets different from each other.\n\nFirst, you should understand the difference between a hot wallet and a \ + cold wallet. A hot wallet is a software wallet where the keys that control your bitcoin are stored on an \ + internet-connected device. A cold wallet, on the other hand, is a setup where your keys are stored on a device that \ + is never connected to the internet, and you use a different software to track your balance and prepare and send \ + transactions. Hot wallets are typically a simple app on your phone or laptop. A cold wallet, on the other hand, \ + means you use a software in your phone or laptop that does not hold your keys, and you combine that with a second \ + device that holds the keys and never connects to the internet. This second device could be a dedicated laptop or \ + smartphone, or more commonly, a hardware wallet. Hot wallets are simpler to manage and use, but they are also less \ + secure. Cold wallets require a slightly more complex and cumbersome setup, but offer a much higher degree of safety \ + against hacks and mistakes when handling keys. How to handle the risks of managing your funds is a personal \ + decision, but it is generally recommended to use hot wallets like your traditional wallet for bills and coins in \ + your pocket, and cold wallets like a safe box in a bank. You wouldn't carry a million dollars in your wallet. And \ + you wouldn't use the contents of your safe box to pay for a coffee.\n\nHardware wallets are special physical devices \ + that are designed and manufactured with the sole purpose of storing the keys to your funds and signing transactions \ + with those keys. They offer a convenient way to sign transactions to spend your funds, while storing your keys in a \ + safe way that prevents leaking them to others. Using a hardware wallet improves your safety by orders of magnitude \ + in comparison to using a hot wallet on your main computer or smartphone. If you are getting started on your Bitcoin \ + journey, you don't need to have a wallet since day one, but you probably want to obtain one once you start \ + accumulating an amount of bitcoin that would hurt to lose. There are many hardware wallets on the market, with \ + typical prices being around $100.\n\nAnd a final note: a balance in a centralized exchange is not a wallet. Since \ + you don't control the keys, you are relying on and trusting the centralized exchange to actually hold your bitcoin. \ + If, for any reason, they do not send it to you when you decide to withdraw, there is no way for you to get hold of \ + it. Remember: not your keys, not your coins. +academy.wallets.howToPickHeadline=How to pick a wallet +academy.wallets.howToPickContent=Choosing the right wallet for you is a decision that depends on many factors, such as \ + how you are going to use Bitcoin, what amounts you will be handling, or what devices you own. Nevertheless, there \ + are a few general recommendations that you can follow and specific wallets that have a good track record.\n\nThe \ + first and most important general advice is to pick an open source wallet. Ensuring your wallet's code is verifiable \ + is paramount. You can learn more about this in the Open Source section of Bisq Learn. Another important \ + recommendation is to pick a wallet that doesn't support other cryptocurrencies besides Bitcoin. Wallets that handle \ + multiple cryptocurrencies need to use more complex code to work with the different supported currencies, which \ + introduces bigger security risks. Hence, it is better to choose a Bitcoin-only wallet for your funds. Finally, try \ + to look for wallets that have been around for a while, have strong user bases and have a good reputation. It is best \ + to leave brand-new wallets for advanced usage or experiments at most.\n\nIf you plan on using your wallet on your \ + smartphone, we advise looking into one of the following wallets: Bluewallet, Blockstream Green or Nunchuk. On the \ + other hand, if you want to use a PC, we would suggest using one of the following: Sparrow, Bluewallet, Electrum, \ + Blockstream Green or Nunchuk. These are all good wallets for beginners. You can try several of them to find which \ + one suits you better, or even use multiple ones simultaneously if you want to. As you acquire more experience and \ + knowledge, you might start developing preferences depending on the more advanced features that make these wallets a \ + bit different from each other.\n\nOnce you have enough funds to start taking security even more seriously, it will \ + probably make sense to acquire a hardware wallet. With a hardware wallet, you will be able to store your keys in it \ + and sign transactions with it, while you can still use a software like Sparrow, Bluewallet or Nunchuk to read your \ + balances and prepare transactions. When it comes to hardware wallets, most of the same advice applies: pick wallets \ + that have transparent and public designs, that only support Bitcoin and that have a good reputation and track \ + record. Some well-known brands are Coldcard, Bitbox, Trezor or Foundation.\n\nThe world of wallets is rich and \ + diverse, which is both great and confusing. It's perfectly fine to be a bit overwhelmed at first. If you are just \ + starting out, we would advise researching a bit, trying on some of the options we have shared with you, and, once \ + you find one with which you feel comfortable, stick to it. As you keep learning more about Bitcoin, you can always \ + explore new and more advanced options and switch to any other wallet, or use multiple of them, whenever you like. + + +###################################################### +## Free Open Source Software +###################################################### + +academy.foss.subHeadline=Learn about open code and how it powers Bitcoin and Bisq +academy.foss.bitcoinAndFossHeadline=Bitcoin and open source software +academy.foss.bitcoinAndFossContent=Open source software is software for which the code is publicly accessible and \ + anyone can read, copy and modify that code in any way they see fit. This is in contrast with closed-source or \ + proprietary software, where the original author decides to keep the code to himself and no one else has access or \ + permission to it. Even though this might feel like a technical topic, it is in your interest to understand the \ + implications of open source software on your Bitcoin journey. Let's dive into it.\n\nThe world of Bitcoin is deeply \ + influenced by and related to open source software. The Bitcoin software itself has been open source since day one. \ + Bisq is also an open source project. Many other surrounding technologies, like Lightning clients, mixing services or \ + mining firmware, are typically built as open source projects. Many wallets are also open source, and as we discuss \ + in the Wallets section of Bisq Learn, we heavily recommend that you pick wallets that are open source.\n\nWhy is \ + this so? Closed source software is usually built and kept private by companies and individuals that want to charge \ + others for licenses and keep full control of the project. In the Bitcoin space, this is rarely the case. Bitcoin is \ + an open and welcoming system by nature, and the code is a representation of this. Anyone can see the code, modify \ + it, share copies of their own version with others, and, put simply, do as he pleases with it. Bisq is also an open \ + source project where everyone is welcome to participate, expand the application, and make improvements in different \ + ways. +academy.foss.openSourceBenefitsHeadline=How open source benefits you +academy.foss.openSourceBenefitsContent=You might think that, since you are not a software developer, whether the code \ + of some software is public or not has little relevance to you. This is not the case at all. Even if you don't plan \ + to look at or modify the code of the apps you are using, your experience with them will be deeply affected by \ + whether the code is open or closed source. This is even more critical when we are talking about the software that \ + will run your financial life and support your ability to save, receive and send money. Generally, using open source \ + software will be more beneficial to you than using closed source equivalents. Let's break down a few important \ + reasons that make this important to you.\n\nA highly important reason to choose open source software is security. \ + Since open source software can be read by anyone, hackers and malicious actors regularly try to find errors and \ + security holes in it. You might think that this is dangerous, but it is actually the other way around! This is \ + because the fact that the code is open to everyone means that anyone can look for security issues and either point \ + to them, fix them themselves or exploit them maliciously. Collectively, the community of users and developers around \ + the project will be able to spot and fix most errors quickly, often even before they are released. And if someone \ + uses this error in a malicious way to exploit the software, it won't be long until it gets noticed and solutions are \ + applied. On closed source software, only the small, paid team behind the project is reviewing the code, which \ + translates into a much higher chance of errors going unnoticed. More eyes, fewer bugs. And companies also have an \ + incentive to not disclose the fact that their closed source products have security issues, which leads to many bugs \ + and hacks being kept secret instead of disclosed. Finally, since in closed source projects only the developing team \ + can see the code, how can you or anyone else be fully confident that the software is safe? This links with one \ + common saying in the Bitcoin culture: don't trust, verify. Overall, open source software leads to much more secure \ + and robust results than closed source software.\n\nAnother great reason to choose open source software over closed \ + source is the long term continuity of the former. Code that is public does not depend on any single entity or \ + individual to be maintained over time. Even if the original team behind a project eventually disappears, others can \ + take over and continue maintaining and evolving it. The greatest example of this is Bitcoin itself: even though its \ + pseudonymous creator, Satoshi Nakamoto, disappeared more than ten years ago, the project has kept growing and \ + thriving beyond all expectations. Thus, every time you choose open source software over closed source, you are \ + dramatically reducing the chances that some company or developer will leave you stranded with some unmaintained \ + software that fades and becomes outdated.\n\nFinally, open source projects with widespread usage, like Bitcoin, Bisq \ + or wallets such as Electrum, tend to lead to high-quality products by attracting the best talent. The open nature of \ + the projects allows anyone to collaborate, and many great developers in the space would rather collaborate by \ + building on top of a good project than start a duplicate effort from scratch. Over time, the cumulative \ + contributions of these individuals lead to impressive results that frequently eclipse what most companies, even \ + well-funded ones, could ever achieve.\n\nSumming up, choosing open source options for your Bitcoin tooling comes \ + with a great set of advantages that help you enjoy safe and useful products of high quality. We hope that you become \ + curious about the nature of the code that you use in your daily life and that you make informed choices over the \ + software you run. \ No newline at end of file diff --git a/pocs/android_only_m2_j17jars/app/src/main/resources/academy_cs.properties b/pocs/android_only_m2_j17jars/app/src/main/resources/academy_cs.properties new file mode 100644 index 00000000..bbf73c59 --- /dev/null +++ b/pocs/android_only_m2_j17jars/app/src/main/resources/academy_cs.properties @@ -0,0 +1,94 @@ +###################################################### +## Academy (Learn section) +###################################################### + +academy.overview=Přehled + +academy.overview.subHeadline=Průvodce Galaxií Kryptoměn +academy.overview.content=Členové komunity Bisq a Bitcoin poskytují obsah pro vzdělávání o prostoru Bitcoinu a pomáhají vám filtrovat signál od šumu. +academy.overview.selectButton=Dozvědět se více + +academy.overview.bisq=Bisq +academy.overview.bisq.content=Dozvědět se o Bisq, DAO Bisq. A zjistěte, proč je Bisq důležitý pro vaši bezpečnost, soukromí a pro udržení Bitcoinu v souladu s jeho základními hodnotami. +academy.overview.bitcoin=Bitcoin +academy.overview.bitcoin.content=Ponořte se do králičí nory Satoshiho. Zjistěte více o konceptech za blockchainem, těžbě a o tom, co dělá Bitcoin jedinečným. +academy.overview.security=Bezpečnost +academy.overview.security.content=Zjistěte více o bezpečnostních konceptech souvisejících s manipulací s vašimi Bitcoinovými fondy. Ujistěte se, že rozumíte nejlepším postupům pro zabezpečení vašich Bitcoinů. +academy.overview.privacy=Soukromí +academy.overview.privacy.content=Proč je soukromí důležité? Jaká jsou rizika, když společnosti shromažďují vaše údaje? Proč je soukromí požadavkem pro liberální společnost a pro bezpečnost? +academy.overview.wallets=Peněženky +academy.overview.wallets.content=Chcete zjistit, která peněženka nejlépe vyhovuje vašim potřebám? Zde se dočtete o nejlepších možnostech peněženek. +academy.overview.foss=Open source +academy.overview.foss.content=Bisq je svobodný a otevřený software (FOSS) založený na licenci GPL. Proč je FOSS důležitý? Máte zájem přispět? + + +###################################################### +## Bisq +###################################################### + +academy.bisq.subHeadline=Bisq je svobodný a otevřený software pro výměnu Bitcoinu s fiat měnami nebo jinými kryptoměnami decentralizovaným a důvěryhodným způsobem. +academy.bisq.exchangeDecentralizedHeadline=Výměna, decentralizovaná +academy.bisq.exchangeDecentralizedContent=Bisq je výměnná aplikace, kde můžete kupovat a prodávat Bitcoin za národní měny nebo jiné kryptoměny. Na rozdíl od většiny alternativ k burzám je Bisq decentralizovaný a peer-to-peer.\n\nJe decentralizovaný, protože není závislý ani řízen žádnou jednotlivou společností, týmem nebo vládou. Decentralizace dělá z Bisq odolnou síť: stejně jako Bitcoin existuje díky uživatelům jako jste vy. Protože neexistuje jediný prvek, na kterém by vše záviselo, je velmi obtížné pro kohokoli síť zastavit nebo ji poškodit. Je peer-to-peer, protože každý váš obchod je spárován s jiným uživatelem jako jste vy. To vám pomáhá chránit vaše soukromí před centralizovanými prvky, jako jsou vlády a tradiční finanční instituce. Je také bez povolení: nepotřebujete svolení nikoho k jeho použití a nikdo vás nemůže zastavit, abyste to nedělali.\n\nV současné době existují dvě aplikace: Bisq 1 a Bisq 2. Bisq 2 je aplikace, ve které toto čtete. Doporučujeme se seznámit s Bisq 2, než se pokusíte dozvědět více o Bisq 1. +academy.bisq.whyBisqHeadline=Proč Bisq +academy.bisq.whyBisqContent=Pro mnoho uživatelů je Bisq preferovanou metodou k nákupu nebo prodeji Bitcoinu výměnou za národní měny. To je proto, že povaha Bisq vede k úplně jinému zážitku než u centralizovaných burz.\n\nUživatelé také oceňují povahu Bisq, která respektuje soukromí. K použití Bisq nepotřebujete poskytovat žádné osobní informace. Při obchodování potřebujete sdílet pouze vaše platební údaje s obchodním partnerem. Nikdo jiný k těmto údajům nemá přístup a neexistuje centrální databáze, kde by vaše informace a transakce byly uloženy po mnoho let nebo desetiletí.\n\nBisq také umožňuje uživatelům překonat jakýkoli nedostatek povolení\, který může být svévolně uvalen místními vládami nebo finančními institucemi. Příkladem toho mohou být vlády, které prohlašují držení nebo obchodování s Bitcoinem za nelegální, nebo banky, které zakazují zákazníkům posílat své vlastní peníze na burzy. Uživatelé v těchto situacích nacházejí v Bisq způsob, jak obejít vyloučení z tradičního finančního systému z jakéhokoli důvodu.\n\nA konečně, Bisq je bezpečný způsob, jak vyměňovat Bitcoin a národní měny. Stávající obchodní protokoly a systémy reputace brání špatným aktérům v krádeži vašich peněz. Mediátoři jsou vždy k dispozici, aby vám pomohli, pokud se druhá strana nechová správně a zasáhnou, pokud je to nutné, aby našli řešení pro váš případ. Výsledek: Uživatelé Bisq mohou obchodovat s ostatními bez obav, že budou podvedeni a ztratí své peníze. +academy.bisq.tradeSafelyHeadline=Obchodujte bezpečně +academy.bisq.tradeSafelyContent=Výměna vašich Bitcoinů a národních měn s jinými uživateli přináší velké výhody, jako je nezávislost na společnostech nebo ochrana vaší soukromí. Ale možná se ptáte: jak mohu vědět, jestli je uživatel, se kterým obchoduji, poctivý? Nebudu podveden? Tyto obavy jsou oprávněné a měli byste je vždy mít na paměti, což Bisq řeší několika způsoby, aby umožnil bezpečné obchodování.\n\nRůzné obchodní protokoly (můžete si představit protokol jako pravidla, která musíte a váš protějšek dodržovat) minimalizují riziko, že by někdo při obchodu podvedl svého protějška. Obvykle existuje kompromis mezi bezpečností a pohodlím: některé protokoly jsou robustnější, jiné jsou pohodlnější a rychlejší. Je na vás, abyste se rozhodli, který protokol použít pro každý obchod, v závislosti na vašich preferencích a potřebách, stejně jako na obchodované částce. Protokoly jako Bisq Easy jsou doporučovány pro malé částky peněz, zatímco robustnější a strukturované protokoly jako Bisq MuSig jsou vhodné pro větší částky.\n\nPokud váš obchod skončí v konfliktu s vaším obchodním protějškem nebo se protějšek jednoduše ztratí a přestane reagovat, nezůstanete sami. Mediátoři a arbitři jsou vždy k dispozici, aby poskytli rady a řešení v těchto situacích. Tyto role budou sledovat každý případ, navrhovat přátelská řešení mezi obchodníky a případně činit konečná rozhodnutí, pokud nedojde k dohodě. Pokud jste jednali poctivě a dodržovali pravidla, výsledky budou ve vaší prospěch a nikdy neztratíte své prostředky.\n\nShrnutí: Bisq je navržen tak, aby minimalizoval potřebu důvěřovat ostatním uživatelům a odrazoval od podvodu a dalších špatných chování. To se projevuje v tom, že velmi málo obchodů vyvolává jakýkoli konflikt, a ty, které vyvolají, budou vždy rozřešeny rozumným způsobem prostřednictvím mediace a/nebo arbitráže. Výsledek: obchodování na Bisq je bezpečný a plynulý zážitek. + + +###################################################### +## Bitcoin +###################################################### + +academy.bitcoin.subHeadline=Peer-to-peer elektronická hotovost, která umožňuje online platby přímo bez zprostředkovatelů. +academy.bitcoin.whatIsBitcoinHeadline=Co je Bitcoin +academy.bitcoin.whatIsBitcoinContent=Bitcoin je největší a nejpopulárnější kryptoměna na světě. Je to digitální forma hotovosti, která umožňuje každému posílat hodnotu jiným lidem bez potřeby zprostředkovatelů. Začal v roce 2009 a od té doby enormně rostl, získával celosvětové přijetí díky svým jedinečným a atraktivním vlastnostem.\n\nBitcoin se liší od všech národních měn v několika aspektech. Bitcoin není kontrolován ani vydáván žádnou vládou nebo institucí. Je decentralizovaný a existuje pouze díky tisícům lidí po celém světě, kteří jej používají. To z něj dělá neutrální peníze, kde nikdo není v privilegované pozici, která by umožňovala zneužívání. To také znamená, že můžete používat Bitcoin bez jakéhokoli povolení a nikdo v systému nemá větší moc než vy. Je to otevřený systém, který vítá každého. Další důležitou vlastností je, že můžete držet Bitcoin ve vlastním držení. Jinými slovy, můžete jej vlastnit sami bez závislosti na jakékoli jiné společnosti nebo entitě. Ve srovnání s tradičními měnami je to více podobné hotovosti v kapse (kterou zcela ovládáte) než zůstatku na bankovním účtu (kde jste podmíněni podmínkami a přáním banky). Díky tomu jste také vždy volní posílat Bitcoin: nepotřebujete souhlas nikoho k tomu a vaše transakce nemohou být zastaveny ani vráceny. Třetím zajímavým aspektem je, že dodávka Bitcoinu je omezena na maximálně 21 milionů. To znamená, že hodnota každého bitcoinu, na rozdíl od hodnoty každého dolaru například, nemůže být snížena vytvářením více z nich. Bitcoin je vytvářen nákladným procesem zvaným těžba, a jak harmonogram emisí, tak maximální množství, které lze vytvořit, jsou striktně definovány a nemohou být upraveny. To činí dodávku omezenou, jistou a předvídatelnou, což dělá Bitcoin atraktivní kvůli jeho vzácnosti a robustnosti. +academy.bitcoin.whyUseBitcoinHeadline=Proč používat Bitcoin +academy.bitcoin.whyUseBitcoinContent=Vlastnosti Bitcoinu z něj dělají unikátní aktivum, které přitahuje různé lidi z různých důvodů. Jak vás Bitcoin osloví, závisí na vašem profilu a potřebách.\n\nJedním z nejčastějších důvodů pro použití Bitcoinu je jeho schopnost chránit hodnotu v čase. Národní měny většiny zemí světa ztrácejí hodnotu kontinuálně v čase kvůli znehodnocování měny. To znamená, že držením vašich úspor v hotovosti nebo na bankovním účtu je postupně ztrácíte, protože jejich hodnota klesá v čase. Omezená nabídka Bitcoinu tomu brání, takže i když se v krátkodobém horizontu chová volatilně, je to silný nástroj k zachování vašeho bohatství v dlouhodobém horizontu.\n\nDalším důvodem pro jednotlivce k použití Bitcoinu je ochrana před akcemi a rozhodnutími vlád a finančních institucí. Jelikož Bitcoin je něco, co můžete vlastnit, posílat a přijímat bez povolení, hodnota uložená v něm není ovlivněna situacemi jako je tisk více jednotek národní měny centrální bankou, rozhodnutím banky blokovat vaše převody z libovolných důvodů, nebo vládou uvalující konfiskace na své obyvatelstvo. S Bitcoinem jsou pravidla hry známá a předvídatelná a můžete se spolehnout na to, že síť je spravedlivá a zachází se všemi stejně.\n\nBitcoin je také velmi atraktivní pro ty, kteří se podílejí na mezinárodním obchodu a chtějí posílat nebo přijímat peníze do jiných zemí nebo regionů. Bitcoin nemá pojem o hranicích a funguje stejně, ať už posíláte někomu ve vašem sousedství nebo někomu na druhé straně světa. Jelikož znamená platby lidem nebo společnostem v různých regionech světa obvykle dlouhé čekací doby, významné poplatky a zdlouhavou byrokracii, někteří lidé si vybrali Bitcoin jako jednoduchou a pohodlnou alternativu pro své mezinárodní platby. To také znamená, že jej můžete použít k posílání peněz do zemí, které vaše vláda nebo banka rozhodla zablokovat.\n\nNakonec si někteří lidé vybrali Bitcoin pro jeho jednoduchost a pohodlí. Bitcoin představuje v tomto smyslu mnoho výhod oproti tradičním měnám. S ním nepotřebujete uzavírat smlouvy a procházet dlouhými byrokratickými procesy pro jednoduché věci, jako je otevření účtu. Můžete snadno přistupovat ke svým penězům na všech vašich zařízeních. Můžete je posílat kamkoliv a komukoliv bez potřeby různých platebních metod (hotovost, různé druhy bankovních převodů, kreditní karty atd.). Snadno můžete chránit a zabezpečit své peníze s odpovídajícími znalostmi a budete si užívat, že se nemusíte starat o to, že někdo ukradne vaši peněženku nebo údaje o kreditní kartě.\n\nBitcoin je obrovský a inovativní krok vpřed ve světě peněz a plateb. Téměř jistě existuje nějaký důvod, proč může být Bitcoin pro vás atraktivní a užitečný, proto vás povzbuzujeme se dozvědět více a seznámit se s ním. + + +###################################################### +## Security +###################################################### + +academy.security.subHeadline=Zajištění, aby jste vy, a pouze vy, měli vždy přístup k vašim finančním prostředkům +academy.security.introContent=Protože Bitcoin funguje odlišně od národních měn, opatření, která musíte přijmout, jsou také značně odlišná od toho, na co jste pravděpodobně zvyklí. Je to také vysoce důležité téma, protože, zatímco Bitcoin vám poskytuje hodně moci a svobody, také vás činí zodpovědnými za péči o vaše finanční prostředky. Proto byste měli investovat nějaký čas a úsilí do toho, abyste se naučili, jak to dělat bezpečně.\n\nAčkoliv je bezpečnost složité téma, můžeme věci zjednodušit na tři hlavní cíle: zajistit, aby ostatní lidé nikdy neměli přístup k vašim soukromým klíčům, zajistit, abyste měli vždy přístup k vašim soukromým klíčům, a vyhnout se náhodnému odeslání vašich bitcoinů podvodníkům a dalším nedůvěryhodným osobám. +academy.security.securingYourKeysHeadline=Zabezpečení vašich klíčů +academy.security.securingYourKeysContent=Nejprve musíte pochopit jednoduchou myšlenku: ne vaše klíče, ne vaše mince. To znamená, že abyste skutečně vlastnili vaše Bitcoiny, měly by být uloženy v peněžence, kde vy, a pouze vy, vlastníte klíče. Takže držení Bitcoinového zůstatku v entitách jako jsou banky nebo centralizované burzy není skutečným vlastnictvím aktiva, protože to jsou tyto entity, a ne vy, kdo drží klíče k vašim prostředkům. Pokud skutečně chcete vlastnit vaše bitcoiny, musíte je uložit v peněžence, pro kterou kontrolujete pouze vy klíče.\n\nExistuje mnoho Bitcoinových peněženek, každá s vlastním unikátním designem a funkcemi. To, co mají všechny společné, je, že nějakým způsobem, někde, uchovávají vaše soukromé klíče. Tyto klíče poskytují přístup k vašim finančním prostředkům. Ať už používáte jakoukoliv peněženku, musíte zajistit, aby k těmto klíčům měli přístup pouze vy, nebo lidé, kterým plně důvěřujete. Pokud má někdo jiný přístup k nim, bude schopen ukrást vaše prostředky, a nic nelze udělat k vrácení této transakce. Na druhou stranu, ztráta klíčů je stejně hrozná. Pokud ztratíte své klíče, nebudete moci odesílat vaše prostředky, a není možné znovu získat kontrolu nad nimi. Ačkoli to může znít zastrašující, můžete snadno vyhnout se těmto situacím s trochou učení a dobrých praktik.\n\nVětšina bitcoinových peněženek vám poskytne 12 nebo 24 slov dlouhou zálohu, běžně známou jako mnemonická fráze nebo jednoduše seedphrase. Tato záložní fráze vám umožňuje obnovit peněženku na jakémkoliv zařízení, což ji činí nejdůležitějším prvkem pro vaše zabezpečení. Obvykle se doporučuje uchovávat tyto zálohy v analogové formě, typicky psaním na kus papíru nebo na malý kovový plech, a mít několik kopií. Měli byste ji také uložit tak, abyste ji našli, když ji potřebujete, ale nikdo jiný k ní nemá přístup.\n\nPro významné množství Bitcoinů je běžné používat specializovaná zařízení zvaná Hardware Wallets pro ukládání vašich klíčů. Tyto zařízení nabízejí vyšší úroveň zabezpečení ve srovnání s ukládáním vašich klíčů ve smartphone nebo laptop peněžence, zároveň poskytují pohodlný zážitek při provádění transakcí. Více se o těchto a dalších typech peněženek můžete dozvědět v sekci Peněženky Bisq Learn.\n\nNakonec se ujistěte, že se vyhnete příliš složitým schémátům ukládání. Pokročilý plán skladování s mnoha detaily a jemnostmi udrží zloděje daleko od vašich prostředků, ale také existuje významná šance, že nebudete schopni přistupovat k vlastní peněžence kvůli chybám, zmatku nebo jednoduše zapomenutí, jak jste zálohy organizovali. Snažte se najít rovnováhu mezi příliš jednoduchým nastavením, které kdokoli snadno prolomí (jako ukládání vaší seedphrase v prostém textovém souboru na ploše vašeho laptopu) a tak složitým, že ho ani vy sami nemůžete prolomit (jako ukládání slov vaší seedphrase napříč 12 knihami na 12 různých místech). +academy.security.avoidScamsHeadline=Vyhněte se podvodům +academy.security.avoidScamsContent=Dalším zdrojem problémů a rizik jsou podvody. Bitcoinové transakce jsou nevratné, což znamená, že pokud vás někdo přesvědčí, abyste mu poslali nějaký Bitcoin a pak s ním zmizí, ve skutečnosti s tím nelze moc dělat. Kvůli tomu je běžné setkávat se s různými schématy, kde vás lidé budou přesvědčovat, abyste jim poslali nějaký bitcoin. Většinou vám podvodníci představí nějakou úžasnou "příležitost" pro vás k vydělávání peněz snadno, což obvykle zní příliš dobře, aby to byla pravda. Konkrétní příběhy a detaily okolo těchto podvodů jsou nesmírně rozmanité a kreativní, ale společný vzor bude vždy vypadat stejně: bude vám nabídnut nějaký úžasný výnos, ale nejdříve budete muset poslat bitcoin předem. Jakmile bitcoin odešlete, pravděpodobně ho už nikdy neuvidíte vrátit se k vám. Obrana proti těmto podvodům je jednoduchá: interagujte pouze s renomovanými a důvěryhodnými společnostmi a lidmi. Pokud máte pocit, že nějaká entita je pochybná, požádejte o reference nebo se jí jednoduše vyhněte. Pokud vám je nabídnuta příležitost, která zní skoro příliš dobře, aby to byla pravda, pravděpodobně to tak je, a měli byste se jí vyhnout. + + +###################################################### +## Privacy +###################################################### + +academy.privacy.subHeadline=Vaše data jsou vaše. Udržte to tak. +academy.privacy.introContent=Udržování vašich finančních informací a identity v soukromí je běžnou potřebou uživatelů Bitcoinu. Je přirozené a logické nechtít, aby o vašich fondech a transakcích věděli ostatní bez vašeho souhlasu. Přece byste si neoblékli tričko s údaji o zůstatku vašeho bankovního účtu a kreditních kartách, když jdete po ulici, že? Soukromí je důležité téma v Bitcoinu, protože transparentní povaha Bitcoinových transakcí a adres činí chyby v této oblasti zvláště nákladné. V této sekci se zabýváme některými body týkajícími se soukromí na vaší cestě s Bitcoinem. +academy.privacy.whyPrivacyHeadline=Proč je soukromí relevantní +academy.privacy.whyPrivacyContent=Mnoho uživatelů oceňuje svobodu, kterou jim Bitcoin poskytuje při vlastnění jejich majetku a volné transakce bez povolení s ostatními. Ale bez dobrých praktik ochrany soukromí tyto vlastnosti Bitcoinu vážně ustupují. Zveřejnění informací o sobě a vašich Bitcoinech vás vystavuje různým druhům útoků od ostatních, které omezí vaši vlastní svobodu. Zamýšlení se nad tím, jaká data sdílíte, a být si toho vědomi, vám zabrání v tom, abyste činili nákladné chyby, které byste mohli později litovat.\n\nPrvním zjevným problémem s odhalováním své identity a podrobností o vašich prostředcích je osobní bezpečnost. Pokud někdo zná podrobnosti, jako je to, kolik bitcoinů vlastníte, kde bydlíte, a jaký typ peněženky používáte, mohl by snadno plánovat fyzický útok proti vám, aby se dostal ke vašim klíčům. To je zejména lákavé ve srovnání s bankovními účty v národní měně, protože transakce Bitcoinu jsou nevratné. Pokud tedy zloděj dokáže vás donutit, abyste poslali své bitcoiny na svou adresu, nebo prostě ukradne vaše klíče k peněžence a udělá to sám, nebude možné tuto transakci zrušit a vaše bitcoiny už nebudou vaše. Udržování vaší identity a finančních podrobností v soukromí vás chrání před tímto druhem útoku.\n\nDalším dobrým důvodem, proč udržovat své podrobnosti v soukromí, je nebezpečí, které představují nepřátelské vládní předpisy a akce. Vlády po celém světě opakovaně přijímaly opatření proti soukromému majetku svých občanů různými způsoby. Skvělým příkladem je výkonný příkaz 6102, který znemožnil americkým občanům vlastnit zlato a způsobil jednostranné zabavení zlata pro miliony amerických občanů. Stejně jako s běžnými zloději, zajištění toho, aby vládní subjekty a personál neměli žádné informace o vás a vašich prostředcích, vás chrání v případě, že vláda zahájí negativní politiku proti vlastníkům Bitcoinu.\n\nCelkově asi nechcete, aby ostatní věděli, kolik Bitcoinů vlastníte nebo jaké transakce provádíte. Stejně jako chráníme naše bankovní účty různými metodami, aby si je mohli zkontrolovat pouze my, má smysl zajistit, aby ostatní neměli schopnost zobrazit transakce a jejich podrobnosti, jako kdy, kolik a s kým obchodujeme. +academy.privacy.giveUpPrivacyHeadline=Jak se vzdáváme našeho soukromí +academy.privacy.giveUpPrivacyContent=Existuje mnoho způsobů, jakými člověk může dobrovolně nebo náhodou zveřejnit osobní údaje. Většinou jsou snadno předcházet s trochou zdravého rozumu, protože často prostě své údaje rozdáváme tím, že o tom nepřemýšlíme. Některé subtilnější úniky vyžadují určité technické znalosti a čas. Ale dobrá zpráva je, že s minimálním úsilím lze vyhnout se nejvýznamnějším problémům.\n\nNesporným šampionem chyb soukromí, jak kvůli četnosti, tak kvůli závažnosti, je jednoduše dobrovolné poskytnutí vašeho ID při nákupu nebo prodeji Bitcoinu. Dnes většina centralizovaných burz (společnosti jako Coinbase, Kraken, Binance atd.) podléhá vládním regulacím KYC (KYC znamená Know Your Customer). To znamená, že vlády nutí tyto společnosti požadovat váš pas, občanský průkaz, řidičský průkaz nebo podobné dokumenty, aby tyto informace mohly být spojeny s vaším účtem. Od okamžiku, kdy tyto údaje poskytnete, každý nákup a prodej, který provedete, bude zaznamenán a spojen s vámi. Navíc budou burza a vládní agentury mít plnou viditelnost vašich zůstatků kdykoliv. I když se rozhodnete vzít své Bitcoiny z těchto burz a uložit je do peněženky, kterou si sami spravujete, tyto strany budou schopny sledovat, na které adresy byly vaše prostředky odeslány. A pokud to není dost znepokojivé, je tu další obava, na kterou je třeba pamatovat: pokud jakýkoli hacker získá přístup k databázím těchto společností, vaše informace by mohly být veřejně uniklé na internet, což umožňuje komukoliv na světě znát všechny vaše uložené osobní a finanční informace. Toto je situace, která se v posledních letech stala mnohokrát, s hroznými důsledky pro některé postižené zákazníky burz.\n\nDalší oblast, na kterou je třeba dávat pozor, je opakované používání adresy. Pokaždé, když někomu poskytnete adresu vaší peněženky, aby vám poslal nějaké bitcoiny, tato osoba se dozví, že tato adresa patří vám. To znamená, že od tohoto okamžiku by tato osoba mohla sledovat adresu a veškerou její aktivitu. Pokud tuto adresu opakovaně používáte, každá osoba, se kterou interagujete, bude schopna vidět různé transakce, které probíhají přes adresu, včetně toho, kdy se odehrávají, odkud prostředky pocházejí a kam jdou, a transakčních částek. Proto se doporučuje používat adresy k přijímání bitcoinů pouze jednou. Většina peněženek to za vás automaticky zařídí, ale je stále důležité, abyste rozuměli, proč je to dobrá praxe.\n\nNakonec, spoléhání na uzly jiných lidí pro čtení blockchainových dat znamená, že provozovatel uzlu by mohl potenciálně sledovat, které adresy vaše peněženka sleduje. Při manipulaci s významnými částkami Bitcoinu se vyplatí naučit se, jak provozovat vlastní uzel a připojit k němu vaši peněženku. Nebo alespoň myslet na to, ke kterému uzlu se připojujete, a vybrat si jeden od osoby nebo organizace, které důvěřujete, jako je například přítel, který má v Bitcoinu více zkušeností, nebo místní Bitcoinová komunita. +academy.privacy.bisqProtectsPrivacyHeadline=Bisq pomáhá chránit vaše soukromí +academy.privacy.bisqProtectsPrivacyContent=Bisq vám umožňuje kupovat a prodávat Bitcoin od ostatních peerů. Tento jednoduchý rozdíl přináší celý svět výhod ohledně soukromí ve srovnání s používáním centralizovaných burz. Používáním Bisq chráníte svoji bezpečnost a soukromí před vládami, společnostmi a dalšími nepřátelskými třetími stranami, které by jinak zaznamenávaly a používaly vaše data proti vašim vlastním zájmům.\n\nKdyž provádíte transakce v Bisq, pouze váš protějšek a vy znáte detaily transakce. A dokonce i mezi vámi oběma jsou informace, které je třeba sdílet, zcela minimalizovány a omezeny na přísně nezbytné platební údaje, jako je například číslo vašeho bankovního účtu, pokud chcete přijmout fiat platbu na svůj bankovní účet. To znamená, že není třeba poskytovat informace, jako je vaše ID, adresa atd. Navíc schopnost interagovat s různými protějšky při každém obchodě brání jakékoli jednotlivé osobě v čase shromažďovat data o vás, čímž rozptylujete vaši transakční historii mezi různé protistrany a bráníte jakékoli jednotlivé entitě v držení kompletního přehledu o vašem finančním životě. Bisq vám také umožňuje přijímat jakékoliv bitcoiny, které zakoupíte, přímo na adresu peněženky, kterou ovládáte, což vám umožňuje udržovat kontrolu nad svými prostředky kdykoliv a rozptýlit je mezi různé adresy, takže žádný jediný protějšek nemůže sledovat vaši celou peněženku.\n\nA pamatujte si: Bisq je jen kousek software, který běží na vašem počítači, a spojuje se pouze s internetem prostřednictvím přátelských sítí pro soukromí jako Tor a I2P. Dokonce nemusíte nikde registrovat se pseudonymně. Díky tomu nikdo ani neví, že používáte Bisq, a vaše komunikace s ostatními účastníky nemůže být monitorována, sledována nebo přístupná třetím stranám. + + +###################################################### +## Wallets +###################################################### + +academy.wallets.subHeadline=Výběr správných nástrojů k manipulaci a zabezpečení vašich bitcoinů. +academy.wallets.whatIsAWalletHeadline=Co je peněženka +academy.wallets.whatIsAWalletContent=Peněženky jsou vaším nástrojem k provádění nejzákladnějších operací v Bitcoinu: přijímání, uchovávání a odesílání bitcoinů. Protože Bitcoin je otevřený systém, kdokoli může pro něj vytvořit peněženku, a existuje jich mnoho různých. To je skvělé, protože to znamená, že máte na trhu spoustu různých možností, ze kterých můžete vybírat, a dokonce můžete používat různé peněženky pro různé potřeby.\n\nObecně je peněženka kousek software, který pro vás dělá několik věcí: čte blockchain, aby zkontrolovala zůstatek adres, které ovládáte. Dokáže vytvářet a odesílat transakce, když chcete platit někomu jinému. A drží vaše klíče, abyste mohli podepisovat své transakce. Některé z těchto funkcí vypadají v různých peněženkách jinak, a některé peněženky pokrývají jen některé z nich. Pro lepší porozumění je užitečné být obeznámen s různými charakteristikami, které peněženky odlišují od sebe.\n\nNejprve byste měli pochopit rozdíl mezi hot peněženkou a cold peněženkou. Hot peněženka je softwareová peněženka, kde jsou uloženy klíče ovládající vaše bitcoiny, na zařízení připojeném k internetu. Cold peněženka naopak znamená nastavení, kde jsou vaše klíče uloženy na zařízení, které nikdy není připojeno k internetu, a používáte jiný software k sledování svého zůstatku a přípravě a odesílání transakcí. Hot peněženky jsou obvykle jednoduchou aplikací na vašem telefonu nebo laptopu. Cold peněženka naopak znamená použití softwaru na vašem telefonu nebo laptopu, který neuchovává vaše klíče, a spojíte ho s druhým zařízením, které klíče drží a nikdy se nepřipojí k internetu. Toto druhé zařízení může být dedikovaný laptop nebo smartphone, nebo častěji hardware peněženka. Hot peněženky jsou snazší spravovat a používat, ale jsou také méně bezpečné. Cold peněženky vyžadují trochu složitější a neohrabanější nastavení, ale nabízejí mnohem vyšší úroveň bezpečnosti proti hackům a chybám při manipulaci s klíči. Jak se postavit k rizikům spojeným s řízením vašich prostředků, je osobní rozhodnutí, ale obecně se doporučuje používat hot peněženky jako vaší běžné peněženky na bankovky a mince v kapse, a cold peněženky jako trezor v bance. Neměli byste nosit milion dolarů v peněžence. A neměli byste používat obsah své trezorové schránky na zaplacení kávy.\n\nHardware peněženky jsou speciální fyzická zařízení, která jsou navržena a vyráběna výhradně k účelu uchovávání klíčů k vašim prostředkům a k podpisu transakcí s těmito klíči. Nabízejí pohodlný způsob podepisování transakcí pro výdaje vašich prostředků a zároveň uchovávají vaše klíče bezpečným způsobem, který brání jejich úniku k ostatním. Použití hardware peněženky výrazně zvyšuje vaši bezpečnost ve srovnání s použitím hot peněženky na vašem hlavním počítači nebo smartphone. Pokud začínáte na své cestě s Bitcoinem, nebudete muset mít peněženku od prvního dne, ale pravděpodobně si ji chcete pořídit, jakmile začnete hromadit takové množství bitcoinů, které by vás bolelo ztratit. Na trhu je mnoho hardware peněženek, s typickými cenami kolem 100 dolarů.\n\nA nakonec jedna poznámka: zůstatek na centralizované burze není peněženka. Protože neovládáte klíče, spoléháte se na centralizovanou burzu, aby vám bitcoiny skutečně poslala, když se rozhodnete vybrat. Pokud z jakéhokoli důvodu nepošlou bitcoiny, když se rozhodnete vybrat, není způsob, jak byste se k nim mohli dostat. Pamět si: nejsou-li to vaše klíče, nejsou to vaše mince. +academy.wallets.howToPickHeadline=Jak si vybrat peněženku +academy.wallets.howToPickContent=Volba správné peněženky je rozhodnutí, které závisí na mnoha faktorech, jako je způsob, jakým budete Bitcoin používat, částky, které budete manipulovat, nebo zařízení, které vlastníte. Nicméně existují některé obecné doporučení, která můžete dodržovat, a konkrétní peněženky, které mají dobrou historii.\n\nPrvní a nejdůležitější obecná rada je zvolit open-source peněženku. Zajištění, že kód vaší peněženky je ověřitelný, je klíčové. O tomto se můžete dozvědět více v sekci Open Source na Bisq Learn. Další důležité doporučení je vybrat si peněženku, která nepodporuje jiné kryptoměny než Bitcoin. Peněženky, které zpracovávají více kryptoměn, potřebují složitější kód k práci s různými podporovanými měnami, což přináší větší rizika pro bezpečnost. Proto je lepší zvolit peněženku pouze pro Bitcoin. Nakonec zkuste hledat peněženky, které existují již nějakou dobu, mají silnou uživatelskou základnu a dobrou pověst. Je nejlepší nechat zbrusu nové peněženky pro pokročilé použití nebo experimenty nejvýše.\n\nPokud plánujete používat peněženku na svém smartphone, doporučujeme se podívat na jednu z následujících peněženek: Bluewallet, Blockstream Green nebo Nunchuk. Pokud chcete používat PC, doporučujeme použít jednu z následujících: Sparrow, Bluewallet, Electrum, Blockstream Green nebo Nunchuk. To jsou všechno dobré peněženky pro začátečníky. Můžete vyzkoušet několik z nich, abyste zjistili, která vám nejlépe vyhovuje, nebo dokonce používat několik zároveň, pokud budete chtít. Jak budete nabývat více zkušeností a znalostí, můžete začít vyvíjet preference v závislosti na pokročilejších funkcích, které tyto peněženky odlišují od sebe.\n\nJakmile budete mít dostatek prostředků na to, abyste začali brát bezpečnost ještě vážněji, pravděpodobně bude smysl pořídit si hardware peněženku. S hardware peněženkou budete moci uložit své klíče a podepisovat s nimi transakce, zatímco stále můžete používat software jako Sparrow, Bluewallet nebo Nunchuk k čtení svých zůstatků a přípravě transakcí. Pokud jde o hardware peněženky, platí většina stejných rad: vybírejte peněženky s transparentním a veřejným designem, které podporují pouze Bitcoin a mají dobrou pověst a historii. Některé známé značky jsou Coldcard, Bitbox, Trezor nebo Foundation.\n\nSvět peněženek je bohatý a různorodý, což je zároveň skvělé a matoucí. Je naprosto v pořádku být na začátku trochu přesvědčen. Pokud teprve začínáte, doporučujeme provést trochu výzkumu, vyzkoušet některé z možností, které jsme s vámi sdíleli, a až najdete takovou, se kterou se cítíte pohodlně, držte se jí. Jak budete nadále získávat více informací o Bitcoinu, můžete vždy prozkoumat nové a pokročilé možnosti a přepnout se na jinou peněženku nebo používat více z nich, kdykoliv budete chtít. + + +###################################################### +## Free Open Source Software +###################################################### + +academy.foss.subHeadline=Dozvědět se o otevřeném kódu a jeho vlivu na Bitcoin a Bisq +academy.foss.bitcoinAndFossHeadline=Bitcoin a open source software +academy.foss.bitcoinAndFossContent=Open source software (OSS) je software, jehož zdrojový kód je veřejně přístupný a každý ho může číst, kopírovat a libovolně upravovat. To je v protikladu k uzavřenému nebo vlastnickému softwaru, kde původní autor rozhoduje, že si kód ponechá pro sebe a nikdo jiný nemá k němu přístup nebo povolení. I když se to může zdát jako technické téma, je ve vašem zájmu pochopit důsledky open source softwaru na vaši cestu s Bitcoinem. Přejděme k tomu.\n\nSvět Bitcoinu je hluboce ovlivněn a souvisí s open source softwarem. Samotný Bitcoinový software je open source od prvního dne. Bisq je také open source projekt. Mnoho dalších okolních technologií, jako jsou klienti Lightning, služby na míchání nebo firmware pro těžbu, je obvykle vyvíjeno jako open source projekty. Mnoho peněženek je také open source a jak diskutujeme v sekci Peněženky v Bisq Learn, silně doporučujeme, abyste si vybrali peněženky, které jsou open source.\n\nProč je tomu tak? Uzavřený software je obvykle vytvářen a udržován v soukromí společnostmi a jednotlivci, kteří chtějí ostatním účtovat za licence a udržovat plnou kontrolu nad projektem. V prostoru Bitcoinu to zřídka platí. Bitcoin je otevřený a přívětivý systém podle své přirozenosti a kód je jeho reprezentací. Kód může kdokoli vidět, upravovat ho, sdílet kopie své vlastní verze s ostatními a jednoduše s ním dělat, co chce. Bisq je také open source projekt, kde je každý vítán k účasti, rozšíření aplikace a provádění vylepšení různými způsoby. +academy.foss.openSourceBenefitsHeadline=Jak open source prospívá vám +academy.foss.openSourceBenefitsContent=Možná si myslíte, že pokud nejste vývojář software, má to, zda je kód některého software veřejný nebo ne, málo relevance pro vás. To však vůbec není případ. I když nemáte v úmyslu dívat se na kód nebo jej upravovat u aplikací, které používáte, vaše zkušenosti s nimi budou hluboce ovlivněny tím, zda je kód open source nebo uzavřený. To je ještě důležitější, když mluvíme o softwaru, který bude provozovat váš finanční život a podpoří vaši schopnost ukládat, přijímat a posílat peníze. Obecně platí, že používání open source software bude pro vás výhodnější než použití uzavřených ekvivalentů. Rozložme si několik důležitých důvodů, proč je to pro vás důležité.\n\nJedním z velmi důležitých důvodů pro volbu open source softwaru je bezpečnost. Protože open source software může číst kdokoli, hackeři a zlomyslní aktéři pravidelně hledají chyby a bezpečnostní zranitelnosti v něm. Možná si myslíte, že je to nebezpečné, ale je to ve skutečnosti naopak! To je proto, že skutečnost, že kód je otevřený pro všechny, znamená, že kdokoli může hledat bezpečnostní problémy a buď na ně poukázat, opravit je sám nebo je zneužít zlomyslně. Celkově komunita uživatelů a vývojářů kolem projektu bude schopna rychle zjistit a opravit většinu chyb, často dokonce před jejich uvolněním. A pokud někdo využije tuto chybu zlomyslně k zneužití softwaru, nebude to trvat dlouho, než se to zjistí a budou na to aplikovány řešení. U uzavřeného softwaru kontroluje kód pouze malý placený tým za projektem, což znamená mnohem vyšší šanci, že chyby zůstanou nepovšimnuty. Více očí, méně chyb. A společnosti také mají motivaci neposkytovat informace o tom, že jejich uzavřené produkty mají bezpečnostní problémy, což vede k tomu, že mnoho chyb a hacků zůstává tajemstvím místo aby byly zveřejněny. Nakonec, protože v uzavřených projektech může kód vidět pouze vývojový tým, jak můžete být vy nebo kdokoli jiný plně sebejistý, že software je bezpečný? To souvisí s jedním běžným řeknutím v kultuře Bitcoin: nedůvěřujte, ověřujte. Celkově open source software vede k mnohem bezpečnějším a robustnějším výsledkům než uzavřený source software.\n\nDalším výborným důvodem pro volbu open source software před uzavřeným source je dlouhodobá kontinuita prvního. Kód, který je veřejný, nezávisí na žádném jediném subjektu nebo jednotlivci, aby byl udržován v průběhu času. I když původní tým za projektem nakonec zmizí, ostatní mohou převzít a pokračovat v jeho udržování a rozvoji. Největším příkladem je samotný Bitcoin: i když jeho pseudonymní tvůrce, Satoshi Nakamoto, zmizel před více než deseti lety, projekt pokračoval v růstu a rozkvětu nad všechna očekávání. Takže pokaždé, když si vyberete open source software místo uzavřeného source, dramaticky snižujete šance, že vás nějaká společnost nebo vývojář nechá na holičkách s nepodporovaným softwarem, který zanikne a zastará.\n\nNakonec open source projekty s rozsáhlým použitím, jako je Bitcoin, Bisq nebo peněženky jako Electrum, mají tendenci vést k vysokokvalitním produktům tím, že přitahují ty nejlepší talenty. Otevřená povaha projektů umožňuje každému spolupracovat, a mnoho skvělých vývojářů v oboru raději spolupracuje na základě dobrého projektu než začíná duplicity od nuly. V průběhu času kumulativní příspěvky těchto jednotlivců vedou k impozantním výsledkům, které často překonávají to, co by většina firem, dokonce i dobře financovaných, mohla kdy dosáhnout.\n\nCelkově řečeno, volba open source možností pro vaše Bitcoinové nástroje přináší skvělou sadu výhod, které vám pomáhají těšit se z bezpečných a užitečných produktů vysoké kvality. Doufáme, že se stanete zvědavými na povahu kódu, který používáte v každodenním životě, a že si budete volit s informovaností software, který provozujete. diff --git a/pocs/android_only_m2_j17jars/app/src/main/resources/academy_de.properties b/pocs/android_only_m2_j17jars/app/src/main/resources/academy_de.properties new file mode 100644 index 00000000..fd4ef079 --- /dev/null +++ b/pocs/android_only_m2_j17jars/app/src/main/resources/academy_de.properties @@ -0,0 +1,94 @@ +###################################################### +## Academy (Learn section) +###################################################### + +academy.overview=Überblick + +academy.overview.subHeadline=Entdecke das Kryptoversum +academy.overview.content=Bisq- und Bitcoin-Community-Mitglieder stellen Inhalte zur Verfügung, um dein Wissen über Bitcoin zu vertiefen und dir dabei zu helfen, deine eigenen Schlüsse aus den vielen Informationen zu ziehen. +academy.overview.selectButton=Mehr erfahren + +academy.overview.bisq=Bisq +academy.overview.bisq.content=Erfahre mehr über Bisq und die Bisq DAO. Erfahre, warum Bisq wichtig für deine Sicherheit, Privatsphäre und für Bitcoin ist. +academy.overview.bitcoin=Bitcoin +academy.overview.bitcoin.content=Tauche tief in die Welt rund um Satoshi ein. Erfahre mehr über die Konzepte hinter der Blockchain, dem Mining und was Bitcoin so einzigartig macht. +academy.overview.security=Sicherheit +academy.overview.security.content=Erfahre mehr über die Sicherheitskonzepte im Zusammenhang mit der Verwaltung deiner Bitcoin. Stell sicher, dass du die bewährten Verfahren kennst, um deine Bitcoin sicher aufzubewahren. +academy.overview.privacy=Privatsphäre +academy.overview.privacy.content=Warum ist Privatsphäre wichtig? Welche Risiken bestehen, wenn Unternehmen deine Daten sammeln? Warum ist Privatsphäre eine Voraussetzung für eine freie Gesellschaft und für Sicherheit? +academy.overview.wallets=Wallets +academy.overview.wallets.content=Möchtest du herausfinden, welche Geldbörse am besten zu deinen Bedürfnissen passt? Find hier über die besten Arten von Wallets heraus. +academy.overview.foss=Open Source +academy.overview.foss.content=Bisq ist freie und Open-Source-Software (FOSS) basierend auf der GPL-Lizenz. Warum ist FOSS wichtig? Interessiert daran mitzuhelfen? + + +###################################################### +## Bisq +###################################################### + +academy.bisq.subHeadline=Bisq ist eine kostenlose und Open-Source-Software zum Handeln von Bitcoin gegen Fiat-Währungen oder andere Kryptowährungen auf eine dezentrale und vertrauensminimierte Art und Weise. +academy.bisq.exchangeDecentralizedHeadline=Handel, dezentralisiert +academy.bisq.exchangeDecentralizedContent=Bisq ist eine Anwendung, in der du Bitcoin gegen Fiat-Währungen oder andere Kryptowährungen tauschen kannst. Im Gegensatz zu den meisten alternativen Handelsplattformen ist Bisq sowohl dezentralisiert als auch Peer-to-Peer.\n\nEs ist dezentralisiert, weil es nicht von einem einzelnen Unternehmen, Team oder einer Regierung abhängt oder von ihnen kontrolliert wird. Die Dezentralisierung macht Bisq zu einem widerstandsfähigen Netzwerk: Genauso wie Bitcoin existiert es wegen Nutzern wie dir. Da es kein einzelnes Element gibt, auf das das Netzwerk angewiesen ist, ist es sehr schwer das Netzwerk zu stoppen oder zu schädigen. Es ist Peer-to-Peer, weil jeder Trade, den du durchführst, mit einem anderen Benutzer wie dir gemacht wird. Das hilft dir, deine Privatsphäre vor zentralisierten Entitäten wie Regierungen und traditionellen Finanzinstituten zu schützen. Du brauchst für Bisq von niemandem Erlaubnis: Du benötigst keine Autorisierung von irgendjemandem, um es zu nutzen, und niemand kann dich davon abhalten.\n\nDerzeit gibt es zwei Anwendungen: Bisq 1 und Bisq 2. Bisq 2 ist die Anwendung, in der du das liest. Wir empfehlen dir, dich mit Bisq 2 vertraut zu machen, bevor du versuchst, mehr über Bisq 1 zu erfahren. +academy.bisq.whyBisqHeadline=Warum Bisq +academy.bisq.whyBisqContent=Für viele Nutzer ist Bisq die beste Methode, um Bitcoin gegen nationale Währungen zu kaufen oder zu verkaufen. Dies liegt daran, dass die Natur von Bisq zu einem völlig anderen Erlebnis im Vergleich zu zentralisierten Börsen führt.\n\nBenutzer schätzen auch den hohen Grad an Privatsphäre bei der Nutzung von Bisq. Um Bisq zu nutzen, musst du keinerlei persönliche Informationen an eine zentrale Entität geben. Wenn du handelst, musst du nur die Zahlungsdetails mit deinem Handelspartner teilen. Niemand sonst hat Zugriff auf diese Daten, und es gibt keine zentrale Datenbank, in der deine Informationen und Transaktionen für Jahre oder Jahrzehnte gespeichert werden.\n\nBisq ermöglicht es Nutzern auch, eventuelle Einschränkungen zu umgehen, die willkürlich von deinen lokalen Regierungen oder Finanzinstituten auferlegt werden können. Beispiele dafür können Regierungen sein, die den Besitz oder Handel von Bitcoin für illegal erklären, oder Banken, die Kunden verbieten, ihr eigenes Geld an Handelsplattformen zu senden. Benutzer in diesen Situationen finden in Bisq einen Weg, um solche Ausschlüsse aus dem traditionellen Finanzsystem aus irgendeinem Grund zu umgehen.\n\nBisq ist eine sichere Möglichkeit, Bitcoin und nationale Währungen auszutauschen. Die bestehenden Handelsprotokolle und Reputationssysteme verhindern, dass böse Akteure deine Geldmittel stehlen. Mediatoren stehen dir immer zur Seite, wenn ein anderer Peer sich nicht ordnungsgemäß verhält, und werden eingreifen, falls erforderlich, um eine Lösung für deinen Fall zu finden. Das Ergebnis: Bisq-Nutzer können sorgenfrei mit anderen handeln, ohne sich Gedanken machen zu müssen, betrogen zu werden und seine Geldmittel zu verlieren. +academy.bisq.tradeSafelyHeadline=Sicher handeln +academy.bisq.tradeSafelyContent=Der Austausch von Bitcoin und nationalen Währungen mit anderen Nutzern bietet große Vorteile wie Unabhängigkeit von Unternehmen und Schutz Ihrer Privatsphäre. Aber Sie fragen sich vielleicht: Wie kann ich wissen, ob der Peer, mit dem ich handle, ehrlich ist? Werde ich nicht betrogen? Diese Bedenken sind berechtigt und sollten stets im Hinterkopf behalten werden. Bisq begegnet diesen Bedenken auf verschiedene Weise, um sicheres Handeln zu ermöglichen.\n\nDie unterschiedlichen Handelsprotokolle (Sie können sich ein Protokoll als die Regeln vorstellen, die Sie und Ihr Peer befolgen müssen) minimieren das Risiko, dass ein Akteur seinen Peer während eines Handels betrügt. Es gibt in der Regel einen Kompromiss zwischen Sicherheit und Bequemlichkeit: Einige Protokolle sind robuster, andere sind bequemer und schneller. Es liegt an Ihnen, welches Protokoll Sie für jeden Handel wählen, je nach Ihren Vorlieben und Bedürfnissen sowie dem gehandelten Betrag. Protokolle wie Bisq Easy werden für kleine Beträge empfohlen, während robustere und strukturierte Protokolle wie Bisq MuSig für größere Beträge ratsam sind.\n\nWenn Ihr Handel in einen Konflikt mit Ihrem Handelspartner gerät oder der Partner einfach verschwindet und nicht mehr reagiert, werden Sie nicht allein gelassen. Mediatoren und Schlichter stehen immer bereit, um Rat zu geben und Lösungen in solchen Situationen zu bieten. Diese Rollen beobachten jeden Fall, schlagen freundliche Lösungen zwischen den Händlern vor und treffen möglicherweise endgültige Entscheidungen, wenn keine Einigung erzielt wird. Wenn Sie ehrlich gehandelt haben und die Regeln befolgt haben, werden die Ergebnisse zu Ihren Gunsten ausfallen und Sie werden niemals Ihre Mittel verlieren.\n\nZusammenfassend lässt sich sagen, dass Bisq darauf ausgelegt ist, die Notwendigkeit, anderen Peers zu vertrauen, zu minimieren und Betrug sowie andere schlechte Verhaltensweisen abzuschrecken. Dies führt dazu, dass sehr wenige Handelsfälle Konflikte aufweisen, und diejenigen, die dies tun, immer auf vernünftige Weise durch Mediation und/oder Schlichtung gelöst werden. Das Ergebnis: Der Handel auf Bisq ist eine sichere und reibungslose Erfahrung. + + +###################################################### +## Bitcoin +###################################################### + +academy.bitcoin.subHeadline=Ein Peer-to-Peer-Elektronikgeld, das Online-Zahlungen direkt ohne Zwischenhändler ermöglicht. +academy.bitcoin.whatIsBitcoinHeadline=Was ist Bitcoin +academy.bitcoin.whatIsBitcoinContent=Bitcoin ist die größte und beliebteste Kryptowährung der Welt. Es handelt sich um eine digitale Form von Geld, mit der jeder Wert direkt an andere Personen gesendet werden kann, ohne auf Zwischenhändler angewiesen zu sein. Es begann im Jahr 2009 und ist seitdem massiv gewachsen, da es aufgrund seiner einzigartigen und attraktiven Eigenschaften weltweit angenommen wurde.\n\nBitcoin unterscheidet sich in mehreren Aspekten von allen nationalen Währungen. Bitcoin wird weder von einer Regierung noch von einer Institution kontrolliert oder ausgegeben. Es ist dezentralisiert und existiert nur aufgrund der Tausenden von Menschen weltweit, die es nutzen. Dies macht es zu neutralem Geld, bei dem niemand in einer privilegierten Position ist, die Missbrauch ermöglicht. Das bedeutet auch, dass Sie Bitcoin frei verwenden können, ohne irgendwelche Berechtigungen zu benötigen, und niemand im System mehr Macht hat als Sie. Es ist ein offenes System, das jeden willkommen heißt. Eine weitere wichtige Eigenschaft ist, dass Sie Bitcoin in Selbstverwahrung halten können. Mit anderen Worten, Sie können es selbst besitzen, ohne von einem Unternehmen oder einer anderen Einrichtung abhängig zu sein. Im Vergleich zu traditionellen Währungen ähnelt es eher dem Bargeld in Ihrer Tasche (das Sie vollständig kontrollieren) als einem Kontostand auf einem Bankkonto (wo Sie den Bedingungen und Wünschen der Bank unterliegen). Dadurch sind Sie auch immer frei, Bitcoin zu senden: Sie benötigen keine Genehmigung von irgendjemandem, und Ihre Transaktionen können nicht gestoppt oder rückgängig gemacht werden. Ein dritter interessanter Aspekt ist, dass das Angebot an Bitcoin auf maximal 21 Millionen begrenzt ist. Dies bedeutet, dass der Wert eines jeden Bitcoins im Gegensatz zum Wert eines Dollars zum Beispiel nicht durch die Erzeugung von mehr davon entwertet werden kann. Bitcoin wird durch einen aufwendigen Prozess namens Mining erstellt, und sowohl der Emissionsplan als auch die maximale Menge, die erstellt werden kann, sind streng definiert und können nicht geändert werden. Dies begrenzt das Angebot und macht Bitcoin aufgrund seiner Knappheit und Robustheit attraktiv. +academy.bitcoin.whyUseBitcoinHeadline=Wozu Bitcoin verwenden +academy.bitcoin.whyUseBitcoinContent=Die Eigenschaften von Bitcoin machen es zu einem einzigartigen Vermögenswert, der aus verschiedenen Gründen verschiedene Menschen anspricht. Wie Bitcoin Sie anspricht, hängt von Ihrem Profil und Ihren Bedürfnissen ab.\n\nEiner der häufigsten Gründe für die Verwendung von Bitcoin durch Menschen ist seine Fähigkeit, den Wert im Laufe der Zeit zu schützen. Die nationalen Währungen der meisten Länder weltweit verlieren kontinuierlich an Wert durch Währungsverfall. Das bedeutet, dass Sie Ihre Ersparnisse, wenn Sie sie in bar oder auf einem Bankkonto halten, allmählich verlieren, da ihr Wert im Laufe der Zeit sinkt. Das begrenzte Angebot von Bitcoin verhindert, dass dies passiert. Selbst wenn es sich kurzfristig volatil verhält, ist es ein mächtiges Werkzeug, um Ihren Wohlstand langfristig zu erhalten.\n\nEin weiterer Grund, warum Einzelpersonen Bitcoin verwenden, ist der Schutz vor den Handlungen und Entscheidungen von Regierungen und Finanzinstituten. Da Bitcoin etwas ist, das Sie besitzen, senden und empfangen können, ohne Erlaubnis einzuholen, wird der darin gespeicherte Wert nicht von Situationen wie einer Zentralbank beeinflusst, die mehr Einheiten ihrer nationalen Währung druckt, einer Bank, die Ihre Überweisungen aus beliebigen Gründen blockiert, oder einer Regierung, die Konfiskationen bei ihrer Bevölkerung durchsetzt. Mit Bitcoin sind die Spielregeln bekannt und vorhersehbar, und Sie können darauf vertrauen, dass das Netzwerk fair ist und alle gleich behandelt.\n\nBitcoin ist auch für diejenigen sehr attraktiv, die im internationalen Handel tätig sind und Geld in andere Länder oder Regionen senden oder von dort empfangen möchten. Bitcoin kennt keine Grenzen und funktioniert gleich, egal ob Sie etwas an Ihren Nachbarn oder an jemanden auf der anderen Seite der Welt senden. Da Zahlungen an Personen oder Unternehmen in verschiedenen Teilen der Welt in der Regel lange Wartezeiten, hohe Gebühren und bürokratischen Aufwand bedeuten, wählen einige Leute Bitcoin als einfache und bequeme Alternative für ihre grenzüberschreitenden Zahlungen. Es bedeutet auch, dass Sie es verwenden können, um Geld an Länder zu senden, die Ihre Regierung oder Bank blockiert hat.\n\nSchließlich entscheiden sich einige Menschen für Bitcoin aufgrund seiner Einfachheit und Bequemlichkeit. Bitcoin bietet in dieser Hinsicht viele Vorteile gegenüber traditionellen Währungen. Sie müssen sich nicht mit Verträgen und langwierigen bürokratischen Prozessen befassen, um einfache Dinge wie das Eröffnen eines Kontos zu erledigen. Sie können einfach auf Ihr Geld auf allen Ihren Geräten zugreifen. Sie können es überallhin und an jeden senden, ohne verschiedene Zahlungsformen (Bargeld, Banküberweisungen verschiedener Arten, Kreditkarten usw.) verwenden zu müssen. Sie können Ihr Geld leicht schützen und sichern, wenn Sie über das richtige Wissen verfügen, und Sie müssen sich keine Sorgen darüber machen, dass jemand Ihre Brieftasche oder die Details Ihrer Kreditkarte stiehlt.\n\nBitcoin ist ein großer und innovativer Schritt in der Welt des Geldes und der Zahlungen. Es gibt fast sicher einen Grund, aus dem Bitcoin für Ihre Bedürfnisse attraktiv und nützlich sein kann. Daher ermutigen wir Sie, mehr darüber zu erfahren und sich damit vertraut zu machen. + + +###################################################### +## Security +###################################################### + +academy.security.subHeadline=Gewährleistung, dass Sie und nur Sie immer Zugriff auf Ihre Mittel haben +academy.security.introContent=Da Bitcoin in seiner Funktionsweise ziemlich anders ist als nationale Währungen, sind auch die Vorsichtsmaßnahmen, die Sie ergreifen müssen, ganz anders als das, was Sie wahrscheinlich gewohnt sind. Dies ist auch ein äußerst wichtiger Punkt, denn während Bitcoin Ihnen viel Macht und Freiheit bietet, macht es Sie auch verantwortlich für die Sicherheit Ihrer Mittel. Daher sollten Sie etwas Zeit und Mühe investieren, um zu lernen, wie Sie dies sicher tun können.\n\nObwohl Sicherheit ein komplexes Thema ist, können wir die Dinge auf drei Hauptziele reduzieren: sicherstellen, dass andere Personen niemals Zugriff auf Ihre privaten Schlüssel haben, sicherstellen, dass Sie immer Zugriff auf Ihre privaten Schlüssel haben, und vermeiden, dass Sie Ihre Bitcoins versehentlich an Betrüger und andere nicht vertrauenswürdige Personen senden. +academy.security.securingYourKeysHeadline=Sichern Ihrer Schlüssel +academy.security.securingYourKeysContent=Zunächst müssen Sie ein einfaches Konzept verstehen: Nicht Ihre Schlüssel, nicht Ihre Münzen. Das bedeutet, dass, um wirklich Eigentümer Ihrer Bitcoin zu sein, sie in einer Wallet gespeichert sein sollten, in der nur Sie die Schlüssel besitzen. Das Halten eines Bitcoin-Guthabens bei Entitäten wie Banken oder zentralisierten Börsen bedeutet nicht wirklich den Besitz des Vermögens, da diese Einrichtungen und nicht Sie die Schlüssel zu Ihren Mitteln halten. Wenn Sie wirklich Ihr Bitcoin besitzen möchten, müssen Sie es in einer Wallet speichern, für die nur Sie die Kontrolle über die Schlüssel haben.\n\nEs gibt viele Bitcoin-Wallets, jede mit ihrem eigenen einzigartigen Design und Funktionen. Was sie alle gemeinsam haben, ist, dass sie irgendwo Ihre privaten Schlüssel speichern werden. Diese Schlüssel ermöglichen den Zugriff auf Ihre Mittel. Welche Wallet Sie auch verwenden, Sie müssen sicherstellen, dass nur Sie oder Personen, denen Sie vollständig vertrauen, Zugriff auf diese Schlüssel haben. Wenn jemand anderes Zugriff darauf hat, kann er Ihre Mittel stehlen, und es kann nichts unternommen werden, um diese Transaktion rückgängig zu machen. Andererseits ist es genauso schrecklich, die Schlüssel selbst zu verlieren. Wenn Sie Ihre Schlüssel verlieren, können Sie Ihre Mittel nicht mehr senden, und es gibt keine Möglichkeit, die Kontrolle darüber zurückzugewinnen. Obwohl das vielleicht beängstigend klingt, können Sie diese Situationen leicht vermeiden, wenn Sie etwas lernen und gute Praktiken anwenden.\n\nDie meisten Bitcoin-Wallets bieten Ihnen eine 12- oder 24-Wörter lange Sicherungskopie, die allgemein als mnemonische Phrase oder einfach als Seedphrase bekannt ist. Diese Sicherungskopie ermöglicht es Ihnen, Ihre Wallet auf jedem Gerät wiederherzustellen, was sie zum wichtigsten Element macht, das Sie sichern müssen. Es wird im Allgemeinen empfohlen, diese Sicherungen in analoger Form zu speichern, typischerweise durch das Aufschreiben auf ein Blatt Papier oder auf eine kleine Metallplatte, und mehrere Kopien davon zu haben. Sie sollten es auch so aufbewahren, dass Sie es finden können, wenn Sie es benötigen, aber niemand sonst darauf zugreifen kann.\n\nFür größere Mengen an Bitcoin ist es üblich, spezialisierte Geräte namens Hardware Wallets zu verwenden, um Ihre Schlüssel zu speichern. Diese Geräte bieten ein höheres Maß an Sicherheit im Vergleich zur Speicherung Ihrer Schlüssel in einer Smartphone- oder Laptop-Wallet und bieten gleichzeitig eine bequeme Erfahrung bei Transaktionen. Sie können mehr über diese und andere Arten von Wallets im Abschnitt "Wallets" unter Bisq Lernen erfahren.\n\nSchließlich stellen Sie sicher, dass Sie übermäßig komplizierte Aufbewahrungssysteme vermeiden. Ein fortschrittlicher Speicherplan mit vielen Details und Feinheiten hält Diebe von Ihren Mitteln fern, aber es besteht auch die erhebliche Chance, dass Sie möglicherweise keinen Zugriff auf Ihre eigene Wallet haben aufgrund von Fehlern, Verwirrung oder einfachem Vergessen, wie Sie die Sicherungskopien organisiert haben. Streben Sie nach einem Gleichgewicht zwischen einer Einrichtung, die zu einfach ist und von jedermann leicht geknackt werden kann (wie das Speichern Ihrer Seedphrase in einer einfachen Textdatei auf dem Desktop Ihres Laptops) und einer, die so komplex ist, dass nicht einmal Sie sie knacken können (wie das Speichern der Wörter Ihrer Seedphrase über 12 Bücher an 12 verschiedenen Orten). +academy.security.avoidScamsHeadline=Betrügereien vermeiden +academy.security.avoidScamsContent=Eine weitere Quelle von Problemen und Risiken sind Betrügereien. Bitcoin-Transaktionen sind nicht umkehrbar, was bedeutet, dass Sie, wenn Sie von jemandem dazu getäuscht werden, ihm einige Bitcoin zu senden und er dann damit davonläuft, nicht wirklich viel dagegen tun können. Aus diesem Grund ist es üblich, auf verschiedene Schemata zu stoßen, bei denen versucht wird, Sie dazu zu überreden, etwas Bitcoin an sie zu senden. Die meiste Zeit werden Ihnen Betrüger wunderbare "Gelegenheiten" präsentieren, um leicht Geld zu verdienen, was tendenziell zu schön klingt, um wahr zu sein. Die spezifischen Geschichten und Details rund um diese Betrügereien sind extrem vielfältig und kreativ, aber das gemeinsame Muster wird immer gleich aussehen: Ihnen werden wunderbare Renditen angeboten, aber zuerst müssen Sie Bitcoin im Voraus senden. Sobald das Bitcoin gesendet wurde, werden Sie es wahrscheinlich nie zurückbekommen. Sich gegen diese Betrügereien zu verteidigen, ist einfach: Interagieren Sie nur mit seriösen und vertrauenswürdigen Unternehmen und Personen. Wenn Ihnen eine Entität suspekt vorkommt, fordern Sie Referenzen an oder meiden Sie sie einfach. Wenn Ihnen eine Gelegenheit angeboten wird, die sich fast zu schön anhört, um wahr zu sein, ist sie wahrscheinlich so, und Sie sollten sich davon fernhalten. + + +###################################################### +## Privacy +###################################################### + +academy.privacy.subHeadline=Deine Daten gehören dir. Behalte sie auch so. +academy.privacy.introContent=Die Wahrung der Privatsphäre Ihrer finanziellen Informationen und Identität ist ein gemeinsames Bedürfnis unter Bitcoin-Nutzern. Es ist natürlich und logisch, dass Sie nicht möchten, dass andere Personen ohne Ihre Zustimmung über Ihre Mittel und Transaktionen Bescheid wissen. Immerhin würden Sie ja auch nicht mit einem T-Shirt herumlaufen, auf dem Ihr Bankkontostand und Kreditkartenberichte abgebildet sind, oder? Privatsphäre ist ein wichtiges Thema bei Bitcoin, weil die transparente Natur von Bitcoin-Transaktionen und Adressen Fehler in diesem Bereich besonders teuer macht. In diesem Abschnitt behandeln wir einige Punkte zur Privatsphäre auf Ihrer Bitcoin-Reise. +academy.privacy.whyPrivacyHeadline=Weshalb Privatsphäre relevant ist +academy.privacy.whyPrivacyContent=Viele Nutzer schätzen die Freiheit, die Bitcoin ihnen bietet, ihr Eigentum zu besitzen und frei und ohne Erlaubnis mit anderen zu handeln. Doch ohne gute Datenschutzpraktiken werden diese Merkmale von Bitcoin ernsthaft untergraben. Die Offenlegung von Informationen über dich und deine Bitcoin-Guthaben setzt dich verschiedenen Arten von Angriffen aus, die deine eigene Freiheit einschränken werden. Sich darüber Gedanken zu machen, welche Daten du teilst und dies bewusst zu tun, wird dich davor bewahren, kostspielige Fehler zu machen, die du später bereuen könntest.\n\nDas erste offensichtliche Problem bei der Enthüllung deiner Identität und Details über dein Vermögen ist die persönliche Sicherheit. Wenn jemand Details wie die Menge an Bitcoin, die du besitzt, wo du lebst und welche Art von Wallet du verwendest, kennt, könnte er leicht einen physischen Angriff gegen dich planen, um an deine Schlüssel zu kommen. Das ist besonders verlockend im Vergleich zu Konten nationaler Währungen, da Bitcoin-Transaktionen unumkehrbar sind. Wenn also ein Dieb es schafft, dich dazu zu bringen, deine Bitcoin an eine Adresse seiner Wahl zu senden, oder einfach deine Wallet-Schlüssel stiehlt und dies selbst tut, gibt es keine Möglichkeit, diese Transaktion zu stornieren, und dein Bitcoin gehört dir nicht mehr. Deine Identität und finanziellen Details privat zu halten, schützt dich vor dieser Art von Angriff.\n\nEin weiterer guter Grund, deine Details privat zu halten, ist die Gefahr durch feindselige Regierungsmaßnahmen und -aktionen. Regierungen auf der ganzen Welt haben wiederholt Aktionen gegen das Privateigentum ihrer Bürger auf verschiedene Weisen unternommen. Ein großartiges Beispiel dafür ist die Exekutivverordnung 6102, die es US-Bürgern verbot, Gold zu besitzen, und zu einer einseitigen Beschlagnahme von Gold für Millionen von US-Bürgern führte. Genau wie bei regulären Dieben schützt du dich, indem du sicherstellst, dass Regierungsstellen und -personal keine Informationen über dich und deine Mittel haben, für den Fall, dass die Regierung eine negative Politik gegenüber Bitcoin-Besitzern beginnt.\n\nInsgesamt möchtest du wahrscheinlich einfach nicht, dass andere wissen, wie viel Bitcoin du besitzt oder welche Transaktionen du durchführst. So wie wir unsere Bankkonten mit verschiedenen Methoden schützen, damit nur wir unsere Salden und Bewegungen prüfen können, macht es Sinn, sicherzustellen, dass andere nicht in der Lage sind, die Transaktionen und ihre Details einzusehen, wie wann, wie viel oder mit wem wir handeln. +academy.privacy.giveUpPrivacyHeadline=Wie wir unsere Privatsphäre aufgeben +academy.privacy.giveUpPrivacyContent=Es gibt viele Möglichkeiten, wie man freiwillig oder unbeabsichtigt persönliche Details preisgeben kann. Meistens lassen sich diese mit etwas gesundem Menschenverstand leicht vermeiden, da wir unsere Details häufig einfach preisgeben, weil wir nicht darüber nachdenken. Einige subtilere Lecks erfordern etwas technisches Wissen und Zeit. Aber die gute Nachricht ist, dass mit minimalem Aufwand die größten Probleme vermieden werden können.\n\nDer klare Champion der Datenschutzfehler, sowohl aufgrund ihrer Häufigkeit als auch ihrer Schrecklichkeit, ist das freiwillige Zurverfügungstellen Ihres Ausweises beim Kauf oder Verkauf von Bitcoin. Heutzutage sind die meisten zentralisierten Börsen (Unternehmen wie Coinbase, Kraken, Binance usw.) staatlichen KYC-Vorschriften unterworfen (KYC steht für Know Your Customer). Das bedeutet, dass Regierungen diese Unternehmen zwingen, nach Ihrem Reisepass, Personalausweis, Führerschein oder ähnlichen Dokumenten zu fragen, damit diese Informationen mit Ihrem Konto verknüpft werden können. Von dem Moment an, an dem Sie diese Informationen preisgeben, werden jede Ihrer Käufe und Verkäufe aufgezeichnet und mit Ihnen verknüpft sein. Darüber hinaus werden die Börse und staatliche Behörden jederzeit vollständige Einsicht in Ihre Kontostände haben. Selbst wenn Sie sich entscheiden, Ihre Bitcoin aus diesen Börsen in eine von Ihnen kontrollierte Wallet zu transferieren, können diese Parteien verfolgen, an welche Adressen Ihre Mittel gesendet wurden. Und wenn das noch nicht besorgniserregend genug ist, gibt es eine weitere Sorge, die berücksichtigt werden muss: Wenn ein Hacker Zugriff auf die Datenbanken dieser Unternehmen erhält, könnten Ihre Informationen öffentlich im Internet veröffentlicht werden, was es jedem auf der Welt ermöglicht, alle Ihre persönlichen und finanziellen Informationen zu kennen. Dies ist eine Situation, die in den letzten Jahren viele Male vorgekommen ist und schreckliche Konsequenzen für einige der betroffenen Kunden der Börsen hatte.\n\nEin weiterer Bereich, dem Aufmerksamkeit geschenkt werden muss, ist die Adress-Wiederverwendung. Jedes Mal, wenn Sie jemandem eine Adresse Ihrer Wallet geben, um einige Bitcoin von ihm zu erhalten, erfährt diese Person, dass diese Adresse Ihnen gehört. Das bedeutet, dass die Person ab diesem Zeitpunkt die Adresse und ihre gesamte Aktivität überwachen könnte. Wenn Sie diese Adresse wiederholt wiederverwenden, kann jede Person, mit der Sie interagieren, die verschiedenen Transaktionen sehen, die über die Adresse abgewickelt werden, einschließlich Zeitpunkt, Herkunft und Ziel der Mittel sowie die Beträge der Transaktionen. Daher wird empfohlen, Adressen nur einmal zu verwenden, um Bitcoin zu erhalten. Die meisten Wallets kümmern sich automatisch darum, aber es ist dennoch wichtig, zu verstehen, warum dies eine gute Praxis ist.\n\nSchließlich könnte die Nutzung von Knoten anderer Personen zur Datenlektüre der Blockchain bedeuten, dass der Knotenbetreiber potenziell überwachen könnte, an welchen Adressen Ihre Wallet interessiert ist. Bei der Verwaltung großer Mengen von Bitcoin lohnt es sich, zu lernen, wie man seinen eigenen Knoten betreibt und seine Wallet damit verbindet. Oder zumindest darauf zu achten, mit welchem Knoten Sie verbunden sind, und einen von einer Person oder Organisation zu wählen, der Sie vertrauen, wie einen erfahrenen Freund im Bereich Bitcoin oder eine lokale Bitcoin-Community. +academy.privacy.bisqProtectsPrivacyHeadline=Bisq schützt Ihre Privatsphäre +academy.privacy.bisqProtectsPrivacyContent=Bisq ermöglicht es Ihnen, Bitcoin von anderen Nutzern zu kaufen und zu verkaufen. Dieser einfache Unterschied bringt gegenüber der Nutzung zentralisierter Börsen eine Vielzahl von Vorteilen in Bezug auf die Privatsphäre mit sich. Durch die Verwendung von Bisq schützen Sie Ihre Sicherheit und Privatsphäre vor Regierungen, Unternehmen und anderen feindlichen Dritten, die sonst Ihre Daten gegen Ihre eigenen Interessen aufzeichnen und verwenden würden.\n\nWenn Sie bei Bisq handeln, kennen nur Ihr Handelspartner und Sie die Details der Transaktion. Und selbst zwischen beiden wird die zu teilende Information vollständig minimiert und auf die strikt notwendigen Zahlungsdetails beschränkt, wie beispielsweise Ihre Bankkontonummer, wenn Sie eine Fiat-Zahlung auf Ihrem Bankkonto erhalten möchten. Dies bedeutet, dass keine Informationen wie Ihr Ausweis oder Ihre Adresse bereitgestellt werden müssen. Darüber hinaus verhindert die Möglichkeit, bei jedem Handel mit verschiedenen Nutzern zu interagieren, dass eine einzelne Person im Laufe der Zeit Daten über Sie ansammelt, verteilt also Ihre Transaktionshistorie über verschiedene Handelspartner und verhindert, dass eine einzelne Entität einen vollständigen Überblick über Ihr finanzielles Leben hat. Bisq ermöglicht es Ihnen auch, jeden von Ihnen gekauften Bitcoin direkt in eine Adresse einer von Ihnen kontrollierten Wallet zu erhalten, was es Ihnen ermöglicht, jederzeit die Kontrolle über Ihre Mittel zu behalten, und diese über verschiedene Adressen zu verteilen, sodass kein einzelner Nutzer Ihre gesamte Wallet überwachen kann.\n\nUnd denken Sie daran: Bisq ist nur eine Software, die auf Ihrem Computer läuft und sich nur über datenschutzfreundliche Netzwerke wie Tor und I2P mit dem Internet verbindet. Sie müssen sich nicht einmal pseudonym irgendwo registrieren. Aus diesem Grund kann niemand wissen, dass Sie Bisq nutzen, und Ihre Kommunikation mit anderen Teilnehmern kann von Dritten weder überwacht, verfolgt noch eingesehen werden. + + +###################################################### +## Wallets +###################################################### + +academy.wallets.subHeadline=Die richtigen Werkzeuge zur Verwaltung und Sicherung Ihrer Bitcoins auswählen. +academy.wallets.whatIsAWalletHeadline=Was ist eine Geldbörse? +academy.wallets.whatIsAWalletContent=Geldbörsen sind Ihr Werkzeug, um die grundlegendsten Aktionen in Bezug auf Bitcoin durchzuführen: Es empfangen, speichern und versenden. Da Bitcoin ein offenes System ist, kann jeder eine Geldbörse dafür entwickeln, und es gibt viele verschiedene. Das ist großartig, denn es bedeutet, dass Sie viele verschiedene Optionen auf dem Markt zur Auswahl haben und sogar mehrere Geldbörsen verwenden können, um verschiedene Bedürfnisse zu erfüllen.\n\nIm Allgemeinen ist eine Geldbörse eine Software, die mehrere Dinge für Sie erledigt: Sie liest die Blockchain, um das Guthaben der von Ihnen kontrollierten Adressen zu überprüfen. Sie kann Transaktionen erstellen und senden, wenn Sie jemand anderem bezahlen möchten. Und sie speichert Ihre Schlüssel, damit Sie Ihre Transaktionen signieren können. Einige dieser Funktionen sehen in verschiedenen Geldbörsen unterschiedlich aus, und einige Geldbörsen decken nur Teile davon ab. Um dies besser zu verstehen, ist es hilfreich, mit den verschiedenen Merkmalen vertraut zu sein, die Geldbörsen voneinander unterscheiden.\n\nZunächst sollten Sie den Unterschied zwischen einer Hot Wallet und einer Cold Wallet verstehen. Eine Hot Wallet ist eine Software-Geldbörse, in der die Schlüssel, die Ihre Bitcoins kontrollieren, auf einem mit dem Internet verbundenen Gerät gespeichert sind. Eine Cold Wallet hingegen ist eine Konfiguration, bei der Ihre Schlüssel auf einem Gerät gespeichert sind, das niemals mit dem Internet verbunden ist, und Sie eine andere Software verwenden, um Ihr Guthaben zu verfolgen sowie Transaktionen vorzubereiten und zu senden. Hot Wallets sind normalerweise eine einfache App auf Ihrem Telefon oder Laptop. Eine Cold Wallet bedeutet hingegen, dass Sie eine Software auf Ihrem Telefon oder Laptop verwenden, die Ihre Schlüssel nicht enthält, und Sie kombinieren dies mit einem zweiten Gerät, das die Schlüssel enthält und niemals mit dem Internet verbunden ist. Dieses zweite Gerät könnte ein dedizierter Laptop oder Smartphone sein oder häufiger eine Hardware-Geldbörse. Hot Wallets sind einfacher zu verwalten und zu verwenden, aber sie sind auch weniger sicher. Cold Wallets erfordern eine etwas komplexere und umständlichere Einrichtung, bieten jedoch ein viel höheres Maß an Sicherheit gegen Hacks und Fehler beim Umgang mit Schlüsseln. Wie man mit den Risiken der Verwaltung Ihrer Mittel umgeht, ist eine persönliche Entscheidung, aber es wird im Allgemeinen empfohlen, Hot Wallets wie Ihre traditionelle Wallet für Geldscheine und Münzen in Ihrer Tasche zu verwenden und Cold Wallets wie einen Safe in einer Bank zu verwenden. Sie würden keine Million Dollar in Ihrer Brieftasche tragen. Und Sie würden den Inhalt Ihres Safes nicht für einen Kaffee verwenden.\n\nHardware-Geldbörsen sind spezielle physische Geräte, die entworfen und hergestellt wurden, um die Schlüssel Ihrer Mittel zu speichern und Transaktionen mit diesen Schlüsseln zu signieren. Sie bieten eine bequeme Möglichkeit, Transaktionen zu signieren, um Ihre Mittel auszugeben, während Ihre Schlüssel sicher gespeichert sind und nicht an andere weitergegeben werden. Die Verwendung einer Hardware-Geldbörse verbessert Ihre Sicherheit gegenüber der Verwendung einer Hot Wallet auf Ihrem Hauptcomputer oder Smartphone um ein Vielfaches. Wenn Sie Ihre Bitcoin-Reise starten, müssen Sie nicht von Tag eins an eine Geldbörse haben, aber wahrscheinlich möchten Sie eine haben, sobald Sie anfangen, eine Menge Bitcoin anzuhäufen, deren Verlust schmerzhaft wäre. Es gibt viele Hardware-Geldbörsen auf dem Markt, deren typische Preise bei etwa 100 US-Dollar liegen.\n\nUnd eine letzte Anmerkung: Ein Guthaben an einer zentralisierten Börse ist keine Geldbörse. Da Sie die Schlüssel nicht kontrollieren, verlassen Sie sich darauf und vertrauen darauf, dass die zentralisierte Börse Ihren Bitcoin tatsächlich hält. Wenn sie ihn aus irgendeinem Grund nicht senden, wenn Sie ihn abheben möchten, gibt es keine Möglichkeit, dass Sie ihn erhalten. Denken Sie daran: Nicht Ihre Schlüssel, nicht Ihre Coins. +academy.wallets.howToPickHeadline=Wie man eine Geldbörse auswählt +academy.wallets.howToPickContent=Die Auswahl der richtigen Geldbörse für Sie ist eine Entscheidung, die von vielen Faktoren abhängt, wie beispielsweise von Ihrer geplanten Verwendung von Bitcoin, den zu handhabenden Beträgen oder den von Ihnen besessenen Geräten. Es gibt jedoch einige allgemeine Empfehlungen, die Sie befolgen können, sowie spezifische Geldbörsen, die eine gute Erfolgsbilanz haben.\n\nDer erste und wichtigste allgemeine Ratschlag ist die Auswahl einer Open-Source-Geldbörse. Die Überprüfung des Codes Ihrer Geldbörse ist von entscheidender Bedeutung. Sie können mehr über dies im Abschnitt Open Source von Bisq Learn erfahren. Eine weitere wichtige Empfehlung ist die Auswahl einer Geldbörse, die keine anderen Kryptowährungen neben Bitcoin unterstützt. Geldbörsen, die mehrere Kryptowährungen handhaben, müssen komplexeren Code verwenden, um mit den verschiedenen unterstützten Währungen zu arbeiten, was größere Sicherheitsrisiken mit sich bringt. Daher ist es besser, eine Bitcoin-only-Geldbörse für Ihre Mittel zu wählen. Schließlich versuchen Sie, Geldbörsen auszuwählen, die seit einiger Zeit auf dem Markt sind, starke Benutzerbasis haben und eine gute Reputation haben. Es ist ratsam, brandneue Geldbörsen höchstens für fortgeschrittenen Gebrauch oder Experimente zu verwenden.\n\nWenn Sie planen, Ihre Geldbörse auf Ihrem Smartphone zu verwenden, empfehlen wir eine der folgenden Geldbörsen: Bluewallet, Blockstream Green oder Nunchuk. Wenn Sie hingegen einen PC verwenden möchten, würden wir empfehlen, eine der folgenden zu verwenden: Sparrow, Bluewallet, Electrum, Blockstream Green oder Nunchuk. Dies sind alles gute Geldbörsen für Anfänger. Sie können mehrere davon ausprobieren, um die jenige zu finden, die Ihnen am besten passt, oder sogar mehrere gleichzeitig verwenden, wenn Sie möchten. Wenn Sie mehr Erfahrung und Wissen erwerben, entwickeln Sie möglicherweise Vorlieben, abhängig von den fortgeschritteneren Funktionen, die diese Geldbörsen voneinander unterscheiden.\n\nSobald Sie genügend Mittel haben, um Sicherheit noch ernster zu nehmen, macht es wahrscheinlich Sinn, eine Hardware-Geldbörse zu erwerben. Mit einer Hardware-Geldbörse können Sie Ihre Schlüssel darin speichern und Transaktionen damit signieren, während Sie immer noch eine Software wie Sparrow, Bluewallet oder Nunchuk verwenden können, um Ihre Kontostände zu überprüfen und Transaktionen vorzubereiten. Bei Hardware-Geldbörsen gelten größtenteils dieselben Ratschläge: Wählen Sie Geldbörsen mit transparenten und öffentlichen Designs, die nur Bitcoin unterstützen und eine gute Reputation und eine gute Erfolgsbilanz haben. Einige bekannte Marken sind Coldcard, Bitbox, Trezor oder Foundation.\n\nDie Welt der Geldbörsen ist reich und vielfältig, was sowohl großartig als auch verwirrend sein kann. Es ist völlig in Ordnung, anfangs ein wenig überwältigt zu sein. Wenn Sie gerade erst anfangen, würden wir empfehlen, ein wenig zu recherchieren, einige der von uns geteilten Optionen auszuprobieren und, sobald Sie eine finden, mit der Sie sich wohl fühlen, dabei zu bleiben. Wenn Sie mehr über Bitcoin lernen, können Sie jederzeit neue und fortgeschrittenere Optionen erkunden und zu einer anderen Geldbörse wechseln oder mehrere gleichzeitig verwenden, wenn Sie möchten. + + +###################################################### +## Free Open Source Software +###################################################### + +academy.foss.subHeadline=Erfahren Sie mehr über offenen Code und wie er Bitcoin und Bisq antreibt. +academy.foss.bitcoinAndFossHeadline=Bitcoin und Open-Source-Software +academy.foss.bitcoinAndFossContent=Open-Source-Software ist Software, deren Code öffentlich zugänglich ist und den jeder lesen, kopieren und nach Belieben ändern kann. Das steht im Gegensatz zu Closed-Source- oder proprietärer Software, bei der der ursprüngliche Autor entscheidet, den Code für sich zu behalten und niemand sonst Zugang oder Erlaubnis dazu hat. Auch wenn dies wie ein technisches Thema erscheinen mag, liegt es in deinem Interesse, die Auswirkungen von Open-Source-Software auf deine Bitcoin-Reise zu verstehen. Lass uns ins Detail gehen.\n\nDie Welt von Bitcoin wird tiefgehend von Open-Source-Software beeinflusst und steht in Verbindung damit. Die Bitcoin-Software selbst ist seit dem ersten Tag Open Source. Bisq ist ebenfalls ein Open-Source-Projekt. Viele andere umgebende Technologien, wie Lightning-Clients, Mixing-Dienste oder Mining-Firmware, werden typischerweise als Open-Source-Projekte entwickelt. Viele Wallets sind ebenfalls Open Source, und wie wir im Wallets-Abschnitt von Bisq Lernen diskutieren, empfehlen wir dringend, dass du Wallets wählst, die Open Source sind.\n\nWarum ist das so? Closed-Source-Software wird üblicherweise von Unternehmen und Einzelpersonen gebaut und privat gehalten, die andere für Lizenzen bezahlen lassen und die vollständige Kontrolle über das Projekt behalten möchten. Im Bitcoin-Bereich ist das selten der Fall. Bitcoin ist von Natur aus ein offenes und einladendes System, und der Code ist eine Darstellung davon. Jeder kann den Code sehen, ihn ändern, Kopien seiner eigenen Version mit anderen teilen und einfach gesagt, damit machen, was er will. Bisq ist ebenfalls ein Open-Source-Projekt, bei dem jeder willkommen ist, teilzunehmen, die Anwendung zu erweitern und auf unterschiedliche Weise Verbesserungen vorzunehmen. +academy.foss.openSourceBenefitsHeadline=Wie Ihnen Open-Source-Software zugutekommt +academy.foss.openSourceBenefitsContent=Sie könnten denken, dass es für Sie als Nicht-Softwareentwickler wenig relevant ist, ob der Code einer Software öffentlich ist oder nicht. Dies ist überhaupt nicht der Fall. Auch wenn Sie nicht vorhaben, den Code der von Ihnen verwendeten Apps anzusehen oder zu ändern, wird Ihr Erlebnis damit stark beeinflusst, ob der Code offen oder geschlossen ist. Dies ist noch wichtiger, wenn es um die Software geht, die Ihr finanzielles Leben steuert und Ihre Fähigkeit zum Sparen, Empfangen und Senden von Geld unterstützt. Im Allgemeinen ist die Verwendung von Open-Source-Software für Sie vorteilhafter als die Verwendung äquivalenter Closed-Source-Software. Lassen Sie uns einige wichtige Gründe dafür näher betrachten, warum dies für Sie wichtig ist.\n\nEin sehr wichtiger Grund, sich für Open-Source-Software zu entscheiden, ist die Sicherheit. Da Open-Source-Software von jedem gelesen werden kann, versuchen Hacker und böswillige Akteure regelmäßig, Fehler und Sicherheitslücken zu finden. Sie könnten denken, dass dies gefährlich ist, aber es ist eigentlich andersherum! Dies liegt daran, dass die Tatsache, dass der Code für jeden zugänglich ist, bedeutet, dass jeder nach Sicherheitsproblemen suchen und diese entweder aufzeigen, selbst beheben oder sie böswillig ausnutzen kann. Gemeinsam wird die Gemeinschaft von Benutzern und Entwicklern um das Projekt die meisten Fehler schnell erkennen und beheben, oft sogar, bevor sie veröffentlicht werden. Und wenn jemand diesen Fehler nutzt, um die Software böswillig auszunutzen, dauert es nicht lange, bis dies bemerkt und Lösungen angewendet werden. Bei Closed-Source-Software überprüft nur das kleine, bezahlte Team hinter dem Projekt den Code, was zu einer viel höheren Chance führt, dass Fehler unbemerkt bleiben. Mehr Augen, weniger Fehler. Und Unternehmen haben auch ein Interesse daran, nicht offenzulegen, dass ihre Closed-Source-Produkte Sicherheitsprobleme haben, was dazu führt, dass viele Fehler und Hacks geheim gehalten statt offengelegt werden. Schließlich, da in geschlossenen Quellcodeprojekten nur das Entwicklungsteam den Code sehen kann, wie können Sie oder jemand anders vollständig darauf vertrauen, dass die Software sicher ist? Dies hängt mit einem gängigen Sprichwort in der Bitcoin-Kultur zusammen: Vertraue nicht, überprüfe. Insgesamt führt Open-Source-Software zu viel sichereren und robusteren Ergebnissen als Closed-Source-Software.\n\nEin weiterer guter Grund, Open-Source-Software gegenüber Closed-Source-Software zu wählen, ist die langfristige Kontinuität der ersteren. Öffentlicher Code ist nicht von einer einzigen Entität oder Person abhängig, um im Laufe der Zeit gewartet zu werden. Selbst wenn das ursprüngliche Team hinter einem Projekt irgendwann verschwindet, können andere übernehmen und es weiterhin pflegen und weiterentwickeln. Das beste Beispiel dafür ist Bitcoin selbst: Obwohl sein pseudonymer Schöpfer, Satoshi Nakamoto, vor mehr als zehn Jahren verschwunden ist, ist das Projekt über alle Erwartungen hinweg gewachsen und gedeiht weiter. Daher reduzieren Sie jedes Mal, wenn Sie Open-Source-Software anstelle von Closed-Source-Software wählen, dramatisch die Chancen, dass ein Unternehmen oder Entwickler Sie mit veralteter und nicht gepflegter Software allein lässt.\n\nSchließlich tendieren Open-Source-Projekte mit weit verbreiteter Nutzung wie Bitcoin, Bisq oder Geldbörsen wie Electrum dazu, qualitativ hochwertige Produkte anzuführen, indem sie das beste Talent anziehen. Die offene Natur der Projekte ermöglicht es jedem, zusammenzuarbeiten, und viele großartige Entwickler im Raum würden lieber durch den Aufbau auf einem guten Projekt zusammenarbeiten, als eine Duplikation von Grund auf zu beginnen. Im Laufe der Zeit führen die kumulativen Beiträge dieser Einzelpersonen zu beeindruckenden Ergebnissen, die häufig das übertreffen, was die meisten Unternehmen, selbst gut finanzierte, jemals erreichen könnten.\n\nZusammenfassend gesagt, bietet die Wahl von Open-Source-Optionen für Ihre Bitcoin-Werkzeuge eine großartige Reihe von Vorteilen, die Ihnen helfen, sichere und nützliche Produkte von hoher Qualität zu genießen. Wir hoffen, dass Sie neugierig auf die Natur des Codes werden, den Sie in Ihrem täglichen Leben verwenden, und dass Sie informierte Entscheidungen über die von Ihnen ausgeführte Software treffen. diff --git a/pocs/android_only_m2_j17jars/app/src/main/resources/academy_es.properties b/pocs/android_only_m2_j17jars/app/src/main/resources/academy_es.properties new file mode 100644 index 00000000..7a8dd0f5 --- /dev/null +++ b/pocs/android_only_m2_j17jars/app/src/main/resources/academy_es.properties @@ -0,0 +1,94 @@ +###################################################### +## Academy (Learn section) +###################################################### + +academy.overview=Índice + +academy.overview.subHeadline=Guía del Autoestopista hacia el Criptoverso +academy.overview.content=Miembros de la comunidad de Bisq y Bitcoin proporcionan contenido para aprender sobre Bitcoin y su entorno y te ayudan a distinguir el trigo de la paja. +academy.overview.selectButton=Más información + +academy.overview.bisq=Bisq +academy.overview.bisq.content=Aprende sobre Bisq, la DAO de Bisq. Y descubre por qué Bisq es importante para tu seguridad, privacidad y para mantener a Bitcoin alineado con sus valores fundamentales. +academy.overview.bitcoin=Bitcoin +academy.overview.bitcoin.content=Adéntrate por la madriguera de Satoshi. Aprende sobre los conceptos detrás de la cadena de bloques, la minería y qué hace único a Bitcoin. +academy.overview.security=Seguridad +academy.overview.security.content=Aprende sobre conceptos de seguridad relacionados con la gestión de tus fondos de Bitcoin. Asegúrate de que entiendes las buenas prácticas para mantener tu Bitcoin seguro. +academy.overview.privacy=Privacidad +academy.overview.privacy.content=¿Por qué es importante la privacidad? ¿Cuáles son los riesgos cuando hay empresas recopilan tus datos? ¿Por qué la privacidad es un requisito para una sociedad libre y para tu seguridad? +academy.overview.wallets=Carteras +academy.overview.wallets.content=¿Quieres descubrir qué cartera es la mejor para tus necesidades? Lee aquí sobre las mejores alternativas. +academy.overview.foss=Código abierto +academy.overview.foss.content=Bisq es software libre y de código abierto (FOSS) basado en la licencia GPL. ¿Por qué es importante el código abierto? ¿Interesado en contribuir? + + +###################################################### +## Bisq +###################################################### + +academy.bisq.subHeadline=Bisq es software libre y de código abierto para intercambiar Bitcoin por monedas fiat u otras criptomonedas de manera descentralizada y requiriendo la mínima confianza. +academy.bisq.exchangeDecentralizedHeadline=Intercambio, descentralizado +academy.bisq.exchangeDecentralizedContent=Bisq es una aplicación de compra-venta donde puedes comprar y vender Bitcoin a cambio de monedas nacionales u otras criptomonedas. A diferencia de la mayoría de las plataformas de compra-venta, Bisq es descentralizado y de usuario a usuario.\n\nEs descentralizado porque no depende ni está controlado por una sola empresa, equipo o gobierno. La descentralización hace que Bisq sea una red resistente: al igual que Bitcoin, existe gracias a usuarios como tú. Dado que no hay un único elemento del que dependa todo, es significativamente difícil que alguien detenga o perjudique la red. Es de usuario a usuario porque cada operación que realizas se empareja con otro usuario como tú. Esto te ayuda a proteger tu privacidad de elementos centrales como gobiernos e instituciones financieras tradicionales. También hace que Bisq funcione sin que tengas que pedir permiso: no necesitas autorización de nadie para usarlo, y nadie puede impedirte hacerlo. \n\nActualmente, existen dos aplicaciones: Bisq 1 y Bisq 2. Bisq 2 es la aplicación donde estás leyendo esto. Te recomendamos familiarizarte con Bisq 2 antes de intentar aprender más sobre Bisq 1. +academy.bisq.whyBisqHeadline=¿Por qué Bisq? +academy.bisq.whyBisqContent=Para muchos usuarios, Bisq es su método preferido para comprar o vender Bitcoin a cambio de monedas nacionales. Esto se debe a que, por su naturaleza, Bisq ofrece una experiencia completamente diferente a la de las plataformas de compra-venta centralizadas.\n\nLos usuarios también valoran la naturaleza respetuosa con su privacidad de Bisq. Para usar Bisq, no necesitas proporcionar ningún tipo de información personal. Cuando realizas una transacción, solo tienes que compartir tus detalles de pago con tu contraparte comercial. Nadie más tiene acceso a estos datos, y no hay una base de datos central donde se almacenen todos tus datos y transacciones durante años o décadas.\n\nBisq también permite a los usuarios superar las prohibiciones que pueden imponer arbitrariamente sus gobiernos locales o instituciones financieras. Ejemplos de esto pueden ser gobiernos que declaren ilegal la posesión o compra-venta de Bitcoin, o bancos que prohíban a los clientes enviar su propio dinero a plataformas de compra-venta. Los usuarios que se encuentran en estas situaciones pueden usar Bisq para sortear la exclusión del sistema financiero tradicional, sea cual sea el motivo.\n\nFinalmente, Bisq es una forma segura de intercambiar Bitcoin y monedas nacionales. Los protocolos de compra-venta existentes y los sistemas de reputación previenen que actores malintencionados te roben. Si otro usuario no se comporta adecuadamente, siempre hay mediadores disponibles para apoyarte y, si es necesario, intervenir para encontrar una solución para tu caso. El resultado: los usuarios de Bisq pueden comerciar tranquilamente con otros sin preocuparse por ser estafados y perder sus fondos. +academy.bisq.tradeSafelyHeadline=Compra y vende de forma segura +academy.bisq.tradeSafelyContent=Intercambiar tus Bitcoins y monedas nacionales directamente con otros usuarios tiene grandes ventajas como no depender de empresas intermediarias o proteger tu privacidad. Pero podrías preguntarte: ¿cómo sé si la persona con la que estoy interactuando es honesta? ¿No me estafarán? Esas son preocupaciones válidas que haces bien en tener en cuenta, y Bisq las aborda de varias formas para permitir transacciones seguras.\n\nLos diferentes protocolos de compra-venta (puedes pensar en un protocolo como las reglas que tú y tu contraparte seguiréis) minimizan el riesgo de que algún actor estafe a su contraparte durante un intercambio. Por lo general, hay un equilibrio entre seguridad y comodidad: algunos protocolos son más sólidos, otros son más sencillos y rápidos. Está en tus manos decidir qué protocolo usar en cada intercambio, según tus preferencias. necesidades y el tamaño de la compra-venta. Se recomiendan protocolos como Bisq Easy para cantidades pequeñas de dinero, mientras que protocolos más sólidos y estructurados como Bisq MuSig son más adecuados para cantidades mayores.\n\nSi tu compra-venta termina en conflicto con tu contraparte, o si simplemente desaparece y deja de responder, no estás solo. Siempre hay mediadores y árbitros disponibles para aconsejar y proporcionar soluciones en estas situaciones. Estos roles juzgarán cada conflicto, propondrán soluciones amigables entre los usuarios y, potencialmente, tomarán decisiones finales si no se alcanzan acuerdos. Si has actuado de manera honesta y has seguido las reglas, los resultados estarán a tu favor y nunca perderás tus fondos.\n\nEn resumen, Bisq está diseñado para minimizar la necesidad de confiar en otros usuarios y para desincentivar el fraude y otros comportamientos deshonestos. Esto se traduce en que muy pocos intercambios que tienen algún tipo de conflicto, y aquellos que lo tienen siempre se resolverán de manera razonable a través de la mediación y/o arbitraje. El resultado: la compra-venta en Bisq es una experiencia segura y fluida. + + +###################################################### +## Bitcoin +###################################################### + +academy.bitcoin.subHeadline=Un efectivo electrónico entre usuarios que permite realizar pagos en línea directamente sin intermediarios. +academy.bitcoin.whatIsBitcoinHeadline=¿Qué es Bitcoin? +academy.bitcoin.whatIsBitcoinContent=Bitcoin es la criptomoneda más grande y popular del mundo. Es una forma digital de efectivo que permite a cualquier persona enviar valor a terceros sin la necesidad de intermediarios. Nació en 2009 y ha crecido a pasos agigantados desde entonces, ganando adopción en todo el mundo gracias a sus propiedades únicas y atractivas.\n\nBitcoin se diferencia de todas las monedas nacionales en varios aspectos. Bitcoin no es controlado ni emitido por ningún gobierno o institución. Es descentralizado, y funciona únicamente gracias a miles de personas en todo el mundo que lo usan. Esto lo convierte en dinero neutral, donde nadie está en una posición privilegiada que permita abusar de él. Esto también significa que puedes usar Bitcoin sin necesitar ningún tipo de permiso, y ningún participe del sistema tiene más poder que tú. Es un sistema abierto que da la bienvenida a todos. Otra propiedad importante es que puedes tener Bitcoin en autocustodia. En otras palabras, puedes custodiarlo tú mismo sin depender de ninguna otra compañía o institución. Comparándolo con las monedas tradicionales, es más similar al efectivo en tu bolsillo (que controlas completamente) que a un saldo en una cuenta bancaria (donde estás sujeto a las condiciones y antojos del banco). Debido a esto, también eres siempre libre de enviar Bitcoin: no necesitas la aprobación de nadie para hacerlo, y tus transacciones no pueden ser detenidas ni revertidas. Un tercer aspecto interesante es que el suministro de Bitcoin está limitado a un máximo de 21 millones. Esto significa que el valor de cada bitcoin, a diferencia del valor de cada dólar, por ejemplo, no puede ser devaluado por la impresión de más unidades. Bitcoin se crea a través de un proceso intenso en recursos llamado minería, y tanto el calendario de emisión como la cantidad máxima que se puede crear están estrictamente definidos y no se pueden modificar. Esto hace que el suministro sea limitado, claro y predecible, haciendo que Bitcoin sea atractivo debido a su escasez y estabilidad. +academy.bitcoin.whyUseBitcoinHeadline=¿Por qué usar Bitcoin? +academy.bitcoin.whyUseBitcoinContent=Las propiedades de Bitcoin lo convierten en un activo único que atrae a diferentes perfiles por distintas razones. Cómo valoras Bitcoin depende de tu perfil y necesidades.\n\nUna de las razones más comunes por las que las personas usan Bitcoin es su capacidad para proteger el valor a lo largo del tiempo. Las monedas nacionales de la mayoría de los países en el mundo pierden valor continuamente con el tiempo debido a la devaluación de la moneda. Esto significa que al mantener tus ahorros en efectivo o en una cuenta bancaria, los estás perdiendo gradualmente porque su valor disminuye con el tiempo. El suministro limitado de Bitcoin evita que esto ocurra, así que a pesar de que en el corto plazo se comporte de manera volátil, es una herramienta poderosa para preservar tu riqueza a largo plazo.\n\nOtra razón por la que la gente usa Bitcoin es para protegerse de las acciones y decisiones de gobiernos e instituciones financieras. Dado que Bitcoin es algo que puedes poseer, enviar y recibir sin necesitar ninguna autorización, el valor almacenado en él no se ve afectado por situaciones como un banco central imprimiendo más unidades de su moneda nacional, un banco comercial decidiendo bloquear tus transferencias por razones arbitrarias, o un gobierno imponiendo confiscaciones a sus ciudadanos. Con Bitcoin, las reglas del juego son transparentes y predecibles, y puedes contar con que la red es justa y trata a todos por igual.\n\nBitcoin también es muy atractivo para aquellos que participan en el comercio internacional y buscan enviar o recibir dinero a otros países o regiones. Bitcoin no entiende de fronteras y funciona igual si lo envías a tu vecino o a alguien en el otro lado del mundo. Dado que realizar pagos a personas o empresas en diferentes regiones del mundo generalmente significa largas esperas, comisiones significativas y engorrosa burocracia, algunas personas eligen Bitcoin como una alternativa simple y conveniente para sus pagos transfronterizos. También significa que puedes usarlo para enviar dinero a países que tu gobierno o banco han decidido bloquear.\n\nFinalmente, algunas personas eligen Bitcoin por su simplicidad y facilidad de uso. Bitcoin presenta muchas ventajas en este sentido con respecto a las monedas tradicionales. Con él, no necesitas lidiar con contratos y largos procesos burocráticos para cosas tan simples como abrir una cuenta. Puedes acceder fácilmente a tu dinero en todos tus dispositivos. Puedes enviarlo a cualquier lugar y a cualquier persona sin la necesidad de diferentes formas de pago (efectivo, transferencias bancarias de diferentes tipos, tarjetas de crédito, etc.). Puedes proteger y asegurar fácilmente tus fondos con el conocimiento adecuado, y disfrutarás de no tener que preocuparte de que alguien te robe la cartera o los detalles de tu tarjeta de crédito.\n\nBitcoin es una gran innovación en el mundo del dinero y los pagos. Es practicamente seguro que alguna de las propiedas de Bitcoin lo haga atractivo y útil para tus necesidades, así que te animamos que aprendas más y te familiarices con él. + + +###################################################### +## Security +###################################################### + +academy.security.subHeadline=Asegurandote de que tú, y solo tú, tienes acceso a tu dinero +academy.security.introContent=Debido a que Bitcoin es bastante diferente de las monedas nacionales en la forma en que funciona, las precauciones que debes tomar también son bastante diferentes a lo que probablemente estás acostumbrado. Este es también un tema muy importante porque, aunque Bitcoin te brinda mucho poder y libertad, también te hace responsable de cuidar tu dinero. Por lo tanto, deberías invertir tiempo y esfuerzo para aprender cómo hacerlo de manera segura.\n\nSi bien la seguridad es un tema complejo, podemos reducirlo a tres objetivos principales: asegurar que otras personas nunca tengan acceso a tus claves privadas, asegurar que tu siempre tengas acceso a tus claves privadas y evitar enviar accidentalmente tus bitcoins a estafadores y otros usuarios deshonestos. +academy.security.securingYourKeysHeadline=Protegiendo tus claves +academy.security.securingYourKeysContent=Primero de todo, debes entender una simple idea: si no tienes tus claves, no tienes tus monedas. Esto significa que, para que realmente poseas tu Bitcoin, debe almacenarse en una cartera donde solo tú poseas las claves. Por lo tanto, mantener un saldo de Bitcoin en entidades como bancos o plataformas de compra-venta centralizadas no es realmente poseer el activo, ya que son esas entidades, y no tú, quienes poseen las claves de tus fondos. Si realmente quieres poseer tu bitcoin, debes almacenarlo en una billetera para la cual solo tú controles las claves.\n\nExisten muchas billeteras de Bitcoin, cada una con su propio diseño y características únicas. Lo que todas tienen en común es que, de alguna manera, en algún lugar, almacenarán tus claves privadas. Estas claves proporcionan acceso a tus fondos. Independientemente de la billetera que utilices, debes asegurarte de que solo tú, o personas en las que confíes plenamente, tengan acceso a estas claves. Si alguien más tiene acceso a ellas, podrán robar tus fondos y no se podrá hacer nada para revertir esta transacción. Por otro lado, perder las claves tú mismo es igual de terrible. Si pierdes tus claves, ya no podrás enviar tus fondos y no hay forma de recuperar el control sobre ellos. Aunque esto pueda sonar aterrador, puedes evitar fácilmente estas situaciones con un poco de aprendizaje y buenas prácticas.\n\nLa mayoría de las cartera de bitcoin te proporcionarán una copia de seguridad de 12 o 24 palabras, comúnmente conocida como la frase mnemotécnica o, simplemente, la semilla. Esta copia de seguridad te permite restaurar tu cartera en cualquier dispositivo, convirtiéndola en el elemento más importante que debes proteger. Generalmente se aconseja almacenar estas copias de seguridad en forma analógica, típicamente escribiéndolas en un trozo de papel o en una lámina de metal pequeña, y tener múltiples copias de ellas. También deberías almacenarlo de manera que tu puedas encontrarlo si lo necesitas, sin que otros puedan acceder a él.\n\nPara cantidades importantes de Bitcoin, es común utilizar dispositivos especializados llamados hardware wallets para almacenar tus claves. Estos dispositivos ofrecen un nivel de seguridad superior al almacenar tus claves en una cartera móvil o en tu portátil, al tiempo que proporcionan una experiencia cómoda para realizar transacciones. Puedes aprender más sobre estos y otros tipos de carteras en la sección de carteras de Bisq Learn.\n\nFinalmente, asegúrate de evitar estrategias de almacenamiento enrevesadas. Un plan de almacenamiento avanzado con muchos detalles y sutilezas mantendrá a los ladrones alejados de tu dinero, pero también existe la posibilidad de que no puedas acceder a tu propia cartera por errores, confusiones o simplemente por olvidar cómo organizaste las copias de seguridad. Intenta encontrar a un equilibrio entre una configuración que sea demasiado simple y que cualquiera pueda romper (como almacenar tu semilla en un archivo de texto plano en el escritorio de tu portátil) y una que sea tan compleja que ni siquiera tú puedas descifrar (como almacenar las palabras de tu frase semilla en 12 libros en 12 ubicaciones diferentes). +academy.security.avoidScamsHeadline=Evita las estafas +academy.security.avoidScamsContent=Otra fuente de problemas y riesgos son las estafas. Las transacciones de Bitcoin son irreversibles, lo que significa que si alguien te engaña para que le envíes Bitcoin y luego se escapa con él, realmente no hay mucho que puedas hacer al respecto. Debido a esto, es común encontrar diferentes tramas y engaños en los que ladrones intentarán convencerte de que les envíes algo de bitcoin. La mayoría de las veces, los estafadores te presentarán alguna maravillosa "oportunidad" para que ganes dinero fácilmente, que tiende a sonar demasiado bueno para ser cierto. Las historias y detalles específicos que rodean estas estafas son extremadamente diversos y creativos, pero el patrón común siempre será el mismo: te ofrecerán unos rendimientos maravillosos, pero primero tendrás que enviar bitcoin por adelantado. Una vez que envíes el bitcoin, probablemente nunca lo volverás a ver. Defenderte de estas estafas es simple: interactúa solo con empresas y personas de reputación y confianza. Si sientes que alguna entidad es sospechosa, pide referencias o simplemente aléjate de ella. Si se te ofrece una oportunidad que parece casi demasiado buena para ser cierta, probablemente lo sea, y deberías ignorarla. + + +###################################################### +## Privacy +###################################################### + +academy.privacy.subHeadline=Tus datos son tuyos. Mantenlo así. +academy.privacy.introContent=Mantener confidencial tu información financiera e identidad es una necesidad común entre los usuarios de Bitcoin. Es natural y lógico no querer que otras personas sepan cuánto dinero tienes o qué transacciones haces sin tu consentimiento. Después de todo, ¿llevarías una camiseta con tu saldo bancario y extractos de tarjeta de crédito mientras caminas por la calle? La privacidad es un tema importante en Bitcoin porque la naturaleza transparente de las transacciones y direcciones hace que los errores en esta área sean especialmente negativos. En esta sección, cubrimos algunos puntos sobre la privacidad en tu camino con Bitcoin. +academy.privacy.whyPrivacyHeadline=Por qué es relevante la privacidad +academy.privacy.whyPrivacyContent=Muchos usuarios valoran la libertad que Bitcoin les brinda para ser dueños de sus fondos y realizar transacciones libremente y sin necesitar el permiso de nadie. Pero sin buenas prácticas de privacidad, estas características de Bitcoin se ven erosionadas. Revelar información sobre ti y tus fondos de Bitcoin te pone en riesgo de varios tipos de ataques de otros que amenazarán tu propia libertad. Reflexionar sobre qué datos estás compartiendo y ser consciente de ello evitará que cometas errores graves que podrías lamentar en el futuro.\n\nEl primer problema obvio al revelar tu identidad y detalles sobre tus fondos es la seguridad personal. Si alguien conoce detalles como cuánto Bitcoin posees, dónde vives y qué tipo de cartera estás usando, podría planear fácilmente un ataque físico contra ti para obtener tus claves. Esto es especialmente tentador en comparación con las cuentas bancarias de monedas nacionales, ya que las transacciones de Bitcoin son irreversibles. Así, si un ladrón logra obligarte a enviar tu Bitcoin a una dirección suya, o simplemente te roba las claves de tu cartera y lo hace él mismo, no habrá forma de cancelar esa transacción y tu Bitcoin ya no será tuyo. Mantener privada tu identidad y detalles financieros evita que te conviertas en objetivo de este tipo de ataques.\n\nOtra buena razón para mantener tus detalles privados es el peligro que representan las regulaciones y acciones hostiles del gobierno. Los gobiernos en todo el mundo han tomado repetidamente en el pasado acciones contra de la propiedad privada de sus ciudadanos de diversas maneras. Un gran ejemplo de esto es el Decreto Ejecutivo 6102, que hizo ilegal para los ciudadanos de EE. UU. poseer oro y causó una confiscación unilateral de oro para millones de ciudadanos estadounidenses. Al igual que con los ladrones regulares, asegurarse de que las entidades gubernamentales y sus trabajadores no tengan información sobre ti y tus fondos te protege en caso de que el gobierno inicie una política contra los propietarios de Bitcoin.\n\nEn general, probablemente no quieres que otros sepan cuánto Bitcoin posees o qué transacciones realizas. Al igual que protegemos nuestras cuentas bancarias con varios métodos para que solo nosotros podamos comprobar nuestros saldos y movimientos, tiene sentido que te asegures de que otros no tengan la capacidad de ver tus transacciones y sus detalles, como cuándo, cuánto o con quién transaccionas. +academy.privacy.giveUpPrivacyHeadline=Cómo perdemos nuestra privacidad +academy.privacy.giveUpPrivacyContent=Existen muchas formas en las que uno puede divulgar voluntaria o accidental detalles personales. En la mayoría de los casos, son fáciles de prevenir con un poco de sentido común, ya que a menudo simplemente somos nosotros quienes damos nuestros datos sin pensar en ello. Algunas filtraciones más sutiles requerirán cierto conocimiento técnico y tiempo. Pero la buena noticia es que, con un esfuerzo mínimo, se pueden evitar los problemas más significativos.\n\nEl campeón claro de los errores de privacidad, tanto por su frecuencia como por su gravedad, es simplemente desvelar tu identidad voluntariamente al comprar o vender Bitcoin. En la actualidad, la mayoría de los exchanges centralizados (empresas como Coinbase, Kraken, Binance, etc.) están sujetos a regulaciones gubernamentales de KYC (KYC significa Know Your Customer, o conoce a tu cliente). Esto significa que los gobiernos obligan a estas empresas a solicitar tu pasaporte, documento de identidad nacional, permiso de conducir o documentos similares para asociar esta información con tu cuenta. Desde el momento en que proporcionas estos datos, cada compra y venta que realices quedará registrada y vinculada a ti. Además, el exchange y las agencias gubernamentales tendrán visibilidad completa de tus saldos en cualquier momento. Incluso si decides sacar tu Bitcoin de estos exchanges y llevarlo a una cartera que custodies tú mismo, estas entidades podrán rastrear a qué direcciones se enviaron tus fondos. Y si esto no es lo suficientemente preocupante, hay otra preocupación a tener en cuenta: si algún hacker accede a las bases de datos de estas empresas, tu información podría filtrarse públicamente en Internet, lo que permitiría a cualquier persona en el mundo conocer toda tu información personal y financiera. Esta es una situación que ha ocurrido muchas veces en los últimos años y sigue dándose con frecuencia, con consecuencias terribles para algunos de los afectados.\n\nOtro aspecto en el que se debe prestar atención es la reutilización de direcciones. Cada vez que proporcionas a alguien una dirección de tu cartera para recibir Bitcoin de esa persona, esa persona sabe que esa dirección te pertenece. Esto significa que, a partir de ese momento, esa persona podría vigilar la dirección y su actividad. Si reutilizas esta dirección repetidamente, todas las personas con las que interactúes podrán ver las diferentes transacciones que pasan por la dirección, incluyendo cuándo ocurren, de dónde vienen y hacia dónde van los fondos, y las cantidades que se están transaccionando. Por lo tanto, es recomendable usar cada dirección una sola vez. La mayoría de las carteras se encargarán de esto automáticamente por ti, pero en cualquier caso, es importante que entiendas por qué es una buena práctica.\n\nFinalmente, depender de los nodos de otras personas para leer los datos de la cadena de bloques significa que el operador del nodo podría potencialmente registrar qué direcciones le interesan a tu cartera. Si manejas cantidades importantes de Bitcoin, vale la pena aprender a usar tu propio nodo y conectar tu cartera a él. O, al menos, ser consciente de a qué nodo te estás conectando y elegir uno de una persona u organización en la que confíes, como un amigo que tenga más experiencia en Bitcoin o una comunidad local de Bitcoin. +academy.privacy.bisqProtectsPrivacyHeadline=Bisq protege tu privacidad +academy.privacy.bisqProtectsPrivacyContent=Bisq te permite comprar y vender Bitcoin directamente con otros usuarios. Esta simple diferencia conlleva una serie de ventajas en cuanto a privacidad en comparación con el uso de plataformas de compra-venta centralizadas. Al utilizar Bisq, proteges tu seguridad y privacidad de gobiernos, empresas y otros terceros hostiles que de otra manera registrarían y usarían tus datos en contra de tus propios intereses.\n\nCuando realizas transacciones en Bisq, solo tú y tu contraparte conocéis los detalles de la transacción. Y aun entre vosotros, la información que necesita ser compartida se minimiza por completo y se limita a los detalles de pago estrictamente necesarios, como, por ejemplo, el número de tu cuenta bancaria si quieres recibir un pago en tu cuenta bancaria. Esto significa que no es necesario proporcionar información como tu documento de identidad, dirección, etc. Además, la capacidad de interactuar con usuarios distintos en cada operación evita que un individuo en concreto acumule datos sobre ti con el tiempo, distribuyendo así tu historial de transacciones entre diferentes contrapartes y evitando que cualquier entidad tenga una visión completa de tu vida financiera. Bisq también te permite recibir cualquier Bitcoin que compres directamente en una dirección de una billetera que controlas, lo que te permite mantener el control de tus fondos en todo momento y distribuirlos entre diferentes direcciones para que ningún usuario pueda observar tu cartera entera.\n\nY recuerda: Bisq es simplemente un programa que funciona en tu ordenador, y se conecta a Internet exclusivamente mediante redes respetuosas con la privacidad como Tor o I2P. Ni siquiera necesitas crear una cuenta pseudónima para usarlo. Gracias a esto, nadie puede saber que eres tú quien está usando Bisq, y tus comunicaciones con otros usuarios no se pueden monitorizar ni son accesibles por terceros. + + +###################################################### +## Wallets +###################################################### + +academy.wallets.subHeadline=Eligiendo las herramientas correctas para manejar y proteger tus bitcoins. +academy.wallets.whatIsAWalletHeadline=¿Qué es una cartera? +academy.wallets.whatIsAWalletContent=Las carteras son tu herramienta para realizar las acciones más fundamentales en Bitcoin: recibirlo, almacenarlo y enviarlo. Dado que Bitcoin es un sistema abierto, cualquiera puede construir una cartera, y existen muchas diferentes. Esto es fantástico porque significa que tienes muchas opciones diferentes en el mercado entre las que puedes elegir, e incluso puedes usar diferentes carteras para cubrir distintas necesidades.\n\nGeneralmente, una cartera es un software que hace varias cosas por ti: lee la blockchain para verificar el saldo de tus direcciones. Puede construir y enviar transacciones cuando quieres pagar a alguien. Y almacena tus claves para que puedas firmar tus transacciones con ellas. Algunas de estas características tienen experiencias diferentes en distintas carteras, y no todas las carteras tienen todas las funcionalidades. Para entender esto mejor, es útil estar familiarizado con las diferentes características que hacen que las carteras sean diferentes entre sí.\n\nEn primer lugar, es importante entender la diferencia entre una cartera caliente y una fría. Una cartera caliente es un software donde las claves que controlan tu bitcoin se almacenan en un dispositivo conectado a Internet. Una cartera fría, por otro lado, es un sistema donde usas un dispositivo para controlar tu saldo y preparar transacciones, y otro distinto para almacenar claves y firmar transacciones, y el segundo nunca se conecta a Internet. Las carteras calientes son típicamente una aplicación en tu teléfono u ordenador. Una cartera fría, en contraste, significa que usas un software en tu teléfono u ordenador que no contiene tus claves, y lo combinas con un segundo dispositivo que contiene las claves y nunca se conecta a Internet. Este segundo dispositivo podría ser una portátil o un teléfono dedicado solo para este proposito, o más comúnmente, una hardware wallet. Las carteras calientes son más fáciles de manejar y usar, pero también son menos seguras. Las carteras frías requieren una organización un poco más compleja y engorrosa, pero ofrecen un grado de seguridad mucho mayor contra hackeos y errores al manejar claves. Cómo manejar los riesgos de administrar tus fondos es una decisión personal, pero generalmente se recomienda usar las carteras calientes igual que la cartera que llevas en el bolsillo habitualmente, y las carteras frías como una caja fuerte en un banco. No llevarías un millón de dólares en tu bolsillo. Y no usarías el contenido de tu caja fuerte para pagar un café.\n\nLos hardware wallets son dispositivos físicos especiales diseñados y fabricados con el único propósito de almacenar tus claves y firmar transacciones con ellas. Ofrecen una forma cómoda de firmar transacciones para gastar tus fondos, al mismo tiempo que almacenan tus claves de una manera segura que evita que otros puedan acceder a ellas. Usar una hardware wallet mejora tu seguridad de forma drástica en comparación con usar una cartera caliente en tu ordenador o móvil. Si estás comenzando en tu viaje por el mundo de Bitcoin, no necesitas tener una hardware wallet desde el primer día, pero probablemente querrás obtener una cuando comiences a acumular una cantidad de bitcoin que te dolería perder. Hay much hardware wallets en el mercado, con los precios habituales alrededor de los 100$.\n\nY una última idea: una cuenta en una plataforma de compra-venta centralizada no es una cartera. Dado que no controlas las claves, estás confiando en que la plataforma realmente tenga tu bitcoin. Si, por cualquier razón, no te lo envían cuando quieras retirarlo, no hay manera de que puedas tomar posesión de él. Recuerda: si no son tus claves, no son tus monedas. +academy.wallets.howToPickHeadline=¿Cómo elegir una cartera? +academy.wallets.howToPickContent=Elegir la cartera más adecuada para ti es una decisión que depende de muchos factores, como cómo vas a usar Bitcoin, qué cantidades vas a manejar, o qué dispositivos puedes usar. Sin embargo, hay algunas recomendaciones generales que puedes seguir y carteras específicas que tienen una buena reputación.\n\nEl primer y más importante consejo es elegir una cartera de código abierto. Asegurarte de que el código de tu cartera sea verificable es primordial. Puedes aprender más sobre esto en la sección de Código Abierto de Bisq Learn. Otra recomendación importante es elegir una cartera que no admita otras criptomonedas además de Bitcoin. Las carteras que manejan varias criptomonedas usan código más complejo para trabajar con las diferentes monedas admitidas, lo que introduce mayores riesgos de seguridad. Por lo tanto, es mejor elegir una cartera exclusivamente de Bitcoin para tu dinero. Finalmente, trata de buscar carteras que lleven tiempo en el mercado, tengan audiencias grandes y gozen de buena reputación. Es mejor dejar las carteras novedosas e innovadoras para uso avanzado o experimentos.\n\nSi tienes pensado usar tu cartera en tu móvil, te aconsejamos investigar una de las siguientes: Bluewallet, Blockstream Green o Nunchuk. Por otro parte, si quieres usar tu ordenador, sugeriríamos usar uno de los siguientes: Sparrow, Bluewallet, Electrum, Blockstream Green o Nunchuk. Todas ellas son adecuadas para principiantes. Puedes probar varias para encontrar cuál te gusta más, o incluso usar múltiples simultáneamente si quieres. A medida que adquieras más experiencia y conocimiento, es posible que comiences a desarrollar preferencias dependiendo de las características más avanzadas que hacen que estas carteras sean un poco diferentes entre sí.\n\nUna vez que tengas suficientes fondos para tomarte la seguridad más en serio, probablemente te salga a cuenta adquirir una hardware wallet. Con una hardware wallet, podrás almacenar tus claves y firmar transacciones desde ella, mientras usas programas como Sparrow, Bluewallet o Nunchuk para consultar tus saldos y preparar transacciones. En el mundo de las hardware wallets, la mayoría de los mismos consejos son relevantes: elige las que tengan diseños transparentes y públicos, que solo admitan Bitcoin y que tengan buena reputación y trayectoria. Algunas marcas conocidas son Coldcard, Bitbox, Trezor o Foundation.\n\nEl mundo de las carteras es rico y diverso, lo cual genial y confuso a partes iguales. Es normal sentirse un poco abrumado al principio. Si estás comenzando, te aconsejamos investigar un poco, probar algunas de las opciones que hemos compartido contigo y, una vez que encuentres una con la que te sientas cómodo, quédate con ella. A medida que sigas aprendiendo más sobre Bitcoin, siempre puedes explorar nuevas opciones más avanzadas y cambiar a cualquier otra cartera, o usar varias a la vez. + + +###################################################### +## Free Open Source Software +###################################################### + +academy.foss.subHeadline=Aprende sobre código abierto y cómo potencia Bitcoin y Bisq +academy.foss.bitcoinAndFossHeadline=Bitcoin y el software de código abierto +academy.foss.bitcoinAndFossContent=El software de código abierto es aquel cuyo código es públicamente accesible y cualquier persona puede leer, copiar y modificar ese código como le apetezca. Esto contrasta con el software de código cerrado o propietario, donde el autor original decide mantener el código privado y nadie más tiene acceso o permiso para consultarlo. Aunque esto pueda parecer un simple tema técnico, es de tu interés entender las implicaciones del software de código abierto en tu viaje por el mundo de Bitcoin. Profundicemos en ello.\n\nEl mundo de Bitcoin está profundamente influenciado y relacionado con el software de código abierto. El software de Bitcoin ha sido de código abierto desde el primer día. Bisq también es un proyecto de código abierto. Muchas otras tecnologías relacionadas, como clientes de Lightning, servicios de coinjoin o firmware de dispositivos de minería, suelen construirse como proyectos de código abierto. Muchas carteras también son de código abierto, y como comentamos en la sección de carteras de Bisq Learn, recomendamos encarecidamente que elijas carteras que sean de código abierto.\n\n¿Por qué? El software de código cerrado suele ser construido y mantenido en privado por compañías e individuos que quieren cobrar a otros por licencias y mantener el control total del proyecto. En cambio, en el espacio de Bitcoin, esto rara vez es el caso. Bitcoin es un sistema abierto y sin restricciones por naturaleza, y el código es una representación de esto. Cualquiera puede ver el código, modificar lo, compartir copias de su propia versión con otros y, en resumen, hacer lo que quiera con él. Bisq también es un proyecto de código abierto donde todo el mundo es bienvenido para participar, expandir la aplicación y hacer mejoras de diferentes maneras. +academy.foss.openSourceBenefitsHeadline=Cómo el código abierto te beneficia +academy.foss.openSourceBenefitsContent=Puede que pienses que, como no eres un desarrollador de software, si el código de algún software es público o no tiene poca importancia para ti. Nada más lejos de la realidad. Incluso si no tienes pensado leer o modificar el código de las aplicaciones que usas, tu experiencia con ellas se verá profundamente afectada por si el código es de fuente abierta o cerrada. Esto es aún más crítico cuando hablamos del software que gestionará tu vida financiera y del cual dependerá tu capacidad para ahorrar, recibir y enviar dinero. Generalmente, usar software de código abierto será mejor para ti que usar equivalentes de código cerrado. Veamos algunas razones importantes que hacen que esto sea importante para ti.\n\nUna razón muy importante para elegir software de código abierto es la seguridad. Dado que el software de código abierto puede ser leído por cualquiera, los hackers y actores deshonestos intentan regularmente encontrar errores y fallos de seguridad en él. Podrías pensar que esto es peligroso, ¡pero en realidad es al revés! Ya que el código está abierto a todos, cualquiera puede buscar problemas de seguridad y divulgarlos, arreglarlos o aprovecharse de ellos maliciosamente. Colectivamente, la comunidad de usuarios y desarrolladores alrededor del proyecto podrá detectar y corregir la mayoría de los errores rápidamente, a menudo incluso antes de que se lancen. Y si alguien usa este error de forma maliciosa para explotar el software, no pasará mucho tiempo hasta que se detecte y se le ponga solución. En el software de código cerrado, solo el pequeño equipo comercial que mantiene el proyecto está revisando el código, lo que se traduce en una mayor probabilidad de que los errores pasen desapercibidos. Más ojos, menos errores. Además, las empresas también tienen un incentivo para no revelar el hecho de que sus productos de código cerrado tienen problemas de seguridad, lo que lleva a que muchos errores y hackeos se mantengan en secreto en lugar de divulgados. Finalmente, ya que en proyectos de código cerrado solo el equipo de desarrollo puede ver el código, ¿cómo puedes tú o cualquier otra persona estar completamente segura de que el software es seguro? Como dice un dicho común en la cultura de Bitcoin: no confíes, verifica. En general, el software de código abierto conduce a resultados mucho más seguros y robustos que el software de código cerrado.\n\nOtra gran razón para elegir software de código abierto en lugar de cerrado es la continuidad a largo plazo del primero. El código que es público no depende de ninguna entidad o individuo para ser mantenido a lo largo del tiempo. Si el equipo original detrás de un proyecto desaparece en algún momento, otros pueden tomar el relevo y continuar manteniéndolo y evolucionándolo. El mayor ejemplo de esto es el propio Bitcoin: aunque su creador pseudónimo, Satoshi Nakamoto, desapareció hace más de diez años, el proyecto ha seguido creciendo y prosperando más allá de todas las expectativas. Por lo tanto, cada vez que eliges software de código abierto sobre cerrado, estás reduciendo drásticamente las posibilidades de que alguna compañía o desarrollador te deje en la estacada con un software sin mantenimiento que se marchita y queda obsoleto.\n\nFinalmente, los proyectos de código abierto y ampliamente usados, como Bitcoin, Bisq o monederos como Electrum, tienden a convertirse en productos de alta calidad ya que atraen el mejor talento. La naturaleza abierta de los proyectos permite que cualquiera colabore, y muchos desarrolladores excelentes en el espacio prefieren colaborar construyendo sobre un gran proyecto en lugar de iniciar reinventar la rueda desde cero. Con el tiempo, las contribuciones acumulativas de estos individuos conducen a resultados impresionantes que frecuentemente eclipsan lo que la mayoría de las empresas, incluso las bien capitalizadas, podrían lograr.\n\nEn resumen, elegir opciones de código abierto para tus herramientas de Bitcoin viene con un gran conjunto de ventajas que te ayudan a disfrutar de productos seguros, útiles y de alta calidad. Esperamos haber despertado tu curiosidad sobre la naturaleza del código que utilizas en tu vida diaria y que tomes decisiones informadas sobre el software que ejecutas. diff --git a/pocs/android_only_m2_j17jars/app/src/main/resources/academy_it.properties b/pocs/android_only_m2_j17jars/app/src/main/resources/academy_it.properties new file mode 100644 index 00000000..b349bb5c --- /dev/null +++ b/pocs/android_only_m2_j17jars/app/src/main/resources/academy_it.properties @@ -0,0 +1,94 @@ +###################################################### +## Academy (Learn section) +###################################################### + +academy.overview=Panoramica + +academy.overview.subHeadline=Guida per il Viaggiatore della Cryptoverse +academy.overview.content=I membri della comunità di Bisq e Bitcoin forniscono contenuti per imparare sullo spazio Bitcoin e ti aiutano a filtrare il segnale dal rumore. +academy.overview.selectButton=Scopri di più + +academy.overview.bisq=Bisq +academy.overview.bisq.content=Scopri di più su Bisq, il DAO di Bisq. E scopri perché Bisq è importante per la tua sicurezza, privacy e per mantenere Bitcoin allineato ai suoi valori fondamentali. +academy.overview.bitcoin=Bitcoin +academy.overview.bitcoin.content=Fai un tuffo profondo nella tana del coniglio di Satoshi. Scopri i concetti dietro il blockchain, il mining e cosa rende Bitcoin unico. +academy.overview.security=Sicurezza +academy.overview.security.content=Impara i concetti di sicurezza legati alla gestione dei tuoi fondi Bitcoin. Assicurati di comprendere le migliori pratiche per mantenere al sicuro i tuoi Bitcoin. +academy.overview.privacy=Privacy +academy.overview.privacy.content=Perché è importante la privacy? Quali sono i rischi quando le aziende raccolgono i tuoi dati? Perché la privacy è un requisito per una società liberale e per la sicurezza? +academy.overview.wallets=Portafogli +academy.overview.wallets.content=Vuoi scoprire quale portafoglio è il migliore per le tue esigenze? Leggi qui le migliori opzioni per i portafogli. +academy.overview.foss=Open source +academy.overview.foss.content=Bisq è un software gratuito e open source (FOSS) basato sulla licenza GPL. Perché è importante il FOSS? Interessato a contribuire? + + +###################################################### +## Bisq +###################################################### + +academy.bisq.subHeadline=Bisq è software gratuito e open source per lo scambio di Bitcoin con valute fiat o altre criptovalute in modo decentralizzato e con un livello di fiducia ridotto al minimo. +academy.bisq.exchangeDecentralizedHeadline=Scambio, decentralizzato +academy.bisq.exchangeDecentralizedContent=Bisq è un'applicazione di scambio dove è possibile acquistare e vendere Bitcoin per valute nazionali o altre criptovalute. A differenza della maggior parte delle alternative di scambio, Bisq è sia decentralizzato che peer-to-peer.\n\nÈ decentralizzato perché non dipende né è controllato da alcuna singola azienda, team o governo. La decentralizzazione rende Bisq una rete resiliente: proprio come Bitcoin, esiste grazie agli utenti come te. Poiché non c'è un singolo elemento su cui tutto si basa, è significativamente difficile per chiunque fermare o danneggiare la rete. È peer-to-peer perché ogni scambio che effettui è abbinato a un altro utente proprio come te. Questo ti aiuta a proteggere la tua privacy da elementi centralizzati come governi e istituzioni finanziarie tradizionali. Inoltre, rende Bisq senza autorizzazioni: non hai bisogno dell'autorizzazione di nessuno per usarlo, e nessuno può impedirti di farlo.\n\nAttualmente esistono due applicazioni: Bisq 1 e Bisq 2. Bisq 2 è l'applicazione che stai leggendo. Ti consigliamo di familiarizzare con Bisq 2 prima di cercare di saperne di più su Bisq 1. +academy.bisq.whyBisqHeadline=Perché Bisq +academy.bisq.whyBisqContent=Per molti utenti, Bisq è il metodo preferito per acquistare o vendere Bitcoin in cambio di valute nazionali. Questo perché la natura di Bisq porta a un'esperienza completamente diversa rispetto agli Exchange Centralizzati.\n\nGli utenti apprezzano anche l'attenzione alla privacy di Bisq. Non è necessario fornire alcun tipo di informazione personale per utilizzare Bisq. Ogni volta che fai trading, devi condividere solo i dettagli del pagamento con il tuo partner di trading. Nessun altro ha accesso a questi dati, e non c'è un database centrale in cui tutte le tue informazioni e transazioni verranno archiviate per anni o decenni.\n\nBisq consente anche agli utenti di superare eventuali limitazioni imposte arbitrariamente dai loro governi locali o istituzioni finanziarie. Esempi di questo possono essere governi che dichiarano illegale il possesso o il trading di Bitcoin, o banche che vietano ai clienti di inviare i propri soldi a istituti di scambio. Gli utenti in queste situazioni trovano in Bisq un modo per aggirare l'esclusione dal sistema finanziario tradizionale per qualsiasi motivo.\n\nInfine, Bisq è un modo sicuro per scambiare Bitcoin e valute nazionali. I protocolli di trading esistenti e i sistemi di reputazione impediscono a soggetti malintenzionati di rubare i tuoi fondi. I mediatori sono sempre disponibili per supportarti se un altro utente non si comporta correttamente e interverranno se necessario per trovare una soluzione per il tuo caso. Il risultato: gli utenti di Bisq possono scambiare tranquillamente con gli altri senza preoccuparsi di essere truffati e di perdere i propri fondi. +academy.bisq.tradeSafelyHeadline=Scambia in sicurezza +academy.bisq.tradeSafelyContent=Scambiare i tuoi Bitcoin e valute nazionali con altri utenti offre grandi vantaggi come non dipendere da aziende o proteggere la tua privacy. Ma potresti chiederti: come posso sapere se l'utente con cui sto facendo trading è onesto? Non rischierò di essere truffato? Queste sono preoccupazioni valide che dovresti sempre tenere a mente e che Bisq affronta in diversi modi per permettere uno scambio sicuro.\n\nI diversi protocolli di scambio (puoi pensare a un protocollo come le regole che tu e il tuo interlocutore dovrete seguire) minimizzano il rischio che un attore possa truffare il suo interlocutore durante uno scambio. Di solito, esiste un compromesso tra sicurezza e comodità: alcuni protocolli sono più robusti, altri sono più comodi e veloci. Sta a te decidere quale protocollo utilizzare in ogni scambio, in base alle tue preferenze e necessità, così come all'importo scambiato. Protocolli come Bisq Easy sono consigliati per piccole somme di denaro, mentre protocolli più robusti e strutturati come Bisq MuSig sono consigliabili per importi maggiori.\n\nSe il tuo scambio finisce in un conflitto con il tuo interlocutore di scambio, o se l'interlocutore semplicemente scompare e diventa non reattivo, non sarai lasciato solo. Mediatori e arbitrati sono sempre disponibili per consigliare e fornire soluzioni in queste situazioni. Questi ruoli osserveranno ogni caso, proporranno soluzioni amichevoli tra i trader e, potenzialmente, prenderanno decisioni finali se non si raggiungono accordi. Se hai agito onestamente e seguito le regole, gli esiti saranno a tuo favore e non perderai mai i tuoi fondi.\n\nIn sintesi, Bisq è progettato per minimizzare la necessità di fidarsi di altri utenti e per scoraggiare truffe e altri comportamenti scorretti. Questo si traduce in pochissimi scambi che presentano qualsiasi tipo di conflitto, e quelli che lo fanno saranno sempre risolti in modo ragionevole attraverso la mediazione e/o l'arbitrato. Il risultato: fare trading su Bisq è un'esperienza sicura e fluida. + + +###################################################### +## Bitcoin +###################################################### + +academy.bitcoin.subHeadline=Una moneta elettronica peer-to-peer che consente pagamenti online da inviare direttamente senza intermediari. +academy.bitcoin.whatIsBitcoinHeadline=Cos'è Bitcoin +academy.bitcoin.whatIsBitcoinContent=Bitcoin è la più grande e popolare criptovaluta al mondo. È una forma digitale di denaro che consente a chiunque di inviare valore ad altre persone senza la necessità di intermediari. È iniziato nel 2009 ed è cresciuto enormemente da allora, guadagnando adozione in tutto il mondo grazie alle sue proprietà uniche e attraenti.\n\nBitcoin differisce da tutte le valute nazionali sotto diversi aspetti. Bitcoin non è controllato o emesso da nessun governo o istituzione. È decentralizzato ed esiste solo grazie a migliaia di persone in tutto il mondo che lo utilizzano. Questo lo rende denaro neutrale, dove nessuno è in una posizione privilegiata che consente abusi. Questo significa anche che sei libero di utilizzare Bitcoin senza richiedere alcun tipo di permesso, e nessuno nel sistema ha più potere di te. È un sistema aperto che accoglie tutti. Un'altra proprietà importante è che puoi detenere Bitcoin in autonomia. In altre parole, puoi possederlo da solo senza dipendere da nessun'altra azienda o entità. Paragonandolo alle valute tradizionali, è più simile a contanti nel tuo portafoglio (che controlli completamente) che a un saldo in un conto bancario (dove sei soggetto alle condizioni e ai desideri della banca). Per questo motivo, sei sempre libero di inviare Bitcoin: non hai bisogno dell'approvazione di nessuno per farlo, e le tue transazioni non possono essere fermate o annullate. Un terzo aspetto interessante è che l'offerta di Bitcoin è limitata a un massimo di 21 milioni. Ciò significa che il valore di ciascun bitcoin, a differenza del valore di ciascun dollaro, ad esempio, non può essere svalutato creandone di più. Bitcoin viene creato attraverso un costoso processo chiamato mining, e sia il programma di emissione sia la quantità massima che può essere creata sono strettamente definiti e non possono essere modificati. Questo rende l'offerta limitata, certa e prevedibile, rendendo Bitcoin attraente per la sua scarsità e solidità. +academy.bitcoin.whyUseBitcoinHeadline=Perché usare Bitcoin +academy.bitcoin.whyUseBitcoinContent=Le proprietà di Bitcoin lo rendono un asset unico che attrae persone diverse per motivi diversi. Come Bitcoin ti colpisce dipende dal tuo profilo e dalle tue esigenze.\n\nUno dei motivi più comuni per cui le persone usano Bitcoin è la sua capacità di proteggere il valore nel tempo. Le valute nazionali della maggior parte dei paesi del mondo perdono valore continuamente nel tempo a causa della svalutazione della valuta. Ciò significa che detenendo i tuoi risparmi in contanti o in un conto bancario, li stai gradualmente perdendo perché il loro valore diminuisce nel tempo. L'offerta limitata di Bitcoin impedisce che ciò accada, quindi anche se si comporta in modo volatile nel breve termine, è uno strumento potente per preservare la tua ricchezza nel lungo periodo.\n\nUn altro motivo per gli individui di utilizzare Bitcoin è proteggersi dalle azioni e dalle decisioni dei governi e delle istituzioni finanziarie. Poiché Bitcoin è qualcosa che puoi possedere, inviare e ricevere in modo senza autorizzazione, il valore conservato in esso non è influenzato da situazioni come una banca centrale che stampa più unità della propria valuta nazionale, una banca che decide di bloccare i tuoi trasferimenti per motivi arbitrari o un governo che impone confische alla sua popolazione. Con Bitcoin, le regole del gioco sono ben conosciute e prevedibili, e puoi contare sul fatto che la rete sia equa e trattare tutti alla stessa stregua.\n\nBitcoin è anche molto attraente per coloro che si impegnano nel commercio internazionale e cercano di inviare o ricevere denaro in altri paesi o regioni. Bitcoin non ha concetto di confini e funziona allo stesso modo che tu invii qualcosa al tuo vicino o a qualcuno dall'altra parte del mondo. Poiché effettuare pagamenti a persone o aziende in diverse regioni del mondo di solito comporta lunghi tempi di attesa, tasse significative e complicazioni burocratiche, alcune persone scelgono Bitcoin come alternativa semplice e conveniente per i loro pagamenti transfrontalieri. Significa anche che puoi usarlo per inviare denaro a paesi che il tuo governo o la tua banca hanno deciso di bloccare.\n\nInfine, alcune persone scelgono Bitcoin per la sua semplicità e convenienza. Bitcoin presenta molti vantaggi in questo senso rispetto alle valute tradizionali. Con esso, non devi affrontare contratti e lunghi processi burocratici per fare cose semplici come aprire un conto. Puoi facilmente accedere ai tuoi soldi su tutti i tuoi dispositivi. Puoi inviarlo ovunque e a chiunque senza bisogno di diverse forme di pagamento (contanti, bonifici bancari di diverso tipo, carte di credito, ecc.). Puoi facilmente proteggere e sicurizzare i tuoi fondi con la giusta conoscenza, e non dovrai preoccuparti di qualcuno che ruba il tuo portafoglio o i dettagli della tua carta di credito.\n\nBitcoin è un enorme e innovativo passo avanti nel mondo del denaro e dei pagamenti. C'è quasi certamente qualche motivo per cui Bitcoin può essere attraente e utile per le tue esigenze, quindi ti incoraggiamo a saperne di più e a familiarizzare con esso. + + +###################################################### +## Security +###################################################### + +academy.security.subHeadline=Garantire che tu, e solo tu, abbia sempre accesso ai tuoi fondi +academy.security.introContent=Poiché Bitcoin è abbastanza diverso dalle valute nazionali nel modo in cui funziona, le precauzioni che devi prendere sono anche abbastanza diverse da quelle a cui probabilmente sei abituato. Questo è anche un argomento molto importante perché, sebbene Bitcoin ti fornisca molta potenza e libertà, ti rende anche responsabile della cura dei tuoi fondi. Pertanto, dovresti investire un po' di tempo e sforzi per imparare come farlo in modo sicuro.\n\nAnche se la sicurezza è un argomento complesso, possiamo ridurre le cose a tre obiettivi principali: garantire che altre persone non abbiano mai accesso alle tue chiavi private, garantire che tu abbia sempre accesso alle tue chiavi private e evitare di inviare accidentalmente i tuoi bitcoin a truffatori e ad altri utenti non fidati. +academy.security.securingYourKeysHeadline=Proteggere le tue chiavi +academy.security.securingYourKeysContent=Innanzitutto, devi capire un'idea semplice: non le tue chiavi, non i tuoi fondi. Questo significa che, affinché tu possa veramente possedere i tuoi Bitcoin, dovrebbero essere conservati in un portafoglio in cui solo tu possiedi le chiavi. Pertanto, detenere un saldo di Bitcoin in entità come banche o scambi centralizzati non è realmente possedere l'asset poiché sono quelle entità, e non tu, a detenere le chiavi dei tuoi fondi. Se vuoi veramente possedere i tuoi bitcoin, devi conservarli in un portafoglio di cui solo tu controlli le chiavi.\n\nCi sono molti portafogli di Bitcoin là fuori, ognuno con il proprio design e le proprie funzionalità uniche. Quello che tutti hanno in comune è che, in qualche modo, da qualche parte, conservano le tue chiavi private. Queste chiavi forniscono l'accesso ai tuoi fondi. Qualsiasi portafoglio tu usi, devi assicurarti che solo tu, o persone di cui ti fidi pienamente, abbiano accesso a queste chiavi. Se qualcun altro ha accesso ad esse, potrà rubarti i fondi e non si potrà fare nulla per annullare questa transazione. D'altra parte, perdere le chiavi da solo è altrettanto terribile. Se perdi le tue chiavi, non sarai in grado di inviare più i tuoi fondi, e non c'è modo di riprendere il controllo su di essi. Anche se questo potrebbe sembrare spaventoso, puoi facilmente evitare queste situazioni con un po' di apprendimento e buone pratiche.\n\nLa maggior parte dei portafogli Bitcoin ti fornirà un backup di 12 o 24 parole, comunemente noto come frase mnemonica o semplicemente seedphrase. Questa frase di backup ti consente di ripristinare il tuo portafoglio su qualsiasi dispositivo, rendendola l'elemento più importante da proteggere. In genere è consigliato conservare questi backup in forma analogica, tipicamente scrivendoli su un pezzo di carta o su un piccolo foglio metallico, e averne più copie. Dovresti anche conservarli in modo che tu possa trovarli se ne hai bisogno, ma nessun altro può accedervi.\n\nPer grandi quantità di Bitcoin, è consueto utilizzare dispositivi specializzati chiamati Hardware Wallet per conservare le tue chiavi. Questi dispositivi offrono un livello superiore di sicurezza rispetto alla conservazione delle tue chiavi in un portafoglio su smartphone o laptop, offrendo nel contempo un'esperienza conveniente per quanto riguarda le transazioni. Puoi saperne di più su questi e altri tipi di portafogli nella sezione Wallets della sezione Learn di Bisq.\n\nInfine, assicurati di evitare schemi di conservazione eccessivamente complicati. Un piano di conservazione avanzato con molti dettagli e sottilità terrà i ladri lontani dai tuoi fondi, ma c'è anche una significativa possibilità che potresti non essere in grado di accedere al tuo portafoglio a causa di errori, confusione o semplicemente dimenticando come hai organizzato i backup. Cerca un equilibrio tra una configurazione troppo semplice che chiunque potrebbe facilmente rompere (come conservare la tua frase seed in un file di testo sul desktop del tuo laptop) e una così complessa che nemmeno tu puoi decifrare (come memorizzare le parole della tua frase seed in 12 libri in 12 luoghi diversi). +academy.security.avoidScamsHeadline=Evitare le truffe +academy.security.avoidScamsContent=Un'altra fonte di problemi e rischi sono le truffe. Le transazioni di Bitcoin sono irreversibili, il che significa che se qualcuno ti convince a inviare loro qualche Bitcoin e poi scappa con esso, non c'è davvero molto che puoi fare al riguardo. A causa di questo, è comune incontrare diversi schemi in cui le persone cercheranno di convincerti a inviare loro un po' di bitcoin. La maggior parte delle volte, gli imbroglioni ti presenteranno una meravigliosa "opportunità" per guadagnare facilmente denaro, che tende a sembrare troppo bello per essere vero. Le storie specifiche e i dettagli che circondano queste truffe sono estremamente diversi e creativi, ma il modello comune sembrerà sempre lo stesso: ti verrà offerto qualche meraviglioso ritorno, ma prima dovrai inviare bitcoin in anticipo. Una volta inviato il bitcoin, probabilmente non lo vedrai mai tornare indietro. Difenderti da queste truffe è semplice: interagisci solo con aziende e persone affidabili e di fiducia. Se senti che un'entità è losca, chiedi referenze o semplicemente evitala. Se ti viene offerta un'opportunità che sembra quasi troppo bella per essere vera, probabilmente lo è, e dovresti starne alla larga. + + +###################################################### +## Privacy +###################################################### + +academy.privacy.subHeadline=I tuoi dati sono tuoi. Mantienili così. +academy.privacy.introContent=Mantenere riservate le informazioni finanziarie e l'identità è una esigenza comune tra gli utenti di Bitcoin. È naturale e logico non volere che altre persone conoscano i tuoi fondi e le tue transazioni senza il tuo consenso. Dopotutto, non indosseresti una maglietta con il saldo del tuo conto bancario e i rapporti delle carte di credito mentre cammini per la strada, vero? La privacy è un argomento importante in Bitcoin perché la natura trasparente delle transazioni e degli indirizzi Bitcoin rende particolarmente costosi gli errori in questo ambito. In questa sezione, affrontiamo alcuni punti sulla privacy nel tuo percorso Bitcoin. +academy.privacy.whyPrivacyHeadline=Perché la privacy è rilevante +academy.privacy.whyPrivacyContent=Molti utenti apprezzano la libertà che Bitcoin offre loro di possedere i propri beni e di effettuare transazioni liberamente e senza permessi con altri. Ma senza buone pratiche di privacy, queste caratteristiche di Bitcoin vengono seriamente erose. Divulgare informazioni su di te e sui tuoi fondi in Bitcoin ti metterà a rischio di vari tipi di attacchi da parte di altri che limiteranno la tua stessa libertà. Riflettere sui dati che stai condividendo ed essere consapevoli di ciò ti impedirà di commettere costosi errori di cui potresti pentirti in futuro.\n\nIl primo problema ovvio nel rivelare la tua identità e dettagli sui tuoi fondi è la sicurezza personale. Se qualcuno conosce dettagli come quanti bitcoin possiedi, dove vivi e che tipo di portafoglio utilizzi, potrebbe facilmente pianificare un attacco fisico contro di te per impadronirsi delle tue chiavi. Questo è particolarmente allettante in confronto ai conti bancari in valuta nazionale, poiché le transazioni in Bitcoin sono irreversibili. Così, se un ladro riesce a costringerti a inviare i tuoi bitcoin a un indirizzo di sua proprietà, o semplicemente ruba le chiavi del tuo portafoglio e lo fa da solo, non ci sarà modo di annullare quella transazione e i tuoi bitcoin non saranno più tuoi. Mantenere privati la tua identità e i dettagli finanziari ti impedisce di diventare un bersaglio di questo tipo di attacco.\n\nUn'altra buona ragione per mantenere privati i tuoi dettagli è il pericolo rappresentato dalle ostili regolamentazioni e azioni governative. I governi di tutto il mondo hanno ripetutamente intrapreso azioni contro la proprietà privata dei loro cittadini in vari modi. Un grande esempio di ciò è l'Ordine Esecutivo 6102, che rendeva illegale per i cittadini statunitensi possedere oro e causava una confisca unilaterale dell'oro per milioni di cittadini statunitensi. Proprio come con i ladri comuni, garantire che entità e personale governativo non detengano informazioni su di te e sui tuoi fondi ti protegge nel caso in cui il governo inizi una politica negativa contro i proprietari di Bitcoin.\n\nIn generale, probabilmente non vuoi semplicemente che altri sappiano quanti Bitcoin possiedi o quali transazioni effettui. Proprio come proteggiamo i nostri conti bancari con vari metodi in modo che solo noi possiamo controllare i nostri saldi e movimenti, ha senso garantire che altri non abbiano la possibilità di visualizzare le transazioni e i loro dettagli, come quando, quanto o con chi effettuiamo transazioni. +academy.privacy.giveUpPrivacyHeadline=Come rinunciamo alla nostra privacy +academy.privacy.giveUpPrivacyContent= Ci sono molti modi in cui si possono rivelare volontariamente o accidentalmente dettagli personali. Nella maggior parte dei casi, questi sono facili da prevenire con un po' di buon senso, poiché spesso diamo semplicemente le nostre informazioni senza pensarci. Alcuni leak più sottili richiederanno conoscenze tecniche e tempo. Ma la buona notizia è che, con uno sforzo minimo, è possibile evitare i problemi più significativi.\n\nIl chiaro campione degli errori di privacy, sia per la frequenza che per la gravità, è semplicemente fornire il proprio documento d'identità volontariamente quando si acquista o si vende Bitcoin. Oggi, la maggior parte degli scambi centralizzati (aziende come Coinbase, Kraken, Binance, ecc.) è soggetta a regolamenti governativi KYC (KYC sta per Know Your Customer). Questo significa che i governi costringono queste aziende a richiedere il tuo passaporto, carta d'identità nazionale, patente di guida o documenti simili in modo che queste informazioni possano essere associate al tuo account. Dal momento in cui le fornisci, ogni acquisto e vendita che fai sarà registrato e collegato a te. Inoltre, l'exchange e le agenzie governative avranno piena visibilità dei tuoi saldi in qualsiasi momento. Anche se decidi di prelevare i tuoi Bitcoin da questi exchange e portarli in un portafoglio che custodisci tu, queste parti saranno in grado di tracciare a quali indirizzi sono stati inviati i tuoi fondi. E se questo non fosse abbastanza preoccupante, c'è un'altra questione da tenere a mente: se un hacker accede ai database di queste aziende, le tue informazioni potrebbero essere divulgate pubblicamente su Internet, consentendo a chiunque nel mondo di conoscere tutte le tue informazioni personali e finanziarie archiviate. Questa è una situazione che è accaduta molte volte negli ultimi anni, con conseguenze terribili per alcuni dei clienti colpiti dagli exchange.\n\nUn altro aspetto a cui prestare attenzione è il riutilizzo degli indirizzi. Ogni volta che fornisci a qualcuno un indirizzo del tuo portafoglio per ricevere bitcoin da lui, questa persona scopre che quell'indirizzo appartiene a te. Ciò significa che, da quel momento in poi, la persona potrebbe monitorare l'indirizzo e tutta la sua attività. Se riutilizzi ripetutamente questo indirizzo, ogni persona con cui interagisci sarà in grado di vedere le diverse transazioni che passano attraverso l'indirizzo, comprese le tempistiche, da dove provengono i fondi e dove vengono inviati, e gli importi delle transazioni. Pertanto, si consiglia di utilizzare gli indirizzi per ricevere bitcoin solo una volta. La maggior parte dei portafogli si occupa automaticamente di questo, ma è comunque importante capire perché questa sia una buona pratica.\n\nInfine, fare affidamento su nodi di altre persone per leggere i dati della blockchain significa che chi gestisce il nodo potrebbe potenzialmente monitorare a quali indirizzi è interessato il tuo portafoglio. Quando si gestiscono importi significativi di Bitcoin, conviene imparare a gestire il proprio nodo e collegare il proprio portafoglio ad esso. Oppure, almeno, essere consapevoli di quale nodo ci si sta connettendo e scegliere uno da una persona o organizzazione di fiducia, come un amico più esperto in Bitcoin o una comunità Bitcoin locale. +academy.privacy.bisqProtectsPrivacyHeadline=Bisq aiuta a proteggere la tua privacy +academy.privacy.bisqProtectsPrivacyContent=Bisq ti permette di comprare e vendere Bitcoin con altri utenti. Questa semplice differenza offre numerosi vantaggi per la privacy rispetto all'uso di scambi centralizzati. Utilizzando Bisq, proteggi la tua sicurezza e privacy da governi, aziende e altre parti ostili che altrimenti registrerebbero e userebbero i tuoi dati contro i tuoi interessi.\n\nQuando effettui transazioni in Bisq, solo tu e il tuo interlocutore conoscete i dettagli della transazione. E anche tra voi due, le informazioni da condividere sono ridotte al minimo e limitate ai dettagli di pagamento strettamente necessari, come ad esempio il numero del conto bancario se desideri ricevere un pagamento fiat sul tuo conto bancario. Questo significa che non è necessario fornire informazioni come il tuo ID, indirizzo, ecc. Inoltre, la possibilità di interagire con diversi utenti in ogni scambio impedisce a un singolo individuo di accumulare dati su di te nel tempo, distribuendo così la tua cronologia di transazioni tra diverse controparti e impedendo a una singola entità di avere una visione completa della tua vita finanziaria. Bisq ti permette anche di ricevere qualsiasi bitcoin acquistato direttamente in un indirizzo di un portafoglio che controlli, permettendoti di mantenere il controllo dei tuoi fondi in ogni momento e di distribuirli tra diversi indirizzi in modo che nessun utente possa monitorare l'intero tuo portafoglio.\n\nE ricorda: Bisq è solo un software che funziona sul tuo computer e si connette a Internet solo tramite reti rispettose della privacy come Tor e I2P. Non devi nemmeno registrarti da nessuna parte in modo pseudonimo. Grazie a ciò, nessuno può nemmeno sapere che stai usando Bisq, e la tua comunicazione con altri partecipanti non può essere monitorata, tracciata o accessibile da terze parti. + + +###################################################### +## Wallets +###################################################### + +academy.wallets.subHeadline=Scegliere gli strumenti giusti per gestire e proteggere i tuoi bitcoin. +academy.wallets.whatIsAWalletHeadline=Cos'è un portafoglio +academy.wallets.whatIsAWalletContent=I portafogli sono il tuo strumento per eseguire le azioni più fondamentali in Bitcoin: riceverlo, conservarlo e inviarlo. Poiché Bitcoin è un sistema aperto, chiunque può costruire un portafoglio per esso e ne esistono molti diversi. Questo è ottimo perché significa che hai molte opzioni diverse tra cui scegliere e puoi anche utilizzare più portafogli diversi per coprire diverse esigenze.\n\nIn generale, un portafoglio è un software che fa diverse cose per te: legge la blockchain per verificare il saldo degli indirizzi che controlli. Può costruire e inviare transazioni quando vuoi pagare qualcun altro. E conserva le tue chiavi in modo che tu possa firmare le tue transazioni. Alcune di queste funzionalità appaiono diverse in portafogli diversi e alcuni portafogli coprono solo alcune di esse. Per capire meglio questo, è utile essere familiarizzati con le diverse caratteristiche che rendono i portafogli diversi l'uno dall'altro.\n\nInnanzitutto, devi capire la differenza tra un portafoglio caldo e uno freddo. Un portafoglio caldo è un portafoglio software in cui le chiavi che controllano i tuoi bitcoin sono memorizzate su un dispositivo connesso a Internet. Un portafoglio freddo, d'altra parte, è un setup in cui le tue chiavi sono memorizzate su un dispositivo che non è mai connesso a Internet e usi un software diverso per tenere traccia del tuo saldo e preparare e inviare transazioni. I portafogli caldi sono tipicamente un'applicazione semplice sul tuo telefono o computer portatile. Un portafoglio freddo, d'altra parte, significa che utilizzi un software sul tuo telefono o computer portatile che non detiene le tue chiavi e lo combini con un secondo dispositivo che detiene le chiavi e non si connette mai a Internet. Questo secondo dispositivo potrebbe essere un computer portatile o smartphone dedicato, o più comunemente, un hardware wallet. I portafogli caldi sono più semplici da gestire e usare, ma sono anche meno sicuri. I portafogli freddi richiedono una configurazione leggermente più complessa e scomoda, ma offrono un grado molto maggiore di sicurezza contro hack e errori durante la gestione delle chiavi. Come gestire i rischi della gestione dei tuoi fondi è una decisione personale, ma in generale è consigliato utilizzare portafogli caldi come il tuo portafoglio tradizionale per banconote e monete nel tuo portafoglio, e portafogli freddi come una cassetta di sicurezza in una banca. Non porteresti un milione di dollari nel tuo portafoglio. E non useresti il contenuto della tua cassetta di sicurezza per pagare un caffè.\n\nGli hardware wallet sono speciali dispositivi fisici progettati e realizzati con l'unico scopo di memorizzare le chiavi dei tuoi fondi e firmare transazioni con quelle chiavi. Offrono un modo conveniente per firmare transazioni per spendere i tuoi fondi, mentre conservi le tue chiavi in modo sicuro che impedisce di divulgarle ad altri. Utilizzare un hardware wallet migliora la tua sicurezza di ordini di grandezza rispetto all'utilizzo di un portafoglio caldo sul tuo computer principale o smartphone. Se stai iniziando il tuo percorso in Bitcoin, non è necessario avere un portafoglio fin dal primo giorno, ma probabilmente vuoi ottenerne uno una volta iniziato ad accumulare una quantità di bitcoin che farebbe male perderla. Ci sono molti hardware wallet sul mercato, con prezzi tipici intorno ai $100.\n\nEd una nota finale: un saldo in un exchange centralizzato non è un portafoglio. Poiché non controlli le chiavi, ti affidi e fidi dell'exchange centralizzato per detenere effettivamente i tuoi bitcoin. Se, per qualsiasi motivo, non te li inviano quando decidi di prelevarli, non c'è modo per te di ottenerli. Ricorda: non le tue chiavi, non i tuoi bitcoin. +academy.wallets.howToPickHeadline=Come scegliere un portafoglio +academy.wallets.howToPickContent=Scegliere il portafoglio giusto per te è una decisione che dipende da molti fattori, come ad esempio come utilizzerai Bitcoin, quali importi gestirai o quali dispositivi possiedi. Tuttavia, ci sono alcuni consigli generali che puoi seguire e specifici portafogli che hanno un buon track record.\n\nIl primo e più importante consiglio generale è scegliere un portafoglio open source. Garantire che il codice del tuo portafoglio sia verificabile è fondamentale. Puoi saperne di più su questo nella sezione Open Source di Bisq Learn. Un altro consiglio importante è scegliere un portafoglio che non supporti altre criptovalute oltre a Bitcoin. I portafogli che gestiscono più criptovalute devono utilizzare codice più complesso per funzionare con le diverse valute supportate, il che introduce rischi di sicurezza più grandi. Pertanto, è meglio scegliere un portafoglio solo Bitcoin per i tuoi fondi. Infine, cerca portafogli che esistono da tempo, che hanno una base di utenti forte e una buona reputazione. È meglio lasciare i portafogli nuovi per l'uso avanzato o gli esperimenti al massimo.\n\nSe prevedi di utilizzare il tuo portafoglio sul tuo smartphone, ti consigliamo di esaminare uno dei seguenti portafogli: Bluewallet, Blockstream Green o Nunchuk. D'altra parte, se vuoi utilizzare un PC, ti consigliamo di utilizzare uno dei seguenti: Sparrow, Bluewallet, Electrum, Blockstream Green o Nunchuk. Questi sono tutti buoni portafogli per principianti. Puoi provarne diversi per scoprire quale ti si adatta meglio, o anche usarne più contemporaneamente se lo desideri. Man mano che acquisisci più esperienza e conoscenza, potresti iniziare a sviluppare preferenze in base alle funzionalità più avanzate che rendono questi portafogli un po' diversi tra loro.\n\nUna volta che hai abbastanza fondi per iniziare a prendere più seriamente la sicurezza, avrà probabilmente senso acquisire un hardware wallet. Con un hardware wallet, sarai in grado di memorizzare le tue chiavi al suo interno e firmare transazioni con esso, mentre potrai comunque utilizzare un software come Sparrow, Bluewallet o Nunchuk per leggere i tuoi saldi e preparare transazioni. Per quanto riguarda gli hardware wallet, valgono gran parte degli stessi consigli: scegli hardware wallet con design trasparenti e pubblici, che supportano solo Bitcoin e che hanno una buona reputazione e un buon track record. Alcuni brand noti sono Coldcard, Bitbox, Trezor o Foundation.\n\nIl mondo dei portafogli è ricco e diversificato, il che è sia ottimo sia confondente. È perfettamente normale sentirsi un po' sopraffatti all'inizio. Se stai appena iniziando, ti consigliamo di fare un po' di ricerca, provare alcune delle opzioni che ti abbiamo condiviso e, una volta trovato uno con cui ti senti a tuo agio, attenertici. Mentre continui a conoscere meglio Bitcoin, puoi sempre esplorare nuove opzioni più avanzate e passare a un altro portafoglio, o usarne più di uno, quando vuoi. + + +###################################################### +## Free Open Source Software +###################################################### + +academy.foss.subHeadline=Scopri il codice aperto e come alimenta Bitcoin e Bisq +academy.foss.bitcoinAndFossHeadline=Bitcoin e software open source +academy.foss.bitcoinAndFossContent=Il software open source è un software il cui codice è pubblicamente accessibile e chiunque può leggerlo, copiarlo e modificarlo a proprio piacimento. Ciò è in contrasto con il software proprietario o closed-source, dove l'autore originale decide di tenere il codice per sé e nessun altro ha accesso o permesso ad esso. Anche se potrebbe sembrare un argomento tecnico, è nel tuo interesse comprendere le implicazioni del software open source nel tuo percorso con Bitcoin. Facciamo un tuffo in questo mondo.\n\nIl mondo di Bitcoin è profondamente influenzato da e legato al software open source. Il software Bitcoin stesso è stato open source fin dal primo giorno. Anche Bisq è un progetto open source. Molte altre tecnologie circostanti, come client Lightning, servizi di mixing o firmware per il mining, sono tipicamente sviluppate come progetti open source. Anche molti portafogli sono open source e, come discutiamo nella sezione Portafogli di Bisq Learn, consigliamo vivamente di scegliere portafogli open source.\n\nPerché è così? Il software closed source è solitamente costruito e mantenuto privato da aziende e individui che vogliono addebitare ad altri le licenze e mantenere il pieno controllo del progetto. Nello spazio Bitcoin, questo è raramente il caso. Bitcoin è per sua natura un sistema aperto e accogliente, e il codice ne è una rappresentazione. Chiunque può vedere il codice, modificarlo, condividere copie della propria versione con altri e, in poche parole, fare ciò che vuole con esso. Anche Bisq è un progetto open source dove tutti sono benvenuti a partecipare, espandere l'applicazione e apportare miglioramenti in diversi modi. +academy.foss.openSourceBenefitsHeadline=Come il software open source ti beneficia +academy.foss.openSourceBenefitsContent=Potresti pensare che, poiché non sei un programmatore, che il codice di alcuni software sia pubblico o meno abbia scarsa rilevanza per te. Questo non è affatto il caso. Anche se non hai intenzione di guardare o modificare il codice delle app che stai utilizzando, la tua esperienza con esse sarà profondamente influenzata dal fatto che il codice sia open o closed source. Questo è ancora più critico quando parliamo del software che gestirà la tua vita finanziaria e supporterà la tua capacità di salvare, ricevere e inviare denaro. Generalmente, utilizzare software open source sarà più vantaggioso per te rispetto alle equivalenti soluzioni closed source. Vediamo alcuni motivi importanti che rendono questo importante per te.\n\nUn motivo estremamente importante per scegliere il software open source è la sicurezza. Poiché il software open source può essere letto da chiunque, hacker e attori malintenzionati cercano regolarmente errori e falle di sicurezza in esso. Potresti pensare che questo sia pericoloso, ma è effettivamente il contrario! Questo perché il fatto che il codice sia aperto a tutti significa che chiunque può cercare problemi di sicurezza e o segnalarli, correggerli da sé o sfruttarli malevolmente. Collettivamente, la comunità di utenti e sviluppatori attorno al progetto sarà in grado di individuare e correggere la maggior parte degli errori rapidamente, spesso anche prima che vengano rilasciati. E se qualcuno usa questo errore in modo malevolo per sfruttare il software, non passerà molto tempo prima che venga notato e applicate le soluzioni. Nei progetti closed source, solo il piccolo team pagato dietro al progetto rivede il codice, il che si traduce in una probabilità molto più alta che gli errori passino inosservati. Più occhi, meno bug. E le aziende hanno anche l'incentivo a non divulgare il fatto che i loro prodotti closed source hanno problemi di sicurezza, il che porta a molti bug e hack mantenuti segreti invece di essere divulgati. Infine, poiché nei progetti closed source solo il team di sviluppo può vedere il codice, come puoi tu o chiunque altro essere pienamente sicuro che il software sia sicuro? Questo si collega con un detto comune nella cultura Bitcoin: non fidarti, verifica. In generale, il software open source porta a risultati molto più sicuri e robusti rispetto al software closed source.\n\nUn'altra grande ragione per scegliere il software open source rispetto a quello closed source è la continuità a lungo termine del primo. Il codice che è pubblico non dipende da nessuna singola entità o individuo per essere mantenuto nel tempo. Anche se il team originale dietro a un progetto scompare eventualmente, altri possono prendere il controllo e continuare a mantenere ed evolverlo. Il miglior esempio di questo è proprio Bitcoin: anche se il suo creatore pseudonimo, Satoshi Nakamoto, è scomparso più di dieci anni fa, il progetto ha continuato a crescere e prosperare oltre ogni aspettativa. Pertanto, ogni volta che scegli software open source rispetto a quello closed source, stai drasticamente riducendo le possibilità che qualche azienda o sviluppatore ti lasci bloccato con qualche software non mantenuto che svanisce e diventa obsoleto.\n\nInfine, i progetti open source con un utilizzo diffuso, come Bitcoin, Bisq o portafogli come Electrum, tendono a portare a prodotti di alta qualità attirando i migliori talenti. La natura aperta dei progetti consente a chiunque di collaborare e molti ottimi sviluppatori nello spazio preferirebbero collaborare costruendo su un buon progetto piuttosto che avviare uno sforzo duplicato da zero. Nel tempo, i contributi cumulativi di questi individui portano a risultati impressionanti che spesso superano ciò che la maggior parte delle aziende, anche quelle ben finanziate, potrebbero mai raggiungere.\n\nIn sintesi, scegliere opzioni open source per gli strumenti Bitcoin comporta un ottimo set di vantaggi che ti aiutano a godere di prodotti sicuri e utili di alta qualità. Speriamo che tu diventi curioso sulla natura del codice che utilizzi nella tua vita quotidiana e che faccia scelte informate sul software che esegui. diff --git a/pocs/android_only_m2_j17jars/app/src/main/resources/academy_pcm.properties b/pocs/android_only_m2_j17jars/app/src/main/resources/academy_pcm.properties new file mode 100644 index 00000000..456e9987 --- /dev/null +++ b/pocs/android_only_m2_j17jars/app/src/main/resources/academy_pcm.properties @@ -0,0 +1,94 @@ +###################################################### +## Academy (Learn section) +###################################################### + +academy.overview=Overview + +academy.overview.subHeadline=Hitchhiker's Guide to the Cryptoverse +academy.overview.content=Bisq and Bitcoin community members dey provide information for learn about the Bitcoin space and epp you separate the important from the plenty talk. +academy.overview.selectButton=Learn more + +academy.overview.bisq=Bisq +academy.overview.bisq.content=Learn about Bisq, the Bisq DAO. Find out why Bisq dey important for your security, privacy, and to make sure say Bitcoin dey follow e original values. +academy.overview.bitcoin=Bitcoin +academy.overview.bitcoin.content=Enter deep inside Satoshi's rabbit hole. Learn about the ideas wey dey behind the blockchain, mining, and wetin make Bitcoin special. +academy.overview.security=Security +academy.overview.security.content=Learn about security concepts wey relate to how you dey handle your Bitcoin funds. Make sure you sabi the best way to keep your Bitcoin secure. +academy.overview.privacy=Privacy +academy.overview.privacy.content=Why privacy dey important? Wetin be the risk when companies dey collect your data? Why e dey necessary for a free society and for security? +academy.overview.wallets=Wallets +academy.overview.wallets.content=You wan know which wallet go fit your needs? Read here about the best options for wallets. +academy.overview.foss=Open source +academy.overview.foss.content=Bisq na free and open source software (FOSS) wey dey based on the GPL license. Why FOSS dey important? You dey interested to contribute? + + +###################################################### +## Bisq +###################################################### + +academy.bisq.subHeadline=Bisq na free and open source software wey dey allow you exchange Bitcoin with fiat currencies or other cryptocurrencies for decentralized and trust-minimized way. +academy.bisq.exchangeDecentralizedHeadline=Exchange, decentralized +academy.bisq.exchangeDecentralizedContent=Bisq na application for exchange where you fit buy and sell Bitcoin for national currencies or other cryptocurrencies. Unlike plenty other exchanges, Bisq na both decentralized and peer-to-peer.\n\nE dey decentralized because e no depend on any single company, team or government. Decentralization make Bisq one strong network: just like Bitcoin, e dey exist because of users like you. Since e no rely on one thing, e dey hard for anybody to stop or harm the network. E dey peer-to-peer because each trade wey you do, e deymatch you with another user like you. This one dey help you protect your privacy from centralized things likegovernment and traditional financial institutions. E still make Bisq permissionless: you no need anybody permission to use am, and nobody fit stop you from use am.\n\nRight now, we get two applications: Bisq 1 and Bisq 2. Bisq 2 na the application wey you dey read this. We advise you make you sabi Bisq 2 well before you wan learn more about Bisq 1. +academy.bisq.whyBisqHeadline=Why Bisq +academy.bisq.whyBisqContent=For many users, Bisq na the preferred way to buy or sell Bitcoin in exchange for national currencies. This na because Bisq get different experience from Centralized Exchanges.\n\nUsers like Bisq because e dey respect their privacy. You no need provide any personal information to use Bisq. Anytime wey you dey trade, you only need share your payment details with your trade partner. Nobody else fit access this data, and no central database dey where your information and transactions go dey stored for years or decades.\n\nBisq still allow users bypass any kind of permission wey their local government or financial institutions fit impose on them. Examples of this fit be governments wey declare Bitcoin possession or trading as illegal, or banks wey no allow customers send their own money to exchange institutions. Users wey dey these kind situations find for Bisq way wey dem go use do what they wan do without being excluded from the traditional financial system for any reason.\n\nFinally, Bisq na safe way to exchange Bitcoin and national currencies. The existing trade protocols and reputation systems dey prevent bad actors from steal your funds. Mediators dey always available to support you anytime another peer no behave well, and dem fit step in to find solution for your case. The result: Bisq users fit trade with others without fear say dem go scam dem and collect their money. +academy.bisq.tradeSafelyHeadline=Trade safely +academy.bisq.tradeSafelyContent=Exchanging your Bitcoin and national currencies with other peers comes with great benefits like not depending on companies or protecting your privacy. But you might be wondering: how can I know if the peer I'm trading with is honest? Won't I get scammed? Those are valid concerns that you should always keep in mind and that Bisq addresses in several ways to allow safe trading.\n\nThe different trade protocols (you can think of a protocol as the rules you and your peer will have to follow) minimize the risk of any actor scamming their peer during a trade. There is usually a trade-off between security and convenience: some protocols are more robust, others are more convenient and fast. It is up to you to decide which protocol to use on each trade, depending on your preferences and needs, as well as the traded amount. Protocols like Bisq Easy are recommended for small sums of money, while more robust and structured protocols like Bisq MuSig are advisable for larger amounts.\n\nIf your trade ends up in a conflict with your trade peer, or the peer simply disappears and becomes unresponsive, you will not be left alone. Mediators and arbitrators are always available to advice and provide solutions in these situations. These roles will observe each case, propose friendly solutions between the traders, and potentially make final decisions if no agreements are reached. If you have acted honestly and followed the rules, the outcomes will be in your favor and you will never lose your funds.\n\nIn summary, Bisq is designed to minimize the need for trusting other peers and to discourage scamming and other bad behaviors. This translates in very few trades having any kind of conflict, and those which do will always be solved in a reasonable way through mediation and/or arbitration. The result: trading in Bisq is a safe and smooth experience. + + +###################################################### +## Bitcoin +###################################################### + +academy.bitcoin.subHeadline=Na peer-to-peer electronic cash wey allow make online payments go directly without middlemen. +academy.bitcoin.whatIsBitcoinHeadline=Wetin Be Bitcoin +academy.bitcoin.whatIsBitcoinContent=Bitcoin na the biggest and most popular cryptocurrency for the world. E be digital cash wey allow anybody send value to other people without needing any middleman. E start for 2009 and e don grow well well since that time, e gain acceptance across the world because of e unique properties.\n\nBitcoin different from all the national currencies for plenty ways. Bitcoin no dey controlled or issued by any government or institution. E dey decentralized, and e dey exist because of the thousands of people across the world wey dey use am. This one make am neutral money, where nobody dey any special position to take abuse am. E still mean say you free to use Bitcoin without needing any kind permission, and nobody for the system get more power pass you. E be open system wey welcome everybody. Another important property be say you fit hold Bitcoin by yourself without needing any other company or entity. If you compare am with traditional currencies, e dey more like the cash wey dey your pocket (wey you get control) pass e be like balance for bank account (wey you dey subject to the bank's conditions and wishes). Because of this, you dey free anytime to send Bitcoin: you no need anybody approval to do am, and your transactions no fit be stopped or reversed. Another interesting aspect be say Bitcoin supply na limited to 21 million maximum. This one mean say the value of each bitcoin, unlike the value of each dollar for example, no fit dey reduced by creating more of am. Bitcoin dey create through one costly process wey dem dey call mining, and the amount wey fit dey created and the emission schedule dey strictly defined and no fit be modified. This one mean say the supply dey limited, certain, and predictable, and e make Bitcoin attractive because of e scarcity and robustness. +academy.bitcoin.whyUseBitcoinHeadline=Why Make You Use Bitcoin +academy.bitcoin.whyUseBitcoinContent=Bitcoin properties make am one unique asset wey dey attract different people for different reasons. How Bitcoin take attract you dey depend on your profile and needs.\n\nOne of the most common reasons wey people dey use Bitcoin na e ability to protect value over time. The national currencies for plenty countries for the world dey lose value continuously over time because of currency debasement. This one mean say as you dey hold your savings for cash or bank account, you dey lose them because their value dey reduce over time. Bitcoin limited supply no dey allow this one happen, so even if e dey behave anyhow for short term, e still be strong tool to preserve your wealth for long term.\n\nAnother reason why individuals dey use Bitcoin na to protect themselves from government and financial institutions actions and decisions. Since Bitcoin na something wey you fit own, send, and receive for permission-less way, the value wey dey inside am no go dey affected by situations like central bank wey dey print more units of their national currency, or bank wey decide to block your transfers for any reason, or government wey dey do confiscations on top their population. With Bitcoin, the rules of the game dey well-known and predictable, and you fit dey sure say the network go dey fair and treat everybody equally.\n\nBitcoin still dey attractive for those wey dey engage for international trade and wan send or receive money to other countries or regions. Bitcoin no get concept of borders and e dey work the same whether you wan send some to your neighbor or to person for the other side of the world. Since making payments to people or companies for different regions of the world usually dey involve long waiting times, high fees, and plenty paperwork, some people dey choose Bitcoin as one simple and convenient alternative for their cross-region payments. E still mean say you fit use am send money to countries wey your government or bank don decide to block.\n\nLastly, some people dey choose Bitcoin because e dey simple and convenient. Bitcoin get plenty advantages for this area when you compare am with traditional currencies. With am, you no need deal with contracts and long bureaucratic processes to do simple things like open account. You fit easily access your money for all your devices. You fit send am anywhere and to anybody without needing different forms of payment (cash, bank transfers of different sorts, credit cards, etc.). You fit easily protect and secure your funds with the right knowledge, and you no go worry about person wey go steal your wallet or credit card details.\n\nBitcoin na big and innovative step forward for the world of money and payments. E sure say there dey one reason why Bitcoin fit attract and fit useful for your needs, so we encourage you make you learn more and become familiar with am. + + +###################################################### +## Security +###################################################### + +academy.security.subHeadline=Make sure say na only you fit access your funds all the time +academy.security.introContent=Because Bitcoin dey work different from national currencies, the precautions wey you need to take dey different from wetin you sabi before. This one na very important topic because, even though Bitcoin give you plenty power and freedom, e also dey make you responsible for how you go take protect your funds. So, you suppose spend small time and effort to sabi how to secure am well.\n\nWhile security na complex topic, we fit break am down into three main goals: make sure say other people no fit access your private keys, make suresay you always fit access your private keys, and avoid to mistakenly send your bitcoin to scammers and other people wey you no trust. +academy.security.securingYourKeysHeadline=Secure your keys +academy.security.securingYourKeysContent=Firstly, you must sabi one simple idea: no be your keys, no be your coins. This one mean say, for you to truly own your Bitcoin, e suppose dey stored for one wallet where only you get control of the keys. So, if you dey keep Bitcoin for banks or centralized exchanges, e no be you truly own the asset because na those entities get control of your funds, no be you. If you really wan own your bitcoin, you suppose store am for wallet wey only you get control of the keys.\n\nPlenty Bitcoin wallets dey available, and each oneget e unique design and features. Wetin all of them get in common na say somehow, somewhere, dem go store your private keys. These keys na the ones wey go give you access to your funds. Any wallet wey you use, you suppose make sure say only you, or people wey you fully trust, get access to these keys. If another person get access to the keys, e fit steal your funds, and nothing fit fit undo the transaction. On the other hand, losing the keys yourself bad well well. If you lose your keys, you no go fit send your funds again, and nobody fit help you recover am. Even though this one fit sound like wahala, you fit easily avoid these kind situations if you learn small and you follow good practices.\n\nMost Bitcoin wallets go give you one backup wey consist of 12 or 24 words, wey people dey call mnemonic phrase or seedphrase. This backup na the most important thing for you to secure because e fit allow you restore your wallet for any device. E go dey better make you store these backups for analogical form, usually by writing am for paper or for small metal sheet, and make sure say you get different copies of am. You still suppose store am for place wey you go fit see am if you need am, but nobody else suppose fit access am.\n\nFor big amount of Bitcoin, e dey common to use specialized devices wey dem dey call Hardware Wallets to store your keys. These devices offer better security when you compare am to storing your keys for smartphone or laptop wallet, and dem still make am easy when e reach transaction. You fit learn more about these and other types of wallets for the Wallets section of Bisq Learn.\n\nLastly, make sure say you no dey use storage plan wey too complicated. One storage plan wey get plenty details and subtleties fit chase thieves comot from your funds, but e get chance say you no go fit access your own wallet because of mistakes, confusion, or simply because you forget how you arrange the backups. Aim for one balance between setup wey dey too simple (like storing your seedphrase for plain text file for your laptop's desktop) and setup wey dey too complex wey even you self no fit figure out (like storing the words of your seedphrase for 12 books for 12 different places). +academy.security.avoidScamsHeadline=Avoid scams +academy.security.avoidScamsContent=Another source of problems and risk na scams. Bitcoin transactions no fitfit reverse, so if person deceive you make you send am Bitcoin and e run go, nothing go fit happenabout am. Because of this, e common well to see different schemes wey people go try deceive you make yousend am Bitcoin. Most times, scammers go give you better "opportunity" wey go make you make money easily,and this opportunity go too dey good to be true. The specific stories and details for these scams plentywell well, but the common pattern na say dem go show you better returns, but first, you go need send Bitcoinfirst. Once you send the Bitcoin, you no go likely see am again. To protect yourself from these scams,just dey interact with reputable and trusted companies and people. If you dey feel say one entity no dey straight, make you ask for references or waka comot from there. If dem give you opportunity wey too good to be true, e probably be scam, and e better make you stay far from am. + + +###################################################### +## Privacy +###################################################### + +academy.privacy.subHeadline=Your data na your own. Keep am like that. +academy.privacy.introContent=To keep your financial information and identity private dey common among Bitcoin users. E dey natural and make sense say you no go wan make other people sabi about your funds and transactions without your permission. After all, you no fit waka for road dey wear t-shirt wey get your bank account balance and credit card reports, abi you go fit?\n\nPrivacy na important topic for Bitcoin because the way way Bitcoin transactions and addresses dey transparent dey make mistakes for this area fit cost you well well. For this section, we go cover some points about privacy for your Bitcoin journey. +academy.privacy.whyPrivacyHeadline=Why privacy dey relevant +academy.privacy.whyPrivacyContent=Many users value the freedom that Bitcoin provides them to own their property and transact freely and without permission with others. But without good privacy practices, these features of Bitcoin get seriously eroded. Disclosing information about yourself and your Bitcoin funds will put you at risk of several kinds of attacks from others that will restrict your own freedom. Reflecting on what data you are sharing and being mindful of this will prevent you from making costly mistakes that you might regret down the line.\n\nThe first obvious issue with revealing your identity and details about your funds is personal safety. If someone knows details such as how much bitcoin you hold, where you live, and what kind of wallet you are using, they could easily plot a physical attack against you in order to get hold of your keys. This is especially tempting in comparison with national currency bank accounts, since Bitcoin transactions are irreversible. Thus, if a thief manages to force you to send your bitcoin to an address of their own, or just steals your wallet keys and does so himself, there will be no way to cancel that transaction and your bitcoin won't be yours anymore. Keeping your identity and financial details private prevents you from becoming a target of this kind of attack.\n\nAnother good reason to keep your details private is the danger posed by hostile government regulations and actions. Governments throughout the world have repeatedly taken actions against their citizens' private property in various ways. A great example of this is Executive Order 6102, which made it illegal for US citizens to hold gold and caused a unilateral confiscation of gold for millions of US citizens. Just like with regular thieves, ensuring that government entities and personnel hold no information about you and your funds protects you in case the government starts a negative policy against owners of Bitcoin.\n\nOverall, you probably just don't want others to know how much Bitcoin you hold or what transactions you perform. Just like we protect our bank accounts with various methods so that only we can check our balances and movements, it makes sense to ensure others don't have the ability to view the transactions and their details, such as when, how much, or with whom we transact. +academy.privacy.giveUpPrivacyHeadline=How we dey give up our privacy +academy.privacy.giveUpPrivacyContent=Many ways dey wey person fit voluntarily or mistakenly disclose personal details. Most times, e easy to prevent am with common sense, because many times, na just by being careless e dey happen. Some subtle leaks go require small technical knowledge and time. But the good news na say, with small effort,you fit avoid the most important issues.\n\nThe biggest privacy mistake, because of how often e dey happenand how terrible e be, na to give out your ID voluntarily when you wan buy or sell Bitcoin. Nowadays, many centralized exchanges (companies like Coinbase, Kraken, Binance, etc.) dey follow government KYC regulations (KYC mean Know Your Customer). This one mean say, government dey force these companies to ask for your passport,national identity card, driver's license, or similar documents so that dem fit link this information to your account. From the moment wey you give these documents, every purchase and sale wey you do go dey recorded and linked to you. Plus, the exchange and government agencies go dey see your balance anytime. Even if you decide say you wan carry your Bitcoin commot from these exchanges and keep am for wallet wey you get control,these people go fit track the addresses wey your funds dey go. And if this one no dey give you worries, there still another wahala: if any hacker gain access to the databases of these companies, dem fit leak your information go public for the internet, wey go allow anybody for the world to sabi all your personal and financial information. This one don happen many times for the past few years, and e get serious consequences for some customers wey these exchanges affect.\n\nAnother area wey you suppose dey careful na address re-use. Every time wey you give person the address of your wallet make e send you some bitcoin, this person go sabi say this address belong to you. This one mean say, from that time, the person fit dey monitor the address and everything wey happen inside. If you dey reuse this address over and over, every person wey you dey interact with go fit see the different transactions wey dey that address, including when dem happen, where the funds dey come from and go, and the amount wey dem dey transact. So e better make you dey use addresses to receive bitcoin just once. Most wallets go dey take care of this one for you, but e still dey important make you sabi why e good like that.\n\nLastly, to dey rely on other people's nodes to read blockchain data fit mean say the person wey run the node fit dey monitor the addresses wey your wallet dey interested in. When you dey handle significant amount of Bitcoin,e go dey make sense if you learn how to run your own node and connect your wallet to am. Or at least, make sure say you dey careful about the node wey you wan connect to and choose one from person or organization wey you trust,like your friend wey sabi Bitcoin well or the local Bitcoin community. +academy.privacy.bisqProtectsPrivacyHeadline=Bisq dey help protect your privacy +academy.privacy.bisqProtectsPrivacyContent=Bisq allow you buy and sell Bitcoin from other people. This simple difference get plenty advantages when you compare am with using centralized exchanges when e reach privacy. If you use Bisq, e go protect your safety and privacy from government, companies, and other people wey wan record and use your data against your interest.\n\nWhen you dey transact for Bisq, na only you and your peer sabi the details of the transaction. And even between both of una, the information wey una suppose share dey very small and e dey restricted to the necessary payment details, like, for example, your bank account number if you wan receive fiat payment for your bank account. This one mean say you no need provide information like your ID, address, etc. Again, the way wey you fit interact with different peers on every trade dey prevent one person from gathering data about you with time, and e dey distribute your transaction history among different people, and e dey prevent any one person from fit see your full financial life. Bisq also allow you receive any bitcoin wey you buy directly for address of the wallet wey you get control, wey e enable you get control of your funds at all time, and e give you the chance to distribute am across different addresses so that no single person fit dey monitor your wallet.\n\nRemember say, Bisq na just software wey dey run for your computer, and e dey connect to the internet through privacy friendly networks like Tor and I2P. You no even need to sign up somewhere for pseudonymous way. Because of this, nobody fit sabi say you dey use Bisq, and your communication with other participants no fit dey monitored, tracked or accessed by third parties. + + +###################################################### +## Wallets +###################################################### + +academy.wallets.subHeadline=Picking the right tools to handle and secure your bitcoin. +academy.wallets.whatIsAWalletHeadline=What is a wallet +academy.wallets.whatIsAWalletContent=Wallets are your tool to perform the most fundamental actions in Bitcoin: receiving it, storing it and sending it. Since Bitcoin is an open system, anyone can build a wallet for it, and many different ones exist. This is great because it means you have plenty of different options in the market from which to choose, and you can even use multiple different wallets to cover different needs.\n\nGenerally, a wallet is a piece of software that does several things for you: it reads the blockchain to check the balance of the addresses you control. It can build and send transactions when you want to pay someone else. And it holds your keys so that you can sign your transactions. Some of these features look different in different wallets, and some wallets only cover parts of them. To understand this better, it's useful to be familiar with the different characteristics that make wallets different from each other.\n\nFirst, you should understand the difference between a hot wallet and a cold wallet. A hot wallet is a software wallet where the keys that control your bitcoin are stored on an internet-connected device. A cold wallet, on the other hand, is a setup where your keys are stored on a device that is never connected to the internet, and you use a different software to track your balance and prepare and send transactions. Hot wallets are typically a simple app on your phone or laptop. A cold wallet, on the other hand, means you use a software in your phone or laptop that does not hold your keys, and you combine that with a second device that holds the keys and never connects to the internet. This second device could be a dedicated laptop or smartphone, or more commonly, a hardware wallet. Hot wallets are simpler to manage and use, but they are also less secure. Cold wallets require a slightly more complex and cumbersome setup, but offer a much higher degree of safety against hacks and mistakes when handling keys. How to handle the risks of managing your funds is a personal decision, but it is generally recommended to use hot wallets like your traditional wallet for bills and coins in your pocket, and cold wallets like a safe box in a bank. You wouldn't carry a million dollars in your wallet. And you wouldn't use the contents of your safe box to pay for a coffee.\n\nHardware wallets are special physical devices that are designed and manufactured with the sole purpose of storing the keys to your funds and signing transactions with those keys. They offer a convenient way to sign transactions to spend your funds, while storing your keys in a safe way that prevents leaking them to others. Using a hardware wallet improves your safety by orders of magnitude in comparison to using a hot wallet on your main computer or smartphone. If you are getting started on your Bitcoin journey, you don't need to have a wallet since day one, but you probably want to obtain one once you start accumulating an amount of bitcoin that would hurt to lose. There are many hardware wallets on the market, with typical prices being around $100.\n\nAnd a final note: a balance in a centralized exchange is not a wallet. Since you don't control the keys, you are relying on and trusting the centralized exchange to actually hold your bitcoin. If, for any reason, they do not send it to you when you decide to withdraw, there is no way for you to get hold of it. Remember: not your keys, not your coins. +academy.wallets.howToPickHeadline=How to pick a wallet +academy.wallets.howToPickContent=Choosing the right wallet for you is a decision that depends on many factors, such as how you are going to use Bitcoin, what amounts you will be handling, or what devices you own. Nevertheless, there are a few general recommendations that you can follow and specific wallets that have a good track record.\n\nThe first and most important general advice is to pick an open source wallet. Ensuring your wallet's code is verifiable is paramount. You can learn more about this in the Open Source section of Bisq Learn. Another important recommendation is to pick a wallet that doesn't support other cryptocurrencies besides Bitcoin. Wallets that handle multiple cryptocurrencies need to use more complex code to work with the different supported currencies, which introduces bigger security risks. Hence, it is better to choose a Bitcoin-only wallet for your funds. Finally, try to look for wallets that have been around for a while, have strong user bases and have a good reputation. It is best to leave brand-new wallets for advanced usage or experiments at most.\n\nIf you plan on using your wallet on your smartphone, we advise looking into one of the following wallets: Bluewallet, Blockstream Green or Nunchuk. On the other hand, if you want to use a PC, we would suggest using one of the following: Sparrow, Bluewallet, Electrum, Blockstream Green or Nunchuk. These are all good wallets for beginners. You can try several of them to find which one suits you better, or even use multiple ones simultaneously if you want to. As you acquire more experience and knowledge, you might start developing preferences depending on the more advanced features that make these wallets a bit different from each other.\n\nOnce you have enough funds to start taking security even more seriously, it will probably make sense to acquire a hardware wallet. With a hardware wallet, you will be able to store your keys in it and sign transactions with it, while you can still use a software like Sparrow, Bluewallet or Nunchuk to read your balances and prepare transactions. When it comes to hardware wallets, most of the same advice applies: pick wallets that have transparent and public designs, that only support Bitcoin and that have a good reputation and track record. Some well-known brands are Coldcard, Bitbox, Trezor or Foundation.\n\nThe world of wallets is rich and diverse, which is both great and confusing. It's perfectly fine to be a bit overwhelmed at first. If you are just starting out, we would advise researching a bit, trying on some of the options we have shared with you, and, once you find one with which you feel comfortable, stick to it. As you keep learning more about Bitcoin, you can always explore new and more advanced options and switch to any other wallet, or use multiple of them, whenever you like. + + +###################################################### +## Free Open Source Software +###################################################### + +academy.foss.subHeadline=Learn about open source software and how e dey power Bitcoin and Bisq +academy.foss.bitcoinAndFossHeadline=Bitcoin and open source software +academy.foss.bitcoinAndFossContent=Open source software is software for which the code is publicly accessible and anyone can read, copy and modify that code in any way they see fit. This is in contrast with closed-source or proprietary software, where the original author decides to keep the code to himself and no one else has access or permission to it. Even though this might feel like a technical topic, it is in your interest to understand the implications of open source software on your Bitcoin journey. Let's dive into it.\n\nThe world of Bitcoin is deeply influenced by and related to open source software. The Bitcoin software itself has been open source since day one. Bisq is also an open source project. Many other surrounding technologies, like Lightning clients, mixing services or mining firmware, are typically built as open source projects. Many wallets are also open source, and as we discuss in the Wallets section of Bisq Learn, we heavily recommend that you pick wallets that are open source.\n\nWhy is this so? Closed source software is usually built and kept private by companies and individuals that want to charge others for licenses and keep full control of the project. In the Bitcoin space, this is rarely the case. Bitcoin is an open and welcoming system by nature, and the code is a representation of this. Anyone can see the code, modify it, share copies of their own version with others, and, put simply, do as he pleases with it. Bisq is also an open source project where everyone is welcome to participate, expand the application, and make improvements in different ways. +academy.foss.openSourceBenefitsHeadline=How open source dey benefit you +academy.foss.openSourceBenefitsContent=You fit think say, since you no be software developer, whether the code ofsome software na public or not no too consign you. This one no correct at all. Even if you no plan to look ormodify the code of the apps wey you dey use, your experience with am go deeply affected by whether the code deyopen or closed source. This one dey even more important when we dey talk about the software wey go run yourfinancial life and support your ability to save, receive, and send money. Generally, using open source softwarego benefit you pass using closed source equivalents. Make we break down some important reasons wey make amimportant for you.\n\nOne very important reason to choose open source software na security. Since open sourcesoftware fit be read by anybody, hackers and bad actors dey regularly find errors and security holes inside am.You fit think say e dey dangerous, but e dey the other way round! This one na because the code wey e open toeverybody means say anybody fit find security issues and either point am out, fix am themselves, or exploitam for bad purpose. Collectively, the community of users and developers around the project fit spot and fixmost errors quickly, sometimes even before dem release am. And if person use the error for bad purpose toexploit the software, e no go tey before dem notice am and find solution. For closed source software,only the small, paid team wey dey behind the project dey review the code, wey translate to say e get higherchance for errors to go unnoticed. More eyes, fewer bugs. And companies too get incentive to no reveal the factsay their closed source products get security issues, wey cause plenty bugs and hacks wey dem dey keep secretinstead of dey disclose am. Lastly, since for closed source projects, only the developing team fit see thecode, how you or anybody fit dey fully confident say the software dey safe? This one relate to one commonsaying for Bitcoin culture: no trust, verify. Overall, open source software dey lead to much more secure androbust results pass closed source software.\n\nAnother great reason to choose open source software passclosed source na for the long term. Code wey dey public no depend on any single entity or individual todey maintain am over time. Even if the original team behind the project disappear one day, others fit takeover and continue to maintain and evolve am. The biggest example na Bitcoin itself: even though thepseudonymous creator, Satoshi Nakamoto, disappear more than ten years ago, the project still dey grow anddey flourish beyond all expectations. So, anytime wey you choose open source software pass closed source,you dey dramatically reduce the chance say some company or developer go leave you dey use some software weyno dey maintained and e go fade and become outdated.\n\nLast last, open source projects wey people deyuse well, like Bitcoin, Bisq, or wallets like Electrum, dey attract the best talent and lead to high-qualityproducts. The open nature of the projects allow anybody to collaborate, and many great developers for the spacego prefer to collaborate by building on top of better project instead of start duplicate effort from scratch.Over time, the contributions from these people dey lead to impressive results wey dey often pass wetin mostcompanies, even the ones wey get plenty money, fit achieve.\n\nTo sum up, choose open source options foryour Bitcoin tools come with plenty advantages wey go help you enjoy safe and useful products of high quality.We dey hope say you go dey curious about the nature of the code wey you dey use for your daily life and yougo dey make informed choices over the software wey you dey run. diff --git a/pocs/android_only_m2_j17jars/app/src/main/resources/academy_pt_BR.properties b/pocs/android_only_m2_j17jars/app/src/main/resources/academy_pt_BR.properties new file mode 100644 index 00000000..741c4f12 --- /dev/null +++ b/pocs/android_only_m2_j17jars/app/src/main/resources/academy_pt_BR.properties @@ -0,0 +1,94 @@ +###################################################### +## Academy (Learn section) +###################################################### + +academy.overview=Visão Geral + +academy.overview.subHeadline=Guia do Carona para o Criptoverso +academy.overview.content=Membros da comunidade Bisq e Bitcoin fornecem conteúdo para aprender sobre o universo do Bitcoin e ajudam a filtrar o essencial do supérfluo. +academy.overview.selectButton=Aprenda mais + +academy.overview.bisq=Bisq +academy.overview.bisq.content=Aprenda sobre o Bisq, o DAO do Bisq. E descubra por que o Bisq é importante para a sua segurança, privacidade e para manter o Bitcoin alinhado com seus valores fundamentais. +academy.overview.bitcoin=Bitcoin +academy.overview.bitcoin.content=Explore profundamente a toca do coelho de Satoshi. Aprenda sobre os conceitos por trás do blockchain, mineração e o que torna o Bitcoin único. +academy.overview.security=Segurança +academy.overview.security.content=Aprenda sobre conceitos de segurança relacionados ao manejo dos seus fundos em Bitcoin. Certifique-se de entender as melhores práticas para manter seu Bitcoin seguro. +academy.overview.privacy=Privacidade +academy.overview.privacy.content=Por que a privacidade é importante? Quais são os riscos quando empresas coletam seus dados? Por que a privacidade é uma exigência para uma sociedade liberal e para a segurança? +academy.overview.wallets=Carteiras +academy.overview.wallets.content=Quer descobrir qual carteira é melhor para suas necessidades? Leia aqui sobre as melhores opções de carteiras. +academy.overview.foss=Código Aberto +academy.overview.foss.content=Bisq é um software de código aberto e gratuito (FOSS) baseado na licença GPL. Por que o FOSS é importante? Interessado em contribuir? + + +###################################################### +## Bisq +###################################################### + +academy.bisq.subHeadline=Bisq é um software livre e de código aberto para trocar Bitcoin por moedas fiduciárias ou outras criptomoedas de forma descentralizada e com minimização de confiança. +academy.bisq.exchangeDecentralizedHeadline=Troca, descentralizada +academy.bisq.exchangeDecentralizedContent=Bisq é um aplicativo de troca onde você pode comprar e vender Bitcoin por moedas nacionais ou outras criptomoedas. Ao contrário da maioria das alternativas de troca, o Bisq é descentralizado e ponto a ponto (peer-to-peer).\n\nÉ descentralizado porque não depende e não é controlado por nenhuma empresa, equipe ou governo. A descentralização torna o Bisq uma rede resiliente: assim como o Bitcoin, existe por causa de usuários como você. Como não há um único elemento em que tudo depende, é significativamente difícil para alguém parar ou prejudicar a rede. É ponto a ponto porque cada negociação que você realiza é combinada com outro usuário como você. Isso ajuda a proteger sua privacidade de elementos centralizados como governos e instituições financeiras tradicionais. Também torna o Bisq sem permissões: você não precisa da autorização de ninguém para usá-lo, e ninguém pode impedir você de fazê-lo.\n\nAtualmente, existem duas aplicações: Bisq 1 e Bisq 2. Bisq 2 é a aplicação onde você está lendo isto. Recomendamos que você se familiarize com o Bisq 2 antes de tentar aprender mais sobre o Bisq 1. +academy.bisq.whyBisqHeadline=Por que Bisq +academy.bisq.whyBisqContent=Para muitos usuários, o Bisq é o método preferido para comprar ou vender Bitcoin em troca de moedas nacionais. Isso ocorre porque a natureza do Bisq resulta em uma experiência completamente diferente daquela das Bolsas Centralizadas.\n\nOs usuários também valorizam a natureza que respeita a privacidade do Bisq. Você não precisa fornecer nenhum tipo de informação pessoal para usar o Bisq. Sempre que você negocia, só precisa compartilhar seus detalhes de pagamento com seu parceiro de negociação. Ninguém mais tem acesso a esses dados, e não há um banco de dados central onde todas as suas informações e transações acabarão armazenadas por anos ou décadas.\n\nO Bisq também permite que os usuários superem qualquer falta de permissões que possam ser impostas arbitrariamente por seus governos locais ou instituições financeiras. Exemplos disso podem ser governos que declaram a posse ou negociação de Bitcoin ilegal, ou bancos que proíbem clientes de enviar seu próprio dinheiro para instituições de troca. Usuários nessas situações encontram no Bisq uma maneira de contornar a exclusão do sistema financeiro tradicional por qualquer motivo.\n\nFinalmente, o Bisq é uma forma segura de trocar Bitcoin e moedas nacionais. Os protocolos de negociação existentes e os sistemas de reputação impedem atores mal-intencionados de roubar seus fundos. Mediadores estão sempre disponíveis para apoiar você se outro par não estiver se comportando adequadamente e intervirão, se necessário, para encontrar uma solução para o seu caso. O resultado: os usuários do Bisq podem negociar felizmente com outros sem ter que se preocupar em ser enganados e perder seus fundos. +academy.bisq.tradeSafelyHeadline=Negocie com segurança +academy.bisq.tradeSafelyContent=Trocar seus Bitcoins e moedas nacionais com outros pares traz grandes benefícios como não depender de empresas ou proteger sua privacidade. Mas você pode estar se perguntando: como posso saber se o par com quem estou negociando é honesto? Não serei enganado? Essas são preocupações válidas que você deve sempre ter em mente e que a Bisq aborda de várias maneiras para permitir uma negociação segura.\n\nOs diferentes protocolos de negociação (você pode pensar em um protocolo como as regras que você e seu par terão que seguir) minimizam o risco de qualquer ator enganar seu par durante uma negociação. Geralmente há um equilíbrio entre segurança e conveniência: alguns protocolos são mais robustos, outros são mais convenientes e rápidos. Cabe a você decidir qual protocolo usar em cada negociação, dependendo de suas preferências e necessidades, bem como do valor negociado. Protocolos como Bisq Easy são recomendados para pequenas somas de dinheiro, enquanto protocolos mais robustos e estruturados como Bisq MuSig são aconselháveis para maiores quantias.\n\nSe sua negociação terminar em um conflito com seu par comercial, ou o par simplesmente desaparecer e se tornar não responsivo, você não será deixado sozinho. Mediadores e árbitros estão sempre disponíveis para aconselhar e fornecer soluções nessas situações. Esses papéis observarão cada caso, proporão soluções amigáveis entre os negociantes e, potencialmente, tomarão decisões finais se nenhum acordo for alcançado. Se você agiu honestamente e seguiu as regras, os resultados serão a seu favor e você nunca perderá seus fundos.\n\nEm resumo, a Bisq é projetada para minimizar a necessidade de confiar em outros pares e para desencorajar fraudes e outros comportamentos inadequados. Isso resulta em muito poucas negociações tendo qualquer tipo de conflito, e aquelas que têm sempre serão resolvidas de maneira razoável através de mediação e/ou arbitragem. O resultado: negociar na Bisq é uma experiência segura e tranquila. + + +###################################################### +## Bitcoin +###################################################### + +academy.bitcoin.subHeadline=Uma moeda eletrônica peer-to-peer que permite pagamentos online diretamente sem intermediários. +academy.bitcoin.whatIsBitcoinHeadline=O que é Bitcoin +academy.bitcoin.whatIsBitcoinContent=Bitcoin é a criptomoeda mais popular e conhecida do mundo. É uma forma digital de dinheiro que permite a qualquer pessoa enviar valor a outras pessoas sem a necessidade de intermediários. Surgiu em 2009 e cresceu massivamente desde então, ganhando adoção em todo o mundo devido às suas propriedades únicas e atrativas.\n\nBitcoin difere de todas as moedas nacionais em vários aspectos. Bitcoin não é controlado ou emitido por nenhum governo ou instituição. É descentralizado e existe apenas por causa dos milhares de pessoas ao redor do mundo que o utilizam. Isso faz dele um dinheiro neutro, onde ninguém está em uma posição privilegiada que permita abuso. Isso também significa que você é livre para usar Bitcoin sem precisar de qualquer tipo de permissão, e ninguém no sistema tem mais poder do que você. É um sistema aberto que acolhe a todos. Outra propriedade importante é que você pode deter Bitcoin em auto-custódia. Em outras palavras, você pode possuí-lo sem depender de qualquer outra empresa ou entidade. Comparado às moedas tradicionais, é mais semelhante ao dinheiro no seu bolso (que você controla completamente) do que a um saldo em uma conta bancária (onde você está sujeito às condições e desejos do banco). Por isso, você também é sempre livre para enviar Bitcoin: você não precisa da aprovação de ninguém para fazê-lo, e suas transações não podem ser interrompidas ou revertidas. Um terceiro aspecto interessante é que o fornecimento de Bitcoin é limitado a um máximo de 21 milhões. Isso significa que o valor de cada bitcoin, ao contrário do valor de cada dólar, por exemplo, não pode ser desvalorizado pela criação de mais unidades. Bitcoin é criado através de um processo custoso chamado mineração, e tanto o cronograma de emissão quanto a quantidade máxima que pode ser criada são estritamente definidos e não podem ser modificados. Isso torna o fornecimento limitado, certo e previsível, tornando Bitcoin atrativo devido à sua escassez e robustez. +academy.bitcoin.whyUseBitcoinHeadline=Por que usar Bitcoin +academy.bitcoin.whyUseBitcoinContent=As propriedades do Bitcoin o tornam um ativo único que atrai diferentes pessoas por diferentes motivos. Como o Bitcoin lhe atrai depende do seu perfil e necessidades.\n\nUm dos motivos mais comuns para as pessoas usarem Bitcoin é sua capacidade de proteger valor ao longo do tempo. As moedas nacionais da maioria dos países do mundo perdem valor continuamente ao longo do tempo devido à desvalorização monetária. Isso significa que, ao manter suas economias em dinheiro ou em uma conta bancária, você está gradualmente perdendo-as porque seu valor diminui ao longo do tempo. O fornecimento limitado do Bitcoin impede que isso aconteça, então, mesmo que se comporte de maneira volátil no curto prazo, é uma ferramenta poderosa para preservar sua riqueza a longo prazo.\n\nOutro motivo para as pessoas usarem Bitcoin é para se protegerem das ações e decisões de governos e instituições financeiras. Como o Bitcoin é algo que você pode possuir, enviar e receber de maneira sem permissão, o valor armazenado nele não é afetado por situações como um banco central imprimindo mais unidades de sua moeda nacional, um banco decidindo bloquear suas transferências por motivos arbitrários, ou um governo impondo confisco em sua população. Com o Bitcoin, as regras do jogo são bem conhecidas e previsíveis, e você pode contar com a rede sendo justa e tratando a todos igualmente.\n\nBitcoin também é muito atrativo para quem participa de comércio internacional e busca enviar ou receber dinheiro para outros países ou regiões. Bitcoin não tem conceito de fronteiras e funciona da mesma forma, seja você enviando para seu vizinho ou para alguém do outro lado do mundo. Uma vez que fazer pagamentos para pessoas ou empresas em diferentes regiões do mundo geralmente significa longos tempos de espera, taxas significativas e burocracia complicada, algumas pessoas escolhem o Bitcoin como uma alternativa simples e conveniente para seus pagamentos trans-regionais. Isso também significa que você pode usá-lo para enviar dinheiro para países que seu governo ou banco decidiram bloquear.\n\nFinalmente, algumas pessoas escolhem o Bitcoin por sua simplicidade e conveniência. Bitcoin apresenta muitas vantagens nesse sentido em relação às moedas tradicionais. Com ele, você não precisa lidar com contratos e processos burocráticos longos para fazer coisas simples como abrir uma conta. Você pode acessar facilmente seu dinheiro em todos os seus dispositivos. Pode enviá-lo para qualquer lugar e para qualquer pessoa sem a necessidade de diferentes formas de pagamento (dinheiro, transferências bancárias de diferentes tipos, cartões de crédito, etc.). Você pode facilmente proteger e garantir seus fundos com o conhecimento certo, e não terá que se preocupar com alguém roubando sua carteira ou detalhes do cartão de crédito.\n\nBitcoin é um enorme e inovador passo à frente no mundo do dinheiro e dos pagamentos. Certamente existe algum motivo pelo qual o Bitcoin pode ser atrativo e útil para suas necessidades, então encorajamos você a aprender mais e se familiarizar com ele. + + +###################################################### +## Security +###################################################### + +academy.security.subHeadline=Garantindo que você, e somente você, sempre tenha acesso aos seus fundos +academy.security.introContent=Como o Bitcoin é bastante diferente das moedas nacionais na forma como funciona, as precauções que você precisa tomar também são bastante diferentes do que você provavelmente está acostumado. Este também é um tópico extremamente importante, pois, embora o Bitcoin lhe forneça muito poder e liberdade, também o torna responsável por cuidar dos seus fundos. Portanto, você deve investir algum tempo e esforço para aprender como fazer isso de forma segura. \n\nEmbora a segurança seja um tópico complexo, podemos resumir as coisas em três objetivos principais: garantir que outras pessoas nunca tenham acesso às suas chaves privadas, garantir que você sempre tenha acesso às suas chaves privadas e evitar enviar acidentalmente seus bitcoins para golpistas e outros pares não confiáveis. +academy.security.securingYourKeysHeadline=Protegendo suas chaves +academy.security.securingYourKeysContent=Primeiramente, você deve entender uma ideia simples: não são suas chaves, não são suas moedas. Isso significa que, para você realmente possuir seu Bitcoin, ele deve ser armazenado em uma carteira onde você, e somente você, possua as chaves. Assim, manter um saldo de Bitcoin em entidades como bancos ou bolsas centralizadas não é realmente possuir o ativo, pois são essas entidades, e não você, que possuem as chaves dos seus fundos. Se você realmente deseja possuir seu bitcoin, deve armazená-lo em uma carteira pela qual apenas você controle as chaves.\n\nExistem muitas carteiras Bitcoin por aí, cada uma com seu próprio design e recursos únicos. O que todas têm em comum é que, de alguma forma, em algum lugar, elas armazenarão suas chaves privadas. Estas chaves fornecem acesso aos seus fundos. Qualquer carteira que você use, deve garantir que somente você, ou pessoas em quem você confia plenamente, tenham acesso a essas chaves. Se alguém mais tiver acesso a elas, poderá roubar seus fundos, e nada pode ser feito para reverter essa transação. Por outro lado, perder as chaves é igualmente terrível. Se você perder suas chaves, não poderá mais enviar seus fundos, e não há como retomar o controle deles. Embora isso possa parecer assustador, você pode facilmente evitar essas situações com um pouco de aprendizado e boas práticas.\n\nA maioria das carteiras Bitcoin fornecerá a você um backup de 12 ou 24 palavras, comumente conhecido como frase mnemônica ou simplesmente seedphrase. Esta frase de backup permite que você restaure sua carteira em qualquer dispositivo, tornando-se o elemento mais importante para você proteger. Geralmente é aconselhável armazenar esses backups em forma analógica, tipicamente escrevendo-os em um pedaço de papel ou em uma pequena chapa de metal, e ter várias cópias deles. Você também deve armazená-la de forma que possa encontrá-la se precisar, mas ninguém mais possa acessá-la.\n\nPara quantidades significativas de Bitcoin, é comum usar dispositivos especializados chamados Carteiras de Hardware para armazenar suas chaves. Esses dispositivos oferecem um nível superior de segurança com relação ao armazenamento de suas chaves em uma carteira de smartphone ou laptop, ao mesmo tempo que proporcionam uma experiência conveniente ao fazer transações. Você pode aprender mais sobre esses e outros tipos de carteiras na seção Carteiras do Bisq Learn. \n\nPor fim, certifique-se de evitar esquemas de armazenamento excessivamente complicados. Um plano de armazenamento avançado com muitos detalhes e sutilezas manterá os ladrões longe dos seus fundos, mas também há uma chance significativa de que você não consiga acessar sua própria carteira devido a erros, confusão ou simplesmente esquecimento de como organizou os backups. Busque um equilíbrio entre uma configuração muito simples e qualquer um poderia facilmente quebrar (como armazenar sua seedphrase em um arquivo de texto simples na área de trabalho do seu laptop) e uma que seja tão complexa que nem mesmo você possa desvendar (como armazenar as palavras da sua seedphrase em 12 livros em 12 locais diferentes). +academy.security.avoidScamsHeadline=Evite golpes +academy.security.avoidScamsContent=Outra fonte de problemas e riscos são os golpes. As transações de Bitcoin são irreversíveis, o que significa que, se alguém te enganar e você enviar algum Bitcoin e depois fugir com ele, realmente não há muito o que você possa fazer a respeito. Por isso, é comum encontrar diferentes esquemas onde as pessoas tentarão convencê-lo a enviar algum bitcoin para elas. Na maioria das vezes, golpistas apresentarão a você alguma "oportunidade" maravilhosa para ganhar dinheiro facilmente, o que tende a parecer bom demais para ser verdade. As histórias específicas e detalhes em torno desses golpes são extremamente diversos e criativos, mas o padrão comum sempre será o mesmo: será oferecido a você alguns retornos maravilhosos, mas primeiro, você terá que enviar bitcoin adiantado. Uma vez que o bitcoin é enviado, provavelmente você nunca mais o verá voltar para você. Defender-se desses golpes é simples: interaja apenas com empresas e pessoas respeitáveis e confiáveis. Se você achar que alguma entidade é suspeita, peça referências ou simplesmente evite-a. Se uma oportunidade que parece quase boa demais para ser verdade for oferecida a você, provavelmente é, e você deve ficar longe dela. + + +###################################################### +## Privacy +###################################################### + +academy.privacy.subHeadline=Seus dados são seus. Mantenha-os assim. +academy.privacy.introContent=Manter suas informações financeiras e identidade privadas é uma necessidade comum entre os usuários de Bitcoin. É natural e lógico não querer que outras pessoas saibam sobre seus fundos e transações sem o seu consentimento. Afinal, você não usaria uma camiseta com o saldo da sua conta bancária e relatórios do cartão de crédito enquanto caminha pela rua, usaria? Privacidade é um tópico importante no Bitcoin porque a natureza transparente das transações e endereços do Bitcoin torna os erros nesta área especialmente custosos. Nesta seção, abordamos alguns pontos sobre privacidade na sua jornada com Bitcoin. +academy.privacy.whyPrivacyHeadline=Por que a privacidade é relevante +academy.privacy.whyPrivacyContent=Muitos usuários valorizam a liberdade que o Bitcoin lhes proporciona para possuir seus bens e transacionar livremente e sem permissão com outros. Mas sem boas práticas de privacidade, essas características do Bitcoin são seriamente erodidas. Divulgar informações sobre si mesmo e seus fundos em Bitcoin coloca você em risco de vários tipos de ataques de outros que restringirão sua própria liberdade. Refletir sobre quais dados você está compartilhando e estar atento a isso evitará que você cometa erros caros que possa se arrepender mais tarde.\n\nA primeira questão óbvia ao revelar sua identidade e detalhes sobre seus fundos é a segurança pessoal. Se alguém souber detalhes como quanto bitcoin você possui, onde você mora e que tipo de carteira você está usando, poderá facilmente tramar um ataque físico contra você para obter suas chaves. Isso é especialmente tentador em comparação com contas bancárias em moeda nacional, já que as transações de Bitcoin são irreversíveis. Assim, se um ladrão conseguir forçá-lo a enviar seu bitcoin para um endereço próprio, ou simplesmente roubar as chaves de sua carteira e fazer isso por conta própria, não haverá como cancelar essa transação e seu bitcoin não será mais seu. Manter sua identidade e detalhes financeiros privados evita que você se torne um alvo desse tipo de ataque.\n\nOutro bom motivo para manter seus detalhes privados é o perigo representado por regulamentos e ações governamentais hostis. Governos ao redor do mundo repetidamente tomaram ações contra a propriedade privada de seus cidadãos de várias maneiras. Um ótimo exemplo disso é a Ordem Executiva 6102, que tornou ilegal para cidadãos dos EUA possuir ouro e causou a confiscação unilateral de ouro para milhões de cidadãos dos EUA. Assim como com ladrões comuns, garantir que entidades e pessoal do governo não tenham informações sobre você e seus fundos protege você caso o governo inicie uma política negativa contra proprietários de Bitcoin.\n\nNo geral, você provavelmente apenas não quer que outros saibam quanto Bitcoin você possui ou quais transações você realiza. Assim como protegemos nossas contas bancárias com vários métodos para que apenas nós possamos verificar nossos saldos e movimentações, faz sentido garantir que outros não tenham a capacidade de visualizar as transações e seus detalhes, como quando, quanto ou com quem transacionamos. +academy.privacy.giveUpPrivacyHeadline=Como abrimos mão da nossa privacidade +academy.privacy.giveUpPrivacyContent=Existem muitas maneiras pelas quais alguém pode divulgar voluntária ou acidentalmente detalhes pessoais. Na maioria das vezes, isso é fácil de prevenir com um pouco de bom senso, já que frequentemente apenas entregamos nossos detalhes por não pensar sobre isso. Vazamentos mais sutis exigirão algum conhecimento técnico e tempo. Mas a boa notícia é que, com esforço mínimo, os problemas mais significativos podem ser evitados.\n\nO campeão claro de erros de privacidade, tanto pela frequência quanto pela gravidade, é simplesmente fornecer seu ID voluntariamente ao comprar ou vender Bitcoin. Atualmente, a maioria das bolsas centralizadas (empresas como Coinbase, Kraken, Binance, etc.) estão sujeitas a regulamentações governamentais de KYC (KYC significa Conheça Seu Cliente). Isso significa que governos obrigam essas empresas a pedir seu passaporte, carteira de identidade nacional, carteira de motorista ou documentos similares para que essas informações possam ser associadas à sua conta. A partir do momento em que você as fornece, cada compra e venda que você faz será registrada e vinculada a você. Além disso, a bolsa e as agências governamentais terão total visibilidade dos seus saldos a qualquer momento. Mesmo que você decida retirar seu Bitcoin dessas bolsas e colocá-lo em uma carteira de sua custódia, essas partes poderão rastrear para quais endereços seus fundos foram enviados. E se isso não for preocupante o suficiente, há outra preocupação a ter em mente: se algum hacker ganhar acesso aos bancos de dados dessas empresas, suas informações podem ser vazadas publicamente na internet, permitindo que qualquer pessoa no mundo saiba todas as suas informações pessoais e financeiras armazenadas. Esta é uma situação que já aconteceu várias vezes nos últimos anos, com consequências terríveis para alguns dos clientes afetados das bolsas.\n\nOutra área que requer atenção é a reutilização de endereços. Toda vez que você fornecer a alguém um endereço de sua carteira para receber algum bitcoin deles, essa pessoa saberá que este endereço pertence a você. Isso significa que, a partir desse ponto, a pessoa poderá monitorar o endereço e toda a sua atividade. Se você reutilizar este endereço repetidamente, cada pessoa com quem interagir poderá ver as diferentes transações passando pelo endereço, incluindo quando acontecem, de onde os fundos vêm e para onde vão, e os montantes sendo transacionados. Portanto, recomenda-se usar endereços para receber bitcoin apenas uma vez. A maioria das carteiras cuidará disso automaticamente para você, mas ainda é importante para você entender por que isso é uma boa prática.\n\nFinalmente, depender dos nós de outras pessoas para ler dados da blockchain significa que o operador do nó pode potencialmente monitorar quais endereços sua carteira está interessada. Ao lidar com quantidades significativas de Bitcoin, vale a pena aprender como rodar seu próprio nó e conectar sua carteira a ele. Ou, pelo menos, ter cuidado sobre qual nó você está se conectando e escolher um de uma pessoa ou organização em quem você confia, como um amigo mais experiente em Bitcoin ou uma comunidade local de Bitcoin. +academy.privacy.bisqProtectsPrivacyHeadline=Bisq ajuda a proteger sua privacidade +academy.privacy.bisqProtectsPrivacyContent=Bisq permite que você compre e venda Bitcoin com outros pares. Essa simples diferença traz um mundo de vantagens em relação à privacidade quando comparada ao uso de bolsas centralizadas. Ao usar Bisq, você protege sua segurança e privacidade de governos, empresas e outras terceiras partes hostis que de outra forma registrariam e usariam seus dados contra seus próprios interesses.\n\nQuando você realiza transações no Bisq, apenas você e seu par conhecem os detalhes da transação. E mesmo entre vocês dois, as informações que precisam ser compartilhadas são completamente minimizadas e restritas aos detalhes de pagamento estritamente necessários, como, por exemplo, o número da sua conta bancária se você desejar receber um pagamento em moeda fiduciária na sua conta bancária. Isso significa que não há necessidade de fornecer informações como seu ID, endereço, etc. Além disso, a capacidade de interagir com diferentes pares em cada negociação impede que qualquer indivíduo acumule dados sobre você ao longo do tempo, distribuindo assim o seu histórico de transações entre diferentes contrapartes e impedindo que uma única entidade tenha uma visão completa da sua vida financeira. O Bisq também permite que você receba qualquer bitcoin que compre diretamente em um endereço de uma carteira que você controla, permitindo que você mantenha controle dos seus fundos em todos os momentos e os distribua por diferentes endereços, de modo que nenhum par único possa monitorar toda a sua carteira.\n\nE lembre-se: Bisq é apenas um software que roda no seu computador e se conecta à internet apenas através de redes amigáveis à privacidade, como Tor e I2P. Você nem precisa se registrar em lugar algum de maneira pseudônima. Por causa disso, ninguém pode sequer saber que você está usando o Bisq, e sua comunicação com outros participantes não pode ser monitorada, rastreada ou acessada por terceiros. + + +###################################################### +## Wallets +###################################################### + +academy.wallets.subHeadline=Escolhendo as ferramentas certas para manusear e proteger seu bitcoin. +academy.wallets.whatIsAWalletHeadline=O que é uma carteira +academy.wallets.whatIsAWalletContent=Carteiras são suas ferramentas para realizar as ações mais fundamentais no Bitcoin: recebê-lo, armazená-lo e enviá-lo. Como o Bitcoin é um sistema aberto, qualquer um pode construir uma carteira para ele, e muitas diferentes existem. Isso é ótimo porque significa que você tem muitas opções diferentes no mercado para escolher, e você pode até usar várias carteiras diferentes para cobrir diferentes necessidades.\n\nGeralmente, uma carteira é um software que faz várias coisas para você: ela lê a blockchain para verificar o saldo dos endereços que você controla. Ela pode construir e enviar transações quando você quer pagar alguém. E ela mantém suas chaves para que você possa assinar suas transações. Algumas dessas características se apresentam de forma diferente em diferentes carteiras, e algumas carteiras cobrem apenas partes delas. Para entender isso melhor, é útil estar familiarizado com as diferentes características que tornam as carteiras diferentes umas das outras.\n\nPrimeiro, você deve entender a diferença entre uma carteira quente e uma carteira fria. Uma carteira quente é um software onde as chaves que controlam seu bitcoin são armazenadas em um dispositivo conectado à internet. Uma carteira fria, por outro lado, é uma configuração onde suas chaves são armazenadas em um dispositivo que nunca é conectado à internet, e você usa um software diferente para rastrear seu saldo e preparar e enviar transações. Carteiras quentes são tipicamente um aplicativo simples no seu telefone ou laptop. Uma carteira fria, por outro lado, significa que você usa um software no seu telefone ou laptop que não armazena suas chaves, e você combina isso com um segundo dispositivo que armazena as chaves e nunca se conecta à internet. Esse segundo dispositivo pode ser um laptop ou smartphone dedicado, ou mais comumente, uma carteira de hardware. Carteiras quentes são mais simples de gerenciar e usar, mas são também menos seguras. Carteiras frias requerem uma configuração um pouco mais complexa e trabalhosa, mas oferecem um grau de segurança muito mais alto contra hacks e erros no manuseio das chaves. Como gerenciar os riscos de administrar seus fundos é uma decisão pessoal, mas geralmente é recomendado usar carteiras quentes como sua carteira tradicional para notas e moedas no seu bolso, e carteiras frias como um cofre em um banco. Você não carregaria um milhão de dólares na sua carteira. E você não usaria o conteúdo do seu cofre para pagar um café.\n\nCarteiras de hardware são dispositivos físicos especiais projetados e fabricados com o único propósito de armazenar as chaves dos seus fundos e assinar transações com essas chaves. Eles oferecem uma maneira conveniente de assinar transações para gastar seus fundos, enquanto armazenam suas chaves de forma segura que impede vazá-las para outros. Usar uma carteira de hardware melhora sua segurança em ordens de magnitude em comparação ao uso de uma carteira quente no seu computador principal ou smartphone. Se você está começando sua jornada no Bitcoin, você não precisa ter uma carteira desde o primeiro dia, mas provavelmente vai querer obter uma assim que começar a acumular uma quantidade de bitcoin que doeria perder. Existem muitas carteiras de hardware no mercado, com preços típicos em torno de $100.\n\nE uma nota final: um saldo em uma bolsa centralizada não é uma carteira. Já que você não controla as chaves, você está confiando e dependendo da bolsa centralizada para realmente manter seu bitcoin. Se, por qualquer motivo, eles não o enviarem a você quando você decidir sacar, não há como você retomar o controle dele. Lembre-se: não são suas chaves, não são suas moedas. +academy.wallets.howToPickHeadline=Como escolher uma carteira +academy.wallets.howToPickContent=Escolher a carteira certa para você é uma decisão que depende de muitos fatores, como como você vai usar o Bitcoin, quais quantias você vai manusear, ou quais dispositivos você possui. No entanto, existem algumas recomendações gerais que você pode seguir e carteiras específicas que têm um bom histórico.\n\nO primeiro e mais importante conselho geral é escolher uma carteira de código aberto. Garantir que o código da sua carteira seja verificável é fundamental. Você pode aprender mais sobre isso na seção Código Aberto do Bisq Learn. Outra recomendação importante é escolher uma carteira que não suporte outras criptomoedas além do Bitcoin. Carteiras que lidam com várias criptomoedas precisam usar um código mais complexo para trabalhar com as diferentes moedas suportadas, o que introduz riscos de segurança maiores. Portanto, é melhor escolher uma carteira exclusiva para Bitcoin para seus fundos. Finalmente, tente procurar por carteiras que existam há um tempo, tenham bases de usuários fortes e uma boa reputação. É melhor deixar carteiras novíssimas para uso avançado ou experimentos no máximo.\n\nSe você planeja usar sua carteira no seu smartphone, aconselhamos olhar para uma das seguintes carteiras: Bluewallet, Blockstream Green ou Nunchuk. Por outro lado, se você quer usar um PC, sugeriríamos usar uma das seguintes: Sparrow, Bluewallet, Electrum, Blockstream Green ou Nunchuk. Estas são todas boas carteiras para iniciantes. Você pode experimentar várias delas para encontrar qual mais lhe agrada, ou até usar várias simultaneamente se quiser. À medida que você adquire mais experiência e conhecimento, pode começar a desenvolver preferências dependendo dos recursos mais avançados que tornam essas carteiras um pouco diferentes umas das outras.\n\nUma vez que você tenha fundos suficientes para começar a levar a segurança ainda mais a sério, provavelmente fará sentido adquirir uma carteira de hardware. Com uma carteira de hardware, você poderá armazenar suas chaves nela e assinar transações com ela, enquanto ainda pode usar um software como Sparrow, Bluewallet ou Nunchuk para ler seu saldo e preparar transações. Quando se trata de carteiras de hardware, a maioria dos mesmos conselhos se aplica: escolha carteiras que tenham designs transparentes e públicos, que suportem apenas Bitcoin e que tenham uma boa reputação e histórico comprovado. Algumas marcas bem conhecidas são Coldcard, Bitbox, Trezor ou Foundation.\n\nO mundo das carteiras é rico e diversificado, o que é ótimo e confuso ao mesmo tempo. É perfeitamente normal se sentir um pouco sobrecarregado no início. Se você está apenas começando, aconselhamos pesquisar um pouco, experimentar algumas das opções que compartilhamos com você e, uma vez que encontrar uma com a qual se sinta confortável, apegue-se a ela. À medida que você continua aprendendo mais sobre o Bitcoin, você sempre pode explorar novas opções mais avançadas e mudar para qualquer outra carteira, ou usar várias delas, quando quiser. + + +###################################################### +## Free Open Source Software +###################################################### + +academy.foss.subHeadline=Aprenda sobre código aberto e como ele impulsiona o Bitcoin e o Bisq +academy.foss.bitcoinAndFossHeadline=Bitcoin e software de código aberto +academy.foss.bitcoinAndFossContent=O software de código aberto é um software cujo código é publicamente acessível e qualquer um pode ler, copiar e modificar esse código da maneira que achar melhor. Isso contrasta com o software de código fechado ou proprietário, onde o autor original decide manter o código para si e mais ninguém tem acesso ou permissão para ele. Embora isso possa parecer um tópico técnico, é do seu interesse entender as implicações do software de código aberto em sua jornada com o Bitcoin. Vamos mergulhar nisso.\n\nO mundo do Bitcoin é profundamente influenciado por e relacionado ao software de código aberto. O software Bitcoin é de código aberto desde o primeiro dia. Bisq também é um projeto de código aberto. Muitas outras tecnologias ao redor, como clientes Lightning, serviços de mistura ou firmware de mineração, são tipicamente construídas como projetos de código aberto. Muitas carteiras também são de código aberto, e como discutimos na seção de Carteiras do Bisq Learn, recomendamos fortemente que você escolha carteiras que sejam de código aberto.\n\nPor que isso é assim? Softwares de código fechado são geralmente construídos e mantidos em privado por empresas e indivíduos que querem cobrar dos outros por licenças e manter o controle total do projeto. No espaço Bitcoin, isso raramente acontece. O Bitcoin é um sistema aberto e acolhedor por natureza, e o código é uma representação disso. Qualquer um pode ver o código, modificá-lo, compartilhar cópias de sua própria versão com outros e, simplesmente, fazer o que quiser com ele. Bisq também é um projeto de código aberto onde todos são bem-vindos para participar, expandir a aplicação e fazer melhorias de diferentes maneiras. +academy.foss.openSourceBenefitsHeadline=Como o código aberto beneficia você +academy.foss.openSourceBenefitsContent=Você pode pensar que, como não é um desenvolvedor de software, se o código de algum software é público ou não tem pouca relevância para você. Isso não é verdade. Mesmo que você não planeje olhar ou modificar o código dos aplicativos que está usando, sua experiência com eles será profundamente afetada por se o código é de código aberto ou fechado. Isso é ainda mais crítico quando estamos falando do software que vai gerenciar sua vida financeira e apoiar sua capacidade de economizar, receber e enviar dinheiro. Geralmente, usar software de código aberto será mais benéfico para você do que usar equivalentes de código fechado. Vamos detalhar algumas razões importantes que tornam isso importante para você.\n\nUma razão muito importante para escolher software de código aberto é a segurança. Como o software de código aberto pode ser lido por qualquer pessoa, hackers e atores maliciosos regularmente tentam encontrar erros e brechas de segurança nele. Você pode pensar que isso é perigoso, mas na verdade é o contrário! Isso acontece porque o fato de o código ser aberto para todos significa que qualquer um pode procurar por problemas de segurança e apontá-los, corrigi-los ou explorá-los maliciosamente. Coletivamente, a comunidade de usuários e desenvolvedores em torno do projeto será capaz de identificar e corrigir a maioria dos erros rapidamente, muitas vezes até mesmo antes de serem lançados. E se alguém usa esse erro de forma maliciosa para explorar o software, não demorará muito até ser percebido e soluções serem aplicadas. Em software de código fechado, apenas a pequena equipe paga por trás do projeto está revisando o código, o que resulta em uma chance muito maior de erros passarem despercebidos. Mais olhos, menos bugs. E empresas também têm um incentivo para não divulgar o fato de que seus produtos de código fechado têm problemas de segurança, o que leva a muitos bugs e hacks sendo mantidos em segredo em vez de divulgados. Finalmente, como em projetos de código fechado apenas a equipe de desenvolvimento pode ver o código, como você ou qualquer outra pessoa pode ter plena confiança de que o software é seguro? Isso se liga a um ditado comum na cultura Bitcoin: não confie, verifique. No geral, software de código aberto leva a resultados muito mais seguros e robustos do que software de código fechado.\n\nOutro ótimo motivo para escolher software de código aberto sobre código fechado é a continuidade a longo prazo do primeiro. Código que é público não depende de nenhuma entidade ou indivíduo para ser mantido ao longo do tempo. Mesmo que a equipe original por trás de um projeto eventualmente desapareça, outros podem assumir e continuar mantendo e evoluindo-o. O maior exemplo disso é o próprio Bitcoin: embora seu criador pseudônimo, Satoshi Nakamoto, tenha desaparecido há mais de dez anos, o projeto continuou crescendo e prosperando além de todas as expectativas. Assim, toda vez que você escolhe software de código aberto sobre código fechado, você está reduzindo drasticamente as chances de alguma empresa ou desenvolvedor deixá-lo na mão com algum software sem manutenção que desaparece e se torna obsoleto.\n\nFinalmente, projetos de código aberto com uso generalizado, como Bitcoin, Bisq ou carteiras como Electrum, tendem a levar a produtos de alta qualidade ao atrair os melhores talentos. A natureza aberta dos projetos permite que qualquer um colabore, e muitos desenvolvedores excelentes no espaço preferem colaborar construindo em cima de um bom projeto do que começar um esforço duplicado do zero. Com o tempo, as contribuições acumuladas desses indivíduos levam a resultados impressionantes que frequentemente eclipsam o que a maioria das empresas, mesmo as bem financiadas, poderia alcançar.\n\nResumindo, escolher opções de código aberto para suas ferramentas Bitcoin vem com um ótimo conjunto de vantagens que ajudam você a desfrutar de produtos seguros e úteis de alta qualidade. Esperamos que você se torne curioso sobre a natureza do código que usa em sua vida diária e que faça escolhas informadas sobre o software que executa. diff --git a/pocs/android_only_m2_j17jars/app/src/main/resources/adjectives.txt b/pocs/android_only_m2_j17jars/app/src/main/resources/adjectives.txt new file mode 100644 index 00000000..56291c85 --- /dev/null +++ b/pocs/android_only_m2_j17jars/app/src/main/resources/adjectives.txt @@ -0,0 +1,4832 @@ +Toneless +Greedy +Proportioned +Snippy +Sweeping +Locked +Tasteless +Wellfounded +Scrupulous +Rainy +Cavernous +Transformational +Beckoning +Microwaveable +Smothering +Despondent +Sanctimonious +Hollow +Feminine +Creaky +Inconspicuous +Wanton +Charmed +Meaningful +Alienated +Roguish +Venomous +Closeminded +Negligent +Erroneous +Designer +Thermal +Snotty +Main +Muddled +Voiceless +Northwest +Reverential +Binary +Squealing +Undaunted +Expanding +Quiet +Flowery +Macabre +Detectable +Introspective +Frustrated +Lightblue +Buzzing +Unsettled +Decaying +Telegraphic +Rescued +Tonedeaf +Unstoppable +Uncritical +Forged +Spotless +Hypnotizable +Angelic +Tender +Extrasmall +Parental +Mental +Rhetorical +Fastest +Vegetable +Seamless +Hardtofind +Resourceful +Injudicious +Displaced +Antsy +Brighteyed +Petite +Unblinking +Downtown +Jobless +Gleaming +Befuddled +Witless +Rustling +Seductive +Unaggressive +Longwinded +Confidential +Refractive +Perplexing +Illiterate +Slushy +Red +Celestial +Unfaltering +Unrespectable +Their +Utilitarian +Engrossing +Unwieldy +Unsympathetic +Momentary +Few +Mischievous +Fishy +Rotating +Cleared +Manual +Disagreeable +Tenuous +Jeering +Consoling +Republican +Monopolistic +Enchanted +Curt +Salted +Corruptive +Patterned +Raw +Danceable +Divergent +Believable +Her +Torrid +Conflicting +Searing +Wellthoughtof +Autographed +Digressive +Forbidding +Slimy +Roundtable +Illegible +Melodious +Heroic +Frilly +Glad +Stinging +Jumpy +Snoring +Resentful +Meanspirited +Home +Farsighted +Sociological +Wide +Surprised +Legal +Tyrannical +Inelegant +Congested +Perturbing +Extravagant +Symptomatic +Subtle +Explosive +Spontaneous +Advisable +Heartbreaking +Loutish +Level +Disadvantageous +Loose +Beeping +Emotionless +Exacting +Telekinetic +Unproductive +Bronchial +Sedate +Ecstatic +Secluded +Charismatic +Authoritative +Sensitive +Premature +Boisterous +Upper +Selfcentered +Opening +Bacterial +Live +Blinding +Banging +Pithy +Tonal +Far +Dwarfish +Unqualified +Splashy +Preventable +Ingenuous +Dissolvable +Ashamed +Ragged +Sixth +False +Indigenous +Brash +Ludicrous +Unperturbed +Complaining +Treasured +Starving +Zoological +Contemporary +Scheduled +Bearable +Watchful +Humble +Relative +Tormented +Jovial +Concerted +Domed +Diminutive +Ungracious +Fragrant +Kindhearted +Weeklong +Civil +Survivable +Maneuverable +Reviewable +Unwritten +Nonrestrictive +Biblical +Unanswerable +Dapper +Linguistic +Malleable +Scathing +Indecent +Fine +Pettish +Animal +Snide +Plausible +Indignant +Supposed +Robust +Vocational +Recent +Speedy +Jocular +Overaggressive +Ungenerous +Magical +Menacing +Unsuspecting +Uncooperative +Tattered +Uncreative +Unpromising +Tepid +Educated +Teasing +Tenth +Energizing +Apprehensive +Longest +Decorative +Woeful +Notable +Unaccustomed +Acidic +Due +Mature +Incurable +Immensurable +Grotesque +Plastic +Unsuccessful +Flattered +Integral +Exploding +Legitimate +Peppery +Potential +Fascinating +Ruthless +Rocketing +Eyepopping +Peerless +Superhuman +Inquiring +Dexterous +Deceiving +Unscheduled +Ordinary +Soft +Wooing +Barking +Overbearing +Bankable +Connecting +Wonderful +Chilling +Belching +Disturbed +Stiff +Moody +Wellreceived +Biting +Better +Murky +Kind +Eventful +Inapt +Administrative +Unwitting +Wearisome +Cautious +Irrefutable +Unripe +Coughing +Peculiar +Insightful +Undisciplined +Equable +Tiny +Unavoidable +Uncommitted +Unverified +Worldly +Redeemable +Chauvinistic +Cropped +Disgusting +Pitchdark +Spiritless +Preventive +Crabby +Scientific +Rabid +Inductive +Inherent +Glistening +Knowledgeable +Unappetizing +Discreet +Globular +Interactive +Vocal +Transformed +Repetitious +Nine +Blonde +Mindbending +Filmy +Controlling +Horrified +Outraged +Physical +Derogatory +Staggering +Satisfactory +Indulgent +Uninterested +Worn +Aggressive +Tripping +Motor +Indecisive +Ineffective +Overall +Muttering +Neglectful +Best +Unhappy +Accusing +Reasonable +Nonreturnable +Overpriced +Prevalent +Smoggy +Nauseous +Slick +These +Captivating +Unhealthy +Prefabricated +Incredulous +Coy +Bloodred +Likable +Lackadaisical +Distracted +Openhearted +Brokenhearted +Unfashionable +Varied +Radioactive +Queasy +Fiscal +Cooperative +Knobbed +Scant +Wild +Disabled +Telephonic +Ironic +Graphic +Difficult +Uproarious +Supreme +Whining +Unsupported +Insincere +Inexpedient +Assumable +Monetary +Fancy +Mad +Unimaginable +Unnerved +Thankless +Satisfied +Adaptive +Oddlooking +Inflated +Revisable +Trustful +Global +Bloody +Repeated +Spiritual +Bookish +Genuine +Famous +Wellmade +Wellthoughtout +Gritty +Forgiving +Selfindulgent +Cultured +Scanty +Rutted +Downhearted +Opportune +Urgent +Ultrasensitive +Querulous +Modest +Conspicuous +Obscene +Presumable +Bandaged +Inexact +Falsified +Unexpected +Happy +Sculptural +Genial +Haughty +Adamant +Unsolved +Wealthy +Perplexed +Unconscionable +Perceptive +Stuffy +Fearless +Plain +Fitting +Inexpressive +Coquettish +Retired +Acrimonious +Emboldened +Sealed +Unreachable +Formative +Tamed +Padded +Lean +Giving +Nontransferable +Buoyant +Crystalline +Fussy +Contributive +Crystallized +Errant +Sanitary +Deceitful +Plaid +Ineffectual +Thriftless +Enlarged +Deceptive +Hearty +Sarcastic +Proficient +Twitchy +Blundering +Learnable +Razoredged +Baffling +Manic +Shifty +Irreplaceable +Affectionate +Improvable +Ossified +Contagious +Pompous +Diminishing +Trapped +Innate +Continual +Furtive +Impermeable +Popular +Unfilled +Sea +Admired +Fiendish +Unexplored +Unwatchable +Secretive +Relaxed +Brooding +Immature +Particular +Inert +Subordinate +Deliberate +Orphaned +Unintentional +Inspiring +Wretched +Discordant +Disappointed +Curious +Cute +Green +Regular +Disappearing +Oral +Machiavellian +Smooth +Crispy +Obligatory +Presumptive +Enhanced +Refillable +Mindful +Consistent +Magnificent +Wellgroomed +Gluttonous +Literary +Intricate +Stealth +Clinging +Inanimate +Speckled +Concealable +Transplanted +Clinical +Digital +Muted +Unguarded +Undisguised +Scared +Inescapable +Worrying +Shocking +Disinterested +Indefensible +Allpurpose +Abrasive +Gracious +Working +Challenging +Gradual +Oily +Foreboding +Primary +Diligent +Culpable +Occupational +Comprehensive +Reminiscent +Exhaustive +Impassable +Wellheeled +Codified +Correct +Retrospective +Fond +Speculative +Contrite +Nefarious +Superficial +Bold +Local +Dynamic +Untapped +Risky +Subsequent +Disjointed +Sizable +Crooked +Future +Viral +Embarrassing +Proper +Unequal +Authentic +Muggy +Dejected +Numbing +Architectural +Craggy +Princely +Smug +Excessive +Upward +Strong +Stressful +Cylindrical +Conscious +Greasy +Smallminded +Oversized +Minor +Enthralled +Southern +Brave +Grubby +Overzealous +Wellworn +Knobby +Despairing +Inaudible +Harmless +Communicative +Longterm +Resonant +Tactual +Mini +Gainful +Trusty +Silver +Shy +Tasteful +Psychosomatic +Southeasterly +Portable +Admiring +Smashing +External +Unrepentant +Moldy +Messy +Conspiratorial +Conventional +Towering +Gargantuan +Unemployed +Agrarian +Tight +Dedicated +Logarithmic +Null +Unprofitable +Barefooted +Stubby +Derivative +Interested +Prim +Unfathomable +Pumped +Statistical +Irreversible +Bigheaded +Sanguine +Unselfish +Glamorous +Ritzy +Nostalgic +Spectral +Receptive +Present +Premeditated +Versed +Upright +Disarming +Rich +Decrepit +Considerable +Select +Inconsistent +Maniacal +Usual +Unkind +Mournful +Heinous +Contrarian +Illicit +Brutish +Huffy +Endangered +Compelling +Wellmannered +Opposite +Simpleminded +Overpowering +Frightened +Discussable +Lopsided +Loyal +Rascally +Spendthrift +Moneygrubbing +Unsafe +Disparaging +Six +Lecherous +Craven +Unprovoked +Stale +Caged +Futile +Chicken +Undated +Angular +Static +Drenched +Devastated +Unquantifiable +Sleeping +Paternalistic +Snug +Elastic +Shallow +Large +Comforted +Courageous +Uncomprehending +Dreamy +Melodic +Unlawful +Addicted +Nautical +Resealable +Indispensable +Briny +Ethnic +Indiscreet +Enthused +Crammed +Terse +Crumbling +Indescribable +Sheltered +Background +Snappy +Equitable +Functional +Detrimental +Certifiable +Bordering +Adored +Abject +Selfeffacing +Unshakable +Threatening +Superlative +Uncharitable +Reserved +Refutable +Inefficient +Glossy +Wakeful +Racist +Neurotic +Indecipherable +Pathological +Overcrowded +Entranced +Visual +Drunk +Nearsighted +Dizzy +Prejudiced +Swimming +Modern +Permissible +Mutinous +Outside +Truculent +Willful +Sensual +Entertained +Wandering +Selfdirected +Prudent +Referential +Precocious +Plus +Nebulous +Last +Territorial +Selfrespect +Goodlooking +Seasick +Cool +Anecdotal +Bawling +Greatest +Coherent +Oldest +Conscientious +Horrible +Disadvantaged +Flimsy +Syllabic +Knowable +Exemplary +Viscous +Sharp +Unassailable +Enterprising +Uninformed +Unsophisticated +Hypothetical +Three +Radical +Tranquil +Exasperated +Sensible +Rueful +Cryptic +Scrumptious +Handy +Jagged +Very +Despised +Scented +Uneventful +Discernable +Homey +Upsetting +Unresponsive +Open +Middle +Unsuspected +Absurd +Discourteous +Occupied +Enumerable +Independent +Variable +Fluffy +Unruly +Fainthearted +Deformed +Barbarous +Purring +Leading +Dehydrated +Least +Righteous +Scummy +Unwholesome +Irksome +Colorful +Wellequipped +Licensed +Hypnotic +Vertical +Richer +Stinky +Unreasonable +Hulking +Underprivileged +Unanimous +Splintered +Dingy +Sour +Optimal +Humorous +Circumstantial +Nearby +Arduous +Detailed +Unknown +Watery +Scratchy +Thumping +Super +Unintelligent +Manicured +Legendary +Empty +Overemotional +Unspeakable +Guiltless +Accused +Unfamiliar +Mission +Fumbling +Exacerbating +Haunting +Knightly +Visible +Ratty +Delightful +Wellconceived +Cohesive +Hopeful +Disillusioned +Adoptive +Doable +Offhanded +Shattered +Inopportune +Salvageable +North +Deploring +All +Seismic +Complete +Wee +Undeterred +Penetrable +Gusty +Adversarial +Patchy +Concerning +Piteous +Compliant +Complacent +Conservative +Rampageous +Plucky +Woolen +Shaded +Many +Unbelievable +Cooked +Moralistic +Thirsty +Cancerous +Ingenious +Unsurprising +Individualistic +Undeveloped +Rank +Vexing +Rippling +Stanch +Unbalanced +Worndown +Stimulating +Top +Personable +Divisive +Hesitant +Puckish +Defenseless +Hormonal +Veracious +Fewer +Undiscovered +Clear +Disciplined +Climatic +Yellow +Overprotective +Diversified +Subconscious +Disheartening +Nonsensical +Military +Rough +Crass +Replicable +Slanderous +Familiar +Rainbowcolored +Left +Icky +Criminal +Debatable +Unabated +Blind +Enormous +Equidistant +Approving +Stereotyped +Hefty +Bumpy +Specific +Prenatal +Prior +Suspicious +Wellspoken +Goodnatured +Edgy +Spinal +Sensuous +Lordly +Forked +Closeable +Sullen +Magnanimous +Impartial +Revolutionary +Careless +Poised +Uninjured +Scaly +Lustrous +Imperfect +Zonked +Humiliated +Dusty +Innocent +Unjustifiable +Seemly +Scenic +Blaring +Unostentatious +Deniable +Corporate +Empirical +Merry +Iridescent +Unusual +Foxy +Continuing +Livable +Tidal +Traditional +Receding +Roomy +Delinquent +Affected +Nonstop +Visceral +Born +Unremarkable +Admirable +Status +Gratifying +Rechargeable +Simplified +Sparkling +Ungallant +Taxing +Unraveled +Ambulatory +Interdepartmental +Testy +Sluggish +Inconsolable +Unconcerned +Brief +Dissolving +Appalling +Just +Alterable +Two +Nonconsecutive +Final +Crude +Unemotional +Removable +Glib +Chanting +Whooping +Insipid +Skilled +Motivating +Later +Squashed +Illfated +Rhythmic +Dozing +Flattened +Suggestive +Firm +Clapping +Wet +Proud +Unintended +Stony +Sordid +Joyless +Showy +Profuse +Miscellaneous +Wicked +Boyish +Wellplanned +Reassuring +Incremental +Amazed +Mundane +Gigantic +Respectable +Complex +Unrealized +Grinding +Airsick +Multifaceted +Solid +Unpretentious +Hazy +Honking +Beautiful +Principal +Wool +Grieving +Stringent +Interpersonal +Haphazard +Lying +Congressional +Winsome +Executable +Impolite +Unadvised +Consummate +Disrespectful +Same +Philanthropic +Breathable +Palatable +Contextual +Nerveracking +Vengeful +Courteous +Harmonic +Paranormal +Safe +Gaudy +Astringent +Crushable +Sulky +Hurt +Aggravated +Deserted +Shut +Unlicensed +Fifth +Unloved +Pointless +Barren +Infamous +Quicktempered +Rancorous +Female +Curly +Symbolic +Intermittent +Nondestructive +Recognized +Susceptible +Rumbling +Obtainable +Uncivilized +Unobtainable +Reigning +Perfect +Lighthearted +Ambiguous +Defeated +Crawling +Textual +Interchangeable +Trendy +Inoperative +Talkative +Obedient +Devastating +Wholesome +Tense +Passionate +Significant +Embroiled +Eerie +Mortal +Intelligible +Navigable +Artificial +Solitary +Amused +Basic +Fervid +Unbelieving +Sprite +Catastrophic +Chief +Opposed +Calculating +Torturous +Crisp +Larcenous +Oversensitive +Married +Inventive +Undignified +Undeclared +Surgical +Expert +Clanging +Melancholy +Marvelous +Wellwritten +Arid +Wizardly +Explainable +Hostile +Taut +Geometric +Cinematic +Nameless +Steady +Undiplomatic +This +Larger +Luminous +Intangible +Joint +Brick +Able +True +Mindless +Persuasive +Verdant +Unsatisfied +Polished +Desperate +Achievable +Trustworthy +Salvaged +Thoughtless +Slanted +Dominant +Lesser +Earthshaking +Ardent +Friendly +Tactical +Incalculable +Severe +Puzzling +Sickening +Gushing +Unforgettable +Unencumbered +Endurable +Suspected +Great +Burly +Exclusive +Undemocratic +Dual +Actionable +Swooping +Truthful +Unseasonable +Fulfilled +Several +Blurred +Navyblue +Factual +Smudged +Instrumental +Psychotic +Inconsiderate +Backhanded +Salty +Ponderous +Substantial +Maladjusted +Lasting +Impulsive +Garrulous +Frightful +Shining +Saccharin +Hyperbolic +Written +Shaggy +Mighty +Intrepid +Vivid +Lilylivered +Faithless +Shortsighted +Racial +Preferable +Teenytiny +Euphoric +Grumbling +Cloistered +Lost +Appreciative +Fresh +Yearly +Stubborn +Congruent +Incoherent +Sellable +Rotund +Surprising +Gooey +Longer +Pronounced +Myopic +Egotistical +Motionless +Obese +Strict +Hotblooded +Nonrenewable +Upset +Malignant +Unearthly +Frisky +Metallic +Costly +Compact +Adhoc +Laudable +Nextdoor +Probabilistic +Marginal +Callous +Remedial +Devoted +Fruitless +Disinclined +Serrated +Meticulous +Conflicted +Communicable +Blistering +Momentous +Twinkly +Game +Pampered +Welladjusted +Irascible +Vacuous +Conversational +Unwashed +Obstructive +Durable +Incandescent +Chunky +Distinctive +Fabulous +Understood +Palatial +Predisposed +Unbendable +Spry +Transitional +Infuriated +Adorable +Mysterious +Preoperative +Unquestioning +Tearful +Darkened +Close +Improbable +Overassertive +Practical +Scattered +Tearing +Lifeless +Lithographic +Cursed +Cheapest +Dependent +Unchangeable +Hyperirritable +Detestable +Discontented +Breezy +Inalienable +Hardworking +Flowering +Rude +Tired +Populous +Immortal +Redundant +Leased +Multitalented +Tipsy +Intended +Ceaseless +Approaching +Regal +Profitable +Mixed +Accurate +Institutional +Confounded +Overoptimistic +Droopy +Suitable +Unflattering +Meditative +Selfsatisfied +Untroubled +Flaky +Exterior +Sloppy +Beneficial +Verifiable +Verbose +Cockamamie +Ugly +Restful +Congenial +Startled +Decayed +Autobiographic +Obtrusive +Calming +House +Treasonable +Exalted +Parched +Tart +Assured +Fading +Reprehensible +Third +Latter +Prominent +Secondhand +Flavorful +Underdeveloped +Humdrum +Amusing +Retroactive +Dysfunctional +Untamed +Unafraid +Prophetic +Meandering +Preconceived +Frayed +Indistinct +Extreme +Prickly +Aimless +Incapable +Optimistic +Juicy +Steadfast +Damp +Puritanical +Meek +Nonrefundable +Coolest +Foregoing +Optional +Respectful +Those +Squirming +Undetected +Squawking +Artistic +Vulgar +Lingering +Inhibited +Flat +Discriminating +Kitchen +Lavish +Offensive +Selfabsorbed +Instinctive +Hotheaded +Onehour +Flickering +Fireproof +Faint +Primordial +Clandestine +Some +Wellkempt +Specialized +Daughterly +Unstable +Unsatisfactory +Wordless +Unforeseeable +Waterproof +Certified +Flying +Cutting +Outlandish +Huggable +Booming +Boiling +Indirect +Odious +Springy +Unapproachable +Sacrificial +Key +Caring +Nonproductive +Sacred +Blooming +Enthusiastic +Inflexible +Barbaric +Smartest +Uncoordinated +Corrupting +Duplicitous +Juvenile +Drastic +Hardy +Surrealistic +Inextricable +Plentiful +Frigid +Inane +Automatic +Loud +Swollen +Matronly +Uncompromising +Entrepreneurial +Unbiased +Volcanic +Fearful +Unassisted +Decorous +Spoiled +Eligible +Openhanded +Four +Narcissistic +Virulent +Trite +Argumentative +Prolific +Spineless +Introductory +Political +Panicky +Embattled +Nonabrasive +Clogged +Revocable +Notorious +Unclean +Indiscriminate +Fragile +Calculated +Warring +Lefthanded +Equivalent +Supernatural +Wideeyed +Alternative +Jubilant +Translucent +Felonious +Frantic +Hourlong +Avid +Oceanic +Inscrutable +Abounding +Marbled +Posthumous +Frothy +Worrisome +Magic +Breakable +Ill +Stingy +Dull +Attentive +Troublesome +Smiling +Illhumored +Disorderly +Both +Thrilling +Cantankerous +Foreseeable +Collapsed +Captive +Invaluable +Sweltering +Terrifying +Right +Venal +Stupendous +Renewable +Unconditional +Unadulterated +Defendable +Disheartened +Dishonorable +Skimpy +Medicinal +Distrustful +Semiprofessional +Remote +Astonished +Expressionistic +Softhearted +Peaceable +Lithe +Childlike +Vibrant +Ecological +Restless +Willing +Crossed +Dismal +Work +Passive +Apologizing +Burnable +Repugnant +Disliked +Omnivorous +Sore +Unused +Selfdisciplined +Unconstrained +Moderate +Acclaimed +Piquant +Brightred +Eight +Irreparable +Paltry +Hissing +Unexceptional +Utter +Unprecedented +Formless +Vital +Disobedient +Odorous +Philosophical +Undisputed +Annoying +Elegant +Nonexclusive +Irretrievably +Endearing +Pleased +Arguable +Unwavering +Priceless +Bendable +Incompetent +Perpendicular +Chivalrous +Untruthful +Underhanded +Vacillating +Sacrilegious +Dispensable +Adjacent +Aspiring +Cluttered +Unmodified +Coordinated +Sonly +Riveting +Atomic +Respective +Disconnected +Vulnerable +Steel +Rotten +Tickling +Reversible +Ticking +Immediate +Chattering +Desirous +Demonic +Wellestablished +Cosmetic +Unending +Painstaking +Official +Soaking +Enraged +Worshipful +Squatting +Contoured +Trim +Adroit +Disreputable +Motivated +Powerful +Joyful +Unscientific +Snapping +Gurgling +Unreserved +Feudal +Unceremonious +Winter +Unromantic +Inviting +Semiconscious +Tidy +Unobtrusive +Fitted +Thrilled +Reproductive +Bruised +Improving +Wrinkly +Signed +Lowcarb +Much +Reciprocal +Miraculous +Waxen +Outgoing +Illuminating +Unspoiled +Monstrous +Ethical +Emblematic +Doting +Dripping +Purported +Different +Lovable +Sugary +Materialistic +Emotional +Athletic +Attainable +Finicky +Dulcet +Unknowing +Gregarious +Facetious +Battered +Shadowy +Skeptical +Wellbuilt +Disgraceful +Grownup +Major +Fawning +Treasonous +Disproved +Livid +Chubby +Accepting +Northerly +Awesome +Gawky +Incomparable +Snooty +Completed +Conformable +Visionary +Frustrating +Intrinsic +Comfortable +Spattered +Precarious +Spotty +Flippant +Centered +Teensy +Waiting +Axiomatic +Poorer +Irritable +Vacant +Possible +Antagonistic +Civilized +Hectic +Grandiose +Righthanded +Payable +Inattentive +Interdependent +Dowdy +Forgotten +Illogical +Overrated +Magnetic +Rambling +Erratic +Cumulative +Insufficient +Warm +Poor +Lowfat +Stable +Swinish +Unaffected +Defensive +Allowable +Fictitious +Concealed +Domineering +Gruff +Fractious +Squeezable +Muscular +Expressive +Inflamed +Wellcrafted +Obnoxious +Eroding +Parttime +Crowded +Carpeted +Daft +Tenminute +Periodic +Palpable +Obeisant +Accidental +Unregulated +Progressive +Affirmative +Dramatic +Tyrannous +Bewildering +Unmanly +Assorted +Opaque +Cheerless +Stout +Disruptive +Delirious +Covert +Inconsequential +Estranged +Wriggling +Unhesitating +Unauthorized +Intimate +Contradicting +Forthright +Porous +Commanding +Derogative +Ultimate +Crushed +Ruinous +Fascinated +Uncluttered +Vegetarian +Noncommittal +Watertight +Classical +Transitory +Entire +Simultaneous +Dollish +Indifferent +Unmerciful +Wellplaced +Innocuous +Soulful +Appropriate +Erasable +Oblivious +Driven +Prying +Squirrelly +Oxymoronic +Compulsory +Catatonic +Infantile +Exhilarated +Tactless +Insolent +Quality +Feeling +Caustic +Unexplainable +Superstitious +Tempestuous +Noticeable +Disenchanted +Unexpressive +Penetrating +Bashful +Attributable +Welleducated +Experimental +Unquestioned +Scorching +Adventurous +Direful +Miserly +Candid +Unavailable +Builtin +Multipurpose +Puny +Imprudent +Ambulant +Parsimonious +Disgruntled +Fierce +Gushy +Sinister +Fearsome +Wellliked +Simian +Echoing +Flashy +Gluey +Negotiable +Snoopy +Inadmissible +Polluted +Perilous +Fluttering +Bigoted +Tiring +Repetitive +Flavorless +Preeminent +Overwhelming +Earsplitting +Soaked +Spiteful +Fidgety +Ethereal +Otherwise +Musky +Federal +Seventh +Disparate +Overqualified +Unique +Problematic +Even +Horned +Attachable +Morbid +Dreaded +Smallest +Gaping +Yawning +Scarred +Moral +Weekly +Billable +Fatherly +Portly +Rancid +Instinctual +Temperamental +Unblushing +Waterlogged +Ambitious +Favorable +Endemic +Superb +Lacking +Classifiable +Mobile +Smart +Tumultuous +Contradictory +Unrealistic +Drained +Tropical +Radiant +Obliging +Cocky +Facial +Excited +Crestfallen +Slothful +Depressed +Reverent +Either +Pitchperfect +Gabby +Unmanned +Tactful +Futuristic +Comparable +Mystic +Aquatic +Whimsical +Textural +Tuneless +Untimely +Tantalizing +Incorruptible +Vernacular +Corrective +Unthinking +Honorable +Resolvable +Insane +Chance +Technological +Mean +Which +Helpful +Warning +Weightless +Coercive +Wasteful +Soggy +Rowdy +Charitable +Smoky +Odd +Malevolent +Positive +Vicious +Grueling +Parenthetic +Cracked +Untamable +Upmost +Physiological +Unpronounceable +Deluded +Choice +Verbal +Miniature +Overactive +Squiggly +Imprecise +Waste +Unmasked +Forensic +Unable +Brilliant +Cultural +Slowmoving +Introverted +Reassured +Joyous +Odiferous +Deranged +Invincible +Unyielding +Charging +Enduring +Vegetative +Touching +Wellconsidered +Reactive +Intrusive +Impressive +Frail +Horrific +Cooing +Undependable +Blasphemous +Upstairs +Inflammatory +Head +Beginning +Unsolvable +Tiresome +Furious +Egocentric +Diplomatic +Phenomenal +Powdery +Insurable +Unhurried +Grateful +Highpitched +Instant +Procedural +Nutty +Determined +Singleminded +Bedazzled +Episodic +Implicit +Abandoned +Gilded +Descriptive +Stagnant +Immobile +Accusative +Mystifying +Acknowledged +Crumbly +Amazing +Pure +Perishable +Senior +Down +Containable +Lanky +Welltodo +Demonstrative +Efficient +Unsubstantiated +Observable +Elevated +Unadorned +Pungent +Black +Rotting +Quirky +Gentle +Pleasant +Sickened +Pyrotechnic +Bloated +Elfish +Egomaniacal +Deaf +Velvety +Dry +Cross +Bronze +Whistling +Confirmable +Instructive +Proportional +Lively +Established +Rested +Pronounceable +Rightful +Lucid +Upbeat +Incontrovertible +Semiofficial +Prepared +Halfhearted +Justifiable +Insulting +Crashing +Traumatic +Unsettling +Befitting +Objectionable +Artless +Filtered +Thrashed +Lowcalorie +Oblong +Syntactic +Unappealing +Lethargic +Groovy +Diverging +Eager +Tame +Salient +Multicultural +Ticklish +Spastic +Sad +Maddening +Southwestern +Defensible +Literal +Barbequed +Nifty +Skillful +Mandatory +Queenly +Jazzy +Atypical +Transcendental +Beefy +Farflung +Vitriolic +Mystified +Veritable +Chatty +Allusive +Intolerable +Geographic +Squashy +Malicious +Troubled +Monotone +Past +Stilted +Corresponding +Savory +Meateating +Prissy +Unlivable +Forgetful +Gaunt +Digestive +Approximate +Absent +Careful +Thematic +Modular +Unquestionable +Painless +Pitiful +Boastful +Insensitive +Excusable +Expected +Unsurpassed +Jarring +Unimaginative +Interracial +Unrecognized +General +Weedy +Balding +Exceptional +Pervasive +Jabbering +Mocking +Unruffled +Toothsome +Unscholarly +Engaging +Bleached +Jaundiced +Remorseless +Harmonious +Glaring +Smarmy +Flushed +Stumbling +Tall +Deliberative +Anticipated +Inspirational +Allaround +Quaint +Troubling +Unenthusiastic +Militaristic +Peeved +Catchable +Inhospitable +Lurid +Timeless +Choppy +Bronzed +Nasty +Constitutional +Lenient +Sportsmanly +Deafening +Gross +Brisk +Stranded +Vigorous +Doleful +Remarkable +Undamaged +Excellent +Innovative +Soothed +Wholehearted +Old +Uneasy +Unopposed +Implosive +Numerous +Tanned +Expired +Speechless +Shamefaced +Illegal +Wellhoned +Quickacting +Freakish +Dreaming +Widespread +Tolerant +Ageless +Diabolical +Tangential +Sorrowful +Overenthusiastic +Intermediate +Rusty +Camouflaged +Unseemly +Unquenchable +Anemic +Clean +Straightforward +Biographical +Preliminary +Resilient +Feverish +Doubting +Challenged +Batty +Ubiquitous +Existing +Generous +Alert +Welloff +Encrusted +Educational +Debonair +Crazy +Fleeting +Lofty +Mumbled +Spiky +Inauspicious +Elated +Native +Officious +Guarded +Reviled +Wheezing +Unflinching +Trusting +Systematic +Serendipitous +Astronomical +Patronizing +Clever +Romantic +Eatable +Nosy +Disastrous +Sudden +Creaking +Oafish +Prehistoric +Obvious +Linear +Satirical +Combative +Divided +Mincing +Decent +Unsparing +Alive +Tenable +Agonizing +Downloadable +Furthest +Smallscale +Hot +Early +Invalid +Connectable +Rambunctious +Rakish +Spectacular +Shady +Effervescent +Rousing +Nutritious +Dilapidated +Floral +Wrenching +Inaccurate +Audacious +Rustic +Active +Drab +Loathsome +Dizzying +Snuggly +Depraved +Petty +Serene +Scrawny +Jumbled +Unattached +Imponderable +Quivering +Dressy +Economical +Carnivorous +Elite +Opinionated +Indelible +Welldeserved +Male +Unlucky +Unfavorable +Meaty +Authoritarian +Rapturous +Curable +Unacceptable +Splattered +Unsigned +Autonomous +Exponential +Fulfilling +Aerial +Tacit +Ornate +Floppy +Involved +Lowly +Inferable +Inconclusive +Kingly +Fraternal +Substitute +Definitive +Twisted +Belligerent +Irresistible +Contemplative +Wellargued +Slight +Snarling +Imperative +Welldone +Encouraged +Filthy +Exquisite +Steely +Oldfashioned +Insensible +Inseparable +Injurious +Wobbly +Collaborative +Effective +Knavish +Seedy +Trashy +Medium +South +Succulent +Following +Gifted +Unsinkable +Stunning +Uninhibited +Triumphant +Expandable +Leering +Erect +Slanting +Sincere +Imitative +Responsible +Elderly +Studious +Permissive +Evasive +Pedantic +Mellow +Pugnacious +Earpiercing +Wellbalanced +Transparent +Embarrassed +Noncompetitive +Geologic +Purified +Likeminded +Embittered +Hygienic +Shoddy +Expeditious +What +Groggy +Rectifiable +Any +Wellrounded +Cancelled +Relatable +Serviceable +Heady +Daffy +Heavenly +Perfumed +Scintillating +Unconscious +Tectonic +Mathematical +Grainy +Betrayed +Moronic +Insecure +Apologetic +Yearning +Crusty +Pressurized +Mangy +Inaccessible +Plodding +Dislikeable +Ravishing +Detachable +Feckless +Dashing +Grinning +Billowy +Untrained +Predicative +Intensive +Tentative +Distinguished +Unfulfilled +Traitorous +Prospective +Misty +Tested +Redolent +Uniform +Bighearted +Colloquial +Easy +Squandered +Bossy +Unreadable +Unambiguous +Needy +Childish +Stylistic +Wellread +Junior +Purposeless +Certain +Disdainful +Muffled +Restored +Unplanned +Hairy +Lascivious +Pleasing +Unconstructive +Obstinate +Immense +Stern +Nominal +Longing +Harsh +Convoluted +Isolated +Emergency +Neat +Living +Impossible +Brunette +Awake +Scrabbled +Extended +Uninvited +Sufficient +Exchangeable +Smoked +Abnormal +Bright +Real +Tainted +Lucrative +Piercing +Heated +Wonted +Foul +Broken +Harried +Nauseating +Spotted +Schematic +Uncontainable +Dainty +Quantitative +Cunning +Untouchable +Preemptive +Unskilled +Tuneful +Poignant +Disturbing +Odorless +Feeble +Wax +Strange +Inhuman +Brown +Lousy +Impassioned +Selfless +Harmful +Distasteful +Parallel +Scarce +Bantering +Inquisitive +Adhesive +Unconvinced +New +Vexed +Saucy +Unblemished +Roaring +Stunned +Selfconfident +Extraneous +Fashionable +Unjust +Imperceptive +Delectable +Vile +Scrappy +Identical +Mistrustful +Enviable +Spiral +Lowmaintenance +Midweek +Unstated +Overjoyed +Nonverbal +Productive +Brutal +Long +Matted +Wellused +Classy +Stained +Defiant +Postoperative +Glassy +Terrified +Bilingual +Preoccupied +Morose +Wriggly +His +Pensive +Religious +Intravenous +Chewable +Permeable +Bedazzling +Stacked +Vigilant +Communist +Precipitous +Delighted +Coarse +Holistic +Horrendous +Bloodthirsty +Subversive +Tireless +Recurrent +Unworthy +Evil +Aristocratic +Unconventional +Intriguing +Insulted +Premium +Bleary +Divine +Amphibian +Favorite +Carefree +Professorial +Illinformed +Cruel +Reddish +Improper +Purposeful +Tardy +Contentious +Uncanny +Discouraging +Bald +Faithful +Avantgarde +Flooded +Unpardonable +Interior +Credible +Mild +Didactic +Pharmaceutical +Cloudless +Presentable +Idealistic +Gutsy +Spacious +Unfriendly +Flabby +Gangly +Drivable +Rosy +Uncomplaining +Fastidious +Swift +Escalating +Untainted +Irrelevant +Uncontrollable +Diagonal +Jaded +Bleak +Mystical +Frowning +Stuttering +Ruddy +Homeless +Commendable +Statutory +Insurmountable +Western +Dishonest +Focused +Bureaucratic +Convulsive +Tolerable +Nippy +Unrepresentative +Prejudicial +Overwhelmed +Terminal +Unendurable +Electrical +Glum +Yelping +Inadvisable +Peripheral +Touched +Imaginary +Inhumane +Inoperable +Inexhaustible +Appealing +Repentant +Snowwhite +Potent +Industrious +Spherical +Understanding +Gnarly +Serial +Nimble +Lesserknown +Silly +Private +Grizzled +Inoffensive +Atrocious +Fast +Sane +Glorious +Useful +Creepy +Incomplete +Unforgiving +Wellmeaning +Heartbroken +Raving +Liquid +Shorttempered +Fertile +Young +Undistinguished +Devious +Electronic +Away +Critical +Eastern +Salt +Coldhearted +Impressionable +Compulsive +Glowing +Finite +Pleading +Disgusted +Accommodating +Laughable +Inspired +Shapeless +Selective +Terrific +Numb +Undifferentiated +Treatable +Quickwitted +Faded +Insubordinate +Inner +Discriminatory +Striped +White +Unlikely +Fanatical +Gorgeous +Triangular +Steaming +Sinuous +Quick +Bent +Galling +Continuous +Anticlimactic +Dorsal +Psychedelic +Stinking +Youthful +Smelly +Rugged +Pivotal +Thoughtful +Punitive +Picturesque +Despicable +Infuriating +Squeamish +Fidgeting +Stylish +Corrosive +Ghoulish +Indefinite +Wellintentioned +Cramped +Silvertongued +Wistful +Bellowing +Quizzical +Modified +Wrathful +Unmitigated +Wellsuited +Rusted +Wanting +Sturdy +Knotty +Quickpaced +Waspish +Dissonant +Telling +Telescopic +Inward +Festive +Hateful +Realistic +Ungentlemanly +Alarming +Virtual +Dress +Proverbial +Grave +Unmarketable +Time +Monosyllabic +Reliable +Ornery +Temporary +Dazzling +Habitable +Second +Replaceable +Onerous +Opposing +Foolish +Trenchant +Screaming +Toothy +Uncommunicative +Antiseptic +Ablebodied +Exasperating +Secure +Invisible +Sure +Quackish +Venerable +Evening +Bushy +Milky +Funny +Learned +Taunting +Ungrateful +Astounded +Constant +Confusing +Timely +Perverse +Balmy +Indicative +Straggly +Benevolent +Undefined +Slow +Evocative +Unpalatable +Operative +Starched +Thankful +Hazardous +Municipal +Unrivaled +Indeterminate +Kaput +Trying +Wellinformed +Pneumatic +Sustainable +Apathetic +Undoubted +Affordable +Unsociable +Sassy +Untraditional +Lower +Unworldly +Ingratiating +Kindly +Social +Sinful +Unsuitable +Reverse +Eruptive +Hypertensive +Stormy +Unstructured +Bigger +Successive +Unaffordable +Comforting +Natural +Conceivable +Brazen +Peevish +Uncharted +Eighth +Asymmetrical +Tangy +Worse +Formal +Absorbed +Lame +Hushed +Timorous +Inalterable +Wordy +Zippy +Spatial +Overwrought +Prudential +Bad +Lyrical +Affable +Guaranteed +Unfortunate +Fastmoving +Farcical +Smalltime +Lumpy +Connective +Intrigued +Serious +Poisonous +First +Intuitive +Impatient +Crunchy +Poetic +Uncovered +Celebrated +Inglorious +Profane +Highfalutin +Acerbic +Infinite +Patient +Foolhardy +Maternal +Bristly +Choking +Untitled +Undivided +Punishable +Keen +Express +Sleek +Dignified +Uncomely +Extra +Another +Successful +Petulant +Varying +Fit +Clownish +Creamy +Giddy +Hallowed +Envious +Formidable +Irrational +Unbending +Biodegradable +Busy +Full +Consenting +Excitable +Famished +Former +Irresponsible +Conceited +Sardonic +Inadvertent +Unsound +Distressed +Noxious +Reluctant +Welltraveled +Nonaggressive +Scratched +Singular +Muddy +Seven +Bountiful +Revealing +Revolting +Exaggerated +Sappy +Omniscient +Vaporous +Tempted +Microscopic +Inconvenient +Addictive +Cranky +Inflatable +Curvy +Overcritical +Flexible +Principled +Thorough +Disaffected +Moving +Acrobatic +Dried +Strident +Symbiotic +Wondrous +Deadpan +Cordial +Flammable +Largest +Blatant +Destructive +Shortlived +Psychiatric +Blazing +Exhilarating +Villainous +Humanlike +Rigid +Charming +Used +Loquacious +Unnoticeable +Alien +Grey +Kinesthetic +Sketchy +Distraught +Intestinal +Meteoric +Torpid +Monotonous +Distant +Known +Terrestrial +Prized +Uncharacteristic +Masterful +Decadent +Diseased +Increasing +Smaller +Hurtful +Controllable +Fiery +Recognizable +Minute +Sumptuous +Humid +Satisfying +Sparkly +Representative +Unimpeachable +Stock +Total +Grouchy +Sophisticated +Bizarre +Contemptuous +Imaginative +Icy +Ridiculing +Viable +Pretend +Shrieking +Adoring +Provisional +Faulty +Praiseworthy +Cynical +Fateful +Approachable +Elementary +Blindfolded +Misleading +Resolute +Vagabond +Depressive +Controversial +Photographic +Operable +Ajar +Rampant +Symmetrical +Betteroff +Biased +Ignorable +Husky +Sociable +Plopping +Absolute +Inconceivable +Usable +Discouraged +Square +Unfettered +Mirthful +Irregular +Nearest +Awful +Wellbehaved +Turbulent +Thievish +Therapeutic +Topographical +Captivated +Bloodied +Lulling +Encouraging +Welldressed +Applicable +Organizational +Provocative +Unalienable +Rudimentary +Indefinable +Adequate +Circular +Distressing +Unashamed +Explicit +Promising +Blue +Partisan +Merciful +Compassionate +Gullible +Massive +Wolfish +Gray +Garbled +Intimidating +Highest +Expressionless +Zesty +Rectangular +Convinced +Cheering +Tangled +Jerky +Antisocial +Superabundant +Weakwilled +Antiquated +Workoriented +Eventual +Wishful +Revised +Strenuous +Colossal +Prosperous +Documentary +Defective +Unimpeded +Rural +Breathtaking +Unorthodox +Benign +Hawkish +Sparing +Unbounded +Thunderous +Uncaring +Imperial +Zany +Hilarious +Hysterical +Shapely +Nonspecific +Plane +Unbeatable +Academic +Paternal +Outstanding +Ironfisted +Irrevocable +Swanky +Graceful +Cliquish +Mountainous +Foulsmelling +National +Insistent +Content +Ready +Selfaggrandizing +Scholarly +Blameless +Influential +Managerial +Informed +Fetid +Economy +Dovish +Daily +Negative +Degenerative +Maintainable +Mutual +Faraway +Frivolous +Imported +Obsessive +Streaked +Perturbed +Blissful +Fruitful +Monumental +Glittering +Smeared +Labored +Trainable +Spurious +Unheeded +Exact +Appetizing +Placid +Initial +Advanced +Swaggering +Sticky +Binding +Mistrusting +Unsustainable +Spare +Identifiable +Numeric +Motivational +Indeterminable +Rare +Uttermost +Involuntary +Synergistic +Wailing +Only +Fallacious +Blurry +Younger +Poorest +Reputed +Incomprehensible +Perceptual +Soldierly +Scraggly +Quickthinking +Transcendent +Giant +Sole +Gratis +Humiliating +Golden +Bewitched +Alleged +Tacky +Handsome +Needless +Stoic +Vanishing +Spooky +Enjoyable +Loveable +Double +Sizzling +Copious +Equal +Wellqualified +Drooping +Specialist +Listless +Adopted +Aware +Remorseful +Irritating +Oblique +Acid +Corny +Unsalvageable +Wellprepared +Liberal +Satiny +Unrecognizable +Sheepish +Worthless +Sunny +Foreign +Dependable +Transient +Pricey +Quintessential +Inarguable +Displeasing +Phonemic +Startling +Taboo +Egalitarian +Naive +Unenforceable +Wellversed +Budget +Judgmental +Reclusive +Miserable +Spellbinding +Preferential +Shabbiest +Minimal +Tremendous +Immanent +Frightening +Party +Banned +Sidesplitting +Curved +Material +Trick +Meager +Unassertive +Warmest +Common +Unsurpassable +Peaceful +Unclassified +Perceptible +Sloped +Patented +Annual +Evenhanded +Zealous +Hoggish +Nondescript +Shrill +Shameful +Theological +Qualified +Presumptuous +Rational +Emaciated +Freaky +Bouncy +Melodramatic +Cloudy +Central +Relevant +Reckless +Calm +Legible +Operatic +Inapplicable +Unsightly +Heartrending +Less +Concerned +Efficacious +Acrid +Searching +Complicated +Swishing +Preparative +Pluralistic +Rebel +Weak +Discarded +Iconoclastic +Wornout +Thundering +Disposable +Tragic +Imminent +Frosty +Laughing +Grim +Repulsive +Baffled +Uninsurable +Imperceptible +Oppressive +Likeable +Inordinate +Wellaware +Imposing +Carsick +Convincing +Quotable +Naughty +Stackable +Distracting +Repairable +Betterlatethannever +Secondary +Opportunistic +Chronological +Stirring +Skittish +Suffering +Horrid +Marketable +Colorless +Excruciating +High +Humming +Unconstitutional +Orange +Average +Interesting +Downward +Training +Limp +Corrupt +Agitated +Overconfident +Inconsiderable +Unrestrained +Pink +Mouthwatering +Wise +Alternating +Fantastic +Electric +Complimentary +Libelous +Lateral +Paradoxical +Daring +Fortuitous +Operational +Subterranean +Ten +Chemical +Understated +Infrequent +Resounding +Unrelenting +Weary +Scary +Unbridled +Starcrossed +Medical +Dutiful +Victorious +Scandalous +Unrepresented +Master +Brainy +Unhandsome +Chic +Rented +Strategic +Redblooded +Fathomable +Every +Ultrasonic +Potable +Special +Dead +Furry +Democratic +Threatened +Hanging +Seasonable +Ghastly +Indivisible +Shameless +Manmade +Neurological +Flattering +Hotshot +Limitless +Disorganized +Illusive +Astute +Worthy +East +Wary +Unthinkable +Flirtatious +Broad +Additional +Violet +Pretty +Qualitative +Pleasurable +Humanitarian +Undeserved +Unwilling +Unattractive +Outermost +Makeable +Inexcusable +Guilty +Sober +Refundable +Pushy +Planned +Unflagging +Floating +Drowsy +Undeviating +Individual +Hottempered +Disappointing +Gauzy +Diffuse +Responsive +Renegotiable +Incessant +Boundless +Collectable +Whole +Unsubstantial +Unacknowledged +Irrelative +Clearheaded +Ghostly +Inclusive +Fictional +Supersonic +Desolate +Ruined +Unannounced +Relieved +Haggard +Separate +Doubtful +Lowrisk +Questionable +Arrogant +Forgivable +Vapid +Deepening +Stark +Street +Swaying +Unstressed +Unanticipated +Whispering +Unmotivated +Terrible +Numerable +Connected +Big +Unapologetic +Adjoining +Illustrious +Extendable +Lax +Combined +Cornered +Expedient +Uncertain +Effusive +Demanding +Collegial +Solar +Violent +Ignorant +Fruity +Fun +Secular +Forceful +Unfair +Playful +Expendable +Dawdling +Confident +Dreadful +Disingenuous +Thick +Unforgivable +Foamy +Purple +Languid +Touchy +Musical +Perpetual +Steep +Guiltridden +Unnerving +Vinegary +Exhausted +Spoken +Trivial +Crotchety +Venturesome +Temperate +Selected +Proportionate +Mute +Constructive +Voluminous +Adrenalized +Unavailing +Stuckup +Habitual +Patriotic +Ensuing +Seasonal +Sentimental +Platonic +Alike +Nutritional +Soaring +Neighborly +Ringing +Freckled +Stodgy +Worth +Unflappable +Unilateral +Heartless +Forgettable +Ideal +Stifling +Seething +Cut +Original +Unaccompanied +Posthoc +Staunch +Deficient +Expiring +Tremulous +Windy +Pitiless +Abysmal +Shivery +Euphemistic +Various +Panoramic +Sensational +Uncomfortable +Humongous +Crumply +Accessible +Pertinent +Unharmed +Wellmaintained +Unexcited +Inappropriate +Environmental +Repressive +Sleepy +Offbeat +Hungry +Thin +Outward +Unsupervised +Voluntary +Eccentric +Unalterable +Professed +Abrupt +Unremitting +Wiry +Mnemonic +Bouncing +Chewy +Miscreant +Lawless +Infernal +Freezing +Grand +Mountain +Electrifying +Cackling +Majestic +Feared +Regretful +Incompatible +Fermented +Pedestrian +Bewitching +Sweet +Boring +Withering +Impersonal +Weakened +Unmatched +Scalding +Boorish +Impish +Talented +Ultraconservative +Aromatic +Unwary +Flagrant +Disapproving +Fetching +Surefooted +Coveted +Strongest +Dwindling +Roasted +Misguided +Endless +Spiraled +Subliminal +Fraudulent +Decentralized +Pardonable +Prompt +Extemporaneous +Regional +Makeshift +Customary +Maiden +Surly +Languishing +Semiprecious +Sequential +Impoverished +Relaxing +Exotic +Volatile +Bribable +Whose +Historical +Unfailing +Musty +Snobbish +Reproachful +Workable +Provoking +Quacky +Pragmatic +Cold +Esoteric +Enchanting +Latent +Consensual +Inarticulate +Aggravating +Pastoral +Cavalier +Inadequate +Ornamental +Prize +Unequivocal +Crippled +Ominous +Hypersensitive +Stretchy +Observant +Protective +Manipulative +Sheer +Quarrelsome +Deplorable +Welcoming +Angry +Low +Onesided +Deceivable +Middleclass +Limber +Virtuous +Dissimilar +Technical +Skindeep +Highfunctioning +Preventative +Unpredictable +Litigious +Unreceptive +Cognitive +Astonishing +Homeopathic +Amicable +Shiny +Selfish +Nonresponsive +Hospitable +Iron +Mother +Permanent +Cheap +Sympathetic +Substantiated +Nonviolent +Colonial +Life +Blackandblue +Editable +Human +Baby +Parking +Lovely +Late +Personal +Anonymous +Vagrant +Financial +Grimy +Garish +Infallible +Programmable +Youngest +Militant +Overcast +Generic +Internal +Contemptible +Unchanging +Organic +Pernicious +Such +Leathery +Noble +Ravenous +Alarmed +Rasping +Viperous +Irrepressible +Adept +Teenage +Merciless +Awkward +Nonnegotiable +Rash +Extension +Unabashed +Cuddly +Frugal +Selfassured +Condensed +Selfinterested +Overambitious +Ostentatious +Perky +Undiminished +Macho +Theoretical +Extensive +Marked +Wooden +Neglected +Scruffy +Decimated +Unceasing +Alluring +Disproportionate +Unopened +Groaning +Crunchable +Raspy +Blearyeyed +Unprofessional +Crucial +Funloving +Enforceable +Regrettable +Invigorating +Unbreakable +Fervent +Gasping +Irreverent +Sleepless +Growling +Contrary +Saintly +Horizontal +Infected +Constrictive +Wrinkled +Ittybitty +Limping +Overworked +Consumable +Uptodate +Gratuitous +Unhelpful +Uninterrupted +Inevitable +Retrogressive +Venturous +Uneducated +Impractical +Refurbished +Urbane +Objective +Legislative +Astounding +Reflective +Capable +Logistic +Elaborate +Insatiable +Forward +Wholesale +Mediumrare +Accountable +Bustling +Next +Clumsy +Versatile +Spirited +Inorganic +Rigorous +Striking +Impetuous +Informal +Outspoken +Obsolete +Scholastic +Business +Polite +Idiotic +Pressing +Wounding +Fuming +Mythical +Earthy +Immodest +Obscure +Cerebral +Skyblue +Dense +Cowardly +Incongruent +Front +Ferocious +Vague +Geriatric +Squalid +Pretentious +Deprived +Shadowed +Preposterous +Worthwhile +Valuable +Disloyal +Commercial +Unerring +Straight +Cosmic +Ritualistic +Stereophonic +Older +Pert +Inequitable +Conditional +Wrong +Unsure +Passing +Aching +Correctable +Uncouth +Infectious +Free +Unadventurous +Tedious +Infinitesimal +Precious +Sorry +Mushy +Hoarse +Destroyed +Twinkling +Timid +Round +Uppity +Crippling +Inactive +Sharpened +Collapsing +Daunting +Weird +Perceivable +Downandout +Curative +Popping +Illegitimate +Synthetic +Sculpted +Motherly +Desirable +Adult +Wry +Supportive +Injured +Vibrating +Soulless +Quickminded +Computerized +Estimated +Sublime +Movable +Tightfisted +Horrifying +Dissuasive +Phonetic +Contented +Orthopedic +Lowranking +Innumerable +Occasional +Uneven +Incongruous +Funniest +Untested +Computer +Solicitous +Ceremonial +Vicarious +Damaged +Unsystematic +Primitive +Typical +Avenging +Absentminded +Hairless +Unmentionable +Exploitative +Universal +Unbearable +Unconfirmed +Fluent +Fat +Vain +Applicative +Afraid +Sickly +Bland +Partial +Frozen +Casual +Avian +Studied +Ridiculous +Impervious +Narrow +Cowering +Dirty +Wacky +Coachable +Northeast +Skinny +Braided +Frequent +Silky +Seditious +Wideranging +Painful +Dreary +Presidential +Expansive +Unnecessary +Hurried +Infatuated +Shimmering +Unreliable +Itchy +Acoustic +Previous +Quickest +Liable +Detached +Unintelligible +Lush +Damaging +Uncommon +Fatigued +Attractive +Cheery +Inharmonious +Corpulent +Stately +Openminded +Revengeful +Stereotypical +Degraded +Sly +Generative +Standard +Recessive +Reported +Beady +Shrewd +Illequipped +Clammy +Syllogistic +Taller +Dandy +Idyllic +Intolerant +Proximate +Limited +Light +Aloof +Lucky +Absorbing +Polyunsaturated +Mechanical +Unbecoming +Jealous +Fair +Valid +Direct +Welldeveloped +Jiggling +Wasted +Mere +Assignable +Gripping +Mordant +Enticing +Subservient +Restrictive +Neither +Insignificant +Blamable +Neutral +Tarnished +Untidy +Delicate +Irremovable +Gaseous +Unfocused +Tough +Bioactive +Frumpy +Abhorrent +Unmanageable +Tenacious +Homely +Bungling +Abiding +Loving +Saddened +Imperialistic +Expectant +Feathered +Halting +Latest +Masked +Proof +Supersensitive +Ultraviolet +Persevering +Transformative +Whimpering +Knowing +Fretful +Undeniable +Irate +Sporting +Scribbled +Shaky +Whopping +Unmistakable +Wood +Valorous +Unimpressive +Pathetic +Stronger +Unshapely +Other +Unenviable +Woozy +Incorrigible +Immovable +Chilly +Unsolicited +Recyclable +Angered +Moaning +Vehement +Worried +Sick +Shocked +Untried +Solemn +Sporadic +Definable +Devout +Metaphoric +Dire +Punctual +Fractional +Noiseless +Nocturnal +Novel +Rebellious +Grumpy +Unincorporated +Competitive +Perennial +Advantageous +Half +Earnest +Near +Tapered +Frank +Lamentable +Changeable +Improved +Royal +Eloquent +Mortified +Feebleminded +Invited +Economic +Underfunded +Secret +Superior +Incorrect +Concise +Unaccountable +Circling +Valiant +Exuberant +Wavering +Unredeemable +Memorable +Yielding +Coincidental +Nasal +Decisive +Standoffish +Ripe +Sweaty +Blushing +Abundant +Profound +Vast +Goofy +Extraordinary +Elusive +Single +Feathery +Ruptured +Nonchalant +Fanciful +Teeny +Suppressive +Wispy +Convenient +Powerless +Lukewarm +Decreasing +Hydrothermal +Tasty +Trashed +Consecutive +Bubbly +Gold +Indomitable +Scornful +Possessive +Voracious +Crunching +Unpleasant +Phosphorescent +Inexpensive +Babbling +Ineloquent +Magenta +More +Dark +Fullygrown +Maximum +Tribal +Refreshing +Untenable +Prestigious +Entertaining +Heavy +Repaired +Impeccable +Small +Thrifty +Topical +Spongy +Proximal +Telepathic +Quickdrying +Unappreciative +Arresting +Revamped +Logical +Sparse +Deliverable +Fascistic +Stigmatic +Selfreliant +Alone +Brainless +Burning +Irreconcilable +Pious +Crying +Indisputable +Eminent +Fatal +Persistent +Foggy +Ancient +Subdued +Submissive +Silent +Well +Residual +Clashing +Unconquerable +Pigheaded +Teachable +Fried +Short +Undesirable +Confirmed +Puffy +Hapless +Fragmented +Moved +Polkadotted +Insufferable +Unprincipled +Sonic +Spicy +Afternoon +Professional +Rapidfire +Feigned +Wily +Dogmatic +Tenderhearted +Precise +Deadly +Worst +Structural +Still +Numberless +Dissatisfied +Welllit +Diverse +Unequaled +Holiday +Immaculate +Unscrupulous +Condescending +Pale +Biggest +Useless +Quantifiable +Climbable +An +Raging +Exhausting +Thinkable +Abdominal +Slender +Uncooked +Oval +Treacherous +Yummy +Shortterm +Insidious +Wiggly +Dispassionate +Socialist +Uninhabitable +Patched +Bothered +Luxurious +Enigmatic +Soothing +Incredible +Assuring +Current +Deep +Narrowminded +Intentional +Crafty +Reputable +Committed +Enamored +Considerate +Newest +United +Prototypical +Icycold +Algebraic +Succinct +Comparative +Overcautious +Impenetrable +Busiest +Prescriptive +Inexpressible +Assertive +Delicious +Lengthy +Grating +Extralarge +Formulaic +Breathless +Inflammable +Fourth +Berserk +Tempting +Enough +Public +Steamy +Rumpled +Clueless +Essential +Meaningless +Ungraceful +Hard +Undefeated +Tallest +Domestic +Unmemorable +Failed +Hyperactive +Thorny +Targeted +Lacy +Gruesome +Unnatural +Uptight +Locatable +Lifelike +Subjective +Available +Decipherable +Somatic +Screeching +Abstracted +Depressing +Intelligent +Sloping +Outer +Dubious +Exploited +Droll +Fortunate +Toxic +Predictable +Voluptuous +Brassy +Healthy +Actual +Flamboyant +Bewildered +Reusable +Sisterly +Subtitled +Dim +Richest +Lessqualified +Irritated +Airline +Standing +Splendid +Savvy +Clingy +International +Prodigious +Likely +Annoyed +Satin +Inhabitable +Melted +Dogged +Changing +Invasive +Splashing +Nervous +Cheerful +Folded +Unheated +Pusillanimous +Concurrent +Pallid +Mammoth +Humorless +Restrained +Hypercritical +Soakingwet +Seeming +Industrial +Soundless +Imaginable +Grimacing +Incidental +Throbbing +Lucent +Leather +Riotous +Applauding +Cottony +Gratified +Lead +Auspicious +Pessimistic +Contractual +Unaided +Harebrained +Plush +Hopeless +Beaming +Shivering +Synonymous +Noisy +Random +Sterile +Snappish +Inside +Jittery +Cheeky +Creative +Manageable +Stuffed +Mutative +Blossoming +Obtuse +Opulent +Smarter +Pregnant +Blessed +Somber +Giggling +Highmaintenance +Lined +Nice +Awakening +Bitter +Hotpink +Measurable +Brawny +Hasty +Rapid +Okay +Residential +Honest +Effortless +Flawed +Abusive +Spiffy +Uninspired +Psychological +Jolly +Unobserved +Dear +Declining +Demented +Matchless +Dangerous +Classic +Bohemian +Anticorrosive +Flavored +Peremptory +Groomed +Bellicose +Salacious +Wintery +Indestructible +Immoral +Remaining +Civilian +Disputatious +Understandable +Expensive +Helpless +Luminescent +No +Unkempt +Congruous +Minimum +Weighty +Unbeaten +Senseless +Inferior +Trained +Unglamorous +Torrential +Witty +Flaming +Cleanable +Demure +Howling +Chuckling +Immeasurable +Similar +Glass +Cozy +Tan +Wrongful +Stifled +Disputed +Communal +Faltering +Winning +Cumbersome +Probable +Relentless +Sandy +Acceptable +Cagey +Smalltown +Unattainable +Accompanying +Utopian +One +Suave +Displeased +Instantaneous +Inexplicable +Opposable +Amiable +Slim +Lifelong +Fixable +Crackling +Laborious +Dazed +Commemorative +Menial +Badtempered +Normal +Intellectual +Gloomy +Creeping +Spasmodic +Factitious +Uninitiated +Fixed +Outrageous +Lonely +Highrisk +Impertinent +Subject +Flawless +Doggish +Little +Inartistic +Prohibitive +Theatrical +Unsuited +Unworkable +Enlightened +Most +Animated +Everlasting +Statuesque +Corner +Sneaky +Unlikable +Exposed +Stilled +Homogeneous +Simple +Savage +Bulky +Slippery +Idiosyncratic +Classified +Opened +Necessary +Adaptable +Parasitic +Pristine +Shabby +Agreeable +Surmountable +Hydraulic +Puzzled +Tetchy +Energetic +Supple +Clamoring +Fathomless +Intense +Fundamental +Avoidable +Fuzzy +Calculable +Unfeeling +Competent +Adjustable +Lawful +Untrustworthy +Distinct +Resident +Huge +Tangible +Bitesized +Literate +Putrid +Pliable +Gallant +Hideous +Discredited +Unofficial +Unwise +Unsteady +Dismissive +Routine +Closed +Unaltered +Proactive +Measly +Ninth +Metabolic +Wellknown +Warlike +Predominant +Compound +Important +Robotic +Satoshi +Alltoocommon +Informative +Anxious +Secured +Capricious +Uncivil +Lazy +Confused +Repeatable +Plump +Takecharge +The +Condemned +Moist +Lethal +Zestful +Impure +Mistaken +Good +Disputable +Implausible +Each +Blank +Verified +Rewarding +Bored +Scriptural +Exciting +Trusted +Eternal +Comical +Expanded +Bigcity +Phobic +Luscious +Unfaithful +Tricky +Unconvincing +Overt +Blunt +Artful +Vivacious +Mercurial +Promised +Negligible +Supercilious +Vindictive +Chatting +Nightmarish +Hated +Satiric +Shattering +Fabled +Judicious +Bodacious +Unpersuasive +Simplistic \ No newline at end of file diff --git a/pocs/android_only_m2_j17jars/app/src/main/resources/adverbs.txt b/pocs/android_only_m2_j17jars/app/src/main/resources/adverbs.txt new file mode 100644 index 00000000..bfe37a52 --- /dev/null +++ b/pocs/android_only_m2_j17jars/app/src/main/resources/adverbs.txt @@ -0,0 +1,450 @@ +Utterly +Rapturously +Most +Unfairly +Always +Up +Patiently +Nearby +Fortunately +Potentially +Astonishingly +Conceivably +Excitedly +Hungrily +Badly +About +Certainly +Tenderly +Predictably +Sedately +Equally +Truthfully +Formerly +Restfully +Jokingly +Unexpectedly +However +Extremely +Amazingly +Quite +Lawfully +Emptily +Affectionately +Nevertheless +Nicely +Seriously +Hardly +Justly +Sternly +Cruelly +Today +Understandingly +Backwards +Powerfully +Understandably +Accusingly +Irritably +Violently +Commonly +How +Wrongly +Loudly +Innocently +Probably +Meaningfully +Conspicuously +Rightly +Overseas +Wildly +Awkwardly +Finally +Absently +Inwardly +Likely +Greedily +Breathlessly +Ideally +Miserably +Deceivingly +Tonight +Simply +Yet +Compassionately +Crisply +Decidedly +Last +Inadequately +Perpetually +Lots +Busily +Fervently +Late +Solemnly +Enviously +Not +Happily +Wearily +Nearly +Before +Openly +Intensely +Much +Fiercely +Enormously +Separately +Helpfully +Tremendously +Blindly +Long +First +Energetically +Partially +Lately +Incredibly +Awfully +Regularly +Now +Crossly +Increasingly +Indeed +Practically +Famously +Down +Over +Spitefully +Desperately +Harshly +Distinctly +Confidentially +Inadvertently +Best +Disgustingly +Sleepily +Ferociously +Incidentally +Naturally +Selfishly +Rightfully +Lightly +Shyly +Longingly +Superstitiously +Too +Suspiciously +Especially +Stingily +Rarely +Curiously +Poorly +Very +Downstairs +Briskly +Thus +Exactly +Yearly +Evenly +Clumsily +Daintily +Heartily +Gratefully +Elegantly +Quick +Terribly +Never +Already +Behind +Frenetically +Unlike +Obviously +Meekly +Wonderingly +Brightly +Thoroughly +Doubtfully +Wrong +Sheepishly +Moreover +Messily +Wisely +Wonderfully +Properly +Tightly +Slow +Absolutely +Closely +Repeatedly +Underground +Mockingly +Abroad +Positively +Briefly +Reproachfully +Lazily +Hopefully +Continually +Generally +Theoretically +Just +Freely +Playfully +Carefully +Intently +Slowly +Mysteriously +There +Fairly +Pleasantly +Madly +Speedily +Off +Calmly +Deliberately +Hard +Clearly +Frankly +Quintessentially +Tensely +East +Quaveringly +Mentally +Consequently +Less +Determinedly +Grumpily +Searchingly +Stubbornly +Unwillingly +Bravely +Neatly +Generously +Eventually +Gleefully +Anyway +Dangerously +Highly +Presumably +Cheerfully +Quietly +So +Fearlessly +Low +Angrily +Therefore +Rather +Easily +Ultimately +Earlier +Again +Early +Ravenously +Cautiously +Perfectly +Foolishly +Evidently +Carelessly +Warmly +Stupidly +Daringly +Where +Unbelievably +Abruptly +Ever +Wholly +Obediently +Gladly +Otherwise +Strangely +Slyly +Instantly +Hopelessly +Far +Impulsively +Greatly +Loosely +Definitely +Solidly +Here +Out +Proudly +Coaxingly +Strictly +Darkly +Roughly +Venomously +Interestingly +Purely +Later +Even +Better +Accidentally +Likewise +Righteously +Besides +Until +Usually +Willfully +Doubtlessly +Previously +Totally +Intermittently +Eagerly +Anywhere +Rigidly +Mechanically +Straight +Inside +Safely +Regretfully +Hurriedly +Enough +Least +Surprisingly +Thoughtfully +Quarterly +Regrettably +Completely +Correctly +Fortnightly +Joyously +Marvelously +Outside +Weekly +Almost +Delicately +On +Readily +Seemingly +Basically +Seldom +Soon +Sometimes +Reluctantly +Upstairs +Ever +Furthermore +Occasionally +Somewhat +Reassuringly +Faithfully +Unfortunately +Diligently +Afterward +Strongly +Oddly +Urgently +Softly +Doggedly +Somewhere +Back +Recklessly +Suddenly +Arrogantly +Knowingly +Tomorrow +Mostly +Coolly +Really +Successfully +Normally +Monthly +Importantly +Additionally +Professionally +Outwardly +Apparently +Fully +Frantically +Right +Cleanly +Backward +Undoubtedly +Pleasingly +Cleverly +Worriedly +Inquisitively +Heavily +Away +Hourly +Swiftly +Hastily +Entirely +Dearly +Deeply +Cheaply +Little +Noisily +Adversely +Delightfully +Negatively +Unhappily +Similarly +Infrequently +Vastly +Daily +Promptly +Rudely +Actually +Rapidly +Next +Viciously +Sympathetically +Well +Luckily +Frequently +Honestly +Often +Under +Elsewhere +Then +Pretty +Queerly +More +Frightfully +Painfully +Below +Constantly +Towards +Periodically +In +Recently +Furiously +Guiltily +Ironically +Since +Hatefully +Thankfully +Indoors +Barely +Truly +Along +Scarcely +Bashfully +Fast +Anxiously +Sharply +Immediately +Helplessly +Politely +Yesterday +Nonetheless +Sadly +Kindly +Triumphantly +Quickly +Still +Nervously +Above +Enticingly +Near +Meanwhile +Expertly +Mindfully +Dreamily +Virtually +Annually +Beautifully +Gently +Exclusively +Passionately +Boldly \ No newline at end of file diff --git a/pocs/android_only_m2_j17jars/app/src/main/resources/android.conf b/pocs/android_only_m2_j17jars/app/src/main/resources/android.conf new file mode 100644 index 00000000..062f2266 --- /dev/null +++ b/pocs/android_only_m2_j17jars/app/src/main/resources/android.conf @@ -0,0 +1,216 @@ +application { + appName = "Bisq2_mobile" + devMode = false + keyIds = "E222AA02,387C8307" + ignoreSigningKeyInResourcesCheck = false + ignoreSignatureVerification = false + memoryReportIntervalSec = 600 + includeThreadListInMemoryReport = true + + security = { + keyBundle = { + defaultTorPrivateKey = "" + writeDefaultTorPrivateKeyToFile = false + } + } + + + bondedRoles = { + ignoreSecurityManager = false + + marketPrice = { + interval = 180 // in seconds + timeoutInSeconds = 60 + providers = [ + { + // Production node, bonded role + url = "http://runbtcpn7gmbj5rgqeyfyvepqokrijem6rbw7o5wgqbguimuoxrmcdyd.onion" + operator = "runbtc", + } + ] + fallbackProviders = [ + { + url = "https://price.bisq.wiz.biz" + operator = "wiz", + }, + { + url = "http://emzypricpidesmyqg2hc6dkwitqzaxrqnpkdg3ae2wef5znncu2ambqd.onion" + operator = "emzy", + }, + { + url = "http://devinpndvdwll4wiqcyq5e7itezmarg7rzicrvf6brzkwxdm374kmmyd.onion" + operator = "devinbileck", + }, + { + url = "http://ro7nv73awqs3ga2qtqeqawrjpbxwarsazznszvr6whv7tes5ehffopid.onion" + operator = "alexej996", + }, + ] + } + + blockchainExplorer = { + timeoutInSeconds = 60 + providers = [ + { + // Production node, bonded role + url = "http://runbtcx3wfygbq2wdde6qzjnpyrqn3gvbks7t5jdymmunxttdvvttpyd.onion" + operator = "RunBTC", + } + ] + fallbackProviders = [ + { + url = "https://mempool.emzy.de" + operator = "emzy", + }, + { + url = "http://mempool4t6mypeemozyterviq3i5de4kpoua65r3qkn5i3kknu5l2cad.onion" + operator = "emzy", + }, + { + url = "https://mempool.bisq.services" + operator = "devinbileck", + }, + { + url = "http://mempoolcutehjtynu4k4rd746acmssvj2vz4jbz4setb72clbpx2dfqd.onion" + operator = "devinbileck", + }, + { + url = "https://blockstream.info" + operator = "blockstream", + }, + { + url = "http://explorerzydxu5ecjrkwceayqybizmpjjznk5izmitf2modhcusuqlid.onion" + operator = "blockstream", + }, + ] + } + } + + support = { + securityManager ={ + staticPublicKeysProvided = false + } + releaseManager ={ + staticPublicKeysProvided = false + } + moderator ={ + staticPublicKeysProvided = false + } + } + + network = { + version = 1 + + supportedTransportTypes = ["CLEAR"] + features = ["INVENTORY_HASH_SET","AUTHORIZATION_HASH_CASH"] + + serviceNode { + p2pServiceNode=["PEER_GROUP","DATA","CONFIDENTIAL","ACK","MONITOR"] + } + + inventory { + maxSizeInKb = 2000 + repeatRequestIntervalInSeconds = 600 + maxSeedsForRequest = 2 + maxPeersForRequest = 4 + maxPendingRequestsAtStartup = 5 + maxPendingRequestsAtPeriodicRequests = 2 + myPreferredFilterTypes=["HASH_SET"] + } + + authorization { + myPreferredAuthorizationTokenTypes=["HASH_CASH"] + } + + clearNetPeerGroup { + bootstrapTimeInSeconds = 5 + houseKeepingIntervalInSeconds = 60 + timeoutInSeconds = 120 + maxAgeInHours = 2 + maxPersisted = 100 + maxReported = 500 + maxSeeds = 4 + } + + defaultPeerGroup { + bootstrapTimeInSeconds = 20 + houseKeepingIntervalInSeconds = 60 + timeoutInSeconds = 120 + maxAgeInHours = 2 + maxPersisted = 100 + maxReported = 500 + maxSeeds = 4 + } + + peerGroup { + minNumConnectedPeers=8 + minNumOutboundConnectedPeers=3 + maxNumConnectedPeers=12 + minNumReportedPeers=1 + } + + peerExchangeStrategy { + numSeedNodesAtBoostrap=3 + numPersistedPeersAtBoostrap=10 + numReportedPeersAtBoostrap=10 + supportPeerReporting = true + } + + keepAlive { + maxIdleTimeInSeconds=90 + intervalInSeconds=60 + timeoutInSeconds = 120 + } + + // For now there are no public seed nodes set up. Devs have to run their local ones. + seedAddressByTransportType { + "clear" : [ + "127.0.0.1:8000" + ] + "tor" : [ + "hj2kj43oyq4mhd5gx4vokalnci3vlbwzclv7usocfwuj5f5iks3eivqd.onion:1000", + "plur5t7zhcf45bltdhtb4o43p726dqhibc6xo2lhjfxctjcoinlclaid.onion:1000", + "ljtn3q7fkb7nqo6umkz36qip5fb46y43hajlkjl5zncctzii5wcsthyd.onion:1000" + ] + "i2p" : [ + "kglZCQYj~nyK3YlXCD5FjxOY2ggH8yosII0rqc7oqFhFfjKWy-89WYw-~mtTUqzCaN6LGd17XzheKG44XJnKrM-WvP732V8lbJcoMBIKeeHPlcfwpsTNbMJyWeXIlJByYNlw1HPVRMpBtzfJ9IznyQdwQWDkzA72pLreqpzJrgIoVYzP9OTXVLdROXnTP9RdmnzZ0h1B8XhQM-8LjHB7cE9o9VT9IXIFScICM8VZ8I1sp02rn26McTM~~XO5Zs1Df3IMV0eqteAe6TvH~Rc-6Hh3YhPrjEcv-YvV6RUlsoj605mmSO0Sj5oeacH3Cec73BlNJEGfQkmbTrXVNLqt2S4smqmkAhMq~sdCJCRKP8CFeBk6r-qVREucTeW3AmwXuGS~-8s7pAm99SlpTSepp75a2WNTIsWw~rWiHlM6faTJrkjcO5wJM7~G0tdYgVGk4zrt4VJ02AakUdh8wG1Y5sAX-daTUum~0YTk-fIAVBJSEiNc93XgZkwuTcc4J2BqAAAA:5000", + "u~EXMqCbYcdPHvb7nl-Y3eHxSUbaFhwQLycOtA0c45mhrieMaEbRVSRxaUEtjhgk8nVBpKYiDn4Za6X82aPokSFqURJx09bfKTExTklI~1u~0PJk6Wt3~Jpg4TLCYxql0WEphbEs5oEIR1d4myIm4ng3Iz9TM3dZUBMf4B~oRUiMGRxO-U7Vwxb3Qh1J0ZiqvQZmKzk9~ShEpk-FDR1-j0hlICQ2~RHNM7z4CdWReZLiyY8UboOxkakSIYasVEL2xs2Vgt7t4o078X5AcVtEJu6H31WXvUZSffFrt1BXZNTIoYs1FCCuhS1jMLh8N96eR3AqZ43Nr4Ljp78iqbLdikeVhb53Nzr0rDSYcfh57d2YVitjhfz2ant~6~SGSPxdJRdmsmDkTn5VAZwJhHGM5nh2BQbEwuEeeoufw6s7FNEoWMcv86h6ODmKTO0xyk8oMBT81zjdT8Xg5UkaHMSqJ0DnGcrVN4RQ6kOEbT5wtshVjpHgwWiJvOyEcj8XLJLqAAAA:5001" + ] + } + + configByTransportType { + clear { + defaultNodeSocketTimeout = 120 + userNodeSocketTimeout = 120 + devModeDelayInMs = 300 + sendMessageThrottleTime = 200 + receiveMessageThrottleTime = 200 + connectTimeoutMs = 1000 + } + tor { + bootstrapTimeout = 240 + hsUploadTimeout = 120 + defaultNodeSocketTimeout = 120 + userNodeSocketTimeout = 120 + testNetwork = false + directoryAuthorities = [] + torrcOverrides = {} + sendMessageThrottleTime = 200 + receiveMessageThrottleTime = 200 + } + i2p { + defaultNodeSocketTimeout = 120 + userNodeSocketTimeout = 120 + i2cpHost = "127.0.0.1" + i2cpPort = 7654 + inboundKBytesPerSecond = 1024 + outboundKBytesPerSecond = 512 + bandwidthSharePercentage = 50 + embeddedRouter = true + extendedI2pLogging = false + sendMessageThrottleTime = 200 + receiveMessageThrottleTime = 200 + } + } + } +} \ No newline at end of file diff --git a/pocs/android_only_m2_j17jars/app/src/main/resources/application.properties b/pocs/android_only_m2_j17jars/app/src/main/resources/application.properties new file mode 100644 index 00000000..5403edd1 --- /dev/null +++ b/pocs/android_only_m2_j17jars/app/src/main/resources/application.properties @@ -0,0 +1,274 @@ +###################################################### +# +# Translation strings for application scope elements not covered by the more specific scopes +# +###################################################### + +###################################################### +# Splash +###################################################### + +splash.details.tooltip=Click to toggle details + +# Dynamic values using DefaultApplicationService.State.name() +# suppress inspection "UnusedProperty" +splash.applicationServiceState.INITIALIZE_APP=Starting Bisq +# suppress inspection "UnusedProperty" +splash.applicationServiceState.INITIALIZE_NETWORK=Initialize P2P network +# suppress inspection "UnusedProperty" +splash.applicationServiceState.INITIALIZE_WALLET=Initialize wallet +# suppress inspection "UnusedProperty" +splash.applicationServiceState.INITIALIZE_SERVICES=Initialize services +# suppress inspection "UnusedProperty" +splash.applicationServiceState.APP_INITIALIZED=Bisq started +# suppress inspection "UnusedProperty" +splash.applicationServiceState.FAILED=Startup failed +# suppress inspection "UnusedProperty" +splash.bootstrapState.service.CLEAR=Server +# suppress inspection "UnusedProperty" +splash.bootstrapState.service.TOR=Onion Service +# suppress inspection "UnusedProperty" +splash.bootstrapState.service.I2P=I2P Service +# suppress inspection "UnusedProperty" +splash.bootstrapState.network.CLEAR=Clear net +# suppress inspection "UnusedProperty" +splash.bootstrapState.network.TOR=Tor +# suppress inspection "UnusedProperty" +splash.bootstrapState.network.I2P=I2P +# suppress inspection "UnusedProperty" +splash.bootstrapState.BOOTSTRAP_TO_NETWORK=Bootstrap to {0} network +# suppress inspection "UnusedProperty" +splash.bootstrapState.START_PUBLISH_SERVICE=Start publishing {0} +# suppress inspection "UnusedProperty" +splash.bootstrapState.SERVICE_PUBLISHED={0} published +# suppress inspection "UnusedProperty" +splash.bootstrapState.CONNECTED_TO_PEERS=Connecting to peers + + +#################################################################### +# TAC +#################################################################### + +tac.headline=User Agreement +tac.confirm=I have read and understood +tac.accept=Accept user Agreement +tac.reject=Reject and quit application + + +#################################################################### +# Unlock +#################################################################### + +unlock.headline=Enter password to unlock +unlock.button=Unlock +unlock.failed=Could not unlock with the provided password.\n\n\ + Try again and be sure to have the caps lock disabled. + + +#################################################################### +# Updater +#################################################################### + +updater.headline=A new Bisq update is available +updater.headline.isLauncherUpdate=A new Bisq installer is available +updater.releaseNotesHeadline=Release notes for version {0}: +updater.furtherInfo=This update will be loaded after restart and does not require a new installation.\n\ + More details can be found at the release page at: +updater.furtherInfo.isLauncherUpdate=This update requires a new Bisq installation.\n\ + If you have problems when installing Bisq on macOS, please read the instructions at: +updater.download=Download and verify +updater.downloadLater=Download later +updater.ignore=Ignore this version +updater.shutDown=Shut down +updater.shutDown.isLauncherUpdate=Open download directory and shut down + +updater.downloadAndVerify.headline=Download and verify new version +updater.downloadAndVerify.info=Once all files are downloaded, the signing key is compared with the keys provided in the \ + application and those available on the Bisq website. This key is then used to verify the downloaded new \ + version ('desktop.jar'). +updater.downloadAndVerify.info.isLauncherUpdate=Once all files are downloaded, the signing key is compared with the \ + keys provided in the application and those available on the Bisq website. This key is then used to verify the \ + downloaded new Bisq installer. After download and verification are complete, navigate to the download directory \ + to install the new Bisq version. +updater.table.file=File +updater.table.progress=Download progress +updater.table.progress.completed=Completed +updater.table.verified=Signature verified + + +#################################################################### +# NotificationPanel +#################################################################### + +notificationPanel.trades.headline.single=New trade message for trade ''{0}'' +notificationPanel.trades.headline.multiple=New trade messages +notificationPanel.trades.button=Go to 'Open Trades' +notificationPanel.mediationCases.headline.single=New message for mediation case with trade ID ''{0}'' +notificationPanel.mediationCases.headline.multiple=New messages for mediation +notificationPanel.mediationCases.button=Go to 'Mediator' + + +#################################################################### +# Onboarding +#################################################################### + +#################################################################### +# Welcome +#################################################################### + +onboarding.bisq2.headline=Welcome to Bisq 2 +onboarding.bisq2.teaserHeadline1=Introducing Bisq Easy +onboarding.bisq2.line1=Getting your first Bitcoin privately\n\ + has never been easier. +onboarding.bisq2.teaserHeadline2=Learn & discover +onboarding.bisq2.line2=Get a gentle introduction into Bitcoin\n\ + through our guides and community chat. +onboarding.bisq2.teaserHeadline3=Coming soon +onboarding.bisq2.line3=Choose how to trade: Bisq MuSig, Lightning, Submarine Swaps,... + + +#################################################################### +# Create profile +#################################################################### + +onboarding.createProfile.headline=Create your profile +onboarding.createProfile.subTitle=Your public profile consists of a nickname (picked by you) and \ + a bot icon (generated cryptographically) +onboarding.createProfile.nym=Bot ID: +onboarding.createProfile.regenerate=Generate new bot icon +onboarding.createProfile.nym.generating=Calculating proof of work... +onboarding.createProfile.createProfile=Next +onboarding.createProfile.createProfile.busy=Initializing network node... +onboarding.createProfile.nickName.prompt=Choose your nickname +onboarding.createProfile.nickName=Profile nickname +onboarding.createProfile.nickName.tooLong=Nickname must not be longer than {0} characters + + +#################################################################### +# Set password +#################################################################### + +onboarding.password.button.skip=Skip +onboarding.password.subTitle=Set up password protection now or skip and do it later in 'User options/Password'. + +onboarding.password.headline.setPassword=Set password protection +onboarding.password.button.savePassword=Save password +onboarding.password.enterPassword=Enter password (min. 8 characters) +onboarding.password.confirmPassword=Confirm password +onboarding.password.savePassword.success=Password protection enabled. + + +#################################################################### +# Navigation +#################################################################### + +navigation.dashboard=Dashboard +navigation.bisqEasy=Bisq Easy +navigation.reputation=Reputation +navigation.tradeApps=Trade protocols +navigation.wallet=Wallet +navigation.academy=Learn +navigation.chat=Chat +navigation.support=Support +navigation.userOptions=User options +navigation.settings=Settings +navigation.network=Network +navigation.authorizedRole=Authorized role + +navigation.expandIcon.tooltip=Expand menu +navigation.collapseIcon.tooltip=Minimize menu +navigation.vertical.expandIcon.tooltip=Expand sub menu +navigation.vertical.collapseIcon.tooltip=Collapse sub menu +navigation.network.info.clearNet=Clear-net +navigation.network.info.tor=Tor +navigation.network.info.i2p=I2P +navigation.network.info.tooltip={0} network\n\ + Number of connections: {1}\n\ + Target connections: {2} +navigation.network.info.inventoryRequest.requesting=Requesting network data +navigation.network.info.inventoryRequest.completed=Network data received +navigation.network.info.inventoryRequests.tooltip=Network data request state:\n\ + Number of pending requests: {0}\n\ + Max. requests: {1}\n\ + All data received: {2} + + +#################################################################### +# Top panel +#################################################################### + +topPanel.wallet.balance=Balance + + +###################################################### +## Dashboard +###################################################### + +dashboard.marketPrice=Latest market price +dashboard.offersOnline=Offers online +dashboard.activeUsers=Published user profiles +dashboard.activeUsers.tooltip=Profiles stay published on the network\nif the user was online in the last 15 days. +dashboard.main.headline=Get your first BTC +dashboard.main.content1=Start trading or browse open offers in the offerbook +dashboard.main.content2=Chat based and guided user interface for trading +dashboard.main.content3=Security is based on seller's reputation +dashboard.main.button=Enter Bisq Easy +dashboard.second.headline=Multiple trade protocols +dashboard.second.content=Check out the roadmap for upcoming trade protocols. Get an overview about the features of the different protocols. +dashboard.second.button=Explore trade protocols +dashboard.third.headline=Build up reputation +dashboard.third.content=You want to sell Bitcoin on Bisq Easy? Learn how the Reputation system works and why it is important. +dashboard.third.button=Build Reputation + + +#################################################################### +# Popups +#################################################################### + +popup.headline.instruction=Please note: +popup.headline.attention=Attention +popup.headline.backgroundInfo=Background information +popup.headline.feedback=Completed +popup.headline.confirmation=Confirmation +popup.headline.information=Information +popup.headline.warning=Warning +popup.headline.invalid=Invalid input +popup.headline.error=Error +popup.reportBug=Report bug to Bisq developers +popup.reportError=To help us to improve the software please report this bug by opening a new issue at: 'https://github.com/bisq-network/bisq2/issues'.\n\ + The error message will be copied to the clipboard when you click the 'report' button below.\n\n\ + It will make debugging easier if you include log files in your bug report. Log files do not contain sensitive data. +popup.reportBug.report=Bisq version: {0}\n\ + Operating system: {1}\n\ + Error message:\n\ + {2} +popup.reportError.log=Open log file +popup.reportError.zipLogs=Zip log files +popup.reportError.gitHub=Report to Bisq GitHub repository +popup.startup.error=An error occurred at initializing Bisq: {0}. +popup.shutdown=Shut down is in process.\n\n\ + It might take up to {0} seconds until shut down is completed. +popup.shutdown.error=An error occurred at shut down: {0}. +popup.hyperlink.openInBrowser.tooltip=Open link in browser: {0}. +popup.hyperlink.copy.tooltip=Copy link: {0}. + + +#################################################################### +# Messages +#################################################################### +hyperlinks.openInBrowser.attention.headline=Open web link +hyperlinks.openInBrowser.attention=Do you want to open the link to `{0}` in your default web browser? +hyperlinks.openInBrowser.no=No, copy link +hyperlinks.copiedToClipboard=Link was copied to clipboard + +#################################################################### +# Video +#################################################################### +video.mp4NotSupported.warning.headline=Embedded video cannot be played +video.mp4NotSupported.warning=You can watch the video in your browser at: [HYPERLINK:{0}] + + +#################################################################### +# Misc +#################################################################### +version.versionAndCommitHash=Version: v{0} / Commit hash: {1} \ No newline at end of file diff --git a/pocs/android_only_m2_j17jars/app/src/main/resources/application_cs.properties b/pocs/android_only_m2_j17jars/app/src/main/resources/application_cs.properties new file mode 100644 index 00000000..22a18623 --- /dev/null +++ b/pocs/android_only_m2_j17jars/app/src/main/resources/application_cs.properties @@ -0,0 +1,252 @@ +###################################################### +# +# Translation strings for application scope elements not covered by the more specific scopes +# +###################################################### + +###################################################### +# Splash +###################################################### + +splash.details.tooltip=Klikněte pro zobrazení podrobností + +# Dynamic values using DefaultApplicationService.State.name() +# suppress inspection "UnusedProperty" +splash.applicationServiceState.INITIALIZE_APP=Spouštění Bisq +# suppress inspection "UnusedProperty" +splash.applicationServiceState.INITIALIZE_NETWORK=Inicializace P2P sítě +# suppress inspection "UnusedProperty" +splash.applicationServiceState.INITIALIZE_WALLET=Inicializace peněženky +# suppress inspection "UnusedProperty" +splash.applicationServiceState.INITIALIZE_SERVICES=Inicializace služeb +# suppress inspection "UnusedProperty" +splash.applicationServiceState.APP_INITIALIZED=Bisq spuštěn +# suppress inspection "UnusedProperty" +splash.applicationServiceState.FAILED=Chyba při spouštění +# suppress inspection "UnusedProperty" +splash.bootstrapState.service.CLEAR=Server +# suppress inspection "UnusedProperty" +splash.bootstrapState.service.TOR=Služba Onion +# suppress inspection "UnusedProperty" +splash.bootstrapState.service.I2P=Služba I2P +# suppress inspection "UnusedProperty" +splash.bootstrapState.network.CLEAR=Clearnet +# suppress inspection "UnusedProperty" +splash.bootstrapState.network.TOR=Tor +# suppress inspection "UnusedProperty" +splash.bootstrapState.network.I2P=I2P +# suppress inspection "UnusedProperty" +splash.bootstrapState.BOOTSTRAP_TO_NETWORK=Připojování k {0} síti +# suppress inspection "UnusedProperty" +splash.bootstrapState.START_PUBLISH_SERVICE=Zahájení publikování {0} +# suppress inspection "UnusedProperty" +splash.bootstrapState.SERVICE_PUBLISHED={0} publikováno +# suppress inspection "UnusedProperty" +splash.bootstrapState.CONNECTED_TO_PEERS=Připojování k peerům + + +#################################################################### +# TAC +#################################################################### + +tac.headline=Uživatelská dohoda +tac.confirm=Přečetl(a) jsem a rozumím +tac.accept=Přijmout uživatelskou dohodu +tac.reject=Odmítnout a ukončit aplikaci + + +#################################################################### +# Unlock +#################################################################### + +unlock.headline=Zadejte heslo pro odemčení +unlock.button=Odemknout +unlock.failed=Nepodařilo se odemknout zadaným heslem.\n\nZkuste to znovu a ujistěte se, že nemáte zapnutý Caps Lock. + + +#################################################################### +# Updater +#################################################################### + +updater.headline=Je dostupná nová aktualizace Bisq +updater.headline.isLauncherUpdate=Je dostupný nový instalační program Bisq +updater.releaseNotesHeadline=Poznámky k verzi {0}: +updater.furtherInfo=Aktualizace bude nahrána po restartu a nevyžaduje novou instalaci.\nDalší podrobnosti naleznete na stránce s vydáním: +updater.furtherInfo.isLauncherUpdate=Tato aktualizace vyžaduje novou instalaci Bisq.\nPokud máte problémy s instalací Bisq na macOS, přečtěte si prosím instrukce na: +updater.download=Stáhnout a ověřit +updater.downloadLater=Stáhnout později +updater.ignore=Ignorovat tuto verzi +updater.shutDown=Vypnout +updater.shutDown.isLauncherUpdate=Otevřít adresář ke stažení a vypnout + +updater.downloadAndVerify.headline=Stáhnout a ověřit novou verzi +updater.downloadAndVerify.info=Kada se sve datoteke preuzmu, ključ za potpisivanje se upoređuje s ključevima dostupnim u aplikaciji i na Bisq web stranici. Taj ključ se zatim koristi za verifikaciju preuzete nove verzije ('desktop.jar'). +updater.downloadAndVerify.info.isLauncherUpdate=Kada se sve datoteke preuzmu, ključ za potpisivanje se upoređuje s ključevima dostupnim u aplikaciji i na Bisq web stranici. Taj ključ se zatim koristi za verifikaciju preuzetog instalacionog programa za novu verziju Bisq-a. Nakon što preuzimanje i verifikacija budu završeni, idite u direktorijum za preuzimanje da biste instalirali novu verziju Bisq-a. +updater.table.file=Soubor +updater.table.progress=Průběh stahování +updater.table.progress.completed=Dokončeno +updater.table.verified=Podpis ověřen + + +#################################################################### +# NotificationPanel +#################################################################### + +notificationPanel.trades.headline.single=Nová obchodní zpráva pro obchod ''{0}'' +notificationPanel.trades.headline.multiple=Nové obchodní zprávy +notificationPanel.trades.button=Přejít na 'Otevřené obchody' +notificationPanel.mediationCases.headline.single=Nová zpráva pro mediační případ s ID obchodu ''{0}'' +notificationPanel.mediationCases.headline.multiple=Nové zprávy pro mediace +notificationPanel.mediationCases.button=Přejít na 'Mediátor' + + +#################################################################### +# Onboarding +#################################################################### + +#################################################################### +# Welcome +#################################################################### + +onboarding.bisq2.headline=Vítejte v Bisq 2 +onboarding.bisq2.teaserHeadline1=Představujeme Bisq Easy +onboarding.bisq2.line1=Získání vašeho prvního Bitcoinu soukromě\nnikdy nebylo snazší. +onboarding.bisq2.teaserHeadline2=Učte se a objevujte +onboarding.bisq2.line2=Získejte jemný úvod do světa Bitcoinu\nprostřednictvím našich průvodců a komunitního chatu. +onboarding.bisq2.teaserHeadline3=Již brzy +onboarding.bisq2.line3=Vyberte si způsob obchodu: Bisq MuSig, Lightning, Submarine Swaps,... + + +#################################################################### +# Create profile +#################################################################### + +onboarding.createProfile.headline=Vytvořte svůj profil +onboarding.createProfile.subTitle=Váš veřejný profil se skládá z přezdívky (vybrané vám) a ikony robota (generované kryptograficky) +onboarding.createProfile.nym=ID robota: +onboarding.createProfile.regenerate=Vygenerovat novou ikonu robota +onboarding.createProfile.nym.generating=Vypočítávání práce... +onboarding.createProfile.createProfile=Další +onboarding.createProfile.createProfile.busy=Inicializace síťového uzlu... +onboarding.createProfile.nickName.prompt=Vyberte si svou přezdívku +onboarding.createProfile.nickName=Přezdívka profilu +onboarding.createProfile.nickName.tooLong=Přezdívka nesmí být delší než {0} znaků + + +#################################################################### +# Set password +#################################################################### + +onboarding.password.button.skip=Přeskočit +onboarding.password.subTitle=Nastavte ochranu heslem nyní nebo přeskočte a proveďte to později v 'Uživatelské možnosti/Heslo'. + +onboarding.password.headline.setPassword=Nastavit ochranu heslem +onboarding.password.button.savePassword=Uložit heslo +onboarding.password.enterPassword=Zadejte heslo (min. 8 znaků) +onboarding.password.confirmPassword=Potvrdit heslo +onboarding.password.savePassword.success=Ochrana heslem povolena. + + +#################################################################### +# Navigation +#################################################################### + +navigation.dashboard=Dashboard +navigation.bisqEasy=Bisq Easy +navigation.reputation=Reputace +navigation.tradeApps=Obchodní protokoly +navigation.wallet=Peněženka +navigation.academy=Učení +navigation.chat=Chat +navigation.support=Podpora +navigation.userOptions=Uživatelské možnosti +navigation.settings=Nastavení +navigation.network=Síť +navigation.authorizedRole=Oprávněná role + +navigation.expandIcon.tooltip=Rozbalit menu +navigation.collapseIcon.tooltip=Sbalit menu +navigation.vertical.expandIcon.tooltip=Rozbalit podmenu +navigation.vertical.collapseIcon.tooltip=Sbalit podmenu +navigation.network.info.clearNet=Clear-net +navigation.network.info.tor=Tor +navigation.network.info.i2p=I2P +navigation.network.info.tooltip={0} síť\nPočet připojení: {1}\nCílová připojení: {2} +navigation.network.info.inventoryRequest.requesting=Zahtijevanje mrežnih podataka +navigation.network.info.inventoryRequest.completed=Primljeni mrežni podaci +navigation.network.info.inventoryRequests.tooltip=Stanje zahtjeva za mrežne podatke:\nBroj čekajućih zahtjeva: {0}\nMaksimalni broj zahtjeva: {1}\nSvi podaci primljeni: {2} + + +#################################################################### +# Top panel +#################################################################### + +topPanel.wallet.balance=Zůstatek + + +###################################################### +## Dashboard +###################################################### + +dashboard.marketPrice=Poslední tržní cena +dashboard.offersOnline=Nabídky online +dashboard.activeUsers=Aktivní uživatelské profily +dashboard.activeUsers.tooltip=Profily zůstávají publikovány v síti, pokud byl uživatel online v posledních 15 dnech. +dashboard.main.headline=Získejte své první BTC +dashboard.main.content1=Začněte obchodovat nebo procházejte otevřené nabídky v nabídkové knize +dashboard.main.content2=Chatové a řízené uživatelské rozhraní pro obchodování +dashboard.main.content3=Zabezpečení je založeno na reputaci prodejce +dashboard.main.button=Vstupte do Bisq Easy +dashboard.second.headline=Více obchodních protokolů +dashboard.second.content=Podívejte se na plánované obchodní protokoly. Získejte přehled o funkcích různých protokolů. +dashboard.second.button=Prozkoumejte obchodní protokoly +dashboard.third.headline=Budujte reputaci +dashboard.third.content=Chcete prodávat Bitcoin na Bisq Easy? Zjistěte, jak funguje systém reputace a proč je důležitý. +dashboard.third.button=Budovat reputaci + + +#################################################################### +# Popups +#################################################################### + +popup.headline.instruction=Prosím, všimněte si: +popup.headline.attention=Pozor +popup.headline.backgroundInfo=Pozadí informace +popup.headline.feedback=Dokončeno +popup.headline.confirmation=Potvrzení +popup.headline.information=Informace +popup.headline.warning=Varování +popup.headline.invalid=Neplatný vstup +popup.headline.error=Chyba +popup.reportBug=Nahlásit chybu vývojářům Bisq +popup.reportError=Abychom mohli vylepšit software, prosím nahlásit tuto chybu otevřením nového problému na https://github.com/bisq-network/bisq2/issues.\nVýše uvedená chybová zpráva bude zkopírována do schránky, když kliknete na libovolné tlačítko níže.\nLadění bude jednodušší, pokud připojíte soubor bisq.log stisknutím 'Otevřít soubor protokolu', uložíte kopii a připojíte ji k vašemu hlášení o chybě. +popup.reportBug.report=Verze Bisq: {0}\nOperační systém: {1}\nChybová zpráva:\n{2} +popup.reportError.log=Otevřít soubor protokolu +popup.reportError.zipLogs=Zkomprimovat soubory protokolu +popup.reportError.gitHub=Nahlásit na GitHub sledovač problémů +popup.startup.error=Při inicializaci Bisq došlo k chybě: {0}. +popup.shutdown=Probíhá vypínání.\n\nMůže trvat až {0} sekund, než se vypnutí dokončí. +popup.shutdown.error=Při vypínání došlo k chybě: {0}. +popup.hyperlink.openInBrowser.tooltip=Otevřít odkaz v prohlížeči: {0}. +popup.hyperlink.copy.tooltip=Zkopírovat odkaz: {0}. + + +#################################################################### +# Messages +#################################################################### +hyperlinks.openInBrowser.attention.headline=Otevřít webový odkaz +hyperlinks.openInBrowser.attention=Chcete otevřít odkaz na `{0}` ve vašem výchozím webovém prohlížeči? +hyperlinks.openInBrowser.no=Ne, zkopírujte odkaz +hyperlinks.copiedToClipboard=Odkaz byl zkopírován do schránky + +#################################################################### +# Video +#################################################################### +video.mp4NotSupported.warning.headline=Vložené video nelze přehrát +video.mp4NotSupported.warning=Video si můžete prohlédnout ve vašem prohlížeči na: [HYPERLINK:{0}] + + +#################################################################### +# Misc +#################################################################### +version.versionAndCommitHash=Verze: v{0} / Commit hash: {1} diff --git a/pocs/android_only_m2_j17jars/app/src/main/resources/application_de.properties b/pocs/android_only_m2_j17jars/app/src/main/resources/application_de.properties new file mode 100644 index 00000000..a30934a0 --- /dev/null +++ b/pocs/android_only_m2_j17jars/app/src/main/resources/application_de.properties @@ -0,0 +1,252 @@ +###################################################### +# +# Translation strings for application scope elements not covered by the more specific scopes +# +###################################################### + +###################################################### +# Splash +###################################################### + +splash.details.tooltip=Klicken Sie hier, um Details umzuschalten + +# Dynamic values using DefaultApplicationService.State.name() +# suppress inspection "UnusedProperty" +splash.applicationServiceState.INITIALIZE_APP=Bisq starten +# suppress inspection "UnusedProperty" +splash.applicationServiceState.INITIALIZE_NETWORK=P2P-Netzwerk initialisieren +# suppress inspection "UnusedProperty" +splash.applicationServiceState.INITIALIZE_WALLET=Wallet initialisieren +# suppress inspection "UnusedProperty" +splash.applicationServiceState.INITIALIZE_SERVICES=Dienste initialisieren +# suppress inspection "UnusedProperty" +splash.applicationServiceState.APP_INITIALIZED=Bisq gestartet +# suppress inspection "UnusedProperty" +splash.applicationServiceState.FAILED=Start fehlgeschlagen +# suppress inspection "UnusedProperty" +splash.bootstrapState.service.CLEAR=Server +# suppress inspection "UnusedProperty" +splash.bootstrapState.service.TOR=Onion-Service +# suppress inspection "UnusedProperty" +splash.bootstrapState.service.I2P=I2P-Dienst +# suppress inspection "UnusedProperty" +splash.bootstrapState.network.CLEAR=Klar-Netz +# suppress inspection "UnusedProperty" +splash.bootstrapState.network.TOR=Tor +# suppress inspection "UnusedProperty" +splash.bootstrapState.network.I2P=I2P +# suppress inspection "UnusedProperty" +splash.bootstrapState.BOOTSTRAP_TO_NETWORK=Verbindung zu {0}-Netzwerk herstellen +# suppress inspection "UnusedProperty" +splash.bootstrapState.START_PUBLISH_SERVICE=Starten der Veröffentlichung von {0} +# suppress inspection "UnusedProperty" +splash.bootstrapState.SERVICE_PUBLISHED={0} veröffentlicht +# suppress inspection "UnusedProperty" +splash.bootstrapState.CONNECTED_TO_PEERS=Verbindung zu Peers herstellen + + +#################################################################### +# TAC +#################################################################### + +tac.headline=Nutzervereinbarung +tac.confirm=Ich habe die Nutzervereinbarung gelesen und verstanden +tac.accept=Nutzervereinbarung akzeptieren +tac.reject=Ablehnen und Anwendung beenden + + +#################################################################### +# Unlock +#################################################################### + +unlock.headline=Geben Sie das Passwort ein, um zu entsperren +unlock.button=Entsperren +unlock.failed=Entsperren mit dem bereitgestellten Passwort fehlgeschlagen.\n\nVersuchen Sie es erneut und stellen Sie sicher, dass die Feststelltaste + + +#################################################################### +# Updater +#################################################################### + +updater.headline=Ein neues Bisq-Update ist verfügbar +updater.headline.isLauncherUpdate=Ein neuer Bisq-Installer ist verfügbar +updater.releaseNotesHeadline=Versionshinweise für Version {0}: +updater.furtherInfo=Dieses Update wird nach dem Neustart geladen und erfordert keine neue Installation.\nWeitere Details finden Sie auf der Release-Seite unter: +updater.furtherInfo.isLauncherUpdate=Dieses Update erfordert eine neue Bisq-Installation.\nWenn Sie Probleme beim Installieren von Bisq unter macOS haben, lesen Sie bitte die Anweisungen unter: +updater.download=Herunterladen und überprüfen +updater.downloadLater=Später herunterladen +updater.ignore=Diese Version ignorieren +updater.shutDown=Ausschalten +updater.shutDown.isLauncherUpdate=Download-Verzeichnis öffnen und ausschalten + +updater.downloadAndVerify.headline=Neue Version herunterladen und überprüfen +updater.downloadAndVerify.info=Sobald alle Dateien heruntergeladen sind, wird der Signaturschlüssel mit den Schlüsseln verglichen, die in der Anwendung und auf der Bisq-Website verfügbar sind. Dieser Schlüssel wird dann verwendet, um die heruntergeladene neue Version ('desktop.jar') zu überprüfen. +updater.downloadAndVerify.info.isLauncherUpdate=Sobald alle Dateien heruntergeladen sind, wird der Signaturschlüssel mit den Schlüsseln verglichen, die in der Anwendung und auf der Bisq-Website verfügbar sind. Dieser Schlüssel wird dann verwendet, um den heruntergeladenen neuen Bisq-Installer zu überprüfen. \nNach Abschluss des Downloads und der Überprüfung navigieren Sie zum Downloadverzeichnis, um die neue Bisq-Version zu installieren. +updater.table.file=Datei +updater.table.progress=Download-Fortschritt +updater.table.progress.completed=Abgeschlossen +updater.table.verified=Signatur überprüft + + +#################################################################### +# NotificationPanel +#################################################################### + +notificationPanel.trades.headline.single=Neue Handelsnachricht für Handel ''{0}'' +notificationPanel.trades.headline.multiple=Neue Handelsnachrichten +notificationPanel.trades.button=Zu 'Offene Transaktionen' gehen +notificationPanel.mediationCases.headline.single=Neue Nachricht für Mediationsfall mit Trade-ID ''{0}'' +notificationPanel.mediationCases.headline.multiple=Neue Nachrichten für Mediation +notificationPanel.mediationCases.button=Zu 'Mediator' gehen + + +#################################################################### +# Onboarding +#################################################################### + +#################################################################### +# Welcome +#################################################################### + +onboarding.bisq2.headline=Willkommen bei Bisq 2 +onboarding.bisq2.teaserHeadline1=Neu: Bisq Easy +onboarding.bisq2.line1=Deine ersten Bitcoins privat zu erhalten\nwar noch nie einfacher. +onboarding.bisq2.teaserHeadline2=Lernen & Entdecken +onboarding.bisq2.line2=Bekomme eine langsame Einführung in Bitcoin durch unsere Anleitungen und den Community-Chat. +onboarding.bisq2.teaserHeadline3=In Planung +onboarding.bisq2.line3=Wähle, wie du handeln möchtest: Bisq MuSig, Lightning, Submarine Swaps,... + + +#################################################################### +# Create profile +#################################################################### + +onboarding.createProfile.headline=Profil erstellen +onboarding.createProfile.subTitle=Dein öffentliches Profil besteht aus einem Spitznamen (von dir gewählt) und einem Bot-Icon (kryptografisch generiert) +onboarding.createProfile.nym=Bot ID: +onboarding.createProfile.regenerate=Neues Bot-Icon generieren +onboarding.createProfile.nym.generating=Beweis der Arbeit wird berechnet... +onboarding.createProfile.createProfile=Weiter +onboarding.createProfile.createProfile.busy=Initialisiere Netzwerkknoten... +onboarding.createProfile.nickName.prompt=Wähle deinen Spitznamen +onboarding.createProfile.nickName=Profil-Spitzname +onboarding.createProfile.nickName.tooLong=Spitzname darf nicht länger als {0} Zeichen sein + + +#################################################################### +# Set password +#################################################################### + +onboarding.password.button.skip=Überspringen +onboarding.password.subTitle=Setze jetzt den Passwortschutz oder überspringe es und mache es später in 'Benutzereinstellungen/Passwort'. + +onboarding.password.headline.setPassword=Passwortschutz einrichten +onboarding.password.button.savePassword=Passwort speichern +onboarding.password.enterPassword=Passwort eingeben (min. 8 Zeichen) +onboarding.password.confirmPassword=Passwort bestätigen +onboarding.password.savePassword.success=Passwortschutz aktiviert. + + +#################################################################### +# Navigation +#################################################################### + +navigation.dashboard=Dashboard +navigation.bisqEasy=Bisq Easy +navigation.reputation=Reputation +navigation.tradeApps=Handelsprotokolle +navigation.wallet=Wallet +navigation.academy=Lernen +navigation.chat=Chat +navigation.support=Support +navigation.userOptions=Benutzer +navigation.settings=Einstellungen +navigation.network=Netzwerk +navigation.authorizedRole=Berechtigte Rolle + +navigation.expandIcon.tooltip=Menü erweitern +navigation.collapseIcon.tooltip=Menü minimieren +navigation.vertical.expandIcon.tooltip=Untermenü erweitern +navigation.vertical.collapseIcon.tooltip=Untermenü minimieren +navigation.network.info.clearNet=Clearnet +navigation.network.info.tor=Tor +navigation.network.info.i2p=I2P +navigation.network.info.tooltip={0} Netzwerk\nAnzahl an Verbindungen: {1}\nVerbindungsziele: {2} +navigation.network.info.inventoryRequest.requesting=Anfrage für Netzwerkinformationen wird gestellt +navigation.network.info.inventoryRequest.completed=Netzwerkdaten empfangen +navigation.network.info.inventoryRequests.tooltip=Zustand der Netzwerkinformationsanfragen:\nAnzahl der ausstehenden Anfragen: {0}\nMax. Anfragen: {1}\nAlle Daten empfangen: {2} + + +#################################################################### +# Top panel +#################################################################### + +topPanel.wallet.balance=Kontostand + + +###################################################### +## Dashboard +###################################################### + +dashboard.marketPrice=Aktueller Marktpreis +dashboard.offersOnline=Angebote online +dashboard.activeUsers=Veröffentlichte Benutzerprofile +dashboard.activeUsers.tooltip=Profile bleiben im Netzwerk veröffentlicht,\nwenn der Benutzer in den letzten 15 Tagen online war. +dashboard.main.headline=Hole dir deine ersten BTC +dashboard.main.content1=Beginne mit dem Handel oder durchsuche offene Angebote im Angebotsbuch +dashboard.main.content2=Chat-basierte und geführte Benutzeroberfläche für den Handel +dashboard.main.content3=Sicherheit basiert auf der Reputation des Verkäufers +dashboard.main.button=Zu Bisq Easy +dashboard.second.headline=Handelsprotokolle +dashboard.second.content=Schaue dir die Roadmap für kommende Handelsprotokolle an. Erhalte einen Überblick über die Funktionen der verschiedenen Protokolle. +dashboard.second.button=Handelsprotokolle erkunden +dashboard.third.headline=Reputation aufbauen +dashboard.third.content=Du möchtest Bitcoin auf Bisq Easy verkaufen? Erfahre, wie das Reputationssystem funktioniert und warum es wichtig ist. +dashboard.third.button=Reputation aufbauen + + +#################################################################### +# Popups +#################################################################### + +popup.headline.instruction=Bitte beachten: +popup.headline.attention=Hinweis +popup.headline.backgroundInfo=Hintergrundinformation +popup.headline.feedback=Abgeschlossen +popup.headline.confirmation=Bestätigung +popup.headline.information=Information +popup.headline.warning=Warnung +popup.headline.invalid=Ungültige Eingabe +popup.headline.error=Fehler +popup.reportBug=Problem an Bisq-Entwickler melden +popup.reportError=Um uns zu helfen, die Software zu verbessern, bitte melde diesen Fehler, indem du ein neues Issue aufmachst unter: 'https://github.com/bisq-network/bisq2/issues'.\nDie Fehlermeldung wird in die Zwischenablage kopiert, wenn du den 'melden'-Button unten klickst.\n\nEs wäre hilfreich für die Fehlersuche, wenn du die Logdateien in deinem Bug-Report beifügst. Logdateien enthalten keine sensiblen Daten. +popup.reportBug.report=Bisq-Version: {0}\nBetriebssystem: {1}\nFehlermeldung:\n{2} +popup.reportError.log=Log-Datei öffnen +popup.reportError.zipLogs=Logdateien zippen +popup.reportError.gitHub=Fehler im Bisq GitHub-Repository melden +popup.startup.error=Ein Fehler ist beim Starten von Bisq aufgetreten: {0}. +popup.shutdown=App wird heruntergefahren.\n\nEs kann bis zu {0} Sekunden dauern, bis das Herunterfahren abgeschlossen ist. +popup.shutdown.error=Ein Fehler ist beim Herunterfahren aufgetreten: {0}. +popup.hyperlink.openInBrowser.tooltip=Link im Browser öffnen: {0}. +popup.hyperlink.copy.tooltip=Link kopieren: {0}. + + +#################################################################### +# Messages +#################################################################### +hyperlinks.openInBrowser.attention.headline=Web-Link öffnen +hyperlinks.openInBrowser.attention=Möchten Sie den Link zu `{0}` in Ihrem Standard-Webbrowser öffnen? +hyperlinks.openInBrowser.no=Nein, Link kopieren +hyperlinks.copiedToClipboard=Link wurde in die Zwischenablage kopiert + +#################################################################### +# Video +#################################################################### +video.mp4NotSupported.warning.headline=Eingebettetes Video kann nicht abgespielt werden +video.mp4NotSupported.warning=Du kannst das Video in deinem Browser ansehen unter: [HYPERLINK:{0}] + + +#################################################################### +# Misc +#################################################################### +version.versionAndCommitHash=Version: v{0} / Commit-Hash: {1} diff --git a/pocs/android_only_m2_j17jars/app/src/main/resources/application_es.properties b/pocs/android_only_m2_j17jars/app/src/main/resources/application_es.properties new file mode 100644 index 00000000..1bbc5d1d --- /dev/null +++ b/pocs/android_only_m2_j17jars/app/src/main/resources/application_es.properties @@ -0,0 +1,252 @@ +###################################################### +# +# Translation strings for application scope elements not covered by the more specific scopes +# +###################################################### + +###################################################### +# Splash +###################################################### + +splash.details.tooltip=Haz clic para mostrar detalles + +# Dynamic values using DefaultApplicationService.State.name() +# suppress inspection "UnusedProperty" +splash.applicationServiceState.INITIALIZE_APP=Iniciando Bisq +# suppress inspection "UnusedProperty" +splash.applicationServiceState.INITIALIZE_NETWORK=Inicializando red P2P +# suppress inspection "UnusedProperty" +splash.applicationServiceState.INITIALIZE_WALLET=Inicializando monedero +# suppress inspection "UnusedProperty" +splash.applicationServiceState.INITIALIZE_SERVICES=Inicializando servicios +# suppress inspection "UnusedProperty" +splash.applicationServiceState.APP_INITIALIZED=Bisq iniciado +# suppress inspection "UnusedProperty" +splash.applicationServiceState.FAILED=Fallo en el arranque +# suppress inspection "UnusedProperty" +splash.bootstrapState.service.CLEAR=Servidor +# suppress inspection "UnusedProperty" +splash.bootstrapState.service.TOR=Servicio Onion +# suppress inspection "UnusedProperty" +splash.bootstrapState.service.I2P=Servicio I2P +# suppress inspection "UnusedProperty" +splash.bootstrapState.network.CLEAR=Clear net +# suppress inspection "UnusedProperty" +splash.bootstrapState.network.TOR=Tor +# suppress inspection "UnusedProperty" +splash.bootstrapState.network.I2P=I2P +# suppress inspection "UnusedProperty" +splash.bootstrapState.BOOTSTRAP_TO_NETWORK=Arrancar con red {0} +# suppress inspection "UnusedProperty" +splash.bootstrapState.START_PUBLISH_SERVICE=Comenzar publicación de {0} +# suppress inspection "UnusedProperty" +splash.bootstrapState.SERVICE_PUBLISHED={0} publicado +# suppress inspection "UnusedProperty" +splash.bootstrapState.CONNECTED_TO_PEERS=Conectando con pares + + +#################################################################### +# TAC +#################################################################### + +tac.headline=Acuerdo de usuario +tac.confirm=He leído y entendido +tac.accept=Aceptar acuerdo de usuario +tac.reject=Rechazar y salir de la aplicación + + +#################################################################### +# Unlock +#################################################################### + +unlock.headline=Introduce la contraseña para desbloquear +unlock.button=Desbloquear +unlock.failed=No se pudo desbloquear con la contraseña proporcionada.\n\nInténtalo de nuevo y asegúrate de tener desactivado el bloqueo de mayúsculas. + + +#################################################################### +# Updater +#################################################################### + +updater.headline=Hay una nueva actualización de Bisq disponible +updater.headline.isLauncherUpdate=Hay un nuevo instalador de Bisq disponible +updater.releaseNotesHeadline=Notas de la versión {0}: +updater.furtherInfo=Esta actualización se cargará después de reiniciar y no requiere una nueva instalación.\nPuedes encontrar más detalles en la página de lanzamiento en: +updater.furtherInfo.isLauncherUpdate=Esta actualización requiere una nueva instalación de Bisq.\nSi tienes problemas al instalar Bisq en macOS, por favor lee las instrucciones en: +updater.download=Descargar y verificar +updater.downloadLater=Descargar más tarde +updater.ignore=Ignorar esta versión +updater.shutDown=Apagar +updater.shutDown.isLauncherUpdate=Abrir el directorio de descargas y apagar + +updater.downloadAndVerify.headline=Descargar y verificar nueva versión +updater.downloadAndVerify.info=Una vez descargados todos los archivos, la clave de firma se compara con las claves proporcionadas en la aplicación y las disponibles en el sitio web de Bisq. Esta clave se utiliza luego para verificar la nueva versión descargada ('desktop.jar'). +updater.downloadAndVerify.info.isLauncherUpdate=Una vez descargados todos los archivos, la clave de firma se compara con las claves proporcionadas en la aplicación y las disponibles en el sitio web de Bisq. Esta clave se utiliza para verificar el nuevo instalador de Bisq descargado. Después de la descarga y verificación, navega al directorio de descargas para instalar la nueva versión de Bisq. +updater.table.file=Archivo +updater.table.progress=Progreso de la descarga +updater.table.progress.completed=Completado +updater.table.verified=Firma verificada + + +#################################################################### +# NotificationPanel +#################################################################### + +notificationPanel.trades.headline.single=Nuevo mensaje de intercambio para el intercambio ''{0}'' +notificationPanel.trades.headline.multiple=Nuevos mensajes de intercambio +notificationPanel.trades.button=Ir a 'Intercambios abiertos' +notificationPanel.mediationCases.headline.single=Nuevo mensaje para el caso de mediación con el ID de intercambio ''{0}'' +notificationPanel.mediationCases.headline.multiple=Nuevos mensajes para la mediación +notificationPanel.mediationCases.button=Ir a 'Mediador' + + +#################################################################### +# Onboarding +#################################################################### + +#################################################################### +# Welcome +#################################################################### + +onboarding.bisq2.headline=Bienvenido a Bisq 2 +onboarding.bisq2.teaserHeadline1=Presentando Bisq Easy +onboarding.bisq2.line1=Obtener tu primer Bitcoin de forma privada\nnunca ha sido tan fácil. +onboarding.bisq2.teaserHeadline2=Aprende y descubre +onboarding.bisq2.line2=Introdúcete paso a paso a Bitcoin\na través de nuestras guías y el chat de la comunidad. +onboarding.bisq2.teaserHeadline3=Próximamente +onboarding.bisq2.line3=Elige cómo comerciar: Bisq MuSig, Lightning, Submarine Swaps,... + + +#################################################################### +# Create profile +#################################################################### + +onboarding.createProfile.headline=Crea tu perfil +onboarding.createProfile.subTitle=Tu perfil público consta de un apodo (elegido por ti) y un icono de bot (generado criptográficamente) +onboarding.createProfile.nym=ID de Bot: +onboarding.createProfile.regenerate=Generar nuevo icono de bot +onboarding.createProfile.nym.generating=Calculando prueba de trabajo... +onboarding.createProfile.createProfile=Siguiente +onboarding.createProfile.createProfile.busy=Inicializando nodo de red... +onboarding.createProfile.nickName.prompt=Elige tu apodo +onboarding.createProfile.nickName=Apodo del perfil +onboarding.createProfile.nickName.tooLong=El apodo no puede tener más de {0} caracteres + + +#################################################################### +# Set password +#################################################################### + +onboarding.password.button.skip=Omitir +onboarding.password.subTitle=Configura ahora la protección con contraseña, o hazlo más tarde en 'Opciones de usuario/Contraseña'. + +onboarding.password.headline.setPassword=Configurar protección con contraseña +onboarding.password.button.savePassword=Guardar contraseña +onboarding.password.enterPassword=Introduce la contraseña (mín. 8 caracteres) +onboarding.password.confirmPassword=Confirmar contraseña +onboarding.password.savePassword.success=Protección con contraseña habilitada. + + +#################################################################### +# Navigation +#################################################################### + +navigation.dashboard=Tablero +navigation.bisqEasy=Bisq Easy +navigation.reputation=Reputación +navigation.tradeApps=Protocolos +navigation.wallet=Cartera +navigation.academy=Aprender +navigation.chat=Chat +navigation.support=Soporte +navigation.userOptions=Opciones de usuario +navigation.settings=Ajustes +navigation.network=Red +navigation.authorizedRole=Rol autorizado + +navigation.expandIcon.tooltip=Expandir menú +navigation.collapseIcon.tooltip=Minimizar menú +navigation.vertical.expandIcon.tooltip=Expandir submenú +navigation.vertical.collapseIcon.tooltip=Cerrar submenú +navigation.network.info.clearNet=Clear-net +navigation.network.info.tor=Tor +navigation.network.info.i2p=I2P +navigation.network.info.tooltip=Red {0} \nNúmero de conexiones: {1}\nCantidad objetivo; {2} +navigation.network.info.inventoryRequest.requesting=Solicitando datos de red +navigation.network.info.inventoryRequest.completed=Datos de red recibidos +navigation.network.info.inventoryRequests.tooltip=Estado de la solicitud de datos de red:\nNúmero de peticiones pendientes: {0}\nMáx. de peticiones: {1}\nTodos los datos recibidos: {2} + + +#################################################################### +# Top panel +#################################################################### + +topPanel.wallet.balance=Saldo + + +###################################################### +## Dashboard +###################################################### + +dashboard.marketPrice=Último precio de mercado +dashboard.offersOnline=Ofertas activas +dashboard.activeUsers=Usuarios activos +dashboard.activeUsers.tooltip=Los perfiles permanecen activos en la red\nsi el usuario estuvo en línea en los últimos 15 días. +dashboard.main.headline=Obtén tu primer BTC +dashboard.main.content1=Comienza a operar o consulta ofertas abiertas en el libro de ofertas +dashboard.main.content2=Interfaz de usuario basada en chat y guiada para la compra-venta +dashboard.main.content3=La seguridad se basa en la reputación del vendedor +dashboard.main.button=Accede a Bisq Easy +dashboard.second.headline=Múltiples protocolos de intercambio +dashboard.second.content=Consulta la hoja de ruta para los próximos protocolos de intercambio. Obtén una visión general de las características de los diferentes protocolos. +dashboard.second.button=Explorar protocolos de intercambio +dashboard.third.headline=Construye tu reputación +dashboard.third.content=¿Quieres vender Bitcoin en Bisq Easy? Aprende cómo funciona el sistema de reputación y por qué es importante. +dashboard.third.button=Construye tu reputación + + +#################################################################### +# Popups +#################################################################### + +popup.headline.instruction=Por favor, ten en cuenta: +popup.headline.attention=Atención +popup.headline.backgroundInfo=Contexto +popup.headline.feedback=Completado +popup.headline.confirmation=Confirmación +popup.headline.information=Información +popup.headline.warning=Advertencia +popup.headline.invalid=Entrada inválida +popup.headline.error=Error +popup.reportBug=Reportar el error a los desarrolladores de Bisq +popup.reportError=Para ayudarnos a mejorar el software, por favor, informa sobre este error abriendo un nuevo problema en https://github.com/bisq-network/bisq2/issues.\nEl mensaje de error anterior se copiará al portapapeles cuando hagas clic en cualquiera de los botones a continuación.\nIncluir el archivo bisq.log en tu informe de error facilitará la investigación. El archivo de registro no contienen datos sensibles. +popup.reportBug.report=Versión de Bisq: {0}\nSistema operativo: {1}\nMensaje de error:\n{2} +popup.reportError.log=Abrir archivo de registro +popup.reportError.zipLogs=Comprimir archivos de registro +popup.reportError.gitHub=Reportar al repositorio de Bisq en GitHub +popup.startup.error=Se ha producido error iniciando Bisq: {0}. +popup.shutdown=Apagando.\n\nEl cierre puede tardar hasta {0}. +popup.shutdown.error=Ocurrió un error en el cierre: {0}. +popup.hyperlink.openInBrowser.tooltip=Abrir enlace en el navegador: {0}. +popup.hyperlink.copy.tooltip=Copiar enlace: {0}. + + +#################################################################### +# Messages +#################################################################### +hyperlinks.openInBrowser.attention.headline=Abrir enlace a la web +hyperlinks.openInBrowser.attention=¿Quieres abrir el enlace a `{0}` en tu navegador web por defecto? +hyperlinks.openInBrowser.no=No, copiar enlace +hyperlinks.copiedToClipboard=El enlace se ha copiado en el portapapeles + +#################################################################### +# Video +#################################################################### +video.mp4NotSupported.warning.headline=El vídeo incrustado no se puede reproducir +video.mp4NotSupported.warning=Puedes ver el video en tu navegador en: [HYPERLINK:{0}] + + +#################################################################### +# Misc +#################################################################### +version.versionAndCommitHash=Versión: v{0} / Hash del commit: {1} diff --git a/pocs/android_only_m2_j17jars/app/src/main/resources/application_it.properties b/pocs/android_only_m2_j17jars/app/src/main/resources/application_it.properties new file mode 100644 index 00000000..90174d60 --- /dev/null +++ b/pocs/android_only_m2_j17jars/app/src/main/resources/application_it.properties @@ -0,0 +1,252 @@ +###################################################### +# +# Translation strings for application scope elements not covered by the more specific scopes +# +###################################################### + +###################################################### +# Splash +###################################################### + +splash.details.tooltip=Clicca per mostrare i dettagli + +# Dynamic values using DefaultApplicationService.State.name() +# suppress inspection "UnusedProperty" +splash.applicationServiceState.INITIALIZE_APP=Avvio di Bisq +# suppress inspection "UnusedProperty" +splash.applicationServiceState.INITIALIZE_NETWORK=Inizializzazione della rete P2P +# suppress inspection "UnusedProperty" +splash.applicationServiceState.INITIALIZE_WALLET=Inizializzazione del portafoglio +# suppress inspection "UnusedProperty" +splash.applicationServiceState.INITIALIZE_SERVICES=Inizializzazione dei servizi +# suppress inspection "UnusedProperty" +splash.applicationServiceState.APP_INITIALIZED=Bisq avviato +# suppress inspection "UnusedProperty" +splash.applicationServiceState.FAILED=Avvio fallito +# suppress inspection "UnusedProperty" +splash.bootstrapState.service.CLEAR=Server +# suppress inspection "UnusedProperty" +splash.bootstrapState.service.TOR=Servizio Onion +# suppress inspection "UnusedProperty" +splash.bootstrapState.service.I2P=Servizio I2P +# suppress inspection "UnusedProperty" +splash.bootstrapState.network.CLEAR=Rete chiara +# suppress inspection "UnusedProperty" +splash.bootstrapState.network.TOR=Tor +# suppress inspection "UnusedProperty" +splash.bootstrapState.network.I2P=I2P +# suppress inspection "UnusedProperty" +splash.bootstrapState.BOOTSTRAP_TO_NETWORK=Bootstrap alla rete {0} +# suppress inspection "UnusedProperty" +splash.bootstrapState.START_PUBLISH_SERVICE=Inizio pubblicazione {0} +# suppress inspection "UnusedProperty" +splash.bootstrapState.SERVICE_PUBLISHED={0} pubblicato +# suppress inspection "UnusedProperty" +splash.bootstrapState.CONNECTED_TO_PEERS=Connessione ai peer + + +#################################################################### +# TAC +#################################################################### + +tac.headline=Accordo dell'utente +tac.confirm=Ho letto e compreso +tac.accept=Accetta l'accordo dell'utente +tac.reject=Rifiuta e chiudi l'applicazione + + +#################################################################### +# Unlock +#################################################################### + +unlock.headline=Inserisci la password per sbloccare +unlock.button=Sblocca +unlock.failed=Impossibile sbloccare con la password fornita.\n\nRiprova e assicurati che il blocco maiuscole sia disattivato. + + +#################################################################### +# Updater +#################################################################### + +updater.headline=È disponibile un nuovo aggiornamento di Bisq +updater.headline.isLauncherUpdate=È disponibile un nuovo installer di Bisq +updater.releaseNotesHeadline=Note di rilascio per la versione {0}: +updater.furtherInfo=Questo aggiornamento sarà caricato dopo il riavvio e non richiede una nuova installazione.\nUlteriori dettagli possono essere trovati nella pagina di rilascio su: +updater.furtherInfo.isLauncherUpdate=Questo aggiornamento richiede una nuova installazione di Bisq.\nSe hai problemi nell'installare Bisq su macOS, leggi le istruzioni su: +updater.download=Scarica e verifica +updater.downloadLater=Scarica più tardi +updater.ignore=Ignora questa versione +updater.shutDown=Spegni +updater.shutDown.isLauncherUpdate=Apri la directory di download e spegni + +updater.downloadAndVerify.headline=Scarica e verifica la nuova versione +updater.downloadAndVerify.info=Una volta scaricati tutti i file, la chiave di firma viene confrontata con le chiavi fornite nell'applicazione e quelle disponibili sul sito web di Bisq. Questa chiave viene quindi utilizzata per verificare la nuova versione scaricata ('desktop.jar'). +updater.downloadAndVerify.info.isLauncherUpdate=Una volta scaricati tutti i file, la chiave di firma viene confrontata con le chiavi fornite nell'applicazione e quelle disponibili sul sito web di Bisq. Questa chiave viene quindi utilizzata per verificare il nuovo programma di installazione di Bisq scaricato. Dopo il completamento del download e della verifica, vai alla directory di download per installare la nuova versione di Bisq. +updater.table.file=File +updater.table.progress=Progresso del download +updater.table.progress.completed=Completato +updater.table.verified=Firma verificata + + +#################################################################### +# NotificationPanel +#################################################################### + +notificationPanel.trades.headline.single=Nuovo messaggio di scambio per il commercio ''{0}'' +notificationPanel.trades.headline.multiple=Nuovi messaggi di scambio +notificationPanel.trades.button=Vai a 'Scambi Aperti' +notificationPanel.mediationCases.headline.single=Nuovo messaggio per il caso di mediazione con ID commercio ''{0}'' +notificationPanel.mediationCases.headline.multiple=Nuovi messaggi per la mediazione +notificationPanel.mediationCases.button=Vai a 'Mediatore' + + +#################################################################### +# Onboarding +#################################################################### + +#################################################################### +# Welcome +#################################################################### + +onboarding.bisq2.headline=Benvenuto in Bisq 2 +onboarding.bisq2.teaserHeadline1=Presentazione di Bisq Easy +onboarding.bisq2.line1=Ottenere il tuo primo Bitcoin in modo privato\nnon è mai stato così facile. +onboarding.bisq2.teaserHeadline2=Impara & scopri +onboarding.bisq2.line2=Ottieni un'introduzione dolce a Bitcoin\nattraverso le nostre guide e la chat della community. +onboarding.bisq2.teaserHeadline3=Prossimamente +onboarding.bisq2.line3=Scegli come fare trading: Bisq MuSig, Lightning, Scambi Submarini,... + + +#################################################################### +# Create profile +#################################################################### + +onboarding.createProfile.headline=Crea il tuo profilo +onboarding.createProfile.subTitle=Il tuo profilo pubblico consiste in un nickname (scelto da te) e un'icona bot (generata criptograficamente) +onboarding.createProfile.nym=ID Bot: +onboarding.createProfile.regenerate=Genera nuova icona bot +onboarding.createProfile.nym.generating=Calcolo della prova di lavoro... +onboarding.createProfile.createProfile=Avanti +onboarding.createProfile.createProfile.busy=Inizializzazione del nodo di rete... +onboarding.createProfile.nickName.prompt=Scegli il tuo nickname +onboarding.createProfile.nickName=Nickname del profilo +onboarding.createProfile.nickName.tooLong=Il nickname non deve essere più lungo di {0} caratteri + + +#################################################################### +# Set password +#################################################################### + +onboarding.password.button.skip=Salta +onboarding.password.subTitle=Configura la protezione con password ora o salta e fallo più tardi in 'Opzioni utente/Password'. + +onboarding.password.headline.setPassword=Imposta la protezione con password +onboarding.password.button.savePassword=Salva password +onboarding.password.enterPassword=Inserisci la password (min. 8 caratteri) +onboarding.password.confirmPassword=Conferma password +onboarding.password.savePassword.success=Protezione con password abilitata. + + +#################################################################### +# Navigation +#################################################################### + +navigation.dashboard=Dashboard +navigation.bisqEasy=Bisq Easy +navigation.reputation=Reputazione +navigation.tradeApps=Protocolli di trading +navigation.wallet=Portafoglio +navigation.academy=Impara +navigation.chat=Chat +navigation.support=Supporto +navigation.userOptions=Opzioni utente +navigation.settings=Impostazioni +navigation.network=Rete +navigation.authorizedRole=Ruolo autorizzato + +navigation.expandIcon.tooltip=Espandi menu +navigation.collapseIcon.tooltip=Minimizza menu +navigation.vertical.expandIcon.tooltip=Espandi sottomenu +navigation.vertical.collapseIcon.tooltip=Riduci sottomenu +navigation.network.info.clearNet=Clear-net +navigation.network.info.tor=Tor +navigation.network.info.i2p=I2P +navigation.network.info.tooltip=Rete {0}\nNumero di connessioni: {1}\nConnessioni obiettivo: {2} +navigation.network.info.inventoryRequest.requesting=Richiesta di dati di rete in corso +navigation.network.info.inventoryRequest.completed=Dati di rete ricevuti +navigation.network.info.inventoryRequests.tooltip=Stato della richiesta di dati di rete:\nNumero di richieste in sospeso: {0}\nNumero massimo di richieste: {1}\nTutti i dati ricevuti: {2} + + +#################################################################### +# Top panel +#################################################################### + +topPanel.wallet.balance=Saldo + + +###################################################### +## Dashboard +###################################################### + +dashboard.marketPrice=Ultimo prezzo di mercato +dashboard.offersOnline=Offerte online +dashboard.activeUsers=Profili utente pubblicati +dashboard.activeUsers.tooltip=I profili rimangono pubblicati sulla rete\nse l'utente è stato online negli ultimi 15 giorni. +dashboard.main.headline=Ottieni il tuo primo BTC +dashboard.main.content1=Inizia a fare trading o consulta le offerte disponibili nel libro degli ordini +dashboard.main.content2=Interfaccia utente basata su chat e guidata per il trading +dashboard.main.content3=La sicurezza si basa sulla reputazione del venditore +dashboard.main.button=Entra in Bisq Easy +dashboard.second.headline=Protocolli di trading multipli +dashboard.second.content=Consulta la tabella di marcia per i prossimi protocolli di trading. Ottieni una panoramica delle caratteristiche dei diversi protocolli. +dashboard.second.button=Esplora i protocolli di trading +dashboard.third.headline=Costruisci la reputazione +dashboard.third.content=Vuoi vendere Bitcoin su Bisq Easy? Scopri come funziona il sistema di reputazione e perché è importante. +dashboard.third.button=Costruisci reputazione + + +#################################################################### +# Popups +#################################################################### + +popup.headline.instruction=Nota: +popup.headline.attention=Attenzione +popup.headline.backgroundInfo=Informazioni di base +popup.headline.feedback=Completato +popup.headline.confirmation=Conferma +popup.headline.information=Informazioni +popup.headline.warning=Avviso +popup.headline.invalid=Input non valido +popup.headline.error=Errore +popup.reportBug=Segnala bug agli sviluppatori di Bisq +popup.reportError=Per aiutarci a migliorare il software, ti preghiamo di segnalare questo bug aprendo una nuova issue su https://github.com/bisq-network/bisq2/issues.\nIl messaggio di errore sopra verrà copiato negli appunti quando clicchi su uno dei pulsanti qui sotto.\nFacilita il debug se includi il file bisq.log premendo 'Apri file di log', salvandone una copia e allegandola alla segnalazione del bug. +popup.reportBug.report=Versione di Bisq: {0}\nSistema operativo: {1}\nMessaggio di errore:\n{2} +popup.reportError.log=Apri file di log +popup.reportError.zipLogs=Comprimi i file di log +popup.reportError.gitHub=Segnala al tracker issue di GitHub +popup.startup.error=Si è verificato un errore durante l'inizializzazione di Bisq: {0}. +popup.shutdown=La chiusura è in corso.\n\nPotrebbero essere necessari fino a {0} secondi perché la chiusura sia completata. +popup.shutdown.error=Si è verificato un errore durante la chiusura: {0}. +popup.hyperlink.openInBrowser.tooltip=Apri il link nel browser: {0}. +popup.hyperlink.copy.tooltip=Copia il link: {0}. + + +#################################################################### +# Messages +#################################################################### +hyperlinks.openInBrowser.attention.headline=Apri link web +hyperlinks.openInBrowser.attention=Vuoi aprire il link a `{0}` nel tuo browser web predefinito? +hyperlinks.openInBrowser.no=No, copia il link +hyperlinks.copiedToClipboard=Il link è stato copiato negli appunti + +#################################################################### +# Video +#################################################################### +video.mp4NotSupported.warning.headline=Il video incorporato non può essere riprodotto +video.mp4NotSupported.warning=Puoi guardare il video nel tuo browser all'indirizzo: [HYPERLINK:{0}] + + +#################################################################### +# Misc +#################################################################### +version.versionAndCommitHash=Versione: v{0} / Commit hash: {1} diff --git a/pocs/android_only_m2_j17jars/app/src/main/resources/application_pcm.properties b/pocs/android_only_m2_j17jars/app/src/main/resources/application_pcm.properties new file mode 100644 index 00000000..e2d3a70b --- /dev/null +++ b/pocs/android_only_m2_j17jars/app/src/main/resources/application_pcm.properties @@ -0,0 +1,252 @@ +###################################################### +# +# Translation strings for application scope elements not covered by the more specific scopes +# +###################################################### + +###################################################### +# Splash +###################################################### + +splash.details.tooltip=Click mek you see or hide details + +# Dynamic values using DefaultApplicationService.State.name() +# suppress inspection "UnusedProperty" +splash.applicationServiceState.INITIALIZE_APP=Bisq dey start +# suppress inspection "UnusedProperty" +splash.applicationServiceState.INITIALIZE_NETWORK=To set P2P network +# suppress inspection "UnusedProperty" +splash.applicationServiceState.INITIALIZE_WALLET=To set wallet +# suppress inspection "UnusedProperty" +splash.applicationServiceState.INITIALIZE_SERVICES=To set services +# suppress inspection "UnusedProperty" +splash.applicationServiceState.APP_INITIALIZED=Bisq don start +# suppress inspection "UnusedProperty" +splash.applicationServiceState.FAILED=Startup no succeed +# suppress inspection "UnusedProperty" +splash.bootstrapState.service.CLEAR=Server +# suppress inspection "UnusedProperty" +splash.bootstrapState.service.TOR=Onion Service +# suppress inspection "UnusedProperty" +splash.bootstrapState.service.I2P=I2P Service +# suppress inspection "UnusedProperty" +splash.bootstrapState.network.CLEAR=Clear net +# suppress inspection "UnusedProperty" +splash.bootstrapState.network.TOR=Tor +# suppress inspection "UnusedProperty" +splash.bootstrapState.network.I2P=I2P +# suppress inspection "UnusedProperty" +splash.bootstrapState.BOOTSTRAP_TO_NETWORK=To join {0} network +# suppress inspection "UnusedProperty" +splash.bootstrapState.START_PUBLISH_SERVICE=To start to dey show {0} +# suppress inspection "UnusedProperty" +splash.bootstrapState.SERVICE_PUBLISHED={0} don show +# suppress inspection "UnusedProperty" +splash.bootstrapState.CONNECTED_TO_PEERS=To connect to peers + + +#################################################################### +# TAC +#################################################################### + +tac.headline=User Agreement +tac.confirm=I don read and understand +tac.accept=Accept user Agreement +tac.reject=Reject and quit application + + +#################################################################### +# Unlock +#################################################################### + +unlock.headline=Enter password to open +unlock.button=Open +unlock.failed=Password no fit open am.\n\nTry again, make sure say caps lock no dey on. + + +#################################################################### +# Updater +#################################################################### + +updater.headline=New update for Bisq dey available +updater.headline.isLauncherUpdate=New Bisq installer dey available +updater.releaseNotesHeadline=Release notes for version {0}: +updater.furtherInfo=Dis update go load after you restart and no need new installation.\nMore details dey for the release page at: +updater.furtherInfo.isLauncherUpdate=Dis update need new Bisq installation.\nIf you get wahala when you dey install Bisq for macOS, abeg read the instructions at: +updater.download=Download and check am +updater.downloadLater=Download later +updater.ignore=Ignore dis version +updater.shutDown=Shut down +updater.shutDown.isLauncherUpdate=Open download directory and shut down + +updater.downloadAndVerify.headline=Download and verify new version +updater.downloadAndVerify.info=Once all files don download finish, dem go compare the signing key with the keys wey dey inside the application and the ones wey dey on top Bisq website. Dem go use dis key to confirm the new version wey dem download ('desktop.jar'). +updater.downloadAndVerify.info.isLauncherUpdate=Once all files don download finish, dem go compare the signing key with the keys wey dey inside the application and the ones wey dey on top Bisq website. Dem go use dis key to confirm the new Bisq installer wey dem download. After download and verification finish, go the download folder make you install the new Bisq version. +updater.table.file=File +updater.table.progress=Download progress +updater.table.progress.completed=Completed +updater.table.verified=Signature don verify + + +#################################################################### +# NotificationPanel +#################################################################### + +notificationPanel.trades.headline.single=New trade message for trade ''{0}'' +notificationPanel.trades.headline.multiple=New trade messages +notificationPanel.trades.button=Go to 'Open Trades' +notificationPanel.mediationCases.headline.single=New message for mediation case with trade ID ''{0}'' +notificationPanel.mediationCases.headline.multiple=New messages for mediation +notificationPanel.mediationCases.button=Go to 'Mediator' + + +#################################################################### +# Onboarding +#################################################################### + +#################################################################### +# Welcome +#################################################################### + +onboarding.bisq2.headline=Welcome to Bisq 2 +onboarding.bisq2.teaserHeadline1=Introducing Bisq Easy +onboarding.bisq2.line1=To get your first Bitcoin for private way\ndon easy pass before. +onboarding.bisq2.teaserHeadline2=Learn & discover +onboarding.bisq2.line2=Get easy introduction into Bitcoin\nthrough our guides and community chat. +onboarding.bisq2.teaserHeadline3=Coming soon +onboarding.bisq2.line3=Choose how you go like trade: Bisq MuSig, Lightning, Submarine Swaps,... + + +#################################################################### +# Create profile +#################################################################### + +onboarding.createProfile.headline=Create your profile +onboarding.createProfile.subTitle=Your public profile get nickname (wey you go choose) and bot icon (wey dem generate with cryptography) +onboarding.createProfile.nym=Bot ID: +onboarding.createProfile.regenerate=Generate new bot icon +onboarding.createProfile.nym.generating=Calculating proof of work... +onboarding.createProfile.createProfile=Next +onboarding.createProfile.createProfile.busy=Initializing network node... +onboarding.createProfile.nickName.prompt=Choose your nickname +onboarding.createProfile.nickName=Profile nickname +onboarding.createProfile.nickName.tooLong=Nickname no fit pass {0} characters + + +#################################################################### +# Set password +#################################################################### + +onboarding.password.button.skip=Skip +onboarding.password.subTitle=Set up password protection now or skip and do am later for 'User options/Password'. + +onboarding.password.headline.setPassword=Set password protection +onboarding.password.button.savePassword=Save password +onboarding.password.enterPassword=Enter password (min. 8 characters) +onboarding.password.confirmPassword=Confirm password +onboarding.password.savePassword.success=Password protection don set. + + +#################################################################### +# Navigation +#################################################################### + +navigation.dashboard=Dashboard +navigation.bisqEasy=Bisq Easy +navigation.reputation=Reputation +navigation.tradeApps=Trade protocols +navigation.wallet=Wallet +navigation.academy=Learn +navigation.chat=Chat +navigation.support=Support +navigation.userOptions=User options +navigation.settings=Settings +navigation.network=Network +navigation.authorizedRole=Authorized role + +navigation.expandIcon.tooltip=Expand menu +navigation.collapseIcon.tooltip=Minimize menu +navigation.vertical.expandIcon.tooltip=Expand sub menu +navigation.vertical.collapseIcon.tooltip=Collapse sub menu +navigation.network.info.clearNet=Clear-net +navigation.network.info.tor=Tor +navigation.network.info.i2p=I2P +navigation.network.info.tooltip={0} network\nNumber of connections: {1}\nTarget connections: {2} +navigation.network.info.inventoryRequest.requesting=Requesting network data +navigation.network.info.inventoryRequest.completed=Network data don receive +navigation.network.info.inventoryRequests.tooltip=Network data request state:\nNumber of pending requests: {0}\nMax. requests: {1}\nAll data received: {2} + + +#################################################################### +# Top panel +#################################################################### + +topPanel.wallet.balance=Balance + + +###################################################### +## Dashboard +###################################################### + +dashboard.marketPrice=Latest market price +dashboard.offersOnline=Offers online +dashboard.activeUsers=Published user profiles +dashboard.activeUsers.tooltip=Profiles stay published on the network\nif the user was online in the last 15 days. +dashboard.main.headline=Get your first BTC +dashboard.main.content1=Start trading or browse open offers for offerbook +dashboard.main.content2=Chat based and guided user interface for trading +dashboard.main.content3=Security dey based on seller's reputation +dashboard.main.button=Enter Bisq Easy +dashboard.second.headline=Multiple trade protocols +dashboard.second.content=Check out the roadmap for upcoming trade protocols. Get overview about the features of the different protocols. +dashboard.second.button=Explore trade protocols +dashboard.third.headline=Build up reputation +dashboard.third.content=You want to sell Bitcoin on Bisq Easy? Learn how the Reputation system works and why it is important. +dashboard.third.button=Build Reputation + + +#################################################################### +# Popups +#################################################################### + +popup.headline.instruction=Please note: +popup.headline.attention=Attention +popup.headline.backgroundInfo=Background information +popup.headline.feedback=Completed +popup.headline.confirmation=Confirmation +popup.headline.information=Information +popup.headline.warning=Warning +popup.headline.invalid=Invalid input +popup.headline.error=Error +popup.reportBug=Report bug to Bisq developers +popup.reportError=To help us improve di software, please report dis bug by opening a new issue at https://github.com/bisq-network/bisq2/issues.\nDi above error message go copy to clipboard when you click any of di buttons below.\nE go help for debugging if you include di bisq.log file by pressing 'Open log file', saving a copy, and attaching am to your bug report. +popup.reportBug.report=Bisq version: {0}\nOperating system: {1}\nError message:\n{2} +popup.reportError.log=Open log file +popup.reportError.zipLogs=Zip log files +popup.reportError.gitHub=Report to GitHub issue tracker +popup.startup.error=An error occurred at initializing Bisq: {0}. +popup.shutdown=Shut down is in process.\n\nIt might take up to {0} seconds until shut down is completed. +popup.shutdown.error=An error occurred at shut down: {0}. +popup.hyperlink.openInBrowser.tooltip=Open link in browser: {0}. +popup.hyperlink.copy.tooltip=Copy link: {0}. + + +#################################################################### +# Messages +#################################################################### +hyperlinks.openInBrowser.attention.headline=Open web link +hyperlinks.openInBrowser.attention=You wan open the link to `{0}` for your default web browser? +hyperlinks.openInBrowser.no=No, copy link +hyperlinks.copiedToClipboard=Link was copied to clipboard + +#################################################################### +# Video +#################################################################### +video.mp4NotSupported.warning.headline=Embedded video cannot be played +video.mp4NotSupported.warning=You can watch the video in your browser at: [HYPERLINK:{0}] + + +#################################################################### +# Misc +#################################################################### +version.versionAndCommitHash=Version: v{0} / Commit hash: {1} diff --git a/pocs/android_only_m2_j17jars/app/src/main/resources/application_pt_BR.properties b/pocs/android_only_m2_j17jars/app/src/main/resources/application_pt_BR.properties new file mode 100644 index 00000000..ec1549e9 --- /dev/null +++ b/pocs/android_only_m2_j17jars/app/src/main/resources/application_pt_BR.properties @@ -0,0 +1,252 @@ +###################################################### +# +# Translation strings for application scope elements not covered by the more specific scopes +# +###################################################### + +###################################################### +# Splash +###################################################### + +splash.details.tooltip=Clique para alternar detalhes + +# Dynamic values using DefaultApplicationService.State.name() +# suppress inspection "UnusedProperty" +splash.applicationServiceState.INITIALIZE_APP=Iniciando Bisq +# suppress inspection "UnusedProperty" +splash.applicationServiceState.INITIALIZE_NETWORK=Inicializar rede P2P +# suppress inspection "UnusedProperty" +splash.applicationServiceState.INITIALIZE_WALLET=Inicializar carteira +# suppress inspection "UnusedProperty" +splash.applicationServiceState.INITIALIZE_SERVICES=Inicializar serviços +# suppress inspection "UnusedProperty" +splash.applicationServiceState.APP_INITIALIZED=Bisq iniciado +# suppress inspection "UnusedProperty" +splash.applicationServiceState.FAILED=Falha na inicialização +# suppress inspection "UnusedProperty" +splash.bootstrapState.service.CLEAR=Servidor +# suppress inspection "UnusedProperty" +splash.bootstrapState.service.TOR=Serviço Onion +# suppress inspection "UnusedProperty" +splash.bootstrapState.service.I2P=Serviço I2P +# suppress inspection "UnusedProperty" +splash.bootstrapState.network.CLEAR=Rede clara +# suppress inspection "UnusedProperty" +splash.bootstrapState.network.TOR=Tor +# suppress inspection "UnusedProperty" +splash.bootstrapState.network.I2P=I2P +# suppress inspection "UnusedProperty" +splash.bootstrapState.BOOTSTRAP_TO_NETWORK=Inicialização para a rede {0} +# suppress inspection "UnusedProperty" +splash.bootstrapState.START_PUBLISH_SERVICE=Iniciar publicação {0} +# suppress inspection "UnusedProperty" +splash.bootstrapState.SERVICE_PUBLISHED={0} publicado +# suppress inspection "UnusedProperty" +splash.bootstrapState.CONNECTED_TO_PEERS=Conectando aos pares + + +#################################################################### +# TAC +#################################################################### + +tac.headline=Acordo do Usuário +tac.confirm=Eu li e entendi +tac.accept=Aceitar o Acordo do Usuário +tac.reject=Rejeitar e sair da aplicação + + +#################################################################### +# Unlock +#################################################################### + +unlock.headline=Insira a senha para desbloquear +unlock.button=Desbloquear +unlock.failed=Não foi possível desbloquear com a senha fornecida.\n\nTente novamente e certifique-se de que o Caps Lock está desativado. + + +#################################################################### +# Updater +#################################################################### + +updater.headline=Uma nova atualização do Bisq está disponível +updater.headline.isLauncherUpdate=Um novo instalador do Bisq está disponível +updater.releaseNotesHeadline=Notas de lançamento para a versão {0}: +updater.furtherInfo=Esta atualização será carregada após o reinício e não requer uma nova instalação.\nMais detalhes podem ser encontrados na página de lançamento em: +updater.furtherInfo.isLauncherUpdate=Esta atualização requer uma nova instalação do Bisq.\nSe você tiver problemas ao instalar o Bisq no macOS, leia as instruções em: +updater.download=Baixar e verificar +updater.downloadLater=Baixar depois +updater.ignore=Ignorar esta versão +updater.shutDown=Desligar +updater.shutDown.isLauncherUpdate=Abrir diretório de download e desligar + +updater.downloadAndVerify.headline=Baixar e verificar nova versão +updater.downloadAndVerify.info=Depois que todos os arquivos forem baixados, a chave de assinatura é comparada com as chaves fornecidas no aplicativo e aquelas disponíveis no site do Bisq. Esta chave é então usada para verificar a nova versão baixada ('desktop.jar'). +updater.downloadAndVerify.info.isLauncherUpdate=Depois que todos os arquivos forem baixados, a chave de assinatura é comparada com as chaves fornecidas no aplicativo e aquelas disponíveis no site do Bisq. Esta chave é então usada para verificar o novo instalador do Bisq. Após o download e a verificação serem concluídos, navegue até o diretório de download para instalar a nova versão do Bisq. +updater.table.file=Arquivo +updater.table.progress=Progresso do download +updater.table.progress.completed=Concluído +updater.table.verified=Assinatura verificada + + +#################################################################### +# NotificationPanel +#################################################################### + +notificationPanel.trades.headline.single=Nova mensagem de negociação para a negociação ''{0}'' +notificationPanel.trades.headline.multiple=Novas mensagens de negociação +notificationPanel.trades.button=Ir para 'Negociações Abertas' +notificationPanel.mediationCases.headline.single=Nova mensagem para caso de mediação com ID de negociação ''{0}'' +notificationPanel.mediationCases.headline.multiple=Novas mensagens para mediação +notificationPanel.mediationCases.button=Ir para 'Mediador' + + +#################################################################### +# Onboarding +#################################################################### + +#################################################################### +# Welcome +#################################################################### + +onboarding.bisq2.headline=Bem-vindo ao Bisq 2 +onboarding.bisq2.teaserHeadline1=Apresentando Bisq Easy +onboarding.bisq2.line1=Obter seu primeiro Bitcoin de forma privada\nnunca foi tão fácil. +onboarding.bisq2.teaserHeadline2=Aprenda & descubra +onboarding.bisq2.line2=Tenha uma introdução gentil ao Bitcoin\natravés dos nossos guias e chat da comunidade. +onboarding.bisq2.teaserHeadline3=Em breve +onboarding.bisq2.line3=Escolha como negociar: Bisq MuSig, Lightning, Submarine Swaps,... + + +#################################################################### +# Create profile +#################################################################### + +onboarding.createProfile.headline=Crie seu perfil +onboarding.createProfile.subTitle=Seu perfil público consiste em um apelido (escolhido por você) e um ícone de bot (gerado criptograficamente) +onboarding.createProfile.nym=ID do Bot: +onboarding.createProfile.regenerate=Gerar novo ícone de bot +onboarding.createProfile.nym.generating=Calculando prova de trabalho... +onboarding.createProfile.createProfile=Próximo +onboarding.createProfile.createProfile.busy=Inicializando nó de rede... +onboarding.createProfile.nickName.prompt=Escolha seu apelido +onboarding.createProfile.nickName=Apelido do perfil +onboarding.createProfile.nickName.tooLong=O apelido não deve ter mais de {0} caracteres + + +#################################################################### +# Set password +#################################################################### + +onboarding.password.button.skip=Pular +onboarding.password.subTitle=Configure a proteção por senha agora ou pule e faça isso mais tarde em 'Opções do usuário/Senha'. + +onboarding.password.headline.setPassword=Definir proteção por senha +onboarding.password.button.savePassword=Salvar senha +onboarding.password.enterPassword=Insira a senha (mín. 8 caracteres) +onboarding.password.confirmPassword=Confirme a senha +onboarding.password.savePassword.success=Proteção por senha ativada. + + +#################################################################### +# Navigation +#################################################################### + +navigation.dashboard=Painel de Controle +navigation.bisqEasy=Bisq Easy +navigation.reputation=Reputação +navigation.tradeApps=Protocolos +navigation.wallet=Carteira +navigation.academy=Aprender +navigation.chat=Chat +navigation.support=Suporte +navigation.userOptions=Opções do usuário +navigation.settings=Configurações +navigation.network=Rede +navigation.authorizedRole=Função autorizada + +navigation.expandIcon.tooltip=Expandir menu +navigation.collapseIcon.tooltip=Minimizar menu +navigation.vertical.expandIcon.tooltip=Expandir sub-menu +navigation.vertical.collapseIcon.tooltip=Recolher sub-menu +navigation.network.info.clearNet=Rede clara +navigation.network.info.tor=Tor +navigation.network.info.i2p=I2P +navigation.network.info.tooltip=Rede {0}\nNúmero de conexões: {1}\nConexões alvo: {2} +navigation.network.info.inventoryRequest.requesting=Solicitando dados de rede +navigation.network.info.inventoryRequest.completed=Dados de rede recebidos +navigation.network.info.inventoryRequests.tooltip=Estado da solicitação de dados de rede:\nNúmero de solicitações pendentes: {0}\nMáx. de solicitações: {1}\nTodos os dados recebidos: {2} + + +#################################################################### +# Top panel +#################################################################### + +topPanel.wallet.balance=Saldo + + +###################################################### +## Dashboard +###################################################### + +dashboard.marketPrice=Último preço de mercado +dashboard.offersOnline=Ofertas online +dashboard.activeUsers=Perfis de usuários publicados +dashboard.activeUsers.tooltip=Os perfis permanecem publicados na rede\nse o usuário esteve online nos últimos 15 dias. +dashboard.main.headline=Obtenha seu primeiro BTC +dashboard.main.content1=Comece a negociar ou navegue pelas ofertas abertas no livro de ofertas +dashboard.main.content2=Interface de usuário baseada em chat e guiada para negociação +dashboard.main.content3=A segurança é baseada na reputação do vendedor +dashboard.main.button=Entrar no Bisq Easy +dashboard.second.headline=Múltiplos protocolos de negociação +dashboard.second.content=Confira o roteiro para os próximos protocolos de negociação. Obtenha uma visão geral sobre os recursos dos diferentes protocolos. +dashboard.second.button=Explorar protocolos de negociação +dashboard.third.headline=Construa sua reputação +dashboard.third.content=Você deseja vender Bitcoin no Bisq Easy? Aprenda como funciona o sistema de reputação e por que é importante. +dashboard.third.button=Construir Reputação + + +#################################################################### +# Popups +#################################################################### + +popup.headline.instruction=Por favor, observe: +popup.headline.attention=Atenção +popup.headline.backgroundInfo=Informações de fundo +popup.headline.feedback=Concluído +popup.headline.confirmation=Confirmação +popup.headline.information=Informação +popup.headline.warning=Aviso +popup.headline.invalid=Entrada inválida +popup.headline.error=Erro +popup.reportBug=Reportar bug aos desenvolvedores do Bisq +popup.reportError=Para nos ajudar a melhorar o software, por favor, reporte este bug abrindo uma nova questão em https://github.com/bisq-network/bisq2/issues.\nA mensagem de erro acima será copiada para a área de transferência quando você clicar em qualquer um dos botões abaixo.\nSerá mais fácil para depuração se você incluir o arquivo bisq.log pressionando 'Abrir arquivo de log', salvando uma cópia e anexando-a ao seu relatório de bug. +popup.reportBug.report=Versão do Bisq: {0}\nSistema operacional: {1}\nMensagem de erro:\n{2} +popup.reportError.log=Abrir arquivo de log +popup.reportError.zipLogs=Compactar arquivos de log +popup.reportError.gitHub=Reportar ao rastreador de problemas do GitHub +popup.startup.error=Ocorreu um erro ao inicializar o Bisq: {0}. +popup.shutdown=O processo de desligamento está em andamento.\n\nPode levar até {0} segundos até que o desligamento seja concluído. +popup.shutdown.error=Ocorreu um erro ao desligar: {0}. +popup.hyperlink.openInBrowser.tooltip=Abrir link no navegador: {0}. +popup.hyperlink.copy.tooltip=Copiar link: {0}. + + +#################################################################### +# Messages +#################################################################### +hyperlinks.openInBrowser.attention.headline=Abrir link da web +hyperlinks.openInBrowser.attention=Deseja abrir o link para `{0}` no seu navegador web padrão? +hyperlinks.openInBrowser.no=Não, copiar link +hyperlinks.copiedToClipboard=Link copiado para a área de transferência + +#################################################################### +# Video +#################################################################### +video.mp4NotSupported.warning.headline=Vídeo embutido não pode ser reproduzido +video.mp4NotSupported.warning=Você pode assistir ao vídeo no seu navegador em: [HYPERLINK:{0}] + + +#################################################################### +# Misc +#################################################################### +version.versionAndCommitHash=Versão: v{0} / Hash do commit: {1} diff --git a/pocs/android_only_m2_j17jars/app/src/main/resources/authorized_role.properties b/pocs/android_only_m2_j17jars/app/src/main/resources/authorized_role.properties new file mode 100644 index 00000000..c88df6f0 --- /dev/null +++ b/pocs/android_only_m2_j17jars/app/src/main/resources/authorized_role.properties @@ -0,0 +1,158 @@ +################################################################################ +# +# Authorized Role +# +################################################################################ + +# suppress inspection "UnusedProperty" +authorizedRole.MEDIATOR=Mediator +# suppress inspection "UnusedProperty" +authorizedRole.MODERATOR=Moderator +# suppress inspection "UnusedProperty" +authorizedRole.ARBITRATOR=Arbitrator +# suppress inspection "UnusedProperty" +authorizedRole.SECURITY_MANAGER=Security manager +# suppress inspection "UnusedProperty" +authorizedRole.RELEASE_MANAGER=Release manager +# suppress inspection "UnusedProperty" +authorizedRole.ORACLE_NODE=Oracle node +# suppress inspection "UnusedProperty" +authorizedRole.SEED_NODE=Seed node +# suppress inspection "UnusedProperty" +authorizedRole.EXPLORER_NODE=Explorer node +# suppress inspection "UnusedProperty" +authorizedRole.MARKET_PRICE_NODE=Market price node + + +################################################################################ +# Bonded role info +################################################################################ + +authorizedRole.roleInfo.headline=Bonded role data +authorizedRole.roleInfo.profileId=Profile ID +authorizedRole.roleInfo.authorizedPublicKey=Authorized public key +authorizedRole.roleInfo.bondedRoleType=Bonded role type +authorizedRole.roleInfo.bondUserName=Bond username +authorizedRole.roleInfo.signature=Signature +authorizedRole.roleInfo.addressByNetworkType=Address +authorizedRole.roleInfo.authorizingOracleNodeProfileId=Oracle profile ID +authorizedRole.roleInfo.staticPublicKeysProvided=Public key provided statically +authorizedRole.roleInfo.authorizedPublicKeys=Static list of authorized public keys +authorizedRole.roleInfo.isBanned=Banned + + +################################################################################ +# Mediator +################################################################################ +authorizedRole.mediator.message.toRequester=You requested mediation support. The Bisq mediator will join the trade chat to assist you. +authorizedRole.mediator.message.toNonRequester=Your trade peer requested mediation support. The Bisq mediator will join the trade chat to assist you. +authorizedRole.mediator.noOpenCases=You don't have any open mediation cases +authorizedRole.mediator.noClosedCases=You don't have any closed mediation cases +authorizedRole.mediator.table.headline=Mediation cases +authorizedRole.mediator.table.maker=Maker +authorizedRole.mediator.table.taker=Taker +authorizedRole.mediator.close=Close case +authorizedRole.mediator.reOpen=Re-open case +authorizedRole.mediator.leave=Leave chat +authorizedRole.mediator.showClosedCases=Show closed cases +authorizedRole.mediator.hasRequested={0}\nHas requested mediation: {1} +authorizedRole.mediator.close.warning=Are you sure you want to close the mediation case?\n\n\ + Be sure that you have communicated to the trade peers your mediation result.\n\n\ + You can access the mediation case after closing when you toggle the switch-button in the top-right corner. \ + The chat channel still remains open. Once you have closed the case you will get an option to leave the channel. +authorizedRole.mediator.close.tradeLogMessage=The mediator has closed the case +authorizedRole.mediator=The mediator has re-opened the case. +authorizedRole.mediator.leaveChannel.warning=Are you sure you want to leave the chat channel?\n\n\ + Once you left the chat channel all messages and channel data are gone, and you cannot communicate with the traders anymore. + + +################################################################################ +################################################################################ +# Moderator +################################################################################ + +authorizedRole.moderator.reportToModerator.table.headline=Reports +authorizedRole.moderator.table.message=Message +authorizedRole.moderator.table.chatChannelDomain=Channel +authorizedRole.moderator.table.reporter=Reporter +authorizedRole.moderator.table.accused=Accused +authorizedRole.moderator.table.ban=Ban +authorizedRole.moderator.table.contact=Contact +authorizedRole.moderator.table.delete=Delete + +authorizedRole.moderator.bannedUserProfile.table.headline=Banned user profiles +authorizedRole.moderator.bannedUserProfile.table.userProfile=User profile +authorizedRole.moderator.bannedUserProfile.table.contact=Contact + +authorizedRole.moderator.table.removeBan=Remove ban + +authorizedRole.moderator.replyMsg=I am a Bisq moderator and would like to discuss the report you sent. + + +################################################################################ +# Security manager +################################################################################ +authorizedRole.securityManager.difficultyAdjustment.headline=Pow difficulty adjustment +authorizedRole.securityManager.difficultyAdjustment.description=Difficulty adjustment factor +authorizedRole.securityManager.difficultyAdjustment.invalid=Must be a number between 0 and {0} +authorizedRole.securityManager.difficultyAdjustment.button=Publish difficulty adjustment factor +authorizedRole.securityManager.difficultyAdjustment.table.headline=Published difficulty adjustment data +authorizedRole.securityManager.difficultyAdjustment.table.value=Value + +authorizedRole.securityManager.alert.headline=Management of alerts +authorizedRole.securityManager.selectAlertType=Select alert type +authorizedRole.securityManager.alert.message.headline=Headline +authorizedRole.securityManager.alert.message=Alert message (max 1000 characters) +authorizedRole.securityManager.alert.message.tooLong=Alert message is longer than 1000 characters +authorizedRole.securityManager.emergency.haltTrading=Halt trading +authorizedRole.securityManager.emergency.requireVersionForTrading=Require min. version for trading +authorizedRole.securityManager.emergency.requireVersionForTrading.version=Version +authorizedRole.securityManager.emergency.requireVersionForTrading.version.prompt=Enter min. version number (e.g.: `2.1.2`) +authorizedRole.securityManager.selectBondedRole=Select bonded role +authorizedRole.securityManager.selectedBondedRole=Nickname: {0}, Type: {1}, ProfileId: {2} + +authorizedRole.securityManager.alert.table.headline=Alerts +authorizedRole.securityManager.alert.table.alertType=Type +authorizedRole.securityManager.alert.table.message=Message +authorizedRole.securityManager.alert.table.haltTrading=Halt trading +authorizedRole.securityManager.alert.table.requireVersionForTrading=Require min. version +authorizedRole.securityManager.alert.table.minVersion=Min. version +authorizedRole.securityManager.alert.table.bannedRole=Banned role +authorizedRole.securityManager.alert.table.bannedRole.value={0}: {1} ({2}) +# suppress inspection "UnusedProperty" +authorizedRole.securityManager.actionButton.INFO=Send info alert +# suppress inspection "UnusedProperty" +authorizedRole.securityManager.actionButton.WARN=Send warning alert +# suppress inspection "UnusedProperty" +authorizedRole.securityManager.actionButton.EMERGENCY=Send emergency alert +# suppress inspection "UnusedProperty" +authorizedRole.securityManager.actionButton.BAN=Ban bonded role +# suppress inspection "UnusedProperty" +authorizedRole.securityManager.alertType.INFO=Info +# suppress inspection "UnusedProperty" +authorizedRole.securityManager.alertType.WARN=Warning +# suppress inspection "UnusedProperty" +authorizedRole.securityManager.alertType.EMERGENCY=Emergency +# suppress inspection "UnusedProperty" +authorizedRole.securityManager.alertType.BAN=Ban role + + +################################################################################ +# Release manager +################################################################################ + +authorizedRole.releaseManager.headline=Send update notification +authorizedRole.releaseManager.releaseNotes=Release notes +authorizedRole.releaseManager.isPreRelease=Is pre-release +authorizedRole.releaseManager.isLauncherUpdate=Is launcher update +authorizedRole.releaseManager.version=Release version +authorizedRole.releaseManager.send=Publish + +authorizedRole.releaseManager.table.headline=Update notifications +authorizedRole.releaseManager.table.releaseNotes=Release notes +authorizedRole.releaseManager.table.version=Version +authorizedRole.releaseManager.table.isPreRelease=Is pre-release +authorizedRole.releaseManager.table.isLauncherUpdate=Launcher update +authorizedRole.releaseManager.table.profileId=Publisher profile ID + + diff --git a/pocs/android_only_m2_j17jars/app/src/main/resources/authorized_role_cs.properties b/pocs/android_only_m2_j17jars/app/src/main/resources/authorized_role_cs.properties new file mode 100644 index 00000000..a3d12ca1 --- /dev/null +++ b/pocs/android_only_m2_j17jars/app/src/main/resources/authorized_role_cs.properties @@ -0,0 +1,154 @@ +################################################################################ +# +# Authorized Role +# +################################################################################ + +# suppress inspection "UnusedProperty" +authorizedRole.MEDIATOR=Mediátor +# suppress inspection "UnusedProperty" +authorizedRole.MODERATOR=Moderátor +# suppress inspection "UnusedProperty" +authorizedRole.ARBITRATOR=Arbitr +# suppress inspection "UnusedProperty" +authorizedRole.SECURITY_MANAGER=Manažer bezpečnosti +# suppress inspection "UnusedProperty" +authorizedRole.RELEASE_MANAGER=Manažer vydání +# suppress inspection "UnusedProperty" +authorizedRole.ORACLE_NODE=Uzel Oracle +# suppress inspection "UnusedProperty" +authorizedRole.SEED_NODE=Začátečník uzlu +# suppress inspection "UnusedProperty" +authorizedRole.EXPLORER_NODE=Průzkumný uzel +# suppress inspection "UnusedProperty" +authorizedRole.MARKET_PRICE_NODE=Uzel tržní ceny + + +################################################################################ +# Bonded role info +################################################################################ + +authorizedRole.roleInfo.headline=Data role s vazbou +authorizedRole.roleInfo.profileId=ID profilu +authorizedRole.roleInfo.authorizedPublicKey=Autorizovaný veřejný klíč +authorizedRole.roleInfo.bondedRoleType=Typ role s vazbou +authorizedRole.roleInfo.bondUserName=Uživatelské jméno pro vazbu +authorizedRole.roleInfo.signature=Podpis +authorizedRole.roleInfo.addressByNetworkType=Adresa +authorizedRole.roleInfo.authorizingOracleNodeProfileId=ID profilu Oracle +authorizedRole.roleInfo.staticPublicKeysProvided=Veřejný klíč poskytnut staticky +authorizedRole.roleInfo.authorizedPublicKeys=Statický seznam autorizovaných veřejných klíčů +authorizedRole.roleInfo.isBanned=Zakázán + + +################################################################################ +# Mediator +################################################################################ +authorizedRole.mediator.message.toRequester=Požádali jste o podporu při mediaci. Mediátor Bisq se připojí k chatové konverzaci obchodu, aby vám pomohl. +authorizedRole.mediator.message.toNonRequester=Váš obchodní partner požádal o podporu při mediaci. Mediátor Bisq se připojí k chatové konverzaci obchodu, aby vám pomohl. +authorizedRole.mediator.noOpenCases=Nemáte žádné otevřené případy mediace +authorizedRole.mediator.noClosedCases=Nemáte žádné uzavřené případy mediace +authorizedRole.mediator.table.headline=Případy mediace +authorizedRole.mediator.table.maker=Vytvářející +authorizedRole.mediator.table.taker=Přijímající +authorizedRole.mediator.close=Uzavřít případ +authorizedRole.mediator.reOpen=Znovu otevřít případ +authorizedRole.mediator.leave=Opustit chat +authorizedRole.mediator.showClosedCases=Zobrazit uzavřené případy +authorizedRole.mediator.hasRequested={0}\nPožádal o mediaci: {1} +authorizedRole.mediator.close.warning=Jste si jisti, že chcete uzavřít případ mediace?\n\nUjistěte se, že jste obchodním partnerům sdělili výsledek mediace.\n\nPo uzavření máte přístup k případu mediace, když přepnete tlačítko v pravém horním rohu. Chatový kanál zůstává otevřený. Jakmile případ uzavřete, dostanete možnost opustit kanál. +authorizedRole.mediator.close.tradeLogMessage=Posrednik je zatvorio slučaj +authorizedRole.mediator=Mediátor případ znovu otevřel. +authorizedRole.mediator.leaveChannel.warning=Jste si jisti, že chcete opustit chatový kanál?\n\nJakmile opustíte chatový kanál, všechny zprávy a data kanálu zmizí a již nemůžete komunikovat s obchodníky. + + +################################################################################ +################################################################################ +# Moderator +################################################################################ + +authorizedRole.moderator.reportToModerator.table.headline=Hlášení +authorizedRole.moderator.table.message=Zpráva +authorizedRole.moderator.table.chatChannelDomain=Kanál +authorizedRole.moderator.table.reporter=Hlásící +authorizedRole.moderator.table.accused=Obviněný +authorizedRole.moderator.table.ban=Zakázat +authorizedRole.moderator.table.contact=Kontakt +authorizedRole.moderator.table.delete=Smazat + +authorizedRole.moderator.bannedUserProfile.table.headline=Zakázané uživatelské profily +authorizedRole.moderator.bannedUserProfile.table.userProfile=Uživatelský profil +authorizedRole.moderator.bannedUserProfile.table.contact=Kontakt + +authorizedRole.moderator.table.removeBan=Zrušit zákaz + +authorizedRole.moderator.replyMsg=Jsem moderátor Bisq a rád bych prodiskutoval hlášení, které jste poslali. + + +################################################################################ +# Security manager +################################################################################ +authorizedRole.securityManager.difficultyAdjustment.headline=Úprava obtížnosti PoW +authorizedRole.securityManager.difficultyAdjustment.description=Faktor úpravy obtížnosti +authorizedRole.securityManager.difficultyAdjustment.invalid=Musí být číslo mezi 0 a {0} +authorizedRole.securityManager.difficultyAdjustment.button=Publikovat faktor úpravy obtížnosti +authorizedRole.securityManager.difficultyAdjustment.table.headline=Publikovaná data úpravy obtížnosti +authorizedRole.securityManager.difficultyAdjustment.table.value=Hodnota + +authorizedRole.securityManager.alert.headline=Management of alerts +authorizedRole.securityManager.selectAlertType=Select alert type +authorizedRole.securityManager.alert.message.headline=Nadpis +authorizedRole.securityManager.alert.message=Alert message (max 1000 characters) +authorizedRole.securityManager.alert.message.tooLong=Alert message is longer than 1000 characters +authorizedRole.securityManager.emergency.haltTrading=Halt trading +authorizedRole.securityManager.emergency.requireVersionForTrading=Require min. version for trading +authorizedRole.securityManager.emergency.requireVersionForTrading.version=Version +authorizedRole.securityManager.emergency.requireVersionForTrading.version.prompt=Enter min. version number (e.g.: `2.1.2`) +authorizedRole.securityManager.selectBondedRole=Select bonded role +authorizedRole.securityManager.selectedBondedRole=Nickname: {0}, Type: {1}, ProfileId: {2} + +authorizedRole.securityManager.alert.table.headline=Alerts +authorizedRole.securityManager.alert.table.alertType=Type +authorizedRole.securityManager.alert.table.message=Message +authorizedRole.securityManager.alert.table.haltTrading=Halt trading +authorizedRole.securityManager.alert.table.requireVersionForTrading=Require min. version +authorizedRole.securityManager.alert.table.minVersion=Min. version +authorizedRole.securityManager.alert.table.bannedRole=Banned role +authorizedRole.securityManager.alert.table.bannedRole.value={0}: {1} ({2}) +# suppress inspection "UnusedProperty" +authorizedRole.securityManager.actionButton.INFO=Send info alert +# suppress inspection "UnusedProperty" +authorizedRole.securityManager.actionButton.WARN=Send warning alert +# suppress inspection "UnusedProperty" +authorizedRole.securityManager.actionButton.EMERGENCY=Send emergency alert +# suppress inspection "UnusedProperty" +authorizedRole.securityManager.actionButton.BAN=Ban bonded role +# suppress inspection "UnusedProperty" +authorizedRole.securityManager.alertType.INFO=Info +# suppress inspection "UnusedProperty" +authorizedRole.securityManager.alertType.WARN=Warning +# suppress inspection "UnusedProperty" +authorizedRole.securityManager.alertType.EMERGENCY=Emergency +# suppress inspection "UnusedProperty" +authorizedRole.securityManager.alertType.BAN=Ban role + + +################################################################################ +# Release manager +################################################################################ + +authorizedRole.releaseManager.headline=Send update notification +authorizedRole.releaseManager.releaseNotes=Release notes +authorizedRole.releaseManager.isPreRelease=Is pre-release +authorizedRole.releaseManager.isLauncherUpdate=Is launcher update +authorizedRole.releaseManager.version=Release version +authorizedRole.releaseManager.send=Publish + +authorizedRole.releaseManager.table.headline=Update notifications +authorizedRole.releaseManager.table.releaseNotes=Release notes +authorizedRole.releaseManager.table.version=Version +authorizedRole.releaseManager.table.isPreRelease=Is pre-release +authorizedRole.releaseManager.table.isLauncherUpdate=Launcher update +authorizedRole.releaseManager.table.profileId=Publisher profile ID + + diff --git a/pocs/android_only_m2_j17jars/app/src/main/resources/authorized_role_de.properties b/pocs/android_only_m2_j17jars/app/src/main/resources/authorized_role_de.properties new file mode 100644 index 00000000..0c839e83 --- /dev/null +++ b/pocs/android_only_m2_j17jars/app/src/main/resources/authorized_role_de.properties @@ -0,0 +1,154 @@ +################################################################################ +# +# Authorized Role +# +################################################################################ + +# suppress inspection "UnusedProperty" +authorizedRole.MEDIATOR=Mediator +# suppress inspection "UnusedProperty" +authorizedRole.MODERATOR=Moderator +# suppress inspection "UnusedProperty" +authorizedRole.ARBITRATOR=Schiedsrichter +# suppress inspection "UnusedProperty" +authorizedRole.SECURITY_MANAGER=Sicherheitsmanager +# suppress inspection "UnusedProperty" +authorizedRole.RELEASE_MANAGER=Veröffentlichungsmanager +# suppress inspection "UnusedProperty" +authorizedRole.ORACLE_NODE=Oracle-Knoten +# suppress inspection "UnusedProperty" +authorizedRole.SEED_NODE=Seed-Knoten +# suppress inspection "UnusedProperty" +authorizedRole.EXPLORER_NODE=Explorer-Knoten +# suppress inspection "UnusedProperty" +authorizedRole.MARKET_PRICE_NODE=Marktpreis-Knoten + + +################################################################################ +# Bonded role info +################################################################################ + +authorizedRole.roleInfo.headline=Geprüfte Rollendaten +authorizedRole.roleInfo.profileId=Profil-ID +authorizedRole.roleInfo.authorizedPublicKey=Authorisierte öffentliche Schlüssel +authorizedRole.roleInfo.bondedRoleType=Geprüfter Rollentyp +authorizedRole.roleInfo.bondUserName=Bond-Benutzername +authorizedRole.roleInfo.signature=Unterschrift +authorizedRole.roleInfo.addressByNetworkType=Adresse +authorizedRole.roleInfo.authorizingOracleNodeProfileId=Profil-ID des authorisierenden Oracle-Knotens +authorizedRole.roleInfo.staticPublicKeysProvided=Statisch bereitgestellte öffentliche Schlüssel +authorizedRole.roleInfo.authorizedPublicKeys=Statische Liste der authorisierten öffentlichen Schlüssel +authorizedRole.roleInfo.isBanned=Gesperrt + + +################################################################################ +# Mediator +################################################################################ +authorizedRole.mediator.message.toRequester=Sie haben Unterstützung durch einen Mediator angefordert. Der Bisq-Mediator wird dem Handels-Chat beitreten, um Ihnen zu helfen. +authorizedRole.mediator.message.toNonRequester=Ihr Handelspartner hat Unterstützung durch einen Mediator angefordert. Der Bisq-Mediator wird dem Handels-Chat beitreten, um Ihnen zu helfen. +authorizedRole.mediator.noOpenCases=Sie haben keine offenen Vermittlungsfälle +authorizedRole.mediator.noClosedCases=Sie haben keine geschlossenen Vermittlungsfälle +authorizedRole.mediator.table.headline=Vermittlungsfälle +authorizedRole.mediator.table.maker=Hersteller +authorizedRole.mediator.table.taker=Empfänger +authorizedRole.mediator.close=Fall schließen +authorizedRole.mediator.reOpen=Fall wieder öffnen +authorizedRole.mediator.leave=Chat verlassen +authorizedRole.mediator.showClosedCases=Geschlossene Fälle anzeigen +authorizedRole.mediator.hasRequested={0}\nHat Vermittlung angefordert: {1} +authorizedRole.mediator.close.warning=Sind Sie sicher, dass Sie den Vermittlungsfall schließen möchten?\n\nStellen Sie sicher, dass Sie Ihren Handelspartnern Ihr Vermittlungsergebnis mitgeteilt haben.\n\nSie können auf den Vermittlungsfall zugreifen, nachdem Sie ihn geschlossen haben, wenn Sie den Schalter oben rechts umlegen. Der Chatkanal bleibt weiterhin offen. Sobald Sie den Fall geschlossen haben, erhalten Sie die Option, den Kanal zu verlassen. +authorizedRole.mediator.close.tradeLogMessage=Der Mediator hat den Fall geschlossen +authorizedRole.mediator=Der Mediator hat den Fall wiedereröffnet. +authorizedRole.mediator.leaveChannel.warning=Sind Sie sicher, dass Sie den Chat-Kanal verlassen möchten?\n\nSobald Sie den Chat-Kanal verlassen haben, sind alle Nachrichten und Kanaldaten verschwunden, und Sie können nicht mehr mit den Händlern kommunizieren. + + +################################################################################ +################################################################################ +# Moderator +################################################################################ + +authorizedRole.moderator.reportToModerator.table.headline=Meldungen +authorizedRole.moderator.table.message=Nachricht +authorizedRole.moderator.table.chatChannelDomain=Kanal +authorizedRole.moderator.table.reporter=Reporter +authorizedRole.moderator.table.accused=Beschuldigter +authorizedRole.moderator.table.ban=Sperren +authorizedRole.moderator.table.contact=Kontakt +authorizedRole.moderator.table.delete=Löschen + +authorizedRole.moderator.bannedUserProfile.table.headline=Gesperrte Benutzerprofile +authorizedRole.moderator.bannedUserProfile.table.userProfile=Benutzerprofil +authorizedRole.moderator.bannedUserProfile.table.contact=Kontakt + +authorizedRole.moderator.table.removeBan=Sperre aufheben + +authorizedRole.moderator.replyMsg=Ich bin ein Bisq-Moderator und würde gerne die von Ihnen gesendete Meldung besprechen. + + +################################################################################ +# Security manager +################################################################################ +authorizedRole.securityManager.difficultyAdjustment.headline=Anpassung der PoW-Schwierigkeit +authorizedRole.securityManager.difficultyAdjustment.description=Faktor der Schwierigkeitsanpassung +authorizedRole.securityManager.difficultyAdjustment.invalid=Muss eine Zahl zwischen 0 und {0} sein +authorizedRole.securityManager.difficultyAdjustment.button=Faktor der Schwierigkeitsanpassung veröffentlichen +authorizedRole.securityManager.difficultyAdjustment.table.headline=Veröffentlichte Daten zur Schwierigkeitsanpassung +authorizedRole.securityManager.difficultyAdjustment.table.value=Wert + +authorizedRole.securityManager.alert.headline=Verwaltung von Warnungen +authorizedRole.securityManager.selectAlertType=Wählen Sie den Warnungstyp aus +authorizedRole.securityManager.alert.message.headline=Überschrift +authorizedRole.securityManager.alert.message=Warnungsnachricht (max. 1000 Zeichen) +authorizedRole.securityManager.alert.message.tooLong=Warnungsnachricht ist länger als 1000 Zeichen +authorizedRole.securityManager.emergency.haltTrading=Handel stoppen +authorizedRole.securityManager.emergency.requireVersionForTrading=Mindestversion für den Handel erforderlich +authorizedRole.securityManager.emergency.requireVersionForTrading.version=Version +authorizedRole.securityManager.emergency.requireVersionForTrading.version.prompt=Geben Sie die Mindestversionsnummer ein (z. B.: `2.1.2`) +authorizedRole.securityManager.selectBondedRole=Wählen Sie die geprüfte Rolle aus +authorizedRole.securityManager.selectedBondedRole=Spitzname: {0}, Typ: {1}, Profil-ID: {2} + +authorizedRole.securityManager.alert.table.headline=Warnungen +authorizedRole.securityManager.alert.table.alertType=Typ +authorizedRole.securityManager.alert.table.message=Nachricht +authorizedRole.securityManager.alert.table.haltTrading=Handel stoppen +authorizedRole.securityManager.alert.table.requireVersionForTrading=Mindestversion erforderlich +authorizedRole.securityManager.alert.table.minVersion=Mindestversion +authorizedRole.securityManager.alert.table.bannedRole=Gesperrte Rolle +authorizedRole.securityManager.alert.table.bannedRole.value={0}: {1} ({2}) +# suppress inspection "UnusedProperty" +authorizedRole.securityManager.actionButton.INFO=Info-Warnung senden +# suppress inspection "UnusedProperty" +authorizedRole.securityManager.actionButton.WARN=Warnungs-Warnung senden +# suppress inspection "UnusedProperty" +authorizedRole.securityManager.actionButton.EMERGENCY=Notfall-Warnung senden +# suppress inspection "UnusedProperty" +authorizedRole.securityManager.actionButton.BAN=Rollen sperren +# suppress inspection "UnusedProperty" +authorizedRole.securityManager.alertType.INFO=Info +# suppress inspection "UnusedProperty" +authorizedRole.securityManager.alertType.WARN=Warnung +# suppress inspection "UnusedProperty" +authorizedRole.securityManager.alertType.EMERGENCY=Notfall +# suppress inspection "UnusedProperty" +authorizedRole.securityManager.alertType.BAN=Rollen sperren + + +################################################################################ +# Release manager +################################################################################ + +authorizedRole.releaseManager.headline=Update-Benachrichtigung senden +authorizedRole.releaseManager.releaseNotes=Versionshinweise +authorizedRole.releaseManager.isPreRelease=Ist Vorabversion +authorizedRole.releaseManager.isLauncherUpdate=Ist Launcher-Update +authorizedRole.releaseManager.version=Versionsnummer +authorizedRole.releaseManager.send=Veröffentlichen + +authorizedRole.releaseManager.table.headline=Update-Benachrichtigungen +authorizedRole.releaseManager.table.releaseNotes=Versionshinweise +authorizedRole.releaseManager.table.version=Version +authorizedRole.releaseManager.table.isPreRelease=Ist Vorabversion +authorizedRole.releaseManager.table.isLauncherUpdate=Launcher-Update +authorizedRole.releaseManager.table.profileId=Publisher Profil-ID + + diff --git a/pocs/android_only_m2_j17jars/app/src/main/resources/authorized_role_es.properties b/pocs/android_only_m2_j17jars/app/src/main/resources/authorized_role_es.properties new file mode 100644 index 00000000..69ea0f65 --- /dev/null +++ b/pocs/android_only_m2_j17jars/app/src/main/resources/authorized_role_es.properties @@ -0,0 +1,154 @@ +################################################################################ +# +# Authorized Role +# +################################################################################ + +# suppress inspection "UnusedProperty" +authorizedRole.MEDIATOR=Mediador +# suppress inspection "UnusedProperty" +authorizedRole.MODERATOR=Moderador +# suppress inspection "UnusedProperty" +authorizedRole.ARBITRATOR=Árbitro +# suppress inspection "UnusedProperty" +authorizedRole.SECURITY_MANAGER=Gestor de Seguridad +# suppress inspection "UnusedProperty" +authorizedRole.RELEASE_MANAGER=Gestor de versiones +# suppress inspection "UnusedProperty" +authorizedRole.ORACLE_NODE=Nodo Oráculo +# suppress inspection "UnusedProperty" +authorizedRole.SEED_NODE=Nodo Semilla +# suppress inspection "UnusedProperty" +authorizedRole.EXPLORER_NODE=Nodo Explorador +# suppress inspection "UnusedProperty" +authorizedRole.MARKET_PRICE_NODE=Nodo de Precio de Mercado + + +################################################################################ +# Bonded role info +################################################################################ + +authorizedRole.roleInfo.headline=Datos de rol bajo fianza +authorizedRole.roleInfo.profileId=ID de Perfil +authorizedRole.roleInfo.authorizedPublicKey=Clave Pública Autorizada +authorizedRole.roleInfo.bondedRoleType=Tipo de rol bajo fianza +authorizedRole.roleInfo.bondUserName=Nombre de Usuario de la fianza +authorizedRole.roleInfo.signature=Firma +authorizedRole.roleInfo.addressByNetworkType=Dirección +authorizedRole.roleInfo.authorizingOracleNodeProfileId=ID de Perfil de Nodo Oráculo +authorizedRole.roleInfo.staticPublicKeysProvided=Claves Pública Proporcionada Estáticamente +authorizedRole.roleInfo.authorizedPublicKeys=Lista Estática de Claves Públicas Autorizadas +authorizedRole.roleInfo.isBanned=Baneado + + +################################################################################ +# Mediator +################################################################################ +authorizedRole.mediator.message.toRequester=Has solicitado soporte de mediación. El mediador de Bisq se unirá al chat de la compra-venta para ayudarte. +authorizedRole.mediator.message.toNonRequester=Tu contraparte de la compra-venta solicitó soporte de mediación. El mediador de Bisq se unirá al chat de la operación para ayudarte. +authorizedRole.mediator.noOpenCases=No tienes ningún caso de mediación abierto +authorizedRole.mediator.noClosedCases=No tienes ningún caso de mediación cerrado +authorizedRole.mediator.table.headline=Casos de Mediación +authorizedRole.mediator.table.maker=Ofertante +authorizedRole.mediator.table.taker=Tomador +authorizedRole.mediator.close=Cerrar caso +authorizedRole.mediator.reOpen=Reabrir caso +authorizedRole.mediator.leave=Salir del chat +authorizedRole.mediator.showClosedCases=Mostrar casos cerrados +authorizedRole.mediator.hasRequested={0}\nHa solicitado mediación: {1} +authorizedRole.mediator.close.warning=¿Estás seguro de que deseas cerrar el caso de mediación?\n\nAsegúrate de haber comunicado a los partícipes de la compra-venta el resultado de la mediación.\n\nPuedes acceder al caso de mediación después de cerrarlo cuando actives el interruptor en la esquina superior derecha. El canal de chat todavía permanecerá abierto. Una vez que hayas cerrado el caso, obtendrás la opción de salir del canal. +authorizedRole.mediator.close.tradeLogMessage=El mediador ha cerrado el caso +authorizedRole.mediator=El mediador ha vuelto a abrir el caso. +authorizedRole.mediator.leaveChannel.warning=¿Estás seguro de que deseas salir del canal de chat?\n\nUna vez que salga sdel canal de chat, todos los mensajes y datos del canal se eliminarán y no podrás comunicarte más con los partícipes de la compra-venta. + + +################################################################################ +################################################################################ +# Moderator +################################################################################ + +authorizedRole.moderator.reportToModerator.table.headline=Informes +authorizedRole.moderator.table.message=Mensaje +authorizedRole.moderator.table.chatChannelDomain=Canal +authorizedRole.moderator.table.reporter=Reportador +authorizedRole.moderator.table.accused=Acusado +authorizedRole.moderator.table.ban=Banear +authorizedRole.moderator.table.contact=Contactar +authorizedRole.moderator.table.delete=Borrar + +authorizedRole.moderator.bannedUserProfile.table.headline=Perfiles de usuario baneados +authorizedRole.moderator.bannedUserProfile.table.userProfile=Perfil de usuario +authorizedRole.moderator.bannedUserProfile.table.contact=Contactar + +authorizedRole.moderator.table.removeBan=Desbanear + +authorizedRole.moderator.replyMsg=Soy un moderador de Bisq y me gustaría hablar contigo del informe que enviaste. + + +################################################################################ +# Security manager +################################################################################ +authorizedRole.securityManager.difficultyAdjustment.headline=Ajuste de dificultad de prueba de trabajo +authorizedRole.securityManager.difficultyAdjustment.description=factor de ajuste de dificultad +authorizedRole.securityManager.difficultyAdjustment.invalid=Debe ser un número entre 0 y {0} +authorizedRole.securityManager.difficultyAdjustment.button=Publicar factor de ajuste de dificultad +authorizedRole.securityManager.difficultyAdjustment.table.headline=Datos de ajuste de dificultad publicados +authorizedRole.securityManager.difficultyAdjustment.table.value=Valor + +authorizedRole.securityManager.alert.headline=Administración de alertas +authorizedRole.securityManager.selectAlertType=Seleccionar tipo de alerta +authorizedRole.securityManager.alert.message.headline=Cabecera +authorizedRole.securityManager.alert.message=Mensaje de alerta (máx. 1000 caracteres) +authorizedRole.securityManager.alert.message.tooLong=El mensaje de alerta supera los 1000 caracteres +authorizedRole.securityManager.emergency.haltTrading=Parar el mercado +authorizedRole.securityManager.emergency.requireVersionForTrading=Requerir versión mínima para la compra-venta +authorizedRole.securityManager.emergency.requireVersionForTrading.version=Versión +authorizedRole.securityManager.emergency.requireVersionForTrading.version.prompt=Introduce el número de versión mínima (por ejemplo, `2.1.2`) +authorizedRole.securityManager.selectBondedRole=Seleccionar rol bajo fianza +authorizedRole.securityManager.selectedBondedRole=Apodo: {0}, Tipo: {1}, ID de perfil: {2} + +authorizedRole.securityManager.alert.table.headline=Alertas +authorizedRole.securityManager.alert.table.alertType=Tipo +authorizedRole.securityManager.alert.table.message=Mensaje +authorizedRole.securityManager.alert.table.haltTrading=Parar el mercado +authorizedRole.securityManager.alert.table.requireVersionForTrading=Requerir versión mínima +authorizedRole.securityManager.alert.table.minVersion=Versión mínima +authorizedRole.securityManager.alert.table.bannedRole=Rol baneado +authorizedRole.securityManager.alert.table.bannedRole.value={0}: {1} ({2}) +# suppress inspection "UnusedProperty" +authorizedRole.securityManager.actionButton.INFO=Enviar alerta de información +# suppress inspection "UnusedProperty" +authorizedRole.securityManager.actionButton.WARN=Enviar alerta de advertencia +# suppress inspection "UnusedProperty" +authorizedRole.securityManager.actionButton.EMERGENCY=Enviar alerta de emergencia +# suppress inspection "UnusedProperty" +authorizedRole.securityManager.actionButton.BAN=Prohibir rol bajo fianza +# suppress inspection "UnusedProperty" +authorizedRole.securityManager.alertType.INFO=Información +# suppress inspection "UnusedProperty" +authorizedRole.securityManager.alertType.WARN=Advertencia +# suppress inspection "UnusedProperty" +authorizedRole.securityManager.alertType.EMERGENCY=Emergencia +# suppress inspection "UnusedProperty" +authorizedRole.securityManager.alertType.BAN=Banear rol + + +################################################################################ +# Release manager +################################################################################ + +authorizedRole.releaseManager.headline=Enviar notificación de actualización +authorizedRole.releaseManager.releaseNotes=Notas de la versión +authorizedRole.releaseManager.isPreRelease=Es versión preliminar +authorizedRole.releaseManager.isLauncherUpdate=Es actualización del lanzador +authorizedRole.releaseManager.version=Versión +authorizedRole.releaseManager.send=Publicar + +authorizedRole.releaseManager.table.headline=Notificaciones de actualización +authorizedRole.releaseManager.table.releaseNotes=Notas de la versión +authorizedRole.releaseManager.table.version=Versión +authorizedRole.releaseManager.table.isPreRelease=Versión preliminar +authorizedRole.releaseManager.table.isLauncherUpdate=Actualización del lanzador +authorizedRole.releaseManager.table.profileId=ID de perfil del publicador + + diff --git a/pocs/android_only_m2_j17jars/app/src/main/resources/authorized_role_it.properties b/pocs/android_only_m2_j17jars/app/src/main/resources/authorized_role_it.properties new file mode 100644 index 00000000..93519634 --- /dev/null +++ b/pocs/android_only_m2_j17jars/app/src/main/resources/authorized_role_it.properties @@ -0,0 +1,154 @@ +################################################################################ +# +# Authorized Role +# +################################################################################ + +# suppress inspection "UnusedProperty" +authorizedRole.MEDIATOR=Mediatore +# suppress inspection "UnusedProperty" +authorizedRole.MODERATOR=Moderatore +# suppress inspection "UnusedProperty" +authorizedRole.ARBITRATOR=Arbitro +# suppress inspection "UnusedProperty" +authorizedRole.SECURITY_MANAGER=Responsabile della sicurezza +# suppress inspection "UnusedProperty" +authorizedRole.RELEASE_MANAGER=Responsabile delle versioni +# suppress inspection "UnusedProperty" +authorizedRole.ORACLE_NODE=Nodo oracolo +# suppress inspection "UnusedProperty" +authorizedRole.SEED_NODE=Nodo seed +# suppress inspection "UnusedProperty" +authorizedRole.EXPLORER_NODE=Nodo esploratore +# suppress inspection "UnusedProperty" +authorizedRole.MARKET_PRICE_NODE=Nodo del prezzo di mercato + + +################################################################################ +# Bonded role info +################################################################################ + +authorizedRole.roleInfo.headline=Dati del ruolo vincolato +authorizedRole.roleInfo.profileId=ID Profilo +authorizedRole.roleInfo.authorizedPublicKey=Chiave pubblica autorizzata +authorizedRole.roleInfo.bondedRoleType=Tipo di ruolo vincolato +authorizedRole.roleInfo.bondUserName=Nome utente vincolato +authorizedRole.roleInfo.signature=Firma +authorizedRole.roleInfo.addressByNetworkType=Indirizzo per tipo di rete +authorizedRole.roleInfo.authorizingOracleNodeProfileId=ID Profilo Nodo Oracolo Autorizzante +authorizedRole.roleInfo.staticPublicKeysProvided=Chiavi pubbliche fornite staticamente +authorizedRole.roleInfo.authorizedPublicKeys=Elenco statico di chiavi pubbliche autorizzate +authorizedRole.roleInfo.isBanned=Bannato + + +################################################################################ +# Mediator +################################################################################ +authorizedRole.mediator.message.toRequester=Hai richiesto assistenza per la mediazione. Il mediatore di Bisq si unirà alla chat della transazione per assisterti. +authorizedRole.mediator.message.toNonRequester=Il tuo partner di trading ha richiesto assistenza per la mediazione. Il mediatore di Bisq si unirà alla chat della transazione per assisterti. +authorizedRole.mediator.noOpenCases=Non hai casi di mediazione aperti +authorizedRole.mediator.noClosedCases=Non hai casi di mediazione chiusi +authorizedRole.mediator.table.headline=Casi di mediazione +authorizedRole.mediator.table.maker=Produttore +authorizedRole.mediator.table.taker=Ricevitore +authorizedRole.mediator.close=Chiudi caso +authorizedRole.mediator.reOpen=Riapri caso +authorizedRole.mediator.leave=Lascia chat +authorizedRole.mediator.showClosedCases=Mostra casi chiusi +authorizedRole.mediator.hasRequested={0}\nHa richiesto mediazione: {1} +authorizedRole.mediator.close.warning=Sei sicuro di voler chiudere il caso di mediazione?\n\nAssicurati di aver comunicato ai partner commerciali il risultato della mediazione.\n\nPuoi accedere al caso di mediazione dopo la chiusura quando attivi il pulsante a levetta nell'angolo in alto a destra. Il canale di chat rimane comunque aperto. Una volta chiuso il caso, avrai l'opzione di lasciare il canale. +authorizedRole.mediator.close.tradeLogMessage=Il mediatore ha chiuso il caso +authorizedRole.mediator=Il mediatore ha riaperto il caso. +authorizedRole.mediator.leaveChannel.warning=Sei sicuro di voler lasciare il canale di chat?\n\nUna volta uscito dal canale di chat, tutti i messaggi e i dati del canale saranno persi e non potrai più comunicare con i trader. + + +################################################################################ +################################################################################ +# Moderator +################################################################################ + +authorizedRole.moderator.reportToModerator.table.headline=Segnalazioni +authorizedRole.moderator.table.message=Messaggio +authorizedRole.moderator.table.chatChannelDomain=Canale +authorizedRole.moderator.table.reporter=Segnalatore +authorizedRole.moderator.table.accused=Imputato +authorizedRole.moderator.table.ban=Ban +authorizedRole.moderator.table.contact=Contatto +authorizedRole.moderator.table.delete=Elimina + +authorizedRole.moderator.bannedUserProfile.table.headline=Profili utente bannati +authorizedRole.moderator.bannedUserProfile.table.userProfile=Profilo utente +authorizedRole.moderator.bannedUserProfile.table.contact=Contatto + +authorizedRole.moderator.table.removeBan=Rimuovi ban + +authorizedRole.moderator.replyMsg=Sono un moderatore di Bisq e vorrei discutere della segnalazione che hai inviato. + + +################################################################################ +# Security manager +################################################################################ +authorizedRole.securityManager.difficultyAdjustment.headline=Regolazione della difficoltà Pow +authorizedRole.securityManager.difficultyAdjustment.description=Fattore di regolazione della difficoltà +authorizedRole.securityManager.difficultyAdjustment.invalid=Deve essere un numero tra 0 e {0} +authorizedRole.securityManager.difficultyAdjustment.button=Pubblica il fattore di regolazione della difficoltà +authorizedRole.securityManager.difficultyAdjustment.table.headline=Dati sulla regolazione della difficoltà pubblicati +authorizedRole.securityManager.difficultyAdjustment.table.value=Valore + +authorizedRole.securityManager.alert.headline=Gestione degli avvisi +authorizedRole.securityManager.selectAlertType=Seleziona tipo di avviso +authorizedRole.securityManager.alert.message.headline=Titolo +authorizedRole.securityManager.alert.message=Messaggio di avviso (max 1000 caratteri) +authorizedRole.securityManager.alert.message.tooLong=Il messaggio di avviso è più lungo di 1000 caratteri +authorizedRole.securityManager.emergency.haltTrading=Sospensione trading +authorizedRole.securityManager.emergency.requireVersionForTrading=Richiedi versione minima per il trading +authorizedRole.securityManager.emergency.requireVersionForTrading.version=Versione +authorizedRole.securityManager.emergency.requireVersionForTrading.version.prompt=Inserisci il numero di versione minima (es. '2.1.2') +authorizedRole.securityManager.selectBondedRole=Seleziona ruolo collegato +authorizedRole.securityManager.selectedBondedRole=Nickname: {0}, Tipo: {1}, ID Profilo: {2} + +authorizedRole.securityManager.alert.table.headline=Avvisi +authorizedRole.securityManager.alert.table.alertType=Tipo +authorizedRole.securityManager.alert.table.message=Messaggio +authorizedRole.securityManager.alert.table.haltTrading=Sospensione trading +authorizedRole.securityManager.alert.table.requireVersionForTrading=Richiedi versione minima +authorizedRole.securityManager.alert.table.minVersion=Versione minima +authorizedRole.securityManager.alert.table.bannedRole=Ruolo vietato +authorizedRole.securityManager.alert.table.bannedRole.value={0}: {1} ({2}) +# suppress inspection "UnusedProperty" +authorizedRole.securityManager.actionButton.INFO=Invia avviso informativo +# suppress inspection "UnusedProperty" +authorizedRole.securityManager.actionButton.WARN=Invia avviso di avvertimento +# suppress inspection "UnusedProperty" +authorizedRole.securityManager.actionButton.EMERGENCY=Invia avviso di emergenza +# suppress inspection "UnusedProperty" +authorizedRole.securityManager.actionButton.BAN=Vietare ruolo collegato +# suppress inspection "UnusedProperty" +authorizedRole.securityManager.alertType.INFO=Informazione +# suppress inspection "UnusedProperty" +authorizedRole.securityManager.alertType.WARN=Avvertimento +# suppress inspection "UnusedProperty" +authorizedRole.securityManager.alertType.EMERGENCY=Emergenza +# suppress inspection "UnusedProperty" +authorizedRole.securityManager.alertType.BAN=Vietare ruolo + + +################################################################################ +# Release manager +################################################################################ + +authorizedRole.releaseManager.headline=Invia notifica di aggiornamento +authorizedRole.releaseManager.releaseNotes=Note sulla versione +authorizedRole.releaseManager.isPreRelease=È una pre-release +authorizedRole.releaseManager.isLauncherUpdate=È un aggiornamento del launcher +authorizedRole.releaseManager.version=Versione di rilascio +authorizedRole.releaseManager.send=Pubblica + +authorizedRole.releaseManager.table.headline=Notifiche di aggiornamento +authorizedRole.releaseManager.table.releaseNotes=Note sulla versione +authorizedRole.releaseManager.table.version=Versione +authorizedRole.releaseManager.table.isPreRelease=È una pre-release +authorizedRole.releaseManager.table.isLauncherUpdate=Aggiornamento del launcher +authorizedRole.releaseManager.table.profileId=ID Profilo del pubblicatore + + diff --git a/pocs/android_only_m2_j17jars/app/src/main/resources/authorized_role_pcm.properties b/pocs/android_only_m2_j17jars/app/src/main/resources/authorized_role_pcm.properties new file mode 100644 index 00000000..7c07a003 --- /dev/null +++ b/pocs/android_only_m2_j17jars/app/src/main/resources/authorized_role_pcm.properties @@ -0,0 +1,154 @@ +################################################################################ +# +# Authorized Role +# +################################################################################ + +# suppress inspection "UnusedProperty" +authorizedRole.MEDIATOR=Mediator +# suppress inspection "UnusedProperty" +authorizedRole.MODERATOR=Moderator +# suppress inspection "UnusedProperty" +authorizedRole.ARBITRATOR=Arbitrator +# suppress inspection "UnusedProperty" +authorizedRole.SECURITY_MANAGER=Security manager +# suppress inspection "UnusedProperty" +authorizedRole.RELEASE_MANAGER=Release manager +# suppress inspection "UnusedProperty" +authorizedRole.ORACLE_NODE=Oracle node +# suppress inspection "UnusedProperty" +authorizedRole.SEED_NODE=Seed node +# suppress inspection "UnusedProperty" +authorizedRole.EXPLORER_NODE=Explorer node +# suppress inspection "UnusedProperty" +authorizedRole.MARKET_PRICE_NODE=Market price node + + +################################################################################ +# Bonded role info +################################################################################ + +authorizedRole.roleInfo.headline=Bonded role data +authorizedRole.roleInfo.profileId=Profile ID +authorizedRole.roleInfo.authorizedPublicKey=Authorized public key +authorizedRole.roleInfo.bondedRoleType=Bonded role type +authorizedRole.roleInfo.bondUserName=Bond username +authorizedRole.roleInfo.signature=Signature +authorizedRole.roleInfo.addressByNetworkType=Address +authorizedRole.roleInfo.authorizingOracleNodeProfileId=Oracle profile ID +authorizedRole.roleInfo.staticPublicKeysProvided=Public key provided statically +authorizedRole.roleInfo.authorizedPublicKeys=Static list of authorized public keys +authorizedRole.roleInfo.isBanned=Banned + + +################################################################################ +# Mediator +################################################################################ +authorizedRole.mediator.message.toRequester=You request mediation support. Di Bisq mediator go join di trade chat to assist you. +authorizedRole.mediator.message.toNonRequester=Your trade peer don request mediation support. Di Bisq mediator go join di trade chat to assist you. +authorizedRole.mediator.noOpenCases=You no get any open mediation cases +authorizedRole.mediator.noClosedCases=You no get any closed mediation cases +authorizedRole.mediator.table.headline=Mediation cases +authorizedRole.mediator.table.maker=Maker +authorizedRole.mediator.table.taker=Taker +authorizedRole.mediator.close=Close case +authorizedRole.mediator.reOpen=Re-open case +authorizedRole.mediator.leave=Leave chat +authorizedRole.mediator.showClosedCases=Show closed cases +authorizedRole.mediator.hasRequested={0}\nHas requested mediation: {1} +authorizedRole.mediator.close.warning=You sure say you wan close the mediation case?\n\nMake sure say you don communicate to the trade partners your mediation result.\n\nYou fit access the mediation case after closing when you toggle the switch-button for the top-right corner. The chat channel go still remain open. Once you don close the case you go get option to leave the channel. +authorizedRole.mediator.close.tradeLogMessage=The mediator has closed the case +authorizedRole.mediator=The mediator don re-open the case. +authorizedRole.mediator.leaveChannel.warning=You sure say you wan leave the chat channel?\n\nOnce you don leave the chat channel all messages and channel data go disappear, and you no fit communicate with the traders again. + + +################################################################################ +################################################################################ +# Moderator +################################################################################ + +authorizedRole.moderator.reportToModerator.table.headline=Reports +authorizedRole.moderator.table.message=Message +authorizedRole.moderator.table.chatChannelDomain=Channel +authorizedRole.moderator.table.reporter=Reporter +authorizedRole.moderator.table.accused=Accused +authorizedRole.moderator.table.ban=Ban +authorizedRole.moderator.table.contact=Contact +authorizedRole.moderator.table.delete=Delete + +authorizedRole.moderator.bannedUserProfile.table.headline=Banned user profiles +authorizedRole.moderator.bannedUserProfile.table.userProfile=User profile +authorizedRole.moderator.bannedUserProfile.table.contact=Contact + +authorizedRole.moderator.table.removeBan=Remove ban + +authorizedRole.moderator.replyMsg=I be Bisq moderator and I wan discuss the report wey you send. + + +################################################################################ +# Security manager +################################################################################ +authorizedRole.securityManager.difficultyAdjustment.headline=Pow difficulty adjustment +authorizedRole.securityManager.difficultyAdjustment.description=Difficulty adjustment factor +authorizedRole.securityManager.difficultyAdjustment.invalid=Must be a number between 0 and {0} +authorizedRole.securityManager.difficultyAdjustment.button=Publish difficulty adjustment factor +authorizedRole.securityManager.difficultyAdjustment.table.headline=Published difficulty adjustment data +authorizedRole.securityManager.difficultyAdjustment.table.value=Value + +authorizedRole.securityManager.alert.headline=Management of alerts +authorizedRole.securityManager.selectAlertType=Select alert type +authorizedRole.securityManager.alert.message.headline=Headline +authorizedRole.securityManager.alert.message=Alert message (max 1000 characters) +authorizedRole.securityManager.alert.message.tooLong=Alert message don pass 1000 characters +authorizedRole.securityManager.emergency.haltTrading=Halt trading +authorizedRole.securityManager.emergency.requireVersionForTrading=Require min. version for trading +authorizedRole.securityManager.emergency.requireVersionForTrading.version=Version +authorizedRole.securityManager.emergency.requireVersionForTrading.version.prompt=Enter min. version number (e.g.: `2.1.2`) +authorizedRole.securityManager.selectBondedRole=Select bonded role +authorizedRole.securityManager.selectedBondedRole=Nickname: {0}, Type: {1}, ProfileId: {2} + +authorizedRole.securityManager.alert.table.headline=Alerts +authorizedRole.securityManager.alert.table.alertType=Type +authorizedRole.securityManager.alert.table.message=Message +authorizedRole.securityManager.alert.table.haltTrading=Halt trading +authorizedRole.securityManager.alert.table.requireVersionForTrading=Require min. version +authorizedRole.securityManager.alert.table.minVersion=Min. version +authorizedRole.securityManager.alert.table.bannedRole=Banned role +authorizedRole.securityManager.alert.table.bannedRole.value={0}: {1} ({2}) +# suppress inspection "UnusedProperty" +authorizedRole.securityManager.actionButton.INFO=Send info alert +# suppress inspection "UnusedProperty" +authorizedRole.securityManager.actionButton.WARN=Send warning alert +# suppress inspection "UnusedProperty" +authorizedRole.securityManager.actionButton.EMERGENCY=Send emergency alert +# suppress inspection "UnusedProperty" +authorizedRole.securityManager.actionButton.BAN=Ban bonded role +# suppress inspection "UnusedProperty" +authorizedRole.securityManager.alertType.INFO=Info +# suppress inspection "UnusedProperty" +authorizedRole.securityManager.alertType.WARN=Warning +# suppress inspection "UnusedProperty" +authorizedRole.securityManager.alertType.EMERGENCY=Emergency +# suppress inspection "UnusedProperty" +authorizedRole.securityManager.alertType.BAN=Ban role + + +################################################################################ +# Release manager +################################################################################ + +authorizedRole.releaseManager.headline=Send update notification +authorizedRole.releaseManager.releaseNotes=Release notes +authorizedRole.releaseManager.isPreRelease=Is pre-release +authorizedRole.releaseManager.isLauncherUpdate=Is launcher update +authorizedRole.releaseManager.version=Release version +authorizedRole.releaseManager.send=Publish + +authorizedRole.releaseManager.table.headline=Update notifications +authorizedRole.releaseManager.table.releaseNotes=Release notes +authorizedRole.releaseManager.table.version=Version +authorizedRole.releaseManager.table.isPreRelease=Is pre-release +authorizedRole.releaseManager.table.isLauncherUpdate=Launcher update +authorizedRole.releaseManager.table.profileId=Publisher profile ID + + diff --git a/pocs/android_only_m2_j17jars/app/src/main/resources/authorized_role_pt_BR.properties b/pocs/android_only_m2_j17jars/app/src/main/resources/authorized_role_pt_BR.properties new file mode 100644 index 00000000..37eb146b --- /dev/null +++ b/pocs/android_only_m2_j17jars/app/src/main/resources/authorized_role_pt_BR.properties @@ -0,0 +1,154 @@ +################################################################################ +# +# Authorized Role +# +################################################################################ + +# suppress inspection "UnusedProperty" +authorizedRole.MEDIATOR=Mediador +# suppress inspection "UnusedProperty" +authorizedRole.MODERATOR=Moderador +# suppress inspection "UnusedProperty" +authorizedRole.ARBITRATOR=Árbitro +# suppress inspection "UnusedProperty" +authorizedRole.SECURITY_MANAGER=Gestor de Segurança +# suppress inspection "UnusedProperty" +authorizedRole.RELEASE_MANAGER=Gestor de Lançamento +# suppress inspection "UnusedProperty" +authorizedRole.ORACLE_NODE=Nó Oráculo +# suppress inspection "UnusedProperty" +authorizedRole.SEED_NODE=Nó Semente +# suppress inspection "UnusedProperty" +authorizedRole.EXPLORER_NODE=Nó Explorador +# suppress inspection "UnusedProperty" +authorizedRole.MARKET_PRICE_NODE=Nó de Preço de Mercado + + +################################################################################ +# Bonded role info +################################################################################ + +authorizedRole.roleInfo.headline=Dados de função vinculada +authorizedRole.roleInfo.profileId=ID do Perfil +authorizedRole.roleInfo.authorizedPublicKey=Chave pública autorizada +authorizedRole.roleInfo.bondedRoleType=Tipo de função vinculada +authorizedRole.roleInfo.bondUserName=Nome de usuário da fiança +authorizedRole.roleInfo.signature=Assinatura +authorizedRole.roleInfo.addressByNetworkType=Endereço +authorizedRole.roleInfo.authorizingOracleNodeProfileId=ID do perfil do Oráculo +authorizedRole.roleInfo.staticPublicKeysProvided=Chave pública fornecida estaticamente +authorizedRole.roleInfo.authorizedPublicKeys=Lista estática de chaves públicas autorizadas +authorizedRole.roleInfo.isBanned=Banido + + +################################################################################ +# Mediator +################################################################################ +authorizedRole.mediator.message.toRequester=Você solicitou suporte de mediação. O mediador do Bisq se juntará ao chat da negociação para ajudá-lo. +authorizedRole.mediator.message.toNonRequester=Seu parceiro de negociação solicitou suporte de mediação. O mediador do Bisq se juntará ao chat da negociação para ajudá-lo. +authorizedRole.mediator.noOpenCases=Você não tem casos de mediação abertos +authorizedRole.mediator.noClosedCases=Você não tem casos de mediação fechados +authorizedRole.mediator.table.headline=Casos de mediação +authorizedRole.mediator.table.maker=Criador +authorizedRole.mediator.table.taker=Tomador +authorizedRole.mediator.close=Fechar caso +authorizedRole.mediator.reOpen=Reabrir caso +authorizedRole.mediator.leave=Sair do chat +authorizedRole.mediator.showClosedCases=Mostrar casos fechados +authorizedRole.mediator.hasRequested={0}\nSolicitou mediação: {1} +authorizedRole.mediator.close.warning=Tem certeza de que deseja fechar o caso de mediação?\n\nCertifique-se de ter comunicado aos pares de negociação o resultado da sua mediação.\n\nVocê pode acessar o caso de mediação após fechá-lo quando ativar o botão de alternância no canto superior direito. O canal de chat ainda permanece aberto. Uma vez que você tenha fechado o caso, você terá a opção de deixar o canal. +authorizedRole.mediator.close.tradeLogMessage=O mediador encerrou o caso. +authorizedRole.mediator=O mediador reabriu o caso. +authorizedRole.mediator.leaveChannel.warning=Tem certeza de que deseja sair do canal de chat?\n\nUma vez que você deixe o canal de chat, todas as mensagens e dados do canal serão perdidos, e você não poderá mais se comunicar com os negociadores. + + +################################################################################ +################################################################################ +# Moderator +################################################################################ + +authorizedRole.moderator.reportToModerator.table.headline=Relatórios +authorizedRole.moderator.table.message=Mensagem +authorizedRole.moderator.table.chatChannelDomain=Canal +authorizedRole.moderator.table.reporter=Relator +authorizedRole.moderator.table.accused=Acusado +authorizedRole.moderator.table.ban=Banir +authorizedRole.moderator.table.contact=Contato +authorizedRole.moderator.table.delete=Excluir + +authorizedRole.moderator.bannedUserProfile.table.headline=Perfis de usuário banidos +authorizedRole.moderator.bannedUserProfile.table.userProfile=Perfil do usuário +authorizedRole.moderator.bannedUserProfile.table.contact=Contato + +authorizedRole.moderator.table.removeBan=Remover banimento + +authorizedRole.moderator.replyMsg=Sou um moderador do Bisq e gostaria de discutir o relatório que você enviou. + + +################################################################################ +# Security manager +################################################################################ +authorizedRole.securityManager.difficultyAdjustment.headline=Ajuste de dificuldade PoW +authorizedRole.securityManager.difficultyAdjustment.description=Fator de ajuste de dificuldade +authorizedRole.securityManager.difficultyAdjustment.invalid=Deve ser um número entre 0 e {0} +authorizedRole.securityManager.difficultyAdjustment.button=Publicar fator de ajuste de dificuldade +authorizedRole.securityManager.difficultyAdjustment.table.headline=Dados de ajuste de dificuldade publicados +authorizedRole.securityManager.difficultyAdjustment.table.value=Valor + +authorizedRole.securityManager.alert.headline=Gestão de alertas +authorizedRole.securityManager.selectAlertType=Selecionar tipo de alerta +authorizedRole.securityManager.alert.message.headline=Manchete +authorizedRole.securityManager.alert.message=Mensagem de alerta (máx. 1000 caracteres) +authorizedRole.securityManager.alert.message.tooLong=Mensagem de alerta é maior do que 1000 caracteres +authorizedRole.securityManager.emergency.haltTrading=Interromper negociações +authorizedRole.securityManager.emergency.requireVersionForTrading=Exigir versão mínima para negociação +authorizedRole.securityManager.emergency.requireVersionForTrading.version=Versão +authorizedRole.securityManager.emergency.requireVersionForTrading.version.prompt=Insira o número da versão mínima (ex.: `2.1.2`) +authorizedRole.securityManager.selectBondedRole=Selecionar função vinculada +authorizedRole.securityManager.selectedBondedRole=Apelido: {0}, Tipo: {1}, ID do Perfil: {2} + +authorizedRole.securityManager.alert.table.headline=Alertas +authorizedRole.securityManager.alert.table.alertType=Tipo +authorizedRole.securityManager.alert.table.message=Mensagem +authorizedRole.securityManager.alert.table.haltTrading=Interromper negociações +authorizedRole.securityManager.alert.table.requireVersionForTrading=Exigir versão mínima +authorizedRole.securityManager.alert.table.minVersion=Versão mínima +authorizedRole.securityManager.alert.table.bannedRole=Função banida +authorizedRole.securityManager.alert.table.bannedRole.value={0}: {1} ({2}) +# suppress inspection "UnusedProperty" +authorizedRole.securityManager.actionButton.INFO=Enviar alerta informativo +# suppress inspection "UnusedProperty" +authorizedRole.securityManager.actionButton.WARN=Enviar alerta de aviso +# suppress inspection "UnusedProperty" +authorizedRole.securityManager.actionButton.EMERGENCY=Enviar alerta de emergência +# suppress inspection "UnusedProperty" +authorizedRole.securityManager.actionButton.BAN=Banir função vinculada +# suppress inspection "UnusedProperty" +authorizedRole.securityManager.alertType.INFO=Informação +# suppress inspection "UnusedProperty" +authorizedRole.securityManager.alertType.WARN=Aviso +# suppress inspection "UnusedProperty" +authorizedRole.securityManager.alertType.EMERGENCY=Emergência +# suppress inspection "UnusedProperty" +authorizedRole.securityManager.alertType.BAN=Banir função + + +################################################################################ +# Release manager +################################################################################ + +authorizedRole.releaseManager.headline=Enviar notificação de atualização +authorizedRole.releaseManager.releaseNotes=Notas de lançamento +authorizedRole.releaseManager.isPreRelease=É pré-lançamento +authorizedRole.releaseManager.isLauncherUpdate=É atualização do instalador +authorizedRole.releaseManager.version=Versão do lançamento +authorizedRole.releaseManager.send=Publicar + +authorizedRole.releaseManager.table.headline=Notificações de atualização +authorizedRole.releaseManager.table.releaseNotes=Notas de lançamento +authorizedRole.releaseManager.table.version=Versão +authorizedRole.releaseManager.table.isPreRelease=É pré-lançamento +authorizedRole.releaseManager.table.isLauncherUpdate=Atualização do instalador +authorizedRole.releaseManager.table.profileId=ID do perfil do publicador + + diff --git a/pocs/android_only_m2_j17jars/app/src/main/resources/bisq_easy.properties b/pocs/android_only_m2_j17jars/app/src/main/resources/bisq_easy.properties new file mode 100644 index 00000000..32cd6d6a --- /dev/null +++ b/pocs/android_only_m2_j17jars/app/src/main/resources/bisq_easy.properties @@ -0,0 +1,942 @@ +#################################################################### +# +# Chat module +# +#################################################################### + +bisqEasy.offerBookChannel.description=Market channel for trading {0} +bisqEasy.mediator=Mediator + + +#################################################################### +# +# Desktop module +# +#################################################################### + + +###################################################### +# Bisq Easy +###################################################### + +bisqEasy.dashboard=Getting started +bisqEasy.offerbook=Offerbook +bisqEasy.openTrades=My open trades + + +###################################################### +# Bisq Easy dashboard +###################################################### + +bisqEasy.onboarding.top.headline=Bisq Easy in 3 minutes +bisqEasy.onboarding.top.content1=Get a quick introduction into Bisq Easy +bisqEasy.onboarding.top.content2=See how the trade process works +bisqEasy.onboarding.top.content3=Learn about the simple trade rules +bisqEasy.onboarding.openTradeGuide=Read the trade guide +bisqEasy.onboarding.watchVideo=Watch video +bisqEasy.onboarding.watchVideo.tooltip=Watch embedded introduction video + +bisqEasy.onboarding.left.headline=Best for beginners +bisqEasy.onboarding.left.info=The trade wizard guides you through your first Bitcoin trade. The Bitcoin sellers will help you if you have any questions. +bisqEasy.onboarding.left.button=Start trade wizard + +bisqEasy.onboarding.right.headline=For experienced traders +bisqEasy.onboarding.right.info=Browse the offerbook for the best offers or create your own offer. +bisqEasy.onboarding.right.button=Open offerbook + + +################################################################################ +# +# Create offer +# +################################################################################ + +bisqEasy.tradeWizard.progress.direction=Buy/Sell +bisqEasy.tradeWizard.progress.market=Currency +bisqEasy.tradeWizard.progress.price=Price +bisqEasy.tradeWizard.progress.amount=Amount +bisqEasy.tradeWizard.progress.paymentMethods=Payment methods +bisqEasy.tradeWizard.progress.takeOffer=Select offer +bisqEasy.tradeWizard.progress.review=Review + + +################################################################################ +# Create offer / Direction +################################################################################ + +bisqEasy.tradeWizard.direction.headline=Do you want to buy or sell Bitcoin? +bisqEasy.tradeWizard.direction.subTitle=Select an option +bisqEasy.tradeWizard.direction.buy=Buy Bitcoin +bisqEasy.tradeWizard.direction.buy.info=The easiest way to get your\n\ + first Bitcoin +bisqEasy.tradeWizard.direction.sell=Sell Bitcoin +bisqEasy.tradeWizard.direction.sell.info=Experienced Bisq users with reputation can act as seller +bisqEasy.tradeWizard.direction.feedback.headline=How to build up reputation? +bisqEasy.tradeWizard.direction.feedback.subTitle1=You haven't established any reputation yet. \ + For Bitcoin sellers, building reputation is crucial because buyers are required to send fiat currency first \ + in the trade process, relying on the seller's integrity.\n\n\ + This reputation-building process is better suited for experienced Bisq users, and you can find detailed information \ + about it in the 'Reputation' section. +bisqEasy.tradeWizard.direction.feedback.gainReputation=Learn how to build up reputation +bisqEasy.tradeWizard.direction.feedback.subTitle2=While it''s possible for sellers to trade without (or insufficient) reputation for relatively low amounts up to {0}, \ + the likelihood of finding a trading partner is considerably reduced. This is because buyers tend to avoid \ + engaging with sellers who lack reputation due to security risks. +bisqEasy.tradeWizard.direction.feedback.tradeWithoutReputation=Continue without reputation +bisqEasy.tradeWizard.direction.feedback.backToBuy=Back + + +################################################################################ +# Create offer / Market +################################################################################ + +bisqEasy.tradeWizard.market.headline.buyer=In which currency do you want to pay? +bisqEasy.tradeWizard.market.headline.seller=In which currency do you want to get paid? +bisqEasy.tradeWizard.market.subTitle=Choose your trade currency +bisqEasy.tradeWizard.market.columns.name=Fiat currency +bisqEasy.tradeWizard.market.columns.numOffers=Num. offers +bisqEasy.tradeWizard.market.columns.numPeers=Online peers + + +################################################################################ +# Create offer / Price +################################################################################ + +bisqEasy.price.headline=What is your trade price? +bisqEasy.tradeWizard.price.subtitle=This can be defined as a percentage price which floats\ + \ with the market price or fixed price. +bisqEasy.price.percentage.title=Percentage price +bisqEasy.price.percentage.inputBoxText=Market price percentage between -10% and 50% +bisqEasy.price.tradePrice.title=Fixed price +bisqEasy.price.tradePrice.inputBoxText=Trade price in {0} +bisqEasy.price.feedback.sentence=Your offer has {0} chances to be taken at this price. +bisqEasy.price.feedback.sentence.veryLow=very low +bisqEasy.price.feedback.sentence.low=low +bisqEasy.price.feedback.sentence.some=some +bisqEasy.price.feedback.sentence.good=good +bisqEasy.price.feedback.sentence.veryGood=very good +bisqEasy.price.feedback.learnWhySection.openButton=Why? +bisqEasy.price.feedback.learnWhySection.closeButton=Back to Trade Price +bisqEasy.price.feedback.learnWhySection.title=Why should I pay a higher price to the seller? +bisqEasy.price.feedback.learnWhySection.description.intro=The reason for that is that the seller has to cover extra expenses \ + and compensate for the seller's service, specifically: +bisqEasy.price.feedback.learnWhySection.description.exposition=\ + - Build up reputation which can be costly\ + - The seller has to pay for miner fees\ + - The seller is the helpful guide in the trade process thus investing more time +bisqEasy.price.warn.invalidPrice.outOfRange=The price you entered is outside the permitted range of -10% to 50%. +bisqEasy.price.warn.invalidPrice.numberFormatException=The price you entered is not a valid number. +bisqEasy.price.warn.invalidPrice.exception=The price you entered is invalid.\n\n\ + Error message: {0} + + +################################################################################ +# Create offer / Amount +################################################################################ + +bisqEasy.tradeWizard.amount.headline.buyer=How much do you want to spend? +bisqEasy.tradeWizard.amount.headline.seller=How much do you want to receive? +bisqEasy.tradeWizard.amount.description.minAmount=Set the minimum value for the amount range +bisqEasy.tradeWizard.amount.description.maxAmount=Set the maximum value for the amount range +bisqEasy.tradeWizard.amount.description.fixAmount=Set the amount you want to trade +bisqEasy.tradeWizard.amount.addMinAmountOption=Add min/max range for amount +bisqEasy.tradeWizard.amount.removeMinAmountOption=Use fix value amount +bisqEasy.component.amount.minRangeValue=Min {0} +bisqEasy.component.amount.maxRangeValue=Max {0} +bisqEasy.component.amount.baseSide.tooltip.btcAmount.marketPrice=This is the Bitcoin amount with current market price. +bisqEasy.component.amount.baseSide.tooltip.btcAmount.selectedPrice=This is the Bitcoin amount with your selected price. +bisqEasy.component.amount.baseSide.tooltip.buyerInfo=Sellers may ask for a higher price as they have costs for acquiring reputation.\n\ + 5-15% price premium is common. +bisqEasy.component.amount.baseSide.tooltip.bestOfferPrice=This is the Bitcoin amount with the best price\n\ + from matching offers: {0} +bisqEasy.component.amount.baseSide.tooltip.buyer.btcAmount=This is the Bitcoin amount to receive +bisqEasy.component.amount.baseSide.tooltip.seller.btcAmount=This is the Bitcoin amount to spend +bisqEasy.component.amount.baseSide.tooltip.taker.offerPrice=with the offer price: {0} + + +bisqEasy.tradeWizard.amount.limitInfo.overlay.headline=Reputation-based trade amount limits +bisqEasy.tradeWizard.amount.limitInfo.overlay.close=Close overlay + +bisqEasy.tradeWizard.amount.seller.wizard.numMatchingOffers.info=There {0} matching the chosen trade amount. +bisqEasy.tradeWizard.amount.seller.wizard.limitInfo=With your reputation score of {0}, you can trade up to +bisqEasy.tradeWizard.amount.seller.wizard.limitInfo.overlay.info=With a reputation score of {0}, you can trade up to {1}.\n\n\ + You can find information on how to increase your reputation at ''Reputation/Build Reputation''. + +bisqEasy.tradeWizard.amount.seller.limitInfo.scoreTooLow=With your reputation score of {0}, your trade amount should not exceed +bisqEasy.tradeWizard.amount.seller.limitInfo.overlay.info.scoreTooLow=Your reputation score of {0} doesn''t offer sufficient security for buyers.\n\n\ + Buyers who consider to take your offer will receive a warning about potential risks when taking your offer.\n\n\ + You can find information on how to increase your reputation at ''Reputation/Build Reputation''. + +bisqEasy.takeOffer.amount.seller.limitInfo.lowToleratedAmount=As the trade amount is below {0}, reputation requirements are relaxed. +bisqEasy.takeOffer.amount.seller.limitInfo.scoreTooLow=As your reputation score is only {0} your trade amount is restricted to +bisqEasy.takeOffer.amount.seller.limitInfo.overlay.info.scoreTooLow=For amounts up to {0} the reputation requirements are relaxed.\n\n\ + Your reputation score of {1} doesn''t offer sufficient security for the buyer. However, given the low trade amount the buyer accepted to take the risk.\n\n\ + You can find information on how to increase your reputation at ''Reputation/Build Reputation''. + +bisqEasy.tradeWizard.amount.seller.limitInfo.sufficientScore=Your reputation score of {0} provides security for offers up to +bisqEasy.tradeWizard.amount.seller.limitInfo.overlay.info.sufficientScore=With a reputation score of {0}, you provide security for trades up to {1}. + +bisqEasy.tradeWizard.amount.seller.limitInfo.inSufficientScore=The security provided by your reputation score of {0} is insufficient for offers over +bisqEasy.tradeWizard.amount.seller.limitInfo.overlay.info.inSufficientScore=With a reputation score of {0}, the security you provide is insufficient for trades over {1}.\n\n\ + You can still create such offers, but buyers will be warned about potential risks when attempting to take your offer.\n\n\ + You can find information on how to increase your reputation at ''Reputation/Build Reputation''. + +bisqEasy.tradeWizard.amount.seller.limitInfoAmount={0}. +bisqEasy.tradeWizard.amount.seller.limitInfo.link=Learn more + + +bisqEasy.tradeWizard.amount.seller.limitInfo.overlay.linkToWikiText=For more details about the reputation system, visit the Bisq Wiki at: + +bisqEasy.tradeWizard.amount.seller.limitInfo.noReputationNeededForMaxOrFixedAmount=For amounts up to {0} no reputation is required. +bisqEasy.tradeWizard.amount.seller.limitInfo.noReputationNeededForMaxOrFixedAmount.overlay.info.scoreTooLow=For amounts up to {0} the reputation requirements are relaxed.\n\n\ + Your reputation score of {1} doesn''t offer sufficient security for buyers. However, given the low amount involved, \ + buyers might still consider accepting the offer once they are made aware of the associated risks.\n\n\ + You can find information on how to increase your reputation at ''Reputation/Build Reputation''. + + +bisqEasy.tradeWizard.amount.buyer.limitInfo.learnMore=Learn more + +# suppress inspection "UnusedProperty" +bisqEasy.tradeWizard.amount.buyer.numSellers.0=is no seller +# suppress inspection "UnusedProperty" +bisqEasy.tradeWizard.amount.buyer.numSellers.1=is one seller +# suppress inspection "UnusedProperty" +bisqEasy.tradeWizard.amount.buyer.numSellers.*=are {0} sellers + +# suppress inspection "UnusedProperty" +bisqEasy.tradeWizard.amount.numOffers.0=is no offer +# suppress inspection "UnusedProperty" +bisqEasy.tradeWizard.amount.numOffers.1=is one offer +# suppress inspection "UnusedProperty" +bisqEasy.tradeWizard.amount.numOffers.*=are {0} offers + +bisqEasy.tradeWizard.amount.buyer.limitInfo=There {0} in the network with sufficient reputation to take an offer of {1}. +bisqEasy.tradeWizard.amount.buyer.limitInfo.overlay.info=A seller who wants to take your offer of {0}, must have a reputation score of at least {1}.\n\ + By reducing the maximum trade amount, you make your offer accessible to more sellers. + +bisqEasy.tradeWizard.amount.buyer.limitInfo.wizard.info.leadLine=There {0} matching the chosen trade amount. +bisqEasy.tradeWizard.amount.buyer.limitInfo.wizard.info=For offers up to {0}, reputation requirements are relaxed. +bisqEasy.tradeWizard.amount.buyer.limitInfo.wizard.overlay.info=Given the low min. amount of {0}, the reputation requirements are relaxed.\n\ + For amounts up to {1}, sellers do not need reputation.\n\n\ + At the ''Select Offer'' screen it is recommended to choose sellers with higher reputation. + +bisqEasy.tradeWizard.amount.buyer.limitInfo.noReputationNeededForMaxOrFixedAmount=Sellers with no reputation can take offers up to {0}. +bisqEasy.tradeWizard.amount.buyer.limitInfo.noReputationNeededForMaxOrFixedAmount.riskInfo=Be sure you fully understand the risks involved. +bisqEasy.tradeWizard.amount.buyer.limitInfo.overlay.noReputationNeededForMaxOrFixedAmount.info=Given the low amount of {0}, reputation requirements are relaxed.\n\ + For amounts up to {1}, sellers with insufficient or no reputation can take the offer.\n\n\ + Be sure to fully understand the risks when trading with a seller without or insufficient reputation. \ + If you do not want to be exposed to that risk, choose an amount above {2}. +bisqEasy.tradeWizard.amount.buyer.limitInfo.overlay.linkToWikiText=To learn more about the reputation system, visit: + + +bisqEasy.tradeWizard.amount.buyer.noReputationNeededForMinAmount.limitInfo.leadLine=Since your min. amount is below {0}, sellers without reputation can take your offer. +bisqEasy.tradeWizard.amount.buyer.noReputationNeededForMinAmount.limitInfo=For the max. amount of {0} there {1} with enough reputation to take your offer. +bisqEasy.tradeWizard.amount.buyer.noReputationNeededForMinAmount.limitInfo.overlay.info=Given the low trade amount of {0}, the reputation requirements are relaxed.\n\ + For amounts up to {1}, sellers with insufficient or no reputation can take your offer.\n\n\ + Sellers who wants to take your offer with the max. amount of {2}, must have a reputation score of at least {3}.\n\ + By reducing the maximum trade amount, you make your offer accessible to more sellers. + + +################################################################################ +# Create offer / Payment methods +################################################################################ + +bisqEasy.tradeWizard.paymentMethods.headline=Which payment and settlement methods do you want to use? +bisqEasy.tradeWizard.paymentMethods.fiat.subTitle.buyer=Choose the payment methods to transfer {0} +bisqEasy.tradeWizard.paymentMethods.fiat.subTitle.seller=Choose the payment methods to receive {0} +bisqEasy.tradeWizard.paymentMethods.bitcoin.subTitle.buyer=Choose the settlement methods to receive Bitcoin +bisqEasy.tradeWizard.paymentMethods.bitcoin.subTitle.seller=Choose the settlement methods to send Bitcoin +bisqEasy.tradeWizard.paymentMethods.noneFound=For the selected market there are no default payment methods provided.\n\ + Please add in the text field below the custom payment you want to use. +bisqEasy.tradeWizard.paymentMethods.customMethod.prompt=Custom payment +bisqEasy.tradeWizard.paymentMethods.warn.maxMethodsReached=You cannot add more than 4 payment methods. +bisqEasy.tradeWizard.paymentMethods.warn.tooLong=A custom payment method name must not be longer than 20 characters. +bisqEasy.tradeWizard.paymentMethods.warn.customPaymentMethodAlreadyExists=A custom payment method with name {0} already exists. +bisqEasy.tradeWizard.paymentMethods.warn.customNameMatchesPredefinedMethod=The name of your custom payment method must not be the same as one of the predefined. +bisqEasy.tradeWizard.paymentMethods.warn.noFiatPaymentMethodSelected=Please choose at least one fiat payment method. +bisqEasy.tradeWizard.paymentMethods.warn.noBtcSettlementMethodSelected=Please choose at least one Bitcoin settlement method. + + +################################################################################ +# TradeWizard / Select offer +################################################################################ + +bisqEasy.tradeWizard.selectOffer.headline.buyer=Buy Bitcoin for {0} +bisqEasy.tradeWizard.selectOffer.headline.seller=Sell Bitcoin for {0} +bisqEasy.tradeWizard.selectOffer.subHeadline=It is recommended to trade with users with high reputation. +bisqEasy.tradeWizard.selectOffer.noMatchingOffers.headline=No matching offers found +bisqEasy.tradeWizard.selectOffer.noMatchingOffers.subHeadline=There are no offers available for your selection criteria. +bisqEasy.tradeWizard.selectOffer.noMatchingOffers.goBack=Change selection +bisqEasy.tradeWizard.selectOffer.noMatchingOffers.goBack.info=Go back to the previous screens and change the selection +bisqEasy.tradeWizard.selectOffer.noMatchingOffers.browseOfferbook=Browse offerbook +bisqEasy.tradeWizard.selectOffer.noMatchingOffers.browseOfferbook.info=Close the trade wizard and browse the offer book + + +################################################################################ +# TradeWizard / Review +################################################################################ + +bisqEasy.tradeWizard.review.headline.maker=Review offer +bisqEasy.tradeWizard.review.headline.taker=Review trade +bisqEasy.tradeWizard.review.detailsHeadline.taker=Trade details +bisqEasy.tradeWizard.review.detailsHeadline.maker=Offer details +bisqEasy.tradeWizard.review.feeDescription=Fees +bisqEasy.tradeWizard.review.noTradeFees=No trade fees in Bisq Easy +bisqEasy.tradeWizard.review.sellerPaysMinerFeeLong=The seller pays the mining fee +bisqEasy.tradeWizard.review.sellerPaysMinerFee=Seller pays the mining fee +bisqEasy.tradeWizard.review.noTradeFeesLong=There are no trade fees in Bisq Easy + +bisqEasy.tradeWizard.review.toPay=Amount to pay +bisqEasy.tradeWizard.review.toSend=Amount to send +bisqEasy.tradeWizard.review.toReceive=Amount to receive +bisqEasy.tradeWizard.review.direction={0} Bitcoin +bisqEasy.tradeWizard.review.paymentMethodDescription.btc=Bitcoin settlement method +bisqEasy.tradeWizard.review.paymentMethodDescriptions.btc.maker=Bitcoin settlement methods +bisqEasy.tradeWizard.review.paymentMethodDescriptions.btc.taker=Select Bitcoin settlement method +bisqEasy.tradeWizard.review.paymentMethodDescription.fiat=Fiat payment method +bisqEasy.tradeWizard.review.paymentMethodDescriptions.fiat.maker=Fiat payment methods +bisqEasy.tradeWizard.review.paymentMethodDescriptions.fiat.taker=Select fiat payment method +bisqEasy.tradeWizard.review.price={0} <{1} style=trade-wizard-review-code> + +bisqEasy.tradeWizard.review.priceDescription.taker=Trade price +bisqEasy.tradeWizard.review.priceDescription.maker=Offer price +bisqEasy.tradeWizard.review.priceDetails.fix=Fix price. {0} {1} market price of {2} +bisqEasy.tradeWizard.review.priceDetails.fix.atMarket=Fix price. Same as market price of {0} +bisqEasy.tradeWizard.review.priceDetails.float=Float price. {0} {1} market price of {2} +bisqEasy.tradeWizard.review.priceDetails=Floats with the market price +bisqEasy.tradeWizard.review.nextButton.createOffer=Create offer +bisqEasy.tradeWizard.review.nextButton.takeOffer=Confirm trade + +bisqEasy.tradeWizard.review.createOfferSuccess.headline=Offer successfully published +bisqEasy.tradeWizard.review.createOfferSuccess.subTitle=Your offer is now listed in the offerbook. \ + When a Bisq user takes your offer, you will find a new trade in the 'Open Trades' section.\n\n\ + Be sure to regularly check the Bisq application for new messages from a taker. +bisqEasy.tradeWizard.review.createOfferSuccessButton=Show my offer in 'Offerbook' + +bisqEasy.tradeWizard.review.takeOfferSuccess.headline=You have successfully taken the offer +bisqEasy.tradeWizard.review.takeOfferSuccess.subTitle=Please get in touch with the trade peer at 'Open Trades'.\n\ + You will find further information for the next steps over there.\n\n\ + Be sure to regularly check the Bisq application for new messages from your trade peer. +bisqEasy.tradeWizard.review.takeOfferSuccessButton=Show trade in 'Open Trades' + + +################################################################################ +# Create offer / Review +################################################################################# + +bisqEasy.tradeWizard.review.table.baseAmount.buyer=You receive +bisqEasy.tradeWizard.review.table.baseAmount.seller=You spend +bisqEasy.tradeWizard.review.table.price=Price in {0} +bisqEasy.tradeWizard.review.table.reputation=Reputation +bisqEasy.tradeWizard.review.chatMessage.fixPrice={0} +bisqEasy.tradeWizard.review.chatMessage.floatPrice.above={0} above market price +bisqEasy.tradeWizard.review.chatMessage.floatPrice.below={0} below market price +bisqEasy.tradeWizard.review.chatMessage.marketPrice=Market price +bisqEasy.tradeWizard.review.chatMessage.price=Price: +bisqEasy.tradeWizard.review.chatMessage.peerMessage.sell=Sell Bitcoin to {0}\n\ + Amount: {1}\n\ + Bitcoin settlement method(s): {2}\n\ + Fiat payment method(s): {3}\n\ + {4} +bisqEasy.tradeWizard.review.chatMessage.peerMessage.buy=Buy Bitcoin from {0}\n\ + Amount: {1}\n\ + Bitcoin settlement method(s): {2}\n\ + Fiat payment method(s): {3}\n\ + {4} +bisqEasy.tradeWizard.review.chatMessage.offerDetails=Amount: {0}\n\ + Bitcoin settlement method(s): {1}\n\ + Fiat payment method(s): {2}\n\ + {3} +bisqEasy.tradeWizard.review.chatMessage.peerMessageTitle.sell=Sell Bitcoin to +bisqEasy.tradeWizard.review.chatMessage.peerMessageTitle.buy=Buy Bitcoin from +bisqEasy.tradeWizard.review.chatMessage.myMessageTitle=My Offer to {0} Bitcoin + + +################################################################################ +# +# Take offer +# +################################################################################ + +bisqEasy.takeOffer.progress.amount=Trade amount +bisqEasy.takeOffer.progress.method=Payment method +bisqEasy.takeOffer.progress.review=Review trade + +bisqEasy.takeOffer.amount.headline.buyer=How much do you want to spend? +bisqEasy.takeOffer.amount.headline.seller=How much do you want to trade? +bisqEasy.takeOffer.amount.description=The offer allows you can choose a trade amount\n\ + between {0} and {1} +bisqEasy.takeOffer.amount.description.limitedByTakersReputation=Your reputation score of {0} allows you can choose a trade amount\n\ + between {1} and {2} + +bisqEasy.takeOffer.amount.buyer.limitInfo.tooHighMax=Seller''s reputation score is only {0}. It is not recommended to trade more than +bisqEasy.takeOffer.amount.buyer.limitInfoAmount={0}. +bisqEasy.takeOffer.amount.buyer.limitInfo.tooHighMax.overlay.info=Seller''s reputation score of {0} does not provide sufficient security. \ + However, for lower trade amounts (up to {1}), reputation requirements are more lenient.\n\n\ + If you decide to proceed despite the lack of the seller''s reputation, ensure that you are fully aware of the associated risks. \ + Bisq Easy''s security model relies on the seller''s reputation, as the buyer is required to send fiat currency first. +bisqEasy.takeOffer.amount.buyer.limitInfo.minAmountCovered=Seller''s reputation score of {0} provides security up to +bisqEasy.takeOffer.amount.buyer.limitInfo.minAmountCovered.overlay.info=Seller''s reputation score of {0} provides security for up to {1}.\n\n\ + If you choose a higher amount, ensure that you are fully aware of the associated risks. \ + Bisq Easy''s security model relies on the seller''s reputation, as the buyer is required to send fiat currency first. +bisqEasy.takeOffer.amount.buyer.limitInfo.minAmountNotCovered=Seller''s reputation score of {0} does not provide sufficient security for that offer. +bisqEasy.takeOffer.amount.buyer.limitInfo.tooHighMin.overlay.info=Seller''s reputation score of {0} does not provide sufficient security for that offer.\n\n\ + It is recommended to trade lower amounts with repeated trades or with sellers who have higher reputation. \ + If you decide to proceed despite the lack of the seller''s reputation, ensure that you are fully aware of the associated risks. \ + Bisq Easy''s security model relies on the seller''s reputation, as the buyer is required to send fiat currency first. +bisqEasy.takeOffer.amount.buyer.limitInfo.learnMore=Learn more +bisqEasy.takeOffer.amount.buyer.limitInfo.overlay.linkToWikiText=To learn more about the reputation system, visit: + +bisqEasy.takeOffer.paymentMethods.headline.fiat=Which payment method do you want to use? +bisqEasy.takeOffer.paymentMethods.headline.fiatAndBitcoin=Which payment and settlement method do you want to use? +bisqEasy.takeOffer.paymentMethods.headline.bitcoin=Which settlement method do you want to use? +bisqEasy.takeOffer.paymentMethods.subtitle.fiat.buyer=Choose a payment method to transfer {0} +bisqEasy.takeOffer.paymentMethods.subtitle.fiat.seller=Choose a payment method to receive {0} +bisqEasy.takeOffer.paymentMethods.subtitle.bitcoin.buyer=Choose a settlement method to receive Bitcoin +bisqEasy.takeOffer.paymentMethods.subtitle.bitcoin.seller=Choose a settlement method to send Bitcoin + +bisqEasy.takeOffer.review.headline=Review trade +bisqEasy.takeOffer.review.detailsHeadline=Trade details +bisqEasy.takeOffer.review.method.fiat=Fiat payment method +bisqEasy.takeOffer.review.method.bitcoin=Bitcoin settlement method +bisqEasy.takeOffer.review.price.price=Trade price +bisqEasy.takeOffer.review.noTradeFees=No trade fees in Bisq Easy +bisqEasy.takeOffer.review.sellerPaysMinerFeeLong=The seller pays the mining fee +bisqEasy.takeOffer.review.sellerPaysMinerFee=Seller pays the mining fee +bisqEasy.takeOffer.review.noTradeFeesLong=There are no trade fees in Bisq Easy +bisqEasy.takeOffer.review.takeOffer=Confirm take offer +bisqEasy.takeOffer.review.sendTakeOfferMessageFeedback.headline=Sending take-offer message +bisqEasy.takeOffer.review.sendTakeOfferMessageFeedback.subTitle=Sending the take-offer message can take up to 2 minutes +bisqEasy.takeOffer.review.sendTakeOfferMessageFeedback.info=Do not close the window or the application until you \ + see the confirmation that the take-offer request was successfully sent. +bisqEasy.takeOffer.review.takeOfferSuccess.headline=You have successfully taken the offer +bisqEasy.takeOffer.review.takeOfferSuccess.subTitle=Please get in touch with the trade peer at 'Open Trades'.\n\ + You will find further information for the next steps over there.\n\n\ + Be sure to regularly check the Bisq application for new messages from your trade peer. +bisqEasy.takeOffer.review.takeOfferSuccessButton=Show trade in 'Open Trades' +bisqEasy.takeOffer.tradeLogMessage={0} has sent a message for taking {1}''s offer + +bisqEasy.takeOffer.noMediatorAvailable.warning=There is no mediator available. You have to use the support chat instead. +bisqEasy.takeOffer.makerBanned.warning=The maker of this offer is banned. Please try to use a different offer. +# suppress inspection "UnusedProperty" +bisqEasy.takeOffer.bitcoinPaymentData.warning.MAIN_CHAIN=The Bitcoin address that you have entered appears to be invalid.\n\n\ + If you are sure the address is valid you can ignore this warning and proceed. +# suppress inspection "UnusedProperty" +bisqEasy.takeOffer.bitcoinPaymentData.warning.LN=The Lightning invoice that you have entered appears to be invalid.\n\n\ + If you are sure the invoice is valid you can ignore this warning and proceed. +bisqEasy.takeOffer.bitcoinPaymentData.warning.proceed=Ignore warning + + +################################################################################ +# +# TradeGuide +# +################################################################################ + +bisqEasy.tradeGuide.tabs.headline=Trade guide +bisqEasy.tradeGuide.welcome=Overview +bisqEasy.tradeGuide.security=Security +bisqEasy.tradeGuide.process=Process +bisqEasy.tradeGuide.rules=Trade rules + +bisqEasy.tradeGuide.welcome.headline=How to trade on Bisq Easy +bisqEasy.tradeGuide.welcome.content=This guide provides an overview of essential aspects for buying or selling Bitcoin with Bisq Easy.\n\ + In this guide, you'll learn about the security model used at Bisq Easy, gain insights into the trade process, and familiarize yourself with the trade rules.\n\n\ + For any additional questions, feel free to visit the chat rooms available under the 'Support' menu. + +bisqEasy.tradeGuide.security.headline=How safe is it to trade on Bisq Easy? +bisqEasy.tradeGuide.security.content=\ + - Bisq Easy's security model is optimized for small trade amounts.\n\ + - The model relies on the reputation of the seller, who is usually an experienced Bisq user and is expected to provide helpful support to new users.\n\ + - Building up reputation can be costly, leading to a common 5-15% price premium to cover extra expenses and compensate for the seller's service.\n\ + - Trading with sellers lacking reputation carries significant risks and should only be undertaken if the risks are thoroughly understood and managed. + +bisqEasy.tradeGuide.process.headline=How does the trade process works? +bisqEasy.tradeGuide.process.content=\ + When you decide to take an offer, you'll have the flexibility to choose from the available options provided by the offer. Before starting the trade, you'll be presented with a summary overview for your review.\n\ + Once the trade is initiated, the user interface will guide you through the trade process, which consists of the following steps: + +bisqEasy.tradeGuide.process.steps=\ + 1. The seller and the buyer exchange account details. The seller sends their payment data (e.g., bank account number) to the buyer and the buyer sends their Bitcoin address (or Lightning invoice) to the seller.\n\ + 2. Next, the buyer initiates the Fiat payment to the seller's account. Upon receiving the payment, the seller will confirm the receipt.\n\ + 3. The seller then sends the Bitcoin to the buyer's address and shares the transaction ID (of optionally the preimage in case Lightning is used). The user interface will display the confirmation state. Once confirmed, the trade is successfully completed. + +bisqEasy.tradeGuide.rules.headline=What do I need to know about the trade rules? +bisqEasy.tradeGuide.rules.content=\ + - Prior to the exchange of account details between the seller and the buyer, any party can cancel the trade without providing justification.\n\ + - Traders should regularly check their trades for new messages and must respond within 24 hours.\n\ + - Once account details are exchanged, failing to meet trade obligations is considered a breach of the trade contract and may result in a ban from the Bisq network. This does not apply if the trade peer is unresponsive.\n\ + - During Fiat payment, the buyer MUST NOT include terms like 'Bisq' or 'Bitcoin' in the 'reason for payment' field. Traders can agree on an identifier, such as a random string like 'H3TJAPD', to associate the bank transfer with the trade.\n\ + - If the trade cannot be completed instantly due to longer Fiat transfer times, both traders must be online at least once a day to monitor the trade progress.\n\ + - In the event that traders encounter unresolved issues, they have the option to invite a mediator into the trade chat for assistance.\n\n\ + Should you have any questions or need assistance, don't hesitate to visit the chat rooms accessible under the 'Support' menu. Happy trading! + +bisqEasy.tradeGuide.rules.confirm=I have read and understood + +bisqEasy.tradeGuide.notConfirmed.warn=Please read the trade guide and confirm that \ + you have read and understood the trade rules. +bisqEasy.tradeGuide.open=Open trade guide + + +################################################################################ +# WalletGuide +################################################################################ + +bisqEasy.walletGuide.open=Open wallet guide + +bisqEasy.walletGuide.tabs.headline=Wallet guide +bisqEasy.walletGuide.intro=Intro +bisqEasy.walletGuide.download=Download +bisqEasy.walletGuide.createWallet=New wallet +bisqEasy.walletGuide.receive=Receiving + +bisqEasy.walletGuide.intro.headline=Get ready to receive your first Bitcoin +bisqEasy.walletGuide.intro.content=In Bisq Easy, the Bitcoin you receive goes straight to your pocket without any intermediaries. \ + That's a great advantage, but it also means you need to have a wallet that you control yourself to receive it!\n\n\ + In this quick wallet guide, we will show you in a few simple steps how you can create a simple wallet. \ + With it, you will be able to receive and store your freshly purchased bitcoin.\n\n\ + If you are already familiar with on-chain wallets and have one, you can skip this guide and simply use your wallet. + +bisqEasy.walletGuide.download.headline=Downloading your wallet +bisqEasy.walletGuide.download.content=There are many wallets out there that you can use. In this guide, we will show you how to use Bluewallet. Bluewallet is great and, at the same time, very simple, and you can use it to receive your bitcoin from Bisq Easy.\n\n\ + You can download Bluewallet on your phone, regardless of whether you have an Android or iOS device. To do so, you can visit the official webpage at 'bluewallet.io'. Once you are there, click on App Store or Google Play depending on the device you are using.\n\n\ + Important note: for your safety, make sure that you download the app from the official app store of your device. The official app is provided by 'Bluewallet Services, S.R.L.', and you should be able to see this in your app store. Downloading a malicious wallet could put your funds at risk.\n\n\ + Finally, a quick note: Bisq is not affiliated with Bluewallet in any way. We suggest using Bluewallet due to its quality and simplicity, but there are many other options on the market. You should feel absolutely free to compare, try and choose whichever wallet fits your needs best. +bisqEasy.walletGuide.download.link=Click here to visit Bluewallet's page + +bisqEasy.walletGuide.createWallet.headline=Creating your new wallet +bisqEasy.walletGuide.createWallet.content=Bluewallet allows you to create several wallets for different purposes. For now, you only need to have one wallet. Once you enter Bluewallet, you will see a message suggesting you add a new wallet. Once you do that, enter a name for your wallet and pick the option *Bitcoin* under the *Type* section. You can leave all other options as they appear and click on *Create*.\n\n\ + When you move to the next step, you will be presented with 12 words. These 12 words are the backup that allows you to recover your wallet if something happens to your phone. Write them down on a piece of paper (not digitally) in the same order in which they are presented, store this paper safely and make sure only you have access to it. You can read more about how to secure your wallet in the Learn sections of Bisq 2 dedicated to wallets and security.\n\n\ + Once you are done, click on 'Ok, I wrote it down'.\n\ + Congratulations! You have created your wallet! Let's move on to how to receive your bitcoin in it. + +bisqEasy.walletGuide.receive.headline=Receiving bitcoin in your wallet +bisqEasy.walletGuide.receive.content=To receive your Bitcoin, you need an address from your wallet. To get it, click on your newly created wallet, and afterwards click on the 'Receive' button at the bottom of the screen.\n\n\ + Bluewallet will display an unused address, both as a QR code and as text. This address is what you will need to provide to your peer in Bisq Easy so that he can send you the Bitcoin you are buying. You can move the address to your PC by scanning the QR code with a camera, by sending the address with an email or chat message, or even by simply typing it.\n\n\ + Once you complete the trade, Bluewallet will notice the incoming Bitcoin and update your balance with the new funds. Everytime you do a new trade, get a fresh address to protect your privacy.\n\n\ + These are the basics you need to know to start receiving Bitcoin in your own wallet. If you want to learn more about Bluewallet, we recommend checking out the videos listed below. +bisqEasy.walletGuide.receive.link1=Bluewallet tutorial by Anita Posch +bisqEasy.walletGuide.receive.link2=Bluewallet tutorial by BTC Sessions + + +###################################################### +# Offerbook +###################################################### + +bisqEasy.offerbook.markets=Markets +bisqEasy.offerbook.markets.CollapsedList.Tooltip=Expand Markets +bisqEasy.offerbook.markets.ExpandedList.Tooltip=Collapse Markets +bisqEasy.offerbook.marketListCell.numOffers.one={0} offer +bisqEasy.offerbook.marketListCell.numOffers.many={0} offers +bisqEasy.offerbook.marketListCell.numOffers.tooltip.none=No offers yet available in the {0} market +bisqEasy.offerbook.marketListCell.numOffers.tooltip.one={0} offer is available in the {1} market +bisqEasy.offerbook.marketListCell.numOffers.tooltip.many={0} offers are available in the {1} market +bisqEasy.offerbook.marketListCell.favourites.tooltip.addToFavourites=Add to favourites +bisqEasy.offerbook.marketListCell.favourites.tooltip.removeFromFavourites=Remove from favourites +bisqEasy.offerbook.marketListCell.favourites.maxReached.popup=There's only space for 5 favourites. Remove a favourite and try again. + +bisqEasy.offerbook.dropdownMenu.sortAndFilterMarkets.tooltip=Sort and filter markets +bisqEasy.offerbook.dropdownMenu.sortAndFilterMarkets.sortTitle=Sort by: +bisqEasy.offerbook.dropdownMenu.sortAndFilterMarkets.mostOffers=Most offers +bisqEasy.offerbook.dropdownMenu.sortAndFilterMarkets.nameAZ=Name A-Z +bisqEasy.offerbook.dropdownMenu.sortAndFilterMarkets.nameZA=Name Z-A +bisqEasy.offerbook.dropdownMenu.sortAndFilterMarkets.filterTitle=Show markets: +bisqEasy.offerbook.dropdownMenu.sortAndFilterMarkets.withOffers=With offers +bisqEasy.offerbook.dropdownMenu.sortAndFilterMarkets.favourites=Only favourites +bisqEasy.offerbook.dropdownMenu.sortAndFilterMarkets.all=All + +bisqEasy.offerbook.chatMessage.deleteOffer.confirmation=Are you sure you want to delete this offer? +bisqEasy.offerbook.chatMessage.deleteMessage.confirmation=Are you sure you want to delete this message? + +bisqEasy.offerbook.offerList=Offer List +bisqEasy.offerbook.offerList.collapsedList.tooltip=Expand Offer List +bisqEasy.offerbook.offerList.expandedList.tooltip=Collapse Offer List +bisqEasy.offerbook.offerList.table.columns.peerProfile=Peer profile +bisqEasy.offerbook.offerList.table.columns.price=Price +bisqEasy.offerbook.offerList.table.columns.fiatAmount={0} amount +bisqEasy.offerbook.offerList.table.columns.paymentMethod=Payment +bisqEasy.offerbook.offerList.table.columns.settlementMethod=Settlement +bisqEasy.offerbook.offerList.table.filters.offerDirection.buyFrom=Buy from +bisqEasy.offerbook.offerList.table.filters.offerDirection.sellTo=Sell to +bisqEasy.offerbook.offerList.table.filters.paymentMethods.title=Payments ({0}) +bisqEasy.offerbook.offerList.table.filters.paymentMethods.title.all=All +bisqEasy.offerbook.offerList.table.filters.paymentMethods.customPayments=Custom payments +bisqEasy.offerbook.offerList.table.filters.paymentMethods.clearFilters=Clear filters +bisqEasy.offerbook.offerList.table.filters.showMyOffersOnly=My offers only + +bisqEasy.offerbook.offerList.table.columns.price.tooltip.fixPrice=Fixed price: {0}\nPercentage from current market price: {1} +bisqEasy.offerbook.offerList.table.columns.price.tooltip.marketPrice=Market price: {0} +bisqEasy.offerbook.offerList.table.columns.price.tooltip.floatPrice=Percentage price {0}\nWith current market price: {1} + + +###################################################### +# Open trades +###################################################### + +bisqEasy.openTrades.table.headline=My open trades +bisqEasy.openTrades.noTrades=You don't have any open trades +bisqEasy.openTrades.rejectTrade=Reject trade +bisqEasy.openTrades.cancelTrade=Cancel trade +bisqEasy.openTrades.tradeLogMessage.rejected={0} rejected the trade +bisqEasy.openTrades.tradeLogMessage.cancelled={0} cancelled the trade +bisqEasy.openTrades.rejectTrade.warning=Since the exchange of account details has not yet started, rejecting \ + the trade does not constitute a violation of the trade rules.\n\n\ + If you have any questions or encounter issues, please don't hesitate to \ + contact your trade peer or seek assistance in the 'Support section'.\n\n\ + Are you sure you want to reject the trade? +bisqEasy.openTrades.cancelTrade.warning.buyer=Since the exchange of account details has commenced, \ + canceling the trade without the seller''s {0} +bisqEasy.openTrades.cancelTrade.warning.seller=Since the exchange of account details has commenced, \ + canceling the trade without the buyer''s {0} + +bisqEasy.openTrades.cancelTrade.warning.part2=consent could be considered a \ + violation of the trading rules and may result in your profile being banned from the network.\n\n\ + If the peer has been unresponsive for more than 24 hours and no payment has been made, \ + you may reject the trade without consequences. The liability will rest with the unresponsive party.\n\n\ + If you have any questions or encounter issues, please do not hesitate to contact your trade peer or seek assistance \ + in the 'Support section'.\n\n\ + If you believe that your trade peer has violated the trade rules, you have the option to initiate a mediation request. \ + A mediator will join the trade chat and work toward finding a cooperative solution.\n\n\ + Are you sure you want to cancel the trade? + +bisqEasy.openTrades.closeTrade.warning.interrupted=Before closing the trade you can back up the trade data as csv file if needed.\n\n\ + Once the trade is closed all data related to the trade is gone, and you cannot communicate with the trade peer in the trade chat anymore.\n\n\ + Do you want to close the trade now? + +bisqEasy.openTrades.closeTrade.warning.completed=Your trade has been completed.\n\n\ + You can now close the trade or back up the trade data on your computer if needed.\n\n\ + Once the trade is closed all data related to the trade are gone, and you cannot communicate with the trade peer in the trade chat anymore. +bisqEasy.openTrades.closeTrade=Close trade +bisqEasy.openTrades.confirmCloseTrade=Confirm close trade +bisqEasy.openTrades.exportTrade=Export trade data +bisqEasy.openTrades.reportToMediator=Report to mediator +bisqEasy.openTrades.rejected.self=You have rejected the trade +bisqEasy.openTrades.rejected.peer=Your trade peer has rejected the trade +bisqEasy.openTrades.cancelled.self=You have cancelled the trade +bisqEasy.openTrades.cancelled.peer=Your trade peer has cancelled the trade +bisqEasy.openTrades.inMediation.info=A mediator has joined the trade chat. Please use the trade chat below to get assistance from the mediator. +bisqEasy.openTrades.failed=The trade failed with error message: {0} +bisqEasy.openTrades.failed.popup=The trade failed due an error.\n\ + Error message: {0}\n\n\ + Stack trace: {1} +bisqEasy.openTrades.failedAtPeer=The peer''s trade failed with an error caused by: {0} +bisqEasy.openTrades.failedAtPeer.popup=The peer''s trade failed due an error.\n\ + Error caused by: {0}\n\n\ + Stack trace: {1} +bisqEasy.openTrades.table.tradePeer=Peer +bisqEasy.openTrades.table.me=Me +bisqEasy.openTrades.table.mediator=Mediator +bisqEasy.openTrades.table.tradeId=Trade ID +bisqEasy.openTrades.table.price=Price +bisqEasy.openTrades.table.baseAmount=Amount in BTC +bisqEasy.openTrades.table.quoteAmount=Amount +bisqEasy.openTrades.table.paymentMethod=Payment +bisqEasy.openTrades.table.paymentMethod.tooltip=Fiat payment method: {0} +bisqEasy.openTrades.table.settlementMethod=Settlement +bisqEasy.openTrades.table.settlementMethod.tooltip=Bitcoin settlement method: {0} +bisqEasy.openTrades.table.makerTakerRole=My role +bisqEasy.openTrades.table.direction.buyer=Buying from: +bisqEasy.openTrades.table.direction.seller=Selling to: +bisqEasy.openTrades.table.makerTakerRole.maker=Maker +bisqEasy.openTrades.table.makerTakerRole.taker=Taker +bisqEasy.openTrades.csv.quoteAmount=Amount in {0} +bisqEasy.openTrades.csv.txIdOrPreimage=Transaction ID/Preimage +bisqEasy.openTrades.csv.receiverAddressOrInvoice=Receiver address/Invoice +bisqEasy.openTrades.csv.paymentMethod=Payment method + +bisqEasy.openTrades.chat.peer.description=Chat peer +bisqEasy.openTrades.chat.detach=Detach +bisqEasy.openTrades.chat.detach.tooltip=Open chat in new window +bisqEasy.openTrades.chat.attach=Restore +bisqEasy.openTrades.chat.attach.tooltip=Restore chat back to main window +bisqEasy.openTrades.chat.window.title={0} - Chat with {1} / Trade ID: {2} +bisqEasy.openTrades.chat.peerLeft.headline={0} has left the trade +bisqEasy.openTrades.chat.peerLeft.subHeadline=If the trade is not completed on your side and if you need assistance, contact the mediator or visit the support chat. + +###################################################### +# Private chat +###################################################### + +bisqEasy.privateChats.leave=Leave chat +bisqEasy.privateChats.table.myUser=My profile + + +###################################################### +# Top pane +###################################################### + +# Commented out in code +# suppress inspection "UnusedProperty" +bisqEasy.topPane.filter=Filter offerbook +# Commented out in code +# suppress inspection "UnusedProperty" +bisqEasy.topPane.closeFilter=Close filter +bisqEasy.topPane.filter.offersOnly=Only show offers in Bisq Easy offerbook + + +################################################################################ +# +# BisqEasyOfferDetails +# +################################################################################ + +bisqEasy.offerDetails.headline=Offer details +bisqEasy.offerDetails.buy=Offer for buying Bitcoin +bisqEasy.offerDetails.sell=Offer for selling Bitcoin + +bisqEasy.offerDetails.direction=Offer type +bisqEasy.offerDetails.baseSideAmount=Bitcoin amount +bisqEasy.offerDetails.quoteSideAmount={0} amount +bisqEasy.offerDetails.price={0} offer price +bisqEasy.offerDetails.priceValue={0} (premium: {1}) +bisqEasy.offerDetails.paymentMethods=Supported payment method(s) +bisqEasy.offerDetails.id=Offer ID +bisqEasy.offerDetails.date=Creation date +bisqEasy.offerDetails.makersTradeTerms=Makers trade terms + + +################################################################################ +# +# OpenTradesWelcome +# +################################################################################ + +bisqEasy.openTrades.welcome.headline=Welcome to your first Bisq Easy trade! +bisqEasy.openTrades.welcome.info=Please make yourself familiar with the concept, process and rules for trading on Bisq Easy.\n\ + After you have read and accepted the trade rules you can start the trade. +bisqEasy.openTrades.welcome.line1=Learn about the security model of Bisq easy +bisqEasy.openTrades.welcome.line2=See how the trade process works +bisqEasy.openTrades.welcome.line3=Make yourself familiar with the trade rules + + +################################################################################ +# +# TradeState +# +################################################################################ + +bisqEasy.tradeState.requestMediation=Request mediation +bisqEasy.tradeState.reportToMediator=Report to mediator +bisqEasy.tradeState.acceptOrRejectSellersPrice.title=Attention to Price Change! +bisqEasy.tradeState.acceptOrRejectSellersPrice.description.buyersPrice=Your offer price to buy Bitcoin was {0}. +bisqEasy.tradeState.acceptOrRejectSellersPrice.description.sellersPrice=However, the seller is offering you a different price: {0}. +bisqEasy.tradeState.acceptOrRejectSellersPrice.description.question=Do you want to accept this new price or do you want to reject/cancel* the trade? +bisqEasy.tradeState.acceptOrRejectSellersPrice.description.disclaimer=(*Note that in this specific case, cancelling the trade will NOT be considered a violation of the trading rules.) +bisqEasy.tradeState.acceptOrRejectSellersPrice.button.accept=Accept price + +# Trade State: Header +bisqEasy.tradeState.header.peer=Trade peer +bisqEasy.tradeState.header.direction=I want to +bisqEasy.tradeState.header.send=Amount to send +bisqEasy.tradeState.header.pay=Amount to pay +bisqEasy.tradeState.header.receive=Amount to receive +bisqEasy.tradeState.header.tradeId=Trade ID + +# Trade State: Phase (left side) +bisqEasy.tradeState.phase1=Account details +bisqEasy.tradeState.phase2=Fiat payment +bisqEasy.tradeState.phase3=Bitcoin transfer +bisqEasy.tradeState.phase4=Trade completed + +# Trade State: Info (right side) + +bisqEasy.tradeState.info.phase3b.balance.help.explorerLookup=Looking up transaction at block explorer ''{0}'' +bisqEasy.tradeState.info.phase3b.balance.help.notConfirmed=Transaction seen in mempool but not confirmed yet +bisqEasy.tradeState.info.phase3b.balance.help.confirmed=Transaction is confirmed +bisqEasy.tradeState.info.phase3b.txId.failed=Transaction lookup to ''{0}'' failed with {1}: ''{2}'' +bisqEasy.tradeState.info.phase3b.button.skip=Skip waiting for block confirmation + +bisqEasy.tradeState.info.phase3b.balance.invalid.noOutputsForAddress=No matching outputs found in transaction +bisqEasy.tradeState.info.phase3b.balance.invalid.multipleOutputsForAddress=Multiple matching outputs found in transaction +bisqEasy.tradeState.info.phase3b.balance.invalid.amountNotMatching=Output amount from transaction is not matching trade amount + +bisqEasy.tradeState.info.phase3b.button.next=Next +bisqEasy.tradeState.info.phase3b.button.next.amountNotMatching=The output amount for the address ''{0}'' in transaction ''{1}'' is ''{2}'', which does not match the trade amount of ''{3}''.\n\n\ + Have you been able to resolve this issue with your trade peer?\n\ + If not, you may consider requesting mediation to help settle the matter. +bisqEasy.tradeState.info.phase3b.button.next.noOutputForAddress=No output matching the address ''{0}'' in transaction ''{1}'' is found.\n\n\ + Have you been able to resolve this issue with your trade peer?\n\ + If not, you may consider requesting mediation to help settle the matter. + +bisqEasy.tradeState.info.phase3b.button.next.amountNotMatching.resolved=I have resolved it + +bisqEasy.tradeState.info.phase3b.txId=Transaction ID +bisqEasy.tradeState.info.phase3b.txId.tooltip=Open transaction in block explorer +bisqEasy.tradeState.info.phase3b.lightning.preimage=Preimage + +bisqEasy.tradeState.info.phase4.txId.tooltip=Open transaction in block explorer +bisqEasy.tradeState.info.phase4.exportTrade=Export trade data +bisqEasy.tradeState.info.phase4.leaveChannel=Close trade +#################################################################### +# Dynamically created from BitcoinPaymentRail enum name +#################################################################### +# suppress inspection "UnusedProperty" +bisqEasy.tradeState.bitcoinPaymentData.MAIN_CHAIN=Bitcoin address +# suppress inspection "UnusedProperty" +bisqEasy.tradeState.bitcoinPaymentData.LN=Lightning invoice +# suppress inspection "UnusedProperty" +bisqEasy.tradeState.paymentProof.MAIN_CHAIN=Transaction ID +# suppress inspection "UnusedProperty" +bisqEasy.tradeState.paymentProof.LN=Preimage + + +# Trade State Info: Buyer +#################################################################### +# Dynamically created from BitcoinPaymentRail enum name +#################################################################### +# suppress inspection "UnusedProperty" +bisqEasy.tradeState.info.buyer.phase1a.bitcoinPayment.headline.MAIN_CHAIN=Fill in your Bitcoin address +# suppress inspection "UnusedProperty" +bisqEasy.tradeState.info.buyer.phase1a.bitcoinPayment.description.MAIN_CHAIN=Bitcoin address +# suppress inspection "UnusedProperty" +bisqEasy.tradeState.info.buyer.phase1a.bitcoinPayment.prompt.MAIN_CHAIN=Fill in your Bitcoin address +# suppress inspection "UnusedProperty" +bisqEasy.tradeState.info.buyer.phase1a.tradeLogMessage.MAIN_CHAIN={0} has sent the Bitcoin address ''{1}'' +# suppress inspection "UnusedProperty" +bisqEasy.tradeState.info.buyer.phase1a.bitcoinPayment.headline.LN=Fill in your Lightning invoice +# suppress inspection "UnusedProperty" +bisqEasy.tradeState.info.buyer.phase1a.bitcoinPayment.description.LN=Lightning invoice +# suppress inspection "UnusedProperty" +bisqEasy.tradeState.info.buyer.phase1a.bitcoinPayment.prompt.LN=Fill in your Lightning invoice +# suppress inspection "UnusedProperty" +bisqEasy.tradeState.info.buyer.phase1a.tradeLogMessage.LN={0} has sent the Lightning invoice ''{1}'' + +bisqEasy.tradeState.info.buyer.phase1a.bitcoinPayment.walletHelp=If you have not set up a wallet yet, you can find help at the wallet guide +bisqEasy.tradeState.info.buyer.phase1a.walletHelpButton=Open wallet guide +bisqEasy.tradeState.info.buyer.phase1a.send=Send to seller +bisqEasy.tradeState.info.buyer.phase1a.scanQrCode.tooltip=Scan QR code using your webcam +bisqEasy.tradeState.info.buyer.phase1a.scanQrCode.webcamState.description=Webcam connection state +bisqEasy.tradeState.info.buyer.phase1a.scanQrCode.webcamState.connecting=Connecting to webcam... +bisqEasy.tradeState.info.buyer.phase1a.scanQrCode.webcamState.imageRecognized=Webcam connected +bisqEasy.tradeState.info.buyer.phase1a.scanQrCode.webcamState.failed=Connecting to webcam failed +bisqEasy.tradeState.info.buyer.phase1b.headline=Wait for the seller's payment account data +bisqEasy.tradeState.info.buyer.phase1b.info=You can use the chat below for getting in touch with the seller. + +bisqEasy.tradeState.info.buyer.phase2a.headline=Send {0} to the seller''s payment account +bisqEasy.tradeState.info.buyer.phase2a.quoteAmount=Amount to transfer +bisqEasy.tradeState.info.buyer.phase2a.sellersAccount=Payment account of seller +bisqEasy.tradeState.info.buyer.phase2a.reasonForPaymentInfo=Please leave the 'Reason for payment' field empty, in case you make a bank transfer +bisqEasy.tradeState.info.buyer.phase2a.confirmFiatSent=Confirm payment of {0} +bisqEasy.tradeState.info.buyer.phase2a.tradeLogMessage={0} initiated the {1} payment + +bisqEasy.tradeState.info.buyer.phase2b.headline=Wait for the seller to confirm receipt of payment +bisqEasy.tradeState.info.buyer.phase2b.info=Once the seller has received your payment of {0}, they will start the Bitcoin transfer to your provided {1}. + +bisqEasy.tradeState.info.buyer.phase3a.headline=Wait for the seller's Bitcoin settlement +bisqEasy.tradeState.info.buyer.phase3a.info=The seller need to start the Bitcoin transfer to your provided {0}. +bisqEasy.tradeState.info.buyer.phase3b.headline.ln=The seller has sent the Bitcoin via Lightning network +bisqEasy.tradeState.info.buyer.phase3b.info.ln=Transfers via the Lightning Network are typically near-instant. \ + If you haven't received the payment within one minute, please contact the seller in the trade chat. \ + Occasionally, payments may fail and need to be retried. +bisqEasy.tradeState.info.buyer.phase3b.confirmButton.ln=Confirm receipt +bisqEasy.tradeState.info.buyer.phase3b.tradeLogMessage.ln={0} has confirmed to have received the Bitcoin payment +bisqEasy.tradeState.info.buyer.phase3b.headline.MAIN_CHAIN=The seller has started the Bitcoin payment +bisqEasy.tradeState.info.buyer.phase3b.info.MAIN_CHAIN=As soon the Bitcoin transaction is visible in the Bitcoin network you will see the payment. \ + After 1 blockchain confirmation the payment can be considered as completed. +bisqEasy.tradeState.info.buyer.phase3b.balance=Received Bitcoin +bisqEasy.tradeState.info.buyer.phase3b.balance.prompt=Waiting for blockchain data... + +# Trade State Info: Seller +bisqEasy.tradeState.info.seller.phase1.headline=Send your payment account data to the buyer +bisqEasy.tradeState.info.seller.phase1.accountData=My payment account data +bisqEasy.tradeState.info.seller.phase1.accountData.prompt=Fill in your payment account data. E.g. IBAN, BIC and account owner name +bisqEasy.tradeState.info.seller.phase1.buttonText=Send account data +bisqEasy.tradeState.info.seller.phase1.note=Note: You can use the chat below for getting in touch with the buyer before revealing your account data. +bisqEasy.tradeState.info.seller.phase1.tradeLogMessage={0} has sent the payment account data:\n{1} + +bisqEasy.tradeState.info.seller.phase2a.waitForPayment.headline=Wait for the buyer''s {0} payment +bisqEasy.tradeState.info.seller.phase2a.waitForPayment.info=Once the buyer has initiated the payment of {0}, you will get notified. + +bisqEasy.tradeState.info.seller.phase2b.headline=Check if you have received {0} +bisqEasy.tradeState.info.seller.phase2b.info=Visit your bank account or payment provider app to confirm receipt of the buyer's payment. + +bisqEasy.tradeState.info.seller.phase2b.fiatReceivedButton=Confirm receipt of {0} +bisqEasy.tradeState.info.seller.phase2b.tradeLogMessage={0} has confirmed the receipt of {1} + +bisqEasy.tradeState.info.seller.phase3a.fiatPaymentReceivedCheckBox=I confirmed to have received {0} +bisqEasy.tradeState.info.seller.phase3a.sendBtc=Send {0} to the buyer +bisqEasy.tradeState.info.seller.phase3a.baseAmount=Amount to send +bisqEasy.tradeState.info.seller.phase3a.qrCodeDisplay.openWindow=Open larger display +bisqEasy.tradeState.info.seller.phase3a.qrCodeDisplay.window.title=Scan QR Code for trade ''{0}'' +bisqEasy.tradeState.info.seller.phase3b.headline.MAIN_CHAIN=Waiting for blockchain confirmation +bisqEasy.tradeState.info.seller.phase3b.info.MAIN_CHAIN=The Bitcoin payment require at least 1 blockchain confirmation to be considered complete. +bisqEasy.tradeState.info.seller.phase3b.balance=Bitcoin payment +bisqEasy.tradeState.info.seller.phase3b.balance.prompt=Waiting for blockchain data... + +#################################################################### +# Dynamically created from BitcoinPaymentRail enum name +#################################################################### +# suppress inspection "UnusedProperty" +bisqEasy.tradeState.info.seller.phase3a.bitcoinPayment.description.MAIN_CHAIN=Bitcoin address +# suppress inspection "UnusedProperty" +bisqEasy.tradeState.info.seller.phase3a.paymentProof.description.MAIN_CHAIN=Transaction ID +# suppress inspection "UnusedProperty" +bisqEasy.tradeState.info.seller.phase3a.paymentProof.prompt.MAIN_CHAIN=Fill in the Bitcoin transaction ID +# suppress inspection "UnusedProperty" +bisqEasy.tradeState.info.seller.phase3a.tradeLogMessage.paymentProof.MAIN_CHAIN=Transaction ID +# suppress inspection "UnusedProperty" +bisqEasy.tradeState.info.seller.phase3a.bitcoinPayment.description.LN=Lightning invoice +# suppress inspection "UnusedProperty" +bisqEasy.tradeState.info.seller.phase3a.paymentProof.description.LN=Preimage (optional) +# suppress inspection "UnusedProperty" +bisqEasy.tradeState.info.seller.phase3a.paymentProof.prompt.LN=Fill in the preimage if available +# suppress inspection "UnusedProperty" +bisqEasy.tradeState.info.seller.phase3a.tradeLogMessage.paymentProof.LN=Preimage + +bisqEasy.tradeState.info.seller.phase3a.btcSentButton=I confirm to have sent {0} +bisqEasy.tradeState.info.seller.phase3a.tradeLogMessage={0} initiated the Bitcoin transfer. {1}: ''{2}'' +bisqEasy.tradeState.info.seller.phase3a.tradeLogMessage.noProofProvided={0} initiated the Bitcoin transfer. + +# suppress inspection "UnusedProperty" +bisqEasy.tradeState.info.seller.phase3a.paymentProof.warning.MAIN_CHAIN=The Transaction ID that you have entered appears to be invalid.\n\n\ + If you are sure the Transaction ID is valid you can ignore this warning and proceed. +# suppress inspection "UnusedProperty" +bisqEasy.tradeState.info.seller.phase3a.paymentProof.warning.LN=The preimage that you have entered appears to be invalid.\n\n\ + If you are sure the preimage is valid you can ignore this warning and proceed. +bisqEasy.tradeState.info.seller.phase3a.paymentProof.warning.proceed=Ignore warning + +bisqEasy.tradeState.info.seller.phase3b.headline.ln=Wait for buyer confirming Bitcoin receipt +bisqEasy.tradeState.info.seller.phase3b.info.ln=Transfers via the Lightning Network are usually near-instant and reliable. \ + However, in some cases, payments may fail and need to be repeated.\n\n\ + To avoid any issues, please wait for the buyer to confirm receipt in the trade chat before closing the trade, \ + as communication will no longer be possible afterward. +bisqEasy.tradeState.info.seller.phase3b.confirmButton.ln=Complete trade + + +###################################################### +# Trade Completed Table +##################################################### + +bisqEasy.tradeCompleted.title=Trade was successfully completed +bisqEasy.tradeCompleted.tableTitle=Summary +bisqEasy.tradeCompleted.header.tradeWith=Trade with +bisqEasy.tradeCompleted.header.myDirection.seller=I sold +bisqEasy.tradeCompleted.header.myDirection.buyer=I bought +bisqEasy.tradeCompleted.header.myDirection.btc=btc +bisqEasy.tradeCompleted.header.myOutcome.seller=I received +bisqEasy.tradeCompleted.header.myOutcome.buyer=I paid +bisqEasy.tradeCompleted.header.paymentMethod=Payment method +bisqEasy.tradeCompleted.header.tradeId=Trade ID +bisqEasy.tradeCompleted.body.date=Date +bisqEasy.tradeCompleted.body.tradePrice=Trade price +bisqEasy.tradeCompleted.body.tradeFee=Trade fee +bisqEasy.tradeCompleted.body.tradeFee.value=No trade fees in Bisq Easy +bisqEasy.tradeCompleted.body.copy.txId.tooltip=Copy transaction ID to clipboard +bisqEasy.tradeCompleted.body.copy.explorerLink.tooltip=Copy block explorer transaction link +bisqEasy.tradeCompleted.body.txId.tooltip=Open block explorer transaction + + +################################################################################ +# +# Mediation +# +################################################################################ + +bisqEasy.mediation.request.confirm.headline=Request mediation +bisqEasy.mediation.request.confirm.msg=If you have problems which you cannot resolve with your trade partner you can request assistance from a mediator.\n\n\ + Please do not request mediation for general questions. In the support section there are chat rooms where you can get general advice and help. +bisqEasy.mediation.request.confirm.openMediation=Open mediation +bisqEasy.mediation.request.feedback.headline=Mediation requested +bisqEasy.mediation.request.feedback.msg=A request to the registered mediators has been sent.\n\n\ + Please have patience until a mediator is online to join the trade chat and help to resolve any problems. +bisqEasy.mediation.request.feedback.noMediatorAvailable=There is no mediator available. Please use the support chat instead. +bisqEasy.mediation.requester.tradeLogMessage={0} requested mediation diff --git a/pocs/android_only_m2_j17jars/app/src/main/resources/bisq_easy_cs.properties b/pocs/android_only_m2_j17jars/app/src/main/resources/bisq_easy_cs.properties new file mode 100644 index 00000000..a67d17d9 --- /dev/null +++ b/pocs/android_only_m2_j17jars/app/src/main/resources/bisq_easy_cs.properties @@ -0,0 +1,808 @@ +#################################################################### +# +# Chat module +# +#################################################################### + +bisqEasy.offerBookChannel.description=Tržní kanál pro obchodování {0} +bisqEasy.mediator=Mediátor + + +#################################################################### +# +# Desktop module +# +#################################################################### + + +###################################################### +# Bisq Easy +###################################################### + +bisqEasy.dashboard=Začínáme +bisqEasy.offerbook=Nabídková kniha +bisqEasy.openTrades=Moje otevřené obchody + + +###################################################### +# Bisq Easy dashboard +###################################################### + +bisqEasy.onboarding.top.headline=Bisq Easy za 3 minuty +bisqEasy.onboarding.top.content1=Získejte rychlý úvod do Bisq Easy +bisqEasy.onboarding.top.content2=Podívejte se, jak funguje proces obchodování +bisqEasy.onboarding.top.content3=Naučte se o jednoduchých pravidlech obchodu +bisqEasy.onboarding.openTradeGuide=Přečtěte si průvodce obchodováním +bisqEasy.onboarding.watchVideo=Sledovat video +bisqEasy.onboarding.watchVideo.tooltip=Sledovat vložené úvodní video + +bisqEasy.onboarding.left.headline=Nejlepší pro začátečníky +bisqEasy.onboarding.left.info=Průvodce obchodem vás provede vaším prvním obchodem s Bitcoinem. Prodejci Bitcoinů vám pomohou, pokud budete mít jakékoli otázky. +bisqEasy.onboarding.left.button=Začít průvodce obchodem + +bisqEasy.onboarding.right.headline=Pro zkušené obchodníky +bisqEasy.onboarding.right.info=Prohlížejte nabídkovou knihu pro nejlepší nabídky nebo vytvořte svou vlastní nabídku. +bisqEasy.onboarding.right.button=Otevřít nabídkovou knihu + + +################################################################################ +# +# Create offer +# +################################################################################ + +bisqEasy.tradeWizard.progress.direction=Nákup/Prodej +bisqEasy.tradeWizard.progress.market=Měna +bisqEasy.tradeWizard.progress.price=Cena +bisqEasy.tradeWizard.progress.amount=Množství +bisqEasy.tradeWizard.progress.paymentMethods=Platební metody +bisqEasy.tradeWizard.progress.takeOffer=Vyberte nabídku +bisqEasy.tradeWizard.progress.review=Přehled + + +################################################################################ +# Create offer / Direction +################################################################################ + +bisqEasy.tradeWizard.direction.headline=Chcete koupit nebo prodat Bitcoin? +bisqEasy.tradeWizard.direction.subTitle=Vyberte možnost +bisqEasy.tradeWizard.direction.buy=Koupit Bitcoin +bisqEasy.tradeWizard.direction.buy.info=Nejjednodušší způsob, jak získat váš\nprvní Bitcoin +bisqEasy.tradeWizard.direction.sell=Prodat Bitcoin +bisqEasy.tradeWizard.direction.sell.info=Zkušení uživatelé Bisq s reputací mohou působit jako prodejci +bisqEasy.tradeWizard.direction.feedback.headline=Jak si vybudovat reputaci? +bisqEasy.tradeWizard.direction.feedback.subTitle1=Ještě jste si nevytvořili žádnou Reputaci. Pro prodejce Bitcoinu je budování reputace zásadní, protože kupující musí v procesu obchodu nejprve Odeslat fiat měnu, spoléhajíc na integritu prodejce.\n\nTento proces budování reputace je lépe přizpůsoben zkušeným uživatelům Bisq a podrobné informace o něm naleznete v sekci 'Reputace'. +bisqEasy.tradeWizard.direction.feedback.gainReputation=Naučte se, jak si vybudovat reputaci +bisqEasy.tradeWizard.direction.feedback.subTitle2=I když je možné, aby prodávající obchodovali bez (nebo s nedostatečnou) Reputací pro relativně malé částky až do {0}, pravděpodobnost nalezení obchodního partnera se výrazně snižuje. Důvodem je, že kupující se obvykle vyhýbají obchodování s prodávajícími, kteří nemají Reputaci kvůli bezpečnostním rizikům. +bisqEasy.tradeWizard.direction.feedback.tradeWithoutReputation=Pokračovat bez Reputace +bisqEasy.tradeWizard.direction.feedback.backToBuy=Zpět + + +################################################################################ +# Create offer / Market +################################################################################ + +bisqEasy.tradeWizard.market.headline.buyer=V jaké měně chcete platit? +bisqEasy.tradeWizard.market.headline.seller=V jaké měně chcete být placeni? +bisqEasy.tradeWizard.market.subTitle=Vyberte měnu pro obchod +bisqEasy.tradeWizard.market.columns.name=Fiat měna +bisqEasy.tradeWizard.market.columns.numOffers=Poč. nabídek +bisqEasy.tradeWizard.market.columns.numPeers=Online uživatelé + + +################################################################################ +# Create offer / Price +################################################################################ + +bisqEasy.price.headline=Jaká je vaše obchodní cena? +bisqEasy.tradeWizard.price.subtitle=Toto lze definovat jako procentuální cenu, která se mění s tržní cenou, nebo jako pevnou cenu. +bisqEasy.price.percentage.title=Procentuální cena +bisqEasy.price.percentage.inputBoxText=Procentuální změna tržní ceny mezi -10 % a 50 % +bisqEasy.price.tradePrice.title=Fixní cena +bisqEasy.price.tradePrice.inputBoxText=Cena transakce v {0} +bisqEasy.price.feedback.sentence=Vaše nabídka má {0} šancí být přijata za tuto cenu. +bisqEasy.price.feedback.sentence.veryLow=velmi nízká +bisqEasy.price.feedback.sentence.low=nízká +bisqEasy.price.feedback.sentence.some=několik +bisqEasy.price.feedback.sentence.good=dobrá +bisqEasy.price.feedback.sentence.veryGood=velmi dobrá +bisqEasy.price.feedback.learnWhySection.openButton=Proč? +bisqEasy.price.feedback.learnWhySection.closeButton=Zpět k ceně transakce +bisqEasy.price.feedback.learnWhySection.title=Proč bych měl/a platit prodávajícímu vyšší cenu? +bisqEasy.price.feedback.learnWhySection.description.intro=Razlog za to je što prodavatelj mora pokriti dodatne troškove i nadoknaditi uslugu prodavatelja, konkretno: +bisqEasy.price.feedback.learnWhySection.description.exposition=- Vytvoření reputace, což může být nákladné.- Prodávající musí platit za transakční poplatky těžařům.- Prodávající je užitečný průvodce v obchodním procesu a investuje tedy více času. +bisqEasy.price.warn.invalidPrice.outOfRange=Cena, kterou jste zadali, je mimo povolený rozsah od -10% do 50%. +bisqEasy.price.warn.invalidPrice.numberFormatException=Zadaná cena není platné číslo. +bisqEasy.price.warn.invalidPrice.exception=Zadaná cena je neplatná.\n\nChybová zpráva: {0} + + +################################################################################ +# Create offer / Amount +################################################################################ + +bisqEasy.tradeWizard.amount.headline.buyer=Kolik chcete utratit? +bisqEasy.tradeWizard.amount.headline.seller=Kolik chcete obdržet? +bisqEasy.tradeWizard.amount.description.minAmount=Nastavte minimální hodnotu pro rozsah částky +bisqEasy.tradeWizard.amount.description.maxAmount=Nastavte maximální hodnotu pro rozsah částky +bisqEasy.tradeWizard.amount.description.fixAmount=Nastavte částku, kterou chcete obchodovat +bisqEasy.tradeWizard.amount.addMinAmountOption=Přidat min/max rozsah pro částku +bisqEasy.tradeWizard.amount.removeMinAmountOption=Použít fixní hodnotu částky +bisqEasy.component.amount.minRangeValue=Min {0} +bisqEasy.component.amount.maxRangeValue=Max {0} +bisqEasy.component.amount.baseSide.tooltip.btcAmount.marketPrice=Toto je množství Bitcoinu při aktuální tržní ceně. +bisqEasy.component.amount.baseSide.tooltip.btcAmount.selectedPrice=Toto je množství Bitcoinu při vámi zvolené ceně. +bisqEasy.component.amount.baseSide.tooltip.buyerInfo=Prodejci mohou požadovat vyšší cenu, aby pokryli náklady na získání reputace. Běžná je prémie na cenu ve výši 5-15 %. +bisqEasy.component.amount.baseSide.tooltip.bestOfferPrice=Toto je množství Bitcoinu při nejlepší ceně z odpovídajících nabídek: {0}. +bisqEasy.component.amount.baseSide.tooltip.buyer.btcAmount=Toto je množství Bitcoinu, které obdržíte. +bisqEasy.component.amount.baseSide.tooltip.seller.btcAmount=Toto je množství Bitcoinu, které utratíte. +bisqEasy.component.amount.baseSide.tooltip.taker.offerPrice=s nabídkovou cenou: {0}. + + +bisqEasy.tradeWizard.amount.limitInfo.overlay.headline=Limity obchodních částek na základě Reputace +bisqEasy.tradeWizard.amount.limitInfo.overlay.close=Zavřít překryv + +bisqEasy.tradeWizard.amount.seller.wizard.numMatchingOffers.info=Existuje {0} odpovídajících nabídek pro zvolenou částku obchodu. +bisqEasy.tradeWizard.amount.seller.wizard.limitInfo=S vaším skóre reputace {0} můžete obchodovat až +bisqEasy.tradeWizard.amount.seller.wizard.limitInfo.overlay.info=Se Skóre Reputace {0} můžete obchodovat až do {1}.\n\nInformace o tom, jak zvýšit svou reputaci, naleznete v ''Reputace/Zvýšit Reputaci''. + +bisqEasy.tradeWizard.amount.seller.limitInfo.scoreTooLow=S vaším skóre reputace {0} by neměla částka obchodu překročit +bisqEasy.tradeWizard.amount.seller.limitInfo.overlay.info.scoreTooLow=Vaše Skóre Reputace {0} nenabízí dostatečnou bezpečnost pro kupující.\n\nKupující, kteří zvažují přijetí vaší nabídky, obdrží varování o potenciálních rizicích spojených s přijetím vaší nabídky.\n\nInformace o tom, jak zvýšit svou reputaci, naleznete v sekci ''Reputace/Vytvořit Reputaci''. + +bisqEasy.takeOffer.amount.seller.limitInfo.lowToleratedAmount=Protože je obchodní částka pod {0}, požadavky na Reputaci jsou uvolněny. +bisqEasy.takeOffer.amount.seller.limitInfo.scoreTooLow=Jelikož je vaše Skóre Reputace pouze {0}, je váš obchodní limit omezen na +bisqEasy.takeOffer.amount.seller.limitInfo.overlay.info.scoreTooLow=Pro částky až {0} jsou požadavky na reputaci uvolněny.\n\nVaše Skóre Reputace {1} neposkytuje dostatečnou bezpečnost pro kupujícího. Nicméně, vzhledem k nízké obchodní částce kupující přijal riziko.\n\nInformace o tom, jak zvýšit svou reputaci, naleznete v ''Reputace/Zvýšení Reputace''. + +bisqEasy.tradeWizard.amount.seller.limitInfo.sufficientScore=Vaše Skóre Reputace {0} zajišťuje bezpečnost pro nabídky až do +bisqEasy.tradeWizard.amount.seller.limitInfo.overlay.info.sufficientScore=Se Skóre Reputace {0} poskytujete bezpečnost pro obchody až do {1}. + +bisqEasy.tradeWizard.amount.seller.limitInfo.inSufficientScore=Zabezpečení poskytnuté vaším Skóre Reputace {0} je nedostatečné pro nabídky nad +bisqEasy.tradeWizard.amount.seller.limitInfo.overlay.info.inSufficientScore=S Skóre Reputace {0} je bezpečnost, kterou poskytujete, nedostatečná pro obchody nad {1}.\n\nMůžete stále vytvářet takové nabídky, ale kupující budou varováni před potenciálními riziky při pokusu o přijetí vaší nabídky.\n\nInformace o tom, jak zvýšit svou reputaci, naleznete v ''Reputace/Vybudovat Reputaci''. + +bisqEasy.tradeWizard.amount.seller.limitInfoAmount={0}. +bisqEasy.tradeWizard.amount.seller.limitInfo.link=Dozvědět se více + + +bisqEasy.tradeWizard.amount.seller.limitInfo.overlay.linkToWikiText=Pro více informací o systému Reputace navštivte Bisq Wiki na: + +bisqEasy.tradeWizard.amount.seller.limitInfo.noReputationNeededForMaxOrFixedAmount=Pro částky až {0} není vyžadována Reputace. +bisqEasy.tradeWizard.amount.seller.limitInfo.noReputationNeededForMaxOrFixedAmount.overlay.info.scoreTooLow=Pro částky až {0} jsou požadavky na reputaci uvolněny.\n\nVaše Skóre Reputace {1} nenabízí dostatečnou bezpečnost pro kupující. Nicméně, vzhledem k nízké částce, by kupující mohli stále zvážit přijetí nabídky, jakmile budou informováni o souvisejících rizicích.\n\nInformace o tom, jak zvýšit svou reputaci, naleznete v ''Reputace/Vytvořit Reputaci''. + + +bisqEasy.tradeWizard.amount.buyer.limitInfo.learnMore=Dozvědět se více + +# suppress inspection "UnusedProperty" +bisqEasy.tradeWizard.amount.buyer.numSellers.0=není žádný prodejce +# suppress inspection "UnusedProperty" +bisqEasy.tradeWizard.amount.buyer.numSellers.1=je jeden prodejce +# suppress inspection "UnusedProperty" +bisqEasy.tradeWizard.amount.buyer.numSellers.*=jsou {0} prodejci + +# suppress inspection "UnusedProperty" +bisqEasy.tradeWizard.amount.numOffers.0=není žádná nabídka +# suppress inspection "UnusedProperty" +bisqEasy.tradeWizard.amount.numOffers.1=je jedna nabídka +# suppress inspection "UnusedProperty" +bisqEasy.tradeWizard.amount.numOffers.*=je {0} nabídek + +bisqEasy.tradeWizard.amount.buyer.limitInfo=V síti je {0} s dostatečnou Reputací, aby mohl přijmout nabídku ve výši {1}. +bisqEasy.tradeWizard.amount.buyer.limitInfo.overlay.info=Prodávající, který chce přijmout vaši nabídku ve výši {0}, musí mít Skóre Reputace alespoň {1}.\nSnížením maximální částky obchodu zpřístupníte svou nabídku více prodávajícím. + +bisqEasy.tradeWizard.amount.buyer.limitInfo.wizard.info.leadLine=Existuje {0} odpovídající zvolené částce obchodu. +bisqEasy.tradeWizard.amount.buyer.limitInfo.wizard.info=U nabídek do {0} jsou požadavky na Reputaci uvolněny. +bisqEasy.tradeWizard.amount.buyer.limitInfo.wizard.overlay.info=Vzhledem k nízké min. částce {0} jsou požadavky na Reputace uvolněny.\nPro částky až {1} nepotřebují prodejci Reputace.\n\nNa obrazovce ''Vybrat nabídku'' se doporučuje vybírat prodejce s vyšší Reputace. + +bisqEasy.tradeWizard.amount.buyer.limitInfo.noReputationNeededForMaxOrFixedAmount=Prodejci bez Reputace mohou přijímat nabídky až do {0}. +bisqEasy.tradeWizard.amount.buyer.limitInfo.noReputationNeededForMaxOrFixedAmount.riskInfo=Ujistěte se, že plně rozumíte rizikům spojeným s obchodováním. +bisqEasy.tradeWizard.amount.buyer.limitInfo.overlay.noReputationNeededForMaxOrFixedAmount.info=Vzhledem k nízké částce {0} jsou požadavky na Reputaci uvolněny.\nPro částky až {1} mohou nabídku přijmout prodejci s nedostatečnou nebo žádnou Reputací.\n\nUjistěte se, že plně rozumíte rizikům při obchodování s prodejcem bez nebo s nedostatečnou Reputací. Pokud se nechcete vystavovat tomuto riziku, zvolte částku nad {2}. +bisqEasy.tradeWizard.amount.buyer.limitInfo.overlay.linkToWikiText=Chcete-li se dozvědět více o systému Reputace, navštivte: + + +bisqEasy.tradeWizard.amount.buyer.noReputationNeededForMinAmount.limitInfo.leadLine=Protože vaše min. částka je pod {0}, mohou vaši nabídku přijmout prodejci bez Reputace. +bisqEasy.tradeWizard.amount.buyer.noReputationNeededForMinAmount.limitInfo=Pro maximální částku {0} {1} s dostatečnou Reputací, aby přijali vaši nabídku. +bisqEasy.tradeWizard.amount.buyer.noReputationNeededForMinAmount.limitInfo.overlay.info=Vzhledem k nízké obchodní částce {0} jsou požadavky na reputaci uvolněny.\nPro částky až do {1} mohou nabídku přijmout prodejci s nedostatečnou nebo žádnou reputací.\n\nProdejci, kteří chtějí přijmout vaši nabídku s maximální částkou {2}, musí mít skóre reputace alespoň {3}.\nSnížením maximální obchodní částky zpřístupňujete svou nabídku většímu počtu prodejců. + + +################################################################################ +# Create offer / Payment methods +################################################################################ + +bisqEasy.tradeWizard.paymentMethods.headline=Jaké platební a zúčtovací metody chcete používat? +bisqEasy.tradeWizard.paymentMethods.fiat.subTitle.buyer=Zvolte způsoby platby pro převod {0} +bisqEasy.tradeWizard.paymentMethods.fiat.subTitle.seller=Vyberte způsoby platby, které chcete obdržet {0} +bisqEasy.tradeWizard.paymentMethods.bitcoin.subTitle.buyer=Výběr způsobů vypořádání pro příjem bitcoinů +bisqEasy.tradeWizard.paymentMethods.bitcoin.subTitle.seller=Výběr způsobů vypořádání pro odesílání bitcoinů +bisqEasy.tradeWizard.paymentMethods.noneFound=Pro vybraný trh nejsou poskytovány žádné výchozí platební metody.\nProsím, přidejte níže v textovém poli vlastní platební metodu, kterou chcete použít. +bisqEasy.tradeWizard.paymentMethods.customMethod.prompt=Vlastní platební metoda +bisqEasy.tradeWizard.paymentMethods.warn.maxMethodsReached=Nemůžete přidat více než 4 platební metody. +bisqEasy.tradeWizard.paymentMethods.warn.tooLong=Název vlastní platební metody nesmí být delší než 20 znaků. +bisqEasy.tradeWizard.paymentMethods.warn.customPaymentMethodAlreadyExists=Vlastní platební metoda s názvem {0} již existuje. +bisqEasy.tradeWizard.paymentMethods.warn.customNameMatchesPredefinedMethod=Název vaší vlastní platební metody nesmí být stejný jako jeden z předdefinovaných. +bisqEasy.tradeWizard.paymentMethods.warn.noFiatPaymentMethodSelected=Vyberte si prosím alespoň jeden způsob fiat plateb. +bisqEasy.tradeWizard.paymentMethods.warn.noBtcSettlementMethodSelected=Vyberte si prosím alespoň jeden způsob vypořádání bitcoinů. + + +################################################################################ +# TradeWizard / Select offer +################################################################################ + +bisqEasy.tradeWizard.selectOffer.headline.buyer=Koupit Bitcoin za {0} +bisqEasy.tradeWizard.selectOffer.headline.seller=Prodat Bitcoin za {0} +bisqEasy.tradeWizard.selectOffer.subHeadline=Doporučuje se obchodovat s uživateli s vysokou reputací. +bisqEasy.tradeWizard.selectOffer.noMatchingOffers.headline=Nebyly nalezeny odpovídající nabídky +bisqEasy.tradeWizard.selectOffer.noMatchingOffers.subHeadline=Pro vaše kritéria výběru nejsou k dispozici žádné nabídky. +bisqEasy.tradeWizard.selectOffer.noMatchingOffers.goBack=Změnit výběr +bisqEasy.tradeWizard.selectOffer.noMatchingOffers.goBack.info=Vraťte se na předchozí obrazovky a změňte výběr +bisqEasy.tradeWizard.selectOffer.noMatchingOffers.browseOfferbook=Procházet nabídkovou knihu +bisqEasy.tradeWizard.selectOffer.noMatchingOffers.browseOfferbook.info=Zavřít průvodce obchodem a procházet nabídkovou knihu + + +################################################################################ +# TradeWizard / Review +################################################################################ + +bisqEasy.tradeWizard.review.headline.maker=Přehled nabídky +bisqEasy.tradeWizard.review.headline.taker=Přehled obchodu +bisqEasy.tradeWizard.review.detailsHeadline.taker=Podrobnosti obchodu +bisqEasy.tradeWizard.review.detailsHeadline.maker=Podrobnosti nabídky +bisqEasy.tradeWizard.review.feeDescription=Poplatky +bisqEasy.tradeWizard.review.noTradeFees=V Bisq Easy žádné obchodní poplatky +bisqEasy.tradeWizard.review.sellerPaysMinerFeeLong=Poplatek za těžbu platí prodávající +bisqEasy.tradeWizard.review.sellerPaysMinerFee=Prodávající platí poplatek za těžbu +bisqEasy.tradeWizard.review.noTradeFeesLong=V Bisq Easy nejsou žádné obchodní poplatky + +bisqEasy.tradeWizard.review.toPay=Částka k zaplacení +bisqEasy.tradeWizard.review.toSend=Částka k odeslání +bisqEasy.tradeWizard.review.toReceive=Částka k přijetí +bisqEasy.tradeWizard.review.direction={0} Bitcoin +bisqEasy.tradeWizard.review.paymentMethodDescription.btc=Platební metoda Bitcoin +bisqEasy.tradeWizard.review.paymentMethodDescriptions.btc.maker=Metody platby Bitcoin +bisqEasy.tradeWizard.review.paymentMethodDescriptions.btc.taker=Vyberte metodu platby pro Bitcoin +bisqEasy.tradeWizard.review.paymentMethodDescription.fiat=Fiat platební metoda +bisqEasy.tradeWizard.review.paymentMethodDescriptions.fiat.maker=Metody platby Fiat +bisqEasy.tradeWizard.review.paymentMethodDescriptions.fiat.taker=Vyberte metodu platby Fiat +bisqEasy.tradeWizard.review.price={0} <{1} style=trade-wizard-review-code> + +bisqEasy.tradeWizard.review.priceDescription.taker=Cena obchodu +bisqEasy.tradeWizard.review.priceDescription.maker=Cena nabídky +bisqEasy.tradeWizard.review.priceDetails.fix=Pevná cena. {0} {1} tržní cena {2} +bisqEasy.tradeWizard.review.priceDetails.fix.atMarket=Pevná cena. Stejná jako tržní cena {0} +bisqEasy.tradeWizard.review.priceDetails.float=Plovoucí cena. {0} {1} tržní cena {2} +bisqEasy.tradeWizard.review.priceDetails=Plovoucí s tržní cenou +bisqEasy.tradeWizard.review.nextButton.createOffer=Vytvořit nabídku +bisqEasy.tradeWizard.review.nextButton.takeOffer=Potvrdit obchod + +bisqEasy.tradeWizard.review.createOfferSuccess.headline=Nabídka úspěšně publikována +bisqEasy.tradeWizard.review.createOfferSuccess.subTitle=Vaše nabídka je nyní uvedena v nabídce. Pokud ji uživatel Bisq přijme, najdete nový obchod v sekci 'Otevřené obchody'.\n\nUjistěte se, že pravidelně kontrolujete aplikaci Bisq pro nové zprávy od přijímače. +bisqEasy.tradeWizard.review.createOfferSuccessButton=Zobrazit mou nabídku v 'Nabídková kniha' + +bisqEasy.tradeWizard.review.takeOfferSuccess.headline=Úspěšně jste přijali nabídku +bisqEasy.tradeWizard.review.takeOfferSuccess.subTitle=Prosím, spojte se s obchodním protějškem v sekci 'Otevřené obchody'.\nNajdete tam další informace pro další kroky.\n\nUjistěte se, že pravidelně kontrolujete aplikaci Bisq pro nové zprávy od svého obchodního protějšku. +bisqEasy.tradeWizard.review.takeOfferSuccessButton=Zobrazit obchod v 'Otevřené obchody' + + +################################################################################ +# Create offer / Review +################################################################################# + +bisqEasy.tradeWizard.review.table.baseAmount.buyer=Obdržíte +bisqEasy.tradeWizard.review.table.baseAmount.seller=Utratíte +bisqEasy.tradeWizard.review.table.price=Cena v {0} +bisqEasy.tradeWizard.review.table.reputation=Reputace +bisqEasy.tradeWizard.review.chatMessage.fixPrice={0} +bisqEasy.tradeWizard.review.chatMessage.floatPrice.above={0} nad tržní cenou +bisqEasy.tradeWizard.review.chatMessage.floatPrice.below={0} pod tržní cenou +bisqEasy.tradeWizard.review.chatMessage.marketPrice=Tržní cena +bisqEasy.tradeWizard.review.chatMessage.price=Cena: +bisqEasy.tradeWizard.review.chatMessage.peerMessage.sell=Prodejte Bitcoin uživateli {0}\nMnožství: {1}\nMetoda vyrovnání Bitcoin: {2}\nMetoda platby Fiat: {3}\n{4} +bisqEasy.tradeWizard.review.chatMessage.peerMessage.buy=Koupit Bitcoin od {0}\nMnožství: {1}\nMetody platby Bitcoin: {2}\nMetody platby Fiat: {3}\n{4} +bisqEasy.tradeWizard.review.chatMessage.offerDetails=Množství: {0}\nMetody platby Bitcoin: {1}\nMetody platby Fiat: {2}\n{3} +bisqEasy.tradeWizard.review.chatMessage.peerMessageTitle.sell=Prodejte Bitcoin uživateli +bisqEasy.tradeWizard.review.chatMessage.peerMessageTitle.buy=Kupte Bitcoin od uživatele +bisqEasy.tradeWizard.review.chatMessage.myMessageTitle=Moje nabídka na {0} Bitcoin + + +################################################################################ +# +# Take offer +# +################################################################################ + +bisqEasy.takeOffer.progress.amount=Množství obchodu +bisqEasy.takeOffer.progress.method=Platební metoda +bisqEasy.takeOffer.progress.review=Přehled obchodu + +bisqEasy.takeOffer.amount.headline.buyer=Kolik chcete utratit? +bisqEasy.takeOffer.amount.headline.seller=Kolik chcete obchodovat? +bisqEasy.takeOffer.amount.description=Nabídka umožňuje zvolit množství obchodu\nmezi {0} a {1} +bisqEasy.takeOffer.amount.description.limitedByTakersReputation=Vaše Skóre Reputace {0} vám umožňuje vybrat si částku obchodu\nmezi {1} a {2} + +bisqEasy.takeOffer.amount.buyer.limitInfo.tooHighMax=Skóre Reputace prodávajícího je pouze {0}. Není doporučeno obchodovat více než +bisqEasy.takeOffer.amount.buyer.limitInfoAmount={0}. +bisqEasy.takeOffer.amount.buyer.limitInfo.tooHighMax.overlay.info=Skóre Reputace prodávajícího {0} neposkytuje dostatečnou bezpečnost. Nicméně, pro nižší obchodní částky (až {1}) jsou požadavky na reputaci mírnější.\n\nPokud se rozhodnete pokračovat i přes nedostatek reputace prodávajícího, ujistěte se, že jste si plně vědomi souvisejících rizik. Bezpečnostní model Bisq Easy se spoléhá na reputaci prodávajícího, protože kupující musí nejprve Odeslat fiat měnu. +bisqEasy.takeOffer.amount.buyer.limitInfo.minAmountCovered=Skóre Reputace prodávajícího {0} poskytuje bezpečnost až +bisqEasy.takeOffer.amount.buyer.limitInfo.minAmountCovered.overlay.info=Reputace prodávajícího {0} poskytuje zabezpečení až do {1}.\n\nPokud zvolíte vyšší částku, ujistěte se, že jste si plně vědomi souvisejících rizik. Bezpečnostní model Bisq Easy se spoléhá na reputaci prodávajícího, protože kupující musí nejprve odeslat fiat měnu. +bisqEasy.takeOffer.amount.buyer.limitInfo.minAmountNotCovered=Reputace prodávajícího {0} neposkytuje dostatečnou bezpečnost pro tuto nabídku. +bisqEasy.takeOffer.amount.buyer.limitInfo.tooHighMin.overlay.info=Skóre Reputace prodávajícího {0} neposkytuje dostatečnou bezpečnost pro tuto nabídku.\n\nDoporučuje se obchodovat s nižšími částkami při opakovaných obchodech nebo s prodávajícími, kteří mají vyšší reputaci. Pokud se rozhodnete pokračovat navzdory nedostatku reputace prodávajícího, ujistěte se, že jste si plně vědomi souvisejících rizik. Bezpečnostní model Bisq Easy se spoléhá na reputaci prodávajícího, protože kupující je povinen nejprve odeslat fiat měnu. +bisqEasy.takeOffer.amount.buyer.limitInfo.learnMore=Dozvědět se více +bisqEasy.takeOffer.amount.buyer.limitInfo.overlay.linkToWikiText=Chcete-li se dozvědět více o systému Reputace, navštivte: + +bisqEasy.takeOffer.paymentMethods.headline.fiat=Jakou platební metodu chcete použít? +bisqEasy.takeOffer.paymentMethods.headline.fiatAndBitcoin=Jaký způsob platby a vypořádání chcete použít? +bisqEasy.takeOffer.paymentMethods.headline.bitcoin=Jaký způsob vypořádání chcete použít? +bisqEasy.takeOffer.paymentMethods.subtitle.fiat.buyer=Zvolte způsob platby pro převod {0} +bisqEasy.takeOffer.paymentMethods.subtitle.fiat.seller=Zvolte způsob platby, který chcete obdržet {0} +bisqEasy.takeOffer.paymentMethods.subtitle.bitcoin.buyer=Zvolte způsob vypořádání pro příjem bitcoinů +bisqEasy.takeOffer.paymentMethods.subtitle.bitcoin.seller=Zvolte způsob vypořádání pro odesílání bitcoinů + +bisqEasy.takeOffer.review.headline=Přehled obchodu +bisqEasy.takeOffer.review.detailsHeadline=Podrobnosti obchodu +bisqEasy.takeOffer.review.method.fiat=Metoda platby v fiat měně +bisqEasy.takeOffer.review.method.bitcoin=Metoda platby Bitcoin +bisqEasy.takeOffer.review.price.price=Cena obchodu +bisqEasy.takeOffer.review.noTradeFees=V Bisq Easy žádné obchodní poplatky +bisqEasy.takeOffer.review.sellerPaysMinerFeeLong=Poplatek za těžbu platí prodávající +bisqEasy.takeOffer.review.sellerPaysMinerFee=Prodávající platí poplatek za těžbu +bisqEasy.takeOffer.review.noTradeFeesLong=V Bisq Easy nejsou žádné obchodní poplatky +bisqEasy.takeOffer.review.takeOffer=Potvrdit přijetí nabídky +bisqEasy.takeOffer.review.sendTakeOfferMessageFeedback.headline=Odesílání zprávy o přijetí nabídky +bisqEasy.takeOffer.review.sendTakeOfferMessageFeedback.subTitle=Odesílání zprávy o přijetí nabídky může trvat až 2 minuty +bisqEasy.takeOffer.review.sendTakeOfferMessageFeedback.info=Nepřerušujte okno ani aplikaci, dokud neobdržíte potvrzení, že požadavek na přijetí nabídky byl úspěšně odeslán. +bisqEasy.takeOffer.review.takeOfferSuccess.headline=Úspěšně jste přijali nabídku +bisqEasy.takeOffer.review.takeOfferSuccess.subTitle=Prosím, spojte se s obchodním protějškem v sekci 'Otevřené obchody'.\nNajdete tam další informace pro další kroky.\n\nUjistěte se, že pravidelně kontrolujete aplikaci Bisq pro nové zprávy od svého obchodního protějšku. +bisqEasy.takeOffer.review.takeOfferSuccessButton=Zobrazit obchod v 'Otevřené obchody' +bisqEasy.takeOffer.tradeLogMessage={0} poslal zprávu o přijetí nabídky od {1} + +bisqEasy.takeOffer.noMediatorAvailable.warning=Nejsou k dispozici žádní mediátoři. Místo toho musíte použít podpůrný chat. +bisqEasy.takeOffer.makerBanned.warning=Vytvářející této nabídky je zakázán. Prosím, zkuste použít jinou nabídku. +# suppress inspection "UnusedProperty" +bisqEasy.takeOffer.bitcoinPaymentData.warning.MAIN_CHAIN=Bitcoinová adresa, kterou jste zadali, se zdá být neplatná.\n\nPokud si jste jisti, že adresa je platná, můžete tuto výstrahu ignorovat a pokračovat. +# suppress inspection "UnusedProperty" +bisqEasy.takeOffer.bitcoinPaymentData.warning.LN=Lightning faktura, kterou jste zadali, se zdá být neplatná.\n\nPokud si jste jisti, že faktura je platná, můžete tuto výstrahu ignorovat a pokračovat. +bisqEasy.takeOffer.bitcoinPaymentData.warning.proceed=Ignorovat výstrahu + + +################################################################################ +# +# TradeGuide +# +################################################################################ + +bisqEasy.tradeGuide.tabs.headline=Průvodce obchodováním +bisqEasy.tradeGuide.welcome=Přehled +bisqEasy.tradeGuide.security=Bezpečnost +bisqEasy.tradeGuide.process=Proces +bisqEasy.tradeGuide.rules=Pravidla obchodu + +bisqEasy.tradeGuide.welcome.headline=Jak obchodovat na Bisq Easy +bisqEasy.tradeGuide.welcome.content=Tento průvodce poskytuje přehled o základních aspektech pro nákup nebo prodej Bitcoinů s Bisq Easy.\nV tomto průvodci se dozvíte o bezpečnostním modelu používaném v Bisq Easy, získáte přehled o procesu obchodování a seznámíte se s pravidly obchodu.\n\nPro další dotazy neváhejte navštívit chatovací místnosti dostupné v menu 'Podpora'. + +bisqEasy.tradeGuide.security.headline=Jak je bezpečné obchodovat na Bisq Easy? +bisqEasy.tradeGuide.security.content=- Bezpečnostní model Bisq Easy je optimalizován pro malé obchodní částky.\n- Model spoléhá na reputaci prodejce, který je obvykle zkušeným uživatelem Bisq a očekává se, že poskytne užitečnou podporu novým uživatelům.\n- Budování reputace může být nákladné, což vede k běžné prémii na cenu od 5 do 15 %, aby se pokryly dodatečné náklady a kompenzovala se služba prodejce.\n- Obchodování s prodejci bez reputace nese významná rizika a mělo by se podnikat pouze tehdy, pokud jsou rizika důkladně pochopena a řízena. + +bisqEasy.tradeGuide.process.headline=Jak funguje proces obchodování? +bisqEasy.tradeGuide.process.content=Když se rozhodnete přijmout nabídku, budete mít možnost vybrat si z dostupných možností poskytovaných nabídkou. Před zahájením obchodu vám bude poskytnut souhrnný přehled k vašemu přezkoumání.\nJakmile je obchod zahájen, uživatelské rozhraní vás provede procesem obchodu, který se skládá z následujících kroků: + +bisqEasy.tradeGuide.process.steps=1. Prodávající a kupující si vymění údaje o účtech. Prodávající pošle své platební údaje (např. číslo bankovního účtu) kupujícímu a kupující pošle svou Bitcoinovou adresu (nebo Lightning fakturu) prodávajícímu.\n2. Následně kupující zahájí platbu v fiat měně na účet prodávajícího. Po přijetí platby prodávající potvrdí přijetí.\n3. Prodávající pak odešle Bitcoin na adresu kupujícího a sdílí ID transakce (nebo volitelně přední obrazec, pokud se používá Lightning). Uživatelské rozhraní zobrazí stav potvrzení. Po potvrzení je obchod úspěšně dokončen. + +bisqEasy.tradeGuide.rules.headline=Co potřebuji vědět o pravidlech obchodu? +bisqEasy.tradeGuide.rules.content=- Před výměnou údajů o účtu mezi prodejcem a kupujícím může kterákoliv strana zrušit obchod bez udání důvodu.\n- Obchodníci by měli pravidelně kontrolovat své obchody na nové zprávy a musí reagovat do 24 hodin.\n- Jakmile jsou vyměněny údaje o účtu, nedodržení obchodních povinností se považuje za porušení obchodní smlouvy a může vést k zákazu v síti Bisq. To se nevztahuje, pokud obchodní protějšek neodpovídá.\n- Během platby v Fiat měně kupující NESMÍ zahrnout termíny jako 'Bisq' nebo 'Bitcoin' do pole 'důvod platby'. Obchodníci se mohou dohodnout na identifikátoru, například na náhodném řetězci jako 'H3TJAPD', aby spojili bankovní převod s obchodem.\n- Pokud obchod nemůže být okamžitě dokončen kvůli delším dobám převodu Fiat měny, musí být oba obchodníci online alespoň jednou denně, aby monitorovali průběh obchodu.\n- Pokud se obchodníci setkají s nerozřešenými problémy, mají možnost pozvat do obchodního chatu mediátora pro pomoc.\n\nPokud máte jakékoli dotazy nebo potřebujete pomoc, neváhejte navštívit diskuzní místnosti dostupné v nabídce 'Podpora'. Šťastné obchodování! + +bisqEasy.tradeGuide.rules.confirm=Přečetl(a) jsem a rozumím + +bisqEasy.tradeGuide.notConfirmed.warn=Prosím, přečtěte si průvodce obchodováním a potvrďte, že jste přečetli a porozuměli pravidlům obchodu. +bisqEasy.tradeGuide.open=Otevřít průvodce obchodováním + + +################################################################################ +# WalletGuide +################################################################################ + +bisqEasy.walletGuide.open=Otevřít průvodce peněženkou + +bisqEasy.walletGuide.tabs.headline=Průvodce peněženkou +bisqEasy.walletGuide.intro=Úvod +bisqEasy.walletGuide.download=Stáhnout +bisqEasy.walletGuide.createWallet=Nová peněženka +bisqEasy.walletGuide.receive=Příjem + +bisqEasy.walletGuide.intro.headline=Připravte se na příjem vašeho prvního Bitcoinu +bisqEasy.walletGuide.intro.content=V Bisq Easy jdou Bitcoiny, které obdržíte, přímo do vaší kapsy bez jakýchkoli zprostředkovatelů. To je skvělá výhoda, ale znamená to také, že potřebujete mít peněženku, kterou ovládáte sami, aby jste ji mohli přijmout!\n\nV tomto rychlém průvodci vám ukážeme v několika jednoduchých krocích, jak můžete vytvořit jednoduchou peněženku. S ní budete moci přijmout a uložit vaše nově zakoupené bitcoiny.\n\nPokud již máte zkušenosti s peněženkami na síti a máte jednu, můžete tento průvodce přeskočit a jednoduše použít svou peněženku. + +bisqEasy.walletGuide.download.headline=Stažení peněženky +bisqEasy.walletGuide.download.content=Existuje mnoho Peněženek, které můžete použít. V této příručce vám ukážeme, jak používat Bluewallet. Bluewallet je skvělý a zároveň velmi jednoduchý, a můžete ho použít k Přijetí vašeho Bitcoinu z Bisq Easy.\n\nMůžete si stáhnout Bluewallet na svůj telefon, bez ohledu na to, zda máte zařízení Android nebo iOS. Chcete-li tak učinit, navštivte oficiální webovou stránku 'bluewallet.io'. Jakmile tam budete, klikněte na App Store nebo Google Play v závislosti na zařízení, které používáte.\n\nDůležitá poznámka: pro vaši bezpečnost se ujistěte, že aplikaci stahujete z oficiálního obchodu s aplikacemi vašeho zařízení. Oficiální aplikaci poskytuje 'Bluewallet Services, S.R.L.', a měli byste to vidět ve svém obchodě s aplikacemi. Stahování škodlivé Peněženky by mohlo ohrozit vaše prostředky.\n\nNakonec rychlá poznámka: Bisq není s Bluewallet nijak spojen. Doporučujeme používat Bluewallet kvůli jeho kvalitě a jednoduchosti, ale na trhu existuje mnoho dalších možností. Měli byste se cítit naprosto svobodně porovnat, vyzkoušet a vybrat si jakoukoli Peněženku, která nejlépe vyhovuje vašim potřebám. +bisqEasy.walletGuide.download.link=Klikněte zde pro návštěvu stránky Bluewallet + +bisqEasy.walletGuide.createWallet.headline=Vytvoření vaší nové peněženky +bisqEasy.walletGuide.createWallet.content=Bluewallet umožňuje vytvořit několik peněženek pro různé účely. Prozatím potřebujete mít pouze jednu peněženku. Jakmile vstoupíte do Bluewallet, uvidíte zprávu, která vám navrhne přidat novou peněženku. Jakmile to uděláte, zadejte název vaší peněženky a vyberte možnost *Bitcoin* v sekci *Typ*. Všechny ostatní možnosti můžete nechat tak, jak se zobrazují, a kliknout na *Vytvořit*.\n\nKdyž přejdete k dalšímu kroku, budete seznámeni se 12 slovy. Těchto 12 slov je záloha, která vám umožní obnovit peněženku, pokud se něco stane s vaším telefonem. Napište je na kus papíru (ne digitálně) ve stejném pořadí, v jakém jsou prezentována, uschovejte tento papír bezpečně a ujistěte se, že k němu máte přístup pouze vy. Více o tom, jak zabezpečit svou peněženku, se můžete dozvědět v sekci Learn Bisq 2 věnované peněženkám a bezpečnosti.\n\nAž budete hotovi, klikněte na 'Ok, I wrote it down'.\nGratulujeme! Vytvořili jste svou peněženku! Pojďme se podívat, jak přijmout vaše bitcoiny v ní. + +bisqEasy.walletGuide.receive.headline=Příjem bitcoinů ve vaší peněžence +bisqEasy.walletGuide.receive.content=Pro příjem vašich Bitcoinů potřebujete adresu z vaší peněženky. Pro získání adresy klikněte na vaši nově vytvořenou peněženku a poté klikněte na tlačítko 'Přijmout' v dolní části obrazovky.\n\nBluewallet zobrazí nepoužitou adresu, jak ve formě QR kódu, tak jako text. Tuto adresu budete potřebovat poskytnout vašemu protějšku v Bisq Easy, aby vám mohl poslat Bitcoiny, které kupujete. Adresu můžete přenést do počítače naskenováním QR kódu kamerou, odesláním adresy e-mailem nebo chatovou zprávou, nebo ji dokonce jednoduše napsat.\n\nJakmile dokončíte obchod, Bluewallet si všimne příchozích Bitcoinů a aktualizuje váš zůstatek o nové prostředky. Při každém novém obchodu získejte novou adresu, aby jste chránili své soukromí.\n\nTo jsou základy, které potřebujete znát, abyste mohli začít přijímat Bitcoiny ve vaší vlastní peněžence. Pokud se chcete dozvědět více o Bluewallet, doporučujeme si prohlédnout níže uvedená videa. +bisqEasy.walletGuide.receive.link1=Tutoriál Peněženky Bluewallet od Anity Posch +bisqEasy.walletGuide.receive.link2=Tutoriál Bluewallet od BTC Sessions + + +###################################################### +# Offerbook +###################################################### + +bisqEasy.offerbook.markets=Trhy +bisqEasy.offerbook.markets.CollapsedList.Tooltip=Rozbalit trhy +bisqEasy.offerbook.markets.ExpandedList.Tooltip=Sbalit trhy +bisqEasy.offerbook.marketListCell.numOffers.one={0} nabídka +bisqEasy.offerbook.marketListCell.numOffers.many={0} nabídek +bisqEasy.offerbook.marketListCell.numOffers.tooltip.none=V trhu {0} zatím nejsou k dispozici žádné nabídky +bisqEasy.offerbook.marketListCell.numOffers.tooltip.one=V trhu {1} je dostupná {0} nabídka +bisqEasy.offerbook.marketListCell.numOffers.tooltip.many=V trhu {1} je dostupných {0} nabídek +bisqEasy.offerbook.marketListCell.favourites.tooltip.addToFavourites=Přidat do oblíbených +bisqEasy.offerbook.marketListCell.favourites.tooltip.removeFromFavourites=Odebrat z oblíbených +bisqEasy.offerbook.marketListCell.favourites.maxReached.popup=Je místo pouze pro 5 oblíbených položek. Odstraňte některou z oblíbených položek a zkuste to znovu. + +bisqEasy.offerbook.dropdownMenu.sortAndFilterMarkets.tooltip=Třídit a filtrovat trhy +bisqEasy.offerbook.dropdownMenu.sortAndFilterMarkets.sortTitle=Třídit podle: +bisqEasy.offerbook.dropdownMenu.sortAndFilterMarkets.mostOffers=Nejvíce nabídek +bisqEasy.offerbook.dropdownMenu.sortAndFilterMarkets.nameAZ=Název A-Z +bisqEasy.offerbook.dropdownMenu.sortAndFilterMarkets.nameZA=Název Z-A +bisqEasy.offerbook.dropdownMenu.sortAndFilterMarkets.filterTitle=Zobrazit trhy: +bisqEasy.offerbook.dropdownMenu.sortAndFilterMarkets.withOffers=S nabídkami +bisqEasy.offerbook.dropdownMenu.sortAndFilterMarkets.favourites=Pouze oblíbené +bisqEasy.offerbook.dropdownMenu.sortAndFilterMarkets.all=Všechny + +bisqEasy.offerbook.chatMessage.deleteOffer.confirmation=Opravdu chcete tuto nabídku smazat? +bisqEasy.offerbook.chatMessage.deleteMessage.confirmation=Opravdu chcete tuto zprávu smazat? + +bisqEasy.offerbook.offerList=Seznam nabídek +bisqEasy.offerbook.offerList.collapsedList.tooltip=Rozbalit seznam nabídek +bisqEasy.offerbook.offerList.expandedList.tooltip=Sbalit seznam nabídek +bisqEasy.offerbook.offerList.table.columns.peerProfile=Profil protějšku +bisqEasy.offerbook.offerList.table.columns.price=Cena +bisqEasy.offerbook.offerList.table.columns.fiatAmount=Částka {0} +bisqEasy.offerbook.offerList.table.columns.paymentMethod=Platební metoda +bisqEasy.offerbook.offerList.table.columns.settlementMethod=Metoda vyrovnání +bisqEasy.offerbook.offerList.table.filters.offerDirection.buyFrom=Koupit od +bisqEasy.offerbook.offerList.table.filters.offerDirection.sellTo=Prodat +bisqEasy.offerbook.offerList.table.filters.paymentMethods.title=Platby ({0}) +bisqEasy.offerbook.offerList.table.filters.paymentMethods.title.all=Všechny +bisqEasy.offerbook.offerList.table.filters.paymentMethods.customPayments=Vlastní platby +bisqEasy.offerbook.offerList.table.filters.paymentMethods.clearFilters=Vymazat filtry +bisqEasy.offerbook.offerList.table.filters.showMyOffersOnly=Pouze mé nabídky + +bisqEasy.offerbook.offerList.table.columns.price.tooltip.fixPrice=Pevná cena: {0}\nProcento od aktuální tržní ceny: {1} +bisqEasy.offerbook.offerList.table.columns.price.tooltip.marketPrice=Tržní cena: {0} +bisqEasy.offerbook.offerList.table.columns.price.tooltip.floatPrice=Procentuální cena {0}\nS aktuální tržní cenou: {1} + + +###################################################### +# Open trades +###################################################### + +bisqEasy.openTrades.table.headline=Moje otevřené obchody +bisqEasy.openTrades.noTrades=Nemáte žádné otevřené obchody +bisqEasy.openTrades.rejectTrade=Odmítnout obchod +bisqEasy.openTrades.cancelTrade=Zrušit obchod +bisqEasy.openTrades.tradeLogMessage.rejected={0} zamítl obchod +bisqEasy.openTrades.tradeLogMessage.cancelled={0} zrušil obchod +bisqEasy.openTrades.rejectTrade.warning=Jelikož výměna údajů o účtu ještě nezačala, zamítnutí obchodu neznamená porušení obchodních pravidel.\n\nPokud máte jakékoli dotazy nebo narazíte na problémy, neváhejte kontaktovat svého obchodního protějška nebo vyhledat pomoc v sekci 'Podpora'.\n\nOpravdu chcete zamítnout obchod? +bisqEasy.openTrades.cancelTrade.warning.buyer=Jelikož výměna údajů o účtu začala, zrušení obchodu bez souhlasu prodejce {0} +bisqEasy.openTrades.cancelTrade.warning.seller=Jelikož výměna údajů o účtu začala, zrušení obchodu bez souhlasu kupujícího {0} + +bisqEasy.openTrades.cancelTrade.warning.part2=souhlas může být považován za porušení obchodních pravidel a může vést k zákazu vašeho profilu v síti.\n\nPokud protějšek neodpovídá déle než 24 hodin a žádná platba nebyla provedena, můžete obchod odmítnout bez následků. Odpovědnost ponese neodpovídající strana.\n\nPokud máte jakékoli dotazy nebo narazíte na problémy, neváhejte kontaktovat svého obchodního protějška nebo vyhledat pomoc v sekci 'Podpora'.\n\nPokud se domníváte, že váš obchodní protějšek porušil obchodní pravidla, máte možnost iniciovat žádost o zprostředkování. Mediátor se připojí do chatu obchodu a bude pracovat na nalezení spolupracujícího řešení.\n\nOpravdu chcete zrušit obchod? + +bisqEasy.openTrades.closeTrade.warning.interrupted=Před zavřením obchodu můžete zálohovat obchodní data jako soubor csv, pokud je to potřeba.\n\nJakmile je obchod zavřen, všechna data související s obchodem zmizí a již nemůžete komunikovat s obchodním partnerem v obchodním chatu.\n\nChcete nyní obchod zavřít? + +bisqEasy.openTrades.closeTrade.warning.completed=Váš obchod byl dokončen.\n\nNyní můžete obchod zavřít nebo zálohovat obchodní data na počítači, pokud je to potřeba.\n\nJakmile je obchod zavřen, všechna data související s obchodem zmizí a již nemůžete komunikovat s obchodním partnerem v obchodním chatu. +bisqEasy.openTrades.closeTrade=Zavřít obchod +bisqEasy.openTrades.confirmCloseTrade=Potvrdit uzavření obchodu +bisqEasy.openTrades.exportTrade=Exportovat obchodní data +bisqEasy.openTrades.reportToMediator=Nahlásit mediátorovi +bisqEasy.openTrades.rejected.self=Odmítli jste obchod +bisqEasy.openTrades.rejected.peer=Váš obchodní partner odmítl obchod +bisqEasy.openTrades.cancelled.self=Zrušili jste obchod +bisqEasy.openTrades.cancelled.peer=Váš obchodní partner zrušil obchod +bisqEasy.openTrades.inMediation.info=Mediátor se připojil k obchodnímu chatu. Prosím, použijte obchodní chat níže pro získání pomoci od mediátora. +bisqEasy.openTrades.failed=Obchod selhal s chybovou zprávou: {0} +bisqEasy.openTrades.failed.popup=Obchod selhal kvůli chybě.\nChybová zpráva: {0}\n\nVýpis ze zásobníku: {1} +bisqEasy.openTrades.failedAtPeer=Obchod protistrany selhal s chybou způsobenou: {0} +bisqEasy.openTrades.failedAtPeer.popup=Obchod protistrany selhal kvůli chybě.\nChyba způsobena: {0}\n\nVýpis ze zásobníku: {1} +bisqEasy.openTrades.table.tradePeer=Partner +bisqEasy.openTrades.table.me=Já +bisqEasy.openTrades.table.mediator=Zmocněnec +bisqEasy.openTrades.table.tradeId=ID obchodu +bisqEasy.openTrades.table.price=Cena +bisqEasy.openTrades.table.baseAmount=Částka v BTC +bisqEasy.openTrades.table.quoteAmount=Částka +bisqEasy.openTrades.table.paymentMethod=Platba +bisqEasy.openTrades.table.paymentMethod.tooltip=Platební metoda Fiat: {0} +bisqEasy.openTrades.table.settlementMethod=Vyrovnání +bisqEasy.openTrades.table.settlementMethod.tooltip=Metoda vyrovnání Bitcoin: {0} +bisqEasy.openTrades.table.makerTakerRole=Moje role +bisqEasy.openTrades.table.direction.buyer=Nákup od: +bisqEasy.openTrades.table.direction.seller=Prodej komu: +bisqEasy.openTrades.table.makerTakerRole.maker=Vytvářející +bisqEasy.openTrades.table.makerTakerRole.taker=Přijímající +bisqEasy.openTrades.csv.quoteAmount=Částka v {0} +bisqEasy.openTrades.csv.txIdOrPreimage=ID transakce/Preimage +bisqEasy.openTrades.csv.receiverAddressOrInvoice=Adresa příjemce/Faktura +bisqEasy.openTrades.csv.paymentMethod=Způsob platby + +bisqEasy.openTrades.chat.peer.description=Chatovací partner +bisqEasy.openTrades.chat.detach=Odpojit +bisqEasy.openTrades.chat.detach.tooltip=Otevřít chat v novém okně +bisqEasy.openTrades.chat.attach=Připojit +bisqEasy.openTrades.chat.attach.tooltip=Připojit chat zpět do hlavního okna +bisqEasy.openTrades.chat.window.title={0} - Chat s {1} / ID obchodu: {2} +bisqEasy.openTrades.chat.peerLeft.headline={0} opustil obchod +bisqEasy.openTrades.chat.peerLeft.subHeadline=Pokud obchod není na vaší straně dokončen a potřebujete pomoc, kontaktujte mediátora nebo navštivte podpůrný chat. + +###################################################### +# Private chat +###################################################### + +bisqEasy.privateChats.leave=Opustit chat +bisqEasy.privateChats.table.myUser=Můj profil + + +###################################################### +# Top pane +###################################################### + +# Commented out in code +# suppress inspection "UnusedProperty" +bisqEasy.topPane.filter=Filtr nabídkové knihy +# Commented out in code +# suppress inspection "UnusedProperty" +bisqEasy.topPane.closeFilter=Close filter +bisqEasy.topPane.filter.offersOnly=Zobrazit pouze nabídky v nabídce Bisq Easy + + +################################################################################ +# +# BisqEasyOfferDetails +# +################################################################################ + +bisqEasy.offerDetails.headline=Podrobnosti nabídky +bisqEasy.offerDetails.buy=Nabídka na koupi Bitcoinu +bisqEasy.offerDetails.sell=Nabídka na prodej Bitcoinu + +bisqEasy.offerDetails.direction=Typ nabídky +bisqEasy.offerDetails.baseSideAmount=Množství Bitcoinu +bisqEasy.offerDetails.quoteSideAmount=Částka v {0} +bisqEasy.offerDetails.price=Cena nabídky v {0} +bisqEasy.offerDetails.priceValue={0} (přirážka: {1}) +bisqEasy.offerDetails.paymentMethods=Podporované platební metody +bisqEasy.offerDetails.id=ID nabídky +bisqEasy.offerDetails.date=Datum vytvoření +bisqEasy.offerDetails.makersTradeTerms=Obchodní podmínky tvůrce + + +################################################################################ +# +# OpenTradesWelcome +# +################################################################################ + +bisqEasy.openTrades.welcome.headline=Vítejte u vašeho prvního obchodu na Bisq Easy! +bisqEasy.openTrades.welcome.info=Prosím, seznamte se s konceptem, procesem a pravidly obchodování na Bisq Easy.\nPo přečtení a přijetí obchodních pravidel můžete zahájit obchod. +bisqEasy.openTrades.welcome.line1=Seznamte se s bezpečnostním modelem Bisq Easy +bisqEasy.openTrades.welcome.line2=Podívejte se, jak funguje proces obchodování +bisqEasy.openTrades.welcome.line3=Seznamte se s pravidly obchodu + + +################################################################################ +# +# TradeState +# +################################################################################ + +bisqEasy.tradeState.requestMediation=Požádat o mediaci +bisqEasy.tradeState.reportToMediator=Nahlásit mediátorovi +bisqEasy.tradeState.acceptOrRejectSellersPrice.title=Pozor na změnu ceny! +bisqEasy.tradeState.acceptOrRejectSellersPrice.description.buyersPrice=Vaše nabízená cena za nákup Bitcoinu byla {0}. +bisqEasy.tradeState.acceptOrRejectSellersPrice.description.sellersPrice=Avšak prodejce vám nabízí jinou cenu: {0}. +bisqEasy.tradeState.acceptOrRejectSellersPrice.description.question=Chcete přijmout tuto novou cenu, nebo chcete obchod odmítnout/zrušit*? +bisqEasy.tradeState.acceptOrRejectSellersPrice.description.disclaimer=(*Poznámka: V tomto konkrétním případě rušení obchodu NEBUDE považováno za porušení obchodních pravidel.) +bisqEasy.tradeState.acceptOrRejectSellersPrice.button.accept=Přijmout cenu + +# Trade State: Header +bisqEasy.tradeState.header.peer=Obchodní partner +bisqEasy.tradeState.header.direction=Chci +bisqEasy.tradeState.header.send=Částka k odeslání +bisqEasy.tradeState.header.pay=Částka k zaplacení +bisqEasy.tradeState.header.receive=Částka k přijetí +bisqEasy.tradeState.header.tradeId=ID obchodu + +# Trade State: Phase (left side) +bisqEasy.tradeState.phase1=Údaje o účtu +bisqEasy.tradeState.phase2=Fiat platba +bisqEasy.tradeState.phase3=Převod Bitcoinu +bisqEasy.tradeState.phase4=Obchod dokončen + +# Trade State: Info (right side) + +bisqEasy.tradeState.info.phase3b.balance.help.explorerLookup=Vyhledávání transakce v block exploreru ''{0}'' +bisqEasy.tradeState.info.phase3b.balance.help.notConfirmed=Transakce viděna v mempoolu, ale ještě nepotvrzena +bisqEasy.tradeState.info.phase3b.balance.help.confirmed=Transakce je potvrzena +bisqEasy.tradeState.info.phase3b.txId.failed=Vyhledání transakce v ''{0}'' se nezdařilo s {1}: ''{2}'' +bisqEasy.tradeState.info.phase3b.button.skip=Přeskočit čekání na potvrzení bloku + +bisqEasy.tradeState.info.phase3b.balance.invalid.noOutputsForAddress=Nebyly nalezeny odpovídající výstupy v transakci +bisqEasy.tradeState.info.phase3b.balance.invalid.multipleOutputsForAddress=Nalezeno více odpovídajících výstupů v transakci +bisqEasy.tradeState.info.phase3b.balance.invalid.amountNotMatching=Částka výstupu z transakce se neshoduje s částkou obchodu + +bisqEasy.tradeState.info.phase3b.button.next=Další +bisqEasy.tradeState.info.phase3b.button.next.amountNotMatching=Částka výstupu pro adresu ''{0}'' v transakci ''{1}'' je ''{2}'', což se neshoduje s částkou obchodu ''{3}''.\n\nByli jste schopni vyřešit tento problém se svým obchodním protějškem?\nPokud ne, můžete zvážit žádost o zprostředkování, abyste pomohli vyřešit tuto záležitost. +bisqEasy.tradeState.info.phase3b.button.next.noOutputForAddress=Žádný výstup odpovídající adrese ''{0}'' v transakci ''{1}'' nebyl nalezen.\n\nByli jste schopni vyřešit tento problém se svým obchodním protějškem?\nPokud ne, můžete zvážit žádost o zprostředkování, abyste pomohli vyřešit tuto záležitost. + +bisqEasy.tradeState.info.phase3b.button.next.amountNotMatching.resolved=Vyřešil(a) jsem to + +bisqEasy.tradeState.info.phase3b.txId=ID transakce +bisqEasy.tradeState.info.phase3b.txId.tooltip=Otevřít transakci v prohlížeči bloků +bisqEasy.tradeState.info.phase3b.lightning.preimage=Preimage + +bisqEasy.tradeState.info.phase4.txId.tooltip=Otevřít transakci v prohlížeči bloků +bisqEasy.tradeState.info.phase4.exportTrade=Exportovat data obchodu +bisqEasy.tradeState.info.phase4.leaveChannel=Zavřít obchod +#################################################################### +# Dynamically created from BitcoinPaymentRail enum name +#################################################################### +# suppress inspection "UnusedProperty" +bisqEasy.tradeState.bitcoinPaymentData.MAIN_CHAIN=Bitcoin adresa +# suppress inspection "UnusedProperty" +bisqEasy.tradeState.bitcoinPaymentData.LN=Faktura Lightning +# suppress inspection "UnusedProperty" +bisqEasy.tradeState.paymentProof.MAIN_CHAIN=ID transakce +# suppress inspection "UnusedProperty" +bisqEasy.tradeState.paymentProof.LN=Preimage + + +# Trade State Info: Buyer +#################################################################### +# Dynamically created from BitcoinPaymentRail enum name +#################################################################### +# suppress inspection "UnusedProperty" +bisqEasy.tradeState.info.buyer.phase1a.bitcoinPayment.headline.MAIN_CHAIN=Vyplňte svou Bitcoin adresu +# suppress inspection "UnusedProperty" +bisqEasy.tradeState.info.buyer.phase1a.bitcoinPayment.description.MAIN_CHAIN=Bitcoin adresa +# suppress inspection "UnusedProperty" +bisqEasy.tradeState.info.buyer.phase1a.bitcoinPayment.prompt.MAIN_CHAIN=Vyplňte svou Bitcoin adresu +# suppress inspection "UnusedProperty" +bisqEasy.tradeState.info.buyer.phase1a.tradeLogMessage.MAIN_CHAIN={0} poslal Bitcoinovou adresu ''{1}'' +# suppress inspection "UnusedProperty" +bisqEasy.tradeState.info.buyer.phase1a.bitcoinPayment.headline.LN=Vyplňte svou Lightning fakturu +# suppress inspection "UnusedProperty" +bisqEasy.tradeState.info.buyer.phase1a.bitcoinPayment.description.LN=Lightning faktura +# suppress inspection "UnusedProperty" +bisqEasy.tradeState.info.buyer.phase1a.bitcoinPayment.prompt.LN=Vyplňte svou Lightning fakturu +# suppress inspection "UnusedProperty" +bisqEasy.tradeState.info.buyer.phase1a.tradeLogMessage.LN={0} poslal Lightning fakturu ''{1}'' + +bisqEasy.tradeState.info.buyer.phase1a.bitcoinPayment.walletHelp=Pokud jste si ještě nenastavili peněženku, můžete najít pomoc v průvodci peněženkou +bisqEasy.tradeState.info.buyer.phase1a.walletHelpButton=Otevřít průvodce peněženkou +bisqEasy.tradeState.info.buyer.phase1a.send=Odeslat prodejci +bisqEasy.tradeState.info.buyer.phase1a.scanQrCode.tooltip=Odečíst QR kód pomocí vaší webkamery +bisqEasy.tradeState.info.buyer.phase1a.scanQrCode.webcamState.description=Stav připojení webkamery +bisqEasy.tradeState.info.buyer.phase1a.scanQrCode.webcamState.connecting=Připojuji se k webkameře... +bisqEasy.tradeState.info.buyer.phase1a.scanQrCode.webcamState.imageRecognized=Webkamera připojena +bisqEasy.tradeState.info.buyer.phase1a.scanQrCode.webcamState.failed=Chyba při připojování k webkameře +bisqEasy.tradeState.info.buyer.phase1b.headline=Čekání na údaje o platebním účtu prodejce +bisqEasy.tradeState.info.buyer.phase1b.info=Můžete použít chat níže pro komunikaci s prodejcem. + +bisqEasy.tradeState.info.buyer.phase2a.headline=Odešlete {0} na platební účet prodejce +bisqEasy.tradeState.info.buyer.phase2a.quoteAmount=Částka k převodu +bisqEasy.tradeState.info.buyer.phase2a.sellersAccount=Platební účet prodejce +bisqEasy.tradeState.info.buyer.phase2a.reasonForPaymentInfo=Prosím, nevyplňujte pole 'Důvod platby', pokud děláte bankovní převod +bisqEasy.tradeState.info.buyer.phase2a.confirmFiatSent=Potvrdit platbu {0} +bisqEasy.tradeState.info.buyer.phase2a.tradeLogMessage={0} zahájil platbu {1} + +bisqEasy.tradeState.info.buyer.phase2b.headline=Čekání na potvrzení přijetí platby prodejcem +bisqEasy.tradeState.info.buyer.phase2b.info=Jakmile prodejce obdrží vaši platbu ve výši {0}, začne odesílat Bitcoin na vaši zadanou {1}. + +bisqEasy.tradeState.info.buyer.phase3a.headline=Čekání na Bitcoin platbu pro +bisqEasy.tradeState.info.buyer.phase3a.info=Prodejce musí zahájit platbu Bitcoinem na vaši zadanou {0}. +bisqEasy.tradeState.info.buyer.phase3b.headline.ln=Prodejce poslal Bitcoin přes Lightning síť +bisqEasy.tradeState.info.buyer.phase3b.info.ln=Převod přes Lightning network je obvykle téměř okamžitý.\nPokud jste neobdrželi platbu po 1 minutě, kontaktujte prodejce v obchodním chatu. V některých případech platby selžou a je třeba je zopakovat. +bisqEasy.tradeState.info.buyer.phase3b.confirmButton.ln=Potvrdit přijetí +bisqEasy.tradeState.info.buyer.phase3b.tradeLogMessage.ln={0} potvrdil(a), že obdržel(a) platbu Bitcoinem +bisqEasy.tradeState.info.buyer.phase3b.headline.MAIN_CHAIN=Prodejce zahájil Bitcoin platbu +bisqEasy.tradeState.info.buyer.phase3b.info.MAIN_CHAIN=Jakmile je Bitcoin transakce viditelná v Bitcoin síti, uvidíte platbu. Po 1 potvrzení v blockchainu lze platbu považovat za dokončenou. +bisqEasy.tradeState.info.buyer.phase3b.balance=Přijaté Bitcoin +bisqEasy.tradeState.info.buyer.phase3b.balance.prompt=Čekání na data blockchainu... + +# Trade State Info: Seller +bisqEasy.tradeState.info.seller.phase1.headline=Pošlete údaje o svém platebním účtu kupujícímu +bisqEasy.tradeState.info.seller.phase1.accountData=Mé údaje o platebním účtu +bisqEasy.tradeState.info.seller.phase1.accountData.prompt=Vyplňte údaje o svém platebním účtu. Např. IBAN, BIC a jméno majitele účtu +bisqEasy.tradeState.info.seller.phase1.buttonText=Odeslat údaje o účtu +bisqEasy.tradeState.info.seller.phase1.note=Poznámka: Pro komunikaci s kupujícím před zveřejněním údajů o účtu můžete použít chat níže. +bisqEasy.tradeState.info.seller.phase1.tradeLogMessage={0} zaslal údaje o platebním účtu:\n{1} + +bisqEasy.tradeState.info.seller.phase2a.waitForPayment.headline=Čekání na {0} platbu od kupujícího +bisqEasy.tradeState.info.seller.phase2a.waitForPayment.info=Jakmile kupující zahájí platbu {0}, budete o tom informováni. + +bisqEasy.tradeState.info.seller.phase2b.headline=Zkontrolujte, zda jste obdrželi {0} +bisqEasy.tradeState.info.seller.phase2b.info=Navštivte svou bankovní účet nebo aplikaci poskytovatele platby, abyste potvrdili přijetí platby od kupujícího. + +bisqEasy.tradeState.info.seller.phase2b.fiatReceivedButton=Potvrdit přijetí {0} +bisqEasy.tradeState.info.seller.phase2b.tradeLogMessage={0} potvrdil přijetí částky {1} + +bisqEasy.tradeState.info.seller.phase3a.fiatPaymentReceivedCheckBox=Potvrdil jsem přijetí {0} +bisqEasy.tradeState.info.seller.phase3a.sendBtc=Odeslat {0} kupujícímu +bisqEasy.tradeState.info.seller.phase3a.baseAmount=Částka k odeslání +bisqEasy.tradeState.info.seller.phase3a.qrCodeDisplay.openWindow=Otevřít větší zobrazení +bisqEasy.tradeState.info.seller.phase3a.qrCodeDisplay.window.title=Naskenovat QR kód pro obchod ''{0}'' +bisqEasy.tradeState.info.seller.phase3b.headline.MAIN_CHAIN=Čekání na potvrzení v blockchainu +bisqEasy.tradeState.info.seller.phase3b.info.MAIN_CHAIN=Bitcoin platba vyžaduje alespoň 1 potvrzení v blockchainu, aby byla považována za dokončenou. +bisqEasy.tradeState.info.seller.phase3b.balance=Zůstatek Bitcoin platby +bisqEasy.tradeState.info.seller.phase3b.balance.prompt=Čekání na data blockchainu... + +#################################################################### +# Dynamically created from BitcoinPaymentRail enum name +#################################################################### +# suppress inspection "UnusedProperty" +bisqEasy.tradeState.info.seller.phase3a.bitcoinPayment.description.MAIN_CHAIN=Bitcoin adresa +# suppress inspection "UnusedProperty" +bisqEasy.tradeState.info.seller.phase3a.paymentProof.description.MAIN_CHAIN=ID transakce +# suppress inspection "UnusedProperty" +bisqEasy.tradeState.info.seller.phase3a.paymentProof.prompt.MAIN_CHAIN=Vyplňte ID Transakce Bitcoin +# suppress inspection "UnusedProperty" +bisqEasy.tradeState.info.seller.phase3a.tradeLogMessage.paymentProof.MAIN_CHAIN=ID transakce +# suppress inspection "UnusedProperty" +bisqEasy.tradeState.info.seller.phase3a.bitcoinPayment.description.LN=Lightning faktura +# suppress inspection "UnusedProperty" +bisqEasy.tradeState.info.seller.phase3a.paymentProof.description.LN=Preimage (volitelné) +# suppress inspection "UnusedProperty" +bisqEasy.tradeState.info.seller.phase3a.paymentProof.prompt.LN=Vyplňte preimage, pokud je k dispozici +# suppress inspection "UnusedProperty" +bisqEasy.tradeState.info.seller.phase3a.tradeLogMessage.paymentProof.LN=Preimage + +bisqEasy.tradeState.info.seller.phase3a.btcSentButton=Potvrzuji, že jsem odeslal {0} +bisqEasy.tradeState.info.seller.phase3a.tradeLogMessage={0} zahájil Bitcoin platbu. {1}: ''{2}'' +bisqEasy.tradeState.info.seller.phase3a.tradeLogMessage.noProofProvided={0} zahájil Bitcoin platbu. + +# suppress inspection "UnusedProperty" +bisqEasy.tradeState.info.seller.phase3a.paymentProof.warning.MAIN_CHAIN=ID transakce, kterou jste zadali, se zdá být neplatná.\n\nPokud si jste jisti, že ID transakce je platné, můžete tuto výstrahu ignorovat a pokračovat. +# suppress inspection "UnusedProperty" +bisqEasy.tradeState.info.seller.phase3a.paymentProof.warning.LN=Preimage, kterou jste zadali, se zdá být neplatná.\n\nPokud si jste jisti, že preimage je platná, můžete tuto výstrahu ignorovat a pokračovat. +bisqEasy.tradeState.info.seller.phase3a.paymentProof.warning.proceed=Ignorovat výstrahu + +bisqEasy.tradeState.info.seller.phase3b.headline.ln=Čekejte na potvrzení přijetí Bitcoinu kupujícím +bisqEasy.tradeState.info.seller.phase3b.info.ln=Převody prostřednictvím Lightning Network jsou obvykle téměř okamžité a spolehlivé. V některých případech však platby mohou selhat a je třeba je opakovat.\n\nAby se předešlo problémům, prosím, počkejte, až kupující potvrdí přijetí v obchodním chatu, než uzavřete obchod, protože poté nebude možné komunikovat. +bisqEasy.tradeState.info.seller.phase3b.confirmButton.ln=Ukončit obchod + + +###################################################### +# Trade Completed Table +##################################################### + +bisqEasy.tradeCompleted.title=Obchod byl úspěšně dokončen +bisqEasy.tradeCompleted.tableTitle=Shrnutí +bisqEasy.tradeCompleted.header.tradeWith=Obchodovat s +bisqEasy.tradeCompleted.header.myDirection.seller=Prodal jsem +bisqEasy.tradeCompleted.header.myDirection.buyer=Koupil(a) jsem +bisqEasy.tradeCompleted.header.myDirection.btc=btc +bisqEasy.tradeCompleted.header.myOutcome.seller=Přijal jsem +bisqEasy.tradeCompleted.header.myOutcome.buyer=Zaplatil jsem +bisqEasy.tradeCompleted.header.paymentMethod=Způsob platby +bisqEasy.tradeCompleted.header.tradeId=ID obchodu +bisqEasy.tradeCompleted.body.date=Datum +bisqEasy.tradeCompleted.body.tradePrice=Cena obchodu +bisqEasy.tradeCompleted.body.tradeFee=Trade fee +bisqEasy.tradeCompleted.body.tradeFee.value=V Bisq Easy žádné obchodní poplatky +bisqEasy.tradeCompleted.body.copy.txId.tooltip=Zkopírovat ID Transakce do schránky +bisqEasy.tradeCompleted.body.copy.explorerLink.tooltip=Zkopírovat odkaz na transakci v prohlížeči bloků +bisqEasy.tradeCompleted.body.txId.tooltip=Otevřít prohlížeč bloků pro ID Transakce + + +################################################################################ +# +# Mediation +# +################################################################################ + +bisqEasy.mediation.request.confirm.headline=Požádat o mediaci +bisqEasy.mediation.request.confirm.msg=Pokud máte problémy, které nemůžete vyřešit se svým obchodním partnerem, můžete požádat o pomoc mediátora.\n\nProsím, nežádejte o mediaci pro obecné otázky. V sekci podpory jsou chatovací místnosti, kde můžete získat obecné rady a pomoc. +bisqEasy.mediation.request.confirm.openMediation=Otevřít mediaci +bisqEasy.mediation.request.feedback.headline=Mediace požadována +bisqEasy.mediation.request.feedback.msg=Byla odeslána žádost registrovaným mediátorům.\n\nProsím, mějte trpělivost, dokud mediátor není online, aby se připojil k obchodnímu chatu a pomohl vyřešit jakékoli problémy. +bisqEasy.mediation.request.feedback.noMediatorAvailable=Žádný mediátor není k dispozici. Prosím, místo toho použijte podpůrný chat. +bisqEasy.mediation.requester.tradeLogMessage={0} požádal o zprostředkování diff --git a/pocs/android_only_m2_j17jars/app/src/main/resources/bisq_easy_de.properties b/pocs/android_only_m2_j17jars/app/src/main/resources/bisq_easy_de.properties new file mode 100644 index 00000000..5f77fe4f --- /dev/null +++ b/pocs/android_only_m2_j17jars/app/src/main/resources/bisq_easy_de.properties @@ -0,0 +1,808 @@ +#################################################################### +# +# Chat module +# +#################################################################### + +bisqEasy.offerBookChannel.description=Marktkanal für den Handel mit {0} +bisqEasy.mediator=Mediator + + +#################################################################### +# +# Desktop module +# +#################################################################### + + +###################################################### +# Bisq Easy +###################################################### + +bisqEasy.dashboard=Erste Schritte +bisqEasy.offerbook=Angebotsbuch +bisqEasy.openTrades=Meine offenen Transaktionen + + +###################################################### +# Bisq Easy dashboard +###################################################### + +bisqEasy.onboarding.top.headline=Bisq Easy in 3 Minuten +bisqEasy.onboarding.top.content1=Schnelleinführung in Bisq Easy +bisqEasy.onboarding.top.content2=Alles über den Handelsprozess +bisqEasy.onboarding.top.content3=Die wichtigesten Handelsregeln +bisqEasy.onboarding.openTradeGuide=Handelsleitfaden lesen +bisqEasy.onboarding.watchVideo=Video ansehen +bisqEasy.onboarding.watchVideo.tooltip=Video einbetten und ansehen + +bisqEasy.onboarding.left.headline=Für Anfänger +bisqEasy.onboarding.left.info=Der Handelsassistent führt Sie durch Ihren ersten Bitcoin-Handel. Die Bitcoin-Verkäufer helfen Ihnen, wenn Sie Fragen haben. +bisqEasy.onboarding.left.button=Assistent starten + +bisqEasy.onboarding.right.headline=Für erfahrene Händler +bisqEasy.onboarding.right.info=Durchsuchen Sie die Angebote oder erstellen Sie Ihr eigenes Angebot. +bisqEasy.onboarding.right.button=Angebote öffnen + + +################################################################################ +# +# Create offer +# +################################################################################ + +bisqEasy.tradeWizard.progress.direction=Kaufen/Verkaufen +bisqEasy.tradeWizard.progress.market=Währung +bisqEasy.tradeWizard.progress.price=Preis +bisqEasy.tradeWizard.progress.amount=Menge +bisqEasy.tradeWizard.progress.paymentMethods=Zahlungsmethoden +bisqEasy.tradeWizard.progress.takeOffer=Angebot auswählen +bisqEasy.tradeWizard.progress.review=Überprüfen + + +################################################################################ +# Create offer / Direction +################################################################################ + +bisqEasy.tradeWizard.direction.headline=Wollen Sie Bitcoin kaufen oder verkaufen? +bisqEasy.tradeWizard.direction.subTitle=Wählen Sie eine Option +bisqEasy.tradeWizard.direction.buy=Bitcoin kaufen +bisqEasy.tradeWizard.direction.buy.info=Der einfachste Weg,\nIhren ersten Bitcoin zu kaufen +bisqEasy.tradeWizard.direction.sell=Bitcoin verkaufen +bisqEasy.tradeWizard.direction.sell.info=Bisq-Nutzer mit Reputation können als Verkäufer agieren +bisqEasy.tradeWizard.direction.feedback.headline=Wie baut man Reputation auf? +bisqEasy.tradeWizard.direction.feedback.subTitle1=Sie haben noch keine Reputation aufgebaut. Für Bitcoin-Verkäufer ist der Aufbau von Reputation entscheidend, da Käufer im Handelsprozess zuerst Fiat-Währung an den Verkäufer Senden müssen und auf die Integrität des Verkäufers angewiesen sind.\n\nDieser Prozess zum Aufbau von Reputation eignet sich besser für erfahrene Bisq-Nutzer, und Sie finden detaillierte Informationen dazu im Abschnitt 'Reputation'. +bisqEasy.tradeWizard.direction.feedback.gainReputation=Erfahren Sie, wie man Reputation aufbaut +bisqEasy.tradeWizard.direction.feedback.subTitle2=Obwohl es Verkäufern möglich ist, ohne (oder mit unzureichender) Reputation für relativ niedrige Beträge bis zu {0} zu handeln, ist die Wahrscheinlichkeit, einen Handelspartner zu finden, erheblich verringert. Das liegt daran, dass Käufer dazu neigen, den Kontakt zu Verkäufern zu vermeiden, die keine Reputation haben, aufgrund von Sicherheitsrisiken. +bisqEasy.tradeWizard.direction.feedback.tradeWithoutReputation=Weiter ohne Reputation +bisqEasy.tradeWizard.direction.feedback.backToBuy=Zurück + + +################################################################################ +# Create offer / Market +################################################################################ + +bisqEasy.tradeWizard.market.headline.buyer=In welcher Währung möchten Sie bezahlen? +bisqEasy.tradeWizard.market.headline.seller=In welcher Währung möchten Sie bezahlt werden? +bisqEasy.tradeWizard.market.subTitle=Wählen Sie Ihre Handelswährung +bisqEasy.tradeWizard.market.columns.name=Fiat-Währung +bisqEasy.tradeWizard.market.columns.numOffers=Angebote +bisqEasy.tradeWizard.market.columns.numPeers=Online-Teilnehmer + + +################################################################################ +# Create offer / Price +################################################################################ + +bisqEasy.price.headline=Wie ist Ihr Handelspreis? +bisqEasy.tradeWizard.price.subtitle=Dies kann als Float-Preis definiert werden, der mit dem Marktpreis schwankt, oder als fester Preis. +bisqEasy.price.percentage.title=Float-Preis +bisqEasy.price.percentage.inputBoxText=Marktpreis-Prozentsatz zwischen -10 % und 50 % +bisqEasy.price.tradePrice.title=Fester Preis +bisqEasy.price.tradePrice.inputBoxText=Handelspreis in {0} +bisqEasy.price.feedback.sentence=Dein Angebot hat {0} Chancen, zu diesem Preis angenommen zu werden. +bisqEasy.price.feedback.sentence.veryLow=sehr geringe +bisqEasy.price.feedback.sentence.low=geringe +bisqEasy.price.feedback.sentence.some=gewisse +bisqEasy.price.feedback.sentence.good=gute +bisqEasy.price.feedback.sentence.veryGood=sehr gute +bisqEasy.price.feedback.learnWhySection.openButton=Wieso? +bisqEasy.price.feedback.learnWhySection.closeButton=Zurück zum Handelspreis +bisqEasy.price.feedback.learnWhySection.title=Warum sollte ich dem Verkäufer einen höheren Preis zahlen? +bisqEasy.price.feedback.learnWhySection.description.intro=Der Grund dafür ist, dass der Verkäufer speziell folgende zusätzliche Ausgaben decken muss: +bisqEasy.price.feedback.learnWhySection.description.exposition=- Aufbau des Rufs, was kostenintensiv sein kann.- Der Verkäufer muss die Miner-Gebühren bezahlen.- Der Verkäufer ist der hilfreiche Leitfaden im Handelsprozess und investiert daher mehr Zeit. +bisqEasy.price.warn.invalidPrice.outOfRange=Der eingegebene Preis liegt außerhalb des erlaubten Bereichs von -10% bis 50%. +bisqEasy.price.warn.invalidPrice.numberFormatException=Der eingegebene Preis ist keine gültige Zahl. +bisqEasy.price.warn.invalidPrice.exception=Der eingegebene Preis ist ungültig.\n\nFehlermeldung: {0} + + +################################################################################ +# Create offer / Amount +################################################################################ + +bisqEasy.tradeWizard.amount.headline.buyer=Wie viel möchten Sie ausgeben? +bisqEasy.tradeWizard.amount.headline.seller=Wie viel möchten Sie erhalten? +bisqEasy.tradeWizard.amount.description.minAmount=Legen Sie den minimalen Wert für den Mengenbereich fest +bisqEasy.tradeWizard.amount.description.maxAmount=Legen Sie den maximalen Wert für den Mengenbereich fest +bisqEasy.tradeWizard.amount.description.fixAmount=Legen Sie die Menge fest, die Sie handeln möchten +bisqEasy.tradeWizard.amount.addMinAmountOption=Min-/Max-Bereich für Menge hinzufügen +bisqEasy.tradeWizard.amount.removeMinAmountOption=Fixe Mengenwert verwenden +bisqEasy.component.amount.minRangeValue=Min {0} +bisqEasy.component.amount.maxRangeValue=Max {0} +bisqEasy.component.amount.baseSide.tooltip.btcAmount.marketPrice=Dies ist der Bitcoin-Betrag zum aktuellen Marktpreis. +bisqEasy.component.amount.baseSide.tooltip.btcAmount.selectedPrice=Dies ist der Bitcoin-Betrag zu deinem ausgewählten Preis. +bisqEasy.component.amount.baseSide.tooltip.buyerInfo=Verkäufer können einen höheren Preis verlangen, da sie Kosten für den Erwerb von Reputation haben.\nEin Aufschlag von 5-15 % ist üblich. +bisqEasy.component.amount.baseSide.tooltip.bestOfferPrice=Berechnet mit dem besten Preis aus passenden Angeboten: {0} +bisqEasy.component.amount.baseSide.tooltip.buyer.btcAmount=Die erwartete Bitcoin-Menge, die Sie erhalten. +bisqEasy.component.amount.baseSide.tooltip.seller.btcAmount=Die erwartete Bitcoin-Menge, die Sie ausgeben. +bisqEasy.component.amount.baseSide.tooltip.taker.offerPrice=Berechnet mit dem Angebotspreis: {0} + + +bisqEasy.tradeWizard.amount.limitInfo.overlay.headline=Reputationsbasierte Handelsbetragsgrenzen +bisqEasy.tradeWizard.amount.limitInfo.overlay.close=Überlagerung schließen + +bisqEasy.tradeWizard.amount.seller.wizard.numMatchingOffers.info=Es gibt {0} passende Angebote für den gewählten Handelsbetrag. +bisqEasy.tradeWizard.amount.seller.wizard.limitInfo=Mit Ihrer Reputationsbewertung von {0} können Sie bis zu +bisqEasy.tradeWizard.amount.seller.wizard.limitInfo.overlay.info=Mit einer Reputationsbewertung von {0} können Sie bis zu {1} handeln.\n\nInformationen, wie Sie Ihre Reputation erhöhen können, finden Sie unter ''Reputation/Reputation aufbauen''. + +bisqEasy.tradeWizard.amount.seller.limitInfo.scoreTooLow=Mit Ihrer Reputationsbewertung von {0} sollte Ihr Handelsbetrag nicht überschreiten +bisqEasy.tradeWizard.amount.seller.limitInfo.overlay.info.scoreTooLow=Ihre Reputationsbewertung von {0} bietet nicht genügend Sicherheit für Käufer.\n\nKäufer, die in Erwägung ziehen, Ihr Angebot anzunehmen, erhalten eine Warnung über potenzielle Risiken beim Annehmen Ihres Angebots.\n\nInformationen, wie Sie Ihre Reputation erhöhen können, finden Sie unter ''Reputation/Reputation aufbauen''. + +bisqEasy.takeOffer.amount.seller.limitInfo.lowToleratedAmount=Da der Handelsbetrag unter {0} liegt, sind die Anforderungen an die Reputation gelockert. +bisqEasy.takeOffer.amount.seller.limitInfo.scoreTooLow=Da Ihre Reputationsbewertung nur {0} beträgt, ist Ihr Handelsbetrag auf +bisqEasy.takeOffer.amount.seller.limitInfo.overlay.info.scoreTooLow=Für Beträge bis {0} sind die Anforderungen an die Reputation gelockert.\n\nIhre Reputationsbewertung von {1} bietet nicht genügend Sicherheit für den Käufer. Angesichts des niedrigen Handelsbetrags hat der Käufer jedoch akzeptiert, das Risiko einzugehen.\n\nInformationen zur Erhöhung Ihrer Reputation finden Sie unter ''Reputation/Reputation aufbauen''. + +bisqEasy.tradeWizard.amount.seller.limitInfo.sufficientScore=Ihre Reputationsbewertung von {0} bietet Sicherheit für Angebote bis zu +bisqEasy.tradeWizard.amount.seller.limitInfo.overlay.info.sufficientScore=Mit einer Reputationsbewertung von {0} bieten Sie Sicherheit für Transaktionen bis zu {1}. + +bisqEasy.tradeWizard.amount.seller.limitInfo.inSufficientScore=Die Sicherheit, die durch Ihre Reputationsbewertung von {0} bereitgestellt wird, ist unzureichend für Angebote über +bisqEasy.tradeWizard.amount.seller.limitInfo.overlay.info.inSufficientScore=Mit einer Reputationsbewertung von {0} ist die Sicherheit, die Sie bieten, unzureichend für Transaktionen über {1}.\n\nSie können weiterhin solche Angebote erstellen, aber Käufer werden über potenzielle Risiken gewarnt, wenn sie versuchen, Ihr Angebot anzunehmen.\n\nInformationen zur Verbesserung Ihrer Reputation finden Sie unter ''Reputation/Reputation aufbauen''. + +bisqEasy.tradeWizard.amount.seller.limitInfoAmount={0}. +bisqEasy.tradeWizard.amount.seller.limitInfo.link=Mehr erfahren + + +bisqEasy.tradeWizard.amount.seller.limitInfo.overlay.linkToWikiText=Für weitere Informationen zum Reputationssystem besuchen Sie das Bisq-Wiki unter: + +bisqEasy.tradeWizard.amount.seller.limitInfo.noReputationNeededForMaxOrFixedAmount=Für Beträge bis zu {0} ist keine Reputation erforderlich. +bisqEasy.tradeWizard.amount.seller.limitInfo.noReputationNeededForMaxOrFixedAmount.overlay.info.scoreTooLow=Für Beträge bis {0} sind die Anforderungen an die Reputation gelockert.\n\nIhre Reputationsbewertung von {1} bietet nicht genügend Sicherheit für Käufer. Angesichts des geringen Betrags könnten Käufer jedoch in Betracht ziehen, das Angebot anzunehmen, sobald sie über die damit verbundenen Risiken informiert werden.\n\nInformationen zur Steigerung Ihrer Reputation finden Sie unter ''Reputation/Reputation aufbauen''. + + +bisqEasy.tradeWizard.amount.buyer.limitInfo.learnMore=Mehr erfahren + +# suppress inspection "UnusedProperty" +bisqEasy.tradeWizard.amount.buyer.numSellers.0=ist kein Verkäufer +# suppress inspection "UnusedProperty" +bisqEasy.tradeWizard.amount.buyer.numSellers.1=ist ein Verkäufer +# suppress inspection "UnusedProperty" +bisqEasy.tradeWizard.amount.buyer.numSellers.*=sind {0} Verkäufer + +# suppress inspection "UnusedProperty" +bisqEasy.tradeWizard.amount.numOffers.0=gibt kein Angebot +# suppress inspection "UnusedProperty" +bisqEasy.tradeWizard.amount.numOffers.1=ist ein Angebot +# suppress inspection "UnusedProperty" +bisqEasy.tradeWizard.amount.numOffers.*=sind {0} Angebote + +bisqEasy.tradeWizard.amount.buyer.limitInfo=Es gibt {0} im Netzwerk mit ausreichender Reputation, um ein Angebot von {1} anzunehmen. +bisqEasy.tradeWizard.amount.buyer.limitInfo.overlay.info=Ein Verkäufer, der Ihr Angebot von {0} annehmen möchte, muss eine Reputationsbewertung von mindestens {1} haben.\nDurch die Reduzierung des maximalen Handelsbetrags machen Sie Ihr Angebot für mehr Verkäufer zugänglich. + +bisqEasy.tradeWizard.amount.buyer.limitInfo.wizard.info.leadLine=Es {0} passend zur gewählten Handelsmenge. +bisqEasy.tradeWizard.amount.buyer.limitInfo.wizard.info=Für Angebote bis {0} sind die Anforderungen an die Reputation gelockert. +bisqEasy.tradeWizard.amount.buyer.limitInfo.wizard.overlay.info=Aufgrund des niedrigen Mindestbetrags von {0} sind die Anforderungen an die Reputation gelockert.\nFür Beträge bis zu {1} benötigen Verkäufer keine Reputation.\n\nAuf dem Bildschirm ''Angebot auswählen'' wird empfohlen, Verkäufer mit höherer Reputation auszuwählen. + +bisqEasy.tradeWizard.amount.buyer.limitInfo.noReputationNeededForMaxOrFixedAmount=Verkäufer ohne Reputation können Angebote bis zu {0} annehmen. +bisqEasy.tradeWizard.amount.buyer.limitInfo.noReputationNeededForMaxOrFixedAmount.riskInfo=Stellen Sie sicher, dass Sie die damit verbundenen Risiken vollständig verstehen. +bisqEasy.tradeWizard.amount.buyer.limitInfo.overlay.noReputationNeededForMaxOrFixedAmount.info=Aufgrund des niedrigen Betrags von {0} sind die Anforderungen an die Reputation gelockert.\nFür Beträge bis zu {1} können Verkäufer mit unzureichender oder keiner Reputation das Angebot annehmen.\n\nStellen Sie sicher, dass Sie die Risiken beim Handel mit einem Verkäufer ohne oder mit unzureichender Reputation vollständig verstehen. Wenn Sie sich diesem Risiko nicht aussetzen möchten, wählen Sie einen Betrag über {2}. +bisqEasy.tradeWizard.amount.buyer.limitInfo.overlay.linkToWikiText=Um mehr über das Reputation-System zu erfahren, besuchen Sie: + + +bisqEasy.tradeWizard.amount.buyer.noReputationNeededForMinAmount.limitInfo.leadLine=Da Ihr Mindestbetrag unter {0} liegt, können Verkäufer ohne Reputation Ihr Angebot annehmen. +bisqEasy.tradeWizard.amount.buyer.noReputationNeededForMinAmount.limitInfo=Für den max. Betrag von {0} gibt es {1} mit ausreichender Reputation, um Ihr Angebot anzunehmen. +bisqEasy.tradeWizard.amount.buyer.noReputationNeededForMinAmount.limitInfo.overlay.info=Aufgrund des niedrigen Handelsbetrags von {0} sind die Anforderungen an die Reputation gelockert.\nFür Beträge bis zu {1} können Verkäufer mit unzureichender oder keiner Reputation Ihr Angebot annehmen.\n\nVerkäufer, die Ihr Angebot mit dem maximalen Betrag von {2} annehmen möchten, müssen eine Reputationsbewertung von mindestens {3} haben.\nDurch die Reduzierung des maximalen Handelsbetrags machen Sie Ihr Angebot für mehr Verkäufer zugänglich. + + +################################################################################ +# Create offer / Payment methods +################################################################################ + +bisqEasy.tradeWizard.paymentMethods.headline=Welche Zahlungs- und Abrechnungsmethoden möchtest du verwenden? +bisqEasy.tradeWizard.paymentMethods.fiat.subTitle.buyer=Wähle die Zahlungsmethoden aus, um {0} zu überweisen +bisqEasy.tradeWizard.paymentMethods.fiat.subTitle.seller=Wähle die Zahlungsmethoden aus, um {0} zu erhalten +bisqEasy.tradeWizard.paymentMethods.bitcoin.subTitle.buyer=Wähle die Abrechnungsmethoden aus, um Bitcoin zu erhalten +bisqEasy.tradeWizard.paymentMethods.bitcoin.subTitle.seller=Wähle die Abrechnungsmethoden aus, um Bitcoin zu senden +bisqEasy.tradeWizard.paymentMethods.noneFound=Für den ausgewählten Markt sind keine Standardzahlungsmethoden verfügbar.\nBitte fügen Sie im untenstehenden Textfeld die benutzerdefinierte Zahlungsmethode hinzu, die Sie verwenden möchten. +bisqEasy.tradeWizard.paymentMethods.customMethod.prompt=Benutzerdefinierte Zahlung +bisqEasy.tradeWizard.paymentMethods.warn.maxMethodsReached=Sie können nicht mehr als 4 Zahlungsmethoden hinzufügen. +bisqEasy.tradeWizard.paymentMethods.warn.tooLong=Der Name Ihrer benutzerdefinierten Zahlungsmethode darf nicht länger als 20 Zeichen sein. +bisqEasy.tradeWizard.paymentMethods.warn.customPaymentMethodAlreadyExists=Eine benutzerdefinierte Zahlungsmethode mit dem Namen {0} existiert bereits. +bisqEasy.tradeWizard.paymentMethods.warn.customNameMatchesPredefinedMethod=Der Name Ihrer benutzerdefinierten Zahlungsmethode darf nicht mit einem der vordefinierten Namen übereinstimmen. +bisqEasy.tradeWizard.paymentMethods.warn.noFiatPaymentMethodSelected=Bitte wähle mindestens eine Fiat-Zahlungsmethode aus. +bisqEasy.tradeWizard.paymentMethods.warn.noBtcSettlementMethodSelected=Bitte wähle mindestens eine Bitcoin-Abrechnungsmethode aus. + + +################################################################################ +# TradeWizard / Select offer +################################################################################ + +bisqEasy.tradeWizard.selectOffer.headline.buyer=Kaufen Sie Bitcoin für {0} +bisqEasy.tradeWizard.selectOffer.headline.seller=Verkaufen Sie Bitcoin für {0} +bisqEasy.tradeWizard.selectOffer.subHeadline=Es wird empfohlen, mit Benutzern mit hoher Reputation zu handeln. +bisqEasy.tradeWizard.selectOffer.noMatchingOffers.headline=Keine passenden Angebote gefunden +bisqEasy.tradeWizard.selectOffer.noMatchingOffers.subHeadline=Es liegen keine Angebote für Ihre Auswahlkriterien vor. +bisqEasy.tradeWizard.selectOffer.noMatchingOffers.goBack=Auswahl ändern +bisqEasy.tradeWizard.selectOffer.noMatchingOffers.goBack.info=Kehren Sie zu den vorherigen Auswahloptionen zurück und ändern Sie die Auswahl +bisqEasy.tradeWizard.selectOffer.noMatchingOffers.browseOfferbook=Angebotsbuch durchsuchen +bisqEasy.tradeWizard.selectOffer.noMatchingOffers.browseOfferbook.info=Schließen Sie den Assistenten und durchsuchen Sie das Angebotsbuch + + +################################################################################ +# TradeWizard / Review +################################################################################ + +bisqEasy.tradeWizard.review.headline.maker=Angebot überprüfen +bisqEasy.tradeWizard.review.headline.taker=Handel überprüfen +bisqEasy.tradeWizard.review.detailsHeadline.taker=Handelsdetails +bisqEasy.tradeWizard.review.detailsHeadline.maker=Angebotsdetails +bisqEasy.tradeWizard.review.feeDescription=Gebühren +bisqEasy.tradeWizard.review.noTradeFees=Keine Handelsgebühren +bisqEasy.tradeWizard.review.sellerPaysMinerFeeLong=Mining-Gebühr zahlt Verkäufer +bisqEasy.tradeWizard.review.sellerPaysMinerFee=Mining-Gebühr zahlt Verkäufer +bisqEasy.tradeWizard.review.noTradeFeesLong=Es gibt keine Handelsgebühren in Bisq Easy + +bisqEasy.tradeWizard.review.toPay=Zu zahlender Betrag +bisqEasy.tradeWizard.review.toSend=Zu sendender Betrag +bisqEasy.tradeWizard.review.toReceive=Zu erhaltender Betrag +bisqEasy.tradeWizard.review.direction=Bitcoin {0} +bisqEasy.tradeWizard.review.paymentMethodDescription.btc=Bitcoin-Zahlungsmethode +bisqEasy.tradeWizard.review.paymentMethodDescriptions.btc.maker=Bitcoin-Zahlungsmethoden +bisqEasy.tradeWizard.review.paymentMethodDescriptions.btc.taker=Bitcoin-Zahlungsmethode auswählen +bisqEasy.tradeWizard.review.paymentMethodDescription.fiat=Fiat-Zahlungsmethode +bisqEasy.tradeWizard.review.paymentMethodDescriptions.fiat.maker=Fiat-Zahlungsmethoden +bisqEasy.tradeWizard.review.paymentMethodDescriptions.fiat.taker=Fiat-Zahlungsmethode auswählen +bisqEasy.tradeWizard.review.price={0} <{1} style=trade-wizard-review-code> + +bisqEasy.tradeWizard.review.priceDescription.taker=Handelspreis +bisqEasy.tradeWizard.review.priceDescription.maker=Angebotspreis +bisqEasy.tradeWizard.review.priceDetails.fix=Fixer Preis. {0} {1} Marktpreis von {2} +bisqEasy.tradeWizard.review.priceDetails.fix.atMarket=Fixer Preis. Entspricht dem Marktpreis von {0} +bisqEasy.tradeWizard.review.priceDetails.float=Float-Preis. {0} {1} Marktpreis von {2} +bisqEasy.tradeWizard.review.priceDetails=Schwankt mit dem Marktpreis +bisqEasy.tradeWizard.review.nextButton.createOffer=Angebot erstellen +bisqEasy.tradeWizard.review.nextButton.takeOffer=Handel bestätigen + +bisqEasy.tradeWizard.review.createOfferSuccess.headline=Angebot erfolgreich veröffentlicht +bisqEasy.tradeWizard.review.createOfferSuccess.subTitle=Ihr Angebot ist jetzt im Angebotsbuch gelistet. Wenn ein Bisq-Nutzer Ihr Angebot annimmt, finden Sie einen neuen Handel im Abschnitt 'Offene Transaktionen'.\n\nÜberprüfen Sie die Bisq-Anwendung regelmäßig auf neue Nachrichten von Ihrem Handelspartner. +bisqEasy.tradeWizard.review.createOfferSuccessButton=Mein Angebot im 'Angebotsbuch' anzeigen + +bisqEasy.tradeWizard.review.takeOfferSuccess.headline=Sie haben das Angebot erfolgreich angenommen +bisqEasy.tradeWizard.review.takeOfferSuccess.subTitle=Bitte setzen Sie sich mit dem Handelspartner unter 'Offene Transaktionen' in Verbindung.\nDort findesn Sie weitere Informationen für die nächsten Schritte.\n\nÜberprüfe die Bisq-Anwendung regelmäßig auf neue Nachrichten von deinem Handelspartner. +bisqEasy.tradeWizard.review.takeOfferSuccessButton=Handel in 'Offene Transaktionen' anzeigen + + +################################################################################ +# Create offer / Review +################################################################################# + +bisqEasy.tradeWizard.review.table.baseAmount.buyer=Sie erhalten +bisqEasy.tradeWizard.review.table.baseAmount.seller=Sie geben aus +bisqEasy.tradeWizard.review.table.price=Preis in {0} +bisqEasy.tradeWizard.review.table.reputation=Reputation +bisqEasy.tradeWizard.review.chatMessage.fixPrice={0} +bisqEasy.tradeWizard.review.chatMessage.floatPrice.above={0} über dem Marktpreis +bisqEasy.tradeWizard.review.chatMessage.floatPrice.below={0} unter dem Marktpreis +bisqEasy.tradeWizard.review.chatMessage.marketPrice=Marktpreis +bisqEasy.tradeWizard.review.chatMessage.price=Preis: +bisqEasy.tradeWizard.review.chatMessage.peerMessage.sell=Verkaufe Bitcoin an {0}\nMenge: {1}\nBitcoin-Zahlungsmethode(n): {2}\nFiat-Zahlungsmethode(n): {3}\n{4} +bisqEasy.tradeWizard.review.chatMessage.peerMessage.buy=Kaufe Bitcoin von {0}\nMenge: {1}\nBitcoin-Zahlungsmethode(n): {2}\nFiat-Zahlungsmethode(n): {3}\n{4} +bisqEasy.tradeWizard.review.chatMessage.offerDetails=Menge: {0}\nBitcoin-Zahlungsmethode(n): {1}\nFiat-Zahlungsmethode(n): {2}\n{3} +bisqEasy.tradeWizard.review.chatMessage.peerMessageTitle.sell=Verkaufe Bitcoin an +bisqEasy.tradeWizard.review.chatMessage.peerMessageTitle.buy=Kaufe Bitcoin von +bisqEasy.tradeWizard.review.chatMessage.myMessageTitle=Mein Angebot um Bitcoin zu {0} + + +################################################################################ +# +# Take offer +# +################################################################################ + +bisqEasy.takeOffer.progress.amount=Handelsbetrag +bisqEasy.takeOffer.progress.method=Zahlungsmethode +bisqEasy.takeOffer.progress.review=Handel überprüfen + +bisqEasy.takeOffer.amount.headline.buyer=Wie viel möchten Sie ausgeben? +bisqEasy.takeOffer.amount.headline.seller=Wie viel möchten Sie handeln? +bisqEasy.takeOffer.amount.description=Das Angebot ermöglicht es Ihnen, eine Betrag zwischen {0} und {1} auszuwählen +bisqEasy.takeOffer.amount.description.limitedByTakersReputation=Ihre Reputationsbewertung von {0} ermöglicht es Ihnen, einen Handelsbetrag\nzwischen {1} und {2} auszuwählen + +bisqEasy.takeOffer.amount.buyer.limitInfo.tooHighMax=Die Reputationsbewertung des Verkäufers beträgt nur {0}. Es wird nicht empfohlen, mehr als +bisqEasy.takeOffer.amount.buyer.limitInfoAmount={0}. +bisqEasy.takeOffer.amount.buyer.limitInfo.tooHighMax.overlay.info=Die Reputationsbewertung des Verkäufers von {0} bietet nicht genügend Sicherheit. Für niedrigere Handelsbeträge (bis zu {1}) sind die Anforderungen an die Reputation jedoch nachsichtiger.\n\nWenn Sie sich entscheiden, trotz der fehlenden Reputation des Verkäufers fortzufahren, stellen Sie sicher, dass Sie sich der damit verbundenen Risiken vollständig bewusst sind. Das Sicherheitsmodell von Bisq Easy basiert auf der Reputation des Verkäufers, da der Käufer zuerst Fiat-Währung senden muss. +bisqEasy.takeOffer.amount.buyer.limitInfo.minAmountCovered=Die Reputationsbewertung des Verkäufers von {0} bietet Sicherheit bis zu +bisqEasy.takeOffer.amount.buyer.limitInfo.minAmountCovered.overlay.info=Die Reputationsbewertung des Verkäufers von {0} bietet Sicherheit für bis zu {1}.\n\nWenn Sie einen höheren Betrag wählen, stellen Sie sicher, dass Sie sich der damit verbundenen Risiken vollständig bewusst sind. Das Sicherheitsmodell von Bisq Easy basiert auf der Reputation des Verkäufers, da der Käufer zuerst Fiat-Währung Senden muss. +bisqEasy.takeOffer.amount.buyer.limitInfo.minAmountNotCovered=Die Reputationsbewertung des Verkäufers von {0} bietet nicht genügend Sicherheit für dieses Angebot. +bisqEasy.takeOffer.amount.buyer.limitInfo.tooHighMin.overlay.info=Die Reputationsbewertung des Verkäufers von {0} bietet nicht genügend Sicherheit für dieses Angebot.\n\nEs wird empfohlen, niedrigere Beträge bei wiederholten Transaktionen oder mit Verkäufern mit höherer Reputation zu handeln. Wenn Sie sich entscheiden, trotz der fehlenden Reputation des Verkäufers fortzufahren, stellen Sie sicher, dass Sie sich der damit verbundenen Risiken vollständig bewusst sind. Das Sicherheitsmodell von Bisq Easy basiert auf der Reputation des Verkäufers, da der Käufer zuerst Fiat-Währung senden muss. +bisqEasy.takeOffer.amount.buyer.limitInfo.learnMore=Mehr erfahren +bisqEasy.takeOffer.amount.buyer.limitInfo.overlay.linkToWikiText=Um mehr über das Reputationssystem zu erfahren, besuchen Sie: + +bisqEasy.takeOffer.paymentMethods.headline.fiat=Welche Zahlungsmethode möchtest du verwenden? +bisqEasy.takeOffer.paymentMethods.headline.fiatAndBitcoin=Welche Zahlungs- und Abrechnungsmethoden möchtest du verwenden? +bisqEasy.takeOffer.paymentMethods.headline.bitcoin=Welche Abrechnungsmethode möchtest du verwenden? +bisqEasy.takeOffer.paymentMethods.subtitle.fiat.buyer=Wähle eine Zahlungsmethode aus, um {0} zu überweisen +bisqEasy.takeOffer.paymentMethods.subtitle.fiat.seller=Wähle eine Zahlungsmethode aus, um {0} zu erhalten +bisqEasy.takeOffer.paymentMethods.subtitle.bitcoin.buyer=Wähle eine Abrechnungsmethode aus, um Bitcoin zu erhalten +bisqEasy.takeOffer.paymentMethods.subtitle.bitcoin.seller=Wähle eine Abrechnungsmethode aus, um Bitcoin zu senden + +bisqEasy.takeOffer.review.headline=Handel überprüfen +bisqEasy.takeOffer.review.detailsHeadline=Handelsdetails +bisqEasy.takeOffer.review.method.fiat=Fiat-Zahlungsmethode +bisqEasy.takeOffer.review.method.bitcoin=Bitcoin-Zahlungsmethode +bisqEasy.takeOffer.review.price.price=Handelspreis +bisqEasy.takeOffer.review.noTradeFees=Keine Handelsgebühren +bisqEasy.takeOffer.review.sellerPaysMinerFeeLong=Verkäufer zahlt Miningfee +bisqEasy.takeOffer.review.sellerPaysMinerFee=Mining-Gebühr zahlt Verkäufer +bisqEasy.takeOffer.review.noTradeFeesLong=Es gibt keine Handelsgebühren in Bisq Easy +bisqEasy.takeOffer.review.takeOffer=Bestätigen Sie das Angebot +bisqEasy.takeOffer.review.sendTakeOfferMessageFeedback.headline=Nachricht zum Akzeptieren des Angebots wird gesendet +bisqEasy.takeOffer.review.sendTakeOfferMessageFeedback.subTitle=Das Senden der Nachricht zum Akzeptieren des Angebots kann bis zu 2 Minuten dauern +bisqEasy.takeOffer.review.sendTakeOfferMessageFeedback.info=Schließe das Fenster oder die Anwendung nicht, bevor du die Bestätigung siehst, dass die Anfrage zum Akzeptieren des Angebots erfolgreich gesendet wurde. +bisqEasy.takeOffer.review.takeOfferSuccess.headline=Sie haben das Angebot erfolgreich angenommen +bisqEasy.takeOffer.review.takeOfferSuccess.subTitle=Bitte setzen Sie sich mit dem Handelspartner unter 'Offene Transaktionen' in Verbindung.\nDort finden Sie weitere Informationen für die nächsten Schritte.\n\nÜberprüfe die Bisq-Anwendung regelmäßig auf neue Nachrichten von einem Handelspartner. +bisqEasy.takeOffer.review.takeOfferSuccessButton=Handel in 'Offene Transaktionen' anzeigen +bisqEasy.takeOffer.tradeLogMessage={0} hat eine Nachricht gesendet, um das Angebot von {1} anzunehmen. + +bisqEasy.takeOffer.noMediatorAvailable.warning=Es steht kein Mediator zur Verfügung. Sie müssen stattdessen den Support-Chat verwenden. +bisqEasy.takeOffer.makerBanned.warning=Der Anbieter dieses Angebots ist gesperrt. Bitte versuchen Sie, ein anderes Angebot zu verwenden. +# suppress inspection "UnusedProperty" +bisqEasy.takeOffer.bitcoinPaymentData.warning.MAIN_CHAIN=Die Bitcoin-Adresse, die du eingegeben hast, scheint ungültig zu sein.\n\nWenn du sicher bist, dass die Adresse gültig ist, kannst du diese Warnung ignorieren und fortfahren. +# suppress inspection "UnusedProperty" +bisqEasy.takeOffer.bitcoinPaymentData.warning.LN=Die Lightning-Rechnung, die du eingegeben hast, scheint ungültig zu sein.\n\nWenn du sicher bist, dass die Rechnung gültig ist, kannst du diese Warnung ignorieren und fortfahren. +bisqEasy.takeOffer.bitcoinPaymentData.warning.proceed=Warnung ignorieren + + +################################################################################ +# +# TradeGuide +# +################################################################################ + +bisqEasy.tradeGuide.tabs.headline=Handelsanleitung +bisqEasy.tradeGuide.welcome=Übersicht +bisqEasy.tradeGuide.security=Sicherheit +bisqEasy.tradeGuide.process=Prozess +bisqEasy.tradeGuide.rules=Handelsregeln + +bisqEasy.tradeGuide.welcome.headline=Wie man auf Bisq Easy handelt +bisqEasy.tradeGuide.welcome.content=Diese Anleitung bietet einen Überblick über wesentliche Aspekte beim Kauf oder Verkauf von Bitcoin mit Bisq Easy.\nIn dieser Anleitung lernst du das Sicherheitsmodell von Bisq Easy kennen, erhältst Einblicke in den Handelsprozess und machst dich mit den Handelsregeln vertraut.\n\nFür weitere Fragen besuche gerne die Chaträume unter dem Menüpunkt 'Support'. + +bisqEasy.tradeGuide.security.headline=Wie sicher ist es, auf Bisq Easy zu handeln? +bisqEasy.tradeGuide.security.content=- Das Sicherheitsmodell von Bisq Easy ist für kleine Handelsbeträge optimiert.\n- Das Modell stützt sich auf die Reputation des Verkäufers, der in der Regel ein erfahrener Bisq-Nutzer ist und von dem erwartet wird, neuen Nutzern zu helfen.\n- Der Aufbau von Reputation kann kostspielig sein, was zu einem üblichen Preisaufschlag von 5-15% führt, um zusätzliche Ausgaben zu decken und den Service des Verkäufers zu kompensieren.\n- Der Handel mit Verkäufern, die keine Reputation haben, birgt erhebliche Risiken und sollte nur unternommen werden, wenn die Risiken gründlich verstanden und abgewägt werden. + +bisqEasy.tradeGuide.process.headline=Wie funktioniert der Handelsprozess? +bisqEasy.tradeGuide.process.content=Wenn du ein Angebot annimmst, hast du die Flexibilität, aus den verfügbaren Optionen zu wählen, die das Angebot bietet. Bevor du den Handel startest, wird dir eine Zusammenfassung zur Überprüfung angezeigt.\nSobald der Handel eingeleitet ist, führt dich die Benutzeroberfläche durch den Handelsprozess, der aus den folgenden Schritten besteht: + +bisqEasy.tradeGuide.process.steps=1. Der Verkäufer und der Käufer tauschen Kontodaten aus. Der Verkäufer schickt seine Zahlungsdaten (z.B. Bankkontonummer) an den Käufer, und der Käufer sendet seine Bitcoin-Adresse (oder Lightning-Rechnung) an den Verkäufer.\n2. Danach initiiert der Käufer die Fiat-Zahlung an das Konto des Verkäufers. Sobald der Verkäufer die Zahlung erhalten hat, bestätigt er den Empfang.\n3. Der Verkäufer sendet dann die Bitcoin an die Adresse des Käufers und teilt die Transaktions-ID (oder optional das Preimage, falls Lightning verwendet wird) mit. Die Benutzeroberfläche zeigt den Bestätigungsstatus an. Sobald alles bestätigt ist, ist der Handel erfolgreich abgeschlossen. + +bisqEasy.tradeGuide.rules.headline=Was muss ich über die Handelsregeln wissen? +bisqEasy.tradeGuide.rules.content=- Vor dem Austausch von Kontodetails zwischen dem Verkäufer und dem Käufer kann jede Partei den Handel ohne Angabe von Gründen abbrechen.\n- Händler sollten regelmäßig ihre Handelsgeschäfte auf neue Nachrichten überprüfen und müssen innerhalb von 24 Stunden reagieren.\n- Sobald Kontodetails ausgetauscht werden, gilt das Nichterfüllen von Handelsverpflichtungen als Vertragsbruch und kann zu einem Ausschluss aus dem Bisq-Netzwerk führen. Dies gilt nicht, wenn der Handelspartner nicht reagiert.\n- Während der Fiat-Zahlung DARF der Käufer keine Begriffe wie 'Bisq' oder 'Bitcoin' im Feld 'Zahlungsgrund' angeben. Händler können sich auf einen Kennzeichner einigen, wie eine zufällige Zeichenfolge wie 'H3TJAPD', um die Banküberweisung mit dem Handel zu verknüpfen.\n- Wenn der Handel aufgrund längerer Fiat-Überweisungszeiten nicht sofort abgeschlossen werden kann, müssen beide Händler mindestens einmal täglich online sein, um den Fortschritt des Handels zu überwachen.\n- Falls Händler auf ungelöste Probleme stoßen, haben sie die Möglichkeit, einen Mediator in den Handelschat einzuladen, um Unterstützung zu erhalten.\n\nSolltest du Fragen haben oder Unterstützung benötigen, zögere nicht, die Chaträume aufzusuchen, die unter dem Menü 'Support' zugänglich sind. Viel Spaß beim Handeln! + +bisqEasy.tradeGuide.rules.confirm=Ich habe die Regeln gelesen und verstanden + +bisqEasy.tradeGuide.notConfirmed.warn=Bitte lesen Sie die Handelsanleitung und bestätigen, dass Sie die Handelsregeln gelesen und verstanden haben. +bisqEasy.tradeGuide.open=Handelsanleitung öffnen + + +################################################################################ +# WalletGuide +################################################################################ + +bisqEasy.walletGuide.open=Wallet-Anleitung öffnen + +bisqEasy.walletGuide.tabs.headline=Wallet-Anleitung +bisqEasy.walletGuide.intro=Einführung +bisqEasy.walletGuide.download=Herunterladen +bisqEasy.walletGuide.createWallet=Neue Wallet +bisqEasy.walletGuide.receive=Empfangen + +bisqEasy.walletGuide.intro.headline=Bereite dich darauf vor, deinen ersten Bitcoin zu empfangen +bisqEasy.walletGuide.intro.content=Bei Bisq Easy geht der Bitcoin, den du erhältst, direkt in deine Tasche, ohne Zwischenhändler. Das ist ein großer Vorteil, bedeutet aber auch, dass du eine Wallet haben musst, die du selbst kontrollierst, um ihn zu empfangen!\n\nIn dieser kurzen Wallet-Anleitung zeigen wir dir in wenigen einfachen Schritten, wie du eine einfache Wallet erstellen kannst. Mit ihr kannst du deinen frisch gekauften Bitcoin empfangen und speichern.\n\nWenn du bereits mit On-Chain-Wallets vertraut bist und eine hast, kannst du diese Anleitung überspringen und einfach deine Wallet verwenden. + +bisqEasy.walletGuide.download.headline=Deine Wallet herunterladen +bisqEasy.walletGuide.download.content=Es gibt viele Wallets, die Sie verwenden können. In diesem Leitfaden zeigen wir Ihnen, wie Sie Bluewallet verwenden. Bluewallet ist großartig und gleichzeitig sehr einfach, und Sie können es verwenden, um Ihre Bitcoin von Bisq Easy zu empfangen.\n\nSie können Bluewallet auf Ihrem Handy herunterladen, unabhängig davon, ob Sie ein Android- oder iOS-Gerät haben. Besuchen Sie dazu die offizielle Webseite unter 'bluewallet.io'. Sobald Sie dort sind, klicken Sie auf App Store oder Google Play, je nachdem, welches Gerät Sie verwenden.\n\nWichtiger Hinweis: Zu Ihrer Sicherheit stellen Sie sicher, dass Sie die App aus dem offiziellen App Store Ihres Geräts herunterladen. Die offizielle App wird von 'Bluewallet Services, S.R.L.' bereitgestellt, und Sie sollten dies in Ihrem App Store sehen können. Das Herunterladen einer bösartigen Wallet könnte Ihre Gelder gefährden.\n\nAbschließend ein kurzer Hinweis: Bisq ist in keiner Weise mit Bluewallet verbunden. Wir empfehlen die Verwendung von Bluewallet aufgrund seiner Qualität und Einfachheit, aber es gibt viele andere Optionen auf dem Markt. Sie sollten sich absolut frei fühlen, zu vergleichen, auszuprobieren und die Wallet zu wählen, die am besten zu Ihren Bedürfnissen passt. +bisqEasy.walletGuide.download.link=Klicke hier, um die Seite von Bluewallet zu besuchen + +bisqEasy.walletGuide.createWallet.headline=Deine neue Wallet erstellen +bisqEasy.walletGuide.createWallet.content=Bluewallet ermöglicht es dir, mehrere Wallets für verschiedene Zwecke zu erstellen. Für den Anfang benötigst du nur eine Wallet. Wenn du Bluewallet öffnest, wirst du aufgefordert, eine neue Wallet hinzuzufügen. Gib einen Namen für deine Wallet ein und wähle unter 'Typ' die Option *Bitcoin*. Du kannst alle anderen Optionen so belassen, wie sie erscheinen, und auf *Erstellen* klicken.\n\nIm nächsten Schritt werden dir 12 Wörter angezeigt. Diese 12 Wörter sind das Backup, mit dem du deine Wallet wiederherstellen kannst, wenn etwas mit deinem Telefon passiert. Schreibe sie in der gleichen Reihenfolge auf ein Blatt Papier (nicht digital), bewahre dieses Papier sicher auf und stelle sicher, dass nur du Zugriff darauf hast. Du kannst mehr darüber lesen, wie du deine Wallet sichern kannst, in den Lernabschnitten von Bisq 2, die Wallets und Sicherheit gewidmet sind.\n\nWenn du fertig bist, klicke auf 'Okay, ich habe es aufgeschrieben'.\nHerzlichen Glückwunsch! Du hast deine Wallet erstellt! Lass uns nun weitergehen, wie du deinen Bitcoin darin empfangen kannst. + +bisqEasy.walletGuide.receive.headline=Bitcoin in deiner Wallet empfangen +bisqEasy.walletGuide.receive.content=Um Ihre Bitcoin zu empfangen, benötigst du eine Adresse von deiner Wallet. Um diese zu erhalten, klicke auf deine neu erstellte Wallet und dann auf die Schaltfläche 'Empfangen' unten auf dem Bildschirm.\n\nBluewallet zeigt dir eine unbenutzte Adresse als QR-Code und als Text an. Diese Adresse musst du deinem Partner bei Bisq Easy geben, damit er dir den Bitcoin schicken kann, den du kaufst. Du kannst die Adresse auf deinen PC übertragen, indem du den QR-Code mit einer Kamera scannst, indem du die Adresse per E-Mail oder Chat-Nachricht sendest oder sie einfach eingibst.\n\nSobald du den Handel abgeschlossen hast, erkennt Bluewallet den eingehenden Bitcoin und aktualisiert dein Guthaben mit den neuen Mitteln. Für jede neue Transaktion erhältst du eine neue Adresse, um deine Privatsphäre zu schützen.\n\nDas sind die Grundlagen, die du wissen musst, um damit zu beginnen, Bitcoin in deiner eigenen Wallet zu empfangen. Wenn du mehr über Bluewallet erfahren möchtest, empfehlen wir dir, die unten aufgeführten Videos anzusehen. +bisqEasy.walletGuide.receive.link1=Bluewallet-Tutorial von Anita Posch +bisqEasy.walletGuide.receive.link2=Bluewallet-Tutorial von BTC Sessions + + +###################################################### +# Offerbook +###################################################### + +bisqEasy.offerbook.markets=Märkte +bisqEasy.offerbook.markets.CollapsedList.Tooltip=Märkte erweitern +bisqEasy.offerbook.markets.ExpandedList.Tooltip=Märkte minimieren +bisqEasy.offerbook.marketListCell.numOffers.one={0} Angebot +bisqEasy.offerbook.marketListCell.numOffers.many={0} Angebote +bisqEasy.offerbook.marketListCell.numOffers.tooltip.none=Keine Angebote im {0}-Markt verfügbar +bisqEasy.offerbook.marketListCell.numOffers.tooltip.one={0} Angebot ist im {1}-Markt verfügbar +bisqEasy.offerbook.marketListCell.numOffers.tooltip.many={0} Angebote sind im {1}-Markt verfügbar +bisqEasy.offerbook.marketListCell.favourites.tooltip.addToFavourites=Zu Favoriten hinzufügen +bisqEasy.offerbook.marketListCell.favourites.tooltip.removeFromFavourites=Aus Favoriten entfernen +bisqEasy.offerbook.marketListCell.favourites.maxReached.popup=Es ist nur Platz für 5 Favoriten. Entferne einen Favoriten und versuche es erneut. + +bisqEasy.offerbook.dropdownMenu.sortAndFilterMarkets.tooltip=Märkte sortieren und filtern +bisqEasy.offerbook.dropdownMenu.sortAndFilterMarkets.sortTitle=Sortieren nach: +bisqEasy.offerbook.dropdownMenu.sortAndFilterMarkets.mostOffers=Meiste Angebote +bisqEasy.offerbook.dropdownMenu.sortAndFilterMarkets.nameAZ=Name A-Z +bisqEasy.offerbook.dropdownMenu.sortAndFilterMarkets.nameZA=Name Z-A +bisqEasy.offerbook.dropdownMenu.sortAndFilterMarkets.filterTitle=Zeige Märkte: +bisqEasy.offerbook.dropdownMenu.sortAndFilterMarkets.withOffers=Mit Angeboten +bisqEasy.offerbook.dropdownMenu.sortAndFilterMarkets.favourites=Nur Favoriten +bisqEasy.offerbook.dropdownMenu.sortAndFilterMarkets.all=Alle + +bisqEasy.offerbook.chatMessage.deleteOffer.confirmation=Sind Sie sicher, dass Sie dieses Angebot löschen möchten? +bisqEasy.offerbook.chatMessage.deleteMessage.confirmation=Bist du sicher, dass du diese Nachricht löschen möchtest? + +bisqEasy.offerbook.offerList=Angebotsliste +bisqEasy.offerbook.offerList.collapsedList.tooltip=Angebotsliste erweitern +bisqEasy.offerbook.offerList.expandedList.tooltip=Angebotsliste minimieren +bisqEasy.offerbook.offerList.table.columns.peerProfile=Peer-Profil +bisqEasy.offerbook.offerList.table.columns.price=Preis +bisqEasy.offerbook.offerList.table.columns.fiatAmount={0} Betrag +bisqEasy.offerbook.offerList.table.columns.paymentMethod=Zahlung +bisqEasy.offerbook.offerList.table.columns.settlementMethod=Abrechnung +bisqEasy.offerbook.offerList.table.filters.offerDirection.buyFrom=Kaufen von +bisqEasy.offerbook.offerList.table.filters.offerDirection.sellTo=Verkaufen an +bisqEasy.offerbook.offerList.table.filters.paymentMethods.title=Zahlungen ({0}) +bisqEasy.offerbook.offerList.table.filters.paymentMethods.title.all=Alle +bisqEasy.offerbook.offerList.table.filters.paymentMethods.customPayments=Benutzerdefinierte Zahlungen +bisqEasy.offerbook.offerList.table.filters.paymentMethods.clearFilters=Filter zurücksetzen +bisqEasy.offerbook.offerList.table.filters.showMyOffersOnly=Nur meine Angebote + +bisqEasy.offerbook.offerList.table.columns.price.tooltip.fixPrice=Fester Preis: {0}\nProzentsatz vom aktuellen Marktpreis: {1} +bisqEasy.offerbook.offerList.table.columns.price.tooltip.marketPrice=Marktpreis: {0} +bisqEasy.offerbook.offerList.table.columns.price.tooltip.floatPrice=Prozentualer Preis {0}\nMit aktuellem Marktpreis: {1} + + +###################################################### +# Open trades +###################################################### + +bisqEasy.openTrades.table.headline=Meine offenen Transaktionen +bisqEasy.openTrades.noTrades=Du hast keine offenen Transaktionen +bisqEasy.openTrades.rejectTrade=Handel ablehnen +bisqEasy.openTrades.cancelTrade=Handel abbrechen +bisqEasy.openTrades.tradeLogMessage.rejected={0} hat den Handel abgelehnt +bisqEasy.openTrades.tradeLogMessage.cancelled={0} hat den Handel storniert +bisqEasy.openTrades.rejectTrade.warning=Da der Austausch von Kontodetails noch nicht begonnen hat, stellt das Ablehnen des Handels keinen Verstoß gegen die Handelsregeln dar.\n\nWenn du Fragen hast oder Probleme auftreten, zögere nicht, deinen Handelspartner zu kontaktieren oder Hilfe im 'Support-Bereich' zu suchen.\n\nBist du sicher, dass du den Handel ablehnen möchtest? +bisqEasy.openTrades.cancelTrade.warning.buyer=Da der Austausch von Kontodetails begonnen hat, wird das Abbrechen des Handels ohne das Einverständnis des Verkäufers {0} +bisqEasy.openTrades.cancelTrade.warning.seller=Da der Austausch von Kontodetails begonnen hat, wird das Abbrechen des Handels ohne das Einverständnis des Käufers {0} + +bisqEasy.openTrades.cancelTrade.warning.part2=Die Zustimmung könnte als Verstoß gegen die Handelsregeln angesehen werden und kann dazu führen, dass dein Profil vom Netzwerk ausgeschlossen wird.\n\nWenn der Partner mehr als 24 Stunden lang nicht reagiert hat und keine Zahlung geleistet wurde, kannst du den Handel ohne Konsequenzen ablehnen. Die Haftung liegt bei der nicht reagierenden Partei.\n\nWenn du Fragen hast oder auf Probleme stößt, zögere bitte nicht, deinen Handelspartner zu kontaktieren oder Hilfe im 'Support-Bereich' zu suchen.\n\nWenn du glaubst, dass dein Handelspartner die Handelsregeln verletzt hat, hast du die Möglichkeit, einen Mediationsantrag zu stellen. Ein Mediator wird dem Handelschat beitreten und daran arbeiten, eine kooperative Lösung zu finden.\n\nBist du sicher, dass du den Handel abbrechen möchtest? + +bisqEasy.openTrades.closeTrade.warning.interrupted=Bevor du den Handel schließt, kannst du die Handels-Daten als CSV-Datei sichern.\n\nSobald der Handel geschlossen ist, sind alle mit dem Handel verbundenen Daten gelöscht, und du kannst nicht mehr mit deinem Handelspartner im Handels-Chat kommunizieren.\n\nMöchtest du den Handel jetzt schließen? + +bisqEasy.openTrades.closeTrade.warning.completed=Dein Handel wurde abgeschlossen.\n\nDu kannst den Handel jetzt schließen oder die Handels-Daten bei Bedarf auf deinem Computer sichern.\n\nSobald der Handel geschlossen ist, sind alle mit dem Handel verbundenen Daten verschwunden, und du kannst nicht mehr mit deinem Handelspartner im Handels-Chat kommunizieren. +bisqEasy.openTrades.closeTrade=Handel schließen +bisqEasy.openTrades.confirmCloseTrade=Handelsschluss bestätigen +bisqEasy.openTrades.exportTrade=Handels-Daten exportieren +bisqEasy.openTrades.reportToMediator=An Mediator melden +bisqEasy.openTrades.rejected.self=Du hast den Handel abgelehnt +bisqEasy.openTrades.rejected.peer=Dein Handelspartner hat den Handel abgelehnt +bisqEasy.openTrades.cancelled.self=Du hast den Handel abgebrochen +bisqEasy.openTrades.cancelled.peer=Dein Handelspartner hat den Handel abgebrochen +bisqEasy.openTrades.inMediation.info=Ein Mediator ist dem Handels-Chat beigetreten. Bitte benutze den Handels-Chat unten, um Unterstützung vom Mediator zu erhalten. +bisqEasy.openTrades.failed=Der Handel ist aufgrund einer Fehlermeldung fehlgeschlagen: {0} +bisqEasy.openTrades.failed.popup=Der Handel ist aufgrund eines Fehlers fehlgeschlagen.\nFehlermeldung: {0}\n\nStack-Trace: {1} +bisqEasy.openTrades.failedAtPeer=Der Handel des Partners ist aufgrund eines Fehlers fehlgeschlagen: {0} +bisqEasy.openTrades.failedAtPeer.popup=Der Handel des Partners ist aufgrund eines Fehlers fehlgeschlagen.\nFehler verursacht durch: {0}\n\nStack-Trace: {1} +bisqEasy.openTrades.table.tradePeer=Handelspartner +bisqEasy.openTrades.table.me=Ich +bisqEasy.openTrades.table.mediator=Mediator +bisqEasy.openTrades.table.tradeId=Handels-ID +bisqEasy.openTrades.table.price=Preis +bisqEasy.openTrades.table.baseAmount=Menge in BTC +bisqEasy.openTrades.table.quoteAmount=Menge +bisqEasy.openTrades.table.paymentMethod=Zahlungsmethode +bisqEasy.openTrades.table.paymentMethod.tooltip=Fiat-Zahlungsmethode: {0} +bisqEasy.openTrades.table.settlementMethod=Abrechnung +bisqEasy.openTrades.table.settlementMethod.tooltip=Bitcoin-Abrechnungsmethode: {0} +bisqEasy.openTrades.table.makerTakerRole=Meine Rolle +bisqEasy.openTrades.table.direction.buyer=Kauf von: +bisqEasy.openTrades.table.direction.seller=Verkauf an: +bisqEasy.openTrades.table.makerTakerRole.maker=Ersteller +bisqEasy.openTrades.table.makerTakerRole.taker=Empfänger +bisqEasy.openTrades.csv.quoteAmount=Betrag in {0} +bisqEasy.openTrades.csv.txIdOrPreimage=Transaktions-ID/Preimage +bisqEasy.openTrades.csv.receiverAddressOrInvoice=Empfängeradresse/Rechnung +bisqEasy.openTrades.csv.paymentMethod=Zahlungsmethode + +bisqEasy.openTrades.chat.peer.description=Chat-Partner +bisqEasy.openTrades.chat.detach=Abtrennen +bisqEasy.openTrades.chat.detach.tooltip=Chat in neuem Fenster öffnen +bisqEasy.openTrades.chat.attach=Zurück +bisqEasy.openTrades.chat.attach.tooltip=Chat zurück zum Hauptfenster wiederherstellen +bisqEasy.openTrades.chat.window.title={0} - Chat mit {1} / Handels-ID: {2} +bisqEasy.openTrades.chat.peerLeft.headline={0} hat den Handel verlassen +bisqEasy.openTrades.chat.peerLeft.subHeadline=Falls der Handel nicht abgeschlossen ist und du Unterstützung benötigst, kontaktiere den Mediator oder besuche den Support-Chat. + +###################################################### +# Private chat +###################################################### + +bisqEasy.privateChats.leave=Chat verlassen +bisqEasy.privateChats.table.myUser=Mein Profil + + +###################################################### +# Top pane +###################################################### + +# Commented out in code +# suppress inspection "UnusedProperty" +bisqEasy.topPane.filter=Angebotsbuch filtern +# Commented out in code +# suppress inspection "UnusedProperty" +bisqEasy.topPane.closeFilter=Filter schließen +bisqEasy.topPane.filter.offersOnly=Nur Angebote im Bisq Easy-Angebotsbuch anzeigen + + +################################################################################ +# +# BisqEasyOfferDetails +# +################################################################################ + +bisqEasy.offerDetails.headline=Angebotsdetails +bisqEasy.offerDetails.buy=Angebot zum Kauf von Bitcoin +bisqEasy.offerDetails.sell=Angebot zum Verkauf von Bitcoin + +bisqEasy.offerDetails.direction=Angebotsart +bisqEasy.offerDetails.baseSideAmount=Bitcoin-Betrag +bisqEasy.offerDetails.quoteSideAmount={0} Betrag +bisqEasy.offerDetails.price={0} Angebotspreis +bisqEasy.offerDetails.priceValue={0} (Aufschlag: {1}) +bisqEasy.offerDetails.paymentMethods=Unterstützte Zahlungsmethoden +bisqEasy.offerDetails.id=Angebots-ID +bisqEasy.offerDetails.date=Erstellungsdatum +bisqEasy.offerDetails.makersTradeTerms=Handelsbedingungen des Anbieters + + +################################################################################ +# +# OpenTradesWelcome +# +################################################################################ + +bisqEasy.openTrades.welcome.headline=Willkommen bei Ihrem ersten Bisq Easy-Handel! +bisqEasy.openTrades.welcome.info=Bitte machen Sie sich mit dem Konzept, dem Ablauf und den Regeln für den Handel auf Bisq Easy vertraut.\nNachdem Sie die Handelsregeln gelesen und akzeptiert haben, können Sie den Handel starten. +bisqEasy.openTrades.welcome.line1=Informieren Sie sich über das Sicherheitsmodell von Bisq Easy +bisqEasy.openTrades.welcome.line2=Erfahren Sie, wie der Handelsprozess funktioniert +bisqEasy.openTrades.welcome.line3=Machen Sie sich mit den Handelsregeln vertraut + + +################################################################################ +# +# TradeState +# +################################################################################ + +bisqEasy.tradeState.requestMediation=Mediation anfordern +bisqEasy.tradeState.reportToMediator=An Mediator melden +bisqEasy.tradeState.acceptOrRejectSellersPrice.title=Achtung Preisänderung! +bisqEasy.tradeState.acceptOrRejectSellersPrice.description.buyersPrice=Ihr Angebotspreis zum Kauf von Bitcoin betrug {0}. +bisqEasy.tradeState.acceptOrRejectSellersPrice.description.sellersPrice=Der Verkäufer bietet Ihnen jedoch diesen Preis an: {0}. +bisqEasy.tradeState.acceptOrRejectSellersPrice.description.question=Möchten Sie diesen neuen Preis akzeptieren oder den Handel ablehnen/abbrechen*? +bisqEasy.tradeState.acceptOrRejectSellersPrice.description.disclaimer=(*Beachte, dass in diesem speziellen Fall das Abbrechen des Handels NICHT als Verstoß gegen die Handelsregeln angesehen wird.) +bisqEasy.tradeState.acceptOrRejectSellersPrice.button.accept=Preis akzeptieren + +# Trade State: Header +bisqEasy.tradeState.header.peer=Handelspartner +bisqEasy.tradeState.header.direction=Ich möchte +bisqEasy.tradeState.header.send=Zu sendender Betrag +bisqEasy.tradeState.header.pay=Zu zahlender Betrag +bisqEasy.tradeState.header.receive=Zu erhaltender Betrag +bisqEasy.tradeState.header.tradeId=Handels-ID + +# Trade State: Phase (left side) +bisqEasy.tradeState.phase1=Kontodetails +bisqEasy.tradeState.phase2=Fiat-Zahlung +bisqEasy.tradeState.phase3=Bitcoin-Überweisung +bisqEasy.tradeState.phase4=Handel abgeschlossen + +# Trade State: Info (right side) + +bisqEasy.tradeState.info.phase3b.balance.help.explorerLookup=Suche nach Transaktion im Block Explorer ''{0}'' +bisqEasy.tradeState.info.phase3b.balance.help.notConfirmed=Transaktion im Mempool gesehen, aber noch nicht bestätigt +bisqEasy.tradeState.info.phase3b.balance.help.confirmed=Transaktion ist bestätigt +bisqEasy.tradeState.info.phase3b.txId.failed=Transaktionssuche zu ''{0}'' fehlgeschlagen mit {1}: ''{2}'' +bisqEasy.tradeState.info.phase3b.button.skip=Warten auf Blockbestätigung überspringen + +bisqEasy.tradeState.info.phase3b.balance.invalid.noOutputsForAddress=Keine passenden Ausgaben in der Transaktion gefunden +bisqEasy.tradeState.info.phase3b.balance.invalid.multipleOutputsForAddress=Mehrere passende Ausgaben in der Transaktion gefunden +bisqEasy.tradeState.info.phase3b.balance.invalid.amountNotMatching=Der Ausgabebetrag aus der Transaktion stimmt nicht mit dem Handelsbetrag überein + +bisqEasy.tradeState.info.phase3b.button.next=Weiter +bisqEasy.tradeState.info.phase3b.button.next.amountNotMatching=Der Ausgabebetrag für die Adresse ''{0}'' in der Transaktion ''{1}'' beträgt ''{2}'', was nicht mit dem Handelsbetrag von ''{3}'' übereinstimmt.\n\nKonntest du dieses Problem mit deinem Handelspartner klären?\nWenn nicht, kannst du in Betracht ziehen, Mediation anzufordern, um das Problem zu lösen. +bisqEasy.tradeState.info.phase3b.button.next.noOutputForAddress=Für die Adresse ''{0}'' in der Transaktion ''{1}'' wurde keine passende Ausgabe gefunden.\n\nKonntest du dieses Problem mit deinem Handelspartner klären?\nWenn nicht, kannst du in Betracht ziehen, Mediation anzufordern, um das Problem zu lösen. + +bisqEasy.tradeState.info.phase3b.button.next.amountNotMatching.resolved=Ich habe es gelöst + +bisqEasy.tradeState.info.phase3b.txId=Transaktions-ID +bisqEasy.tradeState.info.phase3b.txId.tooltip=Transaktion im Block Explorer öffnen +bisqEasy.tradeState.info.phase3b.lightning.preimage=Preimage + +bisqEasy.tradeState.info.phase4.txId.tooltip=Transaktion im Block Explorer öffnen +bisqEasy.tradeState.info.phase4.exportTrade=Handelsdaten exportieren +bisqEasy.tradeState.info.phase4.leaveChannel=Handel schließen +#################################################################### +# Dynamically created from BitcoinPaymentRail enum name +#################################################################### +# suppress inspection "UnusedProperty" +bisqEasy.tradeState.bitcoinPaymentData.MAIN_CHAIN=Bitcoin-Adresse +# suppress inspection "UnusedProperty" +bisqEasy.tradeState.bitcoinPaymentData.LN=Lightning-Rechnung +# suppress inspection "UnusedProperty" +bisqEasy.tradeState.paymentProof.MAIN_CHAIN=Transaktions-ID +# suppress inspection "UnusedProperty" +bisqEasy.tradeState.paymentProof.LN=Preimage + + +# Trade State Info: Buyer +#################################################################### +# Dynamically created from BitcoinPaymentRail enum name +#################################################################### +# suppress inspection "UnusedProperty" +bisqEasy.tradeState.info.buyer.phase1a.bitcoinPayment.headline.MAIN_CHAIN=Geben Sie Ihre Bitcoin-Adresse ein +# suppress inspection "UnusedProperty" +bisqEasy.tradeState.info.buyer.phase1a.bitcoinPayment.description.MAIN_CHAIN=Bitcoin-Adresse +# suppress inspection "UnusedProperty" +bisqEasy.tradeState.info.buyer.phase1a.bitcoinPayment.prompt.MAIN_CHAIN=Geben Sie Ihre Bitcoin-Adresse ein +# suppress inspection "UnusedProperty" +bisqEasy.tradeState.info.buyer.phase1a.tradeLogMessage.MAIN_CHAIN={0} hat die Bitcoin-Adresse ''{1}'' gesendet +# suppress inspection "UnusedProperty" +bisqEasy.tradeState.info.buyer.phase1a.bitcoinPayment.headline.LN=Gib deine Lightning-Rechnung ein +# suppress inspection "UnusedProperty" +bisqEasy.tradeState.info.buyer.phase1a.bitcoinPayment.description.LN=Lightning-Rechnung +# suppress inspection "UnusedProperty" +bisqEasy.tradeState.info.buyer.phase1a.bitcoinPayment.prompt.LN=Gib deine Lightning-Rechnung ein +# suppress inspection "UnusedProperty" +bisqEasy.tradeState.info.buyer.phase1a.tradeLogMessage.LN={0} hat die Lightning-Rechnung „{1}“ gesendet + +bisqEasy.tradeState.info.buyer.phase1a.bitcoinPayment.walletHelp=Wenn Sie noch kein Wallet eingerichtet haben, finden Sie Hilfe im Wallet-Leitfaden +bisqEasy.tradeState.info.buyer.phase1a.walletHelpButton=Wallet-Leitfaden öffnen +bisqEasy.tradeState.info.buyer.phase1a.send=An Verkäufer senden +bisqEasy.tradeState.info.buyer.phase1a.scanQrCode.tooltip=QR-Code mit deiner Webcam scannen +bisqEasy.tradeState.info.buyer.phase1a.scanQrCode.webcamState.description=Webcam-Verbindungsstatus +bisqEasy.tradeState.info.buyer.phase1a.scanQrCode.webcamState.connecting=Verbindung zur Webcam wird hergestellt... +bisqEasy.tradeState.info.buyer.phase1a.scanQrCode.webcamState.imageRecognized=Webcam verbunden +bisqEasy.tradeState.info.buyer.phase1a.scanQrCode.webcamState.failed=Verbindung zur Webcam fehlgeschlagen +bisqEasy.tradeState.info.buyer.phase1b.headline=Warten auf die Kontodaten des Verkäufers +bisqEasy.tradeState.info.buyer.phase1b.info=Sie können den untenstehenden Chat nutzen, um mit dem Verkäufer in Kontakt zu treten. + +bisqEasy.tradeState.info.buyer.phase2a.headline=Senden Sie {0} an das Zahlungskonto des Verkäufers +bisqEasy.tradeState.info.buyer.phase2a.quoteAmount=Zu überweisender Betrag +bisqEasy.tradeState.info.buyer.phase2a.sellersAccount=Zahlungskonto des Verkäufers +bisqEasy.tradeState.info.buyer.phase2a.reasonForPaymentInfo=Bitte lassen Sie das Feld 'Zahlungsgrund' leer, falls Sie eine Banküberweisung tätigen +bisqEasy.tradeState.info.buyer.phase2a.confirmFiatSent=Zahlung von {0} bestätigen +bisqEasy.tradeState.info.buyer.phase2a.tradeLogMessage={0} hat die {1}-Zahlung eingeleitet + +bisqEasy.tradeState.info.buyer.phase2b.headline=Warten auf die Bestätigung des Verkäufers über den Zahlungseingang +bisqEasy.tradeState.info.buyer.phase2b.info=Sobald der Verkäufer deine Zahlung von {0} erhalten hat, wird er die Bitcoin-Zahlung an deine angegebene {1} starten. + +bisqEasy.tradeState.info.buyer.phase3a.headline=Warten auf die Bitcoin-Zahlung des Verkäufers +bisqEasy.tradeState.info.buyer.phase3a.info=Der Verkäufer muss die Bitcoin-Zahlung an deine angegebene {0} starten. +bisqEasy.tradeState.info.buyer.phase3b.headline.ln=Der Verkäufer hat die Bitcoin über das Lightning-Netzwerk geschickt +bisqEasy.tradeState.info.buyer.phase3b.info.ln=Überweisungen über das Lightning-Netzwerk sind normalerweise augenblicklich. Wenn du die Zahlung nach 1 Minute noch nicht erhalten hast, kontaktiere den Verkäufer im Handels-Chat. In einigen Fällen können Zahlungen fehlschlagen und müssen wiederholt werden. +bisqEasy.tradeState.info.buyer.phase3b.confirmButton.ln=Empfang bestätigen +bisqEasy.tradeState.info.buyer.phase3b.tradeLogMessage.ln={0} hat bestätigt, die Bitcoin-Zahlung erhalten zu haben +bisqEasy.tradeState.info.buyer.phase3b.headline.MAIN_CHAIN=Der Verkäufer hat die Bitcoin-Zahlung gestartet +bisqEasy.tradeState.info.buyer.phase3b.info.MAIN_CHAIN=Sobald die Bitcoin-Transaktion im Bitcoin-Netzwerk sichtbar ist, werden Sie die Zahlung sehen. Nach 1 Blockchain-Bestätigung kann die Zahlung als abgeschlossen betrachtet werden. +bisqEasy.tradeState.info.buyer.phase3b.balance=Erhaltene Bitcoin +bisqEasy.tradeState.info.buyer.phase3b.balance.prompt=Warten auf Blockchain-Daten... + +# Trade State Info: Seller +bisqEasy.tradeState.info.seller.phase1.headline=Senden Sie Ihre Kontodaten an den Käufer +bisqEasy.tradeState.info.seller.phase1.accountData=Meine Kontodaten +bisqEasy.tradeState.info.seller.phase1.accountData.prompt=Geben Sie Ihre Kontodaten ein. Z.B. IBAN, BIC und Kontoinhabername +bisqEasy.tradeState.info.seller.phase1.buttonText=Kontodaten senden +bisqEasy.tradeState.info.seller.phase1.note=Hinweis: Sie können den untenstehenden Chat nutzen, um mit dem Käufer in Kontakt zu treten, bevor Sie Ihre Kontodaten preisgeben. +bisqEasy.tradeState.info.seller.phase1.tradeLogMessage={0} hat die Kontodaten gesendet:\n{1} + +bisqEasy.tradeState.info.seller.phase2a.waitForPayment.headline=Warten auf die {0} Zahlung des Käufers +bisqEasy.tradeState.info.seller.phase2a.waitForPayment.info=Sobald der Käufer die Zahlung von {0} eingeleitet hat, werden Sie benachrichtigt. + +bisqEasy.tradeState.info.seller.phase2b.headline=Überprüfen Sie, ob Sie {0} erhalten haben +bisqEasy.tradeState.info.seller.phase2b.info=Überprüfe dein Bankkonto oder die App deines Zahlungsanbieters, um den Eingang der Zahlung des Käufers zu bestätigen. + +bisqEasy.tradeState.info.seller.phase2b.fiatReceivedButton=Empfang von {0} bestätigen +bisqEasy.tradeState.info.seller.phase2b.tradeLogMessage={0} hat den Erhalt von {1} bestätigt + +bisqEasy.tradeState.info.seller.phase3a.fiatPaymentReceivedCheckBox=Ich habe bestätigt, {0} erhalten zu haben +bisqEasy.tradeState.info.seller.phase3a.sendBtc=Senden Sie {0} an den Käufer +bisqEasy.tradeState.info.seller.phase3a.baseAmount=Zu sendender Betrag +bisqEasy.tradeState.info.seller.phase3a.qrCodeDisplay.openWindow=Größeres Fenster öffnen +bisqEasy.tradeState.info.seller.phase3a.qrCodeDisplay.window.title=QR-Code für den Handel ''{0}'' scannen +bisqEasy.tradeState.info.seller.phase3b.headline.MAIN_CHAIN=Warten auf Blockchain-Bestätigung +bisqEasy.tradeState.info.seller.phase3b.info.MAIN_CHAIN=Die Bitcoin-Zahlung erfordert mindestens 1 Blockchain-Bestätigung, um als abgeschlossen betrachtet zu werden. +bisqEasy.tradeState.info.seller.phase3b.balance=Bitcoin-Zahlung +bisqEasy.tradeState.info.seller.phase3b.balance.prompt=Warten auf Blockchain-Daten... + +#################################################################### +# Dynamically created from BitcoinPaymentRail enum name +#################################################################### +# suppress inspection "UnusedProperty" +bisqEasy.tradeState.info.seller.phase3a.bitcoinPayment.description.MAIN_CHAIN=Bitcoin-Adresse +# suppress inspection "UnusedProperty" +bisqEasy.tradeState.info.seller.phase3a.paymentProof.description.MAIN_CHAIN=Transaktions-ID +# suppress inspection "UnusedProperty" +bisqEasy.tradeState.info.seller.phase3a.paymentProof.prompt.MAIN_CHAIN=Bitcoin-Transaktions-ID eingeben +# suppress inspection "UnusedProperty" +bisqEasy.tradeState.info.seller.phase3a.tradeLogMessage.paymentProof.MAIN_CHAIN=Transaktions-ID +# suppress inspection "UnusedProperty" +bisqEasy.tradeState.info.seller.phase3a.bitcoinPayment.description.LN=Lightning Rechnung +# suppress inspection "UnusedProperty" +bisqEasy.tradeState.info.seller.phase3a.paymentProof.description.LN=Preimage (optional) +# suppress inspection "UnusedProperty" +bisqEasy.tradeState.info.seller.phase3a.paymentProof.prompt.LN=Trage das Preimage ein, falls verf�gbar +# suppress inspection "UnusedProperty" +bisqEasy.tradeState.info.seller.phase3a.tradeLogMessage.paymentProof.LN=Preimage + +bisqEasy.tradeState.info.seller.phase3a.btcSentButton=Ich bestätige, {0} gesendet zu haben +bisqEasy.tradeState.info.seller.phase3a.tradeLogMessage={0} hat die Bitcoin-Zahlung gestartet. {1}: ''{2}'' +bisqEasy.tradeState.info.seller.phase3a.tradeLogMessage.noProofProvided={0} hat die Bitcoin-Zahlung gestartet. + +# suppress inspection "UnusedProperty" +bisqEasy.tradeState.info.seller.phase3a.paymentProof.warning.MAIN_CHAIN=Die Transaktions-ID, die du eingegeben hast, scheint ungültig zu sein.\n\nWenn du sicher bist, dass die Transaktions-ID gültig ist, kannst du diese Warnung ignorieren und fortfahren. +# suppress inspection "UnusedProperty" +bisqEasy.tradeState.info.seller.phase3a.paymentProof.warning.LN=Das Preimage, das du eingegeben hast, scheint ungültig zu sein.\n\nWenn du sicher bist, dass das Preimage gültig ist, kannst du diese Warnung ignorieren und fortfahren. +bisqEasy.tradeState.info.seller.phase3a.paymentProof.warning.proceed=Warnung ignorieren + +bisqEasy.tradeState.info.seller.phase3b.headline.ln=Auf Bestätigung des Bitcoin-Empfangs durch den Käufer warten +bisqEasy.tradeState.info.seller.phase3b.info.ln=Überweisungen über das Lightning-Netzwerk sind in der Regel augenblicklich und zuverlässig. In einigen Fällen können Zahlungen jedoch fehlschlagen und müssen wiederholt werden.\n\nUm Probleme zu vermeiden, warte bitte darauf, dass der Käufer den Empfang im Handels-Chat bestätigt, bevor du den Handel abschließt, da die Kommunikation danach nicht mehr möglich sein wird. +bisqEasy.tradeState.info.seller.phase3b.confirmButton.ln=Handel abschließen + + +###################################################### +# Trade Completed Table +##################################################### + +bisqEasy.tradeCompleted.title=Handel erfolgreich abgeschlossen +bisqEasy.tradeCompleted.tableTitle=Zusammenfassung +bisqEasy.tradeCompleted.header.tradeWith=Handel mit +bisqEasy.tradeCompleted.header.myDirection.seller=Ich habe verkauft +bisqEasy.tradeCompleted.header.myDirection.buyer=Ich habe gekauft +bisqEasy.tradeCompleted.header.myDirection.btc=btc +bisqEasy.tradeCompleted.header.myOutcome.seller=Ich habe erhalten +bisqEasy.tradeCompleted.header.myOutcome.buyer=Ich habe bezahlt +bisqEasy.tradeCompleted.header.paymentMethod=Zahlungsmethode +bisqEasy.tradeCompleted.header.tradeId=Handels-ID +bisqEasy.tradeCompleted.body.date=Datum +bisqEasy.tradeCompleted.body.tradePrice=Handelspreis +bisqEasy.tradeCompleted.body.tradeFee=Handelsgebühr +bisqEasy.tradeCompleted.body.tradeFee.value=Keine Handelsgebühren +bisqEasy.tradeCompleted.body.copy.txId.tooltip=Transaktions-ID in die Zwischenablage kopieren +bisqEasy.tradeCompleted.body.copy.explorerLink.tooltip=Kopiere den Transaktionslink im Block-Explorer +bisqEasy.tradeCompleted.body.txId.tooltip=Öffnen Sie den Block-Explorer für die Transaktion + + +################################################################################ +# +# Mediation +# +################################################################################ + +bisqEasy.mediation.request.confirm.headline=Mediation anfordern +bisqEasy.mediation.request.confirm.msg=Wenn du Probleme hast, die du nicht mit deinem Handelspartner lösen kannst, kannst du die Hilfe eines Mediators anfordern.\n\nBitte fordere keine Mediation für allgemeine Fragen an. Im Support-Bereich gibt es Chaträume, in denen du allgemeine Ratschläge und Hilfe erhalten kannst. +bisqEasy.mediation.request.confirm.openMediation=Mediation öffnen +bisqEasy.mediation.request.feedback.headline=Mediation angefordert +bisqEasy.mediation.request.feedback.msg=Eine Anfrage an die registrierten Mediatoren wurde gesendet.\n\nBitte habe Geduld, bis ein Mediator online ist, um dem Handelschat beizutreten und bei der Lösung von Problemen zu helfen. +bisqEasy.mediation.request.feedback.noMediatorAvailable=Es ist kein Mediator verfügbar. Bitte nutze stattdessen den Support-Chat. +bisqEasy.mediation.requester.tradeLogMessage={0} hat Mediation angefordert diff --git a/pocs/android_only_m2_j17jars/app/src/main/resources/bisq_easy_es.properties b/pocs/android_only_m2_j17jars/app/src/main/resources/bisq_easy_es.properties new file mode 100644 index 00000000..363f1faf --- /dev/null +++ b/pocs/android_only_m2_j17jars/app/src/main/resources/bisq_easy_es.properties @@ -0,0 +1,808 @@ +#################################################################### +# +# Chat module +# +#################################################################### + +bisqEasy.offerBookChannel.description=Canal de mercado para intercambiar {0} +bisqEasy.mediator=Mediador + + +#################################################################### +# +# Desktop module +# +#################################################################### + + +###################################################### +# Bisq Easy +###################################################### + +bisqEasy.dashboard=Comenzando +bisqEasy.offerbook=Libro de ofertas +bisqEasy.openTrades=Mis compra-ventas en curso + + +###################################################### +# Bisq Easy dashboard +###################################################### + +bisqEasy.onboarding.top.headline=Bisq Easy en 3 minutos +bisqEasy.onboarding.top.content1=Obtén una introducción rápida a Bisq Easy +bisqEasy.onboarding.top.content2=Descubre cómo funciona el proceso de intercambio +bisqEasy.onboarding.top.content3=Aprende sobre las simples reglas de compra-venta +bisqEasy.onboarding.openTradeGuide=Leer la guía de compra-venta +bisqEasy.onboarding.watchVideo=Ver el video +bisqEasy.onboarding.watchVideo.tooltip=Ver video de introducción incrustado + +bisqEasy.onboarding.left.headline=Ideal para principiantes +bisqEasy.onboarding.left.info=El asistente de compra-venta te guiará en tu primera operación de Bitcoin. Los vendedores de Bitcoin te ayudarán si tienes alguna pregunta. +bisqEasy.onboarding.left.button=Iniciar el asistente de compra-venta + +bisqEasy.onboarding.right.headline=Para traders experimentados +bisqEasy.onboarding.right.info=Explora el libro de ofertas para encontrar las mejores ofertas o crea tu propia oferta. +bisqEasy.onboarding.right.button=Abrir el libro de ofertas + + +################################################################################ +# +# Create offer +# +################################################################################ + +bisqEasy.tradeWizard.progress.direction=Comprar/Vender +bisqEasy.tradeWizard.progress.market=Moneda +bisqEasy.tradeWizard.progress.price=Precio +bisqEasy.tradeWizard.progress.amount=Cantidad +bisqEasy.tradeWizard.progress.paymentMethods=Métodos de pago +bisqEasy.tradeWizard.progress.takeOffer=Seleccionar oferta +bisqEasy.tradeWizard.progress.review=Revisar + + +################################################################################ +# Create offer / Direction +################################################################################ + +bisqEasy.tradeWizard.direction.headline=¿Deseas comprar o vender Bitcoin? +bisqEasy.tradeWizard.direction.subTitle=Selecciona una opción +bisqEasy.tradeWizard.direction.buy=Comprar Bitcoin +bisqEasy.tradeWizard.direction.buy.info=La forma más sencilla de obtener tu\nprimer Bitcoin +bisqEasy.tradeWizard.direction.sell=Vender Bitcoin +bisqEasy.tradeWizard.direction.sell.info=Los usuarios experimentados de Bisq con reputación pueden actuar como vendedores +bisqEasy.tradeWizard.direction.feedback.headline=¿Cómo construir reputación? +bisqEasy.tradeWizard.direction.feedback.subTitle1=Aún no has establecido ninguna Reputación. Para los vendedores de Bitcoin, construir Reputación es crucial porque se requiere que los compradores envíen primero la moneda fiduciaria en el proceso de intercambio, confiando en la integridad del vendedor.\n\nEste proceso de construcción de Reputación es más adecuado para usuarios experimentados de Bisq, y puedes encontrar información detallada al respecto en la sección 'Reputación'. +bisqEasy.tradeWizard.direction.feedback.gainReputation=Aprende cómo construir tu reputación +bisqEasy.tradeWizard.direction.feedback.subTitle2=Si bien es posible que los vendedores intercambien sin (o con poca) Reputación por cantidades relativamente bajas de hasta {0}, la probabilidad de encontrar un socio comercial se reduce considerablemente. Esto se debe a que los compradores tienden a evitar interactuar con vendedores que carecen de Reputación debido a riesgos de seguridad. +bisqEasy.tradeWizard.direction.feedback.tradeWithoutReputation=Continuar sin Reputación +bisqEasy.tradeWizard.direction.feedback.backToBuy=Atrás + + +################################################################################ +# Create offer / Market +################################################################################ + +bisqEasy.tradeWizard.market.headline.buyer=¿En qué moneda deseas pagar? +bisqEasy.tradeWizard.market.headline.seller=¿En qué moneda deseas recibir el pago? +bisqEasy.tradeWizard.market.subTitle=Elige tu moneda de intercambio +bisqEasy.tradeWizard.market.columns.name=Moneda Fiat +bisqEasy.tradeWizard.market.columns.numOffers=Num. de ofertas +bisqEasy.tradeWizard.market.columns.numPeers=Usuarios en línea + + +################################################################################ +# Create offer / Price +################################################################################ + +bisqEasy.price.headline=¿Cuál es tu precio de intercambio? +bisqEasy.tradeWizard.price.subtitle=Esto puede marcarse como un precio porcentual que fluctúa con el precio de mercado o un precio fijo. +bisqEasy.price.percentage.title=Precio porcentual +bisqEasy.price.percentage.inputBoxText=Porcentaje del precio de mercado entre -10% y 50% +bisqEasy.price.tradePrice.title=Precio fijo +bisqEasy.price.tradePrice.inputBoxText=Precio de la operación en {0} +bisqEasy.price.feedback.sentence=Tu oferta tiene {0} probabilidades de ser aceptada a este precio. +bisqEasy.price.feedback.sentence.veryLow=muy bajas +bisqEasy.price.feedback.sentence.low=bajas +bisqEasy.price.feedback.sentence.some=algunas +bisqEasy.price.feedback.sentence.good=buenas +bisqEasy.price.feedback.sentence.veryGood=muy buenas +bisqEasy.price.feedback.learnWhySection.openButton=¿Por qué? +bisqEasy.price.feedback.learnWhySection.closeButton=Volver a Precio de la Operación +bisqEasy.price.feedback.learnWhySection.title=¿Por qué debería pagar un precio más alto al vendedor? +bisqEasy.price.feedback.learnWhySection.description.intro=La razón es que el vendedor tiene que cubrir gastos adicionales y compensar por su servicio, específicamente: +bisqEasy.price.feedback.learnWhySection.description.exposition=- Construir reputación lo cual puede ser costoso.- El vendedor tiene que pagar las comisiones de los mineros.- El vendedor es el asistente en el proceso de la operación, de forma que invierte más tiempo. +bisqEasy.price.warn.invalidPrice.outOfRange=El precio introducido no está en el rango de -10% a 50%. +bisqEasy.price.warn.invalidPrice.numberFormatException=El precio introducido no es un número válido. +bisqEasy.price.warn.invalidPrice.exception=El precio introducido no es válido.\n\nMensaje de error: {0} + + +################################################################################ +# Create offer / Amount +################################################################################ + +bisqEasy.tradeWizard.amount.headline.buyer=¿Cuánto deseas gastar? +bisqEasy.tradeWizard.amount.headline.seller=¿Cuánto deseas recibir? +bisqEasy.tradeWizard.amount.description.minAmount=Establece el valor mínimo para el rango de cantidad +bisqEasy.tradeWizard.amount.description.maxAmount=Establece el valor máximo para el rango de cantidad +bisqEasy.tradeWizard.amount.description.fixAmount=Establece la cantidad que deseas intercambiar +bisqEasy.tradeWizard.amount.addMinAmountOption=Agregar rango mínimo/máximo para la cantidad +bisqEasy.tradeWizard.amount.removeMinAmountOption=Usar un valor fijo de cantidad +bisqEasy.component.amount.minRangeValue=Mínimo {0} +bisqEasy.component.amount.maxRangeValue=Máximo {0} +bisqEasy.component.amount.baseSide.tooltip.btcAmount.marketPrice=Esta es la cantidad de Bitcoin con el precio de mercado actual. +bisqEasy.component.amount.baseSide.tooltip.btcAmount.selectedPrice=Esta es la cantidad de Bitcoin con el precio que has seleccionado. +bisqEasy.component.amount.baseSide.tooltip.buyerInfo=Los vendedores pueden pedir un precio más alto ya que incurren en costes para adquirir reputación.\nEs común un premium del 5-15% sobre el precio de mercado. +bisqEasy.component.amount.baseSide.tooltip.bestOfferPrice=Esta es la cantidad de Bitcoin con el mejor precio\nentre las ofertas coincidentes: {0} +bisqEasy.component.amount.baseSide.tooltip.buyer.btcAmount=Esta es la cantidad de Bitcoin a recibir +bisqEasy.component.amount.baseSide.tooltip.seller.btcAmount=Esta es la cantidad de Bitcoin a gastar +bisqEasy.component.amount.baseSide.tooltip.taker.offerPrice=con el precio de la oferta: {0} + + +bisqEasy.tradeWizard.amount.limitInfo.overlay.headline=Límites de cantidad de comercio basados en la Reputación +bisqEasy.tradeWizard.amount.limitInfo.overlay.close=Cerrar superposición + +bisqEasy.tradeWizard.amount.seller.wizard.numMatchingOffers.info=Hay {0} que coinciden con la cantidad de intercambio elegida. +bisqEasy.tradeWizard.amount.seller.wizard.limitInfo=Con tu Puntuación de Reputación de {0}, puedes intercambiar hasta +bisqEasy.tradeWizard.amount.seller.wizard.limitInfo.overlay.info=Con una Puntuación de Reputación de {0}, puedes comerciar hasta {1}.\n\nPuedes encontrar información sobre cómo aumentar tu reputación en ''Reputación/Construir Reputación''. + +bisqEasy.tradeWizard.amount.seller.limitInfo.scoreTooLow=Con tu Puntuación de Reputación de {0}, el monto de tu intercambio no debe exceder +bisqEasy.tradeWizard.amount.seller.limitInfo.overlay.info.scoreTooLow=Tu Puntuación de Reputación de {0} no ofrece suficiente seguridad para los compradores.\n\nLos compradores que consideren aceptar tu oferta recibirán una advertencia sobre los riesgos potenciales al tomar tu oferta.\n\nPuedes encontrar información sobre cómo aumentar tu reputación en ''Reputación/Construir Reputación''. + +bisqEasy.takeOffer.amount.seller.limitInfo.lowToleratedAmount=Como el monto de la transacción es inferior a {0}, los requisitos de Reputación se han relajado. +bisqEasy.takeOffer.amount.seller.limitInfo.scoreTooLow=Como tu Puntuación de Reputación es solo {0}, tu cantidad de comercio está restringida a +bisqEasy.takeOffer.amount.seller.limitInfo.overlay.info.scoreTooLow=Para montos de hasta {0}, los requisitos de reputación son más flexibles.\n\nTu Puntuación de Reputación de {1} no ofrece suficiente seguridad para el comprador. Sin embargo, dado el bajo monto de la transacción, el comprador aceptó asumir el riesgo.\n\nPuedes encontrar información sobre cómo aumentar tu reputación en ''Reputación/Construir Reputación''. + +bisqEasy.tradeWizard.amount.seller.limitInfo.sufficientScore=Tu Puntuación de Reputación de {0} proporciona seguridad para ofertas de hasta +bisqEasy.tradeWizard.amount.seller.limitInfo.overlay.info.sufficientScore=Con una Puntuación de Reputación de {0}, proporcionas seguridad para intercambios de hasta {1}. + +bisqEasy.tradeWizard.amount.seller.limitInfo.inSufficientScore=La seguridad proporcionada por tu Puntuación de Reputación de {0} es insuficiente para ofertas superiores a +bisqEasy.tradeWizard.amount.seller.limitInfo.overlay.info.inSufficientScore=Con una Puntuación de Reputación de {0}, la seguridad que proporcionas es insuficiente para transacciones superiores a {1}.\n\nAún puedes crear tales ofertas, pero los compradores serán advertidos sobre los riesgos potenciales al intentar aceptar tu oferta.\n\nPuedes encontrar información sobre cómo aumentar tu reputación en ''Reputación/Construir Reputación''. + +bisqEasy.tradeWizard.amount.seller.limitInfoAmount={0}. +bisqEasy.tradeWizard.amount.seller.limitInfo.link=Aprender más + + +bisqEasy.tradeWizard.amount.seller.limitInfo.overlay.linkToWikiText=Para más detalles sobre el sistema de Reputación, visita la Wiki de Bisq en: + +bisqEasy.tradeWizard.amount.seller.limitInfo.noReputationNeededForMaxOrFixedAmount=Para montos de hasta {0} no se requiere Reputación. +bisqEasy.tradeWizard.amount.seller.limitInfo.noReputationNeededForMaxOrFixedAmount.overlay.info.scoreTooLow=Para montos de hasta {0}, los requisitos de reputación son más flexibles.\n\nTu Puntuación de Reputación de {1} no ofrece suficiente seguridad para los compradores. Sin embargo, dado el bajo monto involucrado, los compradores podrían considerar aceptar la oferta una vez que sean informados de los riesgos asociados.\n\nPuedes encontrar información sobre cómo aumentar tu reputación en ''Reputación/Construir Reputación''. + + +bisqEasy.tradeWizard.amount.buyer.limitInfo.learnMore=Aprender más + +# suppress inspection "UnusedProperty" +bisqEasy.tradeWizard.amount.buyer.numSellers.0=no hay ningún vendedor +# suppress inspection "UnusedProperty" +bisqEasy.tradeWizard.amount.buyer.numSellers.1=hay un vendedor +# suppress inspection "UnusedProperty" +bisqEasy.tradeWizard.amount.buyer.numSellers.*=hay {0} vendedores + +# suppress inspection "UnusedProperty" +bisqEasy.tradeWizard.amount.numOffers.0=no hay oferta +# suppress inspection "UnusedProperty" +bisqEasy.tradeWizard.amount.numOffers.1=es una oferta +# suppress inspection "UnusedProperty" +bisqEasy.tradeWizard.amount.numOffers.*=hay {0} ofertas + +bisqEasy.tradeWizard.amount.buyer.limitInfo=Hay {0} en la red con suficiente Reputación para aceptar una oferta de {1}. +bisqEasy.tradeWizard.amount.buyer.limitInfo.overlay.info=Un vendedor que desea aceptar tu oferta de {0}, debe tener una Puntuación de Reputación de al menos {1}.\nAl reducir la cantidad máxima de la transacción, haces tu oferta accesible a más vendedores. + +bisqEasy.tradeWizard.amount.buyer.limitInfo.wizard.info.leadLine=Hay {0} que coinciden con la cantidad de intercambio elegida. +bisqEasy.tradeWizard.amount.buyer.limitInfo.wizard.info=Para ofertas de hasta {0}, los requisitos de Reputación son más flexibles. +bisqEasy.tradeWizard.amount.buyer.limitInfo.wizard.overlay.info=Dado el monto mínimo bajo de {0}, los requisitos de Reputación están relajados.\nPara montos de hasta {1}, los vendedores no necesitan Reputación.\n\nEn la pantalla ''Seleccionar Oferta'' se recomienda elegir vendedores con mayor Reputación. + +bisqEasy.tradeWizard.amount.buyer.limitInfo.noReputationNeededForMaxOrFixedAmount=Los vendedores sin Reputación pueden aceptar ofertas de hasta {0}. +bisqEasy.tradeWizard.amount.buyer.limitInfo.noReputationNeededForMaxOrFixedAmount.riskInfo=Asegúrate de comprender completamente los riesgos involucrados. +bisqEasy.tradeWizard.amount.buyer.limitInfo.overlay.noReputationNeededForMaxOrFixedAmount.info=Dado el bajo monto de {0}, los requisitos de Reputación son relajados.\nPara montos de hasta {1}, los vendedores con Reputación insuficiente o sin Reputación pueden aceptar la oferta.\n\nAsegúrate de comprender completamente los riesgos al comerciar con un vendedor sin Reputación o con Reputación insuficiente. Si no deseas estar expuesto a ese riesgo, elige un monto superior a {2}. +bisqEasy.tradeWizard.amount.buyer.limitInfo.overlay.linkToWikiText=Para obtener más información sobre el sistema de Reputación, visita: + + +bisqEasy.tradeWizard.amount.buyer.noReputationNeededForMinAmount.limitInfo.leadLine=Dado que tu cantidad mínima está por debajo de {0}, los vendedores sin Reputación pueden aceptar tu oferta. +bisqEasy.tradeWizard.amount.buyer.noReputationNeededForMinAmount.limitInfo=Para el monto máximo de {0} hay {1} con suficiente Reputación para aceptar tu oferta. +bisqEasy.tradeWizard.amount.buyer.noReputationNeededForMinAmount.limitInfo.overlay.info=Dado el bajo monto de la transacción de {0}, los requisitos de reputación se han relajado.\nPara montos de hasta {1}, los vendedores con reputación insuficiente o sin reputación pueden aceptar tu oferta.\n\nLos vendedores que deseen aceptar tu oferta con el monto máximo de {2}, deben tener una Puntuación de Reputación de al menos {3}.\nAl reducir el monto máximo de la transacción, haces que tu oferta sea accesible para más vendedores. + + +################################################################################ +# Create offer / Payment methods +################################################################################ + +bisqEasy.tradeWizard.paymentMethods.headline=¿Qué métodos de pago y transferencia quieres utilizar? +bisqEasy.tradeWizard.paymentMethods.fiat.subTitle.buyer=Elige los métodos de pago para enviar {0} +bisqEasy.tradeWizard.paymentMethods.fiat.subTitle.seller=Elige los métodos de pago para recibir {0} +bisqEasy.tradeWizard.paymentMethods.bitcoin.subTitle.buyer=Elige el método de transferencia para recibir Bitcoin +bisqEasy.tradeWizard.paymentMethods.bitcoin.subTitle.seller=Elige el método de transferencia para enviar Bitcoin +bisqEasy.tradeWizard.paymentMethods.noneFound=El mercado seleccionado, no dispone de métodos de pago predeterminados.\nPor favor, agrega en el campo de texto a continuación el método de pago personalizado que deseas usar. +bisqEasy.tradeWizard.paymentMethods.customMethod.prompt=Método de pago personalizado +bisqEasy.tradeWizard.paymentMethods.warn.maxMethodsReached=No puedes agregar más de 4 métodos de pago. +bisqEasy.tradeWizard.paymentMethods.warn.tooLong=El nombre de tu método de pago personalizado no puede tener más de 20 caracteres. +bisqEasy.tradeWizard.paymentMethods.warn.customPaymentMethodAlreadyExists=Ya existe un método de pago personalizado con el nombre {0}. +bisqEasy.tradeWizard.paymentMethods.warn.customNameMatchesPredefinedMethod=El nombre de tu método de pago personalizado no puede ser igual que uno de los predefinidos. +bisqEasy.tradeWizard.paymentMethods.warn.noFiatPaymentMethodSelected=Por favor, elige al menos un método de pago fiat. +bisqEasy.tradeWizard.paymentMethods.warn.noBtcSettlementMethodSelected=Por favor, elige al menos un método de transferencia de Bitcoin + + +################################################################################ +# TradeWizard / Select offer +################################################################################ + +bisqEasy.tradeWizard.selectOffer.headline.buyer=Comprar Bitcoin por {0} +bisqEasy.tradeWizard.selectOffer.headline.seller=Vender Bitcoin por {0} +bisqEasy.tradeWizard.selectOffer.subHeadline=Se recomienda intercambiar con usuarios con alta reputación. +bisqEasy.tradeWizard.selectOffer.noMatchingOffers.headline=No se encontraron ofertas coincidentes +bisqEasy.tradeWizard.selectOffer.noMatchingOffers.subHeadline=No hay ofertas disponibles para tus criterios de selección. +bisqEasy.tradeWizard.selectOffer.noMatchingOffers.goBack=Cambiar selección +bisqEasy.tradeWizard.selectOffer.noMatchingOffers.goBack.info=Vuelve a las pantallas anteriores y cambia la selección +bisqEasy.tradeWizard.selectOffer.noMatchingOffers.browseOfferbook=Explorar el libro de ofertas +bisqEasy.tradeWizard.selectOffer.noMatchingOffers.browseOfferbook.info=Cierra el asistente de intercambio y explora el libro de ofertas + + +################################################################################ +# TradeWizard / Review +################################################################################ + +bisqEasy.tradeWizard.review.headline.maker=Revisar oferta +bisqEasy.tradeWizard.review.headline.taker=Revisar orden +bisqEasy.tradeWizard.review.detailsHeadline.taker=Detalles del intercambio +bisqEasy.tradeWizard.review.detailsHeadline.maker=Detalles de la oferta +bisqEasy.tradeWizard.review.feeDescription=Comisiones +bisqEasy.tradeWizard.review.noTradeFees=No hay comisiones de intercambio en Bisq Easy +bisqEasy.tradeWizard.review.sellerPaysMinerFeeLong=El vendedor paga la tarifa de minería +bisqEasy.tradeWizard.review.sellerPaysMinerFee=El vendedor paga la tarifa de minería +bisqEasy.tradeWizard.review.noTradeFeesLong=No hay tarifas de intercambio en Bisq Easy + +bisqEasy.tradeWizard.review.toPay=Cantidad a pagar +bisqEasy.tradeWizard.review.toSend=Cantidad a enviar +bisqEasy.tradeWizard.review.toReceive=Cantidad a recibir +bisqEasy.tradeWizard.review.direction={0} Bitcoin +bisqEasy.tradeWizard.review.paymentMethodDescription.btc=Método de transferencia en Bitcoin +bisqEasy.tradeWizard.review.paymentMethodDescriptions.btc.maker=Métodos de transferencia en Bitcoin +bisqEasy.tradeWizard.review.paymentMethodDescriptions.btc.taker=Seleccionar método de transferencia en Bitcoin +bisqEasy.tradeWizard.review.paymentMethodDescription.fiat=Método de pago en fiat +bisqEasy.tradeWizard.review.paymentMethodDescriptions.fiat.maker=Métodos de pago en fiat +bisqEasy.tradeWizard.review.paymentMethodDescriptions.fiat.taker=Seleccionar método de pago en fiat +bisqEasy.tradeWizard.review.price={0} <{1} style=intercambio-wizard-review-code> + +bisqEasy.tradeWizard.review.priceDescription.taker=Precio de intercambio +bisqEasy.tradeWizard.review.priceDescription.maker=Precio de la oferta +bisqEasy.tradeWizard.review.priceDetails.fix=Precio fijo. {0} {1} precio de mercado de {2} +bisqEasy.tradeWizard.review.priceDetails.fix.atMarket=Precio fijo. Igual al precio de mercado de {0} +bisqEasy.tradeWizard.review.priceDetails.float=Precio flotante. {0} {1} precio de mercado de {2} +bisqEasy.tradeWizard.review.priceDetails=Fluctúa con el precio de mercado +bisqEasy.tradeWizard.review.nextButton.createOffer=Crear oferta +bisqEasy.tradeWizard.review.nextButton.takeOffer=Confirmar intercambio + +bisqEasy.tradeWizard.review.createOfferSuccess.headline=Oferta publicada con éxito +bisqEasy.tradeWizard.review.createOfferSuccess.subTitle=Ahora tu oferta está listada en el libro de ofertas. Cuando un usuario de Bisq tome tu oferta, aparecerá un nuevo intercambio en la sección 'Compra-ventas en curso'.\n\nAsegúrate de revisar regularmente la aplicación de Bisq para estar al tanto de nuevos mensajes de un tomador. +bisqEasy.tradeWizard.review.createOfferSuccessButton=Mostrar mi oferta en 'Libro de Ofertas' + +bisqEasy.tradeWizard.review.takeOfferSuccess.headline=Has tomado la oferta con éxito +bisqEasy.tradeWizard.review.takeOfferSuccess.subTitle=Por favor, ponte en contacto con tu contraparte en 'Compra-ventas en curso'.\nEncontrarás más información sobre los próximos pasos allí.\n\nAsegúrate de revisar regularmente la aplicación de Bisq en busca de nuevos mensajes de tu contraparte. +bisqEasy.tradeWizard.review.takeOfferSuccessButton=Mostrar intercambio en 'Compra-ventas en curso' + + +################################################################################ +# Create offer / Review +################################################################################# + +bisqEasy.tradeWizard.review.table.baseAmount.buyer=Tú recibes +bisqEasy.tradeWizard.review.table.baseAmount.seller=Tú gastas +bisqEasy.tradeWizard.review.table.price=Precio en {0} +bisqEasy.tradeWizard.review.table.reputation=Reputación +bisqEasy.tradeWizard.review.chatMessage.fixPrice={0} +bisqEasy.tradeWizard.review.chatMessage.floatPrice.above={0} por encima del precio de mercado +bisqEasy.tradeWizard.review.chatMessage.floatPrice.below={0] por debajo del precio de mercado +bisqEasy.tradeWizard.review.chatMessage.marketPrice=Precio de mercado +bisqEasy.tradeWizard.review.chatMessage.price=Precio: +bisqEasy.tradeWizard.review.chatMessage.peerMessage.sell=Vender Bitcoin a {0}\nCantidad: {1}\nMétodo(s) de transferencia de Bitcoin: {2}\nMétodo(s) de pago en fiat: {3}\n{4} +bisqEasy.tradeWizard.review.chatMessage.peerMessage.buy=Comprar Bitcoin a {0}\nCantidad: {1}\nMétodo(s) de transferencia de Bitcoin: {2}\nMétodo(s) de pago en fiat: {3}\n{4} +bisqEasy.tradeWizard.review.chatMessage.offerDetails=Cantidad: {0}\nMétodo(s) de transferencia en Bitcoin: {1}\nMétodo(s) de pago en fiat: {2}\n{3} +bisqEasy.tradeWizard.review.chatMessage.peerMessageTitle.sell=Vender Bitcoin a +bisqEasy.tradeWizard.review.chatMessage.peerMessageTitle.buy=Comprar Bitcoin de +bisqEasy.tradeWizard.review.chatMessage.myMessageTitle=Mi oferta para {0} Bitcoin + + +################################################################################ +# +# Take offer +# +################################################################################ + +bisqEasy.takeOffer.progress.amount=Cantidad del intercambio +bisqEasy.takeOffer.progress.method=Método de pago +bisqEasy.takeOffer.progress.review=Revisar intercambio + +bisqEasy.takeOffer.amount.headline.buyer=¿Cuánto deseas gastar? +bisqEasy.takeOffer.amount.headline.seller=¿Cuánto deseas intercambiar? +bisqEasy.takeOffer.amount.description=La oferta permite que elijas una cantidad de intercambio\nentre {0} y {1} +bisqEasy.takeOffer.amount.description.limitedByTakersReputation=Tu Puntuación de Reputación de {0} te permite elegir un monto de intercambio\nentre {1} y {2} + +bisqEasy.takeOffer.amount.buyer.limitInfo.tooHighMax=La Puntuación de Reputación del vendedor es solo {0}. No se recomienda intercambiar más de +bisqEasy.takeOffer.amount.buyer.limitInfoAmount={0}. +bisqEasy.takeOffer.amount.buyer.limitInfo.tooHighMax.overlay.info=La Puntuación de Reputación del vendedor de {0} no proporciona suficiente seguridad. Sin embargo, para montos de intercambio más bajos (hasta {1}), los requisitos de reputación son más flexibles.\n\nSi decides continuar a pesar de la falta de la reputación del vendedor, asegúrate de estar completamente consciente de los riesgos asociados. El modelo de seguridad de Bisq Easy se basa en la reputación del vendedor, ya que se requiere que el comprador Envíe primero la moneda fiduciaria. +bisqEasy.takeOffer.amount.buyer.limitInfo.minAmountCovered=La Puntuación de Reputación del vendedor de {0} proporciona seguridad hasta +bisqEasy.takeOffer.amount.buyer.limitInfo.minAmountCovered.overlay.info=La Puntuación de Reputación del vendedor de {0} proporciona seguridad por hasta {1}.\n\nSi eliges un monto mayor, asegúrate de estar completamente consciente de los riesgos asociados. El modelo de seguridad de Bisq Easy se basa en la reputación del vendedor, ya que se requiere que el comprador Envíe primero la moneda fiduciaria. +bisqEasy.takeOffer.amount.buyer.limitInfo.minAmountNotCovered=La Puntuación de Reputación del vendedor de {0} no proporciona suficiente seguridad para esa oferta. +bisqEasy.takeOffer.amount.buyer.limitInfo.tooHighMin.overlay.info=La Puntuación de Reputación del vendedor de {0} no proporciona suficiente seguridad para esa oferta.\n\nSe recomienda comerciar con montos más bajos en transacciones repetidas o con vendedores que tengan una reputación más alta. Si decides continuar a pesar de la falta de reputación del vendedor, asegúrate de estar completamente consciente de los riesgos asociados. El modelo de seguridad de Bisq Easy se basa en la reputación del vendedor, ya que se requiere que el comprador Envíe primero la moneda fiat. +bisqEasy.takeOffer.amount.buyer.limitInfo.learnMore=Aprender más +bisqEasy.takeOffer.amount.buyer.limitInfo.overlay.linkToWikiText=Para obtener más información sobre el sistema de Reputación, visita: + +bisqEasy.takeOffer.paymentMethods.headline.fiat=¿Qué método de pago quieres utilizar? +bisqEasy.takeOffer.paymentMethods.headline.fiatAndBitcoin=¿Qué método de pago y transferencia quieres utilizar? +bisqEasy.takeOffer.paymentMethods.headline.bitcoin=¿Qué método de transferencia quieres utilizar? +bisqEasy.takeOffer.paymentMethods.subtitle.fiat.buyer=Elige un método de pago para enviar {0} +bisqEasy.takeOffer.paymentMethods.subtitle.fiat.seller=Elige un método de pago para recibir {0} +bisqEasy.takeOffer.paymentMethods.subtitle.bitcoin.buyer=Elige un método de transferencia para recibir Bitcoin +bisqEasy.takeOffer.paymentMethods.subtitle.bitcoin.seller=Elige un método de transferencia para enviar Bitcoin + +bisqEasy.takeOffer.review.headline=Revisar orden +bisqEasy.takeOffer.review.detailsHeadline=Detalles del intercambio +bisqEasy.takeOffer.review.method.fiat=Método de pago en fiat +bisqEasy.takeOffer.review.method.bitcoin=Método de transferencia en Bitcoin +bisqEasy.takeOffer.review.price.price=Precio del intercambio +bisqEasy.takeOffer.review.noTradeFees=No hay comisiones de transacción en Bisq Easy +bisqEasy.takeOffer.review.sellerPaysMinerFeeLong=El vendedor paga la comisión de minería +bisqEasy.takeOffer.review.sellerPaysMinerFee=El vendedor paga la comisión de minería +bisqEasy.takeOffer.review.noTradeFeesLong=No hay comisiones de intercambio en Bisq Easy +bisqEasy.takeOffer.review.takeOffer=Confirmar la toma de la oferta +bisqEasy.takeOffer.review.sendTakeOfferMessageFeedback.headline=Enviando mensaje tomar-oferta +bisqEasy.takeOffer.review.sendTakeOfferMessageFeedback.subTitle=Enviar el mensaje tomar-oferta puede llevar hasta 2 minutos +bisqEasy.takeOffer.review.sendTakeOfferMessageFeedback.info=No cierres la ventana de la aplicación hasta que veas la confirmación de que el mensaje se ha enviado correctamente. +bisqEasy.takeOffer.review.takeOfferSuccess.headline=Has tomado la oferta con éxito +bisqEasy.takeOffer.review.takeOfferSuccess.subTitle=Por favor, ponte en contacto con tu contraparte en 'Compra-ventas en curso'.\nEncontrarás más información sobre los próximos pasos allí.\n\nAsegúrate de revisar regularmente la aplicación de Bisq para ver si tienes nuevos mensajes de tu contraparte. +bisqEasy.takeOffer.review.takeOfferSuccessButton=Mostrar intercambio en 'Intercambios Abiertos' +bisqEasy.takeOffer.tradeLogMessage={0} ha enviado un mensaje para aceptar la oferta de {1} + +bisqEasy.takeOffer.noMediatorAvailable.warning=No hay un mediador disponible. Debes usar el chat de soporte en su lugar. +bisqEasy.takeOffer.makerBanned.warning=El creador de esta oferta está baneado. Por favor, intenta usar una oferta diferente. +# suppress inspection "UnusedProperty" +bisqEasy.takeOffer.bitcoinPaymentData.warning.MAIN_CHAIN=La dirección de Bitcoin que has introducido no es válida.\n\nSi estás seguro de que la dirección es válida, puedes ignorar este aviso y continuar. +# suppress inspection "UnusedProperty" +bisqEasy.takeOffer.bitcoinPaymentData.warning.LN=La factura Lightning que has introducido no es válida.\n\nSi estás seguro de que la factura es válida, puedes ignorar este aviso y continuar. +bisqEasy.takeOffer.bitcoinPaymentData.warning.proceed=Ignorar aviso + + +################################################################################ +# +# TradeGuide +# +################################################################################ + +bisqEasy.tradeGuide.tabs.headline=Guía de intercambio +bisqEasy.tradeGuide.welcome=Visión general +bisqEasy.tradeGuide.security=Seguridad +bisqEasy.tradeGuide.process=Proceso +bisqEasy.tradeGuide.rules=Reglas de intercambio + +bisqEasy.tradeGuide.welcome.headline=Cómo intercambiar en Bisq Easy +bisqEasy.tradeGuide.welcome.content=Esta guía proporciona una visión general de los aspectos esenciales para comprar o vender Bitcoin con Bisq Easy.\nEn esta guía, aprenderás sobre el modelo de seguridad utilizado en Bisq Easy, obtendrás información sobre el proceso de intercambio y te familiarizarás con las reglas de intercambio.\n\nPara cualquier pregunta adicional, no dudes en visitar las salas de chat disponibles en el menú 'Soporte'. + +bisqEasy.tradeGuide.security.headline=¿Qué tan seguro es intercambiar en Bisq Easy? +bisqEasy.tradeGuide.security.content=- El modelo de seguridad de Bisq Easy está optimizado para pequeñas cantidades de intercambio.\n- El modelo se basa en la reputación del vendedor, que suele ser un usuario experimentado de Bisq y del que se espera que brinde un soporte útil a los nuevos usuarios.\n- Obtener reputación puede ser costoso, lo que lleva a un aumento común del 5-15% en el precio para cubrir gastos adicionales y compensar el servicio del vendedor.\n- Comerciar con vendedores que carecen de reputación conlleva riesgos significativos y solo debe hacerse si se comprenden y gestionan adecuadamente los riesgos. + +bisqEasy.tradeGuide.process.headline=¿Cómo funciona el proceso de intercambio? +bisqEasy.tradeGuide.process.content=Cuando decidas aceptar una oferta, tendrás la flexibilidad de elegir entre las opciones disponibles proporcionadas por la oferta. Antes de comenzar la operación, se te presentará un resumen para tu revisión.\nUna vez iniciada la operación, la interfaz de usuario te guiará a través del proceso de la operación, que consta de los siguientes pasos: + +bisqEasy.tradeGuide.process.steps=1. El vendedor y el comprador intercambian detalles de la cuenta. El vendedor envía sus datos de pago (por ejemplo, número de cuenta bancaria) al comprador y el comprador envía su dirección de Bitcoin (o factura de Lightning) al vendedor.\n2. A continuación, el comprador inicia el pago en fiat a la cuenta del vendedor. Al recibir el pago, el vendedor confirmará la recepción.\n3. Luego, el vendedor envía el Bitcoin a la dirección del comprador y comparte el ID de la transacción (o, la preimagen en caso de que se utilice Lightning). La interfaz de usuario mostrará el estado de confirmación. Una vez confirmado, la operación se completa con éxito. + +bisqEasy.tradeGuide.rules.headline=¿Qué necesitas saber sobre las reglas de intercambio? +bisqEasy.tradeGuide.rules.content=- Cualquiera de las dos partes puede cancelar la compra-venta sin justificación antes de que se intercambien los detalles de cuenta.\n- Las partes deben revisar regularmente si hay nuevos mensajes en el chat y deben responde en un máximo de 24 horas.\n- Una vez se han compartido los detalles de cuenta, incumplir las obligaciones de la compra-venta se considera un incumplimiento de contrato y puede resultar en expulsión de la red Bisq. Esto no aplica en caso de que una de las partes no responda.\n- Durante el pago fiat, el comprador de Bitcoin NO DEBE incluir referencias como 'Bisq' o 'Bitcoin' en el campo de concepto. Las partes tienen la opción de acordar un identificador, como una código aleatorio como por ejemplo 'H3TJADP', con el objetivo de poder asociar el pago fiat a la compra-venta.\n- Si la compra-venta no se puede completar de forma instantánea debido a la velocidad del pago fiat, ambas partes deben conectarse al menos una vez al día para revisar el progreso de la compra-venta.\n- En el caso de que las partes tengan diferencias que no puedan resolver amistosamente, tienen la opción de solicitar en el chat la ayuda de un mediador.\n\nSi tienes alguna pregunta o necesitas ayuda, siéntete libre de visitar las salas de chat accesibles desde el menú 'Soporte'. Feliz compra-venta! + +bisqEasy.tradeGuide.rules.confirm=He leído y comprendido + +bisqEasy.tradeGuide.notConfirmed.warn=Lee la guía de intercambio y confirma que la has leído y comprendido. +bisqEasy.tradeGuide.open=Abrir guía de intercambio + + +################################################################################ +# WalletGuide +################################################################################ + +bisqEasy.walletGuide.open=Abrir guía de billetera + +bisqEasy.walletGuide.tabs.headline=Guía de billetera +bisqEasy.walletGuide.intro=Introducción +bisqEasy.walletGuide.download=Descargar +bisqEasy.walletGuide.createWallet=Nueva billetera +bisqEasy.walletGuide.receive=Recibiendo + +bisqEasy.walletGuide.intro.headline=Prepárate para recibir tu primer Bitcoin +bisqEasy.walletGuide.intro.content=En Bisq Easy, el Bitcoin que recibes llega directamente a tu bolsillo sin intermediarios. Esto es una gran ventaja, pero también significa que necesitas tener una cartera que controles tú mismo para recibirlo.\n\nEn esta rápida guía de cartera, te mostraremos en unos simples pasos cómo puedes crear una cartera sencilla. Con ella, podrás recibir y almacenar tu recién comprado Bitcoin.\n\nSi ya estás familiarizado con las carteras onchain y tienes una, puedes omitir esta guía y simplemente usarla. + +bisqEasy.walletGuide.download.headline=Descargar tu cartera +bisqEasy.walletGuide.download.content=Hay muchas Billeteras disponibles que puedes usar. En esta guía, te mostraremos cómo usar Bluewallet. Bluewallet es excelente y, al mismo tiempo, muy simple, y puedes usarlo para Recibir tu Bitcoin de Bisq Easy.\n\nPuedes descargar Bluewallet en tu teléfono, independientemente de si tienes un dispositivo Android o iOS. Para hacerlo, puedes visitar la página web oficial en 'bluewallet.io'. Una vez allí, haz clic en App Store o Google Play dependiendo del dispositivo que estés usando.\n\nNota importante: para tu seguridad, asegúrate de descargar la aplicación desde la tienda de aplicaciones oficial de tu dispositivo. La aplicación oficial es proporcionada por 'Bluewallet Services, S.R.L.', y deberías poder ver esto en tu tienda de aplicaciones. Descargar una Billetera maliciosa podría poner tus fondos en riesgo.\n\nFinalmente, una nota rápida: Bisq no está afiliado a Bluewallet de ninguna manera. Sugerimos usar Bluewallet debido a su calidad y simplicidad, pero hay muchas otras opciones en el mercado. Debes sentirte completamente libre de comparar, probar y elegir la Billetera que mejor se adapte a tus necesidades. +bisqEasy.walletGuide.download.link=Haz clic aquí para visitar la página de Bluewallet + +bisqEasy.walletGuide.createWallet.headline=Creando tu nueva cartera +bisqEasy.walletGuide.createWallet.content=Bluewallet te permite crear varias carteras para diferentes propósitos. Por ahora, solo necesitas tener una cartera. Una vez que entres en Bluewallet, verás un mensaje que te sugiere agregar una nueva cartera. Una vez que lo hagas, añade un nombre para tu cartera y elige la opción *Bitcoin* en la sección *Tipo*. Puedes dejar todas las demás opciones tal como aparecen y hacer clic en *Crear*.\n\nCuando pases al siguiente paso, se te presentarán 12 palabras. Estas 12 palabras son la copia de seguridad que te permite recuperar tu cartera si le sucede algo a tu teléfono. Escríbelas en un papel (no digitalmente) en el mismo orden en el que se presentan, guárdalas de manera segura y asegúrate de que solo tú tengas acceso a ellas. Puedes obtener más información sobre cómo asegurar tu cartera en las secciones de Aprender de Bisq 2 dedicadas a cartera y seguridad.\n\nUna vez que hayas terminado, haz clic en 'Ok, lo escribí'.\n¡Felicidades! ¡Has creado tu cartera! Continuemos con cómo recibir tu Bitcoin en ella. + +bisqEasy.walletGuide.receive.headline=Recibir Bitcoin en tu cartera +bisqEasy.walletGuide.receive.content=Para recibir tu Bitcoin, necesitas una dirección de tu cartera. Para obtenerla, haz clic en tu cartera recién creada y, luego, haz clic en el botón 'Recibir' en la parte inferior de la pantalla.\n\nBluewallet mostrará una dirección no utilizada, tanto como código QR como texto. Esta dirección es lo que necesitarás proporcionar a tu compañero en Bisq Easy para que él pueda enviarte el Bitcoin que estás comprando. Puedes trasladar la dirección a tu PC escaneando el código QR con una cámara, enviando la dirección con un correo electrónico o mensaje de chat, o incluso escribiéndola manualmente.\n\nUna vez que completes el intercambio, Bluewallet detectará la llegada de Bitcoin y actualizará tu saldo con los nuevos fondos. Cada vez que realices un nuevo intercambio, obtén una dirección nueva para proteger tu privacidad.\n\nEstos son los conceptos básicos que necesitas saber para empezar a recibir Bitcoin en tu propia cartera. Si deseas obtener más información sobre Bluewallet, te recomendamos consultar los videos que se enumeran a continuación. +bisqEasy.walletGuide.receive.link1=Tutorial de Bluewallet de Anita Posch +bisqEasy.walletGuide.receive.link2=Tutorial de Bluewallet de BTC Sessions + + +###################################################### +# Offerbook +###################################################### + +bisqEasy.offerbook.markets=Mercados +bisqEasy.offerbook.markets.CollapsedList.Tooltip=Expandir mercados +bisqEasy.offerbook.markets.ExpandedList.Tooltip=Contraer mercados +bisqEasy.offerbook.marketListCell.numOffers.one={0} oferta +bisqEasy.offerbook.marketListCell.numOffers.many={0} ofertas +bisqEasy.offerbook.marketListCell.numOffers.tooltip.none=Aún no hay ofertas disponibles en el mercado {0} +bisqEasy.offerbook.marketListCell.numOffers.tooltip.one={0} oferta disponible en el mercado {1} +bisqEasy.offerbook.marketListCell.numOffers.tooltip.many={0} ofertas disponibles en el mercado {1} +bisqEasy.offerbook.marketListCell.favourites.tooltip.addToFavourites=Añadir a favoritos +bisqEasy.offerbook.marketListCell.favourites.tooltip.removeFromFavourites=Eliminar de favoritos +bisqEasy.offerbook.marketListCell.favourites.maxReached.popup=Solo hay espacio para 5 favoritos. Elimina un favorito e inténtalo de nuevo. + +bisqEasy.offerbook.dropdownMenu.sortAndFilterMarkets.tooltip=Ordenar y filtrar +bisqEasy.offerbook.dropdownMenu.sortAndFilterMarkets.sortTitle=Ordenar por: +bisqEasy.offerbook.dropdownMenu.sortAndFilterMarkets.mostOffers=Mayoría de ofertas +bisqEasy.offerbook.dropdownMenu.sortAndFilterMarkets.nameAZ=Nombre A-Z +bisqEasy.offerbook.dropdownMenu.sortAndFilterMarkets.nameZA=Nombre Z-A +bisqEasy.offerbook.dropdownMenu.sortAndFilterMarkets.filterTitle=Mostrar mercados: +bisqEasy.offerbook.dropdownMenu.sortAndFilterMarkets.withOffers=Con ofertas +bisqEasy.offerbook.dropdownMenu.sortAndFilterMarkets.favourites=Solo favoritos +bisqEasy.offerbook.dropdownMenu.sortAndFilterMarkets.all=Todo + +bisqEasy.offerbook.chatMessage.deleteOffer.confirmation=¿Estás seguro de querer borrar esta oferta? +bisqEasy.offerbook.chatMessage.deleteMessage.confirmation=¿Estás seguro de que quieres eliminar este mensaje? + +bisqEasy.offerbook.offerList=Lista de ofertas +bisqEasy.offerbook.offerList.collapsedList.tooltip=Expandir lista de ofertas +bisqEasy.offerbook.offerList.expandedList.tooltip=Contraer lista de ofertas +bisqEasy.offerbook.offerList.table.columns.peerProfile=Perfil del usuario +bisqEasy.offerbook.offerList.table.columns.price=Precio +bisqEasy.offerbook.offerList.table.columns.fiatAmount=Cantidad de {0} +bisqEasy.offerbook.offerList.table.columns.paymentMethod=Pago +bisqEasy.offerbook.offerList.table.columns.settlementMethod=Transferencia +bisqEasy.offerbook.offerList.table.filters.offerDirection.buyFrom=Comprar de +bisqEasy.offerbook.offerList.table.filters.offerDirection.sellTo=Vender a +bisqEasy.offerbook.offerList.table.filters.paymentMethods.title=Pagos ({0}) +bisqEasy.offerbook.offerList.table.filters.paymentMethods.title.all=Todo +bisqEasy.offerbook.offerList.table.filters.paymentMethods.customPayments=Pagos personalizados +bisqEasy.offerbook.offerList.table.filters.paymentMethods.clearFilters=Quitar filtros +bisqEasy.offerbook.offerList.table.filters.showMyOffersOnly=Solo mis ofertas + +bisqEasy.offerbook.offerList.table.columns.price.tooltip.fixPrice=Precio fijo: {0}\nPorcentaje respecto a precio de mercado: {1} +bisqEasy.offerbook.offerList.table.columns.price.tooltip.marketPrice=Precio de mercado: {0} +bisqEasy.offerbook.offerList.table.columns.price.tooltip.floatPrice=Porcentaje de precio {0}\nCon precio de mercado actual: {1} + + +###################################################### +# Open trades +###################################################### + +bisqEasy.openTrades.table.headline=Mis compra-ventas en curso +bisqEasy.openTrades.noTrades=No tienes ninguna operación abierta +bisqEasy.openTrades.rejectTrade=Rechazar intercambio +bisqEasy.openTrades.cancelTrade=Cancelar intercambio +bisqEasy.openTrades.tradeLogMessage.rejected={0} rechazó la operación +bisqEasy.openTrades.tradeLogMessage.cancelled={0} canceló la operación +bisqEasy.openTrades.rejectTrade.warning=Como el intercambio de detalles de cuenta aún no se ha iniciado, rechazar la operación no supone una violación de las reglas de intercambio.\n\nSi tienes algunas preguntas o encuentras problemas, por favor no dudes en contactar ton tu par de intercambio o buscar asisencia en la sección "Soporte"\n\n¿Estás seguro de querer rechazar la operación? +bisqEasy.openTrades.cancelTrade.warning.buyer=Dado que el intercambio de detalles de cuenta ya se produjo, cancelar la operación sin que el vendedor {0} +bisqEasy.openTrades.cancelTrade.warning.seller=Dado que el intercambio de detalles de cuenta ya se produjo, cancelar la operación sin que el comprador {0} + +bisqEasy.openTrades.cancelTrade.warning.part2=de su consentimiento se considera una violación de las normas de intercambio y puede derivar en una baneo de tu perfil de la red.\n\nSi tu contraparte no ha respondido en más de 24 horas y no se ha hecho ningún pago, puedes rechazar esta compra-venta sin consecuencias. La responsabilidad será de la parte ausente.\n\nSi tienes preguntas o problemas, no dudes en contactar con tu contraparte o pedir ayuda en la sección 'Soporte'.\n\nSi crees que tu contraparte ha incumplido las normas de intercambio, tienes la opción de iniciar una petición de mediación. Un mediador se unirá al chat y colaborará para intentar alcanzar una solución amistosa.\n\nEstás seguro de que quieres cancelar la compra-venta? + +bisqEasy.openTrades.closeTrade.warning.interrupted=Antes de cerrar la operación, puedes hacer una copia de seguridad de los datos de la operación como archivo CSV si es necesario.\n\nUna vez que se cierra la operación, todos los datos relacionados con la operación desaparecen y no puedes comunicarte con tu compañero de intercambio en el chat de intercambio.\n\n¿Quieres cerrar la operación ahora? + +bisqEasy.openTrades.closeTrade.warning.completed=Tu intercambio se ha completado.\n\nAhora puedes cerrar el intercambio o hacer una copia de seguridad de los datos del intercambio en tu computadora si es necesario.\n\nUna vez que se cierra el intercambio todos los datos relacionados con la operación desaparecen y no puedes comunicarte con tu compañero de intercambio en el chat de intercambio. +bisqEasy.openTrades.closeTrade=Cerrar intercambio +bisqEasy.openTrades.confirmCloseTrade=Confirmar cierre de intercambio +bisqEasy.openTrades.exportTrade=Exportar datos de la operación +bisqEasy.openTrades.reportToMediator=Informar al mediador +bisqEasy.openTrades.rejected.self=Tú has rechazado la operación +bisqEasy.openTrades.rejected.peer=Tu compañero de comercio ha rechazado la operación +bisqEasy.openTrades.cancelled.self=Tú has cancelado la operación +bisqEasy.openTrades.cancelled.peer=Tu compañero de intercambio ha cancelado la operación +bisqEasy.openTrades.inMediation.info=Un mediador se ha unido al chat de intercambio. Utiliza el chat de intercambio a continuación para obtener asistencia del mediador. +bisqEasy.openTrades.failed=El intercambio falló con el mensaje de error: {0} +bisqEasy.openTrades.failed.popup=El intercambio falló debido a un error.\nMensaje de error: {0}\n\nRastreo de stack: {1} +bisqEasy.openTrades.failedAtPeer=El intercambio del par falló con un error causado por: {0} +bisqEasy.openTrades.failedAtPeer.popup=El intercambio del par falló debido a un error.\nError causado por: {0}\n\nRastreo de pila: {1} +bisqEasy.openTrades.table.tradePeer=Compañero de intercambio +bisqEasy.openTrades.table.me=Yo +bisqEasy.openTrades.table.mediator=Mediador +bisqEasy.openTrades.table.tradeId=ID de la operación +bisqEasy.openTrades.table.price=Precio +bisqEasy.openTrades.table.baseAmount=Cantidad en BTC +bisqEasy.openTrades.table.quoteAmount=Cantidad +bisqEasy.openTrades.table.paymentMethod=Pago +bisqEasy.openTrades.table.paymentMethod.tooltip=Método de pago fiat: {0} +bisqEasy.openTrades.table.settlementMethod=Transferencia +bisqEasy.openTrades.table.settlementMethod.tooltip=Método de transferencia de Bitcoin: {0} +bisqEasy.openTrades.table.makerTakerRole=Mi rol +bisqEasy.openTrades.table.direction.buyer=Comprando de: +bisqEasy.openTrades.table.direction.seller=Vendiendo a: +bisqEasy.openTrades.table.makerTakerRole.maker=Creador +bisqEasy.openTrades.table.makerTakerRole.taker=Tomador +bisqEasy.openTrades.csv.quoteAmount=Cantidad en {0} +bisqEasy.openTrades.csv.txIdOrPreimage=ID de transacción/Preimagen +bisqEasy.openTrades.csv.receiverAddressOrInvoice=Dirección del receptor/Factura +bisqEasy.openTrades.csv.paymentMethod=Método de pago + +bisqEasy.openTrades.chat.peer.description=Compañero de chat +bisqEasy.openTrades.chat.detach=Desconectar +bisqEasy.openTrades.chat.detach.tooltip=Abrir chat en una nueva ventana +bisqEasy.openTrades.chat.attach=Restaurar +bisqEasy.openTrades.chat.attach.tooltip=Restaurar chat de nuevo en la ventana principal +bisqEasy.openTrades.chat.window.title={0} - Chat con {1} / ID de operación: {2} +bisqEasy.openTrades.chat.peerLeft.headline={0} ha abandonado la operación +bisqEasy.openTrades.chat.peerLeft.subHeadline=Si la operación no se ha completado por tu parte y necesitas ayuda, contacta al mediador o visita el chat de soporte. + +###################################################### +# Private chat +###################################################### + +bisqEasy.privateChats.leave=Salir del chat +bisqEasy.privateChats.table.myUser=Mi perfil + + +###################################################### +# Top pane +###################################################### + +# Commented out in code +# suppress inspection "UnusedProperty" +bisqEasy.topPane.filter=Filtrar el libro de ofertas +# Commented out in code +# suppress inspection "UnusedProperty" +bisqEasy.topPane.closeFilter=Cerrar filtro +bisqEasy.topPane.filter.offersOnly=Mostrar solo ofertas en el libro de ofertas de Bisq Easy + + +################################################################################ +# +# BisqEasyOfferDetails +# +################################################################################ + +bisqEasy.offerDetails.headline=Detalles de la oferta +bisqEasy.offerDetails.buy=Oferta para comprar Bitcoin +bisqEasy.offerDetails.sell=Oferta para vender Bitcoin + +bisqEasy.offerDetails.direction=Tipo de oferta +bisqEasy.offerDetails.baseSideAmount=Cantidad de Bitcoin +bisqEasy.offerDetails.quoteSideAmount={0} cantidad +bisqEasy.offerDetails.price={0} precio de la oferta +bisqEasy.offerDetails.priceValue={0} (premium: {1}) +bisqEasy.offerDetails.paymentMethods=Método(s) de pago admitido(s) +bisqEasy.offerDetails.id=ID de la oferta +bisqEasy.offerDetails.date=Fecha de creación +bisqEasy.offerDetails.makersTradeTerms=Términos comerciales del creador + + +################################################################################ +# +# OpenTradesWelcome +# +################################################################################ + +bisqEasy.openTrades.welcome.headline=Bienvenido a tu primer intercambio en Bisq Easy +bisqEasy.openTrades.welcome.info=Por favor, familiarízate con el concepto, el proceso y las reglas para comerciar en Bisq Easy.\nDespués de haber leído y aceptado las reglas de intercambio, puedes iniciar el intercambio. +bisqEasy.openTrades.welcome.line1=Conoce el modelo de seguridad de Bisq Easy +bisqEasy.openTrades.welcome.line2=Descubre cómo funciona el proceso de intercambio +bisqEasy.openTrades.welcome.line3=Familiarízate con las reglas de intercambio + + +################################################################################ +# +# TradeState +# +################################################################################ + +bisqEasy.tradeState.requestMediation=Solicitar mediación +bisqEasy.tradeState.reportToMediator=Informar al mediador +bisqEasy.tradeState.acceptOrRejectSellersPrice.title=¡Atención al cambio de precio! +bisqEasy.tradeState.acceptOrRejectSellersPrice.description.buyersPrice=Tu precio de oferta para comprar Bitcoin era {0}. +bisqEasy.tradeState.acceptOrRejectSellersPrice.description.sellersPrice=Sin embargo, el vendedor te ofrece un precio diferente: {0}. +bisqEasy.tradeState.acceptOrRejectSellersPrice.description.question=¿Quieres aceptar este nuevo precio o deseas rechazar/cancelar* la operación? +bisqEasy.tradeState.acceptOrRejectSellersPrice.description.disclaimer=(*Nota que en este caso específico, cancelar la operación NO será considerado una violación de las reglas de comercio.) +bisqEasy.tradeState.acceptOrRejectSellersPrice.button.accept=Aceptar precio + +# Trade State: Header +bisqEasy.tradeState.header.peer=Compañero de intercambio +bisqEasy.tradeState.header.direction=Quiero +bisqEasy.tradeState.header.send=Cantidad a enviar +bisqEasy.tradeState.header.pay=Cantidad a pagar +bisqEasy.tradeState.header.receive=Cantidad a recibir +bisqEasy.tradeState.header.tradeId=ID de intercambio + +# Trade State: Phase (left side) +bisqEasy.tradeState.phase1=Detalles de la cuenta +bisqEasy.tradeState.phase2=Pago en fiat +bisqEasy.tradeState.phase3=Transferencia de Bitcoin +bisqEasy.tradeState.phase4=Intercambio completado + +# Trade State: Info (right side) + +bisqEasy.tradeState.info.phase3b.balance.help.explorerLookup=Buscando transacción en el explorador de bloques ''{0}'' +bisqEasy.tradeState.info.phase3b.balance.help.notConfirmed=Transacción vista en el mempool pero aún no confirmada +bisqEasy.tradeState.info.phase3b.balance.help.confirmed=Transacción confirmada +bisqEasy.tradeState.info.phase3b.txId.failed=La búsqueda de la transacción en ''{0}'' falló con {1}: ''{2}'' +bisqEasy.tradeState.info.phase3b.button.skip=Omitir espera por confirmación de bloque + +bisqEasy.tradeState.info.phase3b.balance.invalid.noOutputsForAddress=No se han encontrado salidas que coincidan en la transacción +bisqEasy.tradeState.info.phase3b.balance.invalid.multipleOutputsForAddress=Múltiples salidas de la transacción coinciden +bisqEasy.tradeState.info.phase3b.balance.invalid.amountNotMatching=La cantidad saliente de la transacción no es igual a la cantidad de la compra-venta + +bisqEasy.tradeState.info.phase3b.button.next=Siguiente +bisqEasy.tradeState.info.phase3b.button.next.amountNotMatching=La cantidad saliente para la dirección "{0}" en la transacción "{1}" es "{2}", que no coincide con la cantidad de la compra-venta, "{3}".\n\n¿Has podido resolver este problema con tu contraparte? Si no es así, puedes solicitar mediación para resolver la disputa. +bisqEasy.tradeState.info.phase3b.button.next.noOutputForAddress=La transacción "{1}" no contiene ninguna salida con la dirección "{0}".\n\n¿Has podido resolver este problema con tu contraparte? Si no es así, puedes solicitar mediación para resolver la disputa. + +bisqEasy.tradeState.info.phase3b.button.next.amountNotMatching.resolved=Sí, lo he resuelto + +bisqEasy.tradeState.info.phase3b.txId=ID de transacción +bisqEasy.tradeState.info.phase3b.txId.tooltip=Abrir transacción en el explorador de bloques +bisqEasy.tradeState.info.phase3b.lightning.preimage=Preimagen + +bisqEasy.tradeState.info.phase4.txId.tooltip=Abrir transacción en el explorador de bloques +bisqEasy.tradeState.info.phase4.exportTrade=Exportar datos de la operación +bisqEasy.tradeState.info.phase4.leaveChannel=Cerrar intercambio +#################################################################### +# Dynamically created from BitcoinPaymentRail enum name +#################################################################### +# suppress inspection "UnusedProperty" +bisqEasy.tradeState.bitcoinPaymentData.MAIN_CHAIN=Dirección de Bitcoin +# suppress inspection "UnusedProperty" +bisqEasy.tradeState.bitcoinPaymentData.LN=Factura de Lightning +# suppress inspection "UnusedProperty" +bisqEasy.tradeState.paymentProof.MAIN_CHAIN=ID de la transacción +# suppress inspection "UnusedProperty" +bisqEasy.tradeState.paymentProof.LN=Preimagen + + +# Trade State Info: Buyer +#################################################################### +# Dynamically created from BitcoinPaymentRail enum name +#################################################################### +# suppress inspection "UnusedProperty" +bisqEasy.tradeState.info.buyer.phase1a.bitcoinPayment.headline.MAIN_CHAIN=Introduce tu dirección de Bitcoin +# suppress inspection "UnusedProperty" +bisqEasy.tradeState.info.buyer.phase1a.bitcoinPayment.description.MAIN_CHAIN=Dirección de Bitcoin +# suppress inspection "UnusedProperty" +bisqEasy.tradeState.info.buyer.phase1a.bitcoinPayment.prompt.MAIN_CHAIN=Introduce tu dirección de Bitcoin +# suppress inspection "UnusedProperty" +bisqEasy.tradeState.info.buyer.phase1a.tradeLogMessage.MAIN_CHAIN={0} ha enviado la dirección de Bitcoin ''{1}'' +# suppress inspection "UnusedProperty" +bisqEasy.tradeState.info.buyer.phase1a.bitcoinPayment.headline.LN=Introduce tu factura de Lightning +# suppress inspection "UnusedProperty" +bisqEasy.tradeState.info.buyer.phase1a.bitcoinPayment.description.LN=Factura de Lightning +# suppress inspection "UnusedProperty" +bisqEasy.tradeState.info.buyer.phase1a.bitcoinPayment.prompt.LN=Introduce tu factura de Lightning +# suppress inspection "UnusedProperty" +bisqEasy.tradeState.info.buyer.phase1a.tradeLogMessage.LN={0} ha enviado la factura de Lightning ''{1}'' + +bisqEasy.tradeState.info.buyer.phase1a.bitcoinPayment.walletHelp=Si aún no has configurado una cartera, puedes encontrar ayuda en la guía de carteras +bisqEasy.tradeState.info.buyer.phase1a.walletHelpButton=Abrir guía de carteras +bisqEasy.tradeState.info.buyer.phase1a.send=Enviar al vendedor +bisqEasy.tradeState.info.buyer.phase1a.scanQrCode.tooltip=Escanea el código QR usando tu cámara web +bisqEasy.tradeState.info.buyer.phase1a.scanQrCode.webcamState.description=Estado de la conexión de la cámara web +bisqEasy.tradeState.info.buyer.phase1a.scanQrCode.webcamState.connecting=Conectando a la cámara web... +bisqEasy.tradeState.info.buyer.phase1a.scanQrCode.webcamState.imageRecognized=Cámara web conectada +bisqEasy.tradeState.info.buyer.phase1a.scanQrCode.webcamState.failed=Error al conectar con la cámara web +bisqEasy.tradeState.info.buyer.phase1b.headline=Esperar los datos de la cuenta de pago del vendedor +bisqEasy.tradeState.info.buyer.phase1b.info=Puedes usar el chat a continuación para ponerte en contacto con el vendedor. + +bisqEasy.tradeState.info.buyer.phase2a.headline=Enviar {0} a la cuenta de pago del vendedor +bisqEasy.tradeState.info.buyer.phase2a.quoteAmount=Cantidad a transferir +bisqEasy.tradeState.info.buyer.phase2a.sellersAccount=Cuenta de pago del vendedor +bisqEasy.tradeState.info.buyer.phase2a.reasonForPaymentInfo=Por favor, deja el campo 'Motivo del pago' vacío, en caso de que realices una transferencia bancaria +bisqEasy.tradeState.info.buyer.phase2a.confirmFiatSent=Confirmar pago de {0} +bisqEasy.tradeState.info.buyer.phase2a.tradeLogMessage={0} inició el pago de {1} + +bisqEasy.tradeState.info.buyer.phase2b.headline=Esperar a que el vendedor confirme la recepción del pago +bisqEasy.tradeState.info.buyer.phase2b.info=Una vez que el vendedor haya recibido tu pago de {0}, iniciará el pago en Bitcoin a tu {1} proporcionado. + +bisqEasy.tradeState.info.buyer.phase3a.headline=Espera el pago en Bitcoin del vendedor +bisqEasy.tradeState.info.buyer.phase3a.info=El vendedor necesita iniciar el pago en Bitcoin a tu {0} proporcionado. +bisqEasy.tradeState.info.buyer.phase3b.headline.ln=El vendedor ha enviado el Bitcoin a través de la red Lightning +bisqEasy.tradeState.info.buyer.phase3b.info.ln=La transferencia a través de la red Lightning suele ser casi instantánea.\nSi no has recibido el pago después de 1 minuto, contacta al vendedor en el chat del intercambio. En algunos casos, los pagos fallan y necesitan ser repetidos. +bisqEasy.tradeState.info.buyer.phase3b.confirmButton.ln=Confirmar recepción +bisqEasy.tradeState.info.buyer.phase3b.tradeLogMessage.ln={0} ha confirmado haber recibido el pago en Bitcoin +bisqEasy.tradeState.info.buyer.phase3b.headline.MAIN_CHAIN=El vendedor ha iniciado el pago en Bitcoin +bisqEasy.tradeState.info.buyer.phase3b.info.MAIN_CHAIN=En cuanto la transacción de Bitcoin sea visible en la red de Bitcoin, verás el pago. Después de 1 confirmación en la cadena de bloques, el pago puede considerarse como completado. +bisqEasy.tradeState.info.buyer.phase3b.balance=Bitcoin recibido +bisqEasy.tradeState.info.buyer.phase3b.balance.prompt=Esperando datos de la cadena de bloques... + +# Trade State Info: Seller +bisqEasy.tradeState.info.seller.phase1.headline=Enviar tus datos de cuenta de pago al comprador +bisqEasy.tradeState.info.seller.phase1.accountData=Mis datos de cuenta de pago +bisqEasy.tradeState.info.seller.phase1.accountData.prompt=Introduce tus datos de cuenta de pago. Por ejemplo, IBAN, BIC y nombre del titular de la cuenta +bisqEasy.tradeState.info.seller.phase1.buttonText=Enviar datos de cuenta +bisqEasy.tradeState.info.seller.phase1.note=Nota: Puedes usar el chat a continuación para ponerte en contacto con el comprador antes de revelar tus datos de cuenta. +bisqEasy.tradeState.info.seller.phase1.tradeLogMessage={0} ha enviado los datos de la cuenta de pago:\n{1} + +bisqEasy.tradeState.info.seller.phase2a.waitForPayment.headline=Esperar el pago de {0} del comprador +bisqEasy.tradeState.info.seller.phase2a.waitForPayment.info=Una vez que el comprador haya iniciado el pago de {0}, recibirás una notificación. + +bisqEasy.tradeState.info.seller.phase2b.headline=Verificar si has recibido {0} +bisqEasy.tradeState.info.seller.phase2b.info=Visita tu cuenta bancaria o la aplicación de tu proveedor de pagos para confirmar la recepción del pago del comprador. + +bisqEasy.tradeState.info.seller.phase2b.fiatReceivedButton=Confirmar recepción de {0} +bisqEasy.tradeState.info.seller.phase2b.tradeLogMessage={0} ha confirmado la recepción de {1} + +bisqEasy.tradeState.info.seller.phase3a.fiatPaymentReceivedCheckBox=He confirmado haber recibido {0} +bisqEasy.tradeState.info.seller.phase3a.sendBtc=Enviar {0} al comprador +bisqEasy.tradeState.info.seller.phase3a.baseAmount=Cantidad a enviar +bisqEasy.tradeState.info.seller.phase3a.qrCodeDisplay.openWindow=Abrir una ventana más grande +bisqEasy.tradeState.info.seller.phase3a.qrCodeDisplay.window.title=Escanear código QR para la compra-venta "{0}" +bisqEasy.tradeState.info.seller.phase3b.headline.MAIN_CHAIN=Esperando confirmación en la cadena de bloques +bisqEasy.tradeState.info.seller.phase3b.info.MAIN_CHAIN=El pago en Bitcoin requiere al menos 1 confirmación en la cadena de bloques para considerarse completo. +bisqEasy.tradeState.info.seller.phase3b.balance=Pago en Bitcoin +bisqEasy.tradeState.info.seller.phase3b.balance.prompt=Esperando datos de la cadena de bloques... + +#################################################################### +# Dynamically created from BitcoinPaymentRail enum name +#################################################################### +# suppress inspection "UnusedProperty" +bisqEasy.tradeState.info.seller.phase3a.bitcoinPayment.description.MAIN_CHAIN=Dirección de Bitcoin +# suppress inspection "UnusedProperty" +bisqEasy.tradeState.info.seller.phase3a.paymentProof.description.MAIN_CHAIN=ID de la transacción +# suppress inspection "UnusedProperty" +bisqEasy.tradeState.info.seller.phase3a.paymentProof.prompt.MAIN_CHAIN=Introduce el ID de la transacción de Bitcoin +# suppress inspection "UnusedProperty" +bisqEasy.tradeState.info.seller.phase3a.tradeLogMessage.paymentProof.MAIN_CHAIN=ID de la transacción +# suppress inspection "UnusedProperty" +bisqEasy.tradeState.info.seller.phase3a.bitcoinPayment.description.LN=Factura Lightning +# suppress inspection "UnusedProperty" +bisqEasy.tradeState.info.seller.phase3a.paymentProof.description.LN=Preimagen (opcional) +# suppress inspection "UnusedProperty" +bisqEasy.tradeState.info.seller.phase3a.paymentProof.prompt.LN=Introduce la preimagen si está disponible +# suppress inspection "UnusedProperty" +bisqEasy.tradeState.info.seller.phase3a.tradeLogMessage.paymentProof.LN=Preimagen + +bisqEasy.tradeState.info.seller.phase3a.btcSentButton=Confirmo haber enviado {0} +bisqEasy.tradeState.info.seller.phase3a.tradeLogMessage={0} ha iniciado el pago en Bitcoin. {1}: ''{2}'' +bisqEasy.tradeState.info.seller.phase3a.tradeLogMessage.noProofProvided={0} ha iniciado el pago en Bitcoin. + +# suppress inspection "UnusedProperty" +bisqEasy.tradeState.info.seller.phase3a.paymentProof.warning.MAIN_CHAIN=El ID de transacción que has introducido no parece válido.\n\nSi estás seguro de que el ID es válido, puedes ignorar este aviso y continuar. +# suppress inspection "UnusedProperty" +bisqEasy.tradeState.info.seller.phase3a.paymentProof.warning.LN=La preimagen que has introducido no parece válida.\n\nSi estás seguro de que la preimagen es válida, puedes ignorar este aviso y continuar. +bisqEasy.tradeState.info.seller.phase3a.paymentProof.warning.proceed=Ignorar aviso + +bisqEasy.tradeState.info.seller.phase3b.headline.ln=Espera a que el comprador confirme la recepción del Bitcoin +bisqEasy.tradeState.info.seller.phase3b.info.ln=Normalmente, las transferencias a través de la red Lightnng son instantáneas y fiables. Sin embargo, a veces los pagos fallan y deben repetirse.\n\nPor favor, para evitar problemas, espera a que el comprador confirme la recepción en el chat antes de cerrar la compra-venta, ya que no después de ello no podréis comunicaros. +bisqEasy.tradeState.info.seller.phase3b.confirmButton.ln=Completar operación + + +###################################################### +# Trade Completed Table +##################################################### + +bisqEasy.tradeCompleted.title=El intercambio se completó con éxito +bisqEasy.tradeCompleted.tableTitle=Resumen +bisqEasy.tradeCompleted.header.tradeWith=Intercambiar con +bisqEasy.tradeCompleted.header.myDirection.seller=He vendido +bisqEasy.tradeCompleted.header.myDirection.buyer=He comprado +bisqEasy.tradeCompleted.header.myDirection.btc=btc +bisqEasy.tradeCompleted.header.myOutcome.seller=Recibí +bisqEasy.tradeCompleted.header.myOutcome.buyer=He pagado +bisqEasy.tradeCompleted.header.paymentMethod=Método de pago +bisqEasy.tradeCompleted.header.tradeId=ID de intercambio +bisqEasy.tradeCompleted.body.date=Fecha +bisqEasy.tradeCompleted.body.tradePrice=Precio del intercambio +bisqEasy.tradeCompleted.body.tradeFee=Tarifa de comercio +bisqEasy.tradeCompleted.body.tradeFee.value=No hay comisiones de transacción en Bisq Easy +bisqEasy.tradeCompleted.body.copy.txId.tooltip=Copiar ID de Transacción al portapapeles +bisqEasy.tradeCompleted.body.copy.explorerLink.tooltip=Copiar enlace de transacción del explorador de bloques +bisqEasy.tradeCompleted.body.txId.tooltip=Abrir explorador de bloques ID de Transacción + + +################################################################################ +# +# Mediation +# +################################################################################ + +bisqEasy.mediation.request.confirm.headline=Solicitar mediación +bisqEasy.mediation.request.confirm.msg=Si tienes problemas que no puedes resolver con tu compañero de intercambio, puedes solicitar ayuda de un mediador.\n\nPor favor, no solicites mediación para preguntas generales. En la sección de soporte, hay salas de chat donde puedes obtener consejos y ayuda general. +bisqEasy.mediation.request.confirm.openMediation=Abrir mediación +bisqEasy.mediation.request.feedback.headline=Mediación solicitada +bisqEasy.mediation.request.feedback.msg=Se ha enviado una solicitud a los mediadores registrados.\n\nPor favor, ten paciencia hasta que un mediador esté en línea para unirse al chat de intercambio y ayudar a resolver cualquier problema. +bisqEasy.mediation.request.feedback.noMediatorAvailable=No hay mediadores disponibles. Por favor, utiliza el chat de soporte en su lugar. +bisqEasy.mediation.requester.tradeLogMessage={0} ha solicitado mediación diff --git a/pocs/android_only_m2_j17jars/app/src/main/resources/bisq_easy_it.properties b/pocs/android_only_m2_j17jars/app/src/main/resources/bisq_easy_it.properties new file mode 100644 index 00000000..becd1073 --- /dev/null +++ b/pocs/android_only_m2_j17jars/app/src/main/resources/bisq_easy_it.properties @@ -0,0 +1,808 @@ +#################################################################### +# +# Chat module +# +#################################################################### + +bisqEasy.offerBookChannel.description=Canale di mercato per il trading {0} +bisqEasy.mediator=Mediatore + + +#################################################################### +# +# Desktop module +# +#################################################################### + + +###################################################### +# Bisq Easy +###################################################### + +bisqEasy.dashboard=Primi passi +bisqEasy.offerbook=Registro delle offerte +bisqEasy.openTrades=Le mie compravendite aperte + + +###################################################### +# Bisq Easy dashboard +###################################################### + +bisqEasy.onboarding.top.headline=Bisq Easy in 3 minuti +bisqEasy.onboarding.top.content1=Ottieni una rapida introduzione a Bisq Easy +bisqEasy.onboarding.top.content2=Scopri come funziona il processo di compravendita +bisqEasy.onboarding.top.content3=Impara le semplici regole della compravendita +bisqEasy.onboarding.openTradeGuide=Leggi la guida alla compravendita +bisqEasy.onboarding.watchVideo=Guarda il video +bisqEasy.onboarding.watchVideo.tooltip=Guarda il video introduttivo incorporato + +bisqEasy.onboarding.left.headline=Consigliato per i principianti +bisqEasy.onboarding.left.info=L'assistente di compravendita ti guida attraverso la tua prima compravendita di bitcoin. I venditori di bitcoin ti aiuteranno se hai qualche domanda. +bisqEasy.onboarding.left.button=Avvia l'assistente di compravendita + +bisqEasy.onboarding.right.headline=Per i trader esperti +bisqEasy.onboarding.right.info=Naviga nel registro delle offerte per trovare le migliori offerte o crea la tua offerta. +bisqEasy.onboarding.right.button=Apri il registro delle offerte + + +################################################################################ +# +# Create offer +# +################################################################################ + +bisqEasy.tradeWizard.progress.direction=Compra/Vendi +bisqEasy.tradeWizard.progress.market=Valuta +bisqEasy.tradeWizard.progress.price=Prezzo +bisqEasy.tradeWizard.progress.amount=Quantità +bisqEasy.tradeWizard.progress.paymentMethods=Metodi di pagamento +bisqEasy.tradeWizard.progress.takeOffer=Seleziona offerta +bisqEasy.tradeWizard.progress.review=Revisione + + +################################################################################ +# Create offer / Direction +################################################################################ + +bisqEasy.tradeWizard.direction.headline=Vuoi comprare o vendere bitcoin? +bisqEasy.tradeWizard.direction.subTitle=Scegli un'opzione +bisqEasy.tradeWizard.direction.buy=Compra bitcoin +bisqEasy.tradeWizard.direction.buy.info=Il modo più semplice per ottenere i tuoi\nprimi bitcoin +bisqEasy.tradeWizard.direction.sell=Vendi bitcoin +bisqEasy.tradeWizard.direction.sell.info=Gli utenti esperti di Bisq con reputazione sufficiente possono agire come venditori +bisqEasy.tradeWizard.direction.feedback.headline=Come guadagnare reputazione? +bisqEasy.tradeWizard.direction.feedback.subTitle1=Non hai ancora stabilito alcuna Reputazione. Per i venditori di Bitcoin, costruire una Reputazione è fondamentale perché i compratori devono inviare prima la valuta fiat nel processo di scambio, facendo affidamento sull'integrità del venditore.\n\nQuesto processo di costruzione della Reputazione è più adatto per utenti esperti di Bisq, e puoi trovare informazioni dettagliate al riguardo nella sezione 'Reputazione'. +bisqEasy.tradeWizard.direction.feedback.gainReputation=Impara a guadagnare reputazione +bisqEasy.tradeWizard.direction.feedback.subTitle2=Sebbene sia possibile per i venditori effettuare scambi senza (o con insufficiente) Reputazione per importi relativamente bassi fino a {0}, la probabilità di trovare un partner commerciale è notevolmente ridotta. Questo perché gli acquirenti tendono ad evitare di interagire con i venditori che mancano di Reputazione a causa dei rischi di sicurezza. +bisqEasy.tradeWizard.direction.feedback.tradeWithoutReputation=Continua senza Reputazione +bisqEasy.tradeWizard.direction.feedback.backToBuy=Indietro + + +################################################################################ +# Create offer / Market +################################################################################ + +bisqEasy.tradeWizard.market.headline.buyer=In quale valuta vuoi pagare? +bisqEasy.tradeWizard.market.headline.seller=In quale valuta vuoi ricevere il pagamento? +bisqEasy.tradeWizard.market.subTitle=Scegli la tua valuta di compravendita +bisqEasy.tradeWizard.market.columns.name=Valuta fiat +bisqEasy.tradeWizard.market.columns.numOffers=Nº di offerte +bisqEasy.tradeWizard.market.columns.numPeers=Peer online + + +################################################################################ +# Create offer / Price +################################################################################ + +bisqEasy.price.headline=Qual è il tuo prezzo di compravendita? +bisqEasy.tradeWizard.price.subtitle=Questo può essere definito come un prezzo percentuale che varia con il prezzo di mercato o un prezzo fisso. +bisqEasy.price.percentage.title=Prezzo percentuale +bisqEasy.price.percentage.inputBoxText=Percentuale del prezzo di mercato tra -10% e 50% +bisqEasy.price.tradePrice.title=Prezzo fisso +bisqEasy.price.tradePrice.inputBoxText=Prezzo di scambio in {0} +bisqEasy.price.feedback.sentence=La tua offerta ha {0} possibilità di essere accettata a questo prezzo. +bisqEasy.price.feedback.sentence.veryLow=molto basse +bisqEasy.price.feedback.sentence.low=basse +bisqEasy.price.feedback.sentence.some=alcune +bisqEasy.price.feedback.sentence.good=buone +bisqEasy.price.feedback.sentence.veryGood=molto buone +bisqEasy.price.feedback.learnWhySection.openButton=Perché? +bisqEasy.price.feedback.learnWhySection.closeButton=Torna al Prezzo di Scambio +bisqEasy.price.feedback.learnWhySection.title=Perché dovrei pagare un prezzo più alto al venditore? +bisqEasy.price.feedback.learnWhySection.description.intro=Il motivo è che il venditore deve coprire spese extra e compensare per il servizio del venditore, in particolare: +bisqEasy.price.feedback.learnWhySection.description.exposition=- Costruire una reputazione che può essere costosa.- Il venditore deve pagare le commissioni di minazione.- Il venditore è la guida utile nel processo di scambio, investendo quindi più tempo. +bisqEasy.price.warn.invalidPrice.outOfRange=Il prezzo inserito è fuori dall'intervallo consentito del -10% al 50%. +bisqEasy.price.warn.invalidPrice.numberFormatException=Il prezzo inserito non è un numero valido. +bisqEasy.price.warn.invalidPrice.exception=Il prezzo inserito non è valido.\n\nMessaggio di errore: {0} + + +################################################################################ +# Create offer / Amount +################################################################################ + +bisqEasy.tradeWizard.amount.headline.buyer=Quanto vuoi spendere? +bisqEasy.tradeWizard.amount.headline.seller=Quanto vuoi ricevere? +bisqEasy.tradeWizard.amount.description.minAmount=Imposta il valore minimo per la quantità +bisqEasy.tradeWizard.amount.description.maxAmount=Imposta il valore massimo per la quantità +bisqEasy.tradeWizard.amount.description.fixAmount=Imposta la quantità che desideri negoziare +bisqEasy.tradeWizard.amount.addMinAmountOption=Aggiungi intervallo min/max per l'importo +bisqEasy.tradeWizard.amount.removeMinAmountOption=Usa un valore fisso per la quantità +bisqEasy.component.amount.minRangeValue=Min {0} +bisqEasy.component.amount.maxRangeValue=Max {0} +bisqEasy.component.amount.baseSide.tooltip.btcAmount.marketPrice=Questo è l'importo in Bitcoin con l'attuale prezzo di mercato. +bisqEasy.component.amount.baseSide.tooltip.btcAmount.selectedPrice=Questo è l'importo in Bitcoin con il prezzo da te selezionato. +bisqEasy.component.amount.baseSide.tooltip.buyerInfo=I venditori possono chiedere un prezzo più alto poiché hanno costi per acquisire reputazione.\nUn premio del 5-15% sul prezzo è comune. +bisqEasy.component.amount.baseSide.tooltip.bestOfferPrice=Questo è l'importo in Bitcoin con il miglior prezzo\ndalle offerte corrispondenti: {0} +bisqEasy.component.amount.baseSide.tooltip.buyer.btcAmount=Questo è l'importo in Bitcoin da ricevere +bisqEasy.component.amount.baseSide.tooltip.seller.btcAmount=Questo è l'importo in Bitcoin da spendere +bisqEasy.component.amount.baseSide.tooltip.taker.offerPrice=con il prezzo dell'offerta: {0} + + +bisqEasy.tradeWizard.amount.limitInfo.overlay.headline=Limiti di importo per il trading basati sulla Reputazione +bisqEasy.tradeWizard.amount.limitInfo.overlay.close=Chiudi sovrapposizione + +bisqEasy.tradeWizard.amount.seller.wizard.numMatchingOffers.info=Ci sono {0} corrispondenti all'importo di scambio scelto. +bisqEasy.tradeWizard.amount.seller.wizard.limitInfo=Con il tuo Punteggio di Reputazione di {0}, puoi scambiare fino a +bisqEasy.tradeWizard.amount.seller.wizard.limitInfo.overlay.info=Con un Punteggio di Reputazione di {0}, puoi fare trading fino a {1}.\n\nPuoi trovare informazioni su come aumentare la tua Reputazione in ''Reputazione/Crea Reputazione''. + +bisqEasy.tradeWizard.amount.seller.limitInfo.scoreTooLow=Con il tuo Punteggio di Reputazione di {0}, l'importo della tua transazione non dovrebbe superare +bisqEasy.tradeWizard.amount.seller.limitInfo.overlay.info.scoreTooLow=Il tuo Punteggio di Reputazione di {0} non offre sufficiente sicurezza per gli acquirenti.\n\nGli acquirenti che considerano di accettare la tua offerta riceveranno un avviso sui potenziali rischi quando accettano la tua offerta.\n\nPuoi trovare informazioni su come aumentare la tua Reputazione in ''Reputazione/Costruisci Reputazione''. + +bisqEasy.takeOffer.amount.seller.limitInfo.lowToleratedAmount=Poiché l'importo della transazione è inferiore a {0}, i requisiti di Reputazione sono allentati. +bisqEasy.takeOffer.amount.seller.limitInfo.scoreTooLow=Poiché il tuo Punteggio di Reputazione è solo {0}, l'importo della tua transazione è limitato a +bisqEasy.takeOffer.amount.seller.limitInfo.overlay.info.scoreTooLow=Per importi fino a {0}, i requisiti di reputazione sono allentati.\n\nIl tuo Punteggio di Reputazione di {1} non offre sufficiente sicurezza per l'acquirente. Tuttavia, dato il basso importo della transazione, l'acquirente ha accettato di assumersi il rischio.\n\nPuoi trovare informazioni su come aumentare la tua reputazione in ''Reputazione/Costruisci Reputazione''. + +bisqEasy.tradeWizard.amount.seller.limitInfo.sufficientScore=Il tuo Punteggio di Reputazione di {0} fornisce sicurezza per offerte fino a +bisqEasy.tradeWizard.amount.seller.limitInfo.overlay.info.sufficientScore=Con un Punteggio di Reputazione di {0}, fornisci sicurezza per le transazioni fino a {1}. + +bisqEasy.tradeWizard.amount.seller.limitInfo.inSufficientScore=La sicurezza fornita dal tuo Punteggio di Reputazione di {0} è insufficiente per offerte superiori a +bisqEasy.tradeWizard.amount.seller.limitInfo.overlay.info.inSufficientScore=Con un Punteggio di Reputazione di {0}, la sicurezza che fornisci è insufficiente per le transazioni superiori a {1}.\n\nPuoi comunque creare tali offerte, ma gli acquirenti saranno avvisati dei potenziali rischi quando tenteranno di accettare la tua offerta.\n\nPuoi trovare informazioni su come aumentare la tua Reputazione in ''Reputazione/Costruisci Reputazione''. + +bisqEasy.tradeWizard.amount.seller.limitInfoAmount={0}. +bisqEasy.tradeWizard.amount.seller.limitInfo.link=Scopri di più + + +bisqEasy.tradeWizard.amount.seller.limitInfo.overlay.linkToWikiText=Per ulteriori dettagli sul sistema di Reputazione, visita il Wiki di Bisq all'indirizzo: + +bisqEasy.tradeWizard.amount.seller.limitInfo.noReputationNeededForMaxOrFixedAmount=Per importi fino a {0} non è richiesta Reputazione. +bisqEasy.tradeWizard.amount.seller.limitInfo.noReputationNeededForMaxOrFixedAmount.overlay.info.scoreTooLow=Per importi fino a {0}, i requisiti di Reputazione sono allentati.\n\nIl tuo Punteggio di Reputazione di {1} non offre sufficiente sicurezza per gli acquirenti. Tuttavia, dato il basso importo coinvolto, gli acquirenti potrebbero comunque considerare di accettare l'offerta una volta informati sui rischi associati.\n\nPuoi trovare informazioni su come aumentare la tua Reputazione in ''Reputazione/Costruisci Reputazione''. + + +bisqEasy.tradeWizard.amount.buyer.limitInfo.learnMore=Scopri di più + +# suppress inspection "UnusedProperty" +bisqEasy.tradeWizard.amount.buyer.numSellers.0=non c'è nessun venditore +# suppress inspection "UnusedProperty" +bisqEasy.tradeWizard.amount.buyer.numSellers.1=c'è un venditore +# suppress inspection "UnusedProperty" +bisqEasy.tradeWizard.amount.buyer.numSellers.*=ci sono {0} venditori + +# suppress inspection "UnusedProperty" +bisqEasy.tradeWizard.amount.numOffers.0=non c'è offerta +# suppress inspection "UnusedProperty" +bisqEasy.tradeWizard.amount.numOffers.1=è un'offerta +# suppress inspection "UnusedProperty" +bisqEasy.tradeWizard.amount.numOffers.*=ci sono {0} offerte + +bisqEasy.tradeWizard.amount.buyer.limitInfo=Ci sono {0} nella rete con una Reputazione sufficiente per accettare un'offerta di {1}. +bisqEasy.tradeWizard.amount.buyer.limitInfo.overlay.info=Un venditore che desidera accettare la tua offerta di {0}, deve avere un punteggio di reputazione di almeno {1}.\nRiducendo l'importo massimo della transazione, rendi la tua offerta accessibile a più venditori. + +bisqEasy.tradeWizard.amount.buyer.limitInfo.wizard.info.leadLine=Ci sono {0} corrispondenze con l'importo di scambio scelto. +bisqEasy.tradeWizard.amount.buyer.limitInfo.wizard.info=Per offerte fino a {0}, i requisiti di Reputazione sono allentati. +bisqEasy.tradeWizard.amount.buyer.limitInfo.wizard.overlay.info=Data l'importo minimo ridotto di {0}, i requisiti di Reputazione sono allentati.\nPer importi fino a {1}, i venditori non hanno bisogno di Reputazione.\n\nNella schermata ''Seleziona Offerta'' è consigliato scegliere venditori con una Reputazione più alta. + +bisqEasy.tradeWizard.amount.buyer.limitInfo.noReputationNeededForMaxOrFixedAmount=I venditori senza Reputazione possono accettare offerte fino a {0}. +bisqEasy.tradeWizard.amount.buyer.limitInfo.noReputationNeededForMaxOrFixedAmount.riskInfo=Assicurati di comprendere appieno i rischi coinvolti. +bisqEasy.tradeWizard.amount.buyer.limitInfo.overlay.noReputationNeededForMaxOrFixedAmount.info=Data l'importo ridotto di {0}, i requisiti di Reputazione sono allentati.\nPer importi fino a {1}, i venditori con Reputazione insufficiente o assente possono accettare l'offerta.\n\nAssicurati di comprendere appieno i rischi quando commerci con un venditore senza o con Reputazione insufficiente. Se non vuoi essere esposto a quel rischio, scegli un importo superiore a {2}. +bisqEasy.tradeWizard.amount.buyer.limitInfo.overlay.linkToWikiText=Per saperne di più sul sistema di Reputazione, visita: + + +bisqEasy.tradeWizard.amount.buyer.noReputationNeededForMinAmount.limitInfo.leadLine=Poiché il tuo importo min. è inferiore a {0}, i venditori senza Reputazione possono accettare la tua offerta. +bisqEasy.tradeWizard.amount.buyer.noReputationNeededForMinAmount.limitInfo=Per l'importo massimo di {0} ci {1} con abbastanza Reputazione per accettare la tua offerta. +bisqEasy.tradeWizard.amount.buyer.noReputationNeededForMinAmount.limitInfo.overlay.info=Data il basso importo della transazione di {0}, i requisiti di Reputazione sono allentati.\nPer importi fino a {1}, i venditori con Reputazione insufficiente o assente possono accettare la tua offerta.\n\nI venditori che vogliono accettare la tua offerta con l'importo max. di {2}, devono avere un Punteggio di Reputazione di almeno {3}.\nRiducendo l'importo massimo della transazione, rendi la tua offerta accessibile a più venditori. + + +################################################################################ +# Create offer / Payment methods +################################################################################ + +bisqEasy.tradeWizard.paymentMethods.headline=Quali metodi di pagamento e regolamento vuoi utilizzare? +bisqEasy.tradeWizard.paymentMethods.fiat.subTitle.buyer=Scegli i metodi di pagamento per trasferire {0} +bisqEasy.tradeWizard.paymentMethods.fiat.subTitle.seller=Scegli i metodi di pagamento per ricevere {0} +bisqEasy.tradeWizard.paymentMethods.bitcoin.subTitle.buyer=Scegli i metodi di regolamento per ricevere Bitcoin +bisqEasy.tradeWizard.paymentMethods.bitcoin.subTitle.seller=Scegli i metodi di regolamento per inviare Bitcoin +bisqEasy.tradeWizard.paymentMethods.noneFound=Per il mercato selezionato, non ci sono metodi di pagamento standard forniti.\nPer favore, aggiungi nel campo di testo sottostante il metodo di pagamento personalizzato che desideri utilizzare. +bisqEasy.tradeWizard.paymentMethods.customMethod.prompt=Pagamento personalizzato +bisqEasy.tradeWizard.paymentMethods.warn.maxMethodsReached=Non puoi aggiungere più di 4 metodi di pagamento. +bisqEasy.tradeWizard.paymentMethods.warn.tooLong=Il nome di un metodo di pagamento personalizzato non dovrebbe superare i 20 caratteri. +bisqEasy.tradeWizard.paymentMethods.warn.customPaymentMethodAlreadyExists=Esiste già un metodo di pagamento personalizzato con il nome {0}. +bisqEasy.tradeWizard.paymentMethods.warn.customNameMatchesPredefinedMethod=Il nome del tuo metodo di pagamento personalizzato non dovrebbe essere lo stesso di uno predefinito. +bisqEasy.tradeWizard.paymentMethods.warn.noFiatPaymentMethodSelected=Per favore scegli almeno un metodo di pagamento fiat. +bisqEasy.tradeWizard.paymentMethods.warn.noBtcSettlementMethodSelected=Per favore scegli almeno un metodo di regolamento Bitcoin. + + +################################################################################ +# TradeWizard / Select offer +################################################################################ + +bisqEasy.tradeWizard.selectOffer.headline.buyer=Compra bitcoin per {0} +bisqEasy.tradeWizard.selectOffer.headline.seller=Vendi bitcoin per {0} +bisqEasy.tradeWizard.selectOffer.subHeadline=Si raccomanda di fare affari con utenti con alta reputazione. +bisqEasy.tradeWizard.selectOffer.noMatchingOffers.headline=Nessuna offerta corrispondente trovata +bisqEasy.tradeWizard.selectOffer.noMatchingOffers.subHeadline=Non ci sono offerte disponibili per i tuoi criteri di selezione. +bisqEasy.tradeWizard.selectOffer.noMatchingOffers.goBack=Cambia selezione +bisqEasy.tradeWizard.selectOffer.noMatchingOffers.goBack.info=Torna alle schermate precedenti e cambia la selezione +bisqEasy.tradeWizard.selectOffer.noMatchingOffers.browseOfferbook=Naviga nel registro delle offerte +bisqEasy.tradeWizard.selectOffer.noMatchingOffers.browseOfferbook.info=Chiudi l'assistente di compravendita e consulta il registro delle offerte + + +################################################################################ +# TradeWizard / Review +################################################################################ + +bisqEasy.tradeWizard.review.headline.maker=Rivedi l'offerta +bisqEasy.tradeWizard.review.headline.taker=Rivedi la compravendita +bisqEasy.tradeWizard.review.detailsHeadline.taker=Dettagli della compravendita +bisqEasy.tradeWizard.review.detailsHeadline.maker=Dettagli dell'offerta +bisqEasy.tradeWizard.review.feeDescription=Commissioni +bisqEasy.tradeWizard.review.noTradeFees=Nessuna commissione di compravendita su Bisq Easy +bisqEasy.tradeWizard.review.sellerPaysMinerFeeLong=Il venditore paga il costo della transazione +bisqEasy.tradeWizard.review.sellerPaysMinerFee=Il venditore paga il costo della transazione +bisqEasy.tradeWizard.review.noTradeFeesLong=Nessuna commissione di compravendita su Bisq Easy + +bisqEasy.tradeWizard.review.toPay=Importo da pagare +bisqEasy.tradeWizard.review.toSend=Importo da inviare +bisqEasy.tradeWizard.review.toReceive=Importo da ricevere +bisqEasy.tradeWizard.review.direction={0} Bitcoin +bisqEasy.tradeWizard.review.paymentMethodDescription.btc=Metodo di pagamento in Bitcoin +bisqEasy.tradeWizard.review.paymentMethodDescriptions.btc.maker=Metodi di pagamento in Bitcoin +bisqEasy.tradeWizard.review.paymentMethodDescriptions.btc.taker=Seleziona il metodo di pagamento in Bitcoin +bisqEasy.tradeWizard.review.paymentMethodDescription.fiat=Metodo di pagamento Fiat +bisqEasy.tradeWizard.review.paymentMethodDescriptions.fiat.maker=Metodi di pagamento Fiat +bisqEasy.tradeWizard.review.paymentMethodDescriptions.fiat.taker=Seleziona il metodo di pagamento Fiat +bisqEasy.tradeWizard.review.price={0} <{1} style=trade-wizard-review-code> + +bisqEasy.tradeWizard.review.priceDescription.taker=Prezzo di compravendita +bisqEasy.tradeWizard.review.priceDescription.maker=Prezzo dell'offerta +bisqEasy.tradeWizard.review.priceDetails.fix=Prezzo fisso. {0} {1} prezzo di mercato di {2} +bisqEasy.tradeWizard.review.priceDetails.fix.atMarket=Prezzo fisso. Uguale al prezzo di mercato di {0} +bisqEasy.tradeWizard.review.priceDetails.float=Prezzo variabile. {0} {1} prezzo di mercato di {2} +bisqEasy.tradeWizard.review.priceDetails=Varia con il prezzo di mercato +bisqEasy.tradeWizard.review.nextButton.createOffer=Crea offerta +bisqEasy.tradeWizard.review.nextButton.takeOffer=Conferma la compravendita + +bisqEasy.tradeWizard.review.createOfferSuccess.headline=Offerta pubblicata con successo +bisqEasy.tradeWizard.review.createOfferSuccess.subTitle=La tua offerta è ora elencata nel registro delle offerte. Quando un utente di Bisq accetterà la tua offerta, troverai una nuova compravendita nella sezione 'Compravendite Aperte'.\n\nAssicurati di controllare regolarmente l'applicazione Bisq per eventuali nuovi messaggi da un accettante. +bisqEasy.tradeWizard.review.createOfferSuccessButton=Mostra la mia offerta nel 'Libro delle Offerte' + +bisqEasy.tradeWizard.review.takeOfferSuccess.headline=Hai accettato l'offerta con successo +bisqEasy.tradeWizard.review.takeOfferSuccess.subTitle=Per favore, contatta la controparte in 'Compravendite Aperte'.\nLì troverai ulteriori informazioni sui prossimi passi.\n\nAssicurati di controllare regolarmente l'applicazione Bisq per eventuali nuovi messaggi della controparte. +bisqEasy.tradeWizard.review.takeOfferSuccessButton=Mostra la compravendita in 'Compravendite Aperte' + + +################################################################################ +# Create offer / Review +################################################################################# + +bisqEasy.tradeWizard.review.table.baseAmount.buyer=Ricevi +bisqEasy.tradeWizard.review.table.baseAmount.seller=Spendi +bisqEasy.tradeWizard.review.table.price=Prezzo in {0} +bisqEasy.tradeWizard.review.table.reputation=Reputazione +bisqEasy.tradeWizard.review.chatMessage.fixPrice={0} +bisqEasy.tradeWizard.review.chatMessage.floatPrice.above={0} sopra il prezzo di mercato +bisqEasy.tradeWizard.review.chatMessage.floatPrice.below={0} sotto il prezzo di mercato +bisqEasy.tradeWizard.review.chatMessage.marketPrice=Prezzo di mercato +bisqEasy.tradeWizard.review.chatMessage.price=Prezzo: +bisqEasy.tradeWizard.review.chatMessage.peerMessage.sell=Vendi Bitcoin a {0}\nImporto: {1}\nMetodo/i di pagamento in Bitcoin: {2}\nMetodo/i di pagamento Fiat: {3}\n{4} +bisqEasy.tradeWizard.review.chatMessage.peerMessage.buy=Compra Bitcoin da {0}\nImporto: {1}\nMetodo/i di pagamento in Bitcoin: {2}\nMetodo/i di pagamento Fiat: {3}\n{4} +bisqEasy.tradeWizard.review.chatMessage.offerDetails=Importo: {0}\nMetodo/i di pagamento in Bitcoin: {1}\nMetodo/i di pagamento Fiat: {2}\n{3} +bisqEasy.tradeWizard.review.chatMessage.peerMessageTitle.sell=Vendi Bitcoin a +bisqEasy.tradeWizard.review.chatMessage.peerMessageTitle.buy=Compra Bitcoin da +bisqEasy.tradeWizard.review.chatMessage.myMessageTitle=La mia offerta di {0} Bitcoin + + +################################################################################ +# +# Take offer +# +################################################################################ + +bisqEasy.takeOffer.progress.amount=Quantità +bisqEasy.takeOffer.progress.method=Metodo di pagamento +bisqEasy.takeOffer.progress.review=Rivedere la compravendita + +bisqEasy.takeOffer.amount.headline.buyer=Quanto vuoi spendere? +bisqEasy.takeOffer.amount.headline.seller=Quanto vuoi negoziare? +bisqEasy.takeOffer.amount.description=L'offerta ti permette di scegliere una quantità di compravendita\ntra {0} e {1} +bisqEasy.takeOffer.amount.description.limitedByTakersReputation=Il tuo Punteggio di Reputazione di {0} ti consente di scegliere un importo di scambio\ntra {1} e {2} + +bisqEasy.takeOffer.amount.buyer.limitInfo.tooHighMax=Il punteggio di reputazione del venditore è solo {0}. Non è consigliato scambiare più di +bisqEasy.takeOffer.amount.buyer.limitInfoAmount={0}. +bisqEasy.takeOffer.amount.buyer.limitInfo.tooHighMax.overlay.info=Il Punteggio di Reputazione del venditore di {0} non offre sufficiente sicurezza. Tuttavia, per importi di scambio inferiori (fino a {1}), i requisiti di reputazione sono più flessibili.\n\nSe decidi di procedere nonostante la mancanza di Reputazione del venditore, assicurati di essere pienamente consapevole dei rischi associati. Il modello di sicurezza di Bisq Easy si basa sulla Reputazione del venditore, poiché l'acquirente è tenuto a inviare prima la valuta fiat. +bisqEasy.takeOffer.amount.buyer.limitInfo.minAmountCovered=Il Punteggio di Reputazione del venditore di {0} offre sicurezza fino a +bisqEasy.takeOffer.amount.buyer.limitInfo.minAmountCovered.overlay.info=Il Punteggio di Reputazione del venditore di {0} offre sicurezza fino a {1}.\n\nSe scegli un importo più alto, assicurati di essere pienamente consapevole dei rischi associati. Il modello di sicurezza di Bisq Easy si basa sulla Reputazione del venditore, poiché l'acquirente è tenuto a inviare prima la valuta fiat. +bisqEasy.takeOffer.amount.buyer.limitInfo.minAmountNotCovered=Il punteggio di reputazione del venditore di {0} non fornisce una sicurezza sufficiente per quell'offerta. +bisqEasy.takeOffer.amount.buyer.limitInfo.tooHighMin.overlay.info=Il Punteggio di Reputazione del venditore di {0} non fornisce sufficiente sicurezza per quell'offerta.\n\nSi consiglia di effettuare transazioni di importi inferiori con scambi ripetuti o con venditori che hanno una Reputazione più alta. Se decidi di procedere nonostante la mancanza della Reputazione del venditore, assicurati di essere pienamente consapevole dei rischi associati. Il modello di sicurezza di Bisq Easy si basa sulla Reputazione del venditore, poiché l'acquirente è tenuto a inviare prima la valuta fiat. +bisqEasy.takeOffer.amount.buyer.limitInfo.learnMore=Scopri di più +bisqEasy.takeOffer.amount.buyer.limitInfo.overlay.linkToWikiText=Per saperne di più sul sistema di Reputazione, visita: + +bisqEasy.takeOffer.paymentMethods.headline.fiat=Quale metodo di pagamento vuoi utilizzare? +bisqEasy.takeOffer.paymentMethods.headline.fiatAndBitcoin=Quale metodo di pagamento e regolamento vuoi utilizzare? +bisqEasy.takeOffer.paymentMethods.headline.bitcoin=Quale metodo di regolamento vuoi utilizzare? +bisqEasy.takeOffer.paymentMethods.subtitle.fiat.buyer=Scegli un metodo di pagamento per trasferire {0} +bisqEasy.takeOffer.paymentMethods.subtitle.fiat.seller=Scegli un metodo di pagamento per ricevere {0} +bisqEasy.takeOffer.paymentMethods.subtitle.bitcoin.buyer=Scegli un metodo di regolamento per ricevere Bitcoin +bisqEasy.takeOffer.paymentMethods.subtitle.bitcoin.seller=Scegli un metodo di regolamento per inviare Bitcoin + +bisqEasy.takeOffer.review.headline=Rivedere la compravendita +bisqEasy.takeOffer.review.detailsHeadline=Dettagli della compravendita +bisqEasy.takeOffer.review.method.fiat=Metodo di pagamento Fiat +bisqEasy.takeOffer.review.method.bitcoin=Metodo di pagamento Bitcoin +bisqEasy.takeOffer.review.price.price=Prezzo di compravendita +bisqEasy.takeOffer.review.noTradeFees=Nessuna commissione di compravendita su Bisq Easy +bisqEasy.takeOffer.review.sellerPaysMinerFeeLong=Il venditore paga il costo della transazione +bisqEasy.takeOffer.review.sellerPaysMinerFee=Il venditore paga il costo della transazione +bisqEasy.takeOffer.review.noTradeFeesLong=Nessuna commissione di compravendita su Bisq Easy +bisqEasy.takeOffer.review.takeOffer=Conferma offerta +bisqEasy.takeOffer.review.sendTakeOfferMessageFeedback.headline=Invio del messaggio di accettazione offerta +bisqEasy.takeOffer.review.sendTakeOfferMessageFeedback.subTitle=L'invio del messaggio di accettazione offerta può richiedere fino a 2 minuti +bisqEasy.takeOffer.review.sendTakeOfferMessageFeedback.info=Non chiudere la finestra o l'applicazione fino a quando non vedi la conferma che la richiesta di accettazione dell'offerta è stata inviata con successo. +bisqEasy.takeOffer.review.takeOfferSuccess.headline=Hai accettato l'offerta con successo +bisqEasy.takeOffer.review.takeOfferSuccess.subTitle=Contatta la controparte nella sezione 'Compravendite Aperte'.\nLì Troverai ulteriori informazioni per i prossimi passaggi.\n\nAssicurati di controllare regolarmente l'applicazione Bisq per eventuali nuovi messaggi della controparte. +bisqEasy.takeOffer.review.takeOfferSuccessButton=Mostra compravendita nella sezione 'Compravendite Aperte' +bisqEasy.takeOffer.tradeLogMessage={0} ha inviato un messaggio per accettare l'offerta di {1} + +bisqEasy.takeOffer.noMediatorAvailable.warning=Non c'è un mediatore disponibile. Dovresti utilizzare la chat di supporto invece. +bisqEasy.takeOffer.makerBanned.warning=Il creatore di questa offerta è stato bannato. Si prega di provare ad utilizzare un'offerta diversa. +# suppress inspection "UnusedProperty" +bisqEasy.takeOffer.bitcoinPaymentData.warning.MAIN_CHAIN=L'indirizzo Bitcoin che hai inserito sembra essere non valido.\n\nSe sei sicuro che l'indirizzo sia valido, puoi ignorare questo avviso e procedere. +# suppress inspection "UnusedProperty" +bisqEasy.takeOffer.bitcoinPaymentData.warning.LN=La fattura Lightning che hai inserito sembra essere non valida.\n\nSe sei sicuro che la fattura sia valida, puoi ignorare questo avviso e procedere. +bisqEasy.takeOffer.bitcoinPaymentData.warning.proceed=Ignora avviso + + +################################################################################ +# +# TradeGuide +# +################################################################################ + +bisqEasy.tradeGuide.tabs.headline=Guida alla Compravendita +bisqEasy.tradeGuide.welcome=Panoramica Generale +bisqEasy.tradeGuide.security=Sicurezza +bisqEasy.tradeGuide.process=Processo +bisqEasy.tradeGuide.rules=Regole di Compravendita + +bisqEasy.tradeGuide.welcome.headline=Come negoziare su Bisq Easy +bisqEasy.tradeGuide.welcome.content=Questa guida fornisce una panoramica generale degli aspetti essenziali per comprare o vendere bitcoin con Bisq Easy.\nIn questa guida, imparerai qual è modello di sicurezza utilizzato su Bisq Easy, otterrai informazioni sul processo di compravendita e familiarizzerai con le regole di compravendita.\n\nPer qualsiasi domanda aggiuntiva, sentiti libero di visitare le chat room disponibili nel menu 'Supporto'. + +bisqEasy.tradeGuide.security.headline=Quanto è sicuro negoziare su Bisq Easy? +bisqEasy.tradeGuide.security.content=- Il modello di sicurezza di Bisq Easy è ottimizzato per compravendita di piccoli importi.\n- Il modello dipende dalla reputazione del venditore, che di solito è un utente esperto di Bisq e si prevede che fornisca un supporto utile ai nuovi utenti.\n- Costruire la reputazione può essere costoso, portando a un premio di prezzo comune del 10-15% per coprire spese extra e compensare per il servizio del venditore.\n- Negoziazione con venditori senza reputazione comporta rischi significativi e dovrebbe essere effettuata solo se i rischi sono completamente compresi e gestiti. + +bisqEasy.tradeGuide.process.headline=Come funziona il processo di compravendita? +bisqEasy.tradeGuide.process.content=Quando decidi di accettare un'offerta, avrai la flessibilità di scegliere tra le opzioni disponibili fornite dall'offerta. Prima di iniziare la negoziazione, ti verrà presentata una panoramica riassuntiva per la tua revisione.\nUna volta avviata la negoziazione, l'interfaccia utente ti guiderà attraverso il processo di negoziazione, che consiste nei seguenti passaggi: + +bisqEasy.tradeGuide.process.steps=1. Il venditore e l'acquirente scambiano i dettagli dell'account. Il venditore invia i dati di pagamento (ad es., numero di conto bancario) all'acquirente e l'acquirente invia il proprio indirizzo Bitcoin (o la fattura Lightning) al venditore.\n2. Successivamente, l'acquirente avvia il pagamento Fiat al conto del venditore. Una volta ricevuto il pagamento, il venditore confermerà la ricezione.\n3. Il venditore poi invia il Bitcoin all'indirizzo dell'acquirente e condivide l'ID della transazione (opzionalmente anche l'immagine predefinita nel caso venga utilizzato Lightning). L'interfaccia utente visualizzerà lo stato di conferma. Una volta confermato, il commercio è completato con successo. + +bisqEasy.tradeGuide.rules.headline=Cosa devo sapere sulle regole di compravendita? +bisqEasy.tradeGuide.rules.content=- Prima dello scambio dei dettagli dell'account tra il venditore e l'acquirente, ciascuna parte può annullare la transazione senza fornire giustificazione.\n- I trader dovrebbero controllare regolarmente le loro transazioni per nuovi messaggi e devono rispondere entro 24 ore.\n- Una volta scambiati i dettagli dell'account, il mancato rispetto degli obblighi di scambio è considerato una violazione del contratto di scambio e potrebbe comportare un divieto dalla rete Bisq. Questo non si applica se il partner di scambio non risponde.\n- Durante il pagamento Fiat, l'acquirente NON DEVE includere termini come 'Bisq' o 'Bitcoin' nel campo 'motivo del pagamento'. I trader possono concordare un identificatore, come una stringa casuale tipo 'H3TJAPD', per associare il bonifico bancario allo scambio.\n- Se lo scambio non può essere completato immediatamente a causa di tempi di trasferimento Fiat più lunghi, entrambi i trader devono essere online almeno una volta al giorno per monitorare il progresso dello scambio.\n- Nel caso in cui i trader incontrino problemi irrisolti, hanno la possibilità di invitare un mediatore nella chat di scambio per assistenza.\n\nSe hai domande o hai bisogno di assistenza, non esitare a visitare le stanze di chat accessibili nel menu 'Supporto'. Buon trading! + +bisqEasy.tradeGuide.rules.confirm=Ho letto e capito + +bisqEasy.tradeGuide.notConfirmed.warn=Per favore, leggi la guida alla compravendita e conferma di aver letto e capito le regole di compravendita. +bisqEasy.tradeGuide.open=Apri la guida alla compravendita + + +################################################################################ +# WalletGuide +################################################################################ + +bisqEasy.walletGuide.open=Apri la guida al portafoglio + +bisqEasy.walletGuide.tabs.headline=Guida al portafoglio +bisqEasy.walletGuide.intro=Introduzione +bisqEasy.walletGuide.download=Scarica +bisqEasy.walletGuide.createWallet=Nuovo portafoglio +bisqEasy.walletGuide.receive=Ricevendo + +bisqEasy.walletGuide.intro.headline=Preparati a ricevere i tuoi primi bitcoin +bisqEasy.walletGuide.intro.content=Su Bisq Easy, i bitcoin che ricevi vanno direttamente a te senza intermediari. Questo è un grande vantaggio, ma significa anche che hai bisogno di avere un portafoglio che controlli tu stesso per riceverli!\n\nIn questa breve guida al portafoglio, ti mostreremo in pochi semplici passi come creare un portafoglio semplice. Con esso, sarai in grado di ricevere e conservare i tuoi bitcoin appena acquistati.\n\nSe sei già familiare con i portafogli on-chain e ne hai uno, puoi saltare questa guida e semplicemente usare il tuo portafoglio esistente. + +bisqEasy.walletGuide.download.headline=Come scaricare il tuo portafoglio +bisqEasy.walletGuide.download.content=Ci sono molti portafogli che puoi utilizzare. In questa guida, ti mostreremo come usare Bluewallet. Bluewallet è ottimo e, allo stesso tempo, molto semplice, e puoi usarlo per ricevere il tuo Bitcoin da Bisq Easy.\n\nPuoi scaricare Bluewallet sul tuo telefono, indipendentemente dal fatto che tu abbia un dispositivo Android o iOS. Per farlo, puoi visitare la pagina ufficiale all'indirizzo 'bluewallet.io'. Una volta lì, clicca su App Store o Google Play a seconda del dispositivo che stai utilizzando.\n\nNota importante: per la tua sicurezza, assicurati di scaricare l'app dallo store ufficiale del tuo dispositivo. L'app ufficiale è fornita da 'Bluewallet Services, S.R.L.', e dovresti essere in grado di vederlo nel tuo store. Scaricare un portafoglio malevolo potrebbe mettere a rischio i tuoi fondi.\n\nInfine, una nota veloce: Bisq non è affiliato con Bluewallet in alcun modo. Ti suggeriamo di usare Bluewallet per la sua qualità e semplicità, ma ci sono molte altre opzioni sul mercato. Dovresti sentirti assolutamente libero di confrontare, provare e scegliere il portafoglio che meglio si adatta alle tue esigenze. +bisqEasy.walletGuide.download.link=Clicca qui per visitare la pagina di Bluewallet + +bisqEasy.walletGuide.createWallet.headline=Come creare il tuo nuovo portafoglio +bisqEasy.walletGuide.createWallet.content=Bluewallet ti permette di creare diversi portafogli per diversi scopi. Per ora, hai solo bisogno di avere un portafoglio. Una volta entrato in Bluewallet, vedrai un messaggio che suggerisce di aggiungere un nuovo portafoglio. Una volta fatto, inserisci un nome per il tuo portafoglio e scegli l'opzione *Bitcoin* nella sezione *Tipo*. Puoi lasciare tutte le altre opzioni come sono e cliccare su *Crea*.\n\nQuando passi al prossimo passo, ti verranno presentate 12 parole. Queste 12 parole sono il backup che ti permette di recuperare il tuo portafoglio se dovesse succedere qualcosa al tuo telefono. Scrivile su un pezzo di carta (non digitalmente) nello stesso ordine in cui vengono presentate, conserva questa carta in un luogo sicuro e assicurati che solo tu ne abbia accesso. Puoi leggere di più su come proteggere il tuo portafoglio nelle sezioni Learn di Bisq 2 dedicate ai portafogli e alla sicurezza.\n\nUna volta terminato, clicca su 'Ok, ho preso nota'.\nCongratulazioni! Hai creato il tuo portafoglio! Passiamo ora a come ricevere i tuoi bitcoin su di esso. + +bisqEasy.walletGuide.receive.headline=Come ricevere bitcoin nel tuo portafoglio +bisqEasy.walletGuide.receive.content=Per ricevere i tuoi bitcoin, hai bisogno di un indirizzo del tuo portafoglio. Per ottenerlo, clicca sul tuo portafoglio appena creato e poi clicca sul pulsante 'Ricevi' nella parte inferiore dello schermo.\n\nBluewallet mostrerà un indirizzo non utilizzato, sia come codice QR sia come testo. Questo indirizzo è quello che dovrai fornire al tuo partner su Bisq Easy in modo che possa inviarti i bitcoin che stai acquistando. Puoi spostare l'indirizzo sul tuo PC scansionando il codice QR con una fotocamera, inviando l'indirizzo con una email o un messaggio di chat, o addirittura digitandolo.\n\nUna volta completata la transazione, Bluewallet noterà il bitcoin in entrata e aggiornerà il tuo saldo con i nuovi fondi. Per proteggere la tua privacy, ogni volta che fai una nuova transazione ottieni un nuovo indirizzo .\n\nQuesti sono i fondamenti che devi conoscere per iniziare a ricevere bitcoin nel tuo portafoglio. Se vuoi saperne di più su Bluewallet, ti consigliamo di guardare i video elencati di seguito. +bisqEasy.walletGuide.receive.link1=Tutorial su Bluewallet di Anita Posch +bisqEasy.walletGuide.receive.link2=Tutorial su Bluewallet di BTC Sessions + + +###################################################### +# Offerbook +###################################################### + +bisqEasy.offerbook.markets=Mercati +bisqEasy.offerbook.markets.CollapsedList.Tooltip=Espandi Mercati +bisqEasy.offerbook.markets.ExpandedList.Tooltip=Comprimi Mercati +bisqEasy.offerbook.marketListCell.numOffers.one={0} offerta +bisqEasy.offerbook.marketListCell.numOffers.many={0} offerte +bisqEasy.offerbook.marketListCell.numOffers.tooltip.none=Non ci sono ancora offerte disponibili sul mercato {0} +bisqEasy.offerbook.marketListCell.numOffers.tooltip.one={0} offerta è disponibile sul mercato {1} +bisqEasy.offerbook.marketListCell.numOffers.tooltip.many={0} offerte sono disponibili sul mercato {1} +bisqEasy.offerbook.marketListCell.favourites.tooltip.addToFavourites=Aggiungi ai preferiti +bisqEasy.offerbook.marketListCell.favourites.tooltip.removeFromFavourites=Rimuovi dai preferiti +bisqEasy.offerbook.marketListCell.favourites.maxReached.popup=C'è spazio solo per 5 preferiti. Rimuovi un preferito e riprova. + +bisqEasy.offerbook.dropdownMenu.sortAndFilterMarkets.tooltip=Ordina e filtra i mercati +bisqEasy.offerbook.dropdownMenu.sortAndFilterMarkets.sortTitle=Ordina per: +bisqEasy.offerbook.dropdownMenu.sortAndFilterMarkets.mostOffers=Più offerte +bisqEasy.offerbook.dropdownMenu.sortAndFilterMarkets.nameAZ=Nome A-Z +bisqEasy.offerbook.dropdownMenu.sortAndFilterMarkets.nameZA=Nome Z-A +bisqEasy.offerbook.dropdownMenu.sortAndFilterMarkets.filterTitle=Mostra mercati: +bisqEasy.offerbook.dropdownMenu.sortAndFilterMarkets.withOffers=Con offerte +bisqEasy.offerbook.dropdownMenu.sortAndFilterMarkets.favourites=Solo preferiti +bisqEasy.offerbook.dropdownMenu.sortAndFilterMarkets.all=Tutti + +bisqEasy.offerbook.chatMessage.deleteOffer.confirmation=Sei sicuro di voler eliminare questa offerta? +bisqEasy.offerbook.chatMessage.deleteMessage.confirmation=Sei sicuro di voler eliminare questo messaggio? + +bisqEasy.offerbook.offerList=Elenco Offerte +bisqEasy.offerbook.offerList.collapsedList.tooltip=Espandi Elenco Offerte +bisqEasy.offerbook.offerList.expandedList.tooltip=Comprimi Elenco Offerte +bisqEasy.offerbook.offerList.table.columns.peerProfile=Profilo Peer +bisqEasy.offerbook.offerList.table.columns.price=Prezzo +bisqEasy.offerbook.offerList.table.columns.fiatAmount={0} importo +bisqEasy.offerbook.offerList.table.columns.paymentMethod=Pagamento +bisqEasy.offerbook.offerList.table.columns.settlementMethod=Regolamento +bisqEasy.offerbook.offerList.table.filters.offerDirection.buyFrom=Compra da +bisqEasy.offerbook.offerList.table.filters.offerDirection.sellTo=Vendi a +bisqEasy.offerbook.offerList.table.filters.paymentMethods.title=Pagamenti ({0}) +bisqEasy.offerbook.offerList.table.filters.paymentMethods.title.all=Tutti +bisqEasy.offerbook.offerList.table.filters.paymentMethods.customPayments=Pagamenti personalizzati +bisqEasy.offerbook.offerList.table.filters.paymentMethods.clearFilters=Cancella filtri +bisqEasy.offerbook.offerList.table.filters.showMyOffersOnly=Solo le mie offerte + +bisqEasy.offerbook.offerList.table.columns.price.tooltip.fixPrice=Prezzo fisso: {0}\nPercentuale dal prezzo di mercato attuale: {1} +bisqEasy.offerbook.offerList.table.columns.price.tooltip.marketPrice=Prezzo di mercato: {0} +bisqEasy.offerbook.offerList.table.columns.price.tooltip.floatPrice=Prezzo percentuale {0}\nCon prezzo di mercato attuale: {1} + + +###################################################### +# Open trades +###################################################### + +bisqEasy.openTrades.table.headline=Le mie transazioni aperte +bisqEasy.openTrades.noTrades=Non hai nessuna transazione aperta +bisqEasy.openTrades.rejectTrade=Rifiuta la transazione +bisqEasy.openTrades.cancelTrade=Annulla la transazione +bisqEasy.openTrades.tradeLogMessage.rejected={0} ha rifiutato la negoziazione +bisqEasy.openTrades.tradeLogMessage.cancelled={0} ha annullato la negoziazione +bisqEasy.openTrades.rejectTrade.warning=Dato che lo scambio dei dettagli del conto non è ancora iniziato, rifiutare la negoziazione non costituisce una violazione delle regole di scambio.\n\nSe hai domande o incontri problemi, non esitare a contattare il tuo partner di scambio o a cercare assistenza nella sezione 'Supporto'.\n\nSei sicuro di voler rifiutare la negoziazione? +bisqEasy.openTrades.cancelTrade.warning.buyer=Dal momento che il venditore ha già fornito le informazioni del suo conto di pagamento, annullare la transazione senza il consenso del venditore {0} +bisqEasy.openTrades.cancelTrade.warning.seller=Dato che l'acquirente ha già ricevuto i dettagli del conto di pagamento e potrebbe essere in procinto di avviare il pagamento, annullare la transazione senza il consenso dell'acquirente {0} + +bisqEasy.openTrades.cancelTrade.warning.part2=il consenso potrebbe essere considerato una violazione delle regole di trading e potrebbe comportare il divieto del tuo profilo dalla rete.\n\nSe il partner di trading è stato non reattivo per più di 24 ore e non è stato effettuato alcun pagamento, puoi rifiutare la negoziazione senza conseguenze. La responsabilità ricadrà sulla parte non reattiva.\n\nSe hai domande o incontri problemi, non esitare a contattare il tuo partner di trading o a cercare assistenza nella sezione 'Supporto'.\n\nSe credi che il tuo partner di trading abbia violato le regole di scambio, hai la possibilità di avviare una richiesta di mediazione. Un mediatore si unirà alla chat di scambio e lavorerà per trovare una soluzione cooperativa.\n\nSei sicuro di voler annullare la negoziazione? + +bisqEasy.openTrades.closeTrade.warning.interrupted=Prima di chiudere la transazione, puoi eseguire il backup dei dati della transazione come file csv, se necessario.\n\nUna volta che la transazione viene chiusa, tutti i dati relativi alla transazione vengono eliminati, e non puoi più comunicare con la controparte nella chat di compravendita.\n\nVuoi chiudere la transazione ora? + +bisqEasy.openTrades.closeTrade.warning.completed=La sua compravendita è stata completata.\n\nOra può chiudere la compravendita o eseguire il backup dei dati della compravendita sul suo computer, se necessario.\n\nUna volta che la compravendita è chiusa, tutti i dati relativi alla compravendita vengono eliminati, e non può più comunicare con la controparte nella chat di compravendita. +bisqEasy.openTrades.closeTrade=Chiudi compravendita +bisqEasy.openTrades.confirmCloseTrade=Conferma chiusura compravendita +bisqEasy.openTrades.exportTrade=Esporta dati della compravendita +bisqEasy.openTrades.reportToMediator=Segnala al mediatore +bisqEasy.openTrades.rejected.self=Hai rifiutato la compravendita +bisqEasy.openTrades.rejected.peer=La controparte ha rifiutato la compravendita +bisqEasy.openTrades.cancelled.self=Hai annullato la compravendita +bisqEasy.openTrades.cancelled.peer=La controparte ha annullato la compravendita +bisqEasy.openTrades.inMediation.info=Un mediatore si è unito alla chat di compravendita. Utilizza la chat di compravendita sottostante per ottenere assistenza dal mediatore. +bisqEasy.openTrades.failed=La compravendita è fallita con il seguente messaggio di errore: {0} +bisqEasy.openTrades.failed.popup=La compravendita è fallita a causa di un errore.\nMessaggio di errore: {0}\n\nTraccia dello stack: {1} +bisqEasy.openTrades.failedAtPeer=La compravendita del partner è fallita a causa di: {0} +bisqEasy.openTrades.failedAtPeer.popup=La compravendita del partner è fallita a causa di un errore.\nErrore causato da: {0}\n\nTraccia dello stack: {1} +bisqEasy.openTrades.table.tradePeer=Partner +bisqEasy.openTrades.table.me=Io +bisqEasy.openTrades.table.mediator=Mediatore +bisqEasy.openTrades.table.tradeId=ID della compravendita +bisqEasy.openTrades.table.price=Prezzo +bisqEasy.openTrades.table.baseAmount=Quantità in BTC +bisqEasy.openTrades.table.quoteAmount=Quantità +bisqEasy.openTrades.table.paymentMethod=Pagamento +bisqEasy.openTrades.table.paymentMethod.tooltip=Metodo di pagamento Fiat: {0} +bisqEasy.openTrades.table.settlementMethod=Regolamento +bisqEasy.openTrades.table.settlementMethod.tooltip=Metodo di regolamento Bitcoin: {0} +bisqEasy.openTrades.table.makerTakerRole=Il mio ruolo +bisqEasy.openTrades.table.direction.buyer=Sto comprando da: +bisqEasy.openTrades.table.direction.seller=Sto vendendo a: +bisqEasy.openTrades.table.makerTakerRole.maker=Creatore +bisqEasy.openTrades.table.makerTakerRole.taker=Accettante +bisqEasy.openTrades.csv.quoteAmount=Importo in {0} +bisqEasy.openTrades.csv.txIdOrPreimage=ID Transazione/Preimage +bisqEasy.openTrades.csv.receiverAddressOrInvoice=Indirizzo del destinatario/Fattura +bisqEasy.openTrades.csv.paymentMethod=Metodo di pagamento + +bisqEasy.openTrades.chat.peer.description=Chat con la controparte +bisqEasy.openTrades.chat.detach=Separa +bisqEasy.openTrades.chat.detach.tooltip=Apri la chat in una nuova finestra +bisqEasy.openTrades.chat.attach=Riattacca +bisqEasy.openTrades.chat.attach.tooltip=Ripristina la chat nella finestra principale +bisqEasy.openTrades.chat.window.title={0} - Chat con {1} / ID del Commercio: {2} +bisqEasy.openTrades.chat.peerLeft.headline={0} ha lasciato la transazione +bisqEasy.openTrades.chat.peerLeft.subHeadline=Se la transazione non è completata da parte tua e hai bisogno di assistenza, contatta il mediatore o visita la chat di supporto. + +###################################################### +# Private chat +###################################################### + +bisqEasy.privateChats.leave=Esci dalla chat +bisqEasy.privateChats.table.myUser=Il mio profilo + + +###################################################### +# Top pane +###################################################### + +# Commented out in code +# suppress inspection "UnusedProperty" +bisqEasy.topPane.filter=Filtrare il libro degli ordini +# Commented out in code +# suppress inspection "UnusedProperty" +bisqEasy.topPane.closeFilter=Chiudi filtro +bisqEasy.topPane.filter.offersOnly=Mostra solo le offerte nel libro delle offerte di Bisq Easy + + +################################################################################ +# +# BisqEasyOfferDetails +# +################################################################################ + +bisqEasy.offerDetails.headline=Dettagli dell'offerta +bisqEasy.offerDetails.buy=Offerta di acquisto bitcoin +bisqEasy.offerDetails.sell=Offerta di vendita bitcoin + +bisqEasy.offerDetails.direction=Tipo di offerta +bisqEasy.offerDetails.baseSideAmount=Quantità di bitcoin +bisqEasy.offerDetails.quoteSideAmount=Quantità in {0} +bisqEasy.offerDetails.price=Prezzo dell'offerta in {0} +bisqEasy.offerDetails.priceValue={0} (premio: {1}) +bisqEasy.offerDetails.paymentMethods=Metodo/i di pagamento supportati +bisqEasy.offerDetails.id=ID dell'offerta +bisqEasy.offerDetails.date=Data di creazione +bisqEasy.offerDetails.makersTradeTerms=Termini di compravendita del creatore + + +################################################################################ +# +# OpenTradesWelcome +# +################################################################################ + +bisqEasy.openTrades.welcome.headline=Benvenuto al tuo primo scambio su Bisq Easy! +bisqEasy.openTrades.welcome.info=Per favore, familiarizza con il concetto, il processo e le regole di scambio su Bisq Easy.\nDopo aver letto e accettato le regole di scambio, puoi iniziare a fare scambi. +bisqEasy.openTrades.welcome.line1=Scopri il modello di sicurezza di Bisq Easy +bisqEasy.openTrades.welcome.line2=Guarda come funziona il processo di scambio +bisqEasy.openTrades.welcome.line3=Familiarizza con le regole di scambio + + +################################################################################ +# +# TradeState +# +################################################################################ + +bisqEasy.tradeState.requestMediation=Richiedi mediazione +bisqEasy.tradeState.reportToMediator=Rapporto al mediatore +bisqEasy.tradeState.acceptOrRejectSellersPrice.title=Attenzione al Cambio di Prezzo! +bisqEasy.tradeState.acceptOrRejectSellersPrice.description.buyersPrice=Il prezzo della tua offerta per acquistare Bitcoin era {0}. +bisqEasy.tradeState.acceptOrRejectSellersPrice.description.sellersPrice=Tuttavia, il venditore ti sta offrendo un prezzo diverso: {0}. +bisqEasy.tradeState.acceptOrRejectSellersPrice.description.question=Vuoi accettare questo nuovo prezzo o vuoi rifiutare/annullare* la negoziazione? +bisqEasy.tradeState.acceptOrRejectSellersPrice.description.disclaimer=(*Nota che in questo caso specifico, annullare la negoziazione NON sarà considerato una violazione delle regole di trading.) +bisqEasy.tradeState.acceptOrRejectSellersPrice.button.accept=Accetta il prezzo + +# Trade State: Header +bisqEasy.tradeState.header.peer=Controparte +bisqEasy.tradeState.header.direction=Desidero +bisqEasy.tradeState.header.send=Importo da inviare +bisqEasy.tradeState.header.pay=Importo da pagare +bisqEasy.tradeState.header.receive=Importo da ricevere +bisqEasy.tradeState.header.tradeId=ID compravendita + +# Trade State: Phase (left side) +bisqEasy.tradeState.phase1=Dettagli dell'account +bisqEasy.tradeState.phase2=Pagamento in fiat +bisqEasy.tradeState.phase3=Trasferimento Bitcoin +bisqEasy.tradeState.phase4=Compravendita completata + +# Trade State: Info (right side) + +bisqEasy.tradeState.info.phase3b.balance.help.explorerLookup=Ricerca della transazione nel block explorer ''{0}'' +bisqEasy.tradeState.info.phase3b.balance.help.notConfirmed=Transazione presente nel mempool ma non ancora confermata +bisqEasy.tradeState.info.phase3b.balance.help.confirmed=La transazione è confermata +bisqEasy.tradeState.info.phase3b.txId.failed=La ricerca della transazione su ''{0}'' non è riuscita con {1}: ''{2}'' +bisqEasy.tradeState.info.phase3b.button.skip=Salta l'attesa della conferma del blocco + +bisqEasy.tradeState.info.phase3b.balance.invalid.noOutputsForAddress=Nessun output corrispondente trovato nella transazione +bisqEasy.tradeState.info.phase3b.balance.invalid.multipleOutputsForAddress=Più output corrispondenti trovati nella transazione +bisqEasy.tradeState.info.phase3b.balance.invalid.amountNotMatching=L'importo dell'output dalla transazione non corrisponde all'importo dello scambio + +bisqEasy.tradeState.info.phase3b.button.next=Avanti +bisqEasy.tradeState.info.phase3b.button.next.amountNotMatching=L'importo dell'output per l'indirizzo ''{0}'' nella transazione ''{1}'' è ''{2}'', che non corrisponde all'importo dello scambio di ''{3}''.\n\nSei riuscito a risolvere questo problema con il tuo partner di scambio?\nSe non lo hai fatto, puoi considerare di richiedere una mediazione per aiutarti a risolvere la questione. +bisqEasy.tradeState.info.phase3b.button.next.noOutputForAddress=Nessun output corrispondente trovato per l'indirizzo ''{0}'' nella transazione ''{1}''.\n\nSei riuscito a risolvere questo problema con il tuo partner di scambio?\nSe non lo hai fatto, puoi considerare di richiedere una mediazione per aiutarti a risolvere la questione. + +bisqEasy.tradeState.info.phase3b.button.next.amountNotMatching.resolved=Ho risolto il problema + +bisqEasy.tradeState.info.phase3b.txId=ID transazione +bisqEasy.tradeState.info.phase3b.txId.tooltip=Apri transazione nel block explorer +bisqEasy.tradeState.info.phase3b.lightning.preimage=Preimage + +bisqEasy.tradeState.info.phase4.txId.tooltip=Apri transazione nel block explorer +bisqEasy.tradeState.info.phase4.exportTrade=Esporta dati della compravendita +bisqEasy.tradeState.info.phase4.leaveChannel=Chiudi compravendita +#################################################################### +# Dynamically created from BitcoinPaymentRail enum name +#################################################################### +# suppress inspection "UnusedProperty" +bisqEasy.tradeState.bitcoinPaymentData.MAIN_CHAIN=Indirizzo Bitcoin +# suppress inspection "UnusedProperty" +bisqEasy.tradeState.bitcoinPaymentData.LN=Fattura Lightning +# suppress inspection "UnusedProperty" +bisqEasy.tradeState.paymentProof.MAIN_CHAIN=ID della transazione +# suppress inspection "UnusedProperty" +bisqEasy.tradeState.paymentProof.LN=Preimage + + +# Trade State Info: Buyer +#################################################################### +# Dynamically created from BitcoinPaymentRail enum name +#################################################################### +# suppress inspection "UnusedProperty" +bisqEasy.tradeState.info.buyer.phase1a.bitcoinPayment.headline.MAIN_CHAIN=Inserisci il tuo indirizzo Bitcoin +# suppress inspection "UnusedProperty" +bisqEasy.tradeState.info.buyer.phase1a.bitcoinPayment.description.MAIN_CHAIN=Indirizzo Bitcoin +# suppress inspection "UnusedProperty" +bisqEasy.tradeState.info.buyer.phase1a.bitcoinPayment.prompt.MAIN_CHAIN=Inserisci il tuo indirizzo Bitcoin +# suppress inspection "UnusedProperty" +bisqEasy.tradeState.info.buyer.phase1a.tradeLogMessage.MAIN_CHAIN={0} ha inviato l'indirizzo Bitcoin ''{1}'' +# suppress inspection "UnusedProperty" +bisqEasy.tradeState.info.buyer.phase1a.bitcoinPayment.headline.LN=Inserisci la tua fattura Lightning +# suppress inspection "UnusedProperty" +bisqEasy.tradeState.info.buyer.phase1a.bitcoinPayment.description.LN=Fattura Lightning +# suppress inspection "UnusedProperty" +bisqEasy.tradeState.info.buyer.phase1a.bitcoinPayment.prompt.LN=Inserisci la tua fattura Lightning +# suppress inspection "UnusedProperty" +bisqEasy.tradeState.info.buyer.phase1a.tradeLogMessage.LN={0} ha inviato la fattura Lightning ''{1}'' + +bisqEasy.tradeState.info.buyer.phase1a.bitcoinPayment.walletHelp=Se non hai ancora configurato un portafoglio, puoi trovare aiuto nella guida al portafoglio +bisqEasy.tradeState.info.buyer.phase1a.walletHelpButton=Apri guida al portafoglio +bisqEasy.tradeState.info.buyer.phase1a.send=Invia al venditore +bisqEasy.tradeState.info.buyer.phase1a.scanQrCode.tooltip=Scansiona il codice QR utilizzando la tua webcam +bisqEasy.tradeState.info.buyer.phase1a.scanQrCode.webcamState.description=Stato della connessione della webcam +bisqEasy.tradeState.info.buyer.phase1a.scanQrCode.webcamState.connecting=Connessione alla webcam in corso... +bisqEasy.tradeState.info.buyer.phase1a.scanQrCode.webcamState.imageRecognized=Webcam connessa +bisqEasy.tradeState.info.buyer.phase1a.scanQrCode.webcamState.failed=Connessione alla webcam non riuscita +bisqEasy.tradeState.info.buyer.phase1b.headline=Attendi i dati dell'account di pagamento del venditore +bisqEasy.tradeState.info.buyer.phase1b.info=Puoi utilizzare la chat qui sotto per metterti in contatto con il venditore. + +bisqEasy.tradeState.info.buyer.phase2a.headline=Invia {0} all'account di pagamento del venditore +bisqEasy.tradeState.info.buyer.phase2a.quoteAmount=Importo da trasferire +bisqEasy.tradeState.info.buyer.phase2a.sellersAccount=Account di pagamento del venditore +bisqEasy.tradeState.info.buyer.phase2a.reasonForPaymentInfo=Si prega di lasciare vuoto il campo 'Motivo del pagamento' in caso di bonifico bancario +bisqEasy.tradeState.info.buyer.phase2a.confirmFiatSent=Conferma pagamento di {0} +bisqEasy.tradeState.info.buyer.phase2a.tradeLogMessage={0} ha avviato il pagamento {1} + +bisqEasy.tradeState.info.buyer.phase2b.headline=Attendi che il venditore confermi la ricezione del pagamento +bisqEasy.tradeState.info.buyer.phase2b.info=Una volta che il venditore ha ricevuto il tuo pagamento di {0}, inizierà il pagamento in Bitcoin al tuo {1} fornito. + +bisqEasy.tradeState.info.buyer.phase3a.headline=Attendi il pagamento Bitcoin del venditore +bisqEasy.tradeState.info.buyer.phase3a.info=Il venditore deve avviare il pagamento in Bitcoin al tuo {0} fornito. +bisqEasy.tradeState.info.buyer.phase3b.headline.ln=Il venditore ha inviato il Bitcoin tramite Lightning Network +bisqEasy.tradeState.info.buyer.phase3b.info.ln=Il trasferimento tramite Lightning Network è solitamente quasi istantaneo.\nSe non hai ricevuto il pagamento dopo 1 minuto, contatta il venditore nella chat del trade. In alcuni casi i pagamenti falliscono e devono essere ripetuti. +bisqEasy.tradeState.info.buyer.phase3b.confirmButton.ln=Conferma ricezione +bisqEasy.tradeState.info.buyer.phase3b.tradeLogMessage.ln={0} ha confermato di aver ricevuto il pagamento in Bitcoin +bisqEasy.tradeState.info.buyer.phase3b.headline.MAIN_CHAIN=Il venditore ha iniziato il pagamento Bitcoin +bisqEasy.tradeState.info.buyer.phase3b.info.MAIN_CHAIN=Non appena la transazione Bitcoin è visibile nella rete Bitcoin, vedrai il pagamento. Dopo 1 conferma sulla blockchain, il pagamento può essere considerato completato. +bisqEasy.tradeState.info.buyer.phase3b.balance=Bitcoin ricevuti +bisqEasy.tradeState.info.buyer.phase3b.balance.prompt=In attesa di dati blockchain... + +# Trade State Info: Seller +bisqEasy.tradeState.info.seller.phase1.headline=Invia i tuoi dati dell'account di pagamento al compratore +bisqEasy.tradeState.info.seller.phase1.accountData=I miei dati dell'account di pagamento +bisqEasy.tradeState.info.seller.phase1.accountData.prompt=Inserisci i tuoi dati dell'account di pagamento. Ad es. IBAN, BIC e nome del titolare dell'account +bisqEasy.tradeState.info.seller.phase1.buttonText=Invia dati dell'account +bisqEasy.tradeState.info.seller.phase1.note=Nota: Puoi utilizzare la chat qui sotto per metterti in contatto con il compratore prima di rivelare i tuoi dati dell'account. +bisqEasy.tradeState.info.seller.phase1.tradeLogMessage={0} ha inviato i dati del conto di pagamento:\n{1} + +bisqEasy.tradeState.info.seller.phase2a.waitForPayment.headline=Attendi il pagamento di {0} del compratore +bisqEasy.tradeState.info.seller.phase2a.waitForPayment.info=Una volta che il compratore ha iniziato il pagamento di {0}, sarai notificato. + +bisqEasy.tradeState.info.seller.phase2b.headline=Controlla se hai ricevuto {0} +bisqEasy.tradeState.info.seller.phase2b.info=Visita il tuo conto bancario o l'app del fornitore di pagamenti per confermare la ricezione del pagamento del compratore. + +bisqEasy.tradeState.info.seller.phase2b.fiatReceivedButton=Conferma ricezione di {0} +bisqEasy.tradeState.info.seller.phase2b.tradeLogMessage={0} ha confermato la ricezione di {1} + +bisqEasy.tradeState.info.seller.phase3a.fiatPaymentReceivedCheckBox=Ho confermato di aver ricevuto {0} +bisqEasy.tradeState.info.seller.phase3a.sendBtc=Invia {0} al compratore +bisqEasy.tradeState.info.seller.phase3a.baseAmount=Importo da inviare +bisqEasy.tradeState.info.seller.phase3a.qrCodeDisplay.openWindow=Apri visualizzazione più grande +bisqEasy.tradeState.info.seller.phase3a.qrCodeDisplay.window.title=Scansiona il codice QR per lo scambio ''{0}'' +bisqEasy.tradeState.info.seller.phase3b.headline.MAIN_CHAIN=In attesa di conferma blockchain +bisqEasy.tradeState.info.seller.phase3b.info.MAIN_CHAIN=Il pagamento Bitcoin richiede almeno 1 conferma sulla blockchain per essere considerato completo. +bisqEasy.tradeState.info.seller.phase3b.balance=Pagamento Bitcoin +bisqEasy.tradeState.info.seller.phase3b.balance.prompt=In attesa di dati blockchain... + +#################################################################### +# Dynamically created from BitcoinPaymentRail enum name +#################################################################### +# suppress inspection "UnusedProperty" +bisqEasy.tradeState.info.seller.phase3a.bitcoinPayment.description.MAIN_CHAIN=Indirizzo Bitcoin +# suppress inspection "UnusedProperty" +bisqEasy.tradeState.info.seller.phase3a.paymentProof.description.MAIN_CHAIN=ID della transazione +# suppress inspection "UnusedProperty" +bisqEasy.tradeState.info.seller.phase3a.paymentProof.prompt.MAIN_CHAIN=Inserisci l'ID della transazione Bitcoin +# suppress inspection "UnusedProperty" +bisqEasy.tradeState.info.seller.phase3a.tradeLogMessage.paymentProof.MAIN_CHAIN=ID della transazione +# suppress inspection "UnusedProperty" +bisqEasy.tradeState.info.seller.phase3a.bitcoinPayment.description.LN=Fattura Lightning +# suppress inspection "UnusedProperty" +bisqEasy.tradeState.info.seller.phase3a.paymentProof.description.LN=Preimmagine (opzionale) +# suppress inspection "UnusedProperty" +bisqEasy.tradeState.info.seller.phase3a.paymentProof.prompt.LN=Inserisci la preimmagine se disponibile +# suppress inspection "UnusedProperty" +bisqEasy.tradeState.info.seller.phase3a.tradeLogMessage.paymentProof.LN=Preimmagine + +bisqEasy.tradeState.info.seller.phase3a.btcSentButton=Confermo di aver inviato {0} +bisqEasy.tradeState.info.seller.phase3a.tradeLogMessage={0} ha avviato il pagamento in Bitcoin. {1}: ''{2}'' +bisqEasy.tradeState.info.seller.phase3a.tradeLogMessage.noProofProvided={0} ha avviato il pagamento in Bitcoin. + +# suppress inspection "UnusedProperty" +bisqEasy.tradeState.info.seller.phase3a.paymentProof.warning.MAIN_CHAIN=L'ID della transazione che hai inserito sembra essere non valido.\n\nSe sei sicuro che l'ID della transazione sia valido, puoi ignorare questo avviso e procedere. +# suppress inspection "UnusedProperty" +bisqEasy.tradeState.info.seller.phase3a.paymentProof.warning.LN=La preimmagine che hai inserito sembra essere non valida.\n\nSe sei sicuro che la preimmagine sia valida, puoi ignorare questo avviso e procedere. +bisqEasy.tradeState.info.seller.phase3a.paymentProof.warning.proceed=Ignora avviso + +bisqEasy.tradeState.info.seller.phase3b.headline.ln=Attendi la conferma del ricevimento del Bitcoin da parte dell'acquirente +bisqEasy.tradeState.info.seller.phase3b.info.ln=I trasferimenti tramite la Lightning Network sono solitamente quasi istantanei e affidabili. Tuttavia, in alcuni casi, i pagamenti possono fallire e necessitare di ripetizioni.\n\nPer evitare problemi, attendi che l'acquirente confermi la ricezione nella chat di scambio prima di chiudere la transazione, poiché dopo non sarà più possibile comunicare. +bisqEasy.tradeState.info.seller.phase3b.confirmButton.ln=Completa il commercio + + +###################################################### +# Trade Completed Table +##################################################### + +bisqEasy.tradeCompleted.title=Compravendita completata con successo +bisqEasy.tradeCompleted.tableTitle=Riepilogo +bisqEasy.tradeCompleted.header.tradeWith=Scambia con +bisqEasy.tradeCompleted.header.myDirection.seller=Ho venduto +bisqEasy.tradeCompleted.header.myDirection.buyer=Ho comprato +bisqEasy.tradeCompleted.header.myDirection.btc=btc +bisqEasy.tradeCompleted.header.myOutcome.seller=Ho ricevuto +bisqEasy.tradeCompleted.header.myOutcome.buyer=Ho pagato +bisqEasy.tradeCompleted.header.paymentMethod=Metodo di pagamento +bisqEasy.tradeCompleted.header.tradeId=ID della compravendita +bisqEasy.tradeCompleted.body.date=Data +bisqEasy.tradeCompleted.body.tradePrice=Prezzo di compravendita +bisqEasy.tradeCompleted.body.tradeFee=Commissione di trading +bisqEasy.tradeCompleted.body.tradeFee.value=Nessuna commissione di compravendita su Bisq Easy +bisqEasy.tradeCompleted.body.copy.txId.tooltip=Copia l'ID Transazione negli appunti +bisqEasy.tradeCompleted.body.copy.explorerLink.tooltip=Copia il link della transazione dell'esploratore di blocchi +bisqEasy.tradeCompleted.body.txId.tooltip=Apri l'esploratore di blocchi per l'ID Transazione + + +################################################################################ +# +# Mediation +# +################################################################################ + +bisqEasy.mediation.request.confirm.headline=Richiedi mediazione +bisqEasy.mediation.request.confirm.msg=Se hai problemi che non riesci a risolvere con la controparte, puoi richiedere l'assistenza di un mediatore.\n\nPer favore, non richiedere la mediazione per domande generali. Nella sezione di supporto, ci sono chat room dove puoi ottenere consigli generali e aiuto. +bisqEasy.mediation.request.confirm.openMediation=Apri mediazione +bisqEasy.mediation.request.feedback.headline=Mediazione richiesta +bisqEasy.mediation.request.feedback.msg=Una richiesta è stata inviata ai mediatori registrati.\n\nPer favore, abbi pazienza fino a quando un mediatore sarà online per unirsi alla chat di scambio e aiutare a risolvere qualsiasi problema. +bisqEasy.mediation.request.feedback.noMediatorAvailable=Non c'è nessun mediatore disponibile. Per favore, usa invece la chat di supporto. +bisqEasy.mediation.requester.tradeLogMessage={0} ha richiesto la mediazione diff --git a/pocs/android_only_m2_j17jars/app/src/main/resources/bisq_easy_pcm.properties b/pocs/android_only_m2_j17jars/app/src/main/resources/bisq_easy_pcm.properties new file mode 100644 index 00000000..a85eb424 --- /dev/null +++ b/pocs/android_only_m2_j17jars/app/src/main/resources/bisq_easy_pcm.properties @@ -0,0 +1,808 @@ +#################################################################### +# +# Chat module +# +#################################################################### + +bisqEasy.offerBookChannel.description=Markit chanel for tradin {0} +bisqEasy.mediator=Mediator + + +#################################################################### +# +# Desktop module +# +#################################################################### + + +###################################################### +# Bisq Easy +###################################################### + +bisqEasy.dashboard=How to start +bisqEasy.offerbook=Offerbook +bisqEasy.openTrades=My open trades + + +###################################################### +# Bisq Easy dashboard +###################################################### + +bisqEasy.onboarding.top.headline=Bisq Easy for 3 minutes +bisqEasy.onboarding.top.content1=Get quick introduction into Bisq Easy +bisqEasy.onboarding.top.content2=See how the trade process dey work +bisqEasy.onboarding.top.content3=Lern about di simple trad rulz +bisqEasy.onboarding.openTradeGuide=Read di trady gid +bisqEasy.onboarding.watchVideo=Watch video +bisqEasy.onboarding.watchVideo.tooltip=Watch introduction video wey dey inside + +bisqEasy.onboarding.left.headline=Beta for bigeners +bisqEasy.onboarding.left.info=The trade wizard go guide you through your first Bitcoin trade. The Bitcoin sellers go help you if you get any question. +bisqEasy.onboarding.left.button=Start Trayd Wizard + +bisqEasy.onboarding.right.headline=For experyens traders +bisqEasy.onboarding.right.info=Browse di offerbook for di best offers or create your own offer. +bisqEasy.onboarding.right.button=Open offerbook + + +################################################################################ +# +# Create offer +# +################################################################################ + +bisqEasy.tradeWizard.progress.direction=Buy/Sell +bisqEasy.tradeWizard.progress.market=Kọ́rénsì +bisqEasy.tradeWizard.progress.price=Price +bisqEasy.tradeWizard.progress.amount=Amon +bisqEasy.tradeWizard.progress.paymentMethods=Akan for Payment +bisqEasy.tradeWizard.progress.takeOffer=Select offer +bisqEasy.tradeWizard.progress.review=Revyu + + +################################################################################ +# Create offer / Direction +################################################################################ + +bisqEasy.tradeWizard.direction.headline=You wan buy or sell Bitcoin? +bisqEasy.tradeWizard.direction.subTitle=Sɛlɛkt wan opsiɔn +bisqEasy.tradeWizard.direction.buy=Buy Bitcoin +bisqEasy.tradeWizard.direction.buy.info=The easiest way to get your\nfirst Bitcoin +bisqEasy.tradeWizard.direction.sell=Sell Bitcoin +bisqEasy.tradeWizard.direction.sell.info=Experienced Bisq users with reputation fit act as seller +bisqEasy.tradeWizard.direction.feedback.headline=How to build up Reputashin? +bisqEasy.tradeWizard.direction.feedback.subTitle1=You haven't established any reputation yet. For Bitcoin sellers, building reputation is crucial because buyers are required to send fiat currency first in the trade process, relying on the seller's integrity.\n\nThis reputation-building process is better suited for experienced Bisq users, and you can find detailed information about it in the 'Reputation' section. +bisqEasy.tradeWizard.direction.feedback.gainReputation=Learn how to build up Reputashin +bisqEasy.tradeWizard.direction.feedback.subTitle2=While it''s possible for sellers to trade without (or insufficient) reputation for relatively low amounts up to {0}, the likelihood of finding a trading partner is considerably reduced. This is because buyers tend to avoid engaging with sellers who lack reputation due to security risks. +bisqEasy.tradeWizard.direction.feedback.tradeWithoutReputation=Continue without Reputashin +bisqEasy.tradeWizard.direction.feedback.backToBuy=Back + + +################################################################################ +# Create offer / Market +################################################################################ + +bisqEasy.tradeWizard.market.headline.buyer=Which currency you wan use pay? +bisqEasy.tradeWizard.market.headline.seller=Which currency you wan take get paid? +bisqEasy.tradeWizard.market.subTitle=Choose your tradin currency +bisqEasy.tradeWizard.market.columns.name=Fiat kɔrɛnsi +bisqEasy.tradeWizard.market.columns.numOffers=Nọmba. ofa +bisqEasy.tradeWizard.market.columns.numPeers=Online peers + + +################################################################################ +# Create offer / Price +################################################################################ + +bisqEasy.price.headline=Wetin be your trade price? +bisqEasy.tradeWizard.price.subtitle=Dis one fit be as percentage price wey dey follow market price move or fixed price. +bisqEasy.price.percentage.title=Pesenj price +bisqEasy.price.percentage.inputBoxText=Market price percentage between -10% and 50% +bisqEasy.price.tradePrice.title=Fiksd praes +bisqEasy.price.tradePrice.inputBoxText=Trayd prais for {0} +bisqEasy.price.feedback.sentence=Your offer get {0} chance to make dem pick am for dis price. +bisqEasy.price.feedback.sentence.veryLow=very low +bisqEasy.price.feedback.sentence.low=low +bisqEasy.price.feedback.sentence.some=some +bisqEasy.price.feedback.sentence.good=beta +bisqEasy.price.feedback.sentence.veryGood=very good +bisqEasy.price.feedback.learnWhySection.openButton=Why? +bisqEasy.price.feedback.learnWhySection.closeButton=Bak to Trayd Price +bisqEasy.price.feedback.learnWhySection.title=Why I go pay higher price to seller? +bisqEasy.price.feedback.learnWhySection.description.intro=Di reason na say di seller need cover extra expenses and compensate for di seller service, specifically: +bisqEasy.price.feedback.learnWhySection.description.exposition=- Build up reputation wey fit cost well well.- The seller get to pay for miner fees.- The seller dey help guide for di trade process so e dey invest more time. +bisqEasy.price.warn.invalidPrice.outOfRange=Di price wey you enter dey outside di allowed range of -10% to 50%. +bisqEasy.price.warn.invalidPrice.numberFormatException=Di price wey you enter no be valid number. +bisqEasy.price.warn.invalidPrice.exception=The price you entered is invalid.\n\nError message: {0} + + +################################################################################ +# Create offer / Amount +################################################################################ + +bisqEasy.tradeWizard.amount.headline.buyer=How much you wan spend? +bisqEasy.tradeWizard.amount.headline.seller=How much you wan receive? +bisqEasy.tradeWizard.amount.description.minAmount=Set di minimum value for di amount range +bisqEasy.tradeWizard.amount.description.maxAmount=Set di maximum value for di amount range +bisqEasy.tradeWizard.amount.description.fixAmount=Set the amount you wan trade +bisqEasy.tradeWizard.amount.addMinAmountOption=Add min/max ranje for amount +bisqEasy.tradeWizard.amount.removeMinAmountOption=Use fix value amount +bisqEasy.component.amount.minRangeValue=Min {0} +bisqEasy.component.amount.maxRangeValue=Max {0} +bisqEasy.component.amount.baseSide.tooltip.btcAmount.marketPrice=Dis na di Bitcoin amount with current market price. +bisqEasy.component.amount.baseSide.tooltip.btcAmount.selectedPrice=Dis na di Bitcoin amount with your selected price. +bisqEasy.component.amount.baseSide.tooltip.buyerInfo=Sellers fit ask for higher price because dem get costs to build reputation.\n5-15% price premium dey common. +bisqEasy.component.amount.baseSide.tooltip.bestOfferPrice=Dis na di Bitcoin amount with di best price\nfrom matching offers: {0} +bisqEasy.component.amount.baseSide.tooltip.buyer.btcAmount=Dis na di Bitcoin amount wey you go receive +bisqEasy.component.amount.baseSide.tooltip.seller.btcAmount=Dis na di Bitcoin amount wey you go spend +bisqEasy.component.amount.baseSide.tooltip.taker.offerPrice=with di offer price: {0} + + +bisqEasy.tradeWizard.amount.limitInfo.overlay.headline=Reputashin-based trady amount limits +bisqEasy.tradeWizard.amount.limitInfo.overlay.close=Close overlay + +bisqEasy.tradeWizard.amount.seller.wizard.numMatchingOffers.info=Dere {0} wey match di chosen trade amount. +bisqEasy.tradeWizard.amount.seller.wizard.limitInfo=With your Reputashin Skor of {0}, you fit trade up to +bisqEasy.tradeWizard.amount.seller.wizard.limitInfo.overlay.info=With a reputation score of {0}, you can trade up to {1}.\n\nYou can find information on how to increase your reputation at ''Reputation/Build Reputation''. + +bisqEasy.tradeWizard.amount.seller.limitInfo.scoreTooLow=With your Reputashin Skor of {0}, your trade amount should not exceed +bisqEasy.tradeWizard.amount.seller.limitInfo.overlay.info.scoreTooLow=Your reputation score of {0} doesn''t offer sufficient security for buyers.\n\nBuyers who consider to take your offer will receive a warning about potential risks when taking your offer.\n\nYou can find information on how to increase your reputation at ''Reputation/Build Reputation''. + +bisqEasy.takeOffer.amount.seller.limitInfo.lowToleratedAmount=As the trad amount dey below {0}, Reputashin requirements don relax. +bisqEasy.takeOffer.amount.seller.limitInfo.scoreTooLow=As your Reputashin Skor be only {0}, your trade amount dey restricted to +bisqEasy.takeOffer.amount.seller.limitInfo.overlay.info.scoreTooLow=For amounts up to {0} the reputation requirements are relaxed.\n\nYour reputation score of {1} doesn''t offer sufficient security for the buyer. However, given the low trade amount the buyer accepted to take the risk.\n\nYou can find information on how to increase your reputation at ''Reputation/Build Reputation''. + +bisqEasy.tradeWizard.amount.seller.limitInfo.sufficientScore=Your Reputashin Skor of {0} dey provide security for offers up to +bisqEasy.tradeWizard.amount.seller.limitInfo.overlay.info.sufficientScore=With Reputashin Skor of {0}, you dey provide security for trades up to {1}. + +bisqEasy.tradeWizard.amount.seller.limitInfo.inSufficientScore=Di sekuriti wey your Reputashin Skor of {0} dey provide no dey enough for offers wey pass +bisqEasy.tradeWizard.amount.seller.limitInfo.overlay.info.inSufficientScore=With a reputation score of {0}, the security you provide is insufficient for trades over {1}.\n\nYou can still create such offers, but buyers will be warned about potential risks when attempting to take your offer.\n\nYou can find information on how to increase your reputation at ''Reputation/Build Reputation''. + +bisqEasy.tradeWizard.amount.seller.limitInfoAmount={0}. +bisqEasy.tradeWizard.amount.seller.limitInfo.link=Lern more + + +bisqEasy.tradeWizard.amount.seller.limitInfo.overlay.linkToWikiText=For more details about the Reputashin system, visit the Bisq Wiki at: + +bisqEasy.tradeWizard.amount.seller.limitInfo.noReputationNeededForMaxOrFixedAmount=For amounts up to {0} no Reputashin needed. +bisqEasy.tradeWizard.amount.seller.limitInfo.noReputationNeededForMaxOrFixedAmount.overlay.info.scoreTooLow=For amounts up to {0} the reputation requirements are relaxed.\n\nYour reputation score of {1} doesn''t offer sufficient security for buyers. However, given the low amount involved, buyers might still consider accepting the offer once they are made aware of the associated risks.\n\nYou can find information on how to increase your reputation at ''Reputation/Build Reputation''. + + +bisqEasy.tradeWizard.amount.buyer.limitInfo.learnMore=Lern more + +# suppress inspection "UnusedProperty" +bisqEasy.tradeWizard.amount.buyer.numSellers.0=no seller dey +# suppress inspection "UnusedProperty" +bisqEasy.tradeWizard.amount.buyer.numSellers.1=na one seller +# suppress inspection "UnusedProperty" +bisqEasy.tradeWizard.amount.buyer.numSellers.*=na {0} sellers + +# suppress inspection "UnusedProperty" +bisqEasy.tradeWizard.amount.numOffers.0=no be any offer +# suppress inspection "UnusedProperty" +bisqEasy.tradeWizard.amount.numOffers.1=na one offer +# suppress inspection "UnusedProperty" +bisqEasy.tradeWizard.amount.numOffers.*=na {0} offers + +bisqEasy.tradeWizard.amount.buyer.limitInfo=Dere {0} for di network wey get enough Reputashin to take offer of {1}. +bisqEasy.tradeWizard.amount.buyer.limitInfo.overlay.info=A seller who wants to take your offer of {0}, must have a reputation score of at least {1}.\nBy reducing the maximum trade amount, you make your offer accessible to more sellers. + +bisqEasy.tradeWizard.amount.buyer.limitInfo.wizard.info.leadLine=Dere {0} wey match di trade amount wey you choose. +bisqEasy.tradeWizard.amount.buyer.limitInfo.wizard.info=For offers up to {0}, Reputashin requirements dey relaxed. +bisqEasy.tradeWizard.amount.buyer.limitInfo.wizard.overlay.info=Given the low min. amount of {0}, the reputation requirements are relaxed.\nFor amounts up to {1}, sellers do not need reputation.\n\nAt the ''Select Offer'' screen it is recommended to choose sellers with higher reputation. + +bisqEasy.tradeWizard.amount.buyer.limitInfo.noReputationNeededForMaxOrFixedAmount=Sellers wey no get Reputashin fit take offers up to {0}. +bisqEasy.tradeWizard.amount.buyer.limitInfo.noReputationNeededForMaxOrFixedAmount.riskInfo=Make sure say you sabi all the risks wey dey involved. +bisqEasy.tradeWizard.amount.buyer.limitInfo.overlay.noReputationNeededForMaxOrFixedAmount.info=Given the low amount of {0}, reputation requirements are relaxed.\nFor amounts up to {1}, sellers with insufficient or no reputation can take the offer.\n\nBe sure to fully understand the risks when trading with a seller without or insufficient reputation. If you do not want to be exposed to that risk, choose an amount above {2}. +bisqEasy.tradeWizard.amount.buyer.limitInfo.overlay.linkToWikiText=If you wan sabi more about the Reputashin system, visit: + + +bisqEasy.tradeWizard.amount.buyer.noReputationNeededForMinAmount.limitInfo.leadLine=As your min. amount dey below {0}, sellers wey no get Reputashin fit take your offer. +bisqEasy.tradeWizard.amount.buyer.noReputationNeededForMinAmount.limitInfo=For di max. amount of {0} dere {1} wey get enough Reputashin to take your offer. +bisqEasy.tradeWizard.amount.buyer.noReputationNeededForMinAmount.limitInfo.overlay.info=Given the low trade amount of {0}, the reputation requirements are relaxed.\nFor amounts up to {1}, sellers with insufficient or no reputation can take your offer.\n\nSellers who wants to take your offer with the max. amount of {2}, must have a reputation score of at least {3}.\nBy reducing the maximum trade amount, you make your offer accessible to more sellers. + + +################################################################################ +# Create offer / Payment methods +################################################################################ + +bisqEasy.tradeWizard.paymentMethods.headline=Which Akaunt for Payment and setlment methods you wan use? +bisqEasy.tradeWizard.paymentMethods.fiat.subTitle.buyer=Choose di Akaunt for Payment wey go transfer {0} +bisqEasy.tradeWizard.paymentMethods.fiat.subTitle.seller=Choose di Akaunt for Payment wey you go use to Receiv {0} +bisqEasy.tradeWizard.paymentMethods.bitcoin.subTitle.buyer=Choose the setlment methods to Receiv Bitcoin +bisqEasy.tradeWizard.paymentMethods.bitcoin.subTitle.seller=Choose the settlment methods to Send Bitcoin +bisqEasy.tradeWizard.paymentMethods.noneFound=For the selected market, no default payment methods dey provided.\nAbeg add for di text field below di custom payment you wan use. +bisqEasy.tradeWizard.paymentMethods.customMethod.prompt=Kustom payment +bisqEasy.tradeWizard.paymentMethods.warn.maxMethodsReached=You no fit add pass 4 payment methods. +bisqEasy.tradeWizard.paymentMethods.warn.tooLong=A custom payment method name no suppose pass 20 characters. +bisqEasy.tradeWizard.paymentMethods.warn.customPaymentMethodAlreadyExists=One custom payment method with name {0} don already exist. +bisqEasy.tradeWizard.paymentMethods.warn.customNameMatchesPredefinedMethod=The name of your custom payment method no suppose be di same as one of di predefined. +bisqEasy.tradeWizard.paymentMethods.warn.noFiatPaymentMethodSelected=Abeg choose at least one Akaunt for Payment wey be fiat. +bisqEasy.tradeWizard.paymentMethods.warn.noBtcSettlementMethodSelected=Abeg choose at least one Bitcoin settlemnt method. + + +################################################################################ +# TradeWizard / Select offer +################################################################################ + +bisqEasy.tradeWizard.selectOffer.headline.buyer=Buy Bitcoin for {0} +bisqEasy.tradeWizard.selectOffer.headline.seller=Sell Bitcoin for {0} +bisqEasy.tradeWizard.selectOffer.subHeadline=E good to trade with users wey get high reputation. +bisqEasy.tradeWizard.selectOffer.noMatchingOffers.headline=No matching offers wey dem find +bisqEasy.tradeWizard.selectOffer.noMatchingOffers.subHeadline=No offers dey available for your selection criteria. +bisqEasy.tradeWizard.selectOffer.noMatchingOffers.goBack=Change selekshon +bisqEasy.tradeWizard.selectOffer.noMatchingOffers.goBack.info=Go back to the previous screens and change the selekshon +bisqEasy.tradeWizard.selectOffer.noMatchingOffers.browseOfferbook=Browse offerbook +bisqEasy.tradeWizard.selectOffer.noMatchingOffers.browseOfferbook.info=Close di trade wizard and browse di offer book + + +################################################################################ +# TradeWizard / Review +################################################################################ + +bisqEasy.tradeWizard.review.headline.maker=Reviw offer +bisqEasy.tradeWizard.review.headline.taker=Reviw Trayd +bisqEasy.tradeWizard.review.detailsHeadline.taker=Trayd details +bisqEasy.tradeWizard.review.detailsHeadline.maker=Detal for Offer +bisqEasy.tradeWizard.review.feeDescription=Trayd Fi +bisqEasy.tradeWizard.review.noTradeFees=No trade fees for Bisq Easy +bisqEasy.tradeWizard.review.sellerPaysMinerFeeLong=Na seller dey pay the mining fee +bisqEasy.tradeWizard.review.sellerPaysMinerFee=Seller dey pay the mining fee +bisqEasy.tradeWizard.review.noTradeFeesLong=No trade fees dey for Bisq Easy + +bisqEasy.tradeWizard.review.toPay=Amon to Pay +bisqEasy.tradeWizard.review.toSend=Amon to Send +bisqEasy.tradeWizard.review.toReceive=Amon to Receiv +bisqEasy.tradeWizard.review.direction={0} Bitcoin +bisqEasy.tradeWizard.review.paymentMethodDescription.btc=Bitcoin setlment metd +bisqEasy.tradeWizard.review.paymentMethodDescriptions.btc.maker=Bitcoin setlment metods +bisqEasy.tradeWizard.review.paymentMethodDescriptions.btc.taker=Select Bitcoin setlment metod +bisqEasy.tradeWizard.review.paymentMethodDescription.fiat=Fiat Akaunt for Payment +bisqEasy.tradeWizard.review.paymentMethodDescriptions.fiat.maker=Fiat Akaunt for Payment metods +bisqEasy.tradeWizard.review.paymentMethodDescriptions.fiat.taker=Select Akaunt for Payment wey na fiat +bisqEasy.tradeWizard.review.price={0} <{1} style=trade-wizard-review-code> + +bisqEasy.tradeWizard.review.priceDescription.taker=Trayd prais +bisqEasy.tradeWizard.review.priceDescription.maker=Offer pris +bisqEasy.tradeWizard.review.priceDetails.fix=Fix price. {0} {1} market price of {2} +bisqEasy.tradeWizard.review.priceDetails.fix.atMarket=Fix price. Na di same as market price of {0} +bisqEasy.tradeWizard.review.priceDetails.float=Float price. {0} {1} market price of {2} +bisqEasy.tradeWizard.review.priceDetails=De move with market price +bisqEasy.tradeWizard.review.nextButton.createOffer=Create offer +bisqEasy.tradeWizard.review.nextButton.takeOffer=Confirm Reputashin + +bisqEasy.tradeWizard.review.createOfferSuccess.headline=Offer don dey successfully published +bisqEasy.tradeWizard.review.createOfferSuccess.subTitle=Your offer is now listed in the offerbook. When a Bisq user takes your offer, you will find a new trade in the 'Open Trades' section.\n\nBe sure to regularly check the Bisq application for new messages from a taker. +bisqEasy.tradeWizard.review.createOfferSuccessButton=Show my offer for 'Offerbook' + +bisqEasy.tradeWizard.review.takeOfferSuccess.headline=You don successfully take the offer +bisqEasy.tradeWizard.review.takeOfferSuccess.subTitle=Please get in touch with the trade peer at 'Open Trades'.\nYou will find further information for the next steps over there.\n\nBe sure to regularly check the Bisq application for new messages from your trade peer. +bisqEasy.tradeWizard.review.takeOfferSuccessButton=Show trade for 'Open Trades' + + +################################################################################ +# Create offer / Review +################################################################################# + +bisqEasy.tradeWizard.review.table.baseAmount.buyer=You go receive +bisqEasy.tradeWizard.review.table.baseAmount.seller=You go spend +bisqEasy.tradeWizard.review.table.price=Price for {0} +bisqEasy.tradeWizard.review.table.reputation=Reputashin +bisqEasy.tradeWizard.review.chatMessage.fixPrice={0} +bisqEasy.tradeWizard.review.chatMessage.floatPrice.above={0} above market price +bisqEasy.tradeWizard.review.chatMessage.floatPrice.below={0} below market price +bisqEasy.tradeWizard.review.chatMessage.marketPrice=Market prais +bisqEasy.tradeWizard.review.chatMessage.price=Price: +bisqEasy.tradeWizard.review.chatMessage.peerMessage.sell=Sell Bitcoin to {0}\nAmount: {1}\nBitcoin payment method(s): {2}\nFiat payment method(s): {3}\n{4} +bisqEasy.tradeWizard.review.chatMessage.peerMessage.buy=Buy Bitcoin from {0}\nAmount: {1}\nBitcoin payment method(s): {2}\nFiat payment method(s): {3}\n{4} +bisqEasy.tradeWizard.review.chatMessage.offerDetails=Amount: {0}\nBitcoin payment method(s): {1}\nFiat payment method(s): {2}\n{3} +bisqEasy.tradeWizard.review.chatMessage.peerMessageTitle.sell=Sell Bitcoin to +bisqEasy.tradeWizard.review.chatMessage.peerMessageTitle.buy=Buy Bitcoin from +bisqEasy.tradeWizard.review.chatMessage.myMessageTitle=My Offer to {0} Bitcoin + + +################################################################################ +# +# Take offer +# +################################################################################ + +bisqEasy.takeOffer.progress.amount=Trayd amount +bisqEasy.takeOffer.progress.method=Akaunt for Payment +bisqEasy.takeOffer.progress.review=Revyu trad + +bisqEasy.takeOffer.amount.headline.buyer=How much you wan spend? +bisqEasy.takeOffer.amount.headline.seller=How much you wan trade? +bisqEasy.takeOffer.amount.description=The offer allows you fit choose trade amount\nbetween {0} and {1} +bisqEasy.takeOffer.amount.description.limitedByTakersReputation=Your reputation score of {0} allows you can choose a trade amount\nbetween {1} and {2} + +bisqEasy.takeOffer.amount.buyer.limitInfo.tooHighMax=Seller Reputashin Skor na only {0}. E no dey recommended to trade pass +bisqEasy.takeOffer.amount.buyer.limitInfoAmount={0}. +bisqEasy.takeOffer.amount.buyer.limitInfo.tooHighMax.overlay.info=Seller''s reputation score of {0} does not provide sufficient security. However, for lower trade amounts (up to {1}), reputation requirements are more lenient.\n\nIf you decide to proceed despite the lack of the seller''s reputation, ensure that you are fully aware of the associated risks. Bisq Easy''s security model relies on the seller''s reputation, as the buyer is required to send fiat currency first. +bisqEasy.takeOffer.amount.buyer.limitInfo.minAmountCovered=Seller''s Reputashin Skor of {0} dey provide security up to +bisqEasy.takeOffer.amount.buyer.limitInfo.minAmountCovered.overlay.info=Seller''s reputation score of {0} provides security for up to {1}.\n\nIf you choose a higher amount, ensure that you are fully aware of the associated risks. Bisq Easy''s security model relies on the seller''s reputation, as the buyer is required to send fiat currency first. +bisqEasy.takeOffer.amount.buyer.limitInfo.minAmountNotCovered=Seller Reputashin Skor of {0} no fit provide enough security for dat offer. +bisqEasy.takeOffer.amount.buyer.limitInfo.tooHighMin.overlay.info=Seller''s reputation score of {0} does not provide sufficient security for that offer.\n\nIt is recommended to trade lower amounts with repeated trades or with sellers who have higher reputation. If you decide to proceed despite the lack of the seller''s reputation, ensure that you are fully aware of the associated risks. Bisq Easy''s security model relies on the seller''s reputation, as the buyer is required to send fiat currency first. +bisqEasy.takeOffer.amount.buyer.limitInfo.learnMore=Lern more +bisqEasy.takeOffer.amount.buyer.limitInfo.overlay.linkToWikiText=To sabi more about the Reputashin system, visit: + +bisqEasy.takeOffer.paymentMethods.headline.fiat=Wetin be the payment method wey you wan use? +bisqEasy.takeOffer.paymentMethods.headline.fiatAndBitcoin=Which Akaunt for Payment and setlment method you wan use? +bisqEasy.takeOffer.paymentMethods.headline.bitcoin=Which setlment method you wan use? +bisqEasy.takeOffer.paymentMethods.subtitle.fiat.buyer=Choose payment method wey go transfer {0} +bisqEasy.takeOffer.paymentMethods.subtitle.fiat.seller=Choose one payment method to Receiv {0} +bisqEasy.takeOffer.paymentMethods.subtitle.bitcoin.buyer=Choose a setlment method to Receiv Bitcoin +bisqEasy.takeOffer.paymentMethods.subtitle.bitcoin.seller=Choose a setlment method to Send Bitcoin + +bisqEasy.takeOffer.review.headline=Review Trayd +bisqEasy.takeOffer.review.detailsHeadline=Trayd detayls +bisqEasy.takeOffer.review.method.fiat=Fiat Akaunt for Payment +bisqEasy.takeOffer.review.method.bitcoin=Bitcoin payment method +bisqEasy.takeOffer.review.price.price=Trayd price +bisqEasy.takeOffer.review.noTradeFees=No trade fees for Bisq Easy +bisqEasy.takeOffer.review.sellerPaysMinerFeeLong=Na seller dey pay the mining fee +bisqEasy.takeOffer.review.sellerPaysMinerFee=Seller dey pay the mining fee +bisqEasy.takeOffer.review.noTradeFeesLong=No trade fees dey for Bisq Easy +bisqEasy.takeOffer.review.takeOffer=Confirm Receiv offer +bisqEasy.takeOffer.review.sendTakeOfferMessageFeedback.headline=Sending take-offer message +bisqEasy.takeOffer.review.sendTakeOfferMessageFeedback.subTitle=Sending di take-offer message fit take up to 2 minutes +bisqEasy.takeOffer.review.sendTakeOfferMessageFeedback.info=Do not close the window or the application until you see the confirmation that the take-offer request was successfully sent. +bisqEasy.takeOffer.review.takeOfferSuccess.headline=You don successfully take the offer +bisqEasy.takeOffer.review.takeOfferSuccess.subTitle=Please get in touch with the trade peer at 'Open Trades'.\nYou will find further information for the next steps over there.\n\nBe sure to regularly check the Bisq application for new messages from your trade peer. +bisqEasy.takeOffer.review.takeOfferSuccessButton=Show trade for 'Open Trades' +bisqEasy.takeOffer.tradeLogMessage={0} don send message to take {1}'s offer + +bisqEasy.takeOffer.noMediatorAvailable.warning=No mediator dey available. You go need use the support chat instead. +bisqEasy.takeOffer.makerBanned.warning=The maker of this offer don dey banned. Abeg try use different offer. +# suppress inspection "UnusedProperty" +bisqEasy.takeOffer.bitcoinPaymentData.warning.MAIN_CHAIN=Di Bitcoin address wey you don enter dey look like say e invalid.\n\nIf you sure say di address dey valid, you fit ignore dis warning and proceed. +# suppress inspection "UnusedProperty" +bisqEasy.takeOffer.bitcoinPaymentData.warning.LN=Di Lightning invoice wey you don enter dey look like say e invalid.\n\nIf you sure say di invoice dey valid, you fit ignore dis warning and proceed. +bisqEasy.takeOffer.bitcoinPaymentData.warning.proceed=Ignoer warning + + +################################################################################ +# +# TradeGuide +# +################################################################################ + +bisqEasy.tradeGuide.tabs.headline=Trayd Gaid +bisqEasy.tradeGuide.welcome=Ovwervu +bisqEasy.tradeGuide.security=Sekuriti +bisqEasy.tradeGuide.process=Proses +bisqEasy.tradeGuide.rules=Trayd rulz + +bisqEasy.tradeGuide.welcome.headline=How to trade for Bisq Easy +bisqEasy.tradeGuide.welcome.content=Dis guide dey provide overview of essential aspects for buying or selling Bitcoin with Bisq Easy.\nFor dis guide, you go learn about the security model used for Bisq Easy, get insight into the trade process, and familiarize yourself with the trade rules.\n\nFor any additional questions, feel free to visit the chat rooms wey dey under the 'Support' menu. + +bisqEasy.tradeGuide.security.headline=How safe e be to trade for Bisq Easy? +bisqEasy.tradeGuide.security.content=- Bisq Easy's security model is optimized for small trade amounts.\n- The model relies on the reputation of the seller, who is usually an experienced Bisq user and is expected to provide helpful support to new users.\n- Building up reputation can be costly, leading to a common 5-15% price premium to cover extra expenses and compensate for the seller's service.\n- Trading with sellers lacking reputation carries significant risks and should only be undertaken if the risks are thoroughly understood and managed. + +bisqEasy.tradeGuide.process.headline=How the trade process dey work? +bisqEasy.tradeGuide.process.content=Once you decide to take one offer, you go get chance to choose from the options wey dem provide for the offer. Before you start the trade, dem go show you summary overview for you to check am well.\nOnce the trade start, the user interface go guide you through the trade process wey get these steps: + +bisqEasy.tradeGuide.process.steps=1. Di seller and di buyer go exchange account details. Di seller go send dem payment data (e.g., bank account number) to di buyer, and di buyer go send dem Bitcoin address (or Lightning invoice) to di seller.\n2. Next, di buyer go start di Fiat payment to di seller's account. Once di seller receive di payment, dem go confirm di receipt.\n3. Di seller go then send di Bitcoin to di buyer's address and share di transaction ID (or optionally di preimage if Lightning dey used). Di user interface go show di confirmation state. Once confirmed, di trade go be successfully completed. + +bisqEasy.tradeGuide.rules.headline=Wetin I need to know about the trade rules? +bisqEasy.tradeGuide.rules.content=- Before di exchange of account details between di seller and di buyer, any party fit cancel di trade without providing justification.\n- Traders suppose dey check dem trades regularly for new messages and must respond within 24 hours.\n- Once account details don dey exchanged, if you no meet trade obligations, e go be considered breach of di trade contract and fit result in ban from di Bisq network. Dis no apply if di trade peer no dey respond.\n- During Fiat payment, di buyer MUST NOT include terms like 'Bisq' or 'Bitcoin' for di 'reason for payment' field. Traders fit agree on one identifier, like random string wey be 'H3TJAPD', to associate di bank transfer with di trade.\n- If di trade no fit complete instantly because of longer Fiat transfer times, both traders must dey online at least once a day to monitor di trade progress.\n- If traders encounter unresolved issues, dem get di option to invite one mediator into di trade chat for assistance.\n\nIf you get any questions or need assistance, no hesitate to visit di chat rooms wey dey accessible under di 'Support' menu. Happy trading! + +bisqEasy.tradeGuide.rules.confirm=I don read and understand + +bisqEasy.tradeGuide.notConfirmed.warn=Abeg read the trade guide and confirm say you don read and understand the trade rules. +bisqEasy.tradeGuide.open=Gaiɗ for open trade + + +################################################################################ +# WalletGuide +################################################################################ + +bisqEasy.walletGuide.open=Walet guide wey go help you open + +bisqEasy.walletGuide.tabs.headline=Walet gide +bisqEasy.walletGuide.intro=Intro +bisqEasy.walletGuide.download=Download +bisqEasy.walletGuide.createWallet=New Walet +bisqEasy.walletGuide.receive=Receiv + +bisqEasy.walletGuide.intro.headline=Make ready to receive your first Bitcoin +bisqEasy.walletGuide.intro.content=For Bisq Easy, the Bitcoin wey you receive go straight enter your pocket without any middleman. Dat one na great advantage, but e also mean say you need to get wallet wey you control yourself to receive am!\n\nFor dis quick wallet guide, we go show you for few simple steps how you fit create simple wallet. With am, you go fit receive and store your freshly purchased bitcoin.\n\nIf you don sabi on-chain wallets and get one, you fit skip dis guide and just use your wallet. + +bisqEasy.walletGuide.download.headline=Downloading your Walet +bisqEasy.walletGuide.download.content=There are many wallets out there that you can use. In this guide, we will show you how to use Bluewallet. Bluewallet is great and, at the same time, very simple, and you can use it to receive your bitcoin from Bisq Easy.\n\nYou can download Bluewallet on your phone, regardless of whether you have an Android or iOS device. To do so, you can visit the official webpage at 'bluewallet.io'. Once you are there, click on App Store or Google Play depending on the device you are using.\n\nImportant note: for your safety, make sure that you download the app from the official app store of your device. The official app is provided by 'Bluewallet Services, S.R.L.', and you should be able to see this in your app store. Downloading a malicious wallet could put your funds at risk.\n\nFinally, a quick note: Bisq is not affiliated with Bluewallet in any way. We suggest using Bluewallet due to its quality and simplicity, but there are many other options on the market. You should feel absolutely free to compare, try and choose whichever wallet fits your needs best. +bisqEasy.walletGuide.download.link=Click here to visit Bluewallet's page + +bisqEasy.walletGuide.createWallet.headline=Creating your new Walet +bisqEasy.walletGuide.createWallet.content=Bluewallet allow you to create several wallets for different purposes. For now, you just need one wallet. Once you enter Bluewallet, you go see message wey suggest make you add new wallet. Once you do that, enter name for your wallet and pick the option *Bitcoin* under the *Type* section. You fit leave all other options as dem dey and click on *Create*.\n\nWhen you move go next step, you go see 12 words. These 12 words na the backup wey allow you to recover your wallet if anything happen to your phone. Write them down for piece of paper (not digitally) for the same order as dem present am, store this paper safely and make sure only you get access to am. You fit read more about how to secure your wallet for the Learn sections of Bisq 2 wey dey dedicated to wallets and security.\n\nOnce you don finish, click on 'Ok, I wrote it down'.\nCongratulations! You don create your wallet! Make we move on to how to receive your bitcoin for am. + +bisqEasy.walletGuide.receive.headline=Receiving bitcoin for your wallet +bisqEasy.walletGuide.receive.content=To receive your Bitcoin, you need address from your wallet. To get am, click on your newly created wallet, and afterwards click on the 'Receive' button for the bottom of the screen.\n\nBluewallet go display unused address, both as QR code and as text. Dis address na wetin you go need to provide to your peer for Bisq Easy so dat dem fit send you the Bitcoin wey you dey buy. You fit move the address go your PC by scanning the QR code with camera, by sending the address with email or chat message, or even by simply typing am.\n\nOnce you complete the trade, Bluewallet go notice the incoming Bitcoin and update your balance with the new funds. Everytime you do new trade, get fresh address to protect your privacy.\n\nThese na the basics wey you need to know to start receiving Bitcoin for your own wallet. If you wan learn more about Bluewallet, we recommend make you check out the videos wey dey listed below. +bisqEasy.walletGuide.receive.link1=Bluewallet tutorial by Anita Posch +bisqEasy.walletGuide.receive.link2=Bluewallet tutorial by BTC Sessions + + +###################################################### +# Offerbook +###################################################### + +bisqEasy.offerbook.markets=Makets +bisqEasy.offerbook.markets.CollapsedList.Tooltip=Expand Markets +bisqEasy.offerbook.markets.ExpandedList.Tooltip=Collapse Markets +bisqEasy.offerbook.marketListCell.numOffers.one={0} offer +bisqEasy.offerbook.marketListCell.numOffers.many={0} offers +bisqEasy.offerbook.marketListCell.numOffers.tooltip.none=No offers yet available for the {0} market +bisqEasy.offerbook.marketListCell.numOffers.tooltip.one={0} offer dey available for the {1} market +bisqEasy.offerbook.marketListCell.numOffers.tooltip.many={0} offers dey available for the {1} market +bisqEasy.offerbook.marketListCell.favourites.tooltip.addToFavourites=Add to favourites +bisqEasy.offerbook.marketListCell.favourites.tooltip.removeFromFavourites=Remove from favourites +bisqEasy.offerbook.marketListCell.favourites.maxReached.popup=We fit only save 5 favourites. Remove one favourite first before you try again. + +bisqEasy.offerbook.dropdownMenu.sortAndFilterMarkets.tooltip=Sort and filter markets +bisqEasy.offerbook.dropdownMenu.sortAndFilterMarkets.sortTitle=Sort by: +bisqEasy.offerbook.dropdownMenu.sortAndFilterMarkets.mostOffers=Most offer +bisqEasy.offerbook.dropdownMenu.sortAndFilterMarkets.nameAZ=Nai A-Z +bisqEasy.offerbook.dropdownMenu.sortAndFilterMarkets.nameZA=Nai Z-A +bisqEasy.offerbook.dropdownMenu.sortAndFilterMarkets.filterTitle=Show markets: +bisqEasy.offerbook.dropdownMenu.sortAndFilterMarkets.withOffers=Wit offers +bisqEasy.offerbook.dropdownMenu.sortAndFilterMarkets.favourites=Only favourites +bisqEasy.offerbook.dropdownMenu.sortAndFilterMarkets.all=All + +bisqEasy.offerbook.chatMessage.deleteOffer.confirmation=You dey sure say you wan delete this offer? +bisqEasy.offerbook.chatMessage.deleteMessage.confirmation=Are you sure say you wan delete dis message? + +bisqEasy.offerbook.offerList=Ofa List +bisqEasy.offerbook.offerList.collapsedList.tooltip=Expand Offer List +bisqEasy.offerbook.offerList.expandedList.tooltip=Collapse Offer List +bisqEasy.offerbook.offerList.table.columns.peerProfile=Profil for Peer +bisqEasy.offerbook.offerList.table.columns.price=Prais +bisqEasy.offerbook.offerList.table.columns.fiatAmount={0} amaunt +bisqEasy.offerbook.offerList.table.columns.paymentMethod=Payment +bisqEasy.offerbook.offerList.table.columns.settlementMethod=Setlment +bisqEasy.offerbook.offerList.table.filters.offerDirection.buyFrom=Buy From +bisqEasy.offerbook.offerList.table.filters.offerDirection.sellTo=Sell to +bisqEasy.offerbook.offerList.table.filters.paymentMethods.title=Payments ({0}) +bisqEasy.offerbook.offerList.table.filters.paymentMethods.title.all=All +bisqEasy.offerbook.offerList.table.filters.paymentMethods.customPayments=Kustom payments +bisqEasy.offerbook.offerList.table.filters.paymentMethods.clearFilters=Klear filta +bisqEasy.offerbook.offerList.table.filters.showMyOffersOnly=Na my offers only + +bisqEasy.offerbook.offerList.table.columns.price.tooltip.fixPrice=Fiks price: {0}\nPersent from current market price: {1} +bisqEasy.offerbook.offerList.table.columns.price.tooltip.marketPrice=Market price: {0} +bisqEasy.offerbook.offerList.table.columns.price.tooltip.floatPrice=Persentij pri{0}\nWith current market pri: {1} + + +###################################################### +# Open trades +###################################################### + +bisqEasy.openTrades.table.headline=My open trades +bisqEasy.openTrades.noTrades=You no get any open trades +bisqEasy.openTrades.rejectTrade=Reject Trayd +bisqEasy.openTrades.cancelTrade=Cancel Trayd +bisqEasy.openTrades.tradeLogMessage.rejected={0} reject the trade +bisqEasy.openTrades.tradeLogMessage.cancelled={0} don cancel di trade +bisqEasy.openTrades.rejectTrade.warning=Since the exchange of account details has not yet started, rejecting the trade does not constitute a violation of the trade rules.\n\nIf you have any questions or encounter issues, please don't hesitate to contact your trade peer or seek assistance in the 'Support section'.\n\nAre you sure you want to reject the trade? +bisqEasy.openTrades.cancelTrade.warning.buyer=Since the exchange of account details has commenced, canceling the trade without the seller''s {0} +bisqEasy.openTrades.cancelTrade.warning.seller=Since the exchange of account details has commenced, canceling the trade without the buyer''s {0} + +bisqEasy.openTrades.cancelTrade.warning.part2=Consent fit be considered violation of di trading rules and fit result in your profile being banned from di network.\n\nIf di peer don dey unresponsive for more than 24 hours and no payment don dey made, you fit reject di trade without consequences. Di liability go rest with di unresponsive party.\n\nIf you get any questions or encounter issues, please no hesitate to contact your trade peer or seek assistance in di 'Support section'.\n\nIf you believe say your trade peer don violate di trade rules, you get di option to initiate a mediation request. One mediator go join di trade chat and work toward finding a cooperative solution.\n\nAre you sure say you wan cancel di trade? + +bisqEasy.openTrades.closeTrade.warning.interrupted=Before you close the trade you fit back up the trade data as csv file if needed.\n\nOnce the trade close all data related to the trade go disappear, and you no fit communicate with the trade peer for trade chat again.\n\nYou wan close the trade now? + +bisqEasy.openTrades.closeTrade.warning.completed=Your trade don complete.\n\nYou fit now close the trade or back up the trade data for your computer if needed.\n\nOnce the trade close all data related to the trade go disappear, and you no fit communicate with the trade peer for trade chat again. +bisqEasy.openTrades.closeTrade=Close trad +bisqEasy.openTrades.confirmCloseTrade=Confirm say you wan close trade +bisqEasy.openTrades.exportTrade=Eksport trad data +bisqEasy.openTrades.reportToMediator=Report to Mediator +bisqEasy.openTrades.rejected.self=You don reject the trade +bisqEasy.openTrades.rejected.peer=Your trade peer don reject the trade +bisqEasy.openTrades.cancelled.self=You don cancel the trade +bisqEasy.openTrades.cancelled.peer=Your trade peer don cancel the trade +bisqEasy.openTrades.inMediation.info=A mediator don join the trade chat. Abeg use the trade chat below to get assistance from the mediator. +bisqEasy.openTrades.failed=Di trade fail wit error message: {0} +bisqEasy.openTrades.failed.popup=Di trade fail because of error.\nError message: {0}\n\nStack trace: {1} +bisqEasy.openTrades.failedAtPeer=Di peer im trade fail wit error wey be say: {0} +bisqEasy.openTrades.failedAtPeer.popup=Di peer im trade fail because of error.\nError wey cause am: {0}\n\nStack trace: {1} +bisqEasy.openTrades.table.tradePeer=Peer +bisqEasy.openTrades.table.me=Me +bisqEasy.openTrades.table.mediator=Mediator +bisqEasy.openTrades.table.tradeId=ID Transakshon +bisqEasy.openTrades.table.price=Prais +bisqEasy.openTrades.table.baseAmount=Amount for Bitcoin +bisqEasy.openTrades.table.quoteAmount=Amon +bisqEasy.openTrades.table.paymentMethod=Payment +bisqEasy.openTrades.table.paymentMethod.tooltip=Fiat Akaunt for Payment: {0} +bisqEasy.openTrades.table.settlementMethod=Setlment +bisqEasy.openTrades.table.settlementMethod.tooltip=Bitcoin settlment metod: {0} +bisqEasy.openTrades.table.makerTakerRole=My rol +bisqEasy.openTrades.table.direction.buyer=Buying from: +bisqEasy.openTrades.table.direction.seller=Sell to: +bisqEasy.openTrades.table.makerTakerRole.maker=Maka +bisqEasy.openTrades.table.makerTakerRole.taker=Taker +bisqEasy.openTrades.csv.quoteAmount=Amount inside {0} +bisqEasy.openTrades.csv.txIdOrPreimage=ID Transakshon/Preimage +bisqEasy.openTrades.csv.receiverAddressOrInvoice=Receiv address/Invoice +bisqEasy.openTrades.csv.paymentMethod=Akaunt for Payment + +bisqEasy.openTrades.chat.peer.description=Chat peer +bisqEasy.openTrades.chat.detach=Remove +bisqEasy.openTrades.chat.detach.tooltip=Open chat for new window +bisqEasy.openTrades.chat.attach=Restore +bisqEasy.openTrades.chat.attach.tooltip=Bring chat back to main window +bisqEasy.openTrades.chat.window.title={0} - Chat wit {1} / ID Transakshon: {2} +bisqEasy.openTrades.chat.peerLeft.headline={0} don leave di trade +bisqEasy.openTrades.chat.peerLeft.subHeadline=If di trade never complete on your side and if you need help, contact di mediator or visit di support chat. + +###################################################### +# Private chat +###################################################### + +bisqEasy.privateChats.leave=Comot chat +bisqEasy.privateChats.table.myUser=My profil + + +###################################################### +# Top pane +###################################################### + +# Commented out in code +# suppress inspection "UnusedProperty" +bisqEasy.topPane.filter=Filter offerbook +# Commented out in code +# suppress inspection "UnusedProperty" +bisqEasy.topPane.closeFilter=Close filter +bisqEasy.topPane.filter.offersOnly=Only show offers for Bisq Easy offerbook + + +################################################################################ +# +# BisqEasyOfferDetails +# +################################################################################ + +bisqEasy.offerDetails.headline=Detel for Offer +bisqEasy.offerDetails.buy=Offer to buy Bitcoin +bisqEasy.offerDetails.sell=Offer to sell Bitcoin + +bisqEasy.offerDetails.direction=Offer type +bisqEasy.offerDetails.baseSideAmount=Bitcoin amount +bisqEasy.offerDetails.quoteSideAmount={0} amount +bisqEasy.offerDetails.price={0} ofer pris +bisqEasy.offerDetails.priceValue={0} (premium: {1}) +bisqEasy.offerDetails.paymentMethods=Supported Akaunt for Payment method(s) +bisqEasy.offerDetails.id=ID Offa +bisqEasy.offerDetails.date=Kreeshon deit +bisqEasy.offerDetails.makersTradeTerms=Makers trady terma + + +################################################################################ +# +# OpenTradesWelcome +# +################################################################################ + +bisqEasy.openTrades.welcome.headline=Welcome to your first Bisq Easy trad! +bisqEasy.openTrades.welcome.info=Abeg make yourself familiar with the concept, process and rules for trading on Bisq Easy.\nAfter you don read and accept the trade rules you fit start the trade. +bisqEasy.openTrades.welcome.line1=Learn about the security model of Bisq Easy +bisqEasy.openTrades.welcome.line2=See how the trade process dey work +bisqEasy.openTrades.welcome.line3=Make you sabi di trade rules + + +################################################################################ +# +# TradeState +# +################################################################################ + +bisqEasy.tradeState.requestMediation=Request Mediator +bisqEasy.tradeState.reportToMediator=Report to Mediator +bisqEasy.tradeState.acceptOrRejectSellersPrice.title=Make You Look Here for Price Change! +bisqEasy.tradeState.acceptOrRejectSellersPrice.description.buyersPrice=Your offer price to buy Bitcoin na {0}. +bisqEasy.tradeState.acceptOrRejectSellersPrice.description.sellersPrice=But, the seller dey offer you another price: {0}. +bisqEasy.tradeState.acceptOrRejectSellersPrice.description.question=You wan accept this new price or you wan reject/cancel* the trade? +bisqEasy.tradeState.acceptOrRejectSellersPrice.description.disclaimer=(*Note say for dis specific case, to cancel the trade no go be consider as violation of the trading rules.) +bisqEasy.tradeState.acceptOrRejectSellersPrice.button.accept=Accept pris + +# Trade State: Header +bisqEasy.tradeState.header.peer=Trayd peer +bisqEasy.tradeState.header.direction=I wan +bisqEasy.tradeState.header.send=Amount wey you wan Send +bisqEasy.tradeState.header.pay=Amount wey you go Pay +bisqEasy.tradeState.header.receive=Amon to Receiv +bisqEasy.tradeState.header.tradeId=ID Transakshon + +# Trade State: Phase (left side) +bisqEasy.tradeState.phase1=Akaunt Detel +bisqEasy.tradeState.phase2=Fiat payment +bisqEasy.tradeState.phase3=Bitcoin transfer +bisqEasy.tradeState.phase4=Trade don complete + +# Trade State: Info (right side) + +bisqEasy.tradeState.info.phase3b.balance.help.explorerLookup=Searching transaction for block explorer ''{0}'' +bisqEasy.tradeState.info.phase3b.balance.help.notConfirmed=Transaction don show for mempool but never confirm yet +bisqEasy.tradeState.info.phase3b.balance.help.confirmed=Transaction don confirm +bisqEasy.tradeState.info.phase3b.txId.failed=Transaction search for ''{0}'' fail with {1}: ''{2}'' +bisqEasy.tradeState.info.phase3b.button.skip=Skip wait for block Confirmeshon + +bisqEasy.tradeState.info.phase3b.balance.invalid.noOutputsForAddress=No matching outputs found for di transaction +bisqEasy.tradeState.info.phase3b.balance.invalid.multipleOutputsForAddress=Multiple matching outputs found for di transaction +bisqEasy.tradeState.info.phase3b.balance.invalid.amountNotMatching=Output amount from di transaction no dey match di trade amount + +bisqEasy.tradeState.info.phase3b.button.next=Next +bisqEasy.tradeState.info.phase3b.button.next.amountNotMatching=Di output amount for di address ''{0}'' in di transaction ''{1}'' na ''{2}'', which no match di trade amount of ''{3}''.\n\nHave you been able to resolve dis issue with your trade peer?\nIf not, you fit consider requesting mediation to help settle di matter. +bisqEasy.tradeState.info.phase3b.button.next.noOutputForAddress=No output wey match di address ''{0}'' in di transaction ''{1}'' dey found.\n\nHave you been able to resolve dis issue with your trade peer?\nIf not, you fit consider requesting mediation to help settle di matter. + +bisqEasy.tradeState.info.phase3b.button.next.amountNotMatching.resolved=I don resolve am + +bisqEasy.tradeState.info.phase3b.txId=ID Transakshon +bisqEasy.tradeState.info.phase3b.txId.tooltip=Open transaction for block explorer +bisqEasy.tradeState.info.phase3b.lightning.preimage=Preimage + +bisqEasy.tradeState.info.phase4.txId.tooltip=Open transaction for block explorer +bisqEasy.tradeState.info.phase4.exportTrade=Eksport trad data +bisqEasy.tradeState.info.phase4.leaveChannel=Close trad +#################################################################### +# Dynamically created from BitcoinPaymentRail enum name +#################################################################### +# suppress inspection "UnusedProperty" +bisqEasy.tradeState.bitcoinPaymentData.MAIN_CHAIN=Bitcoin adres +# suppress inspection "UnusedProperty" +bisqEasy.tradeState.bitcoinPaymentData.LN=Lightning invoice +# suppress inspection "UnusedProperty" +bisqEasy.tradeState.paymentProof.MAIN_CHAIN=ID Transakshon +# suppress inspection "UnusedProperty" +bisqEasy.tradeState.paymentProof.LN=Preimage + + +# Trade State Info: Buyer +#################################################################### +# Dynamically created from BitcoinPaymentRail enum name +#################################################################### +# suppress inspection "UnusedProperty" +bisqEasy.tradeState.info.buyer.phase1a.bitcoinPayment.headline.MAIN_CHAIN=Put your Bitcoin address +# suppress inspection "UnusedProperty" +bisqEasy.tradeState.info.buyer.phase1a.bitcoinPayment.description.MAIN_CHAIN=Bitcoin adres +# suppress inspection "UnusedProperty" +bisqEasy.tradeState.info.buyer.phase1a.bitcoinPayment.prompt.MAIN_CHAIN=Put your Bitcoin address +# suppress inspection "UnusedProperty" +bisqEasy.tradeState.info.buyer.phase1a.tradeLogMessage.MAIN_CHAIN={0} don Send Bitcoin Walet ''{1}'' +# suppress inspection "UnusedProperty" +bisqEasy.tradeState.info.buyer.phase1a.bitcoinPayment.headline.LN=Fill in your Lightning invoice +# suppress inspection "UnusedProperty" +bisqEasy.tradeState.info.buyer.phase1a.bitcoinPayment.description.LN=Lightning invoice +# suppress inspection "UnusedProperty" +bisqEasy.tradeState.info.buyer.phase1a.bitcoinPayment.prompt.LN=Fill in your Lightning invoice +# suppress inspection "UnusedProperty" +bisqEasy.tradeState.info.buyer.phase1a.tradeLogMessage.LN={0} don Send the Lightning invoice ''{1}'' + +bisqEasy.tradeState.info.buyer.phase1a.bitcoinPayment.walletHelp=If you never set up wallet yet, you fit get help for wallet guide +bisqEasy.tradeState.info.buyer.phase1a.walletHelpButton=Open Walet guide +bisqEasy.tradeState.info.buyer.phase1a.send=Send go seller +bisqEasy.tradeState.info.buyer.phase1a.scanQrCode.tooltip=Scan QR code with your webcam +bisqEasy.tradeState.info.buyer.phase1a.scanQrCode.webcamState.description=Webcam konekshon steyt +bisqEasy.tradeState.info.buyer.phase1a.scanQrCode.webcamState.connecting=Deh connect to webcam... +bisqEasy.tradeState.info.buyer.phase1a.scanQrCode.webcamState.imageRecognized=Webcam don connect +bisqEasy.tradeState.info.buyer.phase1a.scanQrCode.webcamState.failed=Connecting to webcam fail +bisqEasy.tradeState.info.buyer.phase1b.headline=Wait for the seller payment account data +bisqEasy.tradeState.info.buyer.phase1b.info=You fit use the chat below to get in touch with the seller. + +bisqEasy.tradeState.info.buyer.phase2a.headline=Send {0} to the seller payment account +bisqEasy.tradeState.info.buyer.phase2a.quoteAmount=Amon to Send +bisqEasy.tradeState.info.buyer.phase2a.sellersAccount=Akaunt for Payment of seller +bisqEasy.tradeState.info.buyer.phase2a.reasonForPaymentInfo=Abeg leave the 'Reason for payment' field empty, if you dey make bank transfer +bisqEasy.tradeState.info.buyer.phase2a.confirmFiatSent=Confirm paymen of {0} +bisqEasy.tradeState.info.buyer.phase2a.tradeLogMessage={0} don start {1} Akaunt for Payment + +bisqEasy.tradeState.info.buyer.phase2b.headline=Wait for the seller to confirm say e receive payment +bisqEasy.tradeState.info.buyer.phase2b.info=Once di seller don receive your payment of {0}, dem go start di Bitcoin payment to di address wey you provide {1}. + +bisqEasy.tradeState.info.buyer.phase3a.headline=Wait for the seller Bitcoin payment +bisqEasy.tradeState.info.buyer.phase3a.info=Di seller need to start di Bitcoin payment to di address wey you provide {0}. +bisqEasy.tradeState.info.buyer.phase3b.headline.ln=Di seller don send di Bitcoin via Lightning network +bisqEasy.tradeState.info.buyer.phase3b.info.ln=Transfer via Lightning network dey usually almost instant.\nIf you never receive di payment after 1 minute, contact di seller for di trade chat. Sometimes payments dey fail and need to be repeated. +bisqEasy.tradeState.info.buyer.phase3b.confirmButton.ln=Confirm Receiv +bisqEasy.tradeState.info.buyer.phase3b.tradeLogMessage.ln={0} don confirm say dem don receive di Bitcoin payment +bisqEasy.tradeState.info.buyer.phase3b.headline.MAIN_CHAIN=The seller don start the Bitcoin payment +bisqEasy.tradeState.info.buyer.phase3b.info.MAIN_CHAIN=As soon as the Bitcoin transaction show for Bitcoin network you go see the payment. After 1 blockchain confirmation the payment fit consider as completed. +bisqEasy.tradeState.info.buyer.phase3b.balance=Receiv Bitcoin +bisqEasy.tradeState.info.buyer.phase3b.balance.prompt=Dey wait for blockchain data... + +# Trade State Info: Seller +bisqEasy.tradeState.info.seller.phase1.headline=Send your Akaunt for Payment data to the buyer +bisqEasy.tradeState.info.seller.phase1.accountData=My Akaunt for Payment data +bisqEasy.tradeState.info.seller.phase1.accountData.prompt=Put your payment account data. E.g. IBAN, BIC and account owner name +bisqEasy.tradeState.info.seller.phase1.buttonText=Send Akaunt for Payment data +bisqEasy.tradeState.info.seller.phase1.note=Note: You fit use the chat below to get in touch with the buyer before you reveal your account data. +bisqEasy.tradeState.info.seller.phase1.tradeLogMessage={0} don Send the Akaunt for Payment data:\n{1} + +bisqEasy.tradeState.info.seller.phase2a.waitForPayment.headline=Wait for the buyer {0} payment +bisqEasy.tradeState.info.seller.phase2a.waitForPayment.info=Once the buyer don start the payment of {0}, you go get notified. + +bisqEasy.tradeState.info.seller.phase2b.headline=Check if you don receive {0} +bisqEasy.tradeState.info.seller.phase2b.info=Visit your bank account or payment provider app to confirm say you don receive di buyer's payment. + +bisqEasy.tradeState.info.seller.phase2b.fiatReceivedButton=Confirm Receiv of {0} +bisqEasy.tradeState.info.seller.phase2b.tradeLogMessage={0} don confirm say dem don Receiv {1} + +bisqEasy.tradeState.info.seller.phase3a.fiatPaymentReceivedCheckBox=I don confirm say I don receive {0} +bisqEasy.tradeState.info.seller.phase3a.sendBtc=Send {0} go di buyer +bisqEasy.tradeState.info.seller.phase3a.baseAmount=Amount wey you go Send +bisqEasy.tradeState.info.seller.phase3a.qrCodeDisplay.openWindow=Open bigger display +bisqEasy.tradeState.info.seller.phase3a.qrCodeDisplay.window.title=Scan QR Code for trad ''{0}'' +bisqEasy.tradeState.info.seller.phase3b.headline.MAIN_CHAIN=Dey wait for blockchain Confirmeshon +bisqEasy.tradeState.info.seller.phase3b.info.MAIN_CHAIN=The Bitcoin payment need at least 1 blockchain confirmation to dey consider as complete. +bisqEasy.tradeState.info.seller.phase3b.balance=Bitcoin Akaunt for Payment +bisqEasy.tradeState.info.seller.phase3b.balance.prompt=Dey wait for blockchain data... + +#################################################################### +# Dynamically created from BitcoinPaymentRail enum name +#################################################################### +# suppress inspection "UnusedProperty" +bisqEasy.tradeState.info.seller.phase3a.bitcoinPayment.description.MAIN_CHAIN=Bitcoin alamat +# suppress inspection "UnusedProperty" +bisqEasy.tradeState.info.seller.phase3a.paymentProof.description.MAIN_CHAIN=ID Transakshon +# suppress inspection "UnusedProperty" +bisqEasy.tradeState.info.seller.phase3a.paymentProof.prompt.MAIN_CHAIN=Put the Bitcoin transaction ID +# suppress inspection "UnusedProperty" +bisqEasy.tradeState.info.seller.phase3a.tradeLogMessage.paymentProof.MAIN_CHAIN=ID Transakshon +# suppress inspection "UnusedProperty" +bisqEasy.tradeState.info.seller.phase3a.bitcoinPayment.description.LN=Lightning invoice +# suppress inspection "UnusedProperty" +bisqEasy.tradeState.info.seller.phase3a.paymentProof.description.LN=Preimage (optional) +# suppress inspection "UnusedProperty" +bisqEasy.tradeState.info.seller.phase3a.paymentProof.prompt.LN=Fill in di preimage if e dey available +# suppress inspection "UnusedProperty" +bisqEasy.tradeState.info.seller.phase3a.tradeLogMessage.paymentProof.LN=Preimage + +bisqEasy.tradeState.info.seller.phase3a.btcSentButton=I don confirm say I don send {0} +bisqEasy.tradeState.info.seller.phase3a.tradeLogMessage={0} initiated the Bitcoin payment. {1}: ''{2}'' +bisqEasy.tradeState.info.seller.phase3a.tradeLogMessage.noProofProvided={0} don start di Bitcoin payment. + +# suppress inspection "UnusedProperty" +bisqEasy.tradeState.info.seller.phase3a.paymentProof.warning.MAIN_CHAIN=Di Transaction ID wey you don enter dey look like say e invalid.\n\nIf you sure say di Transaction ID dey valid, you fit ignore dis warning and proceed. +# suppress inspection "UnusedProperty" +bisqEasy.tradeState.info.seller.phase3a.paymentProof.warning.LN=Di preimage wey you don enter dey look like say e invalid.\n\nIf you sure say di preimage dey valid, you fit ignore dis warning and proceed. +bisqEasy.tradeState.info.seller.phase3a.paymentProof.warning.proceed=Ignore warning + +bisqEasy.tradeState.info.seller.phase3b.headline.ln=Wait for di buyer to confirm di Bitcoin receipt +bisqEasy.tradeState.info.seller.phase3b.info.ln=Transfers via di Lightning Network dey usually near-instant and reliable. However, for some cases, payments fit fail and need to be repeated.\n\nTo avoid any issues, please wait for di buyer to confirm receipt for di trade chat before closing di trade, as communication go no dey possible afterward. +bisqEasy.tradeState.info.seller.phase3b.confirmButton.ln=Kompliti trad + + +###################################################### +# Trade Completed Table +##################################################### + +bisqEasy.tradeCompleted.title=Trade don successfully complete +bisqEasy.tradeCompleted.tableTitle=Sammari +bisqEasy.tradeCompleted.header.tradeWith=Trayd wit +bisqEasy.tradeCompleted.header.myDirection.seller=I sell +bisqEasy.tradeCompleted.header.myDirection.buyer=I buy +bisqEasy.tradeCompleted.header.myDirection.btc=Bitcoin +bisqEasy.tradeCompleted.header.myOutcome.seller=I Receiv +bisqEasy.tradeCompleted.header.myOutcome.buyer=I Don Pay +bisqEasy.tradeCompleted.header.paymentMethod=Akaunt for Payment +bisqEasy.tradeCompleted.header.tradeId=ID Transakshon +bisqEasy.tradeCompleted.body.date=Dei +bisqEasy.tradeCompleted.body.tradePrice=Trayd prais +bisqEasy.tradeCompleted.body.tradeFee=Trayd Fi +bisqEasy.tradeCompleted.body.tradeFee.value=No trade fees for Bisq Easy +bisqEasy.tradeCompleted.body.copy.txId.tooltip=Copy ID Transakshon to clipboard +bisqEasy.tradeCompleted.body.copy.explorerLink.tooltip=Copy block explorer ID Transakshon link +bisqEasy.tradeCompleted.body.txId.tooltip=Open blok eksplorer ID Transakshon + + +################################################################################ +# +# Mediation +# +################################################################################ + +bisqEasy.mediation.request.confirm.headline=Request Mediashon +bisqEasy.mediation.request.confirm.msg=If you get wahala wey you no fit resolve with your trade partner, you fit request help from mediator.\n\nAbeg no request mediation for general questions. For support section, chat rooms dey where you fit get general advice and help. +bisqEasy.mediation.request.confirm.openMediation=Open mediashon +bisqEasy.mediation.request.feedback.headline=Mediatshon don request +bisqEasy.mediation.request.feedback.msg=Request don go to registered mediators.\n\nAbeg get patience until mediator dey online to join the trade chat and help resolve any problems. +bisqEasy.mediation.request.feedback.noMediatorAvailable=No mediator dey available. Abeg use the support chat instead. +bisqEasy.mediation.requester.tradeLogMessage={0} don request Mediator diff --git a/pocs/android_only_m2_j17jars/app/src/main/resources/bisq_easy_pt_BR.properties b/pocs/android_only_m2_j17jars/app/src/main/resources/bisq_easy_pt_BR.properties new file mode 100644 index 00000000..0ad41ae0 --- /dev/null +++ b/pocs/android_only_m2_j17jars/app/src/main/resources/bisq_easy_pt_BR.properties @@ -0,0 +1,808 @@ +#################################################################### +# +# Chat module +# +#################################################################### + +bisqEasy.offerBookChannel.description=Canal de mercado para negociação {0} +bisqEasy.mediator=Mediador + + +#################################################################### +# +# Desktop module +# +#################################################################### + + +###################################################### +# Bisq Easy +###################################################### + +bisqEasy.dashboard=Primeiros passos +bisqEasy.offerbook=Livro de ofertas +bisqEasy.openTrades=Minhas negociações abertas + + +###################################################### +# Bisq Easy dashboard +###################################################### + +bisqEasy.onboarding.top.headline=Bisq Easy em 3 minutos +bisqEasy.onboarding.top.content1=Obtenha uma rápida introdução ao Bisq Easy +bisqEasy.onboarding.top.content2=Veja como o processo de negociação funciona +bisqEasy.onboarding.top.content3=Aprenda sobre as regras simples de negociação +bisqEasy.onboarding.openTradeGuide=Leia o guia de negociação +bisqEasy.onboarding.watchVideo=Assistir vídeo +bisqEasy.onboarding.watchVideo.tooltip=Assistir vídeo introdutório embutido + +bisqEasy.onboarding.left.headline=Melhor para iniciantes +bisqEasy.onboarding.left.info=O assistente de negociação guia você através da sua primeira negociação de Bitcoin. Os vendedores de Bitcoin irão ajudá-lo se tiver alguma dúvida. +bisqEasy.onboarding.left.button=Iniciar assistente de negociação + +bisqEasy.onboarding.right.headline=Para negociadores experientes +bisqEasy.onboarding.right.info=Navegue pelo livro de ofertas para encontrar as melhores ofertas ou crie a sua própria oferta. +bisqEasy.onboarding.right.button=Abrir livro de ofertas + + +################################################################################ +# +# Create offer +# +################################################################################ + +bisqEasy.tradeWizard.progress.direction=Comprar/Vender +bisqEasy.tradeWizard.progress.market=Moeda +bisqEasy.tradeWizard.progress.price=Preço +bisqEasy.tradeWizard.progress.amount=Quantidade +bisqEasy.tradeWizard.progress.paymentMethods=Métodos de pagamento +bisqEasy.tradeWizard.progress.takeOffer=Selecionar oferta +bisqEasy.tradeWizard.progress.review=Revisão + + +################################################################################ +# Create offer / Direction +################################################################################ + +bisqEasy.tradeWizard.direction.headline=Você quer comprar ou vender Bitcoin? +bisqEasy.tradeWizard.direction.subTitle=Selecione uma opção +bisqEasy.tradeWizard.direction.buy=Comprar Bitcoin +bisqEasy.tradeWizard.direction.buy.info=A maneira mais fácil de obter seu\nprimeiro Bitcoin +bisqEasy.tradeWizard.direction.sell=Vender Bitcoin +bisqEasy.tradeWizard.direction.sell.info=Usuários experientes do Bisq com reputação podem atuar como vendedores +bisqEasy.tradeWizard.direction.feedback.headline=Como construir reputação? +bisqEasy.tradeWizard.direction.feedback.subTitle1=Você ainda não estabeleceu nenhuma Reputação. Para vendedores de Bitcoin, construir Reputação é crucial, pois os compradores são obrigados a Enviar moeda fiduciária primeiro no processo de negociação, confiando na integridade do vendedor.\n\nEsse processo de construção de Reputação é mais adequado para usuários experientes do Bisq, e você pode encontrar informações detalhadas sobre isso na seção 'Reputação'. +bisqEasy.tradeWizard.direction.feedback.gainReputation=Aprenda a construir reputação +bisqEasy.tradeWizard.direction.feedback.subTitle2=Embora seja possível para os vendedores negociarem sem (ou com reputação insuficiente) para quantias relativamente baixas de até {0}, a probabilidade de encontrar um parceiro de negociação é consideravelmente reduzida. Isso ocorre porque os compradores tendem a evitar se envolver com vendedores que não têm Reputação devido a riscos de segurança. +bisqEasy.tradeWizard.direction.feedback.tradeWithoutReputation=Continue sem Reputação +bisqEasy.tradeWizard.direction.feedback.backToBuy=Voltar + + +################################################################################ +# Create offer / Market +################################################################################ + +bisqEasy.tradeWizard.market.headline.buyer=Em qual moeda você deseja pagar? +bisqEasy.tradeWizard.market.headline.seller=Em qual moeda você deseja receber o pagamento? +bisqEasy.tradeWizard.market.subTitle=Escolha a sua moeda de negociação +bisqEasy.tradeWizard.market.columns.name=Moeda fiduciária +bisqEasy.tradeWizard.market.columns.numOffers=Nº de ofertas +bisqEasy.tradeWizard.market.columns.numPeers=Pares online + + +################################################################################ +# Create offer / Price +################################################################################ + +bisqEasy.price.headline=Qual é o seu preço de negociação? +bisqEasy.tradeWizard.price.subtitle=Isso pode ser definido como um preço percentual que flutua com o preço de mercado ou preço fixo. +bisqEasy.price.percentage.title=Preço percentual +bisqEasy.price.percentage.inputBoxText=Percentual do preço de mercado entre -10% e 50% +bisqEasy.price.tradePrice.title=Preço fixo +bisqEasy.price.tradePrice.inputBoxText=Preço de negociação em {0} +bisqEasy.price.feedback.sentence=Sua oferta tem {0} chances de ser aceita a esse preço. +bisqEasy.price.feedback.sentence.veryLow=muito baixas +bisqEasy.price.feedback.sentence.low=baixas +bisqEasy.price.feedback.sentence.some=algumas +bisqEasy.price.feedback.sentence.good=boas +bisqEasy.price.feedback.sentence.veryGood=muito boas +bisqEasy.price.feedback.learnWhySection.openButton=Por quê? +bisqEasy.price.feedback.learnWhySection.closeButton=Voltar para Preço de Negociação +bisqEasy.price.feedback.learnWhySection.title=Por que eu devo pagar um preço mais alto para o vendedor? +bisqEasy.price.feedback.learnWhySection.description.intro=A razão para isso é que o vendedor precisa cobrir despesas extras e compensar pelo serviço prestado, especificamente: +bisqEasy.price.feedback.learnWhySection.description.exposition=- Construir reputação pode ser custoso.- O vendedor precisa pagar taxas de mineradores.- O vendedor é o guia útil no processo de negociação, investindo assim mais tempo. +bisqEasy.price.warn.invalidPrice.outOfRange=O preço inserido está fora da faixa permitida de -10% a 50%. +bisqEasy.price.warn.invalidPrice.numberFormatException=O preço inserido não é um número válido. +bisqEasy.price.warn.invalidPrice.exception=O preço inserido é inválido.\n\nMensagem de erro: {0} + + +################################################################################ +# Create offer / Amount +################################################################################ + +bisqEasy.tradeWizard.amount.headline.buyer=Quanto você deseja gastar? +bisqEasy.tradeWizard.amount.headline.seller=Quanto você deseja receber? +bisqEasy.tradeWizard.amount.description.minAmount=Defina o valor mínimo para a faixa de quantidade +bisqEasy.tradeWizard.amount.description.maxAmount=Defina o valor máximo para a faixa de quantidade +bisqEasy.tradeWizard.amount.description.fixAmount=Defina a quantidade que deseja negociar +bisqEasy.tradeWizard.amount.addMinAmountOption=Adicionar faixa mín/máx para quantidade +bisqEasy.tradeWizard.amount.removeMinAmountOption=Usar valor fixo para quantidade +bisqEasy.component.amount.minRangeValue=Mín {0} +bisqEasy.component.amount.maxRangeValue=Máx {0} +bisqEasy.component.amount.baseSide.tooltip.btcAmount.marketPrice=Este é o valor em Bitcoin com base no preço de mercado atual. +bisqEasy.component.amount.baseSide.tooltip.btcAmount.selectedPrice=Este é o valor em Bitcoin com base no preço selecionado. +bisqEasy.component.amount.baseSide.tooltip.buyerInfo=Vendedores podem pedir por um preço mais alto já que eles têm custos para adquirir reputação.\n5-15% acima do preço de mercado é comum. +bisqEasy.component.amount.baseSide.tooltip.bestOfferPrice=Este é o valor em Bitcoin com o melhor preço\ndas ofertas correspondentes: {0} +bisqEasy.component.amount.baseSide.tooltip.buyer.btcAmount=Este é o valor em Bitcoin a receber +bisqEasy.component.amount.baseSide.tooltip.seller.btcAmount=Este é o valor em Bitcoin a pagar +bisqEasy.component.amount.baseSide.tooltip.taker.offerPrice=com o preço da oferta: {0} + + +bisqEasy.tradeWizard.amount.limitInfo.overlay.headline=Limites de quantidade de negociação baseados na Reputação +bisqEasy.tradeWizard.amount.limitInfo.overlay.close=Fechar sobreposição + +bisqEasy.tradeWizard.amount.seller.wizard.numMatchingOffers.info=Há {0} correspondências com o valor de negociação escolhido. +bisqEasy.tradeWizard.amount.seller.wizard.limitInfo=Com sua Pontuação de Reputação de {0}, você pode negociar até +bisqEasy.tradeWizard.amount.seller.wizard.limitInfo.overlay.info=Com uma Pontuação de Reputação de {0}, você pode negociar até {1}.\n\nVocê pode encontrar informações sobre como aumentar sua reputação em ''Reputação/Construir Reputação''. + +bisqEasy.tradeWizard.amount.seller.limitInfo.scoreTooLow=Com sua Pontuação de Reputação de {0}, o valor da sua negociação não deve exceder +bisqEasy.tradeWizard.amount.seller.limitInfo.overlay.info.scoreTooLow=Sua Pontuação de Reputação de {0} não oferece segurança suficiente para os compradores.\n\nOs compradores que considerarem aceitar sua oferta receberão um aviso sobre os riscos potenciais ao aceitar sua oferta.\n\nVocê pode encontrar informações sobre como aumentar sua reputação em ''Reputação/Construir Reputação''. + +bisqEasy.takeOffer.amount.seller.limitInfo.lowToleratedAmount=Como o valor da negociação está abaixo de {0}, os requisitos de Reputação são relaxados. +bisqEasy.takeOffer.amount.seller.limitInfo.scoreTooLow=Como sua Pontuação de Reputação é apenas {0}, seu valor de negociação está restrito a +bisqEasy.takeOffer.amount.seller.limitInfo.overlay.info.scoreTooLow=Para valores de até {0}, os requisitos de reputação são relaxados.\n\nSua Pontuação de Reputação de {1} não oferece segurança suficiente para o comprador. No entanto, dado o baixo valor da negociação, o comprador aceitou correr o risco.\n\nVocê pode encontrar informações sobre como aumentar sua reputação em ''Reputação/Construir Reputação''. + +bisqEasy.tradeWizard.amount.seller.limitInfo.sufficientScore=Sua Pontuação de Reputação de {0} oferece segurança para ofertas de até +bisqEasy.tradeWizard.amount.seller.limitInfo.overlay.info.sufficientScore=Com uma Pontuação de Reputação de {0}, você oferece segurança para negociações de até {1}. + +bisqEasy.tradeWizard.amount.seller.limitInfo.inSufficientScore=A segurança fornecida pela sua Pontuação de Reputação de {0} é insuficiente para ofertas acima de +bisqEasy.tradeWizard.amount.seller.limitInfo.overlay.info.inSufficientScore=Com uma Pontuação de Reputação de {0}, a segurança que você fornece é insuficiente para negociações acima de {1}.\n\nVocê ainda pode criar tais ofertas, mas os compradores serão avisados sobre os riscos potenciais ao tentar aceitar sua oferta.\n\nVocê pode encontrar informações sobre como aumentar sua reputação em ''Reputação/Construir Reputação''. + +bisqEasy.tradeWizard.amount.seller.limitInfoAmount={0}. +bisqEasy.tradeWizard.amount.seller.limitInfo.link=Saiba mais + + +bisqEasy.tradeWizard.amount.seller.limitInfo.overlay.linkToWikiText=Para mais detalhes sobre o sistema de Reputação, visite a Wiki do Bisq em: + +bisqEasy.tradeWizard.amount.seller.limitInfo.noReputationNeededForMaxOrFixedAmount=Para valores de até {0}, nenhuma Reputação é necessária. +bisqEasy.tradeWizard.amount.seller.limitInfo.noReputationNeededForMaxOrFixedAmount.overlay.info.scoreTooLow=Para valores de até {0}, os requisitos de reputação são relaxados.\n\nSua Pontuação de Reputação de {1} não oferece segurança suficiente para os compradores. No entanto, dado o valor baixo envolvido, os compradores ainda podem considerar aceitar a oferta uma vez que estejam cientes dos riscos associados.\n\nVocê pode encontrar informações sobre como aumentar sua reputação em ''Reputação/Construir Reputação''. + + +bisqEasy.tradeWizard.amount.buyer.limitInfo.learnMore=Saiba mais + +# suppress inspection "UnusedProperty" +bisqEasy.tradeWizard.amount.buyer.numSellers.0=não há nenhum vendedor +# suppress inspection "UnusedProperty" +bisqEasy.tradeWizard.amount.buyer.numSellers.1=há um vendedor +# suppress inspection "UnusedProperty" +bisqEasy.tradeWizard.amount.buyer.numSellers.*=há {0} vendedores + +# suppress inspection "UnusedProperty" +bisqEasy.tradeWizard.amount.numOffers.0=não há oferta +# suppress inspection "UnusedProperty" +bisqEasy.tradeWizard.amount.numOffers.1=é uma oferta +# suppress inspection "UnusedProperty" +bisqEasy.tradeWizard.amount.numOffers.*=são {0} ofertas + +bisqEasy.tradeWizard.amount.buyer.limitInfo=Há {0} na rede com Reputação suficiente para aceitar uma oferta de {1}. +bisqEasy.tradeWizard.amount.buyer.limitInfo.overlay.info=Um vendedor que deseja aceitar sua oferta de {0} deve ter uma Pontuação de Reputação de pelo menos {1}.\nAo reduzir o valor máximo da negociação, você torna sua oferta acessível a mais vendedores. + +bisqEasy.tradeWizard.amount.buyer.limitInfo.wizard.info.leadLine=Há {0} correspondências com o valor de negociação escolhido. +bisqEasy.tradeWizard.amount.buyer.limitInfo.wizard.info=Para ofertas de até {0}, os requisitos de Reputação são relaxados. +bisqEasy.tradeWizard.amount.buyer.limitInfo.wizard.overlay.info=Dada a quantidade mínima baixa de {0}, os requisitos de Reputação são relaxados.\nPara quantias de até {1}, os vendedores não precisam de Reputação.\n\nNa tela ''Selecionar Oferta'', é recomendado escolher vendedores com maior Reputação. + +bisqEasy.tradeWizard.amount.buyer.limitInfo.noReputationNeededForMaxOrFixedAmount=Vendedores sem Reputação podem aceitar ofertas de até {0}. +bisqEasy.tradeWizard.amount.buyer.limitInfo.noReputationNeededForMaxOrFixedAmount.riskInfo=Certifique-se de entender completamente os riscos envolvidos. +bisqEasy.tradeWizard.amount.buyer.limitInfo.overlay.noReputationNeededForMaxOrFixedAmount.info=Dada a baixa quantia de {0}, os requisitos de Reputação são relaxados.\nPara quantias de até {1}, vendedores com Reputação insuficiente ou nenhuma podem aceitar a oferta.\n\nCertifique-se de entender completamente os riscos ao negociar com um vendedor sem Reputação ou com Reputação insuficiente. Se você não quiser estar exposto a esse risco, escolha uma quantia acima de {2}. +bisqEasy.tradeWizard.amount.buyer.limitInfo.overlay.linkToWikiText=Para saber mais sobre o sistema de Reputação, visite: + + +bisqEasy.tradeWizard.amount.buyer.noReputationNeededForMinAmount.limitInfo.leadLine=Como seu valor mínimo está abaixo de {0}, vendedores sem Reputação podem aceitar sua oferta. +bisqEasy.tradeWizard.amount.buyer.noReputationNeededForMinAmount.limitInfo=Para o valor máximo de {0}, não há {1} com reputação suficiente para aceitar sua oferta. +bisqEasy.tradeWizard.amount.buyer.noReputationNeededForMinAmount.limitInfo.overlay.info=Dada a baixa quantia da negociação de {0}, os requisitos de Reputação são relaxados.\nPara quantias de até {1}, vendedores com Reputação insuficiente ou nenhuma podem aceitar sua oferta.\n\nVendedores que desejam aceitar sua oferta com a quantia máxima de {2} devem ter uma Pontuação de Reputação de pelo menos {3}.\nAo reduzir a quantia máxima da negociação, você torna sua oferta acessível a mais vendedores. + + +################################################################################ +# Create offer / Payment methods +################################################################################ + +bisqEasy.tradeWizard.paymentMethods.headline=Quais métodos de pagamento e liquidação você deseja usar? +bisqEasy.tradeWizard.paymentMethods.fiat.subTitle.buyer=Escolha os métodos de pagamento para transferir {0} +bisqEasy.tradeWizard.paymentMethods.fiat.subTitle.seller=Escolha os métodos de pagamento para receber {0} +bisqEasy.tradeWizard.paymentMethods.bitcoin.subTitle.buyer=Escolha os métodos de liquidação para receber Bitcoin +bisqEasy.tradeWizard.paymentMethods.bitcoin.subTitle.seller=Escolha os métodos de liquidação para enviar Bitcoin +bisqEasy.tradeWizard.paymentMethods.noneFound=Para o mercado selecionado, não há métodos de pagamento padrão fornecidos.\nPor favor, adicione no campo de texto abaixo o método de pagamento personalizado que deseja usar. +bisqEasy.tradeWizard.paymentMethods.customMethod.prompt=Pagamento personalizado +bisqEasy.tradeWizard.paymentMethods.warn.maxMethodsReached=Você não pode adicionar mais de 4 métodos de pagamento. +bisqEasy.tradeWizard.paymentMethods.warn.tooLong=Um nome de método de pagamento personalizado não deve ter mais de 20 caracteres. +bisqEasy.tradeWizard.paymentMethods.warn.customPaymentMethodAlreadyExists=Um método de pagamento personalizado com o nome {0} já existe. +bisqEasy.tradeWizard.paymentMethods.warn.customNameMatchesPredefinedMethod=O nome do seu método de pagamento personalizado não deve ser o mesmo que um dos predefinidos. +bisqEasy.tradeWizard.paymentMethods.warn.noFiatPaymentMethodSelected=Por favor, escolha pelo menos um método de pagamento fiat. +bisqEasy.tradeWizard.paymentMethods.warn.noBtcSettlementMethodSelected=Por favor, escolha pelo menos um método de liquidação em Bitcoin. + + +################################################################################ +# TradeWizard / Select offer +################################################################################ + +bisqEasy.tradeWizard.selectOffer.headline.buyer=Comprar Bitcoin por {0} +bisqEasy.tradeWizard.selectOffer.headline.seller=Vender Bitcoin por {0} +bisqEasy.tradeWizard.selectOffer.subHeadline=É recomendado negociar com usuários de alta reputação. +bisqEasy.tradeWizard.selectOffer.noMatchingOffers.headline=Nenhuma oferta correspondente encontrada +bisqEasy.tradeWizard.selectOffer.noMatchingOffers.subHeadline=Não há ofertas disponíveis para os seus critérios de seleção. +bisqEasy.tradeWizard.selectOffer.noMatchingOffers.goBack=Alterar seleção +bisqEasy.tradeWizard.selectOffer.noMatchingOffers.goBack.info=Volte às telas anteriores e altere a seleção +bisqEasy.tradeWizard.selectOffer.noMatchingOffers.browseOfferbook=Navegar pelo livro de ofertas +bisqEasy.tradeWizard.selectOffer.noMatchingOffers.browseOfferbook.info=Feche o assistente de negociação e navegue pelo livro de ofertas + + +################################################################################ +# TradeWizard / Review +################################################################################ + +bisqEasy.tradeWizard.review.headline.maker=Revisar oferta +bisqEasy.tradeWizard.review.headline.taker=Revisar negociação +bisqEasy.tradeWizard.review.detailsHeadline.taker=Detalhes da negociação +bisqEasy.tradeWizard.review.detailsHeadline.maker=Detalhes da oferta +bisqEasy.tradeWizard.review.feeDescription=Taxas +bisqEasy.tradeWizard.review.noTradeFees=Sem taxas de negociação no Bisq Easy +bisqEasy.tradeWizard.review.sellerPaysMinerFeeLong=O vendedor paga a taxa de mineração +bisqEasy.tradeWizard.review.sellerPaysMinerFee=Vendedor paga a taxa de mineração +bisqEasy.tradeWizard.review.noTradeFeesLong=Não há taxas de negociação no Bisq Easy + +bisqEasy.tradeWizard.review.toPay=Quantia a pagar +bisqEasy.tradeWizard.review.toSend=Quantia a enviar +bisqEasy.tradeWizard.review.toReceive=Quantia a receber +bisqEasy.tradeWizard.review.direction={0} Bitcoin +bisqEasy.tradeWizard.review.paymentMethodDescription.btc=Método de pagamento Bitcoin +bisqEasy.tradeWizard.review.paymentMethodDescriptions.btc.maker=Métodos de pagamento Bitcoin +bisqEasy.tradeWizard.review.paymentMethodDescriptions.btc.taker=Selecionar método de pagamento Bitcoin +bisqEasy.tradeWizard.review.paymentMethodDescription.fiat=Método de pagamento Fiat +bisqEasy.tradeWizard.review.paymentMethodDescriptions.fiat.maker=Métodos de pagamento Fiat +bisqEasy.tradeWizard.review.paymentMethodDescriptions.fiat.taker=Selecionar método de pagamento Fiat +bisqEasy.tradeWizard.review.price={0} <{1} style=trade-wizard-review-code> + +bisqEasy.tradeWizard.review.priceDescription.taker=Preço de negociação +bisqEasy.tradeWizard.review.priceDescription.maker=Preço da oferta +bisqEasy.tradeWizard.review.priceDetails.fix=Preço fixo. {0} {1} preço de mercado de {2} +bisqEasy.tradeWizard.review.priceDetails.fix.atMarket=Preço fixo. Mesmo que o preço de mercado de {0} +bisqEasy.tradeWizard.review.priceDetails.float=Preço flutuante. {0} {1} preço de mercado de {2} +bisqEasy.tradeWizard.review.priceDetails=Flutua com o preço de mercado +bisqEasy.tradeWizard.review.nextButton.createOffer=Criar oferta +bisqEasy.tradeWizard.review.nextButton.takeOffer=Confirmar negociação + +bisqEasy.tradeWizard.review.createOfferSuccess.headline=Oferta publicada com sucesso +bisqEasy.tradeWizard.review.createOfferSuccess.subTitle=Sua oferta agora está listada no livro de ofertas. Quando um usuário do Bisq aceitar sua oferta, você encontrará uma nova negociação na seção 'Negociações Abertas'.\n\nCertifique-se de verificar regularmente o aplicativo Bisq para novas mensagens de um comprador. +bisqEasy.tradeWizard.review.createOfferSuccessButton=Mostrar minha oferta em 'Livro de Ofertas' + +bisqEasy.tradeWizard.review.takeOfferSuccess.headline=Você aceitou a oferta com sucesso +bisqEasy.tradeWizard.review.takeOfferSuccess.subTitle=Por favor, entre em contato com o par de negociação em 'Negociações Abertas'.\nVocê encontrará mais informações para os próximos passos lá.\n\nCertifique-se de verificar regularmente o aplicativo Bisq para novas mensagens do seu par de negociação. +bisqEasy.tradeWizard.review.takeOfferSuccessButton=Mostrar negociação em 'Negociações Abertas' + + +################################################################################ +# Create offer / Review +################################################################################# + +bisqEasy.tradeWizard.review.table.baseAmount.buyer=Você recebe +bisqEasy.tradeWizard.review.table.baseAmount.seller=Você gasta +bisqEasy.tradeWizard.review.table.price=Preço em {0} +bisqEasy.tradeWizard.review.table.reputation=Reputação +bisqEasy.tradeWizard.review.chatMessage.fixPrice={0} +bisqEasy.tradeWizard.review.chatMessage.floatPrice.above={0} acima do preço de mercado +bisqEasy.tradeWizard.review.chatMessage.floatPrice.below={0} abaixo do preço de mercado +bisqEasy.tradeWizard.review.chatMessage.marketPrice=Preço de mercado +bisqEasy.tradeWizard.review.chatMessage.price=Preço: +bisqEasy.tradeWizard.review.chatMessage.peerMessage.sell=Vender Bitcoin para {0}\nQuantidade: {1}\nMétodo(s) de pagamento em Bitcoin: {2}\nMétodo(s) de pagamento em Fiat: {3}\n{4} +bisqEasy.tradeWizard.review.chatMessage.peerMessage.buy=Comprar Bitcoin de {0}\nQuantidade: {1}\nMétodo(s) de pagamento em Bitcoin: {2}\nMétodo(s) de pagamento em Fiat: {3}\n{4} +bisqEasy.tradeWizard.review.chatMessage.offerDetails=Quantidade: {0}\nMétodo(s) de pagamento em Bitcoin: {1}\nMétodo(s) de pagamento em Fiat: {2}\n{3} +bisqEasy.tradeWizard.review.chatMessage.peerMessageTitle.sell=Vender Bitcoin para +bisqEasy.tradeWizard.review.chatMessage.peerMessageTitle.buy=Comprar Bitcoin de +bisqEasy.tradeWizard.review.chatMessage.myMessageTitle=Minha Oferta de {0} Bitcoin + + +################################################################################ +# +# Take offer +# +################################################################################ + +bisqEasy.takeOffer.progress.amount=Quantidade de negociação +bisqEasy.takeOffer.progress.method=Método de pagamento +bisqEasy.takeOffer.progress.review=Revisar negociação + +bisqEasy.takeOffer.amount.headline.buyer=Quanto você deseja gastar? +bisqEasy.takeOffer.amount.headline.seller=Quanto você deseja negociar? +bisqEasy.takeOffer.amount.description=A oferta permite que você escolha uma quantidade de negociação\nentre {0} e {1} +bisqEasy.takeOffer.amount.description.limitedByTakersReputation=Sua Pontuação de Reputação de {0} permite que você escolha um valor de negociação\nentre {1} e {2} + +bisqEasy.takeOffer.amount.buyer.limitInfo.tooHighMax=A Pontuação de Reputação do vendedor é apenas {0}. Não é recomendável negociar mais do que +bisqEasy.takeOffer.amount.buyer.limitInfoAmount={0}. +bisqEasy.takeOffer.amount.buyer.limitInfo.tooHighMax.overlay.info=A Pontuação de Reputação do vendedor de {0} não oferece segurança suficiente. No entanto, para valores de negociação mais baixos (até {1}), os requisitos de reputação são mais flexíveis.\n\nSe você decidir prosseguir apesar da falta de reputação do vendedor, certifique-se de estar plenamente ciente dos riscos associados. O modelo de segurança do Bisq Easy depende da reputação do vendedor, já que o comprador é obrigado a Enviar a moeda fiduciária primeiro. +bisqEasy.takeOffer.amount.buyer.limitInfo.minAmountCovered=A Pontuação de Reputação do vendedor de {0} oferece segurança até +bisqEasy.takeOffer.amount.buyer.limitInfo.minAmountCovered.overlay.info=A Pontuação de Reputação do vendedor de {0} oferece segurança para até {1}.\n\nSe você escolher um valor maior, certifique-se de estar totalmente ciente dos riscos associados. O modelo de segurança do Bisq Easy depende da reputação do vendedor, pois o comprador é obrigado a Enviar a moeda fiduciária primeiro. +bisqEasy.takeOffer.amount.buyer.limitInfo.minAmountNotCovered=A Pontuação de Reputação do vendedor de {0} não fornece segurança suficiente para essa oferta. +bisqEasy.takeOffer.amount.buyer.limitInfo.tooHighMin.overlay.info=A Pontuação de Reputação do vendedor de {0} não oferece segurança suficiente para essa oferta.\n\nRecomenda-se negociar valores menores com negociações repetidas ou com vendedores que tenham uma reputação mais alta. Se você decidir prosseguir apesar da falta de reputação do vendedor, certifique-se de estar totalmente ciente dos riscos associados. O modelo de segurança do Bisq Easy depende da reputação do vendedor, já que o comprador é obrigado a Enviar a moeda fiduciária primeiro. +bisqEasy.takeOffer.amount.buyer.limitInfo.learnMore=Saiba mais +bisqEasy.takeOffer.amount.buyer.limitInfo.overlay.linkToWikiText=Para saber mais sobre o sistema de Reputação, visite: + +bisqEasy.takeOffer.paymentMethods.headline.fiat=Qual método de pagamento você deseja usar? +bisqEasy.takeOffer.paymentMethods.headline.fiatAndBitcoin=Qual método de pagamento e liquidação você deseja usar? +bisqEasy.takeOffer.paymentMethods.headline.bitcoin=Qual método de liquidação você deseja usar? +bisqEasy.takeOffer.paymentMethods.subtitle.fiat.buyer=Escolha um método de pagamento para transferir {0} +bisqEasy.takeOffer.paymentMethods.subtitle.fiat.seller=Escolha um método de pagamento para receber {0} +bisqEasy.takeOffer.paymentMethods.subtitle.bitcoin.buyer=Escolha um método de liquidação para receber Bitcoin +bisqEasy.takeOffer.paymentMethods.subtitle.bitcoin.seller=Escolha um método de liquidação para enviar Bitcoin + +bisqEasy.takeOffer.review.headline=Revisar negociação +bisqEasy.takeOffer.review.detailsHeadline=Detalhes da negociação +bisqEasy.takeOffer.review.method.fiat=Método de pagamento Fiat +bisqEasy.takeOffer.review.method.bitcoin=Método de pagamento em Bitcoin +bisqEasy.takeOffer.review.price.price=Preço de negociação +bisqEasy.takeOffer.review.noTradeFees=Sem taxas de negociação no Bisq Easy +bisqEasy.takeOffer.review.sellerPaysMinerFeeLong=O vendedor paga a taxa de mineração +bisqEasy.takeOffer.review.sellerPaysMinerFee=Vendedor paga a taxa de mineração +bisqEasy.takeOffer.review.noTradeFeesLong=Não há taxas de negociação no Bisq Easy +bisqEasy.takeOffer.review.takeOffer=Confirmar oferta +bisqEasy.takeOffer.review.sendTakeOfferMessageFeedback.headline=Enviando mensagem de aceitação de oferta +bisqEasy.takeOffer.review.sendTakeOfferMessageFeedback.subTitle=Enviar a mensagem de aceitação de oferta pode levar até 2 minutos +bisqEasy.takeOffer.review.sendTakeOfferMessageFeedback.info=Não feche a janela ou o aplicativo até ver a confirmação de que a solicitação de aceitação de oferta foi enviada com sucesso. +bisqEasy.takeOffer.review.takeOfferSuccess.headline=Você aceitou a oferta com sucesso +bisqEasy.takeOffer.review.takeOfferSuccess.subTitle=Por favor, entre em contato com o par de negociação em 'Negociações Abertas'.\nVocê encontrará mais informações para os próximos passos lá.\n\nCertifique-se de verificar regularmente o aplicativo Bisq para novas mensagens do seu par de negociação. +bisqEasy.takeOffer.review.takeOfferSuccessButton=Mostrar negociação em 'Negociações Abertas' +bisqEasy.takeOffer.tradeLogMessage={0} enviou uma mensagem para aceitar a oferta de {1} + +bisqEasy.takeOffer.noMediatorAvailable.warning=Não há mediador disponível. Você deve usar o chat de suporte em vez disso. +bisqEasy.takeOffer.makerBanned.warning=O criador desta oferta está banido. Por favor, tente usar uma oferta diferente. +# suppress inspection "UnusedProperty" +bisqEasy.takeOffer.bitcoinPaymentData.warning.MAIN_CHAIN=O endereço Bitcoin que você inseriu parece ser inválido.\n\nSe você tiver certeza de que o endereço é válido, pode ignorar este aviso e prosseguir. +# suppress inspection "UnusedProperty" +bisqEasy.takeOffer.bitcoinPaymentData.warning.LN=A fatura Lightning que você inseriu parece ser inválida.\n\nSe você tiver certeza de que a fatura é válida, pode ignorar este aviso e prosseguir. +bisqEasy.takeOffer.bitcoinPaymentData.warning.proceed=Ignorar aviso + + +################################################################################ +# +# TradeGuide +# +################################################################################ + +bisqEasy.tradeGuide.tabs.headline=Guia de Negociação +bisqEasy.tradeGuide.welcome=Visão Geral +bisqEasy.tradeGuide.security=Segurança +bisqEasy.tradeGuide.process=Processo +bisqEasy.tradeGuide.rules=Regras de Negociação + +bisqEasy.tradeGuide.welcome.headline=Como negociar no Bisq Easy +bisqEasy.tradeGuide.welcome.content=Este guia fornece uma visão geral dos aspectos essenciais para comprar ou vender Bitcoin com o Bisq Easy.\nNeste guia, você aprenderá sobre o modelo de segurança usado no Bisq Easy, obterá insights sobre o processo de negociação e se familiarizará com as regras de negociação.\n\nPara quaisquer perguntas adicionais, sinta-se à vontade para visitar as salas de chat disponíveis no menu 'Suporte'. + +bisqEasy.tradeGuide.security.headline=Quão seguro é negociar no Bisq Easy? +bisqEasy.tradeGuide.security.content=- O modelo de segurança do Bisq Easy é otimizado para quantias pequenas de comércio.\n- O modelo depende da reputação do vendedor, que geralmente é um usuário experiente do Bisq e espera-se que forneça suporte útil para novos usuários.\n- Construir reputação pode ser custoso, levando a um prêmio de preço comum de 5-15% para cobrir despesas extras e compensar pelo serviço do vendedor.\n- Negociar com vendedores sem reputação carrega riscos significativos e só deve ser feito se os riscos forem completamente compreendidos e gerenciados. + +bisqEasy.tradeGuide.process.headline=Como funciona o processo de negociação? +bisqEasy.tradeGuide.process.content=Quando você decide aceitar uma oferta, terá a flexibilidade de escolher entre as opções disponíveis fornecidas pela oferta. Antes de iniciar a negociação, você receberá um resumo para revisão.\nAssim que a negociação for iniciada, a interface do usuário irá guiá-lo através do processo de negociação, que consiste nos seguintes passos: + +bisqEasy.tradeGuide.process.steps=1. O vendedor e o comprador trocam os detalhes da conta. O vendedor envia seus dados de pagamento (por exemplo, número da conta bancária) para o comprador e o comprador envia seu endereço de Bitcoin (ou fatura Lightning) para o vendedor.\n2. Em seguida, o comprador inicia o pagamento Fiat para a conta do vendedor. Após receber o pagamento, o vendedor confirmará o recebimento.\n3. O vendedor então envia o Bitcoin para o endereço do comprador e compartilha o ID da transação (ou opcionalmente o pré-imagem no caso de ser usado Lightning). A interface do usuário exibirá o estado de confirmação. Uma vez confirmado, o comércio é concluído com sucesso. + +bisqEasy.tradeGuide.rules.headline=O que eu preciso saber sobre as regras de negociação? +bisqEasy.tradeGuide.rules.content=- Antes da troca de detalhes de conta entre o vendedor e o comprador, qualquer parte pode cancelar a negociação sem fornecer justificativa.\n- Os negociantes devem verificar regularmente suas negociações em busca de novas mensagens e devem responder dentro de 24 horas.\n- Uma vez que os detalhes da conta são trocados, não cumprir as obrigações da negociação é considerado uma violação do contrato de negociação e pode resultar em um banimento da rede Bisq. Isso não se aplica se o parceiro de negociação não estiver respondendo.\n- Durante o pagamento em Fiat, o comprador NÃO DEVE incluir termos como 'Bisq' ou 'Bitcoin' no campo 'motivo do pagamento'. Os negociantes podem concordar em um identificador, como uma sequência aleatória como 'H3TJAPD', para associar a transferência bancária com a negociação.\n- Se a negociação não puder ser completada instantaneamente devido a tempos de transferência Fiat mais longos, ambos os negociantes devem estar online pelo menos uma vez por dia para monitorar o progresso da negociação.\n- No caso de os negociantes encontrarem problemas não resolvidos, eles têm a opção de convidar um mediador para o chat da negociação para assistência.\n\nSe você tiver alguma dúvida ou precisar de assistência, não hesite em visitar as salas de chat acessíveis no menu 'Suporte'. Boas negociações! + +bisqEasy.tradeGuide.rules.confirm=Eu li e entendi + +bisqEasy.tradeGuide.notConfirmed.warn=Por favor, leia o guia de negociação e confirme que você leu e entendeu as regras de negociação. +bisqEasy.tradeGuide.open=Abrir guia de negociação + + +################################################################################ +# WalletGuide +################################################################################ + +bisqEasy.walletGuide.open=Abrir guia da carteira + +bisqEasy.walletGuide.tabs.headline=Guia da Carteira +bisqEasy.walletGuide.intro=Introdução +bisqEasy.walletGuide.download=Baixar +bisqEasy.walletGuide.createWallet=Nova carteira +bisqEasy.walletGuide.receive=Recebendo + +bisqEasy.walletGuide.intro.headline=Prepare-se para receber seu primeiro Bitcoin +bisqEasy.walletGuide.intro.content=No Bisq Easy, o Bitcoin que você recebe vai direto para o seu bolso sem intermediários. Isso é uma grande vantagem, mas também significa que você precisa ter uma carteira que você mesmo controle para recebê-lo!\n\nNeste guia rápido de carteira, mostraremos em alguns passos simples como você pode criar uma carteira simples. Com ela, você poderá receber e armazenar seu bitcoin recém-comprado.\n\nSe você já está familiarizado com carteiras on-chain e tem uma, pode pular este guia e simplesmente usar sua carteira. + +bisqEasy.walletGuide.download.headline=Baixando sua carteira +bisqEasy.walletGuide.download.content=Existem muitas Carteiras disponíveis que você pode usar. Neste guia, vamos mostrar como usar o Bluewallet. O Bluewallet é excelente e, ao mesmo tempo, muito simples, e você pode usá-lo para Receber seu Bitcoin do Bisq Easy.\n\nVocê pode baixar o Bluewallet no seu telefone, independentemente de ter um dispositivo Android ou iOS. Para isso, você pode visitar a página oficial em 'bluewallet.io'. Uma vez lá, clique em App Store ou Google Play, dependendo do dispositivo que você está usando.\n\nNota importante: para sua segurança, certifique-se de baixar o aplicativo da loja oficial do seu dispositivo. O aplicativo oficial é fornecido por 'Bluewallet Services, S.R.L.', e você deve conseguir ver isso na sua loja de aplicativos. Baixar uma Carteira maliciosa pode colocar seus fundos em risco.\n\nFinalmente, uma rápida observação: o Bisq não está afiliado ao Bluewallet de nenhuma forma. Sugerimos usar o Bluewallet devido à sua qualidade e simplicidade, mas existem muitas outras opções no mercado. Você deve se sentir absolutamente à vontade para comparar, experimentar e escolher a Carteira que melhor atende às suas necessidades. +bisqEasy.walletGuide.download.link=Clique aqui para visitar a página da Bluewallet + +bisqEasy.walletGuide.createWallet.headline=Criando sua nova carteira +bisqEasy.walletGuide.createWallet.content=A Bluewallet permite que você crie várias carteiras para diferentes propósitos. Por agora, você só precisa ter uma carteira. Uma vez que você entra na Bluewallet, verá uma mensagem sugerindo que adicione uma nova carteira. Uma vez que você fizer isso, insira um nome para sua carteira e escolha a opção *Bitcoin* na seção *Tipo*. Você pode deixar todas as outras opções como estão e clicar em *Criar*.\n\nQuando você passar para a próxima etapa, será apresentado com 12 palavras. Essas 12 palavras são o backup que permite recuperar sua carteira se algo acontecer com seu telefone. Anote-as em um pedaço de papel (não digitalmente) na mesma ordem em que são apresentadas, guarde este papel com segurança e certifique-se de que só você tenha acesso a ele. Você pode ler mais sobre como proteger sua carteira nas seções Aprender do Bisq 2 dedicadas a carteiras e segurança.\n\nUma vez que terminar, clique em 'Ok, eu anotei'.\nParabéns! Você criou sua carteira! Vamos passar para como receber seu bitcoin nela. + +bisqEasy.walletGuide.receive.headline=Recebendo bitcoin em sua carteira +bisqEasy.walletGuide.receive.content=Para receber seu Bitcoin, você precisa de um endereço da sua carteira. Para obtê-lo, clique na sua carteira recém-criada e, em seguida, clique no botão 'Receber' na parte inferior da tela.\n\nA Bluewallet exibirá um endereço não utilizado, tanto como um código QR quanto como texto. Este endereço é o que você precisará fornecer ao seu par no Bisq Easy para que ele possa enviar o Bitcoin que você está comprando. Você pode mover o endereço para o seu PC digitalizando o código QR com uma câmera, enviando o endereço com um e-mail ou mensagem de chat, ou mesmo digitando-o.\n\nUma vez que você concluir a negociação, a Bluewallet notará o Bitcoin entrante e atualizará seu saldo com os novos fundos. Toda vez que você fizer uma nova negociação, obtenha um novo endereço para proteger sua privacidade.\n\nEstes são os fundamentos que você precisa saber para começar a receber Bitcoin em sua própria carteira. Se você quiser aprender mais sobre a Bluewallet, recomendamos conferir os vídeos listados abaixo. +bisqEasy.walletGuide.receive.link1=Tutorial da Bluewallet por Anita Posch +bisqEasy.walletGuide.receive.link2=Tutorial da Bluewallet por BTC Sessions + + +###################################################### +# Offerbook +###################################################### + +bisqEasy.offerbook.markets=Mercados +bisqEasy.offerbook.markets.CollapsedList.Tooltip=Expandir Mercados +bisqEasy.offerbook.markets.ExpandedList.Tooltip=Reduzir Mercados +bisqEasy.offerbook.marketListCell.numOffers.one={0} oferta +bisqEasy.offerbook.marketListCell.numOffers.many={0} ofertas +bisqEasy.offerbook.marketListCell.numOffers.tooltip.none=Ainda não há ofertas disponíveis no mercado {0} +bisqEasy.offerbook.marketListCell.numOffers.tooltip.one={0} oferta está disponível no mercado {1} +bisqEasy.offerbook.marketListCell.numOffers.tooltip.many={0} ofertas estão disponíveis no mercado {1} +bisqEasy.offerbook.marketListCell.favourites.tooltip.addToFavourites=Adicionar aos favoritos +bisqEasy.offerbook.marketListCell.favourites.tooltip.removeFromFavourites=Remover dos favoritos +bisqEasy.offerbook.marketListCell.favourites.maxReached.popup=Há espaço apenas para 5 favoritos. Remova um favorito e tente novamente. + +bisqEasy.offerbook.dropdownMenu.sortAndFilterMarkets.tooltip=Ordenar e filtrar mercados +bisqEasy.offerbook.dropdownMenu.sortAndFilterMarkets.sortTitle=Ordenar por: +bisqEasy.offerbook.dropdownMenu.sortAndFilterMarkets.mostOffers=Mais ofertas +bisqEasy.offerbook.dropdownMenu.sortAndFilterMarkets.nameAZ=Nome A-Z +bisqEasy.offerbook.dropdownMenu.sortAndFilterMarkets.nameZA=Nome Z-A +bisqEasy.offerbook.dropdownMenu.sortAndFilterMarkets.filterTitle=Mostrar mercados: +bisqEasy.offerbook.dropdownMenu.sortAndFilterMarkets.withOffers=Com ofertas +bisqEasy.offerbook.dropdownMenu.sortAndFilterMarkets.favourites=Apenas favoritos +bisqEasy.offerbook.dropdownMenu.sortAndFilterMarkets.all=Todos + +bisqEasy.offerbook.chatMessage.deleteOffer.confirmation=Tem certeza de que deseja excluir esta oferta? +bisqEasy.offerbook.chatMessage.deleteMessage.confirmation=Tem certeza de que deseja excluir esta mensagem? + +bisqEasy.offerbook.offerList=Lista de Ofertas +bisqEasy.offerbook.offerList.collapsedList.tooltip=Expandir Lista de Ofertas +bisqEasy.offerbook.offerList.expandedList.tooltip=Reduzir Lista de Ofertas +bisqEasy.offerbook.offerList.table.columns.peerProfile=Perfil do Par +bisqEasy.offerbook.offerList.table.columns.price=Preço +bisqEasy.offerbook.offerList.table.columns.fiatAmount={0} quantidade +bisqEasy.offerbook.offerList.table.columns.paymentMethod=Método de pagamento +bisqEasy.offerbook.offerList.table.columns.settlementMethod=Método de liquidação +bisqEasy.offerbook.offerList.table.filters.offerDirection.buyFrom=Comprar de +bisqEasy.offerbook.offerList.table.filters.offerDirection.sellTo=Vender para +bisqEasy.offerbook.offerList.table.filters.paymentMethods.title=Payments ({0}) +bisqEasy.offerbook.offerList.table.filters.paymentMethods.title.all=Todos +bisqEasy.offerbook.offerList.table.filters.paymentMethods.customPayments=Pagamentos personalizados +bisqEasy.offerbook.offerList.table.filters.paymentMethods.clearFilters=Limpar filtros +bisqEasy.offerbook.offerList.table.filters.showMyOffersOnly=Apenas minhas ofertas + +bisqEasy.offerbook.offerList.table.columns.price.tooltip.fixPrice=Preço fixo: {0}\nPorcentagem do preço de mercado atual: {1} +bisqEasy.offerbook.offerList.table.columns.price.tooltip.marketPrice=Preço de mercado: {0} +bisqEasy.offerbook.offerList.table.columns.price.tooltip.floatPrice=Preço percentual {0}\nCom o preço de mercado atual: {1} + + +###################################################### +# Open trades +###################################################### + +bisqEasy.openTrades.table.headline=Minhas negociações abertas +bisqEasy.openTrades.noTrades=Você não tem nenhuma negociação aberta +bisqEasy.openTrades.rejectTrade=Rejeitar negociação +bisqEasy.openTrades.cancelTrade=Cancelar negociação +bisqEasy.openTrades.tradeLogMessage.rejected={0} rejeitou a negociação +bisqEasy.openTrades.tradeLogMessage.cancelled={0} cancelou a negociação +bisqEasy.openTrades.rejectTrade.warning=Como a troca de detalhes de conta ainda não começou, rejeitar a negociação não constitui uma violação das regras de negociação.\n\nSe você tiver alguma dúvida ou encontrar problemas, por favor, não hesite em contatar seu par de negociação ou buscar assistência na 'Seção de Suporte'.\n\nVocê tem certeza de que deseja rejeitar a negociação? +bisqEasy.openTrades.cancelTrade.warning.buyer=Como a troca de detalhes de conta já começou, cancelar a negociação sem o consentimento do vendedor {0} +bisqEasy.openTrades.cancelTrade.warning.seller=Como a troca de detalhes de conta já começou, cancelar a negociação sem o consentimento do comprador {0} + +bisqEasy.openTrades.cancelTrade.warning.part2=o consentimento pode ser considerado uma violação das regras de negociação e pode resultar em seu perfil sendo banido da rede.\n\nSe o parceiro de negociação estiver inativo por mais de 24 horas e nenhum pagamento tiver sido feito, você pode rejeitar a negociação sem consequências. A responsabilidade ficará com a parte não responsiva.\n\nSe você tiver alguma dúvida ou encontrar problemas, por favor, não hesite em contatar seu parceiro de negociação ou buscar assistência na 'Seção de Suporte'.\n\nSe você acredita que seu parceiro de negociação violou as regras de negociação, você tem a opção de iniciar um pedido de mediação. Um mediador se juntará ao chat da negociação e trabalhará para encontrar uma solução cooperativa.\n\nVocê tem certeza de que deseja cancelar a negociação? + +bisqEasy.openTrades.closeTrade.warning.interrupted=Antes de fechar a negociação, você pode fazer backup dos dados da negociação como arquivo csv, se necessário.\n\nUma vez que a negociação é fechada, todos os dados relacionados à negociação são excluídos, e você não pode mais se comunicar com o par de negociação no chat de negociação.\n\nVocê quer fechar a negociação agora? + +bisqEasy.openTrades.closeTrade.warning.completed=Sua negociação foi concluída.\n\nAgora você pode fechar a negociação ou fazer backup dos dados da negociação no seu computador, se necessário.\n\nUma vez que a negociação é fechada, todos os dados relacionados à negociação são excluídos, e você não pode mais se comunicar com o par de negociação no chat de negociação. +bisqEasy.openTrades.closeTrade=Fechar negociação +bisqEasy.openTrades.confirmCloseTrade=Confirmar fechamento do comércio +bisqEasy.openTrades.exportTrade=Exportar dados da negociação +bisqEasy.openTrades.reportToMediator=Reportar ao mediador +bisqEasy.openTrades.rejected.self=Você rejeitou a negociação +bisqEasy.openTrades.rejected.peer=Seu par de negociação rejeitou a negociação +bisqEasy.openTrades.cancelled.self=Você cancelou a negociação +bisqEasy.openTrades.cancelled.peer=Seu par de negociação cancelou a negociação +bisqEasy.openTrades.inMediation.info=Um mediador se juntou ao chat de negociação. Por favor, use o chat de negociação abaixo para obter assistência do mediador. +bisqEasy.openTrades.failed=O comércio falhou com a mensagem de erro: {0} +bisqEasy.openTrades.failed.popup=O comércio falhou devido a um erro.\nMensagem de erro: {0}\n\nRastreamento de pilha: {1} +bisqEasy.openTrades.failedAtPeer=O comércio do par falhou com um erro causado por: {0} +bisqEasy.openTrades.failedAtPeer.popup=O comércio do par falhou devido a um erro.\nErro causado por: {0}\n\nRastreamento de pilha: {1} +bisqEasy.openTrades.table.tradePeer=Par +bisqEasy.openTrades.table.me=Eu +bisqEasy.openTrades.table.mediator=Mediador +bisqEasy.openTrades.table.tradeId=ID da Negociação +bisqEasy.openTrades.table.price=Preço +bisqEasy.openTrades.table.baseAmount=Quantia em BTC +bisqEasy.openTrades.table.quoteAmount=Quantia +bisqEasy.openTrades.table.paymentMethod=Pagamento +bisqEasy.openTrades.table.paymentMethod.tooltip=Método de pagamento Fiat: {0} +bisqEasy.openTrades.table.settlementMethod=Liquidação +bisqEasy.openTrades.table.settlementMethod.tooltip=Método de liquidação em Bitcoin: {0} +bisqEasy.openTrades.table.makerTakerRole=Meu papel +bisqEasy.openTrades.table.direction.buyer=Comprando de: +bisqEasy.openTrades.table.direction.seller=Vendendo para: +bisqEasy.openTrades.table.makerTakerRole.maker=Criador +bisqEasy.openTrades.table.makerTakerRole.taker=Aceitador +bisqEasy.openTrades.csv.quoteAmount=Quantidade em {0} +bisqEasy.openTrades.csv.txIdOrPreimage=ID da transação/Pré-imagem +bisqEasy.openTrades.csv.receiverAddressOrInvoice=Endereço do receptor/Fatura +bisqEasy.openTrades.csv.paymentMethod=Método de pagamento + +bisqEasy.openTrades.chat.peer.description=Par do chat +bisqEasy.openTrades.chat.detach=Desanexar +bisqEasy.openTrades.chat.detach.tooltip=Abrir chat em nova janela +bisqEasy.openTrades.chat.attach=Restaurar +bisqEasy.openTrades.chat.attach.tooltip=Restaurar chat para a janela principal +bisqEasy.openTrades.chat.window.title={0} - Chat com {1} / ID da Negociação: {2} +bisqEasy.openTrades.chat.peerLeft.headline={0} saiu do comércio +bisqEasy.openTrades.chat.peerLeft.subHeadline=Se o comércio não estiver concluído do seu lado e você precisar de assistência, entre em contato com o mediador ou visite o chat de suporte. + +###################################################### +# Private chat +###################################################### + +bisqEasy.privateChats.leave=Sair do chat +bisqEasy.privateChats.table.myUser=Meu perfil + + +###################################################### +# Top pane +###################################################### + +# Commented out in code +# suppress inspection "UnusedProperty" +bisqEasy.topPane.filter=Filtrar livro de ofertas +# Commented out in code +# suppress inspection "UnusedProperty" +bisqEasy.topPane.closeFilter=Fechar filtro +bisqEasy.topPane.filter.offersOnly=Mostrar apenas ofertas no livro de ofertas do Bisq Easy + + +################################################################################ +# +# BisqEasyOfferDetails +# +################################################################################ + +bisqEasy.offerDetails.headline=Detalhes da oferta +bisqEasy.offerDetails.buy=Oferta para comprar Bitcoin +bisqEasy.offerDetails.sell=Oferta para vender Bitcoin + +bisqEasy.offerDetails.direction=Tipo de oferta +bisqEasy.offerDetails.baseSideAmount=Quantia de Bitcoin +bisqEasy.offerDetails.quoteSideAmount=Quantia em {0} +bisqEasy.offerDetails.price=Preço da oferta em {0} +bisqEasy.offerDetails.priceValue={0} (prêmio: {1}) +bisqEasy.offerDetails.paymentMethods=Método(s) de pagamento suportados +bisqEasy.offerDetails.id=ID da oferta +bisqEasy.offerDetails.date=Data de criação +bisqEasy.offerDetails.makersTradeTerms=Termos de negociação do criador + + +################################################################################ +# +# OpenTradesWelcome +# +################################################################################ + +bisqEasy.openTrades.welcome.headline=Bem-vindo à sua primeira negociação no Bisq Easy! +bisqEasy.openTrades.welcome.info=Por favor, familiarize-se com o conceito, processo e regras de negociação no Bisq Easy.\nDepois de ler e aceitar as regras de negociação, você pode iniciar a negociação. +bisqEasy.openTrades.welcome.line1=Saiba sobre o modelo de segurança do Bisq Easy +bisqEasy.openTrades.welcome.line2=Veja como funciona o processo de negociação +bisqEasy.openTrades.welcome.line3=Familiarize-se com as regras de negociação + + +################################################################################ +# +# TradeState +# +################################################################################ + +bisqEasy.tradeState.requestMediation=Solicitar mediação +bisqEasy.tradeState.reportToMediator=Relatar ao mediador +bisqEasy.tradeState.acceptOrRejectSellersPrice.title=Atenção à Mudança de Preço! +bisqEasy.tradeState.acceptOrRejectSellersPrice.description.buyersPrice=Seu preço de oferta para comprar Bitcoin foi {0}. +bisqEasy.tradeState.acceptOrRejectSellersPrice.description.sellersPrice=Entretanto, o vendedor está lhe oferecendo um preço diferente: {0}. +bisqEasy.tradeState.acceptOrRejectSellersPrice.description.question=Você deseja aceitar este novo preço ou deseja rejeitar/cancelar* a negociação? +bisqEasy.tradeState.acceptOrRejectSellersPrice.description.disclaimer=(*Observe que neste caso específico, cancelar a negociação NÃO será considerado uma violação das regras de negociação.) +bisqEasy.tradeState.acceptOrRejectSellersPrice.button.accept=Aceitar preço + +# Trade State: Header +bisqEasy.tradeState.header.peer=Parceiro de negociação +bisqEasy.tradeState.header.direction=Eu quero +bisqEasy.tradeState.header.send=Quantia a enviar +bisqEasy.tradeState.header.pay=Quantia a pagar +bisqEasy.tradeState.header.receive=Quantia a receber +bisqEasy.tradeState.header.tradeId=ID de Negociação + +# Trade State: Phase (left side) +bisqEasy.tradeState.phase1=Detalhes da conta +bisqEasy.tradeState.phase2=Pagamento em fiat +bisqEasy.tradeState.phase3=Transferência de Bitcoin +bisqEasy.tradeState.phase4=Negociação concluída + +# Trade State: Info (right side) + +bisqEasy.tradeState.info.phase3b.balance.help.explorerLookup=Procurando transação no explorador de blocos ''{0}'' +bisqEasy.tradeState.info.phase3b.balance.help.notConfirmed=Transação vista no mempool mas ainda não confirmada +bisqEasy.tradeState.info.phase3b.balance.help.confirmed=Transação confirmada +bisqEasy.tradeState.info.phase3b.txId.failed=A busca pela transação em ''{0}'' falhou com {1}: ''{2}'' +bisqEasy.tradeState.info.phase3b.button.skip=Parar de esperar pelo bloco de confirmação + +bisqEasy.tradeState.info.phase3b.balance.invalid.noOutputsForAddress=Nenhuma saída correspondente encontrada na transação +bisqEasy.tradeState.info.phase3b.balance.invalid.multipleOutputsForAddress=Múltiplas saídas correspondentes encontradas na transação +bisqEasy.tradeState.info.phase3b.balance.invalid.amountNotMatching=O valor da saída da transação não corresponde ao valor da negociação + +bisqEasy.tradeState.info.phase3b.button.next=Próximo +bisqEasy.tradeState.info.phase3b.button.next.amountNotMatching=O valor da saída para o endereço ''{0}'' na transação ''{1}'' é ''{2}'', o que não corresponde ao valor da negociação de ''{3}''.\n\nVocê conseguiu resolver esse problema com seu parceiro de negociação?\nCaso contrário, você pode considerar solicitar mediação para ajudar a resolver a questão. +bisqEasy.tradeState.info.phase3b.button.next.noOutputForAddress=Nenhuma saída correspondente ao endereço ''{0}'' na transação ''{1}'' foi encontrada.\n\nVocê conseguiu resolver esse problema com seu parceiro de negociação?\nCaso contrário, você pode considerar solicitar mediação para ajudar a resolver a questão. + +bisqEasy.tradeState.info.phase3b.button.next.amountNotMatching.resolved=Eu resolvi + +bisqEasy.tradeState.info.phase3b.txId=ID da transação +bisqEasy.tradeState.info.phase3b.txId.tooltip=Abrir transação no explorador de blocos +bisqEasy.tradeState.info.phase3b.lightning.preimage=Pré-imagem + +bisqEasy.tradeState.info.phase4.txId.tooltip=Abrir transação no explorador de blocos +bisqEasy.tradeState.info.phase4.exportTrade=Exportar dados da negociação +bisqEasy.tradeState.info.phase4.leaveChannel=Fechar negociação +#################################################################### +# Dynamically created from BitcoinPaymentRail enum name +#################################################################### +# suppress inspection "UnusedProperty" +bisqEasy.tradeState.bitcoinPaymentData.MAIN_CHAIN=Endereço Bitcoin +# suppress inspection "UnusedProperty" +bisqEasy.tradeState.bitcoinPaymentData.LN=Fatura Lightning +# suppress inspection "UnusedProperty" +bisqEasy.tradeState.paymentProof.MAIN_CHAIN=ID da transação +# suppress inspection "UnusedProperty" +bisqEasy.tradeState.paymentProof.LN=Pré-imagem + + +# Trade State Info: Buyer +#################################################################### +# Dynamically created from BitcoinPaymentRail enum name +#################################################################### +# suppress inspection "UnusedProperty" +bisqEasy.tradeState.info.buyer.phase1a.bitcoinPayment.headline.MAIN_CHAIN=Insira seu endereço Bitcoin +# suppress inspection "UnusedProperty" +bisqEasy.tradeState.info.buyer.phase1a.bitcoinPayment.description.MAIN_CHAIN=Endereço Bitcoin +# suppress inspection "UnusedProperty" +bisqEasy.tradeState.info.buyer.phase1a.bitcoinPayment.prompt.MAIN_CHAIN=Insira seu endereço Bitcoin +# suppress inspection "UnusedProperty" +bisqEasy.tradeState.info.buyer.phase1a.tradeLogMessage.MAIN_CHAIN={0} enviou o endereço Bitcoin ''{1}'' +# suppress inspection "UnusedProperty" +bisqEasy.tradeState.info.buyer.phase1a.bitcoinPayment.headline.LN=Preencha sua fatura Lightning +# suppress inspection "UnusedProperty" +bisqEasy.tradeState.info.buyer.phase1a.bitcoinPayment.description.LN=Fatura Lightning +# suppress inspection "UnusedProperty" +bisqEasy.tradeState.info.buyer.phase1a.bitcoinPayment.prompt.LN=Preencha sua fatura Lightning +# suppress inspection "UnusedProperty" +bisqEasy.tradeState.info.buyer.phase1a.tradeLogMessage.LN={0} enviou a fatura Lightning ''{1}'' + +bisqEasy.tradeState.info.buyer.phase1a.bitcoinPayment.walletHelp=Se você ainda não configurou uma carteira, pode encontrar ajuda no guia da carteira +bisqEasy.tradeState.info.buyer.phase1a.walletHelpButton=Abrir guia da carteira +bisqEasy.tradeState.info.buyer.phase1a.send=Enviar ao vendedor +bisqEasy.tradeState.info.buyer.phase1a.scanQrCode.tooltip=Escaneie o código QR usando sua webcam +bisqEasy.tradeState.info.buyer.phase1a.scanQrCode.webcamState.description=Estado da conexão da webcam +bisqEasy.tradeState.info.buyer.phase1a.scanQrCode.webcamState.connecting=Conectando à webcam... +bisqEasy.tradeState.info.buyer.phase1a.scanQrCode.webcamState.imageRecognized=Webcam conectada +bisqEasy.tradeState.info.buyer.phase1a.scanQrCode.webcamState.failed=Falha ao conectar à webcam +bisqEasy.tradeState.info.buyer.phase1b.headline=Aguarde os dados da conta de pagamento do vendedor +bisqEasy.tradeState.info.buyer.phase1b.info=Você pode usar o chat abaixo para entrar em contato com o vendedor. + +bisqEasy.tradeState.info.buyer.phase2a.headline=Enviar {0} para a conta de pagamento do vendedor +bisqEasy.tradeState.info.buyer.phase2a.quoteAmount=Quantia a transferir +bisqEasy.tradeState.info.buyer.phase2a.sellersAccount=Conta de pagamento do vendedor +bisqEasy.tradeState.info.buyer.phase2a.reasonForPaymentInfo=Por favor, deixe o campo 'Motivo do pagamento' em branco, caso faça uma transferência bancária +bisqEasy.tradeState.info.buyer.phase2a.confirmFiatSent=Confirmar pagamento de {0} +bisqEasy.tradeState.info.buyer.phase2a.tradeLogMessage={0} iniciou o pagamento {1} + +bisqEasy.tradeState.info.buyer.phase2b.headline=Aguardar o vendedor confirmar o recebimento do pagamento +bisqEasy.tradeState.info.buyer.phase2b.info=Uma vez que o vendedor receber o seu pagamento de {0}, ele iniciará o pagamento em Bitcoin para o seu {1} fornecido. + +bisqEasy.tradeState.info.buyer.phase3a.headline=Aguardar o pagamento em Bitcoin do vendedor +bisqEasy.tradeState.info.buyer.phase3a.info=O vendedor precisa iniciar o pagamento em Bitcoin para o seu {0} fornecido. +bisqEasy.tradeState.info.buyer.phase3b.headline.ln=O vendedor enviou o Bitcoin via rede Lightning +bisqEasy.tradeState.info.buyer.phase3b.info.ln=A transferência via rede Lightning é geralmente quase instantânea.\nSe você não recebeu o pagamento após 1 minuto, entre em contato com o vendedor no chat de negociação. Em alguns casos, os pagamentos falham e precisam ser repetidos. +bisqEasy.tradeState.info.buyer.phase3b.confirmButton.ln=Confirmar recebimento +bisqEasy.tradeState.info.buyer.phase3b.tradeLogMessage.ln={0} confirmou ter recebido o pagamento em Bitcoin +bisqEasy.tradeState.info.buyer.phase3b.headline.MAIN_CHAIN=O vendedor iniciou o pagamento em Bitcoin +bisqEasy.tradeState.info.buyer.phase3b.info.MAIN_CHAIN=Assim que a transação Bitcoin for visível na rede Bitcoin, você verá o pagamento. Após 1 confirmação na blockchain, o pagamento pode ser considerado concluído. +bisqEasy.tradeState.info.buyer.phase3b.balance=Bitcoin recebido +bisqEasy.tradeState.info.buyer.phase3b.balance.prompt=Aguardando dados da blockchain... + +# Trade State Info: Seller +bisqEasy.tradeState.info.seller.phase1.headline=Envie seus dados de conta de pagamento para o comprador +bisqEasy.tradeState.info.seller.phase1.accountData=Meus dados de conta de pagamento +bisqEasy.tradeState.info.seller.phase1.accountData.prompt=Insira seus dados de conta de pagamento. Ex: IBAN, BIC e nome do titular da conta +bisqEasy.tradeState.info.seller.phase1.buttonText=Enviar dados da conta +bisqEasy.tradeState.info.seller.phase1.note=Nota: Você pode usar o chat abaixo para entrar em contato com o comprador antes de revelar seus dados da conta. +bisqEasy.tradeState.info.seller.phase1.tradeLogMessage={0} enviou os dados da conta de pagamento:\n{1} + +bisqEasy.tradeState.info.seller.phase2a.waitForPayment.headline=Aguarde o pagamento de {0} do comprador +bisqEasy.tradeState.info.seller.phase2a.waitForPayment.info=Assim que o comprador iniciar o pagamento de {0}, você será notificado. + +bisqEasy.tradeState.info.seller.phase2b.headline=Verifique se você recebeu {0} +bisqEasy.tradeState.info.seller.phase2b.info=Visite sua conta bancária ou aplicativo de provedor de pagamento para confirmar o recebimento do pagamento do comprador. + +bisqEasy.tradeState.info.seller.phase2b.fiatReceivedButton=Confirmar recebimento de {0} +bisqEasy.tradeState.info.seller.phase2b.tradeLogMessage={0} confirmou o recebimento de {1} + +bisqEasy.tradeState.info.seller.phase3a.fiatPaymentReceivedCheckBox=Confirmei ter recebido {0} +bisqEasy.tradeState.info.seller.phase3a.sendBtc=Enviar {0} para o comprador +bisqEasy.tradeState.info.seller.phase3a.baseAmount=Quantia a enviar +bisqEasy.tradeState.info.seller.phase3a.qrCodeDisplay.openWindow=Abrir exibição maior +bisqEasy.tradeState.info.seller.phase3a.qrCodeDisplay.window.title=Escanear código QR para a negociação ''{0}'' +bisqEasy.tradeState.info.seller.phase3b.headline.MAIN_CHAIN=Aguardando confirmação na blockchain +bisqEasy.tradeState.info.seller.phase3b.info.MAIN_CHAIN=O pagamento em Bitcoin requer pelo menos 1 confirmação na blockchain para ser considerado concluído. +bisqEasy.tradeState.info.seller.phase3b.balance=Pagamento em Bitcoin +bisqEasy.tradeState.info.seller.phase3b.balance.prompt=Aguardando dados da blockchain... + +#################################################################### +# Dynamically created from BitcoinPaymentRail enum name +#################################################################### +# suppress inspection "UnusedProperty" +bisqEasy.tradeState.info.seller.phase3a.bitcoinPayment.description.MAIN_CHAIN=Endereço Bitcoin +# suppress inspection "UnusedProperty" +bisqEasy.tradeState.info.seller.phase3a.paymentProof.description.MAIN_CHAIN=ID da transação +# suppress inspection "UnusedProperty" +bisqEasy.tradeState.info.seller.phase3a.paymentProof.prompt.MAIN_CHAIN=Insira o ID da transação Bitcoin +# suppress inspection "UnusedProperty" +bisqEasy.tradeState.info.seller.phase3a.tradeLogMessage.paymentProof.MAIN_CHAIN=ID da transação +# suppress inspection "UnusedProperty" +bisqEasy.tradeState.info.seller.phase3a.bitcoinPayment.description.LN=Fatura Lightning +# suppress inspection "UnusedProperty" +bisqEasy.tradeState.info.seller.phase3a.paymentProof.description.LN=Preimagem (opcional) +# suppress inspection "UnusedProperty" +bisqEasy.tradeState.info.seller.phase3a.paymentProof.prompt.LN=Preencha a preimagem, se disponível +# suppress inspection "UnusedProperty" +bisqEasy.tradeState.info.seller.phase3a.tradeLogMessage.paymentProof.LN=Preimagem + +bisqEasy.tradeState.info.seller.phase3a.btcSentButton=Confirmei ter enviado {0} +bisqEasy.tradeState.info.seller.phase3a.tradeLogMessage={0} iniciou o pagamento em Bitcoin. {1}: ''{2}'' +bisqEasy.tradeState.info.seller.phase3a.tradeLogMessage.noProofProvided={0} iniciou o pagamento em Bitcoin. + +# suppress inspection "UnusedProperty" +bisqEasy.tradeState.info.seller.phase3a.paymentProof.warning.MAIN_CHAIN=O ID da transação que você inseriu parece ser inválido.\n\nSe você tiver certeza de que o ID da transação é válido, pode ignorar este aviso e prosseguir. +# suppress inspection "UnusedProperty" +bisqEasy.tradeState.info.seller.phase3a.paymentProof.warning.LN=A preimagem que você inseriu parece ser inválida.\n\nSe você tiver certeza de que a preimagem é válida, pode ignorar este aviso e prosseguir. +bisqEasy.tradeState.info.seller.phase3a.paymentProof.warning.proceed=Ignorar aviso + +bisqEasy.tradeState.info.seller.phase3b.headline.ln=Aguarde a confirmação do recebimento do Bitcoin pelo comprador +bisqEasy.tradeState.info.seller.phase3b.info.ln=As transferências via a Lightning Network são geralmente quase instantâneas e confiáveis. No entanto, em alguns casos, os pagamentos podem falhar e precisar ser repetidos.\n\nPara evitar quaisquer problemas, por favor, aguarde o comprador confirmar o recebimento no chat de negociação antes de fechar o trade, pois a comunicação não será mais possível após isso. +bisqEasy.tradeState.info.seller.phase3b.confirmButton.ln=Concluir trade + + +###################################################### +# Trade Completed Table +##################################################### + +bisqEasy.tradeCompleted.title=Negociação concluída com sucesso +bisqEasy.tradeCompleted.tableTitle=Resumo +bisqEasy.tradeCompleted.header.tradeWith=Negociar com +bisqEasy.tradeCompleted.header.myDirection.seller=Eu vendi +bisqEasy.tradeCompleted.header.myDirection.buyer=Eu comprei +bisqEasy.tradeCompleted.header.myDirection.btc=btc +bisqEasy.tradeCompleted.header.myOutcome.seller=Eu recebi +bisqEasy.tradeCompleted.header.myOutcome.buyer=Eu paguei +bisqEasy.tradeCompleted.header.paymentMethod=Método de pagamento +bisqEasy.tradeCompleted.header.tradeId=ID de Negociação +bisqEasy.tradeCompleted.body.date=Data +bisqEasy.tradeCompleted.body.tradePrice=Preço de negociação +bisqEasy.tradeCompleted.body.tradeFee=Taxa de negociação +bisqEasy.tradeCompleted.body.tradeFee.value=Sem taxas de negociação no Bisq Easy +bisqEasy.tradeCompleted.body.copy.txId.tooltip=Copiar ID de Transação para a área de transferência +bisqEasy.tradeCompleted.body.copy.explorerLink.tooltip=Copiar link da transação do explorador de blocos +bisqEasy.tradeCompleted.body.txId.tooltip=Abrir explorador de blocos para a transação + + +################################################################################ +# +# Mediation +# +################################################################################ + +bisqEasy.mediation.request.confirm.headline=Solicitar mediação +bisqEasy.mediation.request.confirm.msg=Se você tem problemas que não pode resolver com seu parceiro de negociação, você pode solicitar assistência de um mediador.\n\nPor favor, não solicite mediação para perguntas gerais. Na seção de suporte, há salas de chat onde você pode obter conselhos gerais e ajuda. +bisqEasy.mediation.request.confirm.openMediation=Abrir mediação +bisqEasy.mediation.request.feedback.headline=Mediação solicitada +bisqEasy.mediation.request.feedback.msg=Uma solicitação foi enviada aos mediadores registrados.\n\nPor favor, tenha paciência até que um mediador esteja online para se juntar ao chat de negociação e ajudar a resolver quaisquer problemas. +bisqEasy.mediation.request.feedback.noMediatorAvailable=Não há mediador disponível. Por favor, use o chat de suporte em vez disso. +bisqEasy.mediation.requester.tradeLogMessage={0} solicitou mediação diff --git a/pocs/android_only_m2_j17jars/app/src/main/resources/chat.properties b/pocs/android_only_m2_j17jars/app/src/main/resources/chat.properties new file mode 100644 index 00000000..215d78ab --- /dev/null +++ b/pocs/android_only_m2_j17jars/app/src/main/resources/chat.properties @@ -0,0 +1,282 @@ +#################################################################### +# +# Chat module +# +#################################################################### + +chat.privateChannel.message.leave={0} left that chat + +#################################################################### +# Notifications +#################################################################### + +chat.notifications.privateMessage.headline=Private message +chat.notifications.offerTaken.title=Your offer was taken by {0} +chat.notifications.offerTaken.message=Trade ID: {0} + +#################################################################### +# Dynamically created from ChatChannelDomain enum name +#################################################################### + +# suppress inspection "UnusedProperty" +chat.channelDomain.BISQ_EASY_OFFERBOOK=Bisq Easy +# suppress inspection "UnusedProperty" +chat.channelDomain.BISQ_EASY_OPEN_TRADES=Bisq Easy trade +# suppress inspection "UnusedProperty" +chat.channelDomain.BISQ_EASY_PRIVATE_CHAT=Bisq Easy +# suppress inspection "UnusedProperty" +chat.channelDomain.DISCUSSION=Discussions +# suppress inspection "UnusedProperty" +chat.channelDomain.EVENTS=Events +# suppress inspection "UnusedProperty" +chat.channelDomain.SUPPORT=Support + + +#################################################################### +# Channels +#################################################################### + +## Channel id is used for creating dynamically the key +# suppress inspection "UnusedProperty" +discussion.bisq.title=Discussions +# suppress inspection "UnusedProperty" +discussion.bisq.description=Public channel for discussions +# suppress inspection "UnusedProperty" +discussion.bitcoin.title=Bitcoin +# suppress inspection "UnusedProperty" +discussion.bitcoin.description=Channel for discussions about Bitcoin +# suppress inspection "UnusedProperty" +discussion.markets.title=Markets +# suppress inspection "UnusedProperty" +discussion.markets.description=Channel for discussions about markets and price +# suppress inspection "UnusedProperty" +discussion.offTopic.title=Off-topic +# suppress inspection "UnusedProperty" +discussion.offTopic.description=Channel for off-topic talk + +# suppress inspection "UnusedProperty" +events.conferences.title=Conferences +# suppress inspection "UnusedProperty" +events.conferences.description=Channel for announcements for conferences +# suppress inspection "UnusedProperty" +events.meetups.title=Meetups +# suppress inspection "UnusedProperty" +events.meetups.description=Channel for announcements for meetups +# suppress inspection "UnusedProperty" +events.podcasts.title=Podcasts +# suppress inspection "UnusedProperty" +events.podcasts.description=Channel for announcements for podcasts +# suppress inspection "UnusedProperty" +events.tradeEvents.title=Trade +# suppress inspection "UnusedProperty" +events.tradeEvents.description=Channel for announcements for trade events + +# suppress inspection "UnusedProperty" +support.support.title=Assistance +# suppress inspection "UnusedProperty" +support.support.description=Channel for support questions +# suppress inspection "UnusedProperty" +support.questions.title=Assistance +# suppress inspection "UnusedProperty" +support.questions.description=Channel for transaction assistance +# suppress inspection "UnusedProperty" +support.reports.title=Report +# suppress inspection "UnusedProperty" +support.reports.description=Channel for incident and fraud report + + +################################################################################ +# +# Desktop module +# +################################################################################ + +chat.leave=Click here to leave +chat.leave.info=You are about to leave this chat. +chat.leave.confirmLeaveChat=Leave chat +chat.messagebox.noChats.placeholder.title=Start the conversation! +chat.messagebox.noChats.placeholder.description=Join the discussion on {0} to share your thoughts and ask questions. +chat.ignoreUser.warn=Selecting 'Ignore user' will effectively hide all messages from this user.\n\n\ + This action will take effect the next time you enter the chat.\n\n\ + To reverse this, go to the more options menu > Channel Info > Participants and select 'Undo ignore' next to the user. +chat.ignoreUser.confirm=Ignore user + + +###################################################### +# Private chats +###################################################### + +chat.private.title=Private chats +chat.private.messagebox.noChats.title={0} private chats +chat.private.messagebox.noChats.placeholder.title=You don't have any ongoing conversations +chat.private.messagebox.noChats.placeholder.description=To chat with a peer privately, hover over their message in a\n\ + public chat and click 'Send private message'. +chat.private.openChatsList.headline=Chat peers +chat.private.leaveChat.confirmation=Are you sure you want to leave this chat?\n\ + You will lose access to the chat and all the chat information. + + +###################################################### +# Top menu +###################################################### + +chat.topMenu.tradeGuide.tooltip=Open trade guide +chat.topMenu.chatRules.tooltip=Open chat rules + + +###################################################### +# Chat menus +###################################################### + +chat.ellipsisMenu.tooltip=More options +chat.ellipsisMenu.chatRules=Chat rules +chat.ellipsisMenu.channelInfo=Channel info +chat.ellipsisMenu.tradeGuide=Trade guide + +chat.notificationsSettingsMenu.title=Notification options: +chat.notificationsSettingsMenu.tooltip=Notification options +chat.notificationsSettingsMenu.globalDefault=Use default +chat.notificationsSettingsMenu.all=All messages +chat.notificationsSettingsMenu.mention=If mentioned +chat.notificationsSettingsMenu.off=Off + + +###################################################### +# Chat rules +###################################################### + +chat.chatRules.headline=Chat rules +chat.chatRules.content=\ + - Be respectful: Treat others kindly, avoid offensive language, personal attacks, and harassment.\ + - Be tolerant: Keep an open mind and accept that others might have different views, cultural background and experiences.\ + - No spamming: Refrain from flooding the chat with repetitive or irrelevant messages.\ + - No advertising: Avoid promoting commercial products, services, or posting promotional links.\ + - No trolling: Disruptive behavior and intentional provocation are not welcome.\ + - No impersonation: Do not use nicknames that mislead others into thinking you are a well-known person.\ + - Respect privacy: Protect your and others' privacy; don't share trade details.\ + - Report misconduct: Report rule violations or inappropriate behavior to the moderator.\ + - Enjoy the chat: Engage in meaningful discussions, make friends, and have fun in a friendly and \ + inclusive community.\n\n\ + By participating in the chat, you agree to follow these rules.\n\ + Severe rule violations may lead to a ban from the Bisq network. + + +#################################################################### +# Sidebar / user profile +#################################################################### + +chat.sideBar.userProfile.headline=User profile +chat.sideBar.userProfile.nym=Bot id +chat.sideBar.userProfile.id=User id +chat.sideBar.userProfile.transportAddress=Transport address +chat.sideBar.userProfile.totalReputationScore=Total reputation score +chat.sideBar.userProfile.profileAge=Profile age +chat.sideBar.userProfile.livenessState=Last user activity +chat.sideBar.userProfile.version=Version +chat.sideBar.userProfile.statement=Statement +chat.sideBar.userProfile.terms=Trade terms +chat.sideBar.userProfile.sendPrivateMessage=Send private message +chat.sideBar.userProfile.mention=Mention +chat.sideBar.userProfile.ignore=Ignore +chat.sideBar.userProfile.undoIgnore=Undo ignore +chat.sideBar.userProfile.report=Report to moderator + + +#################################################################### +# Sidebar / channel info +#################################################################### + +chat.sideBar.channelInfo.notification.options=Notification options +chat.sideBar.channelInfo.notifications.globalDefault=Use default +chat.sideBar.channelInfo.notifications.all=All messages +chat.sideBar.channelInfo.notifications.mention=If mentioned +chat.sideBar.channelInfo.notifications.off=Off +chat.sideBar.channelInfo.participants=Participants + + +#################################################################### +# Report to moderator window +#################################################################### + +chat.reportToModerator.headline=Report to moderator +chat.reportToModerator.info=Please make yourself familiar with the trade rules and be sure the reason for reporting is considered a violation of those rules.\n\ + You can read up the trade rules and chat rules when clicking on the question mark icon in the top-right corner at the chat screens. +chat.reportToModerator.message=Message to moderator +chat.reportToModerator.message.prompt=Enter message to moderator +chat.reportToModerator.report=Report to moderator + + +#################################################################### +# Chat message display +#################################################################### + +chat.message.input.prompt=Type a new message +chat.message.input.send=Send message +chat.message.wasEdited=(edited) +chat.message.privateMessage=Send private message +chat.message.reply=Reply +chat.message.moreOptions=More options +chat.message.supportedLanguages=Supported languages: +chat.message.supportedLanguages.Tooltip=Supported languages + +# suppress inspection "UnusedProperty" +chat.message.deliveryState.CONNECTING=Connecting to peer. +# suppress inspection "UnusedProperty" +chat.message.deliveryState.SENT=Message sent (receipt not confirmed yet). +# suppress inspection "UnusedProperty" +chat.message.deliveryState.ACK_RECEIVED=Message receipt acknowledged. +# suppress inspection "UnusedProperty" +chat.message.deliveryState.TRY_ADD_TO_MAILBOX=Trying to add message to peer's mailbox. +# suppress inspection "UnusedProperty" +chat.message.deliveryState.ADDED_TO_MAILBOX=Message added to peer's mailbox. +# suppress inspection "UnusedProperty" +chat.message.deliveryState.MAILBOX_MSG_RECEIVED=Peer has downloaded mailbox message. +# suppress inspection "UnusedProperty" +chat.message.deliveryState.FAILED=Sending message failed. +chat.message.resendMessage=Click to resend the message. + +chat.message.contextMenu.ignoreUser=Ignore user +chat.message.contextMenu.reportUser=Report user to moderator + +chat.message.takeOffer.seller.myReputationScoreTooLow.headline=Your reputation score is too low for taking that offer +chat.message.takeOffer.seller.myReputationScoreTooLow.warning=Your reputation score is {0} and below the required reputation score of {1} for the trade amount of {2}.\n\n\ + The security model of Bisq Easy is based on the seller''s reputation.\n\ + To learn more about the reputation system, visit: [HYPERLINK:https://bisq.wiki/Reputation].\n\n\ + You can read more about how to build up your reputation at ''Reputation/Build Reputation''. + +chat.message.takeOffer.buyer.makersReputationScoreTooLow.headline=Security warning +chat.message.takeOffer.buyer.makersReputationScoreTooLow.warning=The seller''s reputation score of {0} is below the required score of {1} for a trade amount of {2}.\n\n\ + Bisq Easy''s security model relies on the seller''s reputation as the buyer need to send the fiat currency first. \ + If you choose to proceed with taking the offer despite the lack of reputation, ensure you fully understand the risks involved.\n\n\ + To learn more about the reputation system, visit: [HYPERLINK:https://bisq.wiki/Reputation].\n\n\ + Do you want to continue and take that offer? + +chat.message.takeOffer.buyer.makersReputationScoreTooLow.yes=Yes, I understand the risk and want to continue +chat.message.takeOffer.buyer.makersReputationScoreTooLow.no=No, I look for another offer + +chat.message.takeOffer.buyer.makersReputationTooLowButInLowAmountTolerance.headline=Please review the risks when taking that offer +chat.message.takeOffer.buyer.makersReputationTooLowButInLowAmountTolerance.warning=The seller''s reputation score is {0}, \ + which is below the required score of {1} for a trade amount of {2}.\n\n\ + Since the trade amount is relatively low, the reputation requirements have been relaxed. \ + However, if you choose to proceed despite the seller''s insufficient reputation, make sure you fully understand the associated risks. \ + Bisq Easy''s security model depends on the seller''s reputation, as the buyer is required to send fiat currency first.\n\n\ + To learn more about the reputation system, visit: [HYPERLINK:https://bisq.wiki/Reputation].\n\n\ + Do you still want to take the offer? +chat.message.takeOffer.buyer.makersReputationTooLowButInLowAmountTolerance.yes=Yes, I understand the risk and want to continue +chat.message.takeOffer.buyer.makersReputationTooLowButInLowAmountTolerance.no=No, I look for another offer + +chat.message.offer.offerAlreadyTaken.warn=You have already taken that offer. +chat.message.delete.differentUserProfile.warn=This chat message was created with another user profile.\n\n\ + Do you want to delete the message? +chat.message.send.differentUserProfile.warn=You have used another user profile in that channel.\n\n\ + Are you sure you want to send that message with the currently selected user profile? +chat.privateChannel.changeUserProfile.warn=You are in a private chat channel which was created with user profile ''{0}''.\n\n\ + You cannot change the user profile while being in that chat channel. +chat.message.send.offerOnly.warn=You have the 'Offers only' option selected. \ + Normal text messages will not be displayed in that mode.\n\n\ + Do you want to change the mode to see all messages? + +chat.message.citation.headline=Replying to: +chat.message.reactionPopup=reacted with +chat.listView.scrollDown=Scroll down +chat.listView.scrollDown.newMessages=Scroll down to read new messages diff --git a/pocs/android_only_m2_j17jars/app/src/main/resources/chat_cs.properties b/pocs/android_only_m2_j17jars/app/src/main/resources/chat_cs.properties new file mode 100644 index 00000000..955a2e03 --- /dev/null +++ b/pocs/android_only_m2_j17jars/app/src/main/resources/chat_cs.properties @@ -0,0 +1,247 @@ +#################################################################### +# +# Chat module +# +#################################################################### + +chat.privateChannel.message.leave={0} opustil/a tento chat + +#################################################################### +# Notifications +#################################################################### + +chat.notifications.privateMessage.headline=Soukromá zpráva +chat.notifications.offerTaken.title=Vaše nabídka byla přijata uživatelem {0} +chat.notifications.offerTaken.message=ID obchodu: {0} + +#################################################################### +# Dynamically created from ChatChannelDomain enum name +#################################################################### + +# suppress inspection "UnusedProperty" +chat.channelDomain.BISQ_EASY_OFFERBOOK=Bisq Easy +# suppress inspection "UnusedProperty" +chat.channelDomain.BISQ_EASY_OPEN_TRADES=Bisq Easy obchod +# suppress inspection "UnusedProperty" +chat.channelDomain.BISQ_EASY_PRIVATE_CHAT=Bisq Easy +# suppress inspection "UnusedProperty" +chat.channelDomain.DISCUSSION=Diskuze +# suppress inspection "UnusedProperty" +chat.channelDomain.EVENTS=Události +# suppress inspection "UnusedProperty" +chat.channelDomain.SUPPORT=Podpora + + +#################################################################### +# Channels +#################################################################### + +## Channel id is used for creating dynamically the key +# suppress inspection "UnusedProperty" +discussion.bisq.title=Diskuze +# suppress inspection "UnusedProperty" +discussion.bisq.description=Veřejný kanál pro diskuse +# suppress inspection "UnusedProperty" +discussion.bitcoin.title=Bitcoin +# suppress inspection "UnusedProperty" +discussion.bitcoin.description=Kanál pro diskuse o Bitcoinu +# suppress inspection "UnusedProperty" +discussion.markets.title=Trhy +# suppress inspection "UnusedProperty" +discussion.markets.description=Kanál pro diskuse o trzích a cenách +# suppress inspection "UnusedProperty" +discussion.offTopic.title=Mimo téma +# suppress inspection "UnusedProperty" +discussion.offTopic.description=Kanál pro neformální rozhovory + +# suppress inspection "UnusedProperty" +events.conferences.title=Konference +# suppress inspection "UnusedProperty" +events.conferences.description=Kanál pro oznámení konferencí +# suppress inspection "UnusedProperty" +events.meetups.title=Setkání +# suppress inspection "UnusedProperty" +events.meetups.description=Kanál pro oznámení setkání +# suppress inspection "UnusedProperty" +events.podcasts.title=Podcasty +# suppress inspection "UnusedProperty" +events.podcasts.description=Kanál pro oznámení podcastů +# suppress inspection "UnusedProperty" +events.tradeEvents.title=Obchod +# suppress inspection "UnusedProperty" +events.tradeEvents.description=Kanál pro oznámení obchodních událostí + +# suppress inspection "UnusedProperty" +support.support.title=Pomoc +# suppress inspection "UnusedProperty" +support.support.description=Kanál pro všeobecnou podporu +# suppress inspection "UnusedProperty" +support.questions.title=Otázky +# suppress inspection "UnusedProperty" +support.questions.description=Kanál pro obecné otázky +# suppress inspection "UnusedProperty" +support.reports.title=Asistence +# suppress inspection "UnusedProperty" +support.reports.description=Kanál pro asistenci při transakcích + + +################################################################################ +# +# Desktop module +# +################################################################################ + +chat.leave=Klikněte zde pro opuštění +chat.leave.info=Chystáte se opustit tento chat. +chat.leave.confirmLeaveChat=Opustit chat +chat.messagebox.noChats.placeholder.title=Začněte konverzaci! +chat.messagebox.noChats.placeholder.description=Přidejte se k diskuzi na {0}, abyste sdíleli své myšlenky a pokládali otázky. +chat.ignoreUser.warn=Vybrání možnosti 'Ignorovat uživatele' efektivně skryje všechny zprávy od tohoto uživatele.\n\nTato akce bude mít účinek až při dalším vstupu do chatu.\n\nPro zrušení této akce přejděte do menu s dalšími možnostmi > Informace o kanálu > Účastníci a vyberte možnost 'Zrušit ignorování' vedle uživatele. +chat.ignoreUser.confirm=Ignorovat uživatele + + +###################################################### +# Private chats +###################################################### + +chat.private.title=Soukromé chaty +chat.private.messagebox.noChats.title={0} soukromé chaty +chat.private.messagebox.noChats.placeholder.title=Nemáte žádné probíhající konverzace +chat.private.messagebox.noChats.placeholder.description=Pro soukromou komunikaci s uživatelem najedete na jeho zprávu v\nveřejném chatu a klikněte na 'Poslat soukromou zprávu'. +chat.private.openChatsList.headline=Chatovací partneři +chat.private.leaveChat.confirmation=Opravdu chcete tento chat opustit?\nZtratíte přístup k chatu a veškeré informace o chatu. + + +###################################################### +# Top menu +###################################################### + +chat.topMenu.tradeGuide.tooltip=Otevřít průvodce obchodováním +chat.topMenu.chatRules.tooltip=Otevřít pravidla chatu + + +###################################################### +# Chat menus +###################################################### + +chat.ellipsisMenu.tooltip=Další možnosti +chat.ellipsisMenu.chatRules=Pravidla chatu +chat.ellipsisMenu.channelInfo=Informace o kanálu +chat.ellipsisMenu.tradeGuide=Průvodce obchodováním + +chat.notificationsSettingsMenu.title=Možnosti oznámení: +chat.notificationsSettingsMenu.tooltip=Možnosti oznámení +chat.notificationsSettingsMenu.globalDefault=Použít výchozí +chat.notificationsSettingsMenu.all=Všechny zprávy +chat.notificationsSettingsMenu.mention=Pokud jsem zmíněn +chat.notificationsSettingsMenu.off=Vypnuto + + +###################################################### +# Chat rules +###################################################### + +chat.chatRules.headline=Pravidla chatu +chat.chatRules.content=- Buďte respektující: Zacházejte s ostatními laskavě, vyhýbejte se urážlivému jazyku, osobním útokům a obtěžování.- Buďte tolerantní: Buďte otevření a přijímejte, že ostatní mohou mít odlišné názory, kulturní zázemí a zkušenosti.- Žádný spam: Vyvarujte se zaplavování chatu opakujícími se nebo irelevantními zprávami.- Žádná reklama: Vyhněte se propagaci komerčních produktů, služeb nebo umísťování propagačních odkazů.- Žádný trolling: Rušivé chování a úmyslné provokace nejsou vítány.- Žádné napodobování: Nepoužívejte přezdívky, které by mohly vést k mylné domněnce, že jste známá osoba.- Respektujte soukromí: Chraňte své i cizí soukromí; nesdílejte detaily obchodů.- Hlašte nesprávné chování: Hlaste porušení pravidel nebo nevhodné chování moderátorovi.- Užijte si chat: Zapojte se do smysluplných diskusí, najděte přátele a bavte se v přátelské a inkluzivní komunitě.\n\nÚčastí na chatu souhlasíte s dodržováním těchto pravidel.\nZávažná porušení pravidel mohou vést k zákazu v síti Bisq. + + +#################################################################### +# Sidebar / user profile +#################################################################### + +chat.sideBar.userProfile.headline=Uživatelský profil +chat.sideBar.userProfile.nym=ID bota +chat.sideBar.userProfile.id=ID uživatele +chat.sideBar.userProfile.transportAddress=Transportní adresa +chat.sideBar.userProfile.totalReputationScore=Celkové skóre reputace +chat.sideBar.userProfile.profileAge=Stáří profilu +chat.sideBar.userProfile.livenessState=Poslední aktivita uživatele +chat.sideBar.userProfile.version=Verze +chat.sideBar.userProfile.statement=Prohlášení +chat.sideBar.userProfile.terms=Obchodní podmínky +chat.sideBar.userProfile.sendPrivateMessage=Poslat soukromou zprávu +chat.sideBar.userProfile.mention=Zmínka +chat.sideBar.userProfile.ignore=Ignorovat +chat.sideBar.userProfile.undoIgnore=Zrušit ignorování +chat.sideBar.userProfile.report=Nahlásit moderátorovi + + +#################################################################### +# Sidebar / channel info +#################################################################### + +chat.sideBar.channelInfo.notification.options=Možnosti oznámení +chat.sideBar.channelInfo.notifications.globalDefault=Použít výchozí +chat.sideBar.channelInfo.notifications.all=Všechny zprávy +chat.sideBar.channelInfo.notifications.mention=Při zmínce +chat.sideBar.channelInfo.notifications.off=Vypnuto +chat.sideBar.channelInfo.participants=Účastníci + + +#################################################################### +# Report to moderator window +#################################################################### + +chat.reportToModerator.headline=Nahlásit moderátorovi +chat.reportToModerator.info=Seznamte se prosím s obchodními pravidly a ujistěte se, že důvod hlášení je považován za porušení těchto pravidel.\nPravidla obchodování a chatu můžete přečíst kliknutím na ikonu otazníku v pravém horním rohu obrazovek chatu. +chat.reportToModerator.message=Zpráva pro moderátora +chat.reportToModerator.message.prompt=Zadejte zprávu pro moderátora +chat.reportToModerator.report=Nahlásit moderátorovi + + +#################################################################### +# Chat message display +#################################################################### + +chat.message.input.prompt=Napište novou zprávu +chat.message.input.send=Odeslat zprávu +chat.message.wasEdited=(upraveno) +chat.message.privateMessage=Poslat soukromou zprávu +chat.message.reply=Odpovědět +chat.message.moreOptions=Další možnosti +chat.message.supportedLanguages=Podporované jazyky: +chat.message.supportedLanguages.Tooltip=Podporované jazyky + +# suppress inspection "UnusedProperty" +chat.message.deliveryState.CONNECTING=Připojování k uživateli +# suppress inspection "UnusedProperty" +chat.message.deliveryState.SENT=Zpráva odeslána (potvrzení přijetí zatím nebylo obdrženo) +# suppress inspection "UnusedProperty" +chat.message.deliveryState.ACK_RECEIVED=Potvrzení přijetí zprávy obdrženo +# suppress inspection "UnusedProperty" +chat.message.deliveryState.TRY_ADD_TO_MAILBOX=Pokus o přidání zprávy do schránky uživatele +# suppress inspection "UnusedProperty" +chat.message.deliveryState.ADDED_TO_MAILBOX=Zpráva přidána do schránky uživatele +# suppress inspection "UnusedProperty" +chat.message.deliveryState.MAILBOX_MSG_RECEIVED=Uživatel stáhl zprávu ze schránky +# suppress inspection "UnusedProperty" +chat.message.deliveryState.FAILED=Odeslání zprávy se nezdařilo. +chat.message.resendMessage=Klikněte pro opětovné odeslání zprávy. + +chat.message.contextMenu.ignoreUser=Ignorovat uživatele +chat.message.contextMenu.reportUser=Nahlásit uživatele moderátorovi + +chat.message.takeOffer.seller.myReputationScoreTooLow.headline=Vaše Skóre Reputace je příliš nízké na to, abyste mohli přijmout tuto nabídku +chat.message.takeOffer.seller.myReputationScoreTooLow.warning=Vaše Skóre Reputace je {0} a je pod požadovaným Skóre Reputace {1} pro obchodní částku {2}.\n\nBezpečnostní model Bisq Easy je založen na reputaci prodávajícího.\nChcete-li se dozvědět více o systému reputace, navštivte: [HYPERLINK:https://bisq.wiki/Reputace].\n\nVíce informací o tom, jak si vybudovat svou reputaci, naleznete v sekci ''Reputace/Vybudování reputace''. + +chat.message.takeOffer.buyer.makersReputationScoreTooLow.headline=Bezpečnostní varování +chat.message.takeOffer.buyer.makersReputationScoreTooLow.warning=Reputace prodávajícího ve výši {0} je pod požadovaným skóre {1} pro obchodní částku {2}.\n\nBezpečnostní model Bisq Easy se spoléhá na reputaci prodávajícího, protože kupující musí nejprve Odeslat fiat měnu. Pokud se rozhodnete pokračovat v přijetí nabídky navzdory nedostatku reputace, ujistěte se, že plně chápete rizika, která s tím souvisejí.\n\nChcete-li se dozvědět více o systému reputace, navštivte: [HYPERLINK:https://bisq.wiki/Reputace].\n\nChcete pokračovat a přijmout tuto nabídku? + +chat.message.takeOffer.buyer.makersReputationScoreTooLow.yes=Ano, rozumím riziku a chci pokračovat +chat.message.takeOffer.buyer.makersReputationScoreTooLow.no=Ne, hledám jinou nabídku + +chat.message.takeOffer.buyer.makersReputationTooLowButInLowAmountTolerance.headline=Prosím, zvažte rizika při přijetí této nabídky +chat.message.takeOffer.buyer.makersReputationTooLowButInLowAmountTolerance.warning=Skóre Reputace prodávajícího je {0}, což je pod požadovaným skóre {1} pro obchodní částku {2}.\n\nJelikož je obchodní částka relativně nízká, požadavky na reputaci byly uvolněny. Pokud se však rozhodnete pokračovat navzdory nedostatečné reputaci prodávajícího, ujistěte se, že plně chápete související rizika. Bezpečnostní model Bisq Easy závisí na reputaci prodávajícího, protože kupující je povinen nejprve odeslat fiat měnu.\n\nChcete-li se dozvědět více o systému reputace, navštivte: [HYPERLINK:https://bisq.wiki/Reputace].\n\nChcete stále přijmout tuto nabídku? +chat.message.takeOffer.buyer.makersReputationTooLowButInLowAmountTolerance.yes=Ano, rozumím riziku a chci pokračovat +chat.message.takeOffer.buyer.makersReputationTooLowButInLowAmountTolerance.no=Ne, hledám jinou nabídku + +chat.message.offer.offerAlreadyTaken.warn=Tuto nabídku jste již přijali. +chat.message.delete.differentUserProfile.warn=Tato chatová zpráva byla vytvořena s jiným uživatelským profilem.\n\nChcete zprávu smazat? +chat.message.send.differentUserProfile.warn=V tomto kanálu jste používali jiný uživatelský profil.\n\nOpravdu chcete odeslat tuto zprávu s aktuálně vybraným uživatelským profilem? +chat.privateChannel.changeUserProfile.warn=Jste v soukromém chatovacím kanálu, který byl vytvořen s uživatelským profilem ''{0}''.\n\nNelze změnit uživatelský profil, když jste v tomto chatovacím kanálu. +chat.message.send.offerOnly.warn=Máte vybranou možnost 'Pouze nabídky'. Normální textové zprávy nebudou v tomto režimu zobrazeny.\n\nChcete změnit režim, abyste viděli všechny zprávy? + +chat.message.citation.headline=Odpovídání na: +chat.message.reactionPopup=reakce s +chat.listView.scrollDown=Posunout dolů +chat.listView.scrollDown.newMessages=Posunout dolů pro čtení nových zpráv diff --git a/pocs/android_only_m2_j17jars/app/src/main/resources/chat_de.properties b/pocs/android_only_m2_j17jars/app/src/main/resources/chat_de.properties new file mode 100644 index 00000000..9e13a4dc --- /dev/null +++ b/pocs/android_only_m2_j17jars/app/src/main/resources/chat_de.properties @@ -0,0 +1,247 @@ +#################################################################### +# +# Chat module +# +#################################################################### + +chat.privateChannel.message.leave={0} hat den Chat verlassen + +#################################################################### +# Notifications +#################################################################### + +chat.notifications.privateMessage.headline=Private Nachricht +chat.notifications.offerTaken.title=Dein Angebot wurde von {0} angenommen +chat.notifications.offerTaken.message=Trade-ID: {0} + +#################################################################### +# Dynamically created from ChatChannelDomain enum name +#################################################################### + +# suppress inspection "UnusedProperty" +chat.channelDomain.BISQ_EASY_OFFERBOOK=Bisq Easy +# suppress inspection "UnusedProperty" +chat.channelDomain.BISQ_EASY_OPEN_TRADES=Bisq Easy Trades +# suppress inspection "UnusedProperty" +chat.channelDomain.BISQ_EASY_PRIVATE_CHAT=Bisq Easy +# suppress inspection "UnusedProperty" +chat.channelDomain.DISCUSSION=Diskussionen +# suppress inspection "UnusedProperty" +chat.channelDomain.EVENTS=Ereignisse +# suppress inspection "UnusedProperty" +chat.channelDomain.SUPPORT=Support + + +#################################################################### +# Channels +#################################################################### + +## Channel id is used for creating dynamically the key +# suppress inspection "UnusedProperty" +discussion.bisq.title=Diskussionen +# suppress inspection "UnusedProperty" +discussion.bisq.description=Öffentlicher Kanal für Diskussionen +# suppress inspection "UnusedProperty" +discussion.bitcoin.title=Bitcoin +# suppress inspection "UnusedProperty" +discussion.bitcoin.description=Kanal für Diskussionen über Bitcoin +# suppress inspection "UnusedProperty" +discussion.markets.title=Märkte +# suppress inspection "UnusedProperty" +discussion.markets.description=Kanal für Diskussionen über Märkte und Preise +# suppress inspection "UnusedProperty" +discussion.offTopic.title=Off-Topic +# suppress inspection "UnusedProperty" +discussion.offTopic.description=Kanal für Off-Topic-Gespräche + +# suppress inspection "UnusedProperty" +events.conferences.title=Konferenzen +# suppress inspection "UnusedProperty" +events.conferences.description=Kanal für Ankündigungen zu Konferenzen +# suppress inspection "UnusedProperty" +events.meetups.title=Meetups +# suppress inspection "UnusedProperty" +events.meetups.description=Kanal für Ankündigungen zu Meetups +# suppress inspection "UnusedProperty" +events.podcasts.title=Podcasts +# suppress inspection "UnusedProperty" +events.podcasts.description=Kanal für Ankündigungen zu Podcasts +# suppress inspection "UnusedProperty" +events.tradeEvents.title=Handelsereignisse +# suppress inspection "UnusedProperty" +events.tradeEvents.description=Kanal für Ankündigungen zu Handelsereignissen + +# suppress inspection "UnusedProperty" +support.support.title=Unterstützung +# suppress inspection "UnusedProperty" +support.support.description=Kanal für Support +# suppress inspection "UnusedProperty" +support.questions.title=Fragen +# suppress inspection "UnusedProperty" +support.questions.description=Kanal für allgemeine Fragen +# suppress inspection "UnusedProperty" +support.reports.title=Betrugsbericht +# suppress inspection "UnusedProperty" +support.reports.description=Kanal für Betrugsberichte + + +################################################################################ +# +# Desktop module +# +################################################################################ + +chat.leave=Hier klicken zum Verlassen +chat.leave.info=Du bist dabei, diesen Chat zu verlassen. +chat.leave.confirmLeaveChat=Chat verlassen +chat.messagebox.noChats.placeholder.title=Beginnen Sie die Unterhaltung! +chat.messagebox.noChats.placeholder.description=Treten Sie der Diskussion auf {0} bei, um Ihre Gedanken zu teilen und Fragen zu stellen. +chat.ignoreUser.warn='Benutzer ignorieren' auszuwählen wird effektiv alle Nachrichten dieses Benutzers verbergen.\n\nDiese Aktion wird beim nächsten Betreten des Chats wirksam.\n\nUm dies rückgängig zu machen, gehe zum Menü Mehr Optionen > Kanalinfo > Teilnehmer und wähle 'Ignorieren rückgängig machen' neben dem Benutzer. +chat.ignoreUser.confirm=Benutzer ignorieren + + +###################################################### +# Private chats +###################################################### + +chat.private.title=Private Chats +chat.private.messagebox.noChats.title={0} private Unterhaltungen +chat.private.messagebox.noChats.placeholder.title=Du hast keine laufenden Unterhaltungen +chat.private.messagebox.noChats.placeholder.description=Um mit einem Partner privat zu chatten, fahre mit der Maus über seine Nachricht in einem\nöffentlichen Chat und klicke auf 'Private Nachricht senden'. +chat.private.openChatsList.headline=Chatpartner +chat.private.leaveChat.confirmation=Sind Sie sicher, dass Sie diesen Chat verlassen möchten?\nSie verlieren den Zugang zum Chat und alle Chatinformationen. + + +###################################################### +# Top menu +###################################################### + +chat.topMenu.tradeGuide.tooltip=Handelsanleitung öffnen +chat.topMenu.chatRules.tooltip=Chatregeln öffnen + + +###################################################### +# Chat menus +###################################################### + +chat.ellipsisMenu.tooltip=Mehr Optionen +chat.ellipsisMenu.chatRules=Chatregeln +chat.ellipsisMenu.channelInfo=Kanalinformationen +chat.ellipsisMenu.tradeGuide=Handelsanleitung + +chat.notificationsSettingsMenu.title=Benachrichtigungsoptionen: +chat.notificationsSettingsMenu.tooltip=Benachrichtigungsoptionen +chat.notificationsSettingsMenu.globalDefault=Standard verwenden +chat.notificationsSettingsMenu.all=Alle Nachrichten +chat.notificationsSettingsMenu.mention=Bei Erwähnung +chat.notificationsSettingsMenu.off=Aus + + +###################################################### +# Chat rules +###################################################### + +chat.chatRules.headline=Chatregeln +chat.chatRules.content=- Sei respektvoll: Behandle andere freundlich, vermeide beleidigende Sprache, persönliche Angriffe und Belästigung.- Sei tolerant: Halte einen offenen Geist und akzeptiere, dass andere unterschiedliche Ansichten, kulturellen Hintergrund und Erfahrungen haben könnten.- Kein Spamming: Verzichte darauf, den Chat mit wiederholten oder irrelevante Nachrichten zu überfluten.- Keine Werbung: Vermeide die Bewerbung von kommerziellen Produkten, Dienstleistungen oder das Posten von Werbelinks.- Kein Trollen: Störendes Verhalten und absichtliche Provokation sind nicht erwünscht.- Keine Nachahmung: Verwende keine Nicknamen, die andere irreführen könnten und denken lassen, dass du eine bekannte Person bist.- Respektiere die Privatsphäre: Schütze deine und die Privatsphäre anderer, teile keine Handelsdetails.- Melde Fehlverhalten: Melde Regelverstöße oder unangemessenes Verhalten dem Moderator.- Genieße den Chat: Beteilige dich an sinnvollen Diskussionen, finde Freunde und habe Spaß in einer freundlichen undinklusiven Gemeinschaft.\n\nDurch die Teilnahme am Chat stimmst du diesen Regeln zu.\nSchwere Regelverstöße können zu einem Verbot im Bisq-Netzwerk führen. + + +#################################################################### +# Sidebar / user profile +#################################################################### + +chat.sideBar.userProfile.headline=Benutzerprofil +chat.sideBar.userProfile.nym=Bot-ID +chat.sideBar.userProfile.id=Benutzer-ID +chat.sideBar.userProfile.transportAddress=Transportadresse +chat.sideBar.userProfile.totalReputationScore=Gesamte Reputation +chat.sideBar.userProfile.profileAge=Profilalter +chat.sideBar.userProfile.livenessState=Zuletzt online +chat.sideBar.userProfile.version=Version +chat.sideBar.userProfile.statement=Erklärung +chat.sideBar.userProfile.terms=Handelsbedingungen +chat.sideBar.userProfile.sendPrivateMessage=Private Nachricht senden +chat.sideBar.userProfile.mention=Erwähnung +chat.sideBar.userProfile.ignore=Ignorieren +chat.sideBar.userProfile.undoIgnore=Ignorierung aufheben +chat.sideBar.userProfile.report=An Moderator melden + + +#################################################################### +# Sidebar / channel info +#################################################################### + +chat.sideBar.channelInfo.notification.options=Benachrichtigungsoptionen +chat.sideBar.channelInfo.notifications.globalDefault=Standard verwenden +chat.sideBar.channelInfo.notifications.all=Alle Nachrichten +chat.sideBar.channelInfo.notifications.mention=Bei Erwähnung +chat.sideBar.channelInfo.notifications.off=Deaktiviert +chat.sideBar.channelInfo.participants=Teilnehmer + + +#################################################################### +# Report to moderator window +#################################################################### + +chat.reportToModerator.headline=An Moderator melden +chat.reportToModerator.info=Bitte mache dich mit den Handelsregeln vertraut und stelle sicher, dass der Grund für die Meldung als Verstoß gegen diese Regeln angesehen wird.\nDu kannst die Handels- und Chatregeln nachlesen, indem du auf das Fragezeichen-Symbol in der oberen rechten Ecke der Chat-Bildschirme klickst. +chat.reportToModerator.message=Nachricht an Moderator +chat.reportToModerator.message.prompt=Gebe eine Nachricht an den Moderator ein +chat.reportToModerator.report=An Moderator melden + + +#################################################################### +# Chat message display +#################################################################### + +chat.message.input.prompt=Neue Nachricht eingeben +chat.message.input.send=Nachricht senden +chat.message.wasEdited=(bearbeitet) +chat.message.privateMessage=Private Nachricht senden +chat.message.reply=Antworten +chat.message.moreOptions=Mehr Optionen +chat.message.supportedLanguages=Unterstützte Sprachen: +chat.message.supportedLanguages.Tooltip=Unterstützte Sprachen + +# suppress inspection "UnusedProperty" +chat.message.deliveryState.CONNECTING=Verbindung zum Empfänger wird hergestellt. +# suppress inspection "UnusedProperty" +chat.message.deliveryState.SENT=Nachricht gesendet (Empfang noch nicht bestätigt). +# suppress inspection "UnusedProperty" +chat.message.deliveryState.ACK_RECEIVED=Empfang der Nachricht bestätigt. +# suppress inspection "UnusedProperty" +chat.message.deliveryState.TRY_ADD_TO_MAILBOX=Versuche, Nachricht im Postfach des Empfängers abzulegen. +# suppress inspection "UnusedProperty" +chat.message.deliveryState.ADDED_TO_MAILBOX=Nachricht im Postfach des Empfängers abgelegt. +# suppress inspection "UnusedProperty" +chat.message.deliveryState.MAILBOX_MSG_RECEIVED=Empfänger hat die Nachricht aus dem Postfach heruntergeladen. +# suppress inspection "UnusedProperty" +chat.message.deliveryState.FAILED=Nachricht senden fehlgeschlagen. +chat.message.resendMessage=Klicken, um die Nachricht erneut zu senden. + +chat.message.contextMenu.ignoreUser=Benutzer ignorieren +chat.message.contextMenu.reportUser=Benutzer an Moderator melden + +chat.message.takeOffer.seller.myReputationScoreTooLow.headline=Deine Reputationsbewertung ist zu niedrig, um dieses Angebot anzunehmen +chat.message.takeOffer.seller.myReputationScoreTooLow.warning=Deine Reputationsbewertung beträgt {0} und liegt unter der erforderlichen Reputationsbewertung von {1} für den Handelsbetrag von {2}.\n\nDas Sicherheitsmodell von Bisq Easy basiert auf der Reputation des Verkäufers.\nUm mehr über das Reputationssystem zu erfahren, besuche: [HYPERLINK:https://bisq.wiki/Reputation].\n\nDu kannst mehr darüber lesen, wie du deine Reputation aufbauen kannst unter ''Reputation/Build Reputation''. + +chat.message.takeOffer.buyer.makersReputationScoreTooLow.headline=Sicherheitswarnung +chat.message.takeOffer.buyer.makersReputationScoreTooLow.warning=Die Reputationsbewertung des Verkäufers von {0} liegt unter der erforderlichen Bewertung von {1} für einen Handelsbetrag von {2}.\n\nDas Sicherheitsmodell von Bisq Easy basiert auf der Reputation des Verkäufers, da der Käufer zuerst die Fiat-Währung senden muss. Wenn du dich entscheidest, das Angebot trotz der fehlenden Reputation anzunehmen, stelle sicher, dass du die damit verbundenen Risiken vollständig verstehst.\n\nUm mehr über das Reputationssystem zu erfahren, besuche: [HYPERLINK:https://bisq.wiki/Reputation].\n\nMöchtest du fortfahren und dieses Angebot annehmen? + +chat.message.takeOffer.buyer.makersReputationScoreTooLow.yes=Ja, ich verstehe das Risiko und möchte fortfahren +chat.message.takeOffer.buyer.makersReputationScoreTooLow.no=Nein, ich suche nach einem anderen Angebot + +chat.message.takeOffer.buyer.makersReputationTooLowButInLowAmountTolerance.headline=Bitte überprüfen Sie die Risiken, wenn Sie dieses Angebot annehmen. +chat.message.takeOffer.buyer.makersReputationTooLowButInLowAmountTolerance.warning=Die Reputationsbewertung des Verkäufers beträgt {0}, was unter der erforderlichen Bewertung von {1} für einen Handelsbetrag von {2} liegt.\n\nDa der Handelsbetrag relativ niedrig ist, wurden die Anforderungen an die Reputation gelockert. Wenn du jedoch trotz der unzureichenden Reputation des Verkäufers fortfahren möchtest, stelle sicher, dass du die damit verbundenen Risiken vollständig verstehst. Das Sicherheitsmodell von Bisq Easy hängt von der Reputation des Verkäufers ab, da der Käufer zuerst Fiat-Währung senden muss.\n\nUm mehr über das Reputationssystem zu erfahren, besuche: [HYPERLINK:https://bisq.wiki/Reputation].\n\nMöchtest du das Angebot trotzdem annehmen? +chat.message.takeOffer.buyer.makersReputationTooLowButInLowAmountTolerance.yes=Ja, ich verstehe das Risiko und möchte fortfahren +chat.message.takeOffer.buyer.makersReputationTooLowButInLowAmountTolerance.no=Nein, ich suche nach einem anderen Angebot + +chat.message.offer.offerAlreadyTaken.warn=Du hast dieses Angebot bereits angenommen. +chat.message.delete.differentUserProfile.warn=Diese Chatnachricht wurde mit einem anderen Benutzerprofil erstellt.\n\nMöchtest du die Nachricht löschen? +chat.message.send.differentUserProfile.warn=Du hast in diesem Kanal ein anderes Benutzerprofil verwendet.\n\nBist du sicher, dass du die Nachricht mit dem derzeit ausgewählten Benutzerprofil senden möchtest? +chat.privateChannel.changeUserProfile.warn=Du befindest dich in einem privaten Chatkanal, der mit dem Benutzerprofil ''{0}'' erstellt wurde.\n\nDu kannst das Benutzerprofil nicht ändern, solange du sich in diesem Chatkanal befindest. +chat.message.send.offerOnly.warn=Du hast die Option 'Nur Angebote' ausgewählt. Normale Textnachrichten werden in diesem Modus nicht angezeigt.\n\nMöchtest du den Modus ändern, um alle Nachrichten zu sehen? + +chat.message.citation.headline=Antwort auf: +chat.message.reactionPopup=hat reagiert mit +chat.listView.scrollDown=Nach unten scrollen +chat.listView.scrollDown.newMessages=Nach unten scrollen, um neue Nachrichten zu lesen diff --git a/pocs/android_only_m2_j17jars/app/src/main/resources/chat_es.properties b/pocs/android_only_m2_j17jars/app/src/main/resources/chat_es.properties new file mode 100644 index 00000000..6e278983 --- /dev/null +++ b/pocs/android_only_m2_j17jars/app/src/main/resources/chat_es.properties @@ -0,0 +1,247 @@ +#################################################################### +# +# Chat module +# +#################################################################### + +chat.privateChannel.message.leave={0} ha salido del chat + +#################################################################### +# Notifications +#################################################################### + +chat.notifications.privateMessage.headline=Mensaje privado +chat.notifications.offerTaken.title=Tu oferta fue tomada por {0} +chat.notifications.offerTaken.message=ID de la transacción: {0} + +#################################################################### +# Dynamically created from ChatChannelDomain enum name +#################################################################### + +# suppress inspection "UnusedProperty" +chat.channelDomain.BISQ_EASY_OFFERBOOK=Bisq Easy +# suppress inspection "UnusedProperty" +chat.channelDomain.BISQ_EASY_OPEN_TRADES=Compra-venta Bisq Easy +# suppress inspection "UnusedProperty" +chat.channelDomain.BISQ_EASY_PRIVATE_CHAT=Bisq Easy +# suppress inspection "UnusedProperty" +chat.channelDomain.DISCUSSION=Charlas +# suppress inspection "UnusedProperty" +chat.channelDomain.EVENTS=Eventos +# suppress inspection "UnusedProperty" +chat.channelDomain.SUPPORT=Soporte + + +#################################################################### +# Channels +#################################################################### + +## Channel id is used for creating dynamically the key +# suppress inspection "UnusedProperty" +discussion.bisq.title=Charlas +# suppress inspection "UnusedProperty" +discussion.bisq.description=Canal público para charlar +# suppress inspection "UnusedProperty" +discussion.bitcoin.title=Bitcoin +# suppress inspection "UnusedProperty" +discussion.bitcoin.description=Canal para charlar sobre Bitcoin +# suppress inspection "UnusedProperty" +discussion.markets.title=Mercados +# suppress inspection "UnusedProperty" +discussion.markets.description=Canal para charlar sobre mercados y precios +# suppress inspection "UnusedProperty" +discussion.offTopic.title=Fuera de tema +# suppress inspection "UnusedProperty" +discussion.offTopic.description=Canal para charlas fuera de tema + +# suppress inspection "UnusedProperty" +events.conferences.title=Conferencias +# suppress inspection "UnusedProperty" +events.conferences.description=Canal para anuncios de conferencias +# suppress inspection "UnusedProperty" +events.meetups.title=Meetups +# suppress inspection "UnusedProperty" +events.meetups.description=Canal para anuncios de meetups +# suppress inspection "UnusedProperty" +events.podcasts.title=Podcasts +# suppress inspection "UnusedProperty" +events.podcasts.description=Canal para anuncios de podcasts +# suppress inspection "UnusedProperty" +events.tradeEvents.title=Intercambiar +# suppress inspection "UnusedProperty" +events.tradeEvents.description=Canal para anuncios de eventos de intercambio + +# suppress inspection "UnusedProperty" +support.support.title=Soporte +# suppress inspection "UnusedProperty" +support.support.description=Canal para Soporte +# suppress inspection "UnusedProperty" +support.questions.title=Soporte +# suppress inspection "UnusedProperty" +support.questions.description=Canal para soporte en compra-ventas +# suppress inspection "UnusedProperty" +support.reports.title=Denunciar +# suppress inspection "UnusedProperty" +support.reports.description=Canal para informar de fraudes + + +################################################################################ +# +# Desktop module +# +################################################################################ + +chat.leave=Haz click aquí para salir +chat.leave.info=Vas a salir del chat +chat.leave.confirmLeaveChat=Salir del chat +chat.messagebox.noChats.placeholder.title=¡Inicia la conversación! +chat.messagebox.noChats.placeholder.description=Únete a la discusión en {0} para compartir tus ideas y hacer preguntas. +chat.ignoreUser.warn=Seleccionar 'Ignorar usuario' ocultará todos los mensajes de este usuario.\n\nEsta acción tendrá efecto la próxima vez que entres al chat.\n\nSi quieres deshacer esta acción, ve al menú más opciones > Información del canal > Participantes y selecciona 'Dejar de ignorar' al lado del usuario. +chat.ignoreUser.confirm=Ignorar usuario + + +###################################################### +# Private chats +###################################################### + +chat.private.title=Chats privados +chat.private.messagebox.noChats.title={0} chats privados +chat.private.messagebox.noChats.placeholder.title=No tienes conversaciones en curso +chat.private.messagebox.noChats.placeholder.description=Para chatear de manera privada con otro usario, pasa el cursor sobre su mensaje en un\nchat público y haz clic en 'Enviar mensaje privado'. +chat.private.openChatsList.headline=Usuarios del chat +chat.private.leaveChat.confirmation=¿Estás seguro de que quieres abandonar este chat?\nPerderás acceso al chat y toda la información del chat. + + +###################################################### +# Top menu +###################################################### + +chat.topMenu.tradeGuide.tooltip=Abrir guía de compra-venta +chat.topMenu.chatRules.tooltip=Abrir reglas del chat + + +###################################################### +# Chat menus +###################################################### + +chat.ellipsisMenu.tooltip=Más opciones +chat.ellipsisMenu.chatRules=Reglas de chat +chat.ellipsisMenu.channelInfo=Información del canal +chat.ellipsisMenu.tradeGuide=Guía de compra-venta + +chat.notificationsSettingsMenu.title=Opciones de notificación: +chat.notificationsSettingsMenu.tooltip=Opciones de notificación +chat.notificationsSettingsMenu.globalDefault=Notificaciones por defecto +chat.notificationsSettingsMenu.all=Todos los mensajes +chat.notificationsSettingsMenu.mention=Si me mencionan +chat.notificationsSettingsMenu.off=Ninguna + + +###################################################### +# Chat rules +###################################################### + +chat.chatRules.headline=Reglas del chat +chat.chatRules.content=- Sé respetuoso: Trata a los demás con amabilidad, evita el lenguaje ofensivo, los ataques personales y el acoso.- Sé tolerante: Mantén una mente abierta y acepta que otros pueden tener opiniones, culturas y experiencias diferentes.- No hagas spam: Evita inundar el chat con mensajes repetitivos o irrelevantes.- No hagas publicidad: Evita promover productos comerciales, servicios o enlaces promocionales.- No seas provocador: El comportamiento disruptivo y la provocación intencional no son bienvenidos.- No te hagas pasar por otra persona: No uses apodos que induzcan a otros a pensar que eres una persona conocida.- Respeta la privacidad: Protege tu privacidad y la de los demás; no compartas detalles de las transacciones.- Informa de comportamientos inadecuados: Informa sobre violaciones de las reglas o comportamientos inapropiados al moderador.- Disfruta del chat: Participa en discusiones interesantes, haz amigos y diviértete en una comunidad amigable e inclusiva.\n\nAl participar en el chat, aceptas seguir estas reglas.\nLas violaciones graves de las reglas pueden resultar en expulsión de la red Bisq. + + +#################################################################### +# Sidebar / user profile +#################################################################### + +chat.sideBar.userProfile.headline=Perfil de usuario +chat.sideBar.userProfile.nym=ID del bot +chat.sideBar.userProfile.id=ID de usuario +chat.sideBar.userProfile.transportAddress=Dirección de transporte +chat.sideBar.userProfile.totalReputationScore=Puntuación total de reputación +chat.sideBar.userProfile.profileAge=Antigüedad del perfil +chat.sideBar.userProfile.livenessState=Última actividad del usuario +chat.sideBar.userProfile.version=Versión +chat.sideBar.userProfile.statement=Declaración +chat.sideBar.userProfile.terms=Términos de compra-venta +chat.sideBar.userProfile.sendPrivateMessage=Enviar mensaje privado +chat.sideBar.userProfile.mention=Mencionar +chat.sideBar.userProfile.ignore=Ignorar +chat.sideBar.userProfile.undoIgnore=Dejar de ignorar +chat.sideBar.userProfile.report=Informar al moderador + + +#################################################################### +# Sidebar / channel info +#################################################################### + +chat.sideBar.channelInfo.notification.options=Opciones de notificación +chat.sideBar.channelInfo.notifications.globalDefault=Notificaciones por defecto +chat.sideBar.channelInfo.notifications.all=Todos los mensajes +chat.sideBar.channelInfo.notifications.mention=Si se menciona +chat.sideBar.channelInfo.notifications.off=Ninguna +chat.sideBar.channelInfo.participants=Participantes + + +#################################################################### +# Report to moderator window +#################################################################### + +chat.reportToModerator.headline=Denunciar al moderador +chat.reportToModerator.info=Por favor, familiarízate con las reglas de compra-venta y asegúrate de que la razón para denunciar sea considerada una violación de esas reglas.\nPuedes leer las reglas de comercio y las reglas del chat haciendo clic en el icono de interrogación en la esquina superior derecha de las pantallas del chat. +chat.reportToModerator.message=Mensaje al moderador +chat.reportToModerator.message.prompt=Introducir el mensaje al moderador +chat.reportToModerator.report=Denunciar al moderador + + +#################################################################### +# Chat message display +#################################################################### + +chat.message.input.prompt=Escribe un nuevo mensaje +chat.message.input.send=Enviar mensaje +chat.message.wasEdited=(editado) +chat.message.privateMessage=Enviar mensaje privado +chat.message.reply=Responder +chat.message.moreOptions=Más opciones +chat.message.supportedLanguages=Idiomas admitidos: +chat.message.supportedLanguages.Tooltip=Idiomas admitidos + +# suppress inspection "UnusedProperty" +chat.message.deliveryState.CONNECTING=Conectando con usuario +# suppress inspection "UnusedProperty" +chat.message.deliveryState.SENT=Mensaje enviado (sin confirmación de recepción). +# suppress inspection "UnusedProperty" +chat.message.deliveryState.ACK_RECEIVED=Recepción confirmada +# suppress inspection "UnusedProperty" +chat.message.deliveryState.TRY_ADD_TO_MAILBOX=Intentando dejar mensaje en el buzón del usuario +# suppress inspection "UnusedProperty" +chat.message.deliveryState.ADDED_TO_MAILBOX=Mensaje entregado al buzón del usuario +# suppress inspection "UnusedProperty" +chat.message.deliveryState.MAILBOX_MSG_RECEIVED=El usuario ha descargado el mensaje de su buzón +# suppress inspection "UnusedProperty" +chat.message.deliveryState.FAILED=Error al enviar el mensaje +chat.message.resendMessage=Haz click para reenviar el mensaje. + +chat.message.contextMenu.ignoreUser=Ignorar usuario +chat.message.contextMenu.reportUser=Denunciar sobre el usuario al moderador + +chat.message.takeOffer.seller.myReputationScoreTooLow.headline=Tu Puntuación de Reputación es demasiado baja para aceptar esa oferta +chat.message.takeOffer.seller.myReputationScoreTooLow.warning=Tu Puntuación de Reputación es {0} y está por debajo de la Puntuación de Reputación requerida de {1} para el monto de la transacción de {2}.\n\nEl modelo de seguridad de Bisq Easy se basa en la reputación del vendedor.\nPara aprender más sobre el sistema de reputación, visita: [HYPERLINK:https://bisq.wiki/Reputación].\n\nPuedes leer más sobre cómo aumentar tu reputación en ''Reputación/Construir Reputación''. + +chat.message.takeOffer.buyer.makersReputationScoreTooLow.headline=Advertencia de seguridad +chat.message.takeOffer.buyer.makersReputationScoreTooLow.warning=La Puntuación de Reputación del vendedor de {0} está por debajo de la puntuación requerida de {1} para un monto de comercio de {2}.\n\nEl modelo de seguridad de Bisq Easy se basa en la reputación del vendedor, ya que el comprador debe Enviar la moneda fiduciaria primero. Si decides continuar y aceptar la oferta a pesar de la falta de reputación, asegúrate de entender completamente los riesgos involucrados.\n\nPara aprender más sobre el sistema de reputación, visita: [HYPERLINK:https://bisq.wiki/Reputación].\n\n¿Quieres continuar y aceptar esa oferta? + +chat.message.takeOffer.buyer.makersReputationScoreTooLow.yes=Sí, entiendo el riesgo y quiero continuar +chat.message.takeOffer.buyer.makersReputationScoreTooLow.no=No, busco otra oferta + +chat.message.takeOffer.buyer.makersReputationTooLowButInLowAmountTolerance.headline=Por favor, revisa los riesgos al aceptar esa oferta +chat.message.takeOffer.buyer.makersReputationTooLowButInLowAmountTolerance.warning=La Puntuación de Reputación del vendedor es {0}, que está por debajo de la puntuación requerida de {1} para un monto de comercio de {2}.\n\nDado que el monto de comercio es relativamente bajo, se han relajado los requisitos de reputación. Sin embargo, si decides continuar a pesar de la reputación insuficiente del vendedor, asegúrate de comprender completamente los riesgos asociados. El modelo de seguridad de Bisq Easy depende de la reputación del vendedor, ya que se requiere que el comprador Envíe primero la moneda fiduciaria.\n\nPara aprender más sobre el sistema de reputación, visita: [HYPERLINK:https://bisq.wiki/Reputación].\n\n¿Aún deseas aceptar la oferta? +chat.message.takeOffer.buyer.makersReputationTooLowButInLowAmountTolerance.yes=Sí, entiendo el riesgo y quiero continuar +chat.message.takeOffer.buyer.makersReputationTooLowButInLowAmountTolerance.no=No, busco otra oferta + +chat.message.offer.offerAlreadyTaken.warn=Ya has tomado esa oferta. +chat.message.delete.differentUserProfile.warn=Este mensaje de chat fue creado con otro perfil de usuario.\n\n¿Quieres eliminar el mensaje? +chat.message.send.differentUserProfile.warn=Has utilizado otro perfil de usuario en ese canal.\n\n¿Estás seguro de que deseas enviar ese mensaje con el perfil de usuario actualmente seleccionado? +chat.privateChannel.changeUserProfile.warn=Estás en un canal de chat privado que se creó con el perfil de usuario ''{0}''.\n\nNo puedes cambiar el perfil de usuario mientras estás en ese canal de chat. +chat.message.send.offerOnly.warn=Tienes seleccionada la opción 'Solo ofertas'. Los mensajes de texto normales no se mostrarán en ese modo.\n\n¿Quieres cambiar el modo para ver todos los mensajes? + +chat.message.citation.headline=Respondiendo a: +chat.message.reactionPopup=reaccionó con +chat.listView.scrollDown=Bajar +chat.listView.scrollDown.newMessages=Bajar para leer nuevos mensajes diff --git a/pocs/android_only_m2_j17jars/app/src/main/resources/chat_it.properties b/pocs/android_only_m2_j17jars/app/src/main/resources/chat_it.properties new file mode 100644 index 00000000..a55ced52 --- /dev/null +++ b/pocs/android_only_m2_j17jars/app/src/main/resources/chat_it.properties @@ -0,0 +1,247 @@ +#################################################################### +# +# Chat module +# +#################################################################### + +chat.privateChannel.message.leave={0} ha lasciato la chat + +#################################################################### +# Notifications +#################################################################### + +chat.notifications.privateMessage.headline=Messaggio privato +chat.notifications.offerTaken.title=La tua offerta è stata presa da {0} +chat.notifications.offerTaken.message=ID della transazione: {0} + +#################################################################### +# Dynamically created from ChatChannelDomain enum name +#################################################################### + +# suppress inspection "UnusedProperty" +chat.channelDomain.BISQ_EASY_OFFERBOOK=Bisq Easy +# suppress inspection "UnusedProperty" +chat.channelDomain.BISQ_EASY_OPEN_TRADES=Negoziazione Bisq Easy +# suppress inspection "UnusedProperty" +chat.channelDomain.BISQ_EASY_PRIVATE_CHAT=Bisq Easy +# suppress inspection "UnusedProperty" +chat.channelDomain.DISCUSSION=Discussioni +# suppress inspection "UnusedProperty" +chat.channelDomain.EVENTS=Eventi +# suppress inspection "UnusedProperty" +chat.channelDomain.SUPPORT=Supporto + + +#################################################################### +# Channels +#################################################################### + +## Channel id is used for creating dynamically the key +# suppress inspection "UnusedProperty" +discussion.bisq.title=Discussioni +# suppress inspection "UnusedProperty" +discussion.bisq.description=Canale pubblico per discussioni +# suppress inspection "UnusedProperty" +discussion.bitcoin.title=Bitcoin +# suppress inspection "UnusedProperty" +discussion.bitcoin.description=Canale per discussioni su Bitcoin +# suppress inspection "UnusedProperty" +discussion.markets.title=Markets +# suppress inspection "UnusedProperty" +discussion.markets.description=Canale per discussioni sui mercati e i prezzi +# suppress inspection "UnusedProperty" +discussion.offTopic.title=Fuori tema +# suppress inspection "UnusedProperty" +discussion.offTopic.description=Canale per conversazioni fuori tema + +# suppress inspection "UnusedProperty" +events.conferences.title=Conferenze +# suppress inspection "UnusedProperty" +events.conferences.description=Canale per annunci riguardanti conferenze +# suppress inspection "UnusedProperty" +events.meetups.title=Incontri +# suppress inspection "UnusedProperty" +events.meetups.description=Canale per annunci riguardanti incontri +# suppress inspection "UnusedProperty" +events.podcasts.title=Podcast +# suppress inspection "UnusedProperty" +events.podcasts.description=Canale per annunci riguardanti podcast +# suppress inspection "UnusedProperty" +events.tradeEvents.title=Eventi di Trading +# suppress inspection "UnusedProperty" +events.tradeEvents.description=Canale per annunci riguardanti eventi di trading + +# suppress inspection "UnusedProperty" +support.support.title=Assistenza +# suppress inspection "UnusedProperty" +support.support.description=Canale per il supporto +# suppress inspection "UnusedProperty" +support.questions.title=Domande +# suppress inspection "UnusedProperty" +support.questions.description=Canale per domande generali +# suppress inspection "UnusedProperty" +support.reports.title=Segnalazione frodi +# suppress inspection "UnusedProperty" +support.reports.description=Canale per segnalazioni di frodi + + +################################################################################ +# +# Desktop module +# +################################################################################ + +chat.leave=Clicca qui per lasciare +chat.leave.info=Stai per lasciare questa chat. +chat.leave.confirmLeaveChat=Lascia la chat +chat.messagebox.noChats.placeholder.title=Inizia la conversazione! +chat.messagebox.noChats.placeholder.description=Unisciti alla discussione su {0} per condividere i tuoi pensieri e fare domande. +chat.ignoreUser.warn=Selezionando 'Ignora utente' nasconderai effettivamente tutti i messaggi da questo utente.\n\nQuesta azione avrà effetto la prossima volta che entrerai nella chat.\n\nPer annullare questa azione, vai al menu delle opzioni aggiuntive > Informazioni canale > Partecipanti e seleziona 'Annulla ignora' accanto all'utente. +chat.ignoreUser.confirm=Ignora utente + + +###################################################### +# Private chats +###################################################### + +chat.private.title=Chat private +chat.private.messagebox.noChats.title={0} chat private +chat.private.messagebox.noChats.placeholder.title=Non hai conversazioni in corso +chat.private.messagebox.noChats.placeholder.description=Per chattare privatamente con un pari, passa il mouse sopra il loro messaggio in una\nchat pubblica e clicca su 'Invia messaggio privato'. +chat.private.openChatsList.headline=Contatti chat +chat.private.leaveChat.confirmation=Sei sicuro di voler lasciare questa chat?\nPerderai l'accesso alla chat e tutte le informazioni sulla chat. + + +###################################################### +# Top menu +###################################################### + +chat.topMenu.tradeGuide.tooltip=Apri la guida al commercio +chat.topMenu.chatRules.tooltip=Apri le regole della chat + + +###################################################### +# Chat menus +###################################################### + +chat.ellipsisMenu.tooltip=Altre opzioni +chat.ellipsisMenu.chatRules=Regole della chat +chat.ellipsisMenu.channelInfo=Informazioni sul canale +chat.ellipsisMenu.tradeGuide=Guida allo scambio + +chat.notificationsSettingsMenu.title=Opzioni di notifica: +chat.notificationsSettingsMenu.tooltip=Opzioni di notifica +chat.notificationsSettingsMenu.globalDefault=Usa predefinito +chat.notificationsSettingsMenu.all=Tutti i messaggi +chat.notificationsSettingsMenu.mention=Se menzionato +chat.notificationsSettingsMenu.off=Disattivato + + +###################################################### +# Chat rules +###################################################### + +chat.chatRules.headline=Regole della chat +chat.chatRules.content=- Sii rispettoso: Tratta gli altri gentilmente, evita linguaggio offensivo, attacchi personali e molestie.- Sii tollerante: Mantieni una mentalità aperta e accetta che gli altri possano avere punti di vista, background culturali ed esperienze differenti.- No spam: Evita di riempire la chat con messaggi ripetitivi o non pertinenti.- Nessuna pubblicità: Evita di promuovere prodotti commerciali, servizi o pubblicare link promozionali.- Nessun trolling: Comportamenti disruptivi e provocazioni intenzionali non sono graditi.- Nessuna impersonificazione: Non usare soprannomi che possano trarre in inganno gli altri facendo credere di essere una persona ben conosciuta.- Rispetta la privacy: Proteggi la tua e la privacy degli altri; non condividere dettagli sul commercio.- Segnala cattiva condotta: Segnala violazioni delle regole o comportamenti inappropriati al moderatore.- Goditi la chat: Partecipa a discussioni significative, fai amicizie e divertiti in una comunità amichevole e inclusiva.\n\nPartecipando alla chat, accetti di seguire queste regole.\nGravi violazioni delle regole possono comportare un ban dalla rete Bisq. + + +#################################################################### +# Sidebar / user profile +#################################################################### + +chat.sideBar.userProfile.headline=Profilo utente +chat.sideBar.userProfile.nym=ID del Bot +chat.sideBar.userProfile.id=ID Utente +chat.sideBar.userProfile.transportAddress=Indirizzo di Trasporto +chat.sideBar.userProfile.totalReputationScore=Punteggio totale della reputazione +chat.sideBar.userProfile.profileAge=Età del profilo +chat.sideBar.userProfile.livenessState=Ultima attività dell'utente +chat.sideBar.userProfile.version=Versione +chat.sideBar.userProfile.statement=Dichiarazione +chat.sideBar.userProfile.terms=Termini di scambio +chat.sideBar.userProfile.sendPrivateMessage=Invia messaggio privato +chat.sideBar.userProfile.mention=Menziona +chat.sideBar.userProfile.ignore=Ignora +chat.sideBar.userProfile.undoIgnore=Annulla ignorazione +chat.sideBar.userProfile.report=Segnala al moderatore + + +#################################################################### +# Sidebar / channel info +#################################################################### + +chat.sideBar.channelInfo.notification.options=Opzioni di notifica +chat.sideBar.channelInfo.notifications.globalDefault=Usa predefinito +chat.sideBar.channelInfo.notifications.all=Tutti i messaggi +chat.sideBar.channelInfo.notifications.mention=Se menzionato +chat.sideBar.channelInfo.notifications.off=Spento +chat.sideBar.channelInfo.participants=Partecipanti + + +#################################################################### +# Report to moderator window +#################################################################### + +chat.reportToModerator.headline=Segnala al moderatore +chat.reportToModerator.info=Ti preghiamo di familiarizzare con le regole di scambio e di assicurarti che il motivo della segnalazione sia considerato una violazione di tali regole.\nPuoi leggere le regole di scambio e le regole della chat cliccando sull'icona del punto interrogativo nell'angolo in alto a destra nelle schermate della chat. +chat.reportToModerator.message=Messaggio al moderatore +chat.reportToModerator.message.prompt=Inserisci il messaggio al moderatore +chat.reportToModerator.report=Segnala al moderatore + + +#################################################################### +# Chat message display +#################################################################### + +chat.message.input.prompt=Scrivi un nuovo messaggio +chat.message.input.send=Invia messaggio +chat.message.wasEdited=(modificato) +chat.message.privateMessage=Invia messaggio privato +chat.message.reply=Rispondi +chat.message.moreOptions=Altre opzioni +chat.message.supportedLanguages=Lingue supportate: +chat.message.supportedLanguages.Tooltip=Lingue supportate + +# suppress inspection "UnusedProperty" +chat.message.deliveryState.CONNECTING=Connessione al peer +# suppress inspection "UnusedProperty" +chat.message.deliveryState.SENT=Messaggio inviato (ricevuta non ancora confermata). +# suppress inspection "UnusedProperty" +chat.message.deliveryState.ACK_RECEIVED=Ricezione del messaggio confermata +# suppress inspection "UnusedProperty" +chat.message.deliveryState.TRY_ADD_TO_MAILBOX=Prova ad aggiungere il messaggio alla casella di posta del peer +# suppress inspection "UnusedProperty" +chat.message.deliveryState.ADDED_TO_MAILBOX=Messaggio aggiunto alla casella postale del destinatario +# suppress inspection "UnusedProperty" +chat.message.deliveryState.MAILBOX_MSG_RECEIVED=Messaggio della casella postale ricevuto dal destinatario +# suppress inspection "UnusedProperty" +chat.message.deliveryState.FAILED=Invio del messaggio non riuscito. +chat.message.resendMessage=Clicca per inviare nuovamente il messaggio. + +chat.message.contextMenu.ignoreUser=Ignora utente +chat.message.contextMenu.reportUser=Segnala utente al moderatore + +chat.message.takeOffer.seller.myReputationScoreTooLow.headline=Il tuo Punteggio di Reputazione è troppo basso per accettare quell'offerta +chat.message.takeOffer.seller.myReputationScoreTooLow.warning=Il tuo punteggio di reputazione è {0} ed è al di sotto del punteggio di reputazione richiesto di {1} per l'importo della transazione di {2}.\n\nIl modello di sicurezza di Bisq Easy si basa sulla reputazione del venditore.\nPer saperne di più sul sistema di reputazione, visita: [HYPERLINK:https://bisq.wiki/Reputazione].\n\nPuoi leggere di più su come costruire la tua reputazione in ''Reputazione/Costruire Reputazione''. + +chat.message.takeOffer.buyer.makersReputationScoreTooLow.headline=Avviso di sicurezza +chat.message.takeOffer.buyer.makersReputationScoreTooLow.warning=Il punteggio di reputazione del venditore di {0} è al di sotto del punteggio richiesto di {1} per un importo di scambio di {2}.\n\nIl modello di sicurezza di Bisq Easy si basa sulla reputazione del venditore poiché l'acquirente deve inviare prima la valuta fiat. Se scegli di procedere con l'accettazione dell'offerta nonostante la mancanza di reputazione, assicurati di comprendere appieno i rischi coinvolti.\n\nPer saperne di più sul sistema di reputazione, visita: [HYPERLINK:https://bisq.wiki/Reputazione].\n\nVuoi continuare e accettare quell'offerta? + +chat.message.takeOffer.buyer.makersReputationScoreTooLow.yes=Sì, capisco il rischio e voglio continuare +chat.message.takeOffer.buyer.makersReputationScoreTooLow.no=No, cerco un'altra offerta + +chat.message.takeOffer.buyer.makersReputationTooLowButInLowAmountTolerance.headline=Si prega di rivedere i rischi quando si accetta quell'offerta +chat.message.takeOffer.buyer.makersReputationTooLowButInLowAmountTolerance.warning=Il punteggio di reputazione del venditore è {0}, che è al di sotto del punteggio richiesto di {1} per un importo di scambio di {2}.\n\nPoiché l'importo dello scambio è relativamente basso, i requisiti di reputazione sono stati allentati. Tuttavia, se scegli di procedere nonostante la reputazione insufficiente del venditore, assicurati di comprendere appieno i rischi associati. Il modello di sicurezza di Bisq Easy dipende dalla reputazione del venditore, poiché l'acquirente è tenuto a inviare prima la valuta fiat.\n\nPer saperne di più sul sistema di reputazione, visita: [HYPERLINK:https://bisq.wiki/Reputazione].\n\nVuoi ancora accettare l'offerta? +chat.message.takeOffer.buyer.makersReputationTooLowButInLowAmountTolerance.yes=Sì, capisco il rischio e voglio continuare +chat.message.takeOffer.buyer.makersReputationTooLowButInLowAmountTolerance.no=No, cerco un'altra offerta + +chat.message.offer.offerAlreadyTaken.warn=Hai già preso quell'offerta. +chat.message.delete.differentUserProfile.warn=Questo messaggio di chat è stato creato con un altro profilo utente.\n\nVuoi eliminare il messaggio? +chat.message.send.differentUserProfile.warn=Hai utilizzato un altro profilo utente in quella chat.\n\nSei sicuro di voler inviare quel messaggio con il profilo utente attualmente selezionato? +chat.privateChannel.changeUserProfile.warn=Ti trovi in un canale di chat privato creato con il profilo utente ''{0}''.\n\nNon puoi cambiare il profilo utente mentre ti trovi in quel canale di chat. +chat.message.send.offerOnly.warn=Hai selezionato l'opzione 'Solo offerte'. I messaggi di testo normali non verranno visualizzati in quella modalità.\n\nVuoi cambiare la modalità per vedere tutti i messaggi? + +chat.message.citation.headline=Rispondendo a: +chat.message.reactionPopup=ha reagito con +chat.listView.scrollDown=Scorri verso il basso +chat.listView.scrollDown.newMessages=Scorri verso il basso per leggere i nuovi messaggi diff --git a/pocs/android_only_m2_j17jars/app/src/main/resources/chat_pcm.properties b/pocs/android_only_m2_j17jars/app/src/main/resources/chat_pcm.properties new file mode 100644 index 00000000..bf536918 --- /dev/null +++ b/pocs/android_only_m2_j17jars/app/src/main/resources/chat_pcm.properties @@ -0,0 +1,247 @@ +#################################################################### +# +# Chat module +# +#################################################################### + +chat.privateChannel.message.leave={0} don waka comot for dat chat + +#################################################################### +# Notifications +#################################################################### + +chat.notifications.privateMessage.headline=Privet mesaj +chat.notifications.offerTaken.title={0} don take your offer +chat.notifications.offerTaken.message=ID Transakshon: {0} + +#################################################################### +# Dynamically created from ChatChannelDomain enum name +#################################################################### + +# suppress inspection "UnusedProperty" +chat.channelDomain.BISQ_EASY_OFFERBOOK=Bisq Easy +# suppress inspection "UnusedProperty" +chat.channelDomain.BISQ_EASY_OPEN_TRADES=Bisq Easy trad +# suppress inspection "UnusedProperty" +chat.channelDomain.BISQ_EASY_PRIVATE_CHAT=Bisq Easy +# suppress inspection "UnusedProperty" +chat.channelDomain.DISCUSSION=Diskoshon +# suppress inspection "UnusedProperty" +chat.channelDomain.EVENTS=Ivent +# suppress inspection "UnusedProperty" +chat.channelDomain.SUPPORT=Support + + +#################################################################### +# Channels +#################################################################### + +## Channel id is used for creating dynamically the key +# suppress inspection "UnusedProperty" +discussion.bisq.title=Diskashon +# suppress inspection "UnusedProperty" +discussion.bisq.description=Pablik chanel for diskashon +# suppress inspection "UnusedProperty" +discussion.bitcoin.title=Bitcoin +# suppress inspection "UnusedProperty" +discussion.bitcoin.description=Chanel for diskushon about Bitcoin +# suppress inspection "UnusedProperty" +discussion.markets.title=Markit +# suppress inspection "UnusedProperty" +discussion.markets.description=Chanel wey people dey discuss about markets and price +# suppress inspection "UnusedProperty" +discussion.offTopic.title=No be di topic +# suppress inspection "UnusedProperty" +discussion.offTopic.description=Chanel for off-topic waka + +# suppress inspection "UnusedProperty" +events.conferences.title=Konferens +# suppress inspection "UnusedProperty" +events.conferences.description=Channel for anunsment for konferens +# suppress inspection "UnusedProperty" +events.meetups.title=Meetups +# suppress inspection "UnusedProperty" +events.meetups.description=Chanel for anonsments for meetups +# suppress inspection "UnusedProperty" +events.podcasts.title=Podkast +# suppress inspection "UnusedProperty" +events.podcasts.description=Channel for anons for podcasts +# suppress inspection "UnusedProperty" +events.tradeEvents.title=Trayd +# suppress inspection "UnusedProperty" +events.tradeEvents.description=Channel for anons for trady events + +# suppress inspection "UnusedProperty" +support.support.title=Assitens +# suppress inspection "UnusedProperty" +support.support.description=Chanel for support queshon +# suppress inspection "UnusedProperty" +support.questions.title=Assistance +# suppress inspection "UnusedProperty" +support.questions.description=Kana for transakshon assistans +# suppress inspection "UnusedProperty" +support.reports.title=Ripo +# suppress inspection "UnusedProperty" +support.reports.description=Channel for insidens and fraud report + + +################################################################################ +# +# Desktop module +# +################################################################################ + +chat.leave=Click here to waka comot +chat.leave.info=You dey about to leave dis chat. +chat.leave.confirmLeaveChat=Lef chat +chat.messagebox.noChats.placeholder.title=Start di conversation! +chat.messagebox.noChats.placeholder.description=Join di discussion for {0} to share your thoughts and ask questions. +chat.ignoreUser.warn=Selecting 'Ignore user' will effectively hide all messages from this user.\n\nThis action will take effect the next time you enter the chat.\n\nTo reverse this, go to the more options menu > Channel Info > Participants and select 'Undo ignore' next to the user. +chat.ignoreUser.confirm=Ignór Usúr + + +###################################################### +# Private chats +###################################################### + +chat.private.title=Private chats +chat.private.messagebox.noChats.title={0} private chats +chat.private.messagebox.noChats.placeholder.title=You no get any ongoing conversations +chat.private.messagebox.noChats.placeholder.description=To chat with person privately, hover over their message for public chat and click 'Send private message'. +chat.private.openChatsList.headline=Chat pias +chat.private.leaveChat.confirmation=You sure say you wan leave dis chat?\nYou go lose access to the chat and all the chat information. + + +###################################################### +# Top menu +###################################################### + +chat.topMenu.tradeGuide.tooltip=Open Trayd Gaid +chat.topMenu.chatRules.tooltip=Open chat ruls + + +###################################################### +# Chat menus +###################################################### + +chat.ellipsisMenu.tooltip=More opsi +chat.ellipsisMenu.chatRules=Chat ruls +chat.ellipsisMenu.channelInfo=Info for Channel +chat.ellipsisMenu.tradeGuide=Trayd Gaid + +chat.notificationsSettingsMenu.title=Notifikeshen opsi: +chat.notificationsSettingsMenu.tooltip=Notification Options +chat.notificationsSettingsMenu.globalDefault=Use default +chat.notificationsSettingsMenu.all=All mesaj +chat.notificationsSettingsMenu.mention=If Dem Mention You +chat.notificationsSettingsMenu.off=Off + + +###################################################### +# Chat rules +###################################################### + +chat.chatRules.headline=Chat ruls +chat.chatRules.content=- Be respectful: Treat others well, avoid offensive language, personal attacks, and harassment.- Be tolerant: Keep open mind and accept say others fit get different views, cultural background and experiences.- No spamming: No flood the chat with repetitive or irrelevant messages.- No advertising: No promote commercial products, services, or post promotional links.- No trolling: Disruptive behavior and intentional provocation no welcome.- No impersonation: No use nicknames wey mislead others into thinking you be well-known person.- Respect privacy: Protect your and others' privacy; no share trade details.- Report misconduct: Report rule violations or inappropriate behavior to the moderator.- Enjoy the chat: Engage in meaningful discussions, make friends, and enjoy for friendly and inclusive community.\n\nBy participating for the chat, you agree to follow these rules.\nSerious rule violations fit lead to ban from the Bisq network. + + +#################################################################### +# Sidebar / user profile +#################################################################### + +chat.sideBar.userProfile.headline=Profil for User +chat.sideBar.userProfile.nym=Bot ID +chat.sideBar.userProfile.id=User ID +chat.sideBar.userProfile.transportAddress=Transport adres +chat.sideBar.userProfile.totalReputationScore=Total Reputashin Skor +chat.sideBar.userProfile.profileAge=Profil age +chat.sideBar.userProfile.livenessState=Last user activity +chat.sideBar.userProfile.version=Vershon +chat.sideBar.userProfile.statement=Statemnt +chat.sideBar.userProfile.terms=Trayd tams +chat.sideBar.userProfile.sendPrivateMessage=Send private message +chat.sideBar.userProfile.mention=Menshon +chat.sideBar.userProfile.ignore=Igno +chat.sideBar.userProfile.undoIgnore=Undo ignore +chat.sideBar.userProfile.report=Report to moderator + + +#################################################################### +# Sidebar / channel info +#################################################################### + +chat.sideBar.channelInfo.notification.options=Notifikeshon opsi +chat.sideBar.channelInfo.notifications.globalDefault=Us default +chat.sideBar.channelInfo.notifications.all=All mesaj +chat.sideBar.channelInfo.notifications.mention=If dem mention +chat.sideBar.channelInfo.notifications.off=Off +chat.sideBar.channelInfo.participants=Partisipants + + +#################################################################### +# Report to moderator window +#################################################################### + +chat.reportToModerator.headline=Report to moderator +chat.reportToModerator.info=Please make yourself familiar with the trade rules and be sure the reason for reporting is considered a violation of those rules.\nYou can read up the trade rules and chat rules when clicking on the question mark icon in the top-right corner at the chat screens. +chat.reportToModerator.message=Mesej to moderator +chat.reportToModerator.message.prompt=Enter message for moderator +chat.reportToModerator.report=Report to moderator + + +#################################################################### +# Chat message display +#################################################################### + +chat.message.input.prompt=Type new message +chat.message.input.send=Send messij +chat.message.wasEdited=(edit don happen) +chat.message.privateMessage=Send private message +chat.message.reply=Replai +chat.message.moreOptions=More opsi +chat.message.supportedLanguages=Langwej wey dem dey support: +chat.message.supportedLanguages.Tooltip=Langwej wey dem dey support + +# suppress inspection "UnusedProperty" +chat.message.deliveryState.CONNECTING=Connecting to peer +# suppress inspection "UnusedProperty" +chat.message.deliveryState.SENT=Message sent (receipt not confirmed yet) +# suppress inspection "UnusedProperty" +chat.message.deliveryState.ACK_RECEIVED=Message receipt acknowledged +# suppress inspection "UnusedProperty" +chat.message.deliveryState.TRY_ADD_TO_MAILBOX=Try to add message to peer's mailbox +# suppress inspection "UnusedProperty" +chat.message.deliveryState.ADDED_TO_MAILBOX=Message added to peer's mailbox +# suppress inspection "UnusedProperty" +chat.message.deliveryState.MAILBOX_MSG_RECEIVED=Peer don download mailbox message +# suppress inspection "UnusedProperty" +chat.message.deliveryState.FAILED=Send message no work. +chat.message.resendMessage=Click to Send the message. + +chat.message.contextMenu.ignoreUser=Ignoer pipo +chat.message.contextMenu.reportUser=Report user to moderator + +chat.message.takeOffer.seller.myReputationScoreTooLow.headline=Your Reputashin Skor dey too low to take that offer +chat.message.takeOffer.seller.myReputationScoreTooLow.warning=Your reputation score is {0} and below the required reputation score of {1} for the trade amount of {2}.\n\nThe security model of Bisq Easy is based on the seller''s reputation.\nTo learn more about the reputation system, visit: [HYPERLINK:https://bisq.wiki/Reputation].\n\nYou can read more about how to build up your reputation at ''Reputation/Build Reputation''. + +chat.message.takeOffer.buyer.makersReputationScoreTooLow.headline=Sekuriti warning +chat.message.takeOffer.buyer.makersReputationScoreTooLow.warning=The seller''s reputation score of {0} is below the required score of {1} for a trade amount of {2}.\n\nBisq Easy''s security model relies on the seller''s reputation as the buyer need to send the fiat currency first. If you choose to proceed with taking the offer despite the lack of reputation, ensure you fully understand the risks involved.\n\nTo learn more about the reputation system, visit: [HYPERLINK:https://bisq.wiki/Reputation].\n\nDo you want to continue and take that offer? + +chat.message.takeOffer.buyer.makersReputationScoreTooLow.yes=Yes, I sabi di risk and I wan continue +chat.message.takeOffer.buyer.makersReputationScoreTooLow.no=No, I go look for anoda offer + +chat.message.takeOffer.buyer.makersReputationTooLowButInLowAmountTolerance.headline=Abeg, check di risks wen you dey take dat offer +chat.message.takeOffer.buyer.makersReputationTooLowButInLowAmountTolerance.warning=The seller''s reputation score is {0}, which is below the required score of {1} for a trade amount of {2}.\n\nSince the trade amount is relatively low, the reputation requirements have been relaxed. However, if you choose to proceed despite the seller''s insufficient reputation, make sure you fully understand the associated risks. Bisq Easy''s security model depends on the seller''s reputation, as the buyer is required to send fiat currency first.\n\nTo learn more about the reputation system, visit: [HYPERLINK:https://bisq.wiki/Reputation].\n\nDo you still want to take the offer? +chat.message.takeOffer.buyer.makersReputationTooLowButInLowAmountTolerance.yes=Yes, I sabi di risk and wan continue +chat.message.takeOffer.buyer.makersReputationTooLowButInLowAmountTolerance.no=No, I dey find anoda offer + +chat.message.offer.offerAlreadyTaken.warn=You don already take that offer. +chat.message.delete.differentUserProfile.warn=Dis chat message na from another user profile.\n\nYou wan delete the message? +chat.message.send.differentUserProfile.warn=You don use another user profile for that channel.\n\nYou sure say you wan send that message with the currently selected user profile? +chat.privateChannel.changeUserProfile.warn=You dey for private chat channel wey you create with user profile ''{0}''.\n\nYou no fit change the user profile while you dey for that chat channel. +chat.message.send.offerOnly.warn=You get di 'Offers only' option selected. Normal text messages no go show for dat mode.\n\nYou wan change di mode to see all messages? + +chat.message.citation.headline=Replying to: +chat.message.reactionPopup=react with +chat.listView.scrollDown=Scroll down +chat.listView.scrollDown.newMessages=Scroll down make you read new messages diff --git a/pocs/android_only_m2_j17jars/app/src/main/resources/chat_pt_BR.properties b/pocs/android_only_m2_j17jars/app/src/main/resources/chat_pt_BR.properties new file mode 100644 index 00000000..5d190620 --- /dev/null +++ b/pocs/android_only_m2_j17jars/app/src/main/resources/chat_pt_BR.properties @@ -0,0 +1,247 @@ +#################################################################### +# +# Chat module +# +#################################################################### + +chat.privateChannel.message.leave={0} saiu desse chat + +#################################################################### +# Notifications +#################################################################### + +chat.notifications.privateMessage.headline=Mensagem privada +chat.notifications.offerTaken.title=Sua oferta foi aceita por {0} +chat.notifications.offerTaken.message=ID da Negociação: {0} + +#################################################################### +# Dynamically created from ChatChannelDomain enum name +#################################################################### + +# suppress inspection "UnusedProperty" +chat.channelDomain.BISQ_EASY_OFFERBOOK=Bisq Easy +# suppress inspection "UnusedProperty" +chat.channelDomain.BISQ_EASY_OPEN_TRADES=Negociação Bisq Easy +# suppress inspection "UnusedProperty" +chat.channelDomain.BISQ_EASY_PRIVATE_CHAT=Bisq Easy +# suppress inspection "UnusedProperty" +chat.channelDomain.DISCUSSION=Discussões +# suppress inspection "UnusedProperty" +chat.channelDomain.EVENTS=Eventos +# suppress inspection "UnusedProperty" +chat.channelDomain.SUPPORT=Suporte + + +#################################################################### +# Channels +#################################################################### + +## Channel id is used for creating dynamically the key +# suppress inspection "UnusedProperty" +discussion.bisq.title=Discussões +# suppress inspection "UnusedProperty" +discussion.bisq.description=Canal público para discussões +# suppress inspection "UnusedProperty" +discussion.bitcoin.title=Bitcoin +# suppress inspection "UnusedProperty" +discussion.bitcoin.description=Canal para discussões sobre Bitcoin +# suppress inspection "UnusedProperty" +discussion.markets.title=Mercados +# suppress inspection "UnusedProperty" +discussion.markets.description=Canal para discussões sobre mercados e preços +# suppress inspection "UnusedProperty" +discussion.offTopic.title=Fora do tópico +# suppress inspection "UnusedProperty" +discussion.offTopic.description=Canal para conversas fora do tópico + +# suppress inspection "UnusedProperty" +events.conferences.title=Conferências +# suppress inspection "UnusedProperty" +events.conferences.description=Canal para anúncios de conferências +# suppress inspection "UnusedProperty" +events.meetups.title=Encontros +# suppress inspection "UnusedProperty" +events.meetups.description=Canal para anúncios de encontros +# suppress inspection "UnusedProperty" +events.podcasts.title=Podcasts +# suppress inspection "UnusedProperty" +events.podcasts.description=Canal para anúncios de podcasts +# suppress inspection "UnusedProperty" +events.tradeEvents.title=Comércio +# suppress inspection "UnusedProperty" +events.tradeEvents.description=Canal para anúncios de eventos de comércio + +# suppress inspection "UnusedProperty" +support.support.title=Assistência +# suppress inspection "UnusedProperty" +support.support.description=Canal para Suporte +# suppress inspection "UnusedProperty" +support.questions.title=Perguntas +# suppress inspection "UnusedProperty" +support.questions.description=Canal para perguntas gerais +# suppress inspection "UnusedProperty" +support.reports.title=Relatório de fraude +# suppress inspection "UnusedProperty" +support.reports.description=Canal para relatórios de fraude + + +################################################################################ +# +# Desktop module +# +################################################################################ + +chat.leave=Clique aqui para sair +chat.leave.info=Você está prestes a sair deste chat. +chat.leave.confirmLeaveChat=Sair do chat +chat.messagebox.noChats.placeholder.title=Inicie a conversa! +chat.messagebox.noChats.placeholder.description=Junte-se à discussão em {0} para compartilhar seus pensamentos e fazer perguntas. +chat.ignoreUser.warn=Selecionar 'Ignorar usuário' efetivamente ocultará todas as mensagens deste usuário.\n\nEsta ação terá efeito na próxima vez que você entrar no chat.\n\nPara reverter isso, vá para o menu de opções adicionais > Informações do canal > Participantes e selecione 'Desfazer ignorar' ao lado do usuário. +chat.ignoreUser.confirm=Ignorar usuário + + +###################################################### +# Private chats +###################################################### + +chat.private.title=Chats privados +chat.private.messagebox.noChats.title={0} conversas privadas +chat.private.messagebox.noChats.placeholder.title=Você não tem conversas em andamento +chat.private.messagebox.noChats.placeholder.description=Para conversar com um par privadamente, passe o mouse sobre a mensagem deles em um\nchat público e clique em 'Enviar mensagem privada'. +chat.private.openChatsList.headline=Contatos de chat +chat.private.leaveChat.confirmation=Tem certeza de que deseja sair deste chat?\nVocê perderá o acesso ao chat e todas as informações do chat. + + +###################################################### +# Top menu +###################################################### + +chat.topMenu.tradeGuide.tooltip=Abrir guia de negociação +chat.topMenu.chatRules.tooltip=Abrir regras do chat + + +###################################################### +# Chat menus +###################################################### + +chat.ellipsisMenu.tooltip=Mais opções +chat.ellipsisMenu.chatRules=Regras do chat +chat.ellipsisMenu.channelInfo=Informações do canal +chat.ellipsisMenu.tradeGuide=Guia de negociação + +chat.notificationsSettingsMenu.title=Opções de notificação: +chat.notificationsSettingsMenu.tooltip=Opções de Notificação +chat.notificationsSettingsMenu.globalDefault=Usar padrão +chat.notificationsSettingsMenu.all=Todas as mensagens +chat.notificationsSettingsMenu.mention=Se mencionado +chat.notificationsSettingsMenu.off=Desligado + + +###################################################### +# Chat rules +###################################################### + +chat.chatRules.headline=Regras do Chat +chat.chatRules.content=- Seja respeitoso: Trate os outros com gentileza, evite linguagem ofensiva, ataques pessoais e assédio.- Seja tolerante: Mantenha a mente aberta e aceite que outros podem ter diferentes visões, origens culturais e experiências.- Sem spam: Evite inundar o chat com mensagens repetitivas ou irrelevantes.- Sem publicidade: Evite promover produtos comerciais, serviços ou postar links promocionais.- Sem trolling: Comportamentos disruptivos e provocações intencionais não são bem-vindos.- Sem personificação: Não use apelidos que enganem os outros a pensar que você é uma pessoa conhecida.- Respeite a privacidade: Proteja sua privacidade e a dos outros; não compartilhe detalhes de negociações.- Denuncie má conduta: Reporte violações de regras ou comportamentos inapropriados ao moderador.- Aproveite o chat: Participe de discussões significativas, faça amigos e divirta-se em uma comunidade amigável e inclusiva.\n\nAo participar do chat, você concorda em seguir estas regras.\nViolações graves das regras podem levar a um banimento da rede Bisq. + + +#################################################################### +# Sidebar / user profile +#################################################################### + +chat.sideBar.userProfile.headline=Perfil do usuário +chat.sideBar.userProfile.nym=ID do Bot +chat.sideBar.userProfile.id=ID do Usuário +chat.sideBar.userProfile.transportAddress=Endereço de Transporte +chat.sideBar.userProfile.totalReputationScore=Pontuação total de reputação +chat.sideBar.userProfile.profileAge=Idade do perfil +chat.sideBar.userProfile.livenessState=Última atividade do usuário +chat.sideBar.userProfile.version=Versão +chat.sideBar.userProfile.statement=Declaração +chat.sideBar.userProfile.terms=Termos de negociação +chat.sideBar.userProfile.sendPrivateMessage=Enviar mensagem privada +chat.sideBar.userProfile.mention=Mencionar +chat.sideBar.userProfile.ignore=Ignorar +chat.sideBar.userProfile.undoIgnore=Desfazer ignorar +chat.sideBar.userProfile.report=Reportar ao moderador + + +#################################################################### +# Sidebar / channel info +#################################################################### + +chat.sideBar.channelInfo.notification.options=Opções de notificação +chat.sideBar.channelInfo.notifications.globalDefault=Usar padrão +chat.sideBar.channelInfo.notifications.all=Todas as mensagens +chat.sideBar.channelInfo.notifications.mention=Se mencionado +chat.sideBar.channelInfo.notifications.off=Desligado +chat.sideBar.channelInfo.participants=Participantes + + +#################################################################### +# Report to moderator window +#################################################################### + +chat.reportToModerator.headline=Reportar ao moderador +chat.reportToModerator.info=Por favor, familiarize-se com as regras de negociação e certifique-se de que o motivo da denúncia é considerado uma violação dessas regras.\nVocê pode ler as regras de negociação e as regras do chat ao clicar no ícone de ponto de interrogação no canto superior direito nas telas de chat. +chat.reportToModerator.message=Mensagem para o moderador +chat.reportToModerator.message.prompt=Insira mensagem para o moderador +chat.reportToModerator.report=Reportar ao moderador + + +#################################################################### +# Chat message display +#################################################################### + +chat.message.input.prompt=Digite uma nova mensagem +chat.message.input.send=Enviar mensagem +chat.message.wasEdited=(editado) +chat.message.privateMessage=Enviar mensagem privada +chat.message.reply=Responder +chat.message.moreOptions=Mais opções +chat.message.supportedLanguages=Idiomas suportados: +chat.message.supportedLanguages.Tooltip=Idiomas suportados + +# suppress inspection "UnusedProperty" +chat.message.deliveryState.CONNECTING=Conectando ao par +# suppress inspection "UnusedProperty" +chat.message.deliveryState.SENT=Mensagem enviada (recebimento não confirmado ainda) +# suppress inspection "UnusedProperty" +chat.message.deliveryState.ACK_RECEIVED=Recebimento da mensagem reconhecido +# suppress inspection "UnusedProperty" +chat.message.deliveryState.TRY_ADD_TO_MAILBOX=Tentando adicionar mensagem à caixa de entrada do par. +# suppress inspection "UnusedProperty" +chat.message.deliveryState.ADDED_TO_MAILBOX=Mensagem adicionada à caixa de correio do par +# suppress inspection "UnusedProperty" +chat.message.deliveryState.MAILBOX_MSG_RECEIVED=Par baixou mensagem da caixa de correio +# suppress inspection "UnusedProperty" +chat.message.deliveryState.FAILED=Envio da mensagem falhou. +chat.message.resendMessage=Clique para reenviar a mensagem. + +chat.message.contextMenu.ignoreUser=Ignorar usuário +chat.message.contextMenu.reportUser=Reportar usuário ao moderador + +chat.message.takeOffer.seller.myReputationScoreTooLow.headline=Sua Pontuação de Reputação é muito baixa para aceitar essa oferta +chat.message.takeOffer.seller.myReputationScoreTooLow.warning=Sua Pontuação de Reputação é {0} e está abaixo da Pontuação de Reputação necessária de {1} para o valor da negociação de {2}.\n\nO modelo de segurança do Bisq Easy é baseado na reputação do vendedor.\nPara saber mais sobre o sistema de reputação, visite: [HYPERLINK:https://bisq.wiki/Reputação].\n\nVocê pode ler mais sobre como aumentar sua reputação em ''Reputação/Aumentar Reputação''. + +chat.message.takeOffer.buyer.makersReputationScoreTooLow.headline=Aviso de segurança +chat.message.takeOffer.buyer.makersReputationScoreTooLow.warning=A Pontuação de Reputação do vendedor de {0} está abaixo da Pontuação requerida de {1} para um valor de negociação de {2}.\n\nO modelo de segurança do Bisq Easy depende da reputação do vendedor, pois o comprador precisa Enviar a moeda fiduciária primeiro. Se você optar por prosseguir com a aceitação da oferta, apesar da falta de reputação, certifique-se de entender completamente os riscos envolvidos.\n\nPara saber mais sobre o sistema de reputação, visite: [HYPERLINK:https://bisq.wiki/Reputação].\n\nVocê deseja continuar e aceitar essa oferta? + +chat.message.takeOffer.buyer.makersReputationScoreTooLow.yes=Sim, eu entendo o risco e quero continuar +chat.message.takeOffer.buyer.makersReputationScoreTooLow.no=Não, procuro outra oferta + +chat.message.takeOffer.buyer.makersReputationTooLowButInLowAmountTolerance.headline=Por favor, revise os riscos ao aceitar essa oferta +chat.message.takeOffer.buyer.makersReputationTooLowButInLowAmountTolerance.warning=A Pontuação de Reputação do vendedor é {0}, que está abaixo da pontuação necessária de {1} para um valor de negociação de {2}.\n\nComo o valor da negociação é relativamente baixo, os requisitos de reputação foram flexibilizados. No entanto, se você optar por prosseguir apesar da reputação insuficiente do vendedor, certifique-se de entender completamente os riscos associados. O modelo de segurança do Bisq Easy depende da reputação do vendedor, já que o comprador deve Enviar a moeda fiduciária primeiro.\n\nPara saber mais sobre o sistema de reputação, visite: [HYPERLINK:https://bisq.wiki/Reputação].\n\nVocê ainda deseja aceitar a oferta? +chat.message.takeOffer.buyer.makersReputationTooLowButInLowAmountTolerance.yes=Sim, eu entendo o risco e quero continuar +chat.message.takeOffer.buyer.makersReputationTooLowButInLowAmountTolerance.no=Não, estou procurando outra oferta + +chat.message.offer.offerAlreadyTaken.warn=Você já aceitou essa oferta. +chat.message.delete.differentUserProfile.warn=Esta mensagem de chat foi criada com outro perfil de usuário.\n\nDeseja excluir a mensagem? +chat.message.send.differentUserProfile.warn=Você usou outro perfil de usuário neste canal.\n\nTem certeza que deseja enviar essa mensagem com o perfil de usuário selecionado atualmente? +chat.privateChannel.changeUserProfile.warn=Você está em um canal de chat privado que foi criado com o perfil de usuário ''{0}''.\n\nNão é possível mudar o perfil de usuário enquanto estiver neste canal de chat. +chat.message.send.offerOnly.warn=Você selecionou a opção 'Apenas ofertas'. Mensagens de texto normais não serão exibidas neste modo.\n\nDeseja mudar o modo para ver todas as mensagens? + +chat.message.citation.headline=Respondendo a: +chat.message.reactionPopup=reagiu com +chat.listView.scrollDown=Rolar para baixo +chat.listView.scrollDown.newMessages=Rolar para baixo para ler novas mensagens diff --git a/pocs/android_only_m2_j17jars/app/src/main/resources/default.properties b/pocs/android_only_m2_j17jars/app/src/main/resources/default.properties new file mode 100644 index 00000000..4af9f477 --- /dev/null +++ b/pocs/android_only_m2_j17jars/app/src/main/resources/default.properties @@ -0,0 +1,142 @@ +# Keep display strings organized by domain +# Naming convention: We use camelCase and dot separated name spaces. +# Use as many sub spaces as required to make the structure clear, but as little as possible. +# E.g.: [main-view].[component].[description] +# In some cases we use enum values or constants to map to display strings. Those cannot be detected by IDE and +# might show incorrectly as unused. + +# Use always at least one namespace as IntelliJ IDE might refactor other strings when renaming the key if the +# key is commonly used in other contexts. With at least one namespace the risk for accidental changes is reduced. + +# An annoying issue with property files is that we need to use 2 single quotes in display string +# containing variables (e.g. {0}), otherwise the variable will not be resolved. +# In display string which do not use a variable a single quote is ok. +# E.g. Don''t .... {1} + +# Hyperlinks in popups can be added via: [HYPERLINK:https://....]. They will get displayed as enumerated footer notes. + +# We use sometimes dynamic parts which are put together in the code and therefore sometimes use line breaks or spaces +# at the end of the string. Please never remove any line breaks or spaces. +# To make longer strings better readable you can make a line break with \ which does not result in a line break +# in the string, only in the editor. + +# Please use in all language files the exact same order of the entries, that way comparison is easier. + +# Please try to keep the length of the translated string similar to English. If it is longer it might break layout or +# get truncated. We will need some adjustments in the UI code to support that, but we want to keep effort at the minimum. + + +################################################################################ +# +# Common strings +# +################################################################################ + +confirmation.yes=Yes +confirmation.no=No +confirmation.ok=OK + +action.next=Next +action.back=Back +action.cancel=Cancel +action.close=Close +action.save=Save +action.shutDown=Shut down +action.iUnderstand=I understand +action.goTo=Go to {0} +action.copyToClipboard=Copy to clipboard +action.search=Search +action.edit=Edit +action.editable=Editable +action.delete=Delete +action.learnMore=Learn more +action.dontShowAgain=Don't show again +action.expandOrCollapse=Click to collapse or expand +action.exportAsCsv=Export as CSV +action.react=React + +data.noDataAvailable=No data available +data.na=N/A +data.true=True +data.false=False +data.add=Add +data.remove=Remove + +offer.createOffer=Create offer +offer.takeOffer.buy.button=Buy Bitcoin +offer.takeOffer.sell.button=Sell Bitcoin +offer.deleteOffer=Delete my offer +offer.buy=buy +offer.sell=sell +offer.buying=buying +offer.selling=selling +offer.seller=Seller +offer.buyer=Buyer +offer.maker=Maker +offer.taker=Taker +offer.price.above=above +offer.price.below=below +offer.amount=Amount + +temporal.date=Date +temporal.age=Age +# suppress inspection "UnusedProperty" +temporal.day.1={0} day +# suppress inspection "UnusedProperty" +temporal.day.*={0} days +# suppress inspection "UnusedProperty" +temporal.year.1={0} year +# suppress inspection "UnusedProperty" +temporal.year.*={0} years +temporal.at=at + + + +#################################################################### +# Validation +#################################################################### + +# suppress inspection "UnusedProperty" +validation.invalid=Invalid input +validation.invalidNumber=Input is not a valid number +validation.invalidPercentage=Input is not a valid percentage value +validation.empty=Empty string not allowed +validation.password.tooShort=The password you entered is too short. It needs to contain at least 8 characters. +validation.password.notMatching=The 2 passwords you entered do not match +validation.tooLong=Input text must not be longer than {0} characters +validation.invalidBitcoinAddress=The Bitcoin address appears to be invalid +validation.invalidBitcoinTransactionId=The Bitcoin transaction ID appears to be invalid +validation.invalidLightningInvoice=The Lightning invoice appears to be invalid +validation.invalidLightningPreimage=The Lightning preimage appears to be invalid + + +#################################################################### +# UI components +#################################################################### + +component.priceInput.prompt=Enter price +component.priceInput.description={0} price +component.marketPrice.requesting=Requesting market price + +# suppress inspection "UnusedProperty" +component.marketPrice.source.PERSISTED=No market data received yet. Using persisted data. +# suppress inspection "UnusedProperty" +component.marketPrice.source.PROPAGATED_IN_NETWORK=Propagated by oracle node: {0} +# suppress inspection "UnusedProperty" +component.marketPrice.source.REQUESTED_FROM_PRICE_NODE=Requested from: {0} +component.marketPrice.provider.BISQAGGREGATE=Bisq price aggregator + +component.marketPrice.tooltip.isStale=\nWARNING: Market price is outdated! +component.marketPrice.tooltip={0}\n\ + Updated: {1} ago\n\ + Received at: {2}{3} + + +#################################################################### +# Table +#################################################################### +component.standardTable.filter.showAll=Show all +component.standardTable.filter.tooltip=Filter by {0} +component.standardTable.numEntries=Number of entries: {0} +component.standardTable.csv.plainValue={0} (plain value) + diff --git a/pocs/android_only_m2_j17jars/app/src/main/resources/default_cs.properties b/pocs/android_only_m2_j17jars/app/src/main/resources/default_cs.properties new file mode 100644 index 00000000..ebc9ec65 --- /dev/null +++ b/pocs/android_only_m2_j17jars/app/src/main/resources/default_cs.properties @@ -0,0 +1,140 @@ +# Keep display strings organized by domain +# Naming convention: We use camelCase and dot separated name spaces. +# Use as many sub spaces as required to make the structure clear, but as little as possible. +# E.g.: [main-view].[component].[description] +# In some cases we use enum values or constants to map to display strings. Those cannot be detected by IDE and +# might show incorrectly as unused. + +# Use always at least one namespace as IntelliJ IDE might refactor other strings when renaming the key if the +# key is commonly used in other contexts. With at least one namespace the risk for accidental changes is reduced. + +# An annoying issue with property files is that we need to use 2 single quotes in display string +# containing variables (e.g. {0}), otherwise the variable will not be resolved. +# In display string which do not use a variable a single quote is ok. +# E.g. Don''t .... {1} + +# Hyperlinks in popups can be added via: [HYPERLINK:https://....]. They will get displayed as enumerated footer notes. + +# We use sometimes dynamic parts which are put together in the code and therefore sometimes use line breaks or spaces +# at the end of the string. Please never remove any line breaks or spaces. +# To make longer strings better readable you can make a line break with \ which does not result in a line break +# in the string, only in the editor. + +# Please use in all language files the exact same order of the entries, that way comparison is easier. + +# Please try to keep the length of the translated string similar to English. If it is longer it might break layout or +# get truncated. We will need some adjustments in the UI code to support that, but we want to keep effort at the minimum. + + +################################################################################ +# +# Common strings +# +################################################################################ + +confirmation.yes=Ano +confirmation.no=Ne +confirmation.ok=OK + +action.next=Další +action.back=Zpět +action.cancel=Zrušit +action.close=Zavřít +action.save=Uložit +action.shutDown=Vypnout +action.iUnderstand=Chápu +action.goTo=Přejít na {0} +action.copyToClipboard=Kopírovat do schránky +action.search=Hledat +action.edit=Upravit +action.editable=Editovatelný +action.delete=Smazat +action.learnMore=Dozvědět se více +action.dontShowAgain=Už nezobrazovat +action.expandOrCollapse=Klikněte pro sbalení nebo rozbalení +action.exportAsCsv=Exportovat jako CSV +action.react=Reagovat + +data.noDataAvailable=Žádná dostupná data +data.na=Nedostupné +data.true=Pravda +data.false=Nepravda +data.add=Přidat +data.remove=Odebrat + +offer.createOffer=Vytvořit nabídku +offer.takeOffer.buy.button=Koupit Bitcoin +offer.takeOffer.sell.button=Prodat Bitcoin +offer.deleteOffer=Smazat mou nabídku +offer.buy=koupit +offer.sell=prodat +offer.buying=kupující +offer.selling=prodávající +offer.seller=Prodávající +offer.buyer=Kupující +offer.maker=Tvůrce +offer.taker=Příjemce +offer.price.above=nad +offer.price.below=pod +offer.amount=Množství + +temporal.date=Datum +temporal.age=Stáří +# suppress inspection "UnusedProperty" +temporal.day.1={0} den +# suppress inspection "UnusedProperty" +temporal.day.*={0} dní +# suppress inspection "UnusedProperty" +temporal.year.1={0} rok +# suppress inspection "UnusedProperty" +temporal.year.*={0} let +temporal.at=v + + + +#################################################################### +# Validation +#################################################################### + +# suppress inspection "UnusedProperty" +validation.invalid=Neplatný vstup +validation.invalidNumber=Vstup není platné číslo +validation.invalidPercentage=Vstup není platná procentuální hodnota +validation.empty=Není dovolen prázdný řetězec +validation.password.tooShort=Zadané heslo je příliš krátké. Musí obsahovat alespoň 8 znaků. +validation.password.notMatching=Zadané 2 hesla se neshodují +validation.tooLong=Text vstupu nesmí být delší než {0} znaků +validation.invalidBitcoinAddress=Bitcoinová adresa se zdá být neplatná +validation.invalidBitcoinTransactionId=ID Bitcoin transakce se zdá být neplatné +validation.invalidLightningInvoice=Lightning faktura se zdá být neplatná +validation.invalidLightningPreimage=Lightning preimage se zdá být neplatná + + +#################################################################### +# UI components +#################################################################### + +component.priceInput.prompt=Zadejte cenu +component.priceInput.description={0} cena +component.marketPrice.requesting=Požadování tržní ceny + +# suppress inspection "UnusedProperty" +component.marketPrice.source.PERSISTED=Uložená data +# suppress inspection "UnusedProperty" +component.marketPrice.source.PROPAGATED_IN_NETWORK=Propagováno uzlem oracle: {0} +# suppress inspection "UnusedProperty" +component.marketPrice.source.REQUESTED_FROM_PRICE_NODE=Požadováno od: {0} +component.marketPrice.provider.BISQAGGREGATE=Agregátor cen Bisq + +component.marketPrice.tooltip.isStale=\nUPOZORNĚNÍ: Tržní cena je zastaralá! +component.marketPrice.tooltip={0}\nAktualizováno: před {1}\nPřijato: {2}{3} + + +#################################################################### +# Table +#################################################################### +component.standardTable.filter.showAll=Zobrazit vše +component.standardTable.filter.tooltip=Filtrovat podle {0} +component.standardTable.numEntries=Počet položek: {0} +component.standardTable.csv.plainValue={0} (běžná hodnota) + diff --git a/pocs/android_only_m2_j17jars/app/src/main/resources/default_de.properties b/pocs/android_only_m2_j17jars/app/src/main/resources/default_de.properties new file mode 100644 index 00000000..b44bf201 --- /dev/null +++ b/pocs/android_only_m2_j17jars/app/src/main/resources/default_de.properties @@ -0,0 +1,140 @@ +# Keep display strings organized by domain +# Naming convention: We use camelCase and dot separated name spaces. +# Use as many sub spaces as required to make the structure clear, but as little as possible. +# E.g.: [main-view].[component].[description] +# In some cases we use enum values or constants to map to display strings. Those cannot be detected by IDE and +# might show incorrectly as unused. + +# Use always at least one namespace as IntelliJ IDE might refactor other strings when renaming the key if the +# key is commonly used in other contexts. With at least one namespace the risk for accidental changes is reduced. + +# An annoying issue with property files is that we need to use 2 single quotes in display string +# containing variables (e.g. {0}), otherwise the variable will not be resolved. +# In display string which do not use a variable a single quote is ok. +# E.g. Don''t .... {1} + +# Hyperlinks in popups can be added via: [HYPERLINK:https://....]. They will get displayed as enumerated footer notes. + +# We use sometimes dynamic parts which are put together in the code and therefore sometimes use line breaks or spaces +# at the end of the string. Please never remove any line breaks or spaces. +# To make longer strings better readable you can make a line break with \ which does not result in a line break +# in the string, only in the editor. + +# Please use in all language files the exact same order of the entries, that way comparison is easier. + +# Please try to keep the length of the translated string similar to English. If it is longer it might break layout or +# get truncated. We will need some adjustments in the UI code to support that, but we want to keep effort at the minimum. + + +################################################################################ +# +# Common strings +# +################################################################################ + +confirmation.yes=Ja +confirmation.no=Nein +confirmation.ok=OK + +action.next=Weiter +action.back=Zurück +action.cancel=Abbrechen +action.close=Schließen +action.save=Speichern +action.shutDown=Herunterfahren +action.iUnderstand=Ich verstehe +action.goTo=Gehe zu {0} +action.copyToClipboard=In Zwischenablage kopieren +action.search=Suche +action.edit=Bearbeiten +action.editable=Bearbeitbar +action.delete=Löschen +action.learnMore=Mehr erfahren +action.dontShowAgain=Nicht erneut anzeigen +action.expandOrCollapse=Klicken Sie zum Ausblenden oder Einblenden +action.exportAsCsv=Als CSV exportieren +action.react=Reagieren + +data.noDataAvailable=Keine Daten verfügbar +data.na=N/V +data.true=Wahr +data.false=Falsch +data.add=Hinzufügen +data.remove=Entfernen + +offer.createOffer=Neues Angebot erstellen +offer.takeOffer.buy.button=Bitcoin kaufen +offer.takeOffer.sell.button=Bitcoin verkaufen +offer.deleteOffer=Mein Angebot löschen +offer.buy=kaufen +offer.sell=verkaufen +offer.buying=kaufe +offer.selling=verkaufe +offer.seller=Verkäufer +offer.buyer=Käufer +offer.maker=Anbieter +offer.taker=Akzeptierender +offer.price.above=über +offer.price.below=unter +offer.amount=Menge + +temporal.date=Datum +temporal.age=Alter +# suppress inspection "UnusedProperty" +temporal.day.1={0} Tag +# suppress inspection "UnusedProperty" +temporal.day.*={0} Tage +# suppress inspection "UnusedProperty" +temporal.year.1={0} Jahr +# suppress inspection "UnusedProperty" +temporal.year.*={0} Jahre +temporal.at=bei + + + +#################################################################### +# Validation +#################################################################### + +# suppress inspection "UnusedProperty" +validation.invalid=Ungültige Eingabe +validation.invalidNumber=Eingabe ist keine gültige Zahl +validation.invalidPercentage=Eingabe ist kein gültiger Prozentsatz +validation.empty=Leere Zeichenfolge nicht erlaubt +validation.password.tooShort=Das eingegebene Passwort ist zu kurz. Es muss mindestens 8 Zeichen enthalten. +validation.password.notMatching=Die beiden eingegebenen Passwörter stimmen nicht überein +validation.tooLong=Der Eingabetext darf nicht länger als {0} Zeichen sein +validation.invalidBitcoinAddress=Die Bitcoin-Adresse scheint ungültig zu sein +validation.invalidBitcoinTransactionId=Die Bitcoin-Transaktions-ID scheint ungültig zu sein +validation.invalidLightningInvoice=Die Lightning-Rechnung scheint ungültig zu sein +validation.invalidLightningPreimage=Das Lightning-Preimage scheint ungültig zu sein + + +#################################################################### +# UI components +#################################################################### + +component.priceInput.prompt=Preis eingeben +component.priceInput.description={0} Preis +component.marketPrice.requesting=Marktpreis anfordern + +# suppress inspection "UnusedProperty" +component.marketPrice.source.PERSISTED=Dauerhafte Daten +# suppress inspection "UnusedProperty" +component.marketPrice.source.PROPAGATED_IN_NETWORK=Propagiert durch Orakel-Knoten: {0} +# suppress inspection "UnusedProperty" +component.marketPrice.source.REQUESTED_FROM_PRICE_NODE=Angefordert von: {0} +component.marketPrice.provider.BISQAGGREGATE=Bisq Preisaggregator + +component.marketPrice.tooltip.isStale=\nWARNUNG: Der Marktpreis ist veraltet! +component.marketPrice.tooltip={0}\nAktualisiert: Vor {1}\nErhalten am: {2}{3} + + +#################################################################### +# Table +#################################################################### +component.standardTable.filter.showAll=Alles anzeigen +component.standardTable.filter.tooltip=Nach {0} filtern +component.standardTable.numEntries=Anzahl der Einträge: {0} +component.standardTable.csv.plainValue={0} (einfacher Wert) + diff --git a/pocs/android_only_m2_j17jars/app/src/main/resources/default_es.properties b/pocs/android_only_m2_j17jars/app/src/main/resources/default_es.properties new file mode 100644 index 00000000..03193c29 --- /dev/null +++ b/pocs/android_only_m2_j17jars/app/src/main/resources/default_es.properties @@ -0,0 +1,140 @@ +# Keep display strings organized by domain +# Naming convention: We use camelCase and dot separated name spaces. +# Use as many sub spaces as required to make the structure clear, but as little as possible. +# E.g.: [main-view].[component].[description] +# In some cases we use enum values or constants to map to display strings. Those cannot be detected by IDE and +# might show incorrectly as unused. + +# Use always at least one namespace as IntelliJ IDE might refactor other strings when renaming the key if the +# key is commonly used in other contexts. With at least one namespace the risk for accidental changes is reduced. + +# An annoying issue with property files is that we need to use 2 single quotes in display string +# containing variables (e.g. {0}), otherwise the variable will not be resolved. +# In display string which do not use a variable a single quote is ok. +# E.g. Don''t .... {1} + +# Hyperlinks in popups can be added via: [HYPERLINK:https://....]. They will get displayed as enumerated footer notes. + +# We use sometimes dynamic parts which are put together in the code and therefore sometimes use line breaks or spaces +# at the end of the string. Please never remove any line breaks or spaces. +# To make longer strings better readable you can make a line break with \ which does not result in a line break +# in the string, only in the editor. + +# Please use in all language files the exact same order of the entries, that way comparison is easier. + +# Please try to keep the length of the translated string similar to English. If it is longer it might break layout or +# get truncated. We will need some adjustments in the UI code to support that, but we want to keep effort at the minimum. + + +################################################################################ +# +# Common strings +# +################################################################################ + +confirmation.yes=Sí +confirmation.no=No +confirmation.ok=OK + +action.next=Siguiente +action.back=Atrás +action.cancel=Cancelar +action.close=Cerrar +action.save=Guardar +action.shutDown=Apagar +action.iUnderstand=Lo entiendo +action.goTo=Ir a {0} +action.copyToClipboard=Copiar al portapapeles +action.search=Buscar +action.edit=Editar +action.editable=Editable +action.delete=Eliminar +action.learnMore=Más información +action.dontShowAgain=No mostrar de nuevo +action.expandOrCollapse=Haga clic para cerrar o expandir +action.exportAsCsv=Exportar como CSV +action.react=Reaccionar + +data.noDataAvailable=No hay datos disponibles +data.na=N/D +data.true=Verdadero +data.false=Falso +data.add=Añadir +data.remove=Eliminar + +offer.createOffer=Crear oferta +offer.takeOffer.buy.button=Comprar Bitcoin +offer.takeOffer.sell.button=Vender Bitcoin +offer.deleteOffer=Eliminar mi oferta +offer.buy=comprar +offer.sell=vender +offer.buying=comprando +offer.selling=vendiendo +offer.seller=Vendedor +offer.buyer=Comprador +offer.maker=Ofertante +offer.taker=Tomador +offer.price.above=por encima de +offer.price.below=por debajo de +offer.amount=Cantidad + +temporal.date=Fecha +temporal.age=Edad +# suppress inspection "UnusedProperty" +temporal.day.1={0} día +# suppress inspection "UnusedProperty" +temporal.day.*={0} días +# suppress inspection "UnusedProperty" +temporal.year.1={0} año +# suppress inspection "UnusedProperty" +temporal.year.*={0} años +temporal.at=en + + + +#################################################################### +# Validation +#################################################################### + +# suppress inspection "UnusedProperty" +validation.invalid=Entrada no válida +validation.invalidNumber=No es un número válido +validation.invalidPercentage=No es un porcentaje válido +validation.empty=No se permite texto vacío +validation.password.tooShort=La contraseña que has introducido es demasiado corta. Debe contener al menos 8 caracteres. +validation.password.notMatching=Las 2 contraseñas no coinciden +validation.tooLong=El texto no debe ser más largo de {0} caracteres +validation.invalidBitcoinAddress=La dirección de Bitcoin no parece válida +validation.invalidBitcoinTransactionId=El ID de la transacción de Bitcoin no parece válido +validation.invalidLightningInvoice=La factura de Lightning no parece válida +validation.invalidLightningPreimage=La preimagen de Lightning no parece válida + + +#################################################################### +# UI components +#################################################################### + +component.priceInput.prompt=Introduce el precio +component.priceInput.description={0} precio +component.marketPrice.requesting=Solicitando precio de mercado + +# suppress inspection "UnusedProperty" +component.marketPrice.source.PERSISTED=Pendiente de recibir precio de mercado. Usando datos persistidos en su lugar. +# suppress inspection "UnusedProperty" +component.marketPrice.source.PROPAGATED_IN_NETWORK=Propagado por el nodo oráculo: {0} +# suppress inspection "UnusedProperty" +component.marketPrice.source.REQUESTED_FROM_PRICE_NODE=Solicitado de: {0} +component.marketPrice.provider.BISQAGGREGATE=Agregador de precios de Bisq + +component.marketPrice.tooltip.isStale=\nADVERTENCIA: ¡El precio de mercado está desactualizado! +component.marketPrice.tooltip={0}\nActualizado: hace {1}\nRecibido en: {2}{3} + + +#################################################################### +# Table +#################################################################### +component.standardTable.filter.showAll=Mostrar todo +component.standardTable.filter.tooltip=Filtrar por {0} +component.standardTable.numEntries=Número de entradas: {0} +component.standardTable.csv.plainValue={0} (valor simple) + diff --git a/pocs/android_only_m2_j17jars/app/src/main/resources/default_it.properties b/pocs/android_only_m2_j17jars/app/src/main/resources/default_it.properties new file mode 100644 index 00000000..d97dd817 --- /dev/null +++ b/pocs/android_only_m2_j17jars/app/src/main/resources/default_it.properties @@ -0,0 +1,140 @@ +# Keep display strings organized by domain +# Naming convention: We use camelCase and dot separated name spaces. +# Use as many sub spaces as required to make the structure clear, but as little as possible. +# E.g.: [main-view].[component].[description] +# In some cases we use enum values or constants to map to display strings. Those cannot be detected by IDE and +# might show incorrectly as unused. + +# Use always at least one namespace as IntelliJ IDE might refactor other strings when renaming the key if the +# key is commonly used in other contexts. With at least one namespace the risk for accidental changes is reduced. + +# An annoying issue with property files is that we need to use 2 single quotes in display string +# containing variables (e.g. {0}), otherwise the variable will not be resolved. +# In display string which do not use a variable a single quote is ok. +# E.g. Don''t .... {1} + +# Hyperlinks in popups can be added via: [HYPERLINK:https://....]. They will get displayed as enumerated footer notes. + +# We use sometimes dynamic parts which are put together in the code and therefore sometimes use line breaks or spaces +# at the end of the string. Please never remove any line breaks or spaces. +# To make longer strings better readable you can make a line break with \ which does not result in a line break +# in the string, only in the editor. + +# Please use in all language files the exact same order of the entries, that way comparison is easier. + +# Please try to keep the length of the translated string similar to English. If it is longer it might break layout or +# get truncated. We will need some adjustments in the UI code to support that, but we want to keep effort at the minimum. + + +################################################################################ +# +# Common strings +# +################################################################################ + +confirmation.yes=Sì +confirmation.no=No +confirmation.ok=OK + +action.next=Avanti +action.back=Indietro +action.cancel=Annulla +action.close=Chiudi +action.save=Salva +action.shutDown=Spegni +action.iUnderstand=Ho capito +action.goTo=Vai a {0} +action.copyToClipboard=Copia negli appunti +action.search=Cerca +action.edit=Modifica +action.editable=Modificabile +action.delete=Elimina +action.learnMore=Scopri di più +action.dontShowAgain=Non mostrare più +action.expandOrCollapse=Clicca per espandere o comprimere +action.exportAsCsv=Esporta come CSV +action.react=Reagisci + +data.noDataAvailable=Dati non disponibili +data.na=N/D +data.true=Vero +data.false=Falso +data.add=Aggiungi +data.remove=Rimuovi + +offer.createOffer=Crea offerta +offer.takeOffer.buy.button=Compra Bitcoin +offer.takeOffer.sell.button=Vendi Bitcoin +offer.deleteOffer=Elimina la mia offerta +offer.buy=compra +offer.sell=vendi +offer.buying=in acquisto +offer.selling=in vendita +offer.seller=Venditore +offer.buyer=Acquirente +offer.maker=Produttore +offer.taker=Accettatore +offer.price.above=sopra +offer.price.below=sotto +offer.amount=Quantità + +temporal.date=Data +temporal.age=Età +# suppress inspection "UnusedProperty" +temporal.day.1={0} giorno +# suppress inspection "UnusedProperty" +temporal.day.*={0} giorni +# suppress inspection "UnusedProperty" +temporal.year.1={0} anno +# suppress inspection "UnusedProperty" +temporal.year.*={0} anni +temporal.at=a + + + +#################################################################### +# Validation +#################################################################### + +# suppress inspection "UnusedProperty" +validation.invalid=Input non valido +validation.invalidNumber=L'input non è un numero valido +validation.invalidPercentage=L'input non è un valore percentuale valido +validation.empty=Non è consentita una stringa vuota +validation.password.tooShort=La password inserita è troppo corta. Deve contenere almeno 8 caratteri. +validation.password.notMatching=Le due password inserite non corrispondono +validation.tooLong=Il testo di input non deve superare i {0} caratteri +validation.invalidBitcoinAddress=L'indirizzo Bitcoin sembra non valido +validation.invalidBitcoinTransactionId=L'ID della transazione Bitcoin sembra non valido +validation.invalidLightningInvoice=La fattura Lightning sembra non valida +validation.invalidLightningPreimage=La preimmagine Lightning sembra non valida + + +#################################################################### +# UI components +#################################################################### + +component.priceInput.prompt=Inserisci il prezzo +component.priceInput.description={0} prezzo +component.marketPrice.requesting=Richiesta del prezzo di mercato + +# suppress inspection "UnusedProperty" +component.marketPrice.source.PERSISTED=Dati conservati +# suppress inspection "UnusedProperty" +component.marketPrice.source.PROPAGATED_IN_NETWORK=Propagato dal nodo oracle: {0} +# suppress inspection "UnusedProperty" +component.marketPrice.source.REQUESTED_FROM_PRICE_NODE=Richiesto da: {0} +component.marketPrice.provider.BISQAGGREGATE=Aggregatore di prezzo di Bisq + +component.marketPrice.tooltip.isStale=\nATTENZIONE: Il prezzo di mercato è obsoleto! +component.marketPrice.tooltip={0}\nAggiornato: {1} fa\nRicevuto il: {2}{3} + + +#################################################################### +# Table +#################################################################### +component.standardTable.filter.showAll=Mostra tutto +component.standardTable.filter.tooltip=Filtra per {0} +component.standardTable.numEntries=Numero di voci: {0} +component.standardTable.csv.plainValue={0} (valore semplice) + diff --git a/pocs/android_only_m2_j17jars/app/src/main/resources/default_pcm.properties b/pocs/android_only_m2_j17jars/app/src/main/resources/default_pcm.properties new file mode 100644 index 00000000..636b3ab1 --- /dev/null +++ b/pocs/android_only_m2_j17jars/app/src/main/resources/default_pcm.properties @@ -0,0 +1,140 @@ +# Keep display strings organized by domain +# Naming convention: We use camelCase and dot separated name spaces. +# Use as many sub spaces as required to make the structure clear, but as little as possible. +# E.g.: [main-view].[component].[description] +# In some cases we use enum values or constants to map to display strings. Those cannot be detected by IDE and +# might show incorrectly as unused. + +# Use always at least one namespace as IntelliJ IDE might refactor other strings when renaming the key if the +# key is commonly used in other contexts. With at least one namespace the risk for accidental changes is reduced. + +# An annoying issue with property files is that we need to use 2 single quotes in display string +# containing variables (e.g. {0}), otherwise the variable will not be resolved. +# In display string which do not use a variable a single quote is ok. +# E.g. Don''t .... {1} + +# Hyperlinks in popups can be added via: [HYPERLINK:https://....]. They will get displayed as enumerated footer notes. + +# We use sometimes dynamic parts which are put together in the code and therefore sometimes use line breaks or spaces +# at the end of the string. Please never remove any line breaks or spaces. +# To make longer strings better readable you can make a line break with \ which does not result in a line break +# in the string, only in the editor. + +# Please use in all language files the exact same order of the entries, that way comparison is easier. + +# Please try to keep the length of the translated string similar to English. If it is longer it might break layout or +# get truncated. We will need some adjustments in the UI code to support that, but we want to keep effort at the minimum. + + +################################################################################ +# +# Common strings +# +################################################################################ + +confirmation.yes=Yes +confirmation.no=No +confirmation.ok=OK + +action.next=Next +action.back=Back +action.cancel=Cancel +action.close=Klose +action.save=Save +action.shutDown=Shut down +action.iUnderstand=I sabi +action.goTo=Go to {0} +action.copyToClipboard=Kopi to clipboard +action.search=Searh +action.edit=Edit +action.editable=Editabl +action.delete=Delete +action.learnMore=Lern more +action.dontShowAgain=No show again +action.expandOrCollapse=Click to close or open +action.exportAsCsv=Eksport am as CSV +action.react=Reakt + +data.noDataAvailable=No data dey available +data.na=N/A +data.true=True +data.false=Fals +data.add=Add +data.remove=Remove + +offer.createOffer=Kreate offer +offer.takeOffer.buy.button=Buy Bitcoin +offer.takeOffer.sell.button=Sell Bitcoin +offer.deleteOffer=Delete my offer +offer.buy=buy +offer.sell=sell +offer.buying=buying +offer.selling=saling +offer.seller=Sela +offer.buyer=Baya +offer.maker=Meka +offer.taker=Taka +offer.price.above=bove +offer.price.below=belo +offer.amount=Amont + +temporal.date=Dei +temporal.age=Age +# suppress inspection "UnusedProperty" +temporal.day.1={0} day +# suppress inspection "UnusedProperty" +temporal.day.*={0} dey +# suppress inspection "UnusedProperty" +temporal.year.1={0} yara +# suppress inspection "UnusedProperty" +temporal.year.*={0} years +temporal.at=for + + + +#################################################################### +# Validation +#################################################################### + +# suppress inspection "UnusedProperty" +validation.invalid=Input wey no valid +validation.invalidNumber=Input no be valid number +validation.invalidPercentage=Input no be valid percentage value +validation.empty=Empty string no allowed +validation.password.tooShort=The password wey you enter too short. E need to get at least 8 characters. +validation.password.notMatching=The 2 passwords wey you enter no match +validation.tooLong=Input text no suppose pass {0} characters +validation.invalidBitcoinAddress=Di Bitcoin address dey look like say e invalid +validation.invalidBitcoinTransactionId=Di Bitcoin transaction ID dey look like say e invalid +validation.invalidLightningInvoice=Di Lightning invoice dey look like say e invalid +validation.invalidLightningPreimage=Di Lightning preimage dey look like say e invalid + + +#################################################################### +# UI components +#################################################################### + +component.priceInput.prompt=Enter pris +component.priceInput.description={0} prais +component.marketPrice.requesting=Dey request market price + +# suppress inspection "UnusedProperty" +component.marketPrice.source.PERSISTED=Persisted data +# suppress inspection "UnusedProperty" +component.marketPrice.source.PROPAGATED_IN_NETWORK=Propagated by oracle node: {0} +# suppress inspection "UnusedProperty" +component.marketPrice.source.REQUESTED_FROM_PRICE_NODE=Request wey come from: {0} +component.marketPrice.provider.BISQAGGREGATE=Bisq price aggregator + +component.marketPrice.tooltip.isStale=\nWARNING: Market price dey outdated! +component.marketPrice.tooltip={0}\nUpdated: {1} ago\nReceived at: {2}{3} + + +#################################################################### +# Table +#################################################################### +component.standardTable.filter.showAll=Show all +component.standardTable.filter.tooltip=Filta by {0} +component.standardTable.numEntries=Namba of entries: {0} +component.standardTable.csv.plainValue={0} (plin valyu) + diff --git a/pocs/android_only_m2_j17jars/app/src/main/resources/default_pt_BR.properties b/pocs/android_only_m2_j17jars/app/src/main/resources/default_pt_BR.properties new file mode 100644 index 00000000..ac08f058 --- /dev/null +++ b/pocs/android_only_m2_j17jars/app/src/main/resources/default_pt_BR.properties @@ -0,0 +1,140 @@ +# Keep display strings organized by domain +# Naming convention: We use camelCase and dot separated name spaces. +# Use as many sub spaces as required to make the structure clear, but as little as possible. +# E.g.: [main-view].[component].[description] +# In some cases we use enum values or constants to map to display strings. Those cannot be detected by IDE and +# might show incorrectly as unused. + +# Use always at least one namespace as IntelliJ IDE might refactor other strings when renaming the key if the +# key is commonly used in other contexts. With at least one namespace the risk for accidental changes is reduced. + +# An annoying issue with property files is that we need to use 2 single quotes in display string +# containing variables (e.g. {0}), otherwise the variable will not be resolved. +# In display string which do not use a variable a single quote is ok. +# E.g. Don''t .... {1} + +# Hyperlinks in popups can be added via: [HYPERLINK:https://....]. They will get displayed as enumerated footer notes. + +# We use sometimes dynamic parts which are put together in the code and therefore sometimes use line breaks or spaces +# at the end of the string. Please never remove any line breaks or spaces. +# To make longer strings better readable you can make a line break with \ which does not result in a line break +# in the string, only in the editor. + +# Please use in all language files the exact same order of the entries, that way comparison is easier. + +# Please try to keep the length of the translated string similar to English. If it is longer it might break layout or +# get truncated. We will need some adjustments in the UI code to support that, but we want to keep effort at the minimum. + + +################################################################################ +# +# Common strings +# +################################################################################ + +confirmation.yes=Sim +confirmation.no=Não +confirmation.ok=OK + +action.next=Próximo +action.back=Voltar +action.cancel=Cancelar +action.close=Fechar +action.save=Salvar +action.shutDown=Desligar +action.iUnderstand=Eu entendo +action.goTo=Ir para {0} +action.copyToClipboard=Copiar para a área de transferência +action.search=Pesquisar +action.edit=Editar +action.editable=Editável +action.delete=Excluir +action.learnMore=Saber mais +action.dontShowAgain=Não mostrar novamente +action.expandOrCollapse=Clique para expandir ou recolher +action.exportAsCsv=Exportar como CSV +action.react=Reagir + +data.noDataAvailable=Sem dados disponíveis +data.na=N/D +data.true=Verdadeiro +data.false=Falso +data.add=Adicionar +data.remove=Remover + +offer.createOffer=Criar oferta +offer.takeOffer.buy.button=Comprar Bitcoin +offer.takeOffer.sell.button=Vender Bitcoin +offer.deleteOffer=Excluir minha oferta +offer.buy=comprar +offer.sell=vender +offer.buying=comprando +offer.selling=vendendo +offer.seller=Vendedor +offer.buyer=Comprador +offer.maker=Criador +offer.taker=Tomador +offer.price.above=acima +offer.price.below=abaixo +offer.amount=Quantidade + +temporal.date=Data +temporal.age=Idade +# suppress inspection "UnusedProperty" +temporal.day.1={0} dia +# suppress inspection "UnusedProperty" +temporal.day.*={0} dias +# suppress inspection "UnusedProperty" +temporal.year.1={0} ano +# suppress inspection "UnusedProperty" +temporal.year.*={0} anos +temporal.at=às + + + +#################################################################### +# Validation +#################################################################### + +# suppress inspection "UnusedProperty" +validation.invalid=Entrada inválida +validation.invalidNumber=A entrada não é um número válido +validation.invalidPercentage=A entrada não é um valor percentual válido +validation.empty=String vazia não permitida +validation.password.tooShort=A senha que você digitou é muito curta. Ela precisa ter pelo menos 8 caracteres. +validation.password.notMatching=As 2 senhas que você digitou não coincidem +validation.tooLong=O texto de entrada não deve ser mais longo que {0} caracteres +validation.invalidBitcoinAddress=O endereço Bitcoin parece ser inválido +validation.invalidBitcoinTransactionId=O ID da transação Bitcoin parece ser inválido +validation.invalidLightningInvoice=A fatura Lightning parece ser inválida +validation.invalidLightningPreimage=A pré-imagem Lightning parece ser inválida + + +#################################################################### +# UI components +#################################################################### + +component.priceInput.prompt=Insira o preço +component.priceInput.description=Preço em {0} +component.marketPrice.requesting=Solicitando preço de mercado + +# suppress inspection "UnusedProperty" +component.marketPrice.source.PERSISTED=Dados de mercado ainda não recebidos. Usando dados armazenados. +# suppress inspection "UnusedProperty" +component.marketPrice.source.PROPAGATED_IN_NETWORK=Propagado pelo nó oráculo: {0} +# suppress inspection "UnusedProperty" +component.marketPrice.source.REQUESTED_FROM_PRICE_NODE=Solicitado de: {0} +component.marketPrice.provider.BISQAGGREGATE=Agregador de preços Bisq + +component.marketPrice.tooltip.isStale=\nAVISO: Preço de mercado está desatualizado! +component.marketPrice.tooltip={0}\nAtualizado: {1} ago\nRecebido em: {2}{3} + + +#################################################################### +# Table +#################################################################### +component.standardTable.filter.showAll=Mostrar todos +component.standardTable.filter.tooltip=Filtrar por {0} +component.standardTable.numEntries=Número de entradas: {0} +component.standardTable.csv.plainValue={0} (valor simples) + diff --git a/pocs/android_only_m2_j17jars/app/src/main/resources/logback.xml b/pocs/android_only_m2_j17jars/app/src/main/resources/logback.xml new file mode 100644 index 00000000..daaf6f9e --- /dev/null +++ b/pocs/android_only_m2_j17jars/app/src/main/resources/logback.xml @@ -0,0 +1,17 @@ + + + + + + + + %d{HH:mm:ss.SSS} %-5level %logger{36} - %msg%n + + + + + + + + + \ No newline at end of file diff --git a/pocs/android_only_m2_j17jars/app/src/main/resources/network.properties b/pocs/android_only_m2_j17jars/app/src/main/resources/network.properties new file mode 100644 index 00000000..3e460964 --- /dev/null +++ b/pocs/android_only_m2_j17jars/app/src/main/resources/network.properties @@ -0,0 +1,79 @@ +#################################################################### +# Network +#################################################################### + +network.myNetworkNode=My network node +network.p2pNetwork=P2P network +network.roles=Bonded roles +network.nodes=Infrastructure nodes + +network.version.headline=Version distribution +network.version.versionDistribution.version=Version {0} +network.version.versionDistribution.oldVersions=2.0.4 (or below) +network.version.versionDistribution.tooltipLine={0} user profiles with version ''{1}'' +network.version.localVersion.headline=Local version info +network.version.localVersion.details=Bisq version: v{0}\n\ + Commit hash: {1}\n\ + Tor version: v{2} + +# suppress inspection "UnusedProperty" +network.transport.headline.CLEAR=Clear net +# suppress inspection "UnusedProperty" +network.transport.headline.TOR=Tor +# suppress inspection "UnusedProperty" +network.transport.headline.I2P=I2P + +network.transport.traffic.sent.headline=Outbound traffic of last hour +network.transport.traffic.sent.details=Data sent: {0}\n\ + Time for message sending: {1}\n\ + Number of messages: {2}\n\ + Number of messages by class name:\ + {3}\n\ + Number of distributed data by class name:\ + {4} +network.transport.traffic.received.headline=Inbound traffic of last hour +network.transport.traffic.received.details=Data received: {0}\n\ + Time for message deserialization: {1}\n\ + Number of messages: {2}\n\ + Number of messages by class name:\ + {3}\n\ + Number of distributed data by class name:\ + {4} + +network.transport.pow.headline=Proof of work +network.transport.pow.details=Total time spent: {0}\n\ + Average time per message: {1}\n\ + Number of messages: {2} + +network.transport.systemLoad.headline=System load +network.transport.systemLoad.details=Size of persisted network data: {0}\n\ + Current network load: {1}\n\ + Average network load: {2} + +network.header.nodeTag=Identity tag +network.header.nodeTag.tooltip=Identity tag: {0} + +network.connections.title=Connections +network.connections.header.peer=Peer +network.connections.header.address=Address +network.connections.header.connectionDirection=In/Out +network.connections.header.rtt=RTT +network.connections.header.sentHeader=Sent +network.connections.header.receivedHeader=Received +network.connections.inbound=Inbound +network.connections.outbound=Outbound +network.connections.ioData={0} / {1} Messages +network.connections.seed=Seed node + +network.nodeInfo.myAddress=My default address +network.nodes.title=My nodes +network.nodes.header.address=Server address +network.nodes.header.keyId=Key ID +network.nodes.header.numConnections=Number of Connections +network.nodes.header.type=Type +network.nodes.type.active=User node (active) +network.nodes.type.retired=User node (retired) +network.nodes.type.default=Gossip node + + + diff --git a/pocs/android_only_m2_j17jars/app/src/main/resources/network_cs.properties b/pocs/android_only_m2_j17jars/app/src/main/resources/network_cs.properties new file mode 100644 index 00000000..4ad7d7cd --- /dev/null +++ b/pocs/android_only_m2_j17jars/app/src/main/resources/network_cs.properties @@ -0,0 +1,61 @@ +#################################################################### +# Network +#################################################################### + +network.myNetworkNode=Můj síťový uzel +network.p2pNetwork=P2P síť +network.roles=Připojené role +network.nodes=Infrastrukturní uzly + +network.version.headline=Distribuce verzí +network.version.versionDistribution.version=Verze {0} +network.version.versionDistribution.oldVersions=2.0.4 (nebo starší) +network.version.versionDistribution.tooltipLine={0} uživatelských profilů s verzí ''{1}'' +network.version.localVersion.headline=Informace o lokální verzi +network.version.localVersion.details=Verze Bisq: v{0}\nCommit hash: {1}\nVerze Tor: v{2} + +# suppress inspection "UnusedProperty" +network.transport.headline.CLEAR=Clearnet +# suppress inspection "UnusedProperty" +network.transport.headline.TOR=Tor +# suppress inspection "UnusedProperty" +network.transport.headline.I2P=I2P + +network.transport.traffic.sent.headline=Odchozí provoz za poslední hodinu +network.transport.traffic.sent.details=Odeslaná data: {0}\nČas na odeslání zprávy: {1}\nPočet zpráv: {2}\nPočet zpráv podle názvu třídy: {3}\nPočet distribuovaných dat podle názvu třídy: {4} +network.transport.traffic.received.headline=Příchozí provoz za poslední hodinu +network.transport.traffic.received.details=Přijatá data: {0}\nČas na deserializaci zprávy: {1}\nPočet zpráv: {2}\nPočet zpráv podle názvu třídy: {3}\nPočet distribuovaných dat podle názvu třídy: {4} + +network.transport.pow.headline=Důkaz práce +network.transport.pow.details=Celkový strávený čas: {0}\nPrůměrný čas na zprávu: {1}\nPočet zpráv: {2} + +network.transport.systemLoad.headline=Zatížení systému +network.transport.systemLoad.details=Velikost uložených síťových dat: {0}\nAktuální zatížení sítě: {1}\nPrůměrné zatížení sítě: {2} + +network.header.nodeTag=Značka identity +network.header.nodeTag.tooltip=Značka identity: {0} + +network.connections.title=Spojení +network.connections.header.peer=Partner +network.connections.header.address=Adresa +network.connections.header.connectionDirection=Vstup/Výstup +network.connections.header.rtt=RTT +network.connections.header.sentHeader=Odesláno +network.connections.header.receivedHeader=Přijato +network.connections.inbound=Příchozí +network.connections.outbound=Odchozí +network.connections.ioData={0} / {1} Zprávy +network.connections.seed=Seed uzel + +network.nodeInfo.myAddress=Moje výchozí adresa +network.nodes.title=Mé uzly +network.nodes.header.address=Adresa serveru +network.nodes.header.keyId=ID klíče +network.nodes.header.numConnections=Počet spojení +network.nodes.header.type=Typ +network.nodes.type.active=Uživatelský uzel (aktivní) +network.nodes.type.retired=Uživatelský uzel (odstavený) +network.nodes.type.default=Gossip uzel + + + diff --git a/pocs/android_only_m2_j17jars/app/src/main/resources/network_de.properties b/pocs/android_only_m2_j17jars/app/src/main/resources/network_de.properties new file mode 100644 index 00000000..d29b3ef1 --- /dev/null +++ b/pocs/android_only_m2_j17jars/app/src/main/resources/network_de.properties @@ -0,0 +1,61 @@ +#################################################################### +# Network +#################################################################### + +network.myNetworkNode=Mein Netzwerkknoten +network.p2pNetwork=P2P-Netzwerk +network.roles=Rollen mit hinterlegtem Pfand +network.nodes=Infrastrukturknoten + +network.version.headline=Versionsverteilung +network.version.versionDistribution.version=Version {0} +network.version.versionDistribution.oldVersions=2.0.4 (oder früher) +network.version.versionDistribution.tooltipLine={0} Benutzerprofile mit Version ''{1}'' +network.version.localVersion.headline=Lokale Versionsinfo +network.version.localVersion.details=Bisq Version: v{0}\nCommit-Hash: {1}\nTor Version: v{2} + +# suppress inspection "UnusedProperty" +network.transport.headline.CLEAR=Klar-Netz +# suppress inspection "UnusedProperty" +network.transport.headline.TOR=Tor +# suppress inspection "UnusedProperty" +network.transport.headline.I2P=I2P + +network.transport.traffic.sent.headline=Ausgehender Verkehr der letzten Stunde +network.transport.traffic.sent.details=Gesendete Daten: {0}\nZeit für das Senden der Nachricht: {1}\nAnzahl der Nachrichten: {2}\nAnzahl der Nachrichten nach Klassenname: {3}\nVerteilte Daten nach Klassenname: {4} +network.transport.traffic.received.headline=Eingehender Verkehr der letzten Stunde +network.transport.traffic.received.details=Empfangene Daten: {0}\nZeit für die Deserialisierung der Nachricht: {1}\nAnzahl der Nachrichten: {2}\nAnzahl der Nachrichten nach Klassenname: {3}\nVerteilte Daten nach Klassenname: {4} + +network.transport.pow.headline=Arbeitsnachweis +network.transport.pow.details=Gesamtzeit: {0}\nDurchschnittliche Zeit pro Nachricht: {1}\nAnzahl der Nachrichten: {2} + +network.transport.systemLoad.headline=Systemauslastung +network.transport.systemLoad.details=Größe der gespeicherten Netzdaten: {0}\nAktuelle Netzauslastung: {1}\nDurchschnittliche Netzauslastung: {2} + +network.header.nodeTag=Knotenbezeichnung +network.header.nodeTag.tooltip=Identitätsbezeichnung: {0} + +network.connections.title=Verbindungen +network.connections.header.peer=Peer +network.connections.header.address=Adresse +network.connections.header.connectionDirection=Eingehend/Ausgehend +network.connections.header.rtt=RTT +network.connections.header.sentHeader=Gesendet +network.connections.header.receivedHeader=Empfangen +network.connections.inbound=Eingehend +network.connections.outbound=Ausgehend +network.connections.ioData={0} / {1} Nachrichten +network.connections.seed=Seed-Knoten + +network.nodeInfo.myAddress=Meine Standardadresse +network.nodes.title=Meine Knoten +network.nodes.header.address=Serveradresse +network.nodes.header.keyId=Schlüssel-ID +network.nodes.header.numConnections=Anzahl der Verbindungen +network.nodes.header.type=Typ +network.nodes.type.active=Benutzerknoten (aktiv) +network.nodes.type.retired=Benutzerknoten (nicht aktiv) +network.nodes.type.default=Gossip-Knoten + + + diff --git a/pocs/android_only_m2_j17jars/app/src/main/resources/network_es.properties b/pocs/android_only_m2_j17jars/app/src/main/resources/network_es.properties new file mode 100644 index 00000000..df5228b8 --- /dev/null +++ b/pocs/android_only_m2_j17jars/app/src/main/resources/network_es.properties @@ -0,0 +1,61 @@ +#################################################################### +# Network +#################################################################### + +network.myNetworkNode=Mi nodo de la red +network.p2pNetwork=Red P2P +network.roles=Roles con fianza +network.nodes=Nodos de infraestructura + +network.version.headline=Distribución de versiones +network.version.versionDistribution.version=Versión {0} +network.version.versionDistribution.oldVersions=2.0.4 (o anteriores) +network.version.versionDistribution.tooltipLine={0} perfiles de usuario con versión ''{1}'' +network.version.localVersion.headline=Información de la versión local +network.version.localVersion.details=Versión de Bisq: v{0}\nHash de commit: {1}\nVersión de Tor: v{2} + +# suppress inspection "UnusedProperty" +network.transport.headline.CLEAR=Red clara +# suppress inspection "UnusedProperty" +network.transport.headline.TOR=Tor +# suppress inspection "UnusedProperty" +network.transport.headline.I2P=I2P + +network.transport.traffic.sent.headline=Tráfico saliente de la última hora +network.transport.traffic.sent.details=Datos enviados: {0}\nTiempo para enviar el mensaje: {1}\nNúmero de mensajes: {2}\nNúmero de mensajes por nombre de clase: {3}\nNúmero de datos distribuidos por nombre de clase: {4} +network.transport.traffic.received.headline=Tráfico entrante de la última hora +network.transport.traffic.received.details=Datos recibidos: {0}\nTiempo para la deserialización del mensaje: {1}\nNúmero de mensajes: {2}\nNúmero de mensajes por nombre de clase: {3}\nNúmero de datos distribuidos por nombre de clase: {4} + +network.transport.pow.headline=Prueba de trabajo +network.transport.pow.details=Tiempo total gastado: {0}\nTiempo promedio por mensaje: {1}\nNúmero de mensajes: {2} + +network.transport.systemLoad.headline=Carga del sistema +network.transport.systemLoad.details=Tamaño de los datos de red persistidos: {0}\nCarga actual de la red: {1}\nCarga promedio de la red: {2} + +network.header.nodeTag=Etiqueta de identidad +network.header.nodeTag.tooltip=Etiqueta de identidad: {0} + +network.connections.title=Conexiones +network.connections.header.peer=Usuario +network.connections.header.address=Dirección +network.connections.header.connectionDirection=Entrada/Salida +network.connections.header.rtt=RTT +network.connections.header.sentHeader=Enviado +network.connections.header.receivedHeader=Recibido +network.connections.inbound=Entrante +network.connections.outbound=Saliente +network.connections.ioData={0} / {1} Mensajes +network.connections.seed=Nodo semilla + +network.nodeInfo.myAddress=Mi dirección predeterminada +network.nodes.title=Mis nodos +network.nodes.header.address=Dirección del servidor +network.nodes.header.keyId=ID de clave +network.nodes.header.numConnections=Número de conexiones +network.nodes.header.type=Tipo +network.nodes.type.active=Nodo de usuario (activo) +network.nodes.type.retired=Nodo de usuario (retirado) +network.nodes.type.default=Nodo Gossip + + + diff --git a/pocs/android_only_m2_j17jars/app/src/main/resources/network_it.properties b/pocs/android_only_m2_j17jars/app/src/main/resources/network_it.properties new file mode 100644 index 00000000..79ea65bc --- /dev/null +++ b/pocs/android_only_m2_j17jars/app/src/main/resources/network_it.properties @@ -0,0 +1,61 @@ +#################################################################### +# Network +#################################################################### + +network.myNetworkNode=Il mio nodo di rete +network.p2pNetwork=Rete P2P +network.roles=Ruoli garantiti +network.nodes=Nodi di infrastruttura + +network.version.headline=Distribuzione delle versioni +network.version.versionDistribution.version=Versione {0} +network.version.versionDistribution.oldVersions=2.0.4 (o precedenti) +network.version.versionDistribution.tooltipLine={0} profili utente con versione ''{1}'' +network.version.localVersion.headline=Informazioni sulla versione locale +network.version.localVersion.details=Versione di Bisq: v{0}\nHash di commit: {1}\nVersione Tor: v{2} + +# suppress inspection "UnusedProperty" +network.transport.headline.CLEAR=Rete chiara +# suppress inspection "UnusedProperty" +network.transport.headline.TOR=Tor +# suppress inspection "UnusedProperty" +network.transport.headline.I2P=I2P + +network.transport.traffic.sent.headline=Traffico in uscita dell'ultima ora +network.transport.traffic.sent.details=Dati inviati: {0}\nTempo per l'invio del messaggio: {1}\nNumero di messaggi: {2}\nNumero di messaggi per nome della classe: {3}\nNumero di dati distribuiti per nome della classe: {4} +network.transport.traffic.received.headline=Traffico in entrata dell'ultima ora +network.transport.traffic.received.details=Dati ricevuti: {0}\nTempo per la deserializzazione del messaggio: {1}\nNumero di messaggi: {2}\nNumero di messaggi per nome della classe: {3}\nNumero di dati distribuiti per nome della classe: {4} + +network.transport.pow.headline=Prova di lavoro +network.transport.pow.details=Tempo totale trascorso: {0}\nTempo medio per messaggio: {1}\nNumero di messaggi: {2} + +network.transport.systemLoad.headline=Carico di sistema +network.transport.systemLoad.details=Dimensione dei dati di rete persistenti: {0}\nCarico di rete attuale: {1}\nCarico medio della rete: {2} + +network.header.nodeTag=Tag del nodo +network.header.nodeTag.tooltip=Tag di identità: {0} + +network.connections.title=Connessioni +network.connections.header.peer=Partner +network.connections.header.address=Indirizzo +network.connections.header.connectionDirection=Entrata/Uscita +network.connections.header.rtt=RTT +network.connections.header.sentHeader=Inviato +network.connections.header.receivedHeader=Ricevuto +network.connections.inbound=In entrata +network.connections.outbound=In uscita +network.connections.ioData={0} / {1} Messaggi +network.connections.seed=Nodo seed + +network.nodeInfo.myAddress=Mio indirizzo predefinito +network.nodes.title=I miei nodi +network.nodes.header.address=Indirizzo del server +network.nodes.header.keyId=ID chiave +network.nodes.header.numConnections=Numero di connessioni +network.nodes.header.type=Tipo +network.nodes.type.active=Nodo utente (attivo) +network.nodes.type.retired=Nodo utente (in pensione) +network.nodes.type.default=Nodo Gossip + + + diff --git a/pocs/android_only_m2_j17jars/app/src/main/resources/network_pcm.properties b/pocs/android_only_m2_j17jars/app/src/main/resources/network_pcm.properties new file mode 100644 index 00000000..7cecc868 --- /dev/null +++ b/pocs/android_only_m2_j17jars/app/src/main/resources/network_pcm.properties @@ -0,0 +1,61 @@ +#################################################################### +# Network +#################################################################### + +network.myNetworkNode=Ma netwok node +network.p2pNetwork=P2P netwok +network.roles=Bonded roles +network.nodes=Infrastaksha Nodes + +network.version.headline=Vershon distribushon +network.version.versionDistribution.version=Vershon {0} +network.version.versionDistribution.oldVersions=2.0.4 (or below) +network.version.versionDistribution.tooltipLine={0} user profile wey get version ''{1}'' +network.version.localVersion.headline=Lokal versiyn info +network.version.localVersion.details=Bisq version: v{0}\nCommit hash: {1}\nTor version: v{2} + +# suppress inspection "UnusedProperty" +network.transport.headline.CLEAR=Klia net +# suppress inspection "UnusedProperty" +network.transport.headline.TOR=Tor +# suppress inspection "UnusedProperty" +network.transport.headline.I2P=I2P + +network.transport.traffic.sent.headline=Outbound traffic for last hour +network.transport.traffic.sent.details=Data wey dem send: {0}\nTime wey e take send message: {1}\nNumber of messages: {2}\nNumber of messages by class name: {3}\nNumber of distributed data by class name: {4} +network.transport.traffic.received.headline=Inbound traffic for last hour +network.transport.traffic.received.details=Data wey dem receive: {0}\nTime wey e take do message deserialize: {1}\nNumber of messages: {2}\nNumber of messages by class name: {3}\nNumber of distributed data by class name: {4} + +network.transport.pow.headline=Proof of Work +network.transport.pow.details=Total time wey dem spend: {0}\nAverage time per message: {1}\nNumber of messages: {2} + +network.transport.systemLoad.headline=Sistem load +network.transport.systemLoad.details=Size of data wey dem save for network: {0}\nCurrent network load: {1}\nAverage network load: {2} + +network.header.nodeTag=Identity Tag +network.header.nodeTag.tooltip=Identity Tag: {0} + +network.connections.title=Konekshons +network.connections.header.peer=Peer +network.connections.header.address=Adrees +network.connections.header.connectionDirection=In/Out +network.connections.header.rtt=RTT +network.connections.header.sentHeader=Send +network.connections.header.receivedHeader=Receiv +network.connections.inbound=Inbound +network.connections.outbound=Otside +network.connections.ioData={0} / {1} Mensij +network.connections.seed=Seed node + +network.nodeInfo.myAddress=My Default Address +network.nodes.title=My Nodes +network.nodes.header.address=Server Address +network.nodes.header.keyId=Key ID +network.nodes.header.numConnections=Number Of Connections +network.nodes.header.type=Type +network.nodes.type.active=User Node (Active) +network.nodes.type.retired=User Node (Retired) +network.nodes.type.default=Gossip Node + + + diff --git a/pocs/android_only_m2_j17jars/app/src/main/resources/network_pt_BR.properties b/pocs/android_only_m2_j17jars/app/src/main/resources/network_pt_BR.properties new file mode 100644 index 00000000..cb35776f --- /dev/null +++ b/pocs/android_only_m2_j17jars/app/src/main/resources/network_pt_BR.properties @@ -0,0 +1,61 @@ +#################################################################### +# Network +#################################################################### + +network.myNetworkNode=Meu nó de rede +network.p2pNetwork=Rede P2P +network.roles=Papéis vinculados +network.nodes=Nós de infraestrutura + +network.version.headline=Distribuição de versão +network.version.versionDistribution.version=Versão {0} +network.version.versionDistribution.oldVersions=2.0.4 (ou abaixo) +network.version.versionDistribution.tooltipLine={0} perfis de usuários com a versão ''{1}'' +network.version.localVersion.headline=Informações da versão local +network.version.localVersion.details=Versão Bisq: v{0}\nHash de commit: {1}\nVersão Tor: v{2} + +# suppress inspection "UnusedProperty" +network.transport.headline.CLEAR=Rede clara +# suppress inspection "UnusedProperty" +network.transport.headline.TOR=Tor +# suppress inspection "UnusedProperty" +network.transport.headline.I2P=I2P + +network.transport.traffic.sent.headline=Tráfego de saída da última hora +network.transport.traffic.sent.details=Dados enviados: {0}\nTempo para envio da mensagem: {1}\nNúmero de mensagens: {2}\nNúmero de mensagens por nome da classe: {3}\nNúmero de dados distribuídos por nome da classe: {4} +network.transport.traffic.received.headline=Tráfego de entrada da última hora +network.transport.traffic.received.details=Dados recebidos: {0}\nTempo para desserialização da mensagem: {1}\nNúmero de mensagens: {2}\nNúmero de mensagens por nome da classe: {3}\nNúmero de dados distribuídos por nome da classe: {4} + +network.transport.pow.headline=Prova de trabalho +network.transport.pow.details=Tempo total gasto: {0}\nTempo médio por mensagem: {1}\nNúmero de mensagens: {2} + +network.transport.systemLoad.headline=Carga do sistema +network.transport.systemLoad.details=Tamanho dos dados de rede persistidos: {0}\nCarga atual da rede: {1}\nCarga média da rede: {2} + +network.header.nodeTag=Tag de identidade +network.header.nodeTag.tooltip=Tag de identidade: {0} + +network.connections.title=Conexões +network.connections.header.peer=Par +network.connections.header.address=Endereço +network.connections.header.connectionDirection=Entrada/Saída +network.connections.header.rtt=RTT +network.connections.header.sentHeader=Enviado +network.connections.header.receivedHeader=Recebido +network.connections.inbound=Entrada +network.connections.outbound=Saída +network.connections.ioData={0} / {1} Mensagens +network.connections.seed=Nó seed + +network.nodeInfo.myAddress=Meu endereço padrão +network.nodes.title=Meus nós +network.nodes.header.address=Endereço do servidor +network.nodes.header.keyId=ID da Chave +network.nodes.header.numConnections=Número de Conexões +network.nodes.header.type=Tipo +network.nodes.type.active=Nó do Usuário (ativo) +network.nodes.type.retired=Nó do Usuário (aposentado) +network.nodes.type.default=Nó de Fofoca + + + diff --git a/pocs/android_only_m2_j17jars/app/src/main/resources/nouns.txt b/pocs/android_only_m2_j17jars/app/src/main/resources/nouns.txt new file mode 100644 index 00000000..19990a94 --- /dev/null +++ b/pocs/android_only_m2_j17jars/app/src/main/resources/nouns.txt @@ -0,0 +1,12591 @@ +Aardvark +Abandon +Abandonment +Abaringe +Abasement +Abbey +Abbot +Abbreviation +Abdomen +Abduction +Aberration +Abeyance +Ability +Abjection +Ablation +Abode +Abolition +Abolitionist +Aborigine +Abortion +Abreaction +Abridgment +Abscissa +Absence +Absentee +Absenteeism +Absentia +Absinthe +Absolute +Absolution +Absorbency +Absorber +Absorption +Abstention +Abstinence +Abstract +Abstraction +Abstractionism +Absurdity +Abundance +Abuse +Abyss +Acacia +Academeh +Academic +Academician +Academy +Acceleration +Accelerator +Accelerometer +Accent +Acceptability +Acceptance +Acceptor +Access +Accessibility +Accessory +Accident +Acclaim +Acclamation +Accolade +Accommodation +Accompaniment +Accompanist +Accomplice +Accomplishment +Accord +Accordance +Accordion +Account +Accountability +Accountant +Accreditation +Accretion +Acculturation +Accumulation +Accuracy +Accusation +Ace +Ace-in-the-hole +Acetate +Acetone +Acetonemia +Ache +Achievement +Achiever +Acid +Acidity +Acknowledgement +Acknowledgment +Acolyte +Aconte +Acquaintance +Acquiescence +Acquiesence +Acquisition +Acquittal +Acre +Acreage +Acrobacy +Acrylic +Act +Actinometer +Action +Activation +Active +Activism +Activity +Actor +Actuality +Acumen +Adage +Adagio +Adaptation +Adapter +Addiction +Addition +Additive +Address +Adequacy +Adherence +Adherent +Adhesion +Adhesive +Adjective +Adjournment +Adjudication +Adjunct +Adjustment +Adjutant +Administration +Administrator +Adminstration +Admiralty +Admiration +Admirer +Admission +Admittance +Admonition +Adobe +Adolescence +Adolescent +Adoption +Adorer +Adrenal +Adulation +Adult +Adultery +Adulthood +Advance +Advancement +Advantage +Advent +Adventure +Adverb +Adversary +Adversity +Advertisement +Advice +Advisability +Advisement +Adviser +Advisor +Advisory +Advocacy +Advocate +Aeon +Aeration +Aerator +Aerial +Aerosol +Aesthete +Aesthetic +Affair +Affect +Affectation +Affection +Affiliation +Affinity +Affirmation +Affliction +Affluence +Affront +Afghan +Aficionada +Aficionado +Aftermath +Afternoon +Age +Agency +Agenda +Agent +Agglomeration +Agglutination +Agglutinin +Aggregate +Aggregation +Aggression +Aggressor +Agility +Agitation +Agitator +Agnomen +Agony +Agrarian +Agreement +Agriculture +Ague +Aiche +Aid +Aide +Ailment +Aim +Air +Aircraft +Airfield +Airflow +Airframe +Airlift +Airline +Airlock +Airmail +Airmen +Airplane +Airport +Airspeed +Airstrip +Aisle +Aku +Alabaster +Alarm +Alaskan +Album +Albumin +Alchemy +Alcohol +Alcoholism +Alderman +Aldermen +Ale +Aleck +Alert +Alfresco +Algae +Algaecide +Algebra +Algorithm +Alibi +Alien +Alienation +Alignment +Alimony +Alizarin +Alkali +Allay +Allegiance +Allegory +Allergy +Alleviation +Alley +Alliance +Alligator +Alliteration +Allocation +Allotment +Allowance +Alloy +Allure +Allurement +Allusion +Ally +Almond +Almsgiver +Alpaca +Alphabet +Altar +Alteration +Altercation +Alternate +Alternation +Alternative +Altitude +Alto +Altruism +Altruist +Alum +Aluminum +Alumnae +Alumni +Alundum +Alveoli +Amalgamation +Amateur +Amazement +Ambassador +Ambiance +Ambiguity +Ambition +Ambivalence +Ambulance +Ambuscade +Ambush +Amendment +Amethystine +Amide +Amino +Amity +Ammo +Ammonium +Ammunition +Amorality +Amorist +Amortization +Amount +Amp +Amphibology +Amphitheater +Amplification +Amplifier +Amplitude +Amulet +Amusement +Anachronism +Anaconda +Anaesthesia +Anagram +Analogue +Analogy +Analyst +Analyticity +Anaprapath +Anarchist +Anarchy +Anatomical +Anatomy +Ancestor +Ancestry +Anchor +Anchorage +Anchoritism +Anchovy +Ancient +Andrena +Anecdote +Anemia +Anesthetic +Angel +Angelica +Anger +Angle +Anglophilia +Anglophobia +Anguish +Aniline +Animal +Animation +Animism +Animosity +Anion +Anise +Anisotropy +Ankle +Annihilation +Anniversary +Announcement +Announcer +Annoyance +Annual +Annum +Anode +Anomaly +Anomie +Anonymity +Anorexia +Answer +Ant +Antagonism +Antagonist +Ante +Anteater +Antecedent +Antelope +Antenna +Antennae +Anthology +Anthropologist +Anthropology +Antibiotic +Antibody +Anticipation +Anticoagulation +Antidote +Antifundamentalist +Antigen +Antipathy +Antique +Antiquity +Antiredeposition +Antiseptic +Antisera +Antiserum +Anvil +Anxiety +Aorta +Apartheid +Apartment +Apathy +Ape +Aperture +Apex +Aplomb +Apocalypse +Apogee +Apologetic +Apologist +Apology +Apostle +Apothecary +Appanage +Apparel +Apparency +Apparition +Appeal +Appearance +Appeasement +Appestat +Appetite +Applause +Apple +Applejack +Appliance +Applicability +Applicant +Application +Applicator +Appointee +Appointment +Apportionment +Appraisal +Appreciation +Appreciator +Apprehension +Apprentice +Apprenticeship +Approach +Appropriation +Approval +Approximation +Apricot +Apron +Aptitude +Aquarium +Aqueduct +Aquisition +Arabesque +Arak +Arbiter +Arbitration +Arc +Arcade +Arch +Archaeology +Archaism +Archbishop +Archdiocese +Archenemy +Archery +Archetype +Archfool +Archipelago +Architect +Architecture +Archtype +Ardor +Area +Arena +Areosol +Argentina +Argon +Argot +Argument +Argumentation +Aridity +Aristocracy +Arithmetic +Arm +Armadillo +Armament +Armchair +Armful +Armhole +Armistice +Armload +Armoire +Armor +Armpit +Army +Arnica +Aroma +Arousal +Arrack +Arrangement +Array +Arrest +Arrival +Arrogance +Arrow +Arroyo +Arsenal +Arsenic +Arside +Arson +Art +Artery +Article +Articulation +Artifice +Artificer +Artificiality +Artillerist +Artillery +Artisan +Artist +Artiste +Artistry +Aryl +Arylesterase +Ascendancy +Ascent +Ascetic +Asceticism +Asdic +Ash +Asme +Aspect +Aspen +Asphalt +Aspirant +Aspiration +Aspirin +Aspr +Assailant +Assassin +Assassination +Assault +Assay +Assemblage +Assembly +Assent +Assertion +Assesment +Assessment +Assessor +Asset +Assiduity +Assignee +Assigner +Assignment +Assimilation +Assist +Assistance +Assistant +Associate +Association +Assonance +Assortment +Assumption +Assurance +Asteroid +Asthma +Astonishment +Astringency +Astronaut +Astronomer +Astronomy +Asw +Asymmetry +Asynchrony +Athlete +Athleticism +Atm +Atmosphere +Atom +Atomisation +Atonement +Atp +Atrophy +Attachment +Attack +Attacker +Attainment +Attempt +Attendance +Attendant +Attention +Attic +Attire +Attitude +Attorney +Attraction +Attribute +Attrition +Auction +Auctioneer +Audacity +Audience +Audio +Audit +Audition +Auditor +Auditorium +Aunt +Aura +Austerity +Authentication +Authenticator +Authenticity +Author +Authoritarianism +Authority +Authorization +Authorship +Autism +Auto +Autobiography +Autocollimator +Autofluorescence +Autograph +Autoloader +Automatic +Automation +Automaton +Automobile +Autonavigator +Autonomy +Autopsy +Autosuggestibility +Autumn +Auxiliary +Avail +Availability +Avalanche +Avarice +Avenue +Average +Aversion +Aviary +Aviation +Aviator +Avidity +Avocado +Avocation +Avoidance +Avowal +Award +Awardee +Awe +Awkwardness +Awoc +Ax +Axe +Axiom +Axis +Axle +Aye +Azalea +Aztec +Azure +Babe +Babel +Baby +Babyhood +Bachelor +Back +Backbend +Backbone +Backdrop +Backer +Background +Backlash +Backlog +Backpack +Backside +Backstitch +Backup +Backyard +Bacon +Bacteria +Bad +Badge +Badinage +Badmen +Badminton +Bag +Baggage +Bagpipe +Bail +Baileefe +Bailiff +Bait +Baker +Bakery +Balance +Balcony +Bale +Ball +Ballad +Ballast +Ballerina +Ballet +Balletomane +Balloon +Ballot +Ballplayer +Ballroom +Balls +Ballyhoo +Ballyhooey +Balm +Balustrade +Ban +Banana +Band +Bandage +Bandit +Bandstand +Bandwagon +Bandwidth +Bang +Banishment +Banister +Banjo +Bank +Banker +Bankruptcy +Banner +Banns +Banquet +Banshee +Banter +Baptism +Baptistery +Bar +Barb +Barbarian +Barbecue +Barbell +Barber +Barbital +Barbiturate +Bard +Bargain +Barge +Baritone +Barium +Bark +Barkeep +Barley +Barn +Barnsful +Barnstormer +Barnyard +Baron +Barony +Baroreceptor +Barrack +Barrage +Barrel +Barricade +Barrier +Bartender +Base +Baseball +Baseballight +Baseline +Baseman +Basement +Basin +Basis +Basket +Basketball +Bassinet +Bastard +Bastion +Bat +Batch +Bateau +Bath +Bathrobe +Bathroom +Bathtub +Baton +Battalion +Batten +Batter +Batterie +Battery +Battle +Battlefield +Battlefront +Battleground +Bauble +Bawh +Bay +Bayleefe +Bayly +Bayonet +Bazaar +Beach +Beachhead +Beacon +Bead +Beadle +Beadsman +Beaker +Beam +Bean +Bear +Beard +Bearer +Beast +Beat +Beatification +Beatitude +Beatnik +Beau +Beauty +Beaver +Beavertail +Bebop +Beckon +Bed +Bedazzlement +Bedground +Bedlam +Bedpost +Bedroom +Bedside +Bedspread +Bedstraw +Bedtime +Bee +Beebread +Beech +Beef +Beefsteak +Beehive +Beep +Beer +Begetter +Beggar +Beggary +Beginner +Behalf +Behavior +Behaviour +Behind +Belch +Belfry +Belief +Believer +Bell +Bellboy +Bellicosity +Belligerence +Bellow +Belly +Bellyfull +Belt +Bench +Benchmark +Bend +Benediction +Benefaction +Benefactor +Benefactress +Beneficence +Beneficiary +Benefit +Benevolence +Bent +Benzene +Bequest +Bereavement +Beriberi +Berry +Berth +Beryllium +Best +Bestowal +Bestower +Bestseller +Bet +Betrayal +Betrayer +Betrothal +Better +Betterment +Beverage +Bevy +Bewilderment +Bewitchment +Bias +Bib +Bibliography +Bicarbonate +Bicep +Bich +Bicycle +Bid +Bidder +Biennial +Biennium +Bigot +Bigotry +Bigwig +Bijou +Bike +Bile +Bilge +Bill +Billboard +Billet +Billiard +Billion +Bin +Bind +Binder +Bindle +Binge +Biographer +Biography +Biologist +Biology +Biophysicist +Biopsy +Biplane +Birch +Bird +Birdbath +Birdie +Birefringence +Birth +Birthcontrol +Birthday +Birthplace +Birthright +Biscuit +Bishop +Bishopry +Bison +Bisque +Bit +Bitch +Bite +Biter +Bivouac +Biz +Black +Blackberry +Blackboard +Blackjack +Blackmail +Blackmailer +Blackout +Blacksmith +Blade +Blame +Blank +Blanket +Blasphemy +Blast +Blastdown +Blatancy +Blaze +Blazer +Bleat +Blemish +Blend +Blight +Blind +Blink +Bliss +Blister +Blitheness +Blitz +Blizzard +Bloat +Blob +Bloc +Block +Blockade +Blockhouse +Blog +Bloke +Blonde +Blood +Bloodlust +Bloodroot +Bloodshed +Bloodstream +Bloom +Blossom +Blot +Blouse +Blow +Blower +Blowfish +Blowup +Blubber +Bludgeon +Blue +Blue-ribbon +Blueberry +Bluebook +Bluebush +Bluefish +Blueprint +Bluff +Blunder +Blur +Bluster +Boa +Boar +Board +Boarder +Boast +Boat +Boatel +Boatload +Boatman +Boatmen +Boatsmen +Boatswain +Bobby +Bod +Bodice +Body +Bodybuilder +Bodyguard +Bodyweight +Bogey +Bogeymen +Bogy +Boil +Boiler +Boldness +Bolo +Bologna +Bolster +Bolt +Bomb +Bombardment +Bomber +Bonanza +Bond +Bondage +Bondsman +Bone +Bonfire +Bongo +Bonnet +Bonus +Booboo +Booby +Boogie +Book +Bookcase +Booker +Booklet +Bookseller +Bookshelf +Boom +Boomerang +Boomtown +Boon +Boost +Booster +Boot +Booth +Bootlegger +Booty +Booze +Bop +Borax +Border +Borderline +Bore +Boredom +Borer +Borough +Borrower +Bosom +Boss +Bossman +Botany +Bottle +Bottleneck +Bottom +Boucle +Bough +Boulder +Boulevard +Bounce +Bound +Boundary +Bounty +Bouquet +Bourbon +Bourgeoisie +Bout +Boutonniere +Bovine +Bow +Bower +Bowl +Box +Boxcar +Boxer +Boy +Boycott +Boyhood +Brace +Bracelet +Brachii +Bracket +Brad +Brag +Braggadocio +Brain +Brake +Bran +Branch +Brand +Brandy +Brass +Brassiere +Bravado +Brave +Bravery +Bravura +Brawl +Brawle +Brawn +Brazier +Brazil +Breach +Bread +Breadth +Break +Breakage +Breakaway +Breakdown +Breaker +Breakfast +Breakoff +Breakthrough +Breakup +Breakwater +Breast +Breath +Breather +Breed +Breeze +Brethren +Brevity +Brew +Brewery +Brick +Bridal +Bride +Bridegroom +Bridesmaid +Bridge +Bridgehead +Bridgework +Bridle +Brief +Briefcase +Brig +Brigade +Brigadier +Brightness +Brilliance +Brilliant +Brim +Brindle +Brink +Brinkmanship +Brio +Bristle +Broadcast +Broadside +Brocade +Broccoli +Brochure +Brockle +Broil +Broiler +Broker +Brokerage +Bromphenol +Bronc +Bronchi +Bronchiole +Bronze +Brood +Brook +Broom +Broth +Brothel +Brother +Brotherhood +Brow +Brown +Bruise +Brunt +Brush +Brushcut +Brushfire +Brushwork +Brutality +Brute +Bubble +Bubbly +Buck +Buckboard +Bucket +Buckle +Buckshot +Buckskin +Buckwheat +Bud +Buddy +Budget +Buff +Buffalo +Buffer +Buffet +Buffoon +Bug +Buggy +Bugle +Bugler +Build +Builder +Buildup +Built +Bulb +Bulge +Bulk +Bulkhead +Bull +Bullet +Bulletin +Bullhide +Bullshit +Bully +Bulwark +Bum +Bumblebee +Bump +Bumper +Bun +Bunch +Buncha +Bundle +Bungalow +Bunk +Bunker +Bunkmate +Bunt +Bunter +Buoy +Buoyancy +Burden +Bureau +Bureaucracy +Bureaucrat +Bureaucratization +Burgeon +Burglar +Burglary +Burial +Burl +Burlesque +Burley +Burn +Burnish +Burr +Burrow +Burst +Busboy +Bush +Bushel +Business +Businessman +Businessmen +Buss +Bust +Bustle +Butane +Butcher +Butchery +Butler +Butt +Butter +Butterfat +Butterfly +Butternut +Button +Butyrate +Buy +Buyer +Buzz +Byinge +Byline +Byproduct +Bystander +Byword +Cab +Cabana +Cabaret +Cabbage +Cabdriver +Cabin +Cabinet +Cable +Cacao +Cache +Cacophonist +Cacophony +Cadaver +Cadence +Cadenza +Cadet +Cadmium +Cadre +Cafe +Cafeteria +Cage +Cake +Calamity +Calcification +Calcium +Calculation +Calculi +Calendar +Calf +Calfskin +Caliber +Calibration +Calibre +Calico +Calinda +Caliper +Call +Caller +Calligraphy +Calm +Calorie +Calorimeter +Calumny +Calypso +Camaraderie +Camel +Camera +Cameramen +Camouflage +Camp +Campaign +Campaigner +Camper +Campfire +Campground +Campmate +Can +Cancellation +Cancer +Candidacy +Candidate +Candle +Candlewick +Candor +Candour +Candy +Cane +Canine +Canister +Canker +Cannery +Cannon +Cannonball +Canoe +Canon +Canopy +Cant +Cantaloupe +Canteen +Canter +Cantonment +Canyon +Canyonside +Cap +Capability +Capacitance +Capacitor +Capacity +Cape +Caper +Capercailzie +Capillary +Capita +Capital +Capitalism +Capitalist +Capitol +Capitulation +Capsicum +Capstan +Capsule +Captain +Captaincy +Captive +Captivity +Capture +Car +Caramel +Caravan +Caraway +Carbide +Carbine +Carbohydrate +Carbon +Carbonyl +Carborundum +Carboxymethyl +Carcinoma +Card +Cardamom +Cardboard +Cardinal +Cardiomegaly +Care +Career +Careerism +Caretaker +Cargo +Caricature +Caricaturist +Carload +Carnality +Carnival +Carpenter +Carpentry +Carpet +Carport +Carreer +Carriage +Carrier +Carrot +Carryover +Cart +Carte +Cartilage +Cartoon +Cartoonist +Cartridge +Carver +Case +Casebook +Casein +Casework +Cash +Cashmere +Casino +Cask +Cast +Caste +Castigation +Castle +Castor +Castorbean +Casualty +Cat +Catalog +Catalogue +Catalyst +Catastrophe +Catch +Catcher +Catchup +Catechism +Category +Caterpillar +Cathedral +Catheter +Cathode +Catkin +Catsup +Cattaloe +Cattle +Cattlemen +Cauliflower +Cause +Caution +Cavalry +Cavalrymen +Cave +Caveat +Cavemen +Cavern +Caviar +Cavity +Cayenne +Celebrant +Celebration +Celebrator +Celebrity +Celerity +Celery +Celestial +Cell +Cellar +Cellist +Cellophane +Cellulose +Cement +Cemetery +Censorship +Censure +Cent +Centenary +Centennial +Center +Centerline +Centimeter +Centralization +Centre +Centrifugation +Centrifuge +Centrist +Centum +Century +Ceo +Cereal +Cerebellum +Ceremony +Certainty +Certificate +Certification +Certiorari +Cervelat +Cessation +Cession +Cfo +Chagrin +Chain +Chair +Chairman +Chairmanship +Chairmen +Chairperson +Chaise +Chalk +Challenge +Challenger +Chamber +Chamberlain +Chambermaid +Chamfer +Champ +Champagne +Champion +Championship +Chance +Chancel +Chancellor +Chancery +Chandelier +Change +Channel +Chant +Chanter +Chantey +Chap +Chapel +Chaperon +Chaperone +Chaplain +Chapter +Character +Characteristic +Characterization +Charcoal +Charge +Chariot +Charisma +Charity +Charlotte +Charm +Charmer +Chart +Charter +Chartist +Chartroom +Chase +Chasm +Chastisement +Chastity +Chat +Chatter +Chauffeur +Chaulmoogra +Chaw +Check +Checkbook +Checker +Checklist +Checkup +Cheek +Cheekbone +Cheer +Cheers +Cheese +Cheesecloth +Cheetah +Cheetal +Chef +Chemical +Chemise +Chemistry +Cherry +Cherubim +Chest +Chestnut +Chicanery +Chick +Chicken +Chief +Chiefdom +Chieftain +Chignon +Child +Childbirth +Childhood +Children +Chili +Chill +Chimney +Chin +China +Chip +Chiropractor +Chisel +Chivalry +Chive +Chloride +Chlorine +Chlorothiazide +Chlorpromazine +Chlortetracycline +Chocolate +Choice +Choir +Cholera +Cholesterol +Cholinesterase +Chomp +Chop +Chopper +Chord +Chore +Choreographer +Choreography +Chortle +Chosen +Chouise +Chow +Chowder +Christmas +Chromatogram +Chromatography +Chrome +Chromium +Chronicle +Chronology +Chuck +Chuckle +Chum +Chump +Chunk +Church +Churchmen +Churchyard +Chute +Chutney +Cider +Cigar +Cigaret +Cigarette +Cilia +Cinch +Cinder +Cinema +Circle +Circuit +Circuitry +Circular +Circularity +Circulation +Circumcision +Circumference +Circumlocution +Circumspection +Circumstance +Cistern +Citation +Citizen +Citizenry +Citizenship +Citron +City +Civilian +Civility +Civilization +Claim +Claimant +Clairvoyance +Clairvoyant +Clam +Clamor +Clamshell +Clan +Clang +Clap +Claret +Clarification +Clarinet +Clarity +Clash +Class +Classic +Classification +Classmate +Classroom +Clatter +Clause +Claustrophobia +Claw +Clay +Cleaner +Clear +Clearance +Cleat +Cleft +Clemency +Clergy +Clergyman +Clergymen +Cleric +Clerk +Cliche +Click +Client +Clientele +Cliff +Climate +Climax +Climb +Climber +Clincher +Clinic +Clip +Clique +Cloak +Clock +Clockwork +Clod +Close +Closet +Closure +Clot +Cloth +Clothesbrush +Clotheshorse +Clothesline +Clothier +Cloture +Cloud +Cloudburst +Clout +Clove +Clover +Clown +Club +Clubhouse +Cluck +Clue +Clump +Cluster +Clutch +Clutter +Co-worker +Coach +Coachman +Coachmen +Coachwork +Coadjutant +Coadjutor +Coahr +Coahse +Coal +Coalescence +Coalition +Coast +Coastline +Coat +Cobalt +Cobblestone +Cobra +Cocaine +Cocao +Cochannel +Cock +Cockatoo +Cockpit +Cocktail +Coco +Cocoa +Coconut +Cocoon +Cocopalm +Cod +Code +Codedtf +Codfish +Codification +Coed +Coefficient +Coequal +Coercion +Coexistence +Coffee +Coffeecup +Coffeepot +Coffin +Cognac +Cognizance +Coherence +Cohesion +Coiffure +Coil +Coin +Coincidence +Coiner +Coke +Colchicum +Cold +Colh +Collaboration +Collaborator +Collage +Collagen +Collapse +Collar +Collarbone +Collation +Colleague +Collection +Collective +Collector +College +Collie +Collision +Colloquium +Colloquy +Collusion +Colon +Colonel +Colonialism +Colonialist +Colonnade +Colony +Color +Coloration +Coloratura +Colt +Column +Columnist +Comb +Combat +Combatant +Combination +Combine +Combo +Combustion +Comeback +Comedian +Comedy +Comer +Comet +Comfort +Comforter +Comic +Comma +Command +Commandant +Commander +Commandment +Commando +Commencement +Commendation +Commendatory +Comment +Commentary +Commentator +Commerce +Commercial +Commercialism +Commercialization +Commissary +Commission +Commissioner +Commitment +Committee +Committeemen +Committeewoman +Committment +Commodity +Common +Commonplace +Commonwealth +Commotion +Commune +Communication +Communicator +Communion +Communism +Communist +Community +Commutation +Commuter +Compact +Companion +Companionship +Companionway +Company +Comparison +Compartment +Compassion +Compatability +Compatriot +Compendium +Compensation +Competence +Competency +Competition +Competitor +Compilation +Compiler +Complacency +Complainant +Complaint +Complaisance +Complection +Complement +Completion +Complex +Complexion +Complexity +Compliance +Complication +Complicity +Compliment +Component +Comportment +Composer +Composite +Composition +Compost +Composure +Compote +Compound +Comprehension +Compressibility +Compression +Compressor +Compromise +Compulsion +Compulsivity +Computation +Computer +Comrade +Comradeship +Con +Concealment +Concentrate +Concentration +Concept +Conception +Conceptuality +Conceptualization +Concern +Concert +Concerti +Concertina +Concertmaster +Concerto +Concession +Concessionaire +Concierge +Conciliator +Conclave +Conclusion +Concrete +Concurrence +Concussion +Condemnation +Condensation +Condenser +Condescension +Condition +Conditioner +Condolence +Conduct +Conduction +Conductivity +Conductor +Cone +Conelrad +Confabulation +Confederacy +Confederate +Confederation +Conference +Confession +Confessional +Confessor +Confidant +Confidante +Confidence +Confidentiality +Configuration +Confinement +Confirmation +Conflagration +Conflict +Conformance +Conformation +Conformational +Conformist +Conformity +Confrontation +Confusion +Congeniality +Congestion +Congratulation +Congregation +Congressman +Congressmen +Congruence +Conic +Conjecture +Conjugate +Conjugation +Conjunction +Connection +Connective +Connexion +Connivance +Conniver +Connoisseur +Connotation +Conqueror +Conquest +Consanguinity +Conscience +Consciousness +Conscript +Conscription +Consecration +Consent +Consequence +Conservation +Conservationist +Conservatism +Conservative +Conservator +Conservatory +Consideration +Consistence +Consistency +Consolation +Consoler +Consolidation +Consonance +Consonant +Conspiracy +Constancy +Constant +Constatation +Consternation +Constituency +Constituent +Constitution +Constitutional +Constraint +Constriction +Constrictor +Construction +Consul +Consulate +Consultant +Consultation +Consumer +Consummation +Consumption +Contact +Contagion +Container +Containment +Contamination +Contemplation +Contemporary +Contempt +Contender +Content +Contention +Contentment +Contest +Context +Continence +Continent +Contingency +Contingent +Continuance +Continuation +Continuity +Continuum +Contortion +Contour +Contraband +Contraception +Contract +Contraction +Contractor +Contradiction +Contradistinction +Contralto +Contrary +Contrast +Contribution +Contributor +Contrition +Control +Controller +Controversy +Convalescence +Convection +Convenience +Convent +Convention +Conventionality +Conversant +Conversation +Converse +Conversion +Convert +Convertible +Convexity +Conveyance +Conveyor +Convict +Conviction +Convoy +Cook +Cookfire +Cookie +Cool +Coolant +Cooler +Coop +Cooperation +Cooperative +Cooperator +Coordinate +Coordination +Coordinator +Cop +Cope +Copper +Copra +Copy +Copywriter +Coquette +Coral +Cord +Cordon +Corduroy +Core +Coriander +Cork +Corkscrew +Corn +Cornbread +Corne +Corner +Cornerstone +Cornfield +Cornmeal +Cornstarch +Cornucopia +Corollary +Corona +Coronary +Coroner +Corporal +Corporation +Corporeality +Corpse +Corpsman +Corpulence +Corral +Correction +Correlation +Correspondence +Correspondent +Corridor +Corrosion +Corrupter +Corruption +Corsage +Cortege +Cortex +Corticotropin +Cosec +Cosmetic +Cosmology +Cosmopolitanism +Cost +Costume +Cotillion +Cottage +Cotter +Cotton +Cottonmouth +Cottonseed +Couch +Cough +Council +Councillor +Counsel +Counselor +Count +Countenance +Counter +Counterattack +Counterbalance +Counterman +Counterpart +Counterpoint +Counterproposal +Countian +Countrey +Countriman +Country +Countryman +Countrymen +Countryside +County +Coup +Coupe +Couple +Coupler +Coupon +Courage +Course +Court +Courtesan +Courtesy +Courthouse +Courtier +Courtroom +Courtship +Courtyard +Cousin +Cove +Covenant +Cover +Coverage +Coverall +Coverlet +Cow +Coward +Cowardice +Cowbird +Cowboy +Cowhand +Cowhide +Cowman +Cowpony +Cowpuncher +Coyote +Crabapple +Crack +Crackerjack +Crackle +Crackpot +Cradle +Craft +Crafter +Craftsman +Craftsmanship +Craftsmen +Craftsperson +Cramp +Crank +Crankshaft +Crap +Crash +Crasher +Crate +Crater +Crawl +Crawlspace +Craze +Creak +Cream +Creamer +Crease +Creation +Creativity +Creator +Creature +Creche +Credential +Credibility +Credit +Credo +Credulity +Creed +Creek +Creep +Creeper +Crepe +Crescendo +Crescent +Crest +Crevice +Crew +Crewcut +Crewel +Crewmen +Crib +Cricket +Crime +Criminal +Criminality +Crimson +Cripple +Crisp +Criteria +Criterion +Critic +Criticism +Critique +Critter +Croak +Crocodile +Crone +Crook +Crop +Crossover +Crosswalk +Crouch +Croupier +Crow +Crowbait +Crowd +Crowd-pleaser +Crown +Crucifix +Crucifixion +Crudity +Cruelty +Cruise +Cruiser +Crunch +Crupper +Crusade +Crusader +Crush +Crusher +Crust +Crutch +Crux +Cry +Cryostat +Crypt +Crystal +Crystallite +Crystallization +Crystallography +Cta +Ctca +Cubbyhole +Cube +Cubist +Cud +Cuff +Culmination +Culprit +Cult +Cultist +Cultivation +Culture +Cumara +Cumin +Cup +Cupboard +Cupful +Cur +Curator +Curb +Curbside +Curd +Cure +Curettage +Curio +Curiosity +Currant +Currency +Current +Curricula +Curriculum +Curry +Curse +Curtain +Curvature +Curve +Cushion +Cusp +Custodian +Custody +Custom +Customer +Cut +Cutback +Cutoff +Cutter +Cutthroat +Cycle +Cyclist +Cyclohexanol +Cyclorama +Cylinder +Cynicism +Cytoplasm +Dabbler +Dad +Daddy +Daffodil +Daggerman +Dainty +Dairy +Dam +Damage +Dame +Damn +Damnation +Damsel +Dance +Dancer +Dandelion +Danger +Danseur +Darbuka +Dark +Darkness +Darling +Darn +Dash +Dashboard +Data +Date +Datum +Daughter +Dauphin +Davenport +Dawn +Day +Daybed +Daybreak +Daydream +Daylight +Daytime +Dazzler +Deacon +Deactivation +Dead +Deadline +Deadlock +Deadweight +Deae +Deal +Dealer +Dean +Dear +Dearth +Death +Deathbed +Debacle +Debate +Debauchery +Debility +Debt +Debut +Debutante +Decade +Decadence +Decay +Deceased +Decedent +Deceit +Deceleration +Decency +Decentralization +Deception +Decimal +Decision +Deck +Declaration +Declarative +Decline +Declivity +Decolletage +Decomposition +Decompression +Decor +Decoration +Decorator +Decorum +Decrease +Decree +Decrement +Dedication +Deductibility +Deduction +Deed +Deep +Deer +Default +Defeat +Defeatism +Defect +Defection +Defence +Defendant +Defender +Defense +Deference +Deferent +Deferment +Defiance +Deficiency +Deficit +Definite +Definition +Deformation +Deformity +Degeneration +Degradation +Degree +Dehydration +Deification +Deity +Dejection +Delay +Delectable +Delectation +Delegate +Delegation +Deliberation +Delicacy +Delight +Delineation +Delinquency +Delinquent +Delirium +Deliverance +Delivery +Dell +Deltoid +Deluge +Delusion +Deluxer +Demage +Demagnification +Demand +Demander +Demarcation +Demeanor +Demineralization +Demise +Democracy +Democratization +Demography +Demolition +Demon +Demonstration +Demoralization +Demulcent +Demurrer +Demythologization +Den +Denial +Denomination +Denouement +Densitometry +Density +Dent +Dentist +Dentistry +Denunciation +Department +Departure +Dependable +Dependence +Dependency +Dependent +Depersonalization +Depiction +Depletion +Deployment +Deposit +Deposition +Depot +Depravity +Depreciation +Depression +Deprivation +Depth +Deputy +Derangement +Derby +Derelict +Dereliction +Derision +Derivation +Derivative +Derrick +Derriere +Descendant +Descent +Description +Desecration +Desegregation +Desert +Desertion +Design +Designate +Designation +Designer +Desirability +Desirable +Desire +Desk +Desolation +Despair +Desperation +Despondency +Despot +Despotism +Dessert +Destination +Destiny +Destroyer +Destruction +Desuetude +Detachment +Detail +Detection +Detective +Detector +Detente +Detention +Detergency +Detergent +Deterioration +Determinability +Determinant +Determination +Determinism +Deterrence +Deterrent +Detestation +Detonation +Detour +Detractor +Detriment +Devastation +Developer +Development +Deviance +Deviation +Device +Devil +Devisee +Devisor +Devotee +Devotion +Devotional +Devout +Dew +Dexamethasone +Dexterity +Diagnometer +Diagnostic +Diagram +Dial +Dialect +Dialectic +Dialogue +Diam +Diameter +Diamond +Diaphragm +Diarrhea +Diarrhoea +Diary +Diathermy +Dice +Dichondra +Dichotomy +Dictator +Dictatorship +Diction +Dictionary +Dictum +Didactic +Die +Diem +Diesel +Diet +Diethylaminoethyl +Diethylstilbestrol +Diety +Difference +Differentiability +Differential +Differentiation +Difficulty +Diffidence +Diffraction +Diffrunce +Diffusion +Dig +Digest +Digit +Digitalization +Dignity +Diisocyanate +Dilatation +Dilation +Dilemma +Dilettante +Diligence +Dill +Dilution +Dime +Dimension +Dimethylglyoxime +Diminution +Din +Dinghy +Dingo +Dinner +Dinnertime +Dinnerware +Dinosaur +Diocese +Diorah +Dioxalate +Dioxide +Dip +Diphosphopyridine +Diplomacy +Diplomat +Dipper +Direction +Directionality +Directive +Directivity +Director +Directorate +Directorship +Directory +Dirge +Dirt +Disability +Disadvantage +Disaffection +Disagreement +Disappearance +Disappointment +Disapprobation +Disapproval +Disarmament +Disarray +Disassembly +Disaster +Disbelief +Disbursement +Disc +Discernment +Discharge +Disciple +Discipleship +Discipline +Disclaimer +Disclosure +Discomfort +Discontent +Discontinuance +Discontinuity +Discord +Discount +Discouragement +Discourse +Discoverer +Discovery +Discredit +Discrepancy +Discretion +Discrimination +Discussant +Discussion +Disdain +Disease +Disenfranchisement +Disengagement +Disfavor +Disgrace +Disguise +Disgust +Dish +Disharmony +Dishonesty +Dishonor +Dishwater +Disillusionment +Disinclination +Disintegration +Disinterest +Disk +Dislike +Dislocation +Disloyalty +Dismay +Dismemberment +Dismissal +Disobedience +Disorder +Disorganization +Disparagement +Disparity +Dispatch +Dispensary +Dispensation +Dispenser +Dispersal +Dispersement +Dispersion +Displacement +Display +Displeasure +Disposal +Disposition +Dispossession +Dispute +Disquiet +Disquietude +Disregard +Disrepair +Disrepute +Disrespect +Disruption +Dissatisfaction +Dissection +Dissemination +Dissension +Dissent +Dissenter +Disservice +Dissimulation +Dissociation +Dissolution +Dissolve +Distance +Distaste +Distension +Distillation +Distiller +Distinction +Distortion +Distraction +Distribution +Distributor +Distributorship +District +Distrust +Disturbance +Disturber +Disunion +Disunity +Ditch +Ditcher +Ditty +Diva +Divan +Dive +Diver +Divergence +Diversification +Diversion +Diversity +Divertimento +Divestiture +Dividend +Divider +Divination +Divine +Divinity +Division +Divorce +Divorcee +Dline +Dock +Dockside +Doctor +Doctorate +Doctrinaire +Doctrine +Document +Documentary +Documentation +Dodge +Doer +Dog +Doghouse +Dogleg +Dogma +Dogmatism +Dogtrot +Dogwood +Doll +Dollar +Dollarette +Dollop +Dolphin +Domain +Dome +Domestic +Domesticity +Domicile +Dominance +Domination +Dominion +Don +Donation +Donee +Donkey +Donor +Doom +Doomsday +Door +Doorbell +Doorkeeper +Doorknob +Doorman +Doormen +Doorstep +Doorway +Dope +Dormitory +Dosage +Dose +Dot +Double +Doubleheader +Doubloon +Doubt +Doubte +Dough +Dove +Dowel +Dower +Down +Downfall +Downpayment +Downpour +Downtrend +Downturn +Dowry +Doyen +Doyenne +Dozen +Draft +Draftee +Drag +Dragger +Dragnet +Dragon +Drain +Drainage +Dram +Drama +Dramatist +Dramatization +Draper +Drapery +Draught +Draw +Drawback +Drawbridge +Drawer +Drawl +Dread +Dream +Dreamboat +Dreamer +Dresser +Drier +Drift +Drill +Drink +Drinker +Drip +Drive +Driver +Driveway +Drizzle +Dromozoa +Drone +Drop +Drought +Drouth +Drove +Drudgery +Drug +Drugstore +Drum +Drumlin +Drummer +Drunk +Drunkard +Dryer +Drywall +Dualism +Duck +Duct +Ductwork +Dud +Due +Duel +Duet +Duf +Duffel +Duffer +Dugout +Duke +Dumbbell +Dump +Dun +Dune +Dung +Dungeon +Duo +Duplicate +Duplication +Durability +Duration +Dusk +Dust +Dustbin +Duty +Dwarf +Dweller +Dyerear +Dynamic +Dynamite +Dynamo +Dynasty +Dysentery +Dysplasia +Dystopia +Dystrophy +Eagerness +Eagle +Ear +Earache +Earl +Earnest +Earnestness +Earth +Earthenware +Earthquake +Earthworm +Ease +Easel +Easement +Easter +Eave +Ebony +Eccentric +Eccentricity +Echelon +Echo +Eclat +Eclipse +Ecliptic +Economics +Economist +Economy +Ecstasy +Ecstatic +Ecumenist +Edema +Edge +Edginess +Edifice +Edition +Editor +Editorial +Editorialist +Editorship +Education +Educator +Eel +Eeriness +Effect +Effectinge +Efficacy +Efficiency +Efficient +Effluent +Effluvium +Effort +Egalitarianism +Egg +Egghead +Eggshell +Ego +Egotism +Egotist +Egret +Egyptian +Eiderdown +Einstein +Ejection +Ejector +Elaboration +Elan +Elasticity +Elation +Elbow +Elder +Elderberry +Election +Electorate +Electric +Electricity +Electrocardiogram +Electrocardiograph +Electrode +Electromagnet +Electromyography +Electron +Electronography +Electroshock +Electrotherapist +Elegance +Elegy +Element +Elephant +Elevation +Elevator +Eligibility +Eligible +Elimination +Elite +Elk +Ell +Ellipsoid +Elm +Elongation +Eloquence +Elsewhere +Eluate +Elucidation +Elution +Emanation +Emancipation +Emasculation +Embankment +Embargo +Embarrassment +Embassy +Embellishment +Embezzlement +Embodiment +Embouchure +Embrace +Embroidery +Embryo +Emcee +Emerald +Emergence +Emergency +Emigration +Eminence +Emissary +Emission +Emotion +Emotionalism +Emotionality +Empathy +Emperor +Emphysema +Empire +Empiricism +Employ +Employe +Employee +Employer +Employment +Emulsion +Enactment +Enamel +Encampment +Enchanter +Enchantment +Enchantress +Enclosure +Encounter +Encouragement +Encourager +Encroachment +Encyclopedia +Encylopedia +End +Endearment +Endeavor +Endeavour +Endevor +Endgame +Endogamy +Endorsement +Endorser +Endosperm +Endowment +Endurance +Enemy +Energy +Enervation +Enforcement +Engagement +Engine +Engineer +Engraver +Engrg +Enigma +Enjoinder +Enjoyment +Enlargement +Enlightenment +Enlistment +Enmity +Enormity +Enough +Enrage +Enrichment +Enrollment +Ensemble +Enslavement +Entanglement +Enterotoxemia +Enterprise +Entertainer +Entertainment +Enthalpy +Enthusiasm +Enthusiast +Entirety +Entity +Entomologist +Entourage +Entrance +Entranceway +Entrant +Entrepreneur +Entropy +Entry +Enumeration +Enunciation +Envelope +Environment +Envy +Enzyme +Epic +Epicenter +Epicure +Epicurean +Epicycle +Epidemic +Epigraph +Epilogue +Epiphany +Episode +Epistemology +Epitaph +Epithet +Epitome +Epoch +Epoxy +Epsom +Equal +Equality +Equalization +Equanimity +Equation +Equator +Equilibrium +Equine +Equipment +Equity +Equivalence +Equivalent +Era +Eradication +Eraser +Erection +Erosion +Erotica +Errand +Error +Erudition +Eruption +Escalation +Escapade +Escape +Escapism +Escapist +Escheat +Escort +Escritoire +Escutcheon +Espionage +Esplanade +Espousal +Essay +Essence +Essential +Establishment +Estate +Esteem +Estimate +Estimation +Estrangement +Eternal +Eternity +Ethanol +Ethic +Ethicist +Ethyl +Etiquette +Euphemism +Euphoria +Europeanization +Eutectic +Evacuation +Evaluation +Evangelism +Evangelist +Evaporation +Evasion +Eve +Evensong +Event +Eventuality +Everywhere +Evidence +Evil +Evocation +Evolution +Exacerbation +Exaggeration +Exaltation +Examiantion +Examination +Examiner +Example +Exasperation +Exboyfriend +Excavation +Excellence +Excelsin +Excelsior +Exception +Excerpt +Exchange +Exchequer +Excise +Excitability +Excitement +Exclamation +Exclusion +Exclusive +Excretion +Excursion +Excuse +Exec +Execution +Executioner +Executive +Executor +Exemplar +Exemplary +Exemption +Exercise +Exertion +Exhaust +Exhaustion +Exhibit +Exhibition +Exhusband +Exile +Existence +Existent +Existentialist +Exit +Exogamy +Exoneration +Expanse +Expansion +Expansionist +Expectancy +Expectation +Expediency +Expedient +Expedition +Expenditure +Expense +Experience +Experiment +Experimentalism +Experimentation +Experimenter +Expert +Expertise +Expiation +Expiration +Explanation +Exploit +Exploitation +Exploration +Explorer +Explosion +Explosive +Exponent +Export +Expose +Exposition +Exposure +Expression +Expressionism +Expressionist +Expressway +Expulsion +Expurgation +Extension +Extent +Exterior +Extermination +Extern +Externalization +Extinction +Extolment +Extract +Extraction +Extrapolation +Extrema +Extreme +Extremity +Extrovert +Extruder +Exuberance +Exultation +Eye +Eyeball +Eyebrow +Eyeful +Eyelash +Eyelid +Eyepiece +Eyesight +Eyeteeth +Fable +Fabric +Fabrication +Facade +Face +Facet +Facility +Facsimile +Facsiport +Fact +Faction +Factor +Factory +Faculty +Fad +Fade +Fadeout +Faery +Failure +Fair +Fairway +Fairy +Faith +Faithful +Fake +Faker +Falcon +Fall +Fallacy +Falloff +Fallout +Falsehood +Falsity +Fame +Familarity +Familiarity +Family +Famine +Fan +Fanaticism +Fancy +Fanfare +Fantasia +Fantasist +Fantasy +Farce +Fare +Farewell +Farm +Farmer +Farmhouse +Farmland +Faro +Fascination +Fascinator +Fashion +Fashioner +Fast +Fat +Fatality +Fate +Father +Fathuh +Fatigue +Faucet +Fault +Fauna +Fauteuil +Favor +Favorer +Favorite +Favoritism +Favour +Fawn +Fealty +Fear +Feare +Feasibility +Feast +Feat +Feather +Feature +Fecundity +Federalism +Federation +Fedora +Fee +Feed +Feedback +Feeder +Feel +Feet +Feint +Fela +Feler +Felicity +Fella +Feller +Fellow +Fellowship +Felon +Felony +Felt +Female +Femininity +Feminist +Fence +Fender +Fennel +Fenugreek +Ferment +Fermentation +Fern +Fernery +Ferocity +Ferry +Fertility +Fertilizer +Fervor +Festival +Fetish +Feud +Feudalism +Fever +Few +Fiance +Fiance +Fiasco +Fiat +Fiber +Fibrin +Fiction +Fiddle +Fidelity +Fiefdom +Field +Fielder +Fieldmice +Fieldstone +Fieldwork +Fiend +Fiesta +Fig +Fight +Fighter +Figment +Figure +Filagree +Filament +Filbert +File +Filibuster +Filigree +Filler +Fillip +Filly +Film +Filter +Filth +Fin +Final +Finale +Finalist +Finality +Finance +Financier +Find +Finder +Fine +Finger +Fingerprint +Finial +Finish +Finisher +Finite +Fir +Fire +Fireball +Firebug +Firecracker +Firelight +Fireman +Firemen +Fireplace +Firepower +Firm +First +Firsthand +Fish +Fisherman +Fishermen +Fishery +Fishpond +Fission +Fist +Fit +Five +Fix +Fixture +Flag +Flagellation +Flageolet +Flail +Flair +Flame +Flange +Flank +Flannel +Flapper +Flare +Flash +Flashback +Flashlight +Flask +Flat +Flathead +Flatiron +Flatland +Flattery +Flatulence +Flautist +Flavor +Flaw +Flax +Flaxseed +Fleawort +Fleck +Fleet +Flesh +Flex +Flexibility +Flick +Flicker +Flier +Flight +Flint +Flirtation +Floater +Floc +Flocculation +Flock +Floe +Flood +Floodlight +Floor +Floorshow +Flop +Flora +Florist +Flour +Flourish +Flow +Flower +Flowerpot +Flu +Fluency +Fluff +Fluid +Fluidity +Fluke +Fluorescein +Fluorescence +Fluoride +Fluorine +Flurry +Flush +Flute +Flutist +Flutter +Flux +Fly +Flyer +Foal +Foam +Foci +Fodder +Foe +Fog +Fogy +Foil +Fold +Folder +Foliage +Folk +Folklore +Folks +Follower +Folly +Fontanel +Food +Foodie +Fool +Foot +Footage +Football +Footbridge +Footfall +Foothill +Footman +Footnote +Footpath +Footstep +Footstool +Footwear +Footwork +Fop +For +Forage +Foray +Forbear +Force +Fore +Forearm +Forecast +Forefather +Forefeet +Forefinger +Foreground +Forehead +Foreigner +Foreknowledge +Foreleg +Foreman +Forepart +Forerunner +Foresight +Forest +Forestry +Forethought +Forever +Forge +Forgery +Forgiveness +Fork +Forklift +Form +Forma +Formability +Formalism +Formality +Format +Formation +Formative +Former +Formula +Formulae +Formulation +Fort +Forte +Fortitude +Fortnight +Fortune +Forty +Forum +Foundation +Founder +Fountain +Fountainhead +Four +Foursome +Fowl +Fox +Foyer +Fraction +Fractionation +Fracture +Fragment +Fragmentation +Fragrance +Frambesia +Frame +Framer +Framework +Franc +Franchise +Frangipani +Frank +Frankfurter +Fraternisation +Fraternity +Frau +Fraud +Fray +Freak +Freedmen +Freedom +Freeman +Freethinker +Freeway +Freeze +Freezer +Freight +Freighter +Frenzy +Frequency +Fresco +Freshman +Freshmen +Friction +Friend +Friendship +Frieze +Fright +Fringe +Frivolity +Frock +Frog +Frolic +Front +Frontage +Frontier +Frontiersmen +Frost +Frostbite +Froth +Frugality +Fruit +Fruition +Frustration +Fuchsia +Fuel +Fueloil +Fugitive +Fulfillment +Full +Fullback +Fumble +Fun +Function +Functional +Functionalism +Functionary +Fund +Fundamentalism +Fundamentalist +Funds +Funeral +Funnel +Fur +Furlough +Furnace +Furniture +Furor +Furrow +Fury +Fuse +Fuselage +Fusion +Fuss +Futility +Future +Fuzz +Gab +Gabardine +Gabble +Gable +Gadfly +Gadget +Gadgetry +Gag +Gage +Gaggle +Gagline +Gaiety +Gain +Gainer +Gait +Gal +Gala +Galahad +Galaxy +Gale +Gall +Gallant +Gallantry +Gallbladder +Gallery +Galley +Gallium +Gallon +Gallonage +Gallop +Gallstone +Galvanism +Gambit +Gamble +Game +Gamebird +Gamma +Gamut +Gang +Gangland +Gangplank +Gangster +Gangway +Gantlet +Gap +Gapt +Garage +Garb +Garbage +Garden +Gardener +Gardenia +Gargle +Garland +Garlic +Garment +Garnet +Garnish +Garrison +Garter +Gas +Gash +Gasket +Gasoline +Gasp +Gasser +Gastronome +Gastronomy +Gate +Gateway +Gather +Gaucherie +Gauge +Gauntlet +Gauze +Gayety +Gaze +Gazelle +Gazer +Gear +Gee +Geese +Gel +Gem +Gender +Genera +General +Generalist +Generality +Generalization +Generation +Generativity +Generator +Generosity +Genesis +Geneticist +Genie +Genii +Genius +Genre +Gentian +Gentile +Gentility +Gentle +Gentlefolk +Gentleman +Gentlemen +Gentlewoman +Gentry +Geocentricism +Geochemistry +Geography +Geologist +Geology +Geometry +Germ +Germanium +Gesture +Getaway +Ghetto +Ghost +Ghoul +Giant +Gibbet +Gibe +Giblet +Gift +Gig +Giggle +Gilt +Gin +Ginger +Gingham +Ginkgo +Ginmill +Girdle +Girl +Girlfriend +Girlie +Girth +Gist +Give +Giveaway +Giver +Glacier +Glad-hand +Gladiator +Glamor +Glamour +Glance +Gland +Glare +Glass +Glaucoma +Glaze +Gleam +Glee +Glen +Glimmer +Glimpse +Glint +Glissade +Glisten +Glister +Glitter +Glitterati +Glitz +Globe +Globetrotter +Globulin +Gloom +Glorification +Glory +Gloss +Glossary +Glossy +Glottochronology +Glove +Glover +Glow +Glue +Glum +Glycerin +Glycerine +Glycerol +Glycol +Gnome +Gnomon +Go-getter +Goad +Goal +Goat +Gob +Gobbledygook +God +Goddess +Godhead +Godparent +Godsend +Goitre +Goitrogen +Golconda +Gold +Goldfish +Goldsmith +Golf +Golfer +Good +Goodbye +Goodness +Goodwill +Goody +Goose +Gop +Gorge +Gorgeousness +Gospel +Gossamer +Gossip +Gourd +Gourmet +Gout +Government +Governor +Gown +Grab +Grace +Gracility +Graciousness +Grad +Grade +Grader +Gradient +Gradualist +Graduate +Graduation +Graffiti +Graft +Graham +Grain +Gram +Grammar +Granary +Grandchildren +Granddaughter +Grandee +Grandeur +Grandfather +Grandma +Grandmaster +Grandmother +Grandson +Grandstand +Granite +Grant +Grantee +Grantor +Grape +Grapefruit +Grapevine +Graph +Graphite +Grasp +Grass +Grassfire +Grassland +Grate +Gratefulness +Gratification +Gratitude +Grave +Gravel +Gravestone +Graveyard +Gravitation +Gravity +Gravy +Gray +Graybeard +Grazer +Grease +Great +Greatcoat +Greatness +Greed +Green +Greenhouse +Greensward +Greenware +Grenade +Grey +Grid +Grief +Grievance +Grill +Grille +Grillework +Grillwork +Grimace +Grin +Grindstone +Grip +Grist +Gristmill +Grit +Grizzly +Groan +Grocer +Grocery +Groin +Groom +Groomsmen +Groove +Ground +Grounder +Groundwave +Groundwork +Group +Grove +Grower +Growl +Growth +Grub +Grubstake +Grudge +Grumble +Grunt +Guanidine +Guar +Guarantee +Guarantor +Guaranty +Guard +Guardhouse +Guardian +Guerilla +Guerrilla +Guest +Guffaw +Guidance +Guide +Guidebook +Guild +Guile +Guilt +Guinea +Guise +Guitar +Guitarist +Gulf +Gull +Gullet +Gulley +Gullibility +Gully +Gulp +Gum +Gumption +Gun +Gunbarrel +Gunfighter +Gunfire +Gunflint +Gunk +Gunman +Gunmen +Gunner +Gunplay +Gunpowder +Gunslinger +Gurgle +Guru +Gush +Gusher +Gust +Gusto +Gut +Gutter +Guy +Gym +Gymnast +Gymnastic +Gynecologist +Gypsum +Gypsy +Gyration +Gyro +Haberdashery +Habit +Habitat +Hack +Hacksaw +Hackwork +Haddock +Haggle +Hail +Hailstorm +Hair +Haircut +Hairpin +Hairshirt +Hairtonic +Hale +Half +Halfback +Halftime +Hall +Hallmark +Hallway +Halo +Halt +Halter +Halvah +Ham +Hamburger +Hamlet +Hammer +Hammock +Hamper +Hand +Handbag +Handbook +Handclasp +Hande +Hander +Handful +Handgun +Handhold +Handicap +Handicraftsman +Handiwork +Handkerchief +Handle +Handler +Handmaiden +Handshake +Handstand +Handyman +Handymen +Hangar +Hangman +Hangover +Hansom +Happenstance +Happiness +Harbor +Hardbake +Hardboard +Hardener +Hardship +Hardtack +Hardware +Hare +Harem +Harm +Harmonization +Harmony +Harp +Harpsichord +Harpsichordist +Harrassment +Harvest +Hash +Hasher +Hassle +Haste +Hat +Hatch +Hatchet +Hatchway +Hate +Hatred +Haul +Haulage +Haunt +Haven +Havoc +Hawk +Hawker +Hay +Haystack +Hazard +Haze +Hazel +Hbo +Head +Headache +Headboard +Heade +Header +Heading +Headland +Headline +Headlinese +Headman +Headmaster +Headquarter +Headroom +Headsman +Headstand +Healer +Health +Healthcare +Heap +Hearer +Hearsay +Hearse +Heart +Heartbeat +Heartbreak +Hearth +Heartthrob +Heat +Heater +Heather +Heave +Heaven +Hecatomb +Heck +Hedge +Hedonism +Heed +Heel +Hegemony +Height +Heir +Heiress +Hel +Helicopter +Helion +Heliotrope +Helium +Hell +Hellfire +Hello +Helm +Helmet +Helmsman +Help +Helper +Helpmate +Hem +Hemisphere +Hemoglobin +Hemorrhage +Hemosiderin +Hen +Henchman +Henchmen +Heptachlor +Herb +Herd +Heredity +Heresy +Heritage +Hero +Heroin +Heroine +Heroism +Herpetologist +Herpetology +Herringbone +Hesitance +Hesitancy +Hesitation +Heuristic +Hex +Hexagon +Hexameter +Heyday +Hibachi +Hick +Hickory +Hide +Hideaway +Hideout +Hierarchy +High +Highball +Highboard +Highboy +Highflier +Highland +Highlight +Highpoint +Highroad +Highschool +Highway +Highwayman +Hike +Hilarity +Hill +Hillbilly +Hillside +Hilt +Hilum +Hindsight +Hinge +Hint +Hip +Hipline +Hipster +Histology +Historian +Historicism +Historicity +Historiography +History +Hit +Hitch +Hitter +Hive +Hob +Hobby +Hobo +Hockey +Hodgepodge +Hog +Hold +Holder +Holdup +Hole +Holiday +Hollow +Hollowware +Hollyhock +Holocaust +Holster +Holy +Homage +Home +Homefolk +Homeland +Homemaker +Homer +Homerun +Homestead +Homicide +Homogenate +Homogeneity +Homogenization +Hon +Honesty +Honey +Honeybee +Honeymoon +Honeysuckle +Honor +Honoree +Honour +Hooch +Hood +Hoodlum +Hoof +Hook +Hookup +Hookworm +Hooliganism +Hoop +Hooray +Hoosegow +Hoot +Hop +Hope +Hopper +Hopscotch +Horde +Horizon +Hormone +Horn +Horoscope +Horror +Horse +Horseback +Horsedom +Horseflesh +Horsehair +Horseman +Horsemanship +Horsemen +Horseplay +Horsepower +Horsewoman +Hose +Hospital +Hospitality +Hospitalization +Host +Hostage +Hoste +Hostility +Hostler +Hotbed +Hotel +Hothouse +Hotrod +Hotshot +Hound +Hour +House +Household +Householder +Housekeeper +Housepaint +Housewife +Housework +Hovel +Howl +Howse +Hub +Hubbub +Hubby +Huckster +Huddle +Hue +Hug +Hulk +Hull +Hum +Human +Humanism +Humanist +Humanitarian +Humanity +Humidity +Humilation +Humiliation +Humility +Humor +Humour +Hunch +Hundred +Hunger +Hunk +Hunt +Hunter +Hurdle +Hurler +Hurley +Hurricane +Hurry +Hurt +Husband +Husbandry +Husbun +Hush +Hustler +Hut +Hutment +Hyaline +Hyalinization +Hybrid +Hydride +Hydrido +Hydrocarbon +Hydrochemistry +Hydrochloride +Hydrogen +Hydrophobia +Hydroxazine +Hydroxylation +Hyena +Hygiene +Hymen +Hymn +Hype +Hyperbole +Hypercellularity +Hyperemia +Hyperplasia +Hypertrophy +Hypervelocity +Hypoadrenocorticism +Hypocellularity +Hypocrisy +Hypocrite +Hypostatization +Hypothyroidism +Hysterectomy +Hysteria +Ibex +Ibis +Ice +Iceberg +Icebox +Icecap +Icicle +Icon +Iconoclasm +Idea +Ideal +Idealism +Idealist +Idealization +Identification +Identity +Ideologist +Ideology +Idiocy +Idiom +Idiot +Idleness +Idler +Idol +Idolatry +Idolizer +Idyll +Igloo +Ignition +Ignorance +Iguana +Ileum +Ill +Illegal +Illegitimacy +Illiteracy +Illness +Illumination +Illusion +Illustration +Illustrator +Image +Imagery +Imagination +Imagineer +Imagnation +Imbalance +Imbecile +Imbroglio +Imitation +Imitator +Immaturity +Immediacy +Immensity +Immersion +Immigrant +Immigration +Imminence +Immobility +Immodesty +Immorality +Immortality +Immunity +Immunization +Impact +Impairment +Impartiality +Impasse +Impatience +Impediment +Imperative +Imperfectability +Imperfection +Imperialism +Imperialist +Impersonation +Impiety +Implant +Implement +Implementation +Implication +Import +Importance +Importation +Imposition +Impossibility +Impotence +Impotency +Impresario +Impresser +Impression +Impressionist +Imprimatur +Imprisonment +Impromptu +Impropriety +Improvement +Improvisation +Improviser +Impudence +Impulse +Impunity +Impurity +Imputation +Inability +Inaccuracy +Inaction +Inactivation +Inactivity +Inadequacy +Inadvertence +Inamorata +Inamorato +Inaugural +Inauguration +Incantation +Incapacity +Incarnation +Incense +Incentive +Inception +Inceptor +Inch +Incidence +Incident +Incinerator +Incipience +Incipiency +Incitement +Inclination +Incline +Inclusion +Income +Incompatibility +Incompetence +Incomprehension +Incongruity +Inconsistency +Inconvenience +Incorporation +Incorruptibility +Increase +Incredulity +Incubation +Incubi +Inculcation +Incursion +Ind +Indecision +Indefinite +Indefinity +Indemnity +Indenture +Independence +Independent +Index +Indication +Indicator +Indictment +Indifference +Indigation +Indigestion +Indignation +Indirection +Indisposition +Indium +Individual +Individualism +Individualist +Individuality +Individuation +Indivisibility +Indivisible +Indoctrination +Indolence +Inducement +Induction +Indulgence +Industralization +Industrialism +Industrialist +Industrialization +Industry +Inefficiency +Inequality +Inertia +Inevitability +Inexperience +Infamy +Infancy +Infant +Infantry +Infantryman +Infantrymen +Infarct +Infarction +Infatuation +Infection +Inference +Inferiority +Inferno +Infestation +Infidelity +Infield +Infiltration +Infinite +Infinitive +Infinity +Infirmary +Infirmity +Inflammation +Inflation +Inflection +Infliction +Inflow +Influence +Influent +Influenza +Influx +Informality +Informant +Information +Infraction +Infrared +Infringement +Infuriation +Infusion +Ingenuity +Ingestion +Ingratitoode +Ingratitude +Ingredient +Inhabitation +Inhalation +Inheritance +Inheritor +Inhibition +Inhibitor +Initiation +Initiative +Initiator +Injection +Injunction +Injury +Injustice +Ink +Inlet +Inmate +Inn +Innocence +Innovation +Innovator +Innuendo +Inoculation +Inpost +Input +Inquest +Inquiry +Inquisitor +Insanity +Inscription +Inscrutability +Insect +Insecticide +Insecurity +Insemination +Insert +Insertion +Inset +Inside +Insight +Insignificance +Insinuation +Insistence +Insolence +Insomnia +Insouciance +Inspection +Inspector +Inspiration +Instability +Installation +Installment +Instance +Instancy +Instant +Instigation +Instigator +Instillation +Instinct +Institute +Institution +Institutionalization +Institutor +Instruction +Instructor +Instrument +Instrumentation +Insubordination +Insularity +Insulation +Insulator +Insulin +Insult +Insurance +Insurgence +Insurrection +Intake +Integer +Integral +Integration +Integrity +Intellect +Intellectual +Intellectuality +Intelligence +Intelligentsia +Intemperance +Intendant +Intensification +Intensifier +Intensity +Intent +Intention +Interaction +Intercept +Interceptor +Interchange +Intercourse +Interdependence +Intereference +Interest +Interface +Interference +Interferometer +Interim +Interior +Interlocutor +Interlude +Intermarriage +Interment +Intermission +Intern +International +Interne +Interplay +Interpolation +Interposition +Interpretation +Interpreter +Interpretor +Interregnum +Interrelation +Interrelationship +Interrogation +Interrogator +Interruption +Intersection +Interval +Intervention +Interview +Interviewee +Interviewer +Intestine +Intima +Intimacy +Intimate +Intimidation +Intolerance +Intonation +Intransigence +Intrigue +Introduction +Introject +Introspection +Intruder +Intrusion +Intuition +Invader +Invalid +Invalidism +Invasion +Invention +Inventor +Inventory +Inverse +Inversion +Investigation +Investigator +Investment +Investor +Invigoration +Inviolability +Invitation +Invite +Invitee +Invocation +Involution +Involvement +Invulnerability +Iodide +Iodination +Iodine +Iodoamino +Iodoprotein +Ion +Ionosphere +Iota +Ire +Iridium +Irish +Iron +Irony +Irradiation +Irrationality +Irredentism +Irregular +Irregularity +Irreproducibility +Irresolution +Irresponsibility +Irreverence +Irrigation +Irritability +Irritant +Irritation +Irsac +Island +Isle +Isocyanate +Isolation +Isolationism +Issuance +Issue +Itch +Item +Itemization +Itinerary +Ity +Ivory +Ivy +Jab +Jabberwock +Jackal +Jacket +Jackpot +Jade +Jag +Jail +Jalapeno +Jalopy +Jam +Jamb +Jamboree +Janitor +Jape +Japonica +Jar +Jargon +Jasper +Java +Jaw +Jawbone +Jay +Jaywalker +Jazz +Jazzmen +Jealousy +Jeans +Jedec +Jeep +Jejunum +Jelly +Jellyfish +Jeopardy +Jerk +Jerkiness +Jersey +Jest +Jester +Jet +Jetsetter +Jewel +Jeweler +Jewelry +Jiffy +Jig +Jigger +Jigsaw +Jim-dandy +Jingle +Jingo +Jink +Jinx +Jitter +Jitterbug +Jive +Job +Joblot +Jockey +Jockstrap +Jogger +John +Join +Joiner +Joinery +Joint +Joist +Joke +Joker +Jolt +Josh +Jot +Journal +Journalese +Journalism +Journalist +Journey +Journeyman +Joust +Joviality +Jowl +Joy +Joyfulness +Joyride +Joyrider +Joystick +Jubilation +Jubilee +Judge +Judgement +Judgeship +Judgment +Judicature +Judiciary +Judo +Jug +Juggernaut +Juggler +Juice +Juicer +Juju +Jujube +Juke +Jukebox +Julep +Jumble +Jumbo +Jump +Jumper +Jumpsuit +Junction +Juncture +June +Jungle +Junior +Juniper +Junk +Junket +Junkyard +Junta +Jurisdiction +Jurisprudence +Jurist +Juror +Jury +Justice +Justiciary +Justification +Jute +Juvenile +Juxtaposition +Kahuna +Kale +Kaleidoscope +Kangaroo +Karl +Karma +Kava +Kayak +Kazoo +Kebob +Kedgeree +Keel +Keelson +Keenness +Keep +Keeper +Keepsake +Keg +Kegful +Kelp +Ken +Kennel +Keno +Kenya +Kerbside +Kerchief +Kerfuffle +Kernel +Kerosene +Kerygma +Kestrel +Ketchup +Kettle +Key +Keyboard +Keychain +Keyhole +Keynote +Khaki +Khan +Kibbutzim +Kick +Kickback +Kicker +Kickoff +Kid +Kidnaper +Kidnapper +Kidney +Kill +Killer +Kiln +Kilogram +Kilometer +Kiloton +Kilowatt +Kilt +Kimono +Kin +Kind +Kindergarten +Kindness +Kindred +King +Kingdom +Kingpin +Kinship +Kiosk +Kiss +Kit +Kitchen +Kitchenette +Kite +Kitten +Klaxon +Kleptocracy +Kleptomania +Klutz +Knack +Knackwurst +Knee +Kneecap +Kneejerk +Knife +Knight +Knob +Knock +Knockdown +Knockout +Knoll +Knot +Knott +Know +Know-how +Knowledge +Knuckle +Knuckleball +Koala +Kob +Kola +Konga +Korean +Kqed +Kraft +Kraut +Kudos +Kumquat +Lab +Label +Labor +Laboratory +Laborer +Labour +Labyrinth +Lace +Lack +Lacquer +Lactate +Lad +Ladder +Ladle +Lady +Lag +Lagoon +Laity +Lake +Lamb +Lament +Laminate +Lamp +Lamplight +Lance +Land +Landau +Landlord +Landmark +Landscape +Landslide +Lane +Language +Lantern +Lanthanum +Lap +Lapel +Lapidary +Lapse +Larceny +Lard +Larder +Large +Largesse +Lark +Larkspur +Larvae +Laser +Lash +Lasso +Last +Latch +Latex +Lath +Lathe +Lather +Latitude +Latitudinarian +Lattice +Laudanum +Laugh +Laughter +Launch +Launcher +Laundry +Laureate +Laurel +Lava +Lavatory +Lavender +Law +Lawman +Lawmen +Lawn +Lawsuit +Lawyer +Laxative +Layer +Layette +Layman +Laymen +Layout +Lead +Leader +Leadership +Leadsman +Leaf +Leafhopper +Leaflet +Leafmold +League +Leaguer +Leak +Leakage +Leap +Leapfrog +Lease +Leash +Least +Leasure +Leather +Leave +Lebensraum +Lecher +Lecture +Lecturer +Ledge +Ledger +Leeway +Left +Leftfield +Lefthander +Leftist +Leg +Legacy +Legality +Legatee +Legation +Legato +Legator +Legend +Legibility +Legion +Legislation +Legislator +Legislature +Legitimacy +Legume +Leisure +Lemon +Lemonade +Length +Lens +Leprae +Leprosy +Lesion +Lesson +Let +Lethality +Lethargy +Letter +Letterhead +Letterman +Lettermen +Leukemia +Levee +Level +Lever +Leverage +Levitation +Levity +Levy +Lexicon +Liability +Liaison +Liar +Libel +Liberal +Liberalism +Liberality +Liberation +Libertarian +Libertie +Libertine +Liberty +Libido +Librarian +Library +Libretto +Lice +License +Licensee +Lid +Lie +Lieder +Lien +Lieu +Lieutenant +Life +Lifeblood +Lifeboat +Lifer +Lifestyle +Lifetime +Lift +Ligament +Ligand +Light +Lighter +Lightning +Lightweight +Lignite +Like +Likelihood +Lilt +Limb +Limber +Limbo +Lime +Limelight +Limit +Limitation +Limousine +Limp +Linden +Line +Lineage +Lineback +Lineman +Linen +Liner +Lineup +Lingerie +Lingo +Linguist +Liniment +Link +Linkage +Linoleum +Lint +Lion +Lionheart +Lip +Lipstick +Liqueur +Liquid +Liquidation +Liquidity +Liquor +Lise +List +Listener +Lit +Liter +Literalism +Literate +Literature +Lithograph +Litigant +Litigation +Litorigin +Litter +Litterbug +Livability +Livelihood +Liver +Livery +Livestock +Load +Loader +Loaf +Loan +Lobby +Lobe +Loblolly +Lobo +Lobscouse +Lobster +Lobularity +Lobule +Loc +Local +Locale +Locality +Localization +Location +Lock +Locker +Lockup +Locomotive +Locust +Lodge +Lodgment +Loft +Log +Logarithm +Logger +Logic +Logo +Loin +Loincloth +Longevity +Longhand +Longhorn +Longitude +Longrun +Longshoremen +Longshot +Longtime +Look +Lookout +Lookup +Loom +Loon +Loop +Loophole +Loose +Loot +Lope +Loquacity +Lord +Lordship +Lore +Loser +Loss +Lot +Lotion +Lots +Loudspeaker +Lounge +Louse +Love +Lover +Lovie +Low +Loyalist +Loyalty +Lubricant +Lubrication +Lucidity +Luck +Lucy +Lug +Luggage +Lull +Lullaby +Lulu +Lumber +Lumen +Luminescence +Luminosity +Lummox +Lump +Lunation +Lunch +Luncheon +Lunchroom +Lunchtime +Lung +Lurch +Lure +Lust +Luster +Lustre +Lute +Luxuriance +Luxury +Lymph +Lymphoma +Lyric +Lyricism +Lyricist +Lyriist +Machine +Machinegun +Machinery +Machinist +Mackerel +Mackinaw +Mackintosh +Mad +Madam +Madhouse +Madman +Madmen +Madrigal +Maelstrom +Maestro +Magazine +Maget +Magic +Magician +Magistrate +Magnanimity +Magnate +Magnet +Magnetism +Magnification +Magnificence +Magnitude +Magnolia +Magnum +Mahogany +Mahua +Maid +Maiden +Maiestie +Mail +Mailbox +Mailman +Main +Mainland +Mainstream +Maintenance +Majesty +Major +Major-domo +Majority +Majuh +Make +Maker +Makeup +Maladjustment +Malady +Malaise +Malapropism +Malaria +Male +Malediction +Malevolence +Malfeasant +Malice +Malignancy +Mall +Malnutrition +Malocclusion +Malt +Mama +Mammal +Man +Mana +Management +Manager +Mandate +Mandrel +Maneuver +Maneuverability +Manganese +Manhood +Mania +Maniac +Manifestation +Manifold +Manikin +Manila +Manipulation +Mankind +Mannequin +Manner +Mannerism +Manometer +Manor +Manpower +Manse +Manservant +Mansion +Manslaughter +Mantel +Mantle +Mantlepiece +Mantrap +Manual +Manufacture +Manufacturer +Manumission +Manure +Manuscript +Manzanita +Map +Maple +Marathon +Marble +March +Mare +Margin +Marginality +Marijuana +Marimba +Marina +Marinade +Marine +Mariner +Mark +Marker +Market +Marketability +Marketing +Marketplace +Marksman +Marksmanship +Marmalade +Marriage +Marrow +Marshal +Martingale +Martini +Martyr +Martyrdom +Marvel +Mascara +Masculine +Masculinity +Mash +Mask +Masonry +Masquerade +Massage +Masseur +Massuh +Mast +Master +Mastermind +Masterpiece +Mastery +Mastic +Mastiff +Mat +Match +Matchmaker +Mate +Material +Materialism +Materiel +Math +Mathematician +Matriarch +Matrimony +Matrix +Matron +Matt +Matter +Maturation +Maturity +Mauler +Mausoleum +Maverick +Maw +Maxim +Maximization +Maximum +Mayhem +Mayonnaise +Mayor +Mayorship +Maze +Mazurka +Meadow +Meal +Mealtime +Mealynose +Mean +Meaning +Meantime +Measure +Measurement +Meat +Mechanic +Mechanism +Mechanist +Mechanization +Medal +Media +Mediaevalist +Median +Medication +Medicine +Mediocrity +Meditation +Medium +Mediumship +Medley +Meet +Meeting +Megalomania +Megaton +Megawatt +Melancholy +Melange +Melee +Melioration +Melodrama +Melody +Melon +Melting +Member +Membership +Membrane +Memento +Memo +Memoir +Memorabilia +Memorial +Memorization +Memory +Men +Menace +Menarche +Menfolk +Menstruation +Mentality +Mention +Mentor +Menu +Mercer +Merchandise +Merchant +Mercury +Mercy +Merger +Merit +Mermaid +Merriment +Mesh +Message +Messenger +Messhall +Metabolism +Metabolite +Metal +Metaphor +Metaphysic +Meteor +Meteorite +Meter +Methacrylate +Method +Methodology +Methyl +Metrazol +Metre +Metronome +Metropolitanization +Mettle +Mezzo +Mica +Mice +Micelle +Microchemistry +Microcosm +Microcytochemistry +Microfilm +Micrometeorite +Micrometer +Microorganism +Microphone +Microscope +Microscopy +Microwave +Midair +Midday +Middle +Midnight +Midpoint +Midshipmen +Midst +Midstream +Midsummer +Midway +Midweek +Midwife +Mien +Might +Migration +Mike +Mildew +Mile +Mileage +Milestone +Milieu +Militant +Militarism +Militarist +Military +Militia +Milk +Mill +Millenarianism +Millenium +Millennia +Millennium +Millidegree +Milligram +Milliliter +Millimeter +Millinery +Million +Millionaire +Millivoltmeter +Milquetoast +Min +Mind +Minder +Mine +Miner +Mineral +Mineralogy +Miniature +Minikin +Minimum +Minister +Ministry +Mink +Minor +Minority +Minstrel +Mint +Minter +Minuet +Minute +Minutes +Minutiae +Miracle +Mirror +Mirth +Misalignment +Misanthrope +Misbehavior +Miscalculation +Miscegenation +Miscellany +Mischief +Misconception +Misconstruction +Miscount +Miscreant +Misdemeanor +Misery +Misfortune +Mishap +Misinformation +Misinterpretation +Misnomer +Misogynist +Mispronunciation +Misrepresentation +Missile +Mission +Missionary +Missive +Misstep +Missy +Mist +Mistake +Mistletoe +Mistrial +Mistrust +Misuse +Mitigation +Mitre +Mix +Mixer +Mixture +Mlle +Mob +Mobility +Mobilization +Mockery +Modality +Mode +Model +Moderation +Moderator +Modern +Modernism +Modernity +Modernization +Modesty +Modicum +Modification +Modifier +Modulation +Moire +Moisture +Molar +Mold +Moldboard +Mole +Molecule +Mollycoddle +Mom +Moment +Momentum +Monacle +Monarch +Monastery +Monasticism +Monei +Money +Monitor +Monk +Monkey +Monogamy +Monograph +Monolith +Monologist +Monologue +Monomer +Monopolization +Monopoly +Monosyllable +Monotony +Monsoon +Monster +Monstrosity +Month +Monument +Monumentality +Mood +Moon +Moonlight +Moontrack +Mop +Moppet +Moral +Morale +Moralist +Morality +Moratorium +Morgue +Morning +Morphine +Morphology +Morrow +Morsel +Mortality +Mortar +Mortgage +Mortification +Mosaic +Mosque +Mosquito +Motel +Motet +Moth +Mother +Motherhood +Motherland +Motif +Motion +Motivation +Motivator +Motive +Motor +Motorist +Motto +Mough +Mound +Mount +Mountain +Mountainside +Mouse +Moustache +Mouth +Mouthful +Mouthpiece +Move +Movement +Mover +Movie +Mrad +Much +Mucilage +Muck +Mucker +Mucosa +Mud +Mudguard +Mudwagon +Muezzin +Muff +Muffler +Mug +Mulch +Mule +Mullah +Multifigure +Multimillionaire +Multipactor +Multiplication +Multiplicity +Multistage +Multitude +Multiversity +Mumble +Municipality +Mural +Murder +Murderer +Murmur +Muscle +Musclemen +Musculature +Muse +Museum +Mushroom +Music +Musical +Musicality +Musician +Musicianship +Muskadell +Musket +Must +Mustache +Mustard +Muster +Mutilation +Mutineer +Mutiny +Mutton +Mutuality +Muzzle +Mycobacteria +Mycology +Myocardium +Myofibrillae +Myopia +Myosin +Myriad +Myrrh +Myrtle +Mystery +Mystic +Mysticism +Mystification +Mystique +Myth +Mythology +Nab +Nabit +Nacho +Nadir +Naebm +Nahb +Nail +Nair +Nairo +Naivete +Nakamoto +Name +Namesake +Nanometer +Nap +Napkin +Narcissism +Narcotic +Nareb +Narration +Narrative +Narrator +Narrowness +Nascency +Nastiness +Natation +Nation +National +Nationalism +Nationalist +Nationality +Nationhood +Native +Nato +Naturalism +Naturalist +Nature +Naturopath +Nausea +Navel +Navigation +Navigator +Navy +Neatness +Nebula +Necessity +Neck +Necklace +Neckline +Necktie +Necropsy +Nectar +Need +Neediness +Needle +Negation +Negative +Negativism +Negativity +Neglect +Negligence +Negoce +Negotiation +Negotiator +Neighbor +Neighborhood +Neighbourhood +Nemesis +Neocortex +Neon +Neonate +Neoteric +Nephew +Nerve +Nest +Nester +Nestling +Net +Network +Neuralgia +Neurasthenic +Neurologist +Neuron +Neuropathology +Neurotic +Neutralism +Neutralist +Neutrality +Neutralization +Neutron +Newborn +Newcomer +Newel +Newlywed +Newsboy +Newsletter +Newsman +Newsmen +Newspaper +Newspaperman +Newspapermen +Newsreel +Newsstand +Newt +Niceness +Nicety +Niche +Nickel +Nickname +Niece +Night +Nightclub +Nightfall +Nightingale +Nightmare +Nightshirt +Nihilism +Nihilist +Nil +Nimblewit +Nimbus +Nip +Nipper +Nirvana +Nitrate +Nitrogen +Nitroglycerine +Nitwit +Nobility +Nobleman +Noblesse +Nod +Node +Noise +Noisiness +Nomad +Nomenclature +Nomination +Nominee +Nonce +Noncompliance +Nonconformist +Nondefeatist +Nondriver +Nonequivalence +Nonfiction +Nonfood +Nonism +Nonoccurrence +Nonogenarian +Nonpareil +Nonpayment +Nonreactivity +Nonsense +Nonstop +Noodle +Noon +Noontime +Noose +Nop +Norad +Noradrenalin +Norethandrolone +Norm +Normal +Normalcy +North +Northerner +Norwegian +Nose +Nosebag +Nosebleed +Nostalgia +Nostril +Notable +Notation +Notch +Note +Notebook +Notice +Notification +Notion +Notoriety +Noun +Nourishment +Novel +Novelist +Novelty +Novice +Novitiate +Nowhere +Nozzle +Nuance +Nuclei +Nucleoli +Nucleotide +Nuclide +Nudge +Nudism +Nudist +Nudity +Nugget +Nuisance +Null +Nullity +Number +Numbness +Numeracy +Numerology +Nun +Nurse +Nursery +Nursling +Nurture +Nurturer +Nut +Nutmeg +Nutrition +Nutshell +Nuttiness +Nux +Nylon +Nymph +Nymphomaniac +Oaf +Oak +Oasis +Oath +Oathe +Oatmeal +Obedience +Obelisk +Obesity +Object +Objectification +Objection +Objective +Objectivity +Objector +Obligation +Oblige +Obliteration +Oblivion +Oblong +Oboist +Obscenity +Obscurity +Observance +Observation +Observer +Obsession +Obsidian +Obstacle +Obstructionist +Obverse +Ocarina +Occasion +Occlusion +Occupancy +Occupant +Occupation +Occurrence +Ocean +Oceanography +Ocelot +Ocher +Ochre +Octagon +Octahedron +October +Octopus +Octoroon +Ode +Odor +Odyssey +Oep +Offal +Offender +Offense +Offer +Offering +Offersey +Office +Officer +Official +Officialdom +Offing +Offshoot +Offspring +Ogre +Oil +Oilcloth +Oiliness +Oilseed +Ointment +Oiticica +Oleomargarine +Olive +Olympian +Ome +Omelet +Omen +Omission +Ommission +Omnipotence +Omnipotent +Omnivore +Oneupmanship +Onion +Onlooker +Onrush +Onset +Onslaught +Oodles +Ooh +Oomph +Ooze +Opal +Open +Opener +Opening +Openness +Opera +Operand +Operation +Operator +Operetta +Opinion +Opium +Opponent +Opportunism +Opportunity +Opposite +Opposition +Oppression +Opprobrium +Optimality +Optimism +Optimist +Optimization +Optimum +Option +Oracle +Oral +Orange +Oration +Orator +Oratorio +Oratory +Orb +Orbit +Orchard +Orchestra +Orchestration +Orchestrator +Ordeal +Order +Orderly +Ordinance +Ordinary +Ordnance +Organ +Organdy +Organification +Organism +Organist +Organization +Organizer +Orgasm +Orgone +Orgy +Orientation +Origin +Original +Originality +Origination +Originator +Ornament +Ornamental +Ornamentation +Orphan +Orphanage +Orthicon +Orthodontist +Orthography +Orthophosphate +Oscillation +Oscillator +Osmium +Ossification +Ostracism +Ostrich +Otter +Ounce +Ouster +Outback +Outbreak +Outburst +Outcast +Outcome +Outcry +Outfield +Outfielder +Outfit +Outflow +Outgrowth +Outhouse +Outing +Outlaw +Outlawry +Outlay +Outlet +Outline +Outlook +Outpatient +Outpost +Output +Outrage +Outreach +Outset +Outside +Outsider +Oval +Ovation +Oven +Overall +Overcast +Overcoat +Overestimation +Overexploitation +Overflow +Overhang +Overhaul +Overhead +Overlay +Overload +Overnight +Overpayment +Overpopulation +Overpressure +Overprotection +Overrun +Overseer +Oversight +Oversimplification +Overthrow +Overtime +Overture +Overweight +Owi +Owl +Owner +Ownership +Oxalate +Oxcart +Oxen +Oxidation +Oxide +Oxygen +Oxytetracycline +Oyster +Ozone +Paba +Pace +Pacemaker +Pacer +Pacifier +Pacifism +Pacifist +Pack +Package +Packet +Pact +Pad +Paddock +Padlock +Paean +Pagan +Paganism +Page +Pageant +Pageantry +Pagoda +Pail +Pain +Paint +Paintbrush +Painter +Painting +Pair +Pajama +Pal +Palace +Palatability +Palate +Palazzo +Pale +Paleoexplosion +Palette +Pall +Palladium +Pallet +Pallor +Palm +Palsy +Pamphlet +Pan +Pandemic +Pane +Panel +Panelization +Panic +Panjandrum +Panorama +Pansy +Pantheist +Pantheon +Pantomime +Pantry +Pap +Paper +Paperback +Paperweight +Paprika +Par +Parable +Parachute +Parade +Paradigm +Paradise +Paradox +Paragon +Paragraph +Paralanguage +Parallel +Parallelism +Paramagnet +Parameter +Paramount +Paranoiac +Paraoxon +Parapet +Paraphernalia +Paraphrase +Parapsychology +Parasite +Parasol +Parcel +Parchment +Pard +Pardon +Parenchyma +Parent +Parentage +Parenthood +Pariah +Parish +Parisology +Park +Parkway +Parlance +Parliament +Parlor +Parody +Parole +Parquet +Parsimony +Parsley +Parson +Parsonage +Part +Partaker +Participant +Participation +Particle +Particular +Particularity +Partisan +Partition +Partner +Partnership +Party +Passage +Passageway +Passenger +Passerby +Passion +Passivity +Passport +Past +Paste +Pastel +Pasteurization +Pastime +Pastor +Pastry +Pasture +Pat +Patch +Patchwork +Pate +Patent +Paternalism +Path +Pathfinder +Pathologist +Pathology +Patience +Patient +Patina +Patio +Patriarch +Patriarchy +Patrician +Patriot +Patriotism +Patrol +Patrolman +Patrolmen +Patron +Patronage +Patsy +Patter +Pattern +Paucity +Paunch +Pause +Pavement +Pavilion +Paw +Pawn +Pawnshop +Pay +Paycheck +Payday +Paymaster +Payment +Payoff +Payroll +Peace +Peacekeeper +Peacetime +Peach +Peacock +Peak +Peanut +Pear +Pearl +Peasant +Peasanthood +Pebble +Pecan +Peck +Peculiarity +Pedagogue +Pedal +Peddler +Pedestal +Pedestrian +Pedigree +Peer +Peg +Pegboard +Pellagra +Peltry +Pemmican +Pen +Penalty +Penance +Penchant +Pencil +Pendulum +Penetration +Penicillin +Peninsula +Penman +Pennant +Penny +Pension +Pensioner +Pentagon +Penthouse +Penury +People +Pep +Pepper +Pepperoni +Peptide +Percent +Percentage +Perception +Percolator +Percussion +Perfectability +Perfectibility +Perfection +Perfectionism +Perfectionist +Performance +Performer +Perfume +Perfumery +Perfusion +Peril +Perilla +Perimeter +Period +Periodical +Periodicity +Periphery +Perjury +Permanence +Permissibility +Permission +Permit +Peroxide +Perpetration +Perpetrator +Perpetuation +Perplexity +Persecution +Perseverance +Persiflage +Persistence +Persistent +Person +Persona +Personae +Personage +Personality +Personification +Personnel +Perspective +Perspiration +Persuasion +Pertinence +Perturbation +Perusal +Pervaporation +Pessimism +Pest +Pet +Petition +Petitioner +Petroleum +Petulance +Pfennig +Phalanx +Phantasy +Phantom +Pharmacist +Pharmacy +Phase +Pheasant +Phenomena +Phenomenon +Phenonenon +Phenothiazine +Philanthropist +Philanthropy +Philantrophy +Philharmonic +Philology +Philosopher +Philosophy +Phloem +Phone +Phonograph +Phonology +Phony +Phosgene +Phosphate +Phosphide +Phosphor +Photo +Photocathode +Photograph +Photographer +Photography +Photoluminescence +Photomicrograph +Photomicrography +Photorealism +Phrase +Phraseology +Phthalate +Phyla +Physician +Physicist +Physiognomy +Physiologist +Physiology +Physiotherapist +Physique +Pianism +Pianist +Piano +Piazza +Pick +Pickaxe +Picker +Picket +Pickle +Pickoff +Pickup +Picnic +Picture +Pidgin +Pie +Piece +Pier +Piety +Piezoelectricity +Pig +Pigen +Pigeon +Pigeonhole +Pigment +Pigskin +Pike +Pile +Pilgrim +Pilgrimage +Pill +Pillage +Pillar +Pillow +Pilot +Pimp +Pin +Pin-up +Pinball +Pinch +Pine +Pineapple +Pinhead +Pink +Pinnacle +Pinochle +Pinpoint +Pint +Pinto +Pioneer +Pip +Pipe +Pipeline +Pique +Piracy +Pirate +Pirouette +Pistachio +Pistol +Piston +Pit +Pitch +Pitcher +Pitchfork +Pitfall +Pith +Pituitary +Pity +Pivot +Pizza +Pizzicato +Place +Placement +Plagiarism +Plague +Plaid +Plain +Plaintiff +Plan +Plane +Planeload +Planer +Planet +Planetarium +Planetoid +Plank +Planner +Plant +Plantain +Plantation +Planter +Plaque +Plasm +Plasma +Plaster +Plasterer +Plastic +Plasticity +Plate +Plateau +Platform +Platinum +Platoon +Platter +Play +Playback +Playboy +Player +Playground +Playmate +Playoff +Playroom +Playtime +Playwright +Plea +Pleader +Pleasance +Pleasant +Pleasure +Pledge +Plenipotentiary +Plenitude +Plenty +Pleura +Plight +Plot +Plow +Pluck +Plug +Plugugly +Plum +Plumb +Plumber +Plume +Plunder +Plunge +Pluralism +Plush +Plywood +Pneumonia +Poark +Pocket +Pocketbook +Pocketful +Podium +Poem +Poet +Poetry +Poignancy +Point +Pointer +Poise +Poison +Poker +Polarity +Polarization +Pole +Polecat +Polemic +Police +Policeman +Policemen +Policy +Polio +Polish +Politician +Politico +Polity +Polka +Poll +Pollen +Pollution +Polo +Polonaise +Polybutene +Polyester +Polyether +Polyethylene +Polyisobutylene +Polyisocyanate +Polymer +Polymerization +Polynomial +Polyphosphate +Polypropylene +Polystyrene +Pomp +Poncho +Pond +Pony +Poodle +Pool +Pop +Pope +Poplar +Poplin +Poppy +Poppyseed +Populace +Popularity +Population +Porcelain +Porch +Pore +Pork +Porosity +Porridge +Port +Portal +Porter +Portfolio +Portico +Portion +Portrait +Portraiture +Portrayal +Pose +Poseur +Position +Positive +Positivism +Positivist +Posse +Posseman +Possemen +Possession +Possessive +Possessor +Possibility +Possum +Post +Postcard +Poster +Posterity +Postgraduate +Postman +Postmark +Postmen +Postponement +Postscript +Postulant +Posture +Pot +Potassium +Potato +Potboiler +Potency +Potential +Potentiality +Potentiometer +Pothole +Potpourri +Pottery +Pouch +Poultice +Poultry +Pound +Pout +Poverty +Pow +Powder +Powderpuff +Power +Practicability +Practicality +Practice +Practitioner +Pragmatic +Pragmatism +Prairie +Praise +Pram +Pranha +Prank +Prayer +Preacher +Preamble +Precaution +Precedence +Precedent +Precept +Prechlorination +Precinct +Precipice +Precipitate +Precipitin +Precision +Precocity +Precondition +Predecessor +Predicament +Predicator +Predictability +Prediction +Predisposition +Prednisone +Predominance +Predomination +Preemption +Preface +Preference +Preferment +Pregnancy +Prejudice +Preliminary +Prelude +Premier +Premiere +Premise +Premium +Premix +Premonition +Preoccupation +Preordainment +Prep +Preparation +Prepayment +Prepolymer +Preponderance +Preposition +Prepublication +Preradiation +Prerequisite +Prerogative +Prescription +Presence +Present +Presentation +Presenter +Preservation +Preserve +Presidency +President +Press +Pressure +Prestidigitator +Prestige +Presumption +Presupposition +Pretence +Pretense +Pretext +Pretty +Prevalence +Prevention +Preview +Prevision +Prey +Price +Prick +Pride +Priest +Primacy +Primary +Prime +Primitive +Primitivism +Primogenitor +Prince +Princess +Princesse +Principal +Principle +Print +Printer +Priority +Prison +Prisoner +Privacy +Private +Privet +Privilege +Privy +Prize +Pro +Probability +Probate +Probation +Probe +Probity +Problem +Procaine +Procedure +Process +Procession +Processional +Processor +Proclamation +Proconsul +Procrastination +Procreation +Procreativity +Procreator +Proctor +Procurement +Procurer +Prod +Prodigy +Produce +Producer +Product +Production +Productivity +Profanity +Profession +Professional +Professionalism +Professor +Professorship +Profet +Proficiency +Profile +Profit +Profitability +Profoundity +Profundity +Profusion +Progandist +Progenitor +Progeny +Prognostication +Prognosticator +Program +Programmer +Progress +Progression +Progressive +Progressivism +Prohibition +Prohibiton +Project +Projectile +Projection +Projector +Prolepsis +Proletariat +Proliferation +Prolixity +Prolongation +Prolusion +Promazine +Promenade +Prominence +Promise +Promoter +Promotion +Promulgator +Pronoun +Pronouncement +Proof +Prop +Propaganda +Propagandist +Propagation +Propeller +Property +Prophecy +Prophet +Propionate +Proponent +Proportion +Proportionality +Proposal +Proposer +Proposition +Proprieter +Proprietor +Proprietorship +Propriety +Propulsion +Propylthiouracil +Proscription +Prose +Prosecution +Prosecutor +Prospect +Prospective +Prosperity +Prostate +Prostitute +Prostitution +Protagonist +Protease +Protection +Protective +Protector +Protege +Protein +Protest +Protocol +Proton +Protoplasm +Prototype +Protozoa +Protrusion +Protuberance +Provenance +Proverb +Providence +Provider +Province +Provincialism +Provision +Proviso +Provocation +Provocative +Prow +Prowl +Proximity +Proxy +Prudence +Prune +Psalm +Psalmist +Pseudonym +Pseudophloem +Pseudynom +Psi +Psyche +Psychiatrist +Psychiatry +Psychoanalyst +Psychologist +Psychology +Psychopath +Psychopomp +Psychotherapy +Psyllium +Pterygia +Pub +Puberty +Public +Publication +Publicity +Publisher +Puddle +Puke +Pull +Pulley +Pulp +Pulpit +Pulsation +Pulse +Pump +Pumpkin +Pun +Punch +Punchbowl +Puncher +Punctuality +Punctuation +Punditry +Pungency +Punishment +Punk +Punster +Pup +Pupil +Puppet +Puppy +Purchase +Purgation +Purgatory +Purge +Purification +Purism +Purity +Purple +Purpose +Purse +Pursuer +Pursuit +Purveyor +Push +Pussy +Pussycat +Putout +Putt +Putter +Putty +Puzzle +Puzzlement +Puzzler +Pynte +Pyorrhea +Pyramid +Pyre +Pyrometer +Pyrophosphate +Pyschiatrist +Python +Qiblah +Quack +Quackery +Quacksalver +Quad +Quadcopter +Quadrangle +Quadrant +Quadric +Quadriceps +Quadrille +Quadruped +Quaff +Quagmire +Quail +Quaintise +Quaintisiness +Quake +Quaker +Qualification +Qualifier +Quality +Qualm +Quandary +Quantity +Quantum +Quarantine +Quark +Quarrel +Quarry +Quarrymen +Quart +Quarter +Quarterback +Quarterfinal +Quartermaster +Quartet +Quartz +Quatrain +Quaver +Quay +Queasiness +Queen +Queenhood +Queerness +Querist +Quern +Query +Quest +Quester +Question +Questionaire +Questioner +Questionnaire +Quetzal +Queue +Quibble +Quibbler +Quiche +Quick +Quickie +Quickness +Quicksand +Quicksilver +Quickstep +Quid +Quidditch +Quiddity +Quiet +Quietness +Quietude +Quill +Quillet +Quilt +Quince +Quinine +Quinoa +Quinsy +Quintain +Quintessence +Quintet +Quintuplets +Quip +Quire +Quirk +Quirt +Quitter +Quiver +Quixotism +Quiz +Quod +Quoit +Quorum +Quota +Quotation +Quote +Quotient +Quran +Rabbi +Rabbit +Rabble +Race +Racetrack +Rack +Racket +Racketeer +Raconteur +Radar +Radiance +Radiant +Radiation +Radiator +Radical +Radicalism +Radii +Radio +Radioactivity +Radiocarbon +Radiochlorine +Radioclast +Radiography +Radiomen +Radiopasteurization +Radiosterilization +Radish +Raft +Rag +Rage +Raid +Rail +Railhead +Raillery +Railroad +Railroader +Railway +Rain +Rain-maker +Rainbow +Rainfall +Rainstorm +Raise +Raiser +Raisin +Rajah +Rake +Rally +Ram +Ramification +Ramp +Rampage +Rampart +Ranch +Rancher +Rancho +Rancidity +Rancor +Random +Randomization +Range +Rank +Ransom +Rap +Rape +Rapidity +Rapier +Rapport +Rapprochement +Rapture +Rarity +Rascal +Rasp +Rat +Rate +Ratification +Ratio +Ration +Rationale +Rationalism +Rationalist +Rationality +Rationalization +Rator +Rattail +Rattle +Rattler +Rattlesnake +Rawhide +Ray +Razor +Razorback +Reaction +Reader +Realist +Reality +Realization +Reason +Rebuttal +Recalcitrant +Receiver +Reception +Recidivism +Recipe +Reciprocal +Recollection +Recommendation +Reconciliation +Reconnaissance +Recourse +Recreant +Recruitment +Rectitude +Recuperation +Reform +Regatta +Regimen +Region +Regulator +Rejoinder +Rejuvenation +Relationship +Relaxation +Release +Relic +Relief +Reliever +Religion +Reminiscence +Remnant +Renegade +Renovation +Rent +Repartee +Repast +Repeal +Report +Reprobate +Repugnance +Reputation +Request +Research +Resemblance +Resource +Respect +Response +Responsibility +Rest +Restaurant +Restitution +Restoration +Result +Reunion +Revelry +Reverence +Reverie +Revulsion +Reward +Rhapsody +Rice +Riddle +Right +Rise +Road +Robe +Rod +Rodomontade +Roll +Romantic +Romanticism +Romeo +Room +Rooter +Rope +Rose +Route +Rug +Ruler +Rumor +Run +Runner +Saami +Saber +Sable +Sabotage +Sabre +Sac +Sachet +Sack +Sacker +Sacrament +Sacrifice +Sacrilege +Saddle +Sadism +Sadist +Sadness +Safari +Safe +Safeguard +Safety +Saffron +Saga +Sage +Sagebrush +Sago +Sail +Sailboat +Sailor +Saint +Sainthood +Sake +Salad +Salamander +Salami +Salary +Sale +Salesgirl +Saleslady +Salesman +Salesmanship +Salesmen +Salient +Saline +Saliva +Salmon +Salon +Saloon +Saloonkeeper +Salt +Saltbush +Saltiness +Salubrity +Salutation +Salute +Salvage +Salvation +Salve +Salvo +Sambur +Samovar +Sample +Sanatorium +Sanction +Sanctity +Sanctuary +Sand +Sandalwood +Sander +Sandpaper +Sandstorm +Sandwich +Sangaree +Sanhedrin +Sanipractor +Sanitarium +Sanitation +Sanity +Santa +Sap +Sarcasm +Sari +Sash +Sashimi +Satellite +Satiety +Satin +Satire +Satirist +Satisfaction +Satsuma +Saturation +Sauce +Saucepan +Sauerkraut +Sausage +Savant +Saver +Savior +Savor +Savory +Savvy +Saw +Sawdust +Sawmill +Sawtimber +Sax +Saxophone +Saxophonist +Say +Sba +Scabbard +Scaffold +Scale +Scalp +Scan +Scandal +Scapegoat +Scar +Scarcity +Scare +Scarf +Scarlet +Scatter +Scattergun +Scavenger +Scenario +Scene +Scenery +Scent +Scepticism +Schedule +Schema +Schemata +Scheme +Schemer +Scherzo +Schism +Schizophrenic +Scholar +Scholarship +School +Schoolboy +Schoolchildren +Schoolgirl +Schoolhouse +Schoolmaster +Schoolmate +Schoolroom +Schoolwork +Schooner +Sciatica +Science +Scientist +Scimitar +Scion +Scoop +Scop +Scope +Scorcher +Score +Scoreboard +Scorecard +Scorn +Scoundrel +Scourge +Scout +Scramble +Scrap +Scrapbook +Scrape +Scratch +Scream +Screech +Screen +Screenland +Screenplay +Screw +Screwball +Scribe +Scrim +Scrimmage +Script +Scripter +Scripture +Scrivener +Scrub +Scrupulosity +Scrutiny +Scuffle +Sculptor +Sculpture +Scurvy +Sea +Seacoast +Seafood +Seahorse +Seal +Seam +Seaman +Seamanship +Seamen +Seaquake +Search +Searchlight +Seashore +Seaside +Season +Seat +Seato +Seaweed +Secant +Secession +Secessionist +Seclusion +Second +Secondhand +Secrecy +Secret +Secretary +Secretion +Sect +Section +Sector +Secular +Secularism +Security +Sedan +Sedative +Sediment +Sedimentation +Sedition +Seducer +Seduction +Seed +Seedbed +Seedcoat +Seeker +Seepage +Seersucker +Segment +Segregation +Segregationist +Seismograph +Seizure +Select +Selection +Selectivity +Self +Self-acceptance +Self-belief +Self-confidence +Self-discipline +Self-esteem +Self-help +Self-starter +Selfishness +Sell +Seller +Sellout +Semblance +Semester +Seminar +Seminary +Semitrance +Senate +Senator +Senior +Seniority +Senora +Sensation +Sensationalism +Sense +Sensibility +Sensitivity +Sensor +Sensuality +Sentence +Sentiment +Sentimentality +Sentinel +Sentry +Separation +Sepia +Septa +Septation +September +Septum +Sequel +Sequence +Sequestration +Sera +Seraphim +Serenade +Serendipity +Serene +Serenity +Serge +Sergeant +Serial +Serloin +Sermon +Serpent +Serum +Servant +Server +Service +Servicemen +Servo +Sesame +Session +Set +Setback +Setsw +Settlement +Settler +Setup +Severalty +Severity +Sewage +Sewer +Sforzando +Shack +Shade +Shadow +Shaft +Shag +Shake +Shaker +Sham +Shame +Shampoo +Shamrock +Shank +Shanty +Shape +Share +Sharecrop +Shareholder +Shaver +Shawl +Shea +Sheaf +Shear +Sheath +Shed +Sheen +Sheep +Sheepe +Sheepskin +Sheet +Sheik +Shelf +Shell +Shelter +Shepherd +Sheriff +Sherry +Shewe +Shibboleth +Shield +Shift +Shill +Shimmer +Shin +Shinbone +Shine +Ship +Shipboard +Shipmate +Shipment +Shipper +Shipwreck +Shirt +Shirtfront +Shirtsleeve +Shish +Shit +Shiver +Shock +Shocker +Shockwave +Shoe +Shoelace +Shoji +Shoot +Shooter +Shop +Shopper +Shore +Shoreline +Shortage +Shortcut +Shorthand +Shortstop +Shot +Shotgun +Shoulder +Shout +Shovel +Show +Showcase +Showdown +Shower +Showerhead +Showman +Showmanship +Showmen +Showpiece +Showroom +Shrapnel +Shred +Shredder +Shriek +Shrimp +Shrine +Shrinkage +Shrub +Shrubbery +Shrug +Shuffle +Shunt +Shutdown +Shutter +Sickroom +Side +Sideboard +Sidelight +Sideline +Sidemen +Sideshow +Sidewalk +Sidewinder +Siege +Sienna +Siesta +Sieve +Sigh +Sight +Sign +Signal +Signature +Signboard +Significance +Signpost +Sih +Silence +Silhouette +Silica +Silicon +Silicone +Silk +Silke +Sill +Silo +Silver +Similarity +Simile +Similitude +Simpleton +Simplicitude +Simplicity +Simulation +Sin +Sincerity +Sine +Sinew +Singer +Single +Singularity +Sink +Sinkhole +Sinner +Sip +Sir +Sire +Siren +Sister +Site +Sitter +Situation +Size +Skeet +Skeleton +Skepticism +Sketch +Sketchbook +Skewer +Ski +Skid +Skiff +Skill +Skillet +Skin +Skipper +Skirmish +Skirt +Skit +Skull +Skullcap +Sky +Skylight +Skyline +Skyscraper +Skywave +Slab +Slack +Sladang +Slander +Slanderer +Slang +Slant +Slapstick +Slat +Slate +Slaughter +Slave +Slavery +Sleek +Sleep +Sleepwalker +Sleet +Sleeve +Slice +Slick +Slicker +Slide +Slight +Slingshot +Slip +Slippage +Slipper +Slipstream +Slit +Slitter +Slob +Sloe +Slogan +Sloop +Slop +Slope +Slot +Slouch +Sludge +Slug +Slugger +Sluice +Sluicehouse +Slum +Slumber +Slump +Small +Smallpox +Smalltime +Smash +Smear +Smell +Smile +Smirk +Smithy +Smog +Smoke +Smokehouse +Smoker +Smokescreen +Smoothbore +Smoothie +Smu +Smudge +Snack +Snail +Snake +Snakestrike +Snap +Snapback +Snapper +Snare +Sneak +Sneaker +Sneakiness +Sneer +Sneeze +Snick +Sniper +Snobbery +Snore +Snorkle +Snort +Snout +Snow +Snowball +Snowfall +Snowstorm +Snuffer +Snuggle +Soap +Soar +Sobriety +Sobriquet +Soccer +Sociability +Sociable +Social +Socialism +Socialist +Sociality +Socialization +Socializer +Society +Sociologist +Sociology +Sock +Socket +Sod +Soda +Sodium +Sofa +Softener +Softwood +Soil +Sojourn +Sojourner +Sol +Solace +Solder +Soldier +Soldiery +Sole +Solemnity +Solenoid +Solicitor +Solicitude +Solid +Solidarity +Solidity +Solipsism +Solitary +Solitude +Solo +Soloist +Solstice +Solution +Solvency +Solvent +Soma +Someplace +Somersault +Somewhere +Sommelier +Somnolence +Son +Sonar +Sonata +Song +Songbook +Sonnet +Sonny +Sonofabitch +Sonogram +Sonority +Soot +Sop +Sophisticate +Sophistication +Sophomore +Soprano +Sorghum +Sorority +Sorption +Sorrel +Sorrow +Sort +Sortie +Soubriquet +Souffle +Soul +Soulmate +Sound +Soup +Source +Sourdough +Soutane +Southpaw +Souvenir +Sovereign +Sovereignty +Soviet +Sowbelly +Soy +Soybean +Spa +Space +Spacecraft +Spacer +Spaceship +Spacesuit +Spade +Spaghetti +Span +Spangle +Spark +Sparkle +Spasm +Spat +Spate +Spatiality +Spatter +Speaker +Spear +Special +Specialist +Specialization +Specialty +Specification +Specificity +Specimen +Specimentalia +Speck +Spectacle +Spectacular +Spectator +Specter +Spectra +Spectre +Spectrometer +Spectrophotometer +Spectroscopy +Spectrum +Speculation +Speculator +Speech +Speed +Speedboat +Speedometer +Spell +Sphere +Spice +Spider +Spike +Spin +Spinach +Spindle +Spine +Spinnability +Spinneret +Spiral +Spire +Spirit +Spiritual +Spirituality +Spit +Spite +Spittle +Splash +Spleen +Splendor +Splenomegaly +Splice +Splinter +Split +Splurge +Spoilage +Spoke +Spokesman +Spokesmen +Sponge +Sponsor +Sponsorship +Spontaneity +Spoof +Spoon +Spoonful +Sport +Sportsman +Sportsmanship +Sportsmen +Sportswriter +Spot +Spotlight +Spouse +Spout +Sprawl +Spray +Spread +Spreader +Spree +Sprig +Springboard +Springtime +Sprinkle +Sprite +Sprout +Spruce +Sprue +Spume +Spur +Spurt +Sputnik +Spy +Squad +Squadron +Squadroom +Squall +Square +Squash +Squat +Squaw +Squeak +Squeal +Squeeze +Squire +Squirrel +Squirt +Squishiness +Srelease +Sreserve +Stab +Stability +Stabilization +Stable +Stableman +Staccato +Stack +Stadium +Staff +Stag +Stage +Stagecoach +Stager +Stagnation +Stain +Stair +Staircase +Stairway +Stake +Stalemate +Stall +Stallion +Stalwart +Stamina +Stamp +Stampede +Stance +Stand +Standard +Standby +Standpoint +Standstill +Staple +Star +Starch +Stardom +Stare +Starlet +Starlight +Starre +Start +Starter +Starvation +State +State-of-the-art +Statement +Stateroom +Statesman +Statesmanship +Statesmen +Static +Station +Stationery +Stationmaster +Stator +Statuary +Statue +Statuette +Stature +Statute +Stay +Stead +Steady +Steak +Stealer +Stealth +Steam +Steamboat +Steamer +Steamship +Steed +Steel +Steelmaker +Steep +Steeple +Steer +Stein +Stem +Stench +Stenography +Step +Stepchild +Stepmother +Steprelationship +Stepson +Stereo +Stereotype +Sterility +Sterilization +Stern +Sternum +Steroid +Stethoscope +Stevedore +Stew +Steward +Stewardship +Stick +Stickler +Stickman +Stickpin +Stiff +Stigma +Stigmata +Stiletto +Still +Stimulant +Stimulation +Stimuli +Stink +Stint +Stipend +Stipendiary +Stipulation +Stir +Stirrup +Stitch +Stock +Stockade +Stockbroker +Stockholder +Stockroom +Stoicism +Stoker +Stomach +Stomack +Stone +Stoneware +Stool +Stoop +Stop +Stopover +Stoppage +Stopper +Storage +Store +Storefront +Storehouse +Storeroom +Storm +Story +Storyline +Storyteller +Stove +Straightaway +Strain +Strait +Stramonium +Strand +Stranger +Strangulation +Strap +Strata +Stratagem +Strategist +Strategy +Stratification +Stratosphere +Stratum +Straw +Stray +Streak +Stream +Streamer +Streamliner +Streamside +Street +Streetcar +Streetlight +Strength +Stretch +Stretcher +Stride +Strife +Strike +Strip +Stripe +Striptease +Strive +Stroke +Stroll +Stronghold +Strophe +Structure +Struggle +Strut +Strychnine +Stub +Stubble +Stucco +Stud +Student +Studio +Study +Stuff +Stump +Stumpage +Stupidity +Stupor +Sturgeon +Style +Stylemark +Stylist +Stylization +Styrene +Suability +Suavity +Sub +Subaltern +Subcommittee +Subcontinent +Subdivision +Subhumanity +Subject +Subjectivist +Subjectivity +Subjugation +Sublease +Sublimate +Sublime +Submarine +Submission +Submucosa +Subordinate +Subordinator +Subparagraph +Subrogation +Subroutine +Subscription +Subsection +Subservience +Subsidiary +Subsidy +Subsistence +Subsoil +Subspace +Substance +Substantiation +Substitute +Substitution +Substrate +Substratum +Substructure +Subsystem +Subtlety +Subtraction +Subtype +Suburb +Suburbanite +Suburbia +Subversion +Subway +Success +Succession +Successor +Successorship +Succor +Suction +Sudden +Suey +Sufferer +Sufficiency +Suffix +Suffocation +Suffrage +Sugar +Suggestibility +Suggestion +Suicide +Suit +Suitability +Suitcase +Suite +Suitor +Sulfaquinoxaline +Sulfide +Sulfur +Sulphur +Sum +Sumac +Summarization +Summary +Summation +Summer +Summertime +Summit +Summitry +Sun +Sunbonnet +Sunburn +Sundown +Sunlight +Sunrise +Sunset +Sunshield +Sunshine +Sunspot +Suntan +Super +Superego +Superficiality +Superintendent +Superior +Superiority +Superlative +Supermachine +Superman +Supermarket +Supernatant +Supernatural +Supernaturalism +Superposition +Superstition +Superstructure +Supervision +Supervisor +Superwoman +Supper +Supplement +Supplier +Supply +Support +Supporter +Suppression +Supranationalism +Supremacy +Surcease +Surety +Surf +Surface +Surfactant +Surge +Surgeon +Surgery +Surname +Surprise +Surrealism +Surrender +Surtout +Surveillance +Survey +Surveyor +Survivability +Survival +Survivalist +Survivor +Susceptibility +Suspect +Suspense +Suspension +Suspensor +Suspicion +Sustenance +Suzerain +Suzerainty +Swain +Swallow +Swami +Swamp +Swan +Swao +Swarm +Swastika +Swath +Sway +Swearinge +Sweat +Sweatband +Sweater +Sweatshirt +Sweep +Sweetheart +Sweetness +Swell +Swerve +Swig +Swim +Swimsuit +Swine +Swipe +Swirl +Switch +Switchblade +Switchboard +Switchgear +Swivel +Swoop +Sword +Sworde +Syllabicity +Syllable +Symbol +Symbolism +Symmetry +Sympathy +Symphony +Symposium +Symptom +Synagogue +Synchronism +Synchrony +Syndicate +Syndication +Syndrome +Synergism +Synergy +Synonym +Synonymy +Syntax +Synthesizine +Syringa +Syringe +Syrup +System +Systematization +Systemization +Tab +Tabac +Table +Tableau +Tableland +Tablespoon +Tablespoonful +Tablet +Taboo +Tabulation +Tack +Tackle +Tact +Tactic +Taffeta +Taffy +Tag +Tagua +Tail +Tailback +Tailgate +Tailor +Taint +Take +Takeoff +Takeover +Tale +Talent +Talk +Talker +Tallow +Tally +Tallyho +Tamale +Tambourine +Tan +Tandem +Tang +Tangency +Tangent +Tangle +Tango +Tank +Tannin +Tansy +Tantrum +Tap +Tapdance +Tape +Taper +Tapestry +Tappet +Tar +Target +Tariff +Tarpaulin +Tarpon +Tart +Task +Taskmaster +Taste +Taunt +Tavern +Tax +Taxation +Taxi +Taxicab +Taxpayer +Tea +Teacart +Teacher +Teahouse +Teakettle +Teakwood +Team +Teammate +Teamster +Teamwork +Tear +Teardrop +Tease +Teaspoon +Teaspoonful +Technician +Technique +Technology +Teddy +Tedium +Tee +Teen +Teenager +Teeth +Teetotaler +Tektite +Telegram +Telegraph +Telegrapher +Telegraphy +Teleology +Telepathy +Telephone +Telescope +Teletype +Television +Temerity +Temper +Tempera +Temperament +Temperance +Temperature +Tempest +Template +Temple +Tempo +Temptation +Tenacity +Tenancy +Tenant +Tendency +Tender +Tenderfoot +Tenement +Tenor +Tense +Tension +Tenspot +Tent +Tentacle +Tenure +Term +Terminal +Termination +Termini +Terminology +Terrace +Terrain +Terrier +Territory +Terror +Terry +Tertian +Test +Testament +Testator +Testicle +Testimonial +Testimony +Tetrachloride +Tetrasodium +Text +Textbook +Textile +Texture +Thanks +Thanksgiving +Thaw +Theaf +Theater +Theatergoer +Theatre +Theatregoer +Theft +Theme +Theocracy +Theologian +Theology +Theorem +Theory +Therapist +Therapy +Thermistor +Thermocouple +Thermometer +Thermometry +Thermopile +Thermoplastic +Thermostat +Thiamin +Thick +Thicket +Thief +Thigh +Thiihng +Thimble +Thinker +Thiouracil +Third +Thirst +Thong +Thorn +Thoroughfare +Thought +Thread +Threat +Threesome +Threshhold +Threshold +Thrill +Throat +Thrombi +Throne +Throng +Throttle +Throughput +Throw +Thrower +Thrush +Thrust +Thruway +Thud +Thug +Thumb +Thumbnail +Thump +Thunder +Thunk +Thwack +Thwart +Thwump +Thyratron +Thyroglobulin +Thyroid +Thyronine +Thyroxine +Tick +Ticket +Ticklebrush +Tidbit +Tide +Tidewater +Tie +Tiger +Tile +Tiller +Tilt +Tilth +Timber +Timbre +Time +Timepiece +Timesaver +Timetable +Timidity +Tin +Tincture +Tinder +Tinsel +Tint +Tintype +Tip +Tiptop +Tire +Tissue +Titanium +Titer +Title +Titleholder +Titration +Toad +Toadyism +Toast +Tobacco +Today +Toe +Toffee +Toil +Toilet +Token +Tole +Tolerance +Toleration +Toll +Tollgate +Tollhouse +Tolylene +Tomato +Tomb +Tombstone +Ton +Tone +Toner +Tongue +Tonic +Tonsil +Tool +Toolmaker +Tooth +Toothbrush +Toothpaste +Tootsie +Top +Topcoat +Topgallant +Topic +Topnotch +Topography +Topsoil +Torch +Torment +Tornado +Torpedo +Torpor +Torque +Torquer +Torrent +Torsion +Torso +Tortoise +Torture +Tot +Total +Totalitarianism +Totality +Touch +Touchdown +Touchstone +Tour +Tourist +Tournament +Tout +Tow +Towel +Tower +Town +Towne +Township +Townsman +Townsmen +Toxin +Toy +Trace +Trachea +Track +Tract +Tractor +Trade +Trademark +Trader +Tradesmen +Tradition +Traditionalism +Traditionalist +Traffic +Tragedy +Trail +Trailblazer +Trailer +Train +Training +Trainman +Trait +Traitor +Trajectory +Tramp +Tramway +Trance +Tranquility +Tranquilizer +Tranquillity +Transaction +Transaminase +Transcendence +Transcendent +Transcript +Transcription +Transducer +Transfer +Transferee +Transference +Transferor +Transferral +Transformation +Transformer +Transgression +Transience +Transient +Transistor +Transit +Transition +Translation +Translator +Translucence +Translucency +Transmission +Transmitter +Transmutation +Transom +Transparency +Transpiration +Transport +Transportation +Transposition +Transshipment +Transvestitism +Trap +Trapdoor +Trapezoid +Trapper +Trash +Trauma +Travel +Traveler +Traveller +Travelogue +Trawler +Tray +Tread +Treadmill +Treason +Treasure +Treasurer +Treasury +Treat +Treatise +Treatment +Treaty +Treble +Tree +Trek +Tremor +Trench +Trenchermen +Trend +Trestle +Triad +Trial +Triamcinolone +Triangle +Tribe +Tribesmen +Tribulation +Tribunal +Tribute +Trick +Trickle +Trickster +Tricolor +Trifle +Trill +Trilogy +Trim +Trimester +Trinket +Trio +Triol +Trip +Triphenylarsine +Triphenylphosphine +Triphenylstibine +Triphosphopyridine +Triple +Triplet +Triplication +Tripod +Tripolyphosphate +Triptych +Triservice +Trisodium +Triumph +Trivia +Triviality +Trolley +Trollop +Trombonist +Troop +Trooper +Troopship +Trophy +Tropidoclonion +Tropocollagen +Trot +Trotter +Troubie +Trouble +Troubleshooter +Trough +Troup +Troupe +Trouser +Trout +Truce +Truck +Truckdriver +Trucker +Truculence +Truism +Trump +Trumpet +Trumpeter +Trundle +Trunk +Trust +Trustee +Trusteeship +Trusty +Truth +Try +Tsunami +Tub +Tuba +Tube +Tug +Tuition +Tularemia +Tulip +Tulle +Tumble +Tumbler +Tumor +Tune +Tung +Tungsten +Tunic +Tunnel +Turban +Turbine +Turbofan +Turbulence +Turf +Turkey +Turmoil +Turn +Turnaround +Turnery +Turnoff +Turnout +Turnover +Turnpike +Turntable +Turpentine +Turquoise +Turret +Turtle +Turtleneck +Tutor +Tweed +Twilight +Twin +Twinge +Twinkle +Twirler +Twist +Twister +Twitch +Twitter +Twosome +Tycoon +Tyme +Type +Typescript +Typewriter +Typhoid +Typhoon +Typicality +Typography +Typology +Tyranny +Tyrant +Tyrosine +Uberty +Ubiquitary +Udder +Uganda +Ugliness +Ukulele +Ulcer +Ultimate +Ultimation +Ultimatum +Ultracentrifugation +Ultracentrifuge +Ultrasound +Umber +Umbrage +Umbrella +Umpire +Unacceptability +Unaffordability +Unambiguity +Unanimity +Unavailability +Unawareness +Unbalance +Uncertainty +Unchastity +Uncircumcision +Uncle +Unconcern +Unconsciousness +Unconventionality +Unction +Underachievement +Underarm +Underbelly +Underbrush +Underclassman +Undercurrent +Undercut +Underdog +Undergraduate +Underground +Undergrowth +Underpayment +Undershirt +Underside +Understatement +Understructure +Understudy +Undertaker +Undertone +Undertow +Underwear +Underworld +Underwriter +Unease +Uneasiness +Unemployment +Unevenness +Unfairness +Unfoldment +Unfortunate +Unhappiness +Unicorn +Unicycle +Unification +Uniform +Uniformity +Unimportance +Uninitiate +Union +Unique +Uniqueness +Unison +Unit +Unity +Universal +Universality +Universe +University +Unknown +Unlikelihood +Unpleasantness +Unpredictability +Unrealism +Unreality +Unreason +Unreliability +Unrest +Untruth +Upbeat +Update +Upgrade +Upheaval +Upholder +Upholstery +Upkeep +Uplift +Upperclassmen +Uppercut +Upright +Uproar +Upset +Upshot +Upside +Upsurge +Uptake +Uptown +Uptrend +Upturn +Uranium +Uranyl +Urbanism +Urbanization +Urea +Uremia +Urethane +Urethra +Urge +Urgency +Urine +Urn +Usage +Use +Usefulness +User +Usher +Utensil +Utility +Utilization +Utmost +Utopia +Utopian +Utopianism +Utterance +Uttermost +Vacancy +Vacation +Vacationland +Vaccination +Vaccine +Vacuolization +Vacuum +Vagabond +Vagina +Vaginal +Valedictorian +Valet +Valewe +Valiant +Validation +Validator +Validity +Valley +Valor +Valuable +Valuation +Value +Valve +Van +Vandalism +Vanguard +Vanilla +Vanity +Vantage +Vapor +Vaporization +Vaquero +Variability +Variable +Variance +Variant +Variation +Variety +Varmint +Varnish +Vasa +Vase +Vasorum +Vassal +Vast +Vaudeville +Vault +Vaulter +Veal +Vector +Vegan +Vegetable +Vegetarian +Vegetation +Vehemence +Vehicle +Veil +Vein +Veldt +Vellum +Velocity +Velour +Velvet +Vendor +Veneer +Veneration +Vengeance +Venison +Venom +Vent +Ventilation +Ventilator +Ventricle +Venture +Venue +Veracity +Veranda +Verandah +Verb +Verdict +Verge +Verification +Verisimilitude +Verity +Vermilion +Vermouth +Vernacular +Vernier +Veronica +Versatility +Verse +Version +Vertebrae +Vertebrate +Vertex +Vertigo +Verve +Vessel +Vest +Vestal +Vestibule +Vestige +Vet +Veteran +Veterinarian +Veto +Viability +Vibrancy +Vibration +Vibrato +Vicar +Vice +Vicinity +Victim +Victor +Victory +Video +View +Viewer +Viewpoint +Vigil +Vigilance +Vigilantism +Vignette +Vigor +Villa +Village +Villager +Villain +Vindication +Vine +Vinegar +Vineyard +Vintage +Vintner +Vinyl +Vioiln +Violation +Violence +Violet +Violin +Violinist +Vip +Virgin +Virginity +Virility +Virtue +Virtuosity +Virtuoso +Virulence +Virus +Visa +Visage +Viscera +Viscoelasticity +Viscometer +Viscosity +Vise +Visibility +Vision +Visionary +Visit +Visitor +Vista +Visualization +Vitality +Vitamin +Vitriol +Vitro +Vivacity +Vivo +Vocabulary +Vocalism +Vocalist +Vocalization +Vocation +Vocational +Vogue +Voice +Void +Volatilization +Volcano +Volition +Volley +Volleyball +Voltage +Voltmeter +Volume +Volunteer +Vomica +Voodoo +Vortex +Votary +Vote +Voter +Voume +Vow +Vowel +Voyage +Voyager +Vtol +Vuhranduh +Vulnerability +Vulture +Wage +Wager +Wagon +Wahtahm +Wail +Waist +Waistcoat +Wait +Waiter +Wake +Walk +Walker +Walkout +Walkover +Wall +Wallboard +Wallet +Wallop +Wallpaper +Walnut +Waltz +Wand +Wanderer +Want +War +Ward +Warden +Wardrobe +Wardroom +Ware +Warehouse +Warfare +Warfront +Warhead +Warmth +Warmup +Warp +Warrant +Warrantee +Warrantor +Warranty +Warren +Warrior +Wart +Wartime +Wash +Washbasin +Washboard +Washbowl +Washer +Wasp +Wastage +Waste +Wastebasket +Wasteland +Wastewater +Wastrel +Watch +Watchdog +Watchmaker +Watchmen +Water +Watercolor +Watercolorist +Waterfall +Waterfront +Waterline +Watermelon +Watershed +Waterside +Waterway +Watt +Wave +Wavelength +Waver +Wax +Way +Wayside +Wbai +Weakness +Wealth +Weapon +Weaponry +Wear +Weasel +Weather +Weave +Web +Website +Wedding +Wedge +Wedlock +Week +Weekday +Weekend +Weekly +Weight +Weir +Weirdy +Welcome +Welfare +Well +Well-being +Well-wisher +Wellspring +Welter +West +Whack +Wharf +Wheat +Wheel +Wheeler-dealer +Whiff +While +Whim +Whine +Whinny +Whip +Whiplash +Whir +Whirl +Whirlwind +Whiskey +Whisky +Whisper +Whistle +Whit +White +Whiteface +Whitetail +Whiz +Whiz-bang +Whodunnit +Whole +Wholewheat +Whoop +Whore +Wick +Wicker +Wicket +Widegrip +Widow +Widower +Widowhood +Width +Wielder +Wife +Wig +Wiggle +Wigmaker +Wildcat +Wildcatter +Wildlife +Will +William +Willow +Willpower +Wilt +Win +Wind +Windbag +Winder +Windfall +Windmill +Window +Windshield +Windstorm +Windup +Wine +Winehead +Wing +Wingback +Wingman +Wink +Winner +Winter +Wintertime +Wire +Wireless +Wisdom +Wisenheimer +Wish +Wisp +Wit +Witch +Withdrawal +Witness +Wizard +Wlib +Woe +Wolf +Woman +Womanhood +Womb +Women +Wonder +Wonderment +Wood +Woodcarver +Woodland +Woodpecker +Woodshed +Woodsmoke +Woodwind +Woodwork +Wooer +Wool +Woolen +Woomera +Wooooosh +Word +Wording +Wordsmith +Work +Workbench +Workday +Worker +Workforce +Workhorse +Workingmen +Workman +Workmanship +Workmate +Workmen +Workout +Workpiece +Workplace +Worksheet +Workshop +Worktable +World +Worm +Worry +Worship +Worshipper +Worsted +Worth +Wound +Wrack +Wrangler +Wrapper +Wrath +Wreath +Wreck +Wreckage +Wretch +Wrinkle +Wrist +Wristwatch +Writ +Writer +Writing +Wrong +Wrongdoer +Wrongdoing +Wunderkind +X +X-axis +X-factor +X-mas +X-ray +X-wing +Xalam +Xanthamide +Xanthan +Xanthate +Xanthelasma +Xanthide +Xanthidium +Xanthin +Xanthine +Xanthinine +Xanthippe +Xanthium +Xanthochroi +Xanthogen +Xanthogenate +Xanthoma +Xanthophane +Xanthophyll +Xanthoprotein +Xanthopuccine +Xanthorhamnin +Xanthorhiza +Xanthorhoea +Xanthorrhoea +Xanthose +Xanthosis +Xanthoxylene +Xanthoxylum +Xd +Xebec +Xeme +Xenagogue +Xenelasia +Xenium +Xenobiotic +Xenocrysts +Xenodocheionology +Xenodochium +Xenodochy +Xenogamy +Xenogenesis +Xenograft +Xenografts +Xenolith +Xenoliths +Xenomania +Xenomi +Xenon +Xenophile +Xenophilia +Xenophobe +Xenophobia +Xenopterygii +Xenotime +Xenurine +Xenyl +Xeraphim +Xeres +Xerif +Xeriff +Xeroderma +Xeronate +Xerophagy +Xerophthalmia +Xerophthalmy +Xerophyte +Xerostomia +Xesturgy +Xfactor +Xiphias +Xiphidium +Xiphiplastron +Xiphisternum +Xiphius +Xiphodon +Xiphosura +Xiphura +Xoanon +Xu +Xylamide +Xylanthrax +Xylate +Xylem +Xylene +Xylenol +Xylidine +Xylindein +Xylite +Xylitol +Xylitone +Xylobalsamum +Xylocopa +Xylogen +Xylograph +Xylographer +Xylography +Xyloidin +Xylol +Xylonite +Xylophaga +Xylophagan +Xylophagides +Xylophilan +Xylophone +Xylopyrography +Xyloquinone +Xylorcin +Xylose +Xylostein +Xylotile +Xylotrya +Xylyl +Xylylene +Xyris +Xyst +Xystarch +Xyster +Xystus +Y-axis +Ya +Yacare +Yacca +Yacht +Yachtel +Yachter +Yachtman +Yachtsman +Yachtsmen +Yachtswoman +Yadda +Yaffingale +Yaffle +Yager +Yaguarundi +Yahoo +Yajur-veda +Yak +Yakamilk +Yakare +Yakin +Yakoots +Yaksha +Yakuza +Yalah +Yam +Yama +Yamma +Yamp +Yang +Yank +Yankee +Yankee-doodle +Yankeeism +Yankees +Yaourt +Yapock +Yapok +Yapon +Yard +Yardage +Yardages +Yardarm +Yarded +Yardful +Yardland +Yardstick +Yardsticks +Yardwand +Yare +Yarke +Yarmulka +Yarn +Yarnut +Yarrow +Yarwhip +Yashmak +Yataghan +Yate +Yaud +Yaul +Yaup +Yauper +Yaupon +Yaw +Yaw-weed +Yawd +Yawl +Yawn +Yawp +Yaws +Yay +Ye +Yeah +Year +Yeara +Yearbook +Yearend +Yearlings +Yearnings +Yearth +Yeast +Yeastiness +Yeel +Yeldhall +Yeldrin +Yeldrine +Yelk +Yell +Yeller +Yellow +Yellow-golds +Yellowammer +Yellowbill +Yellowbird +Yellowfin +Yellowfish +Yellowhammer +Yellowlegs +Yellowness +Yellowroot +Yellows +Yellowseed +Yellowshanks +Yellowshins +Yellowtail +Yellowthroat +Yellowtop +Yellowwood +Yellowwort +Yelp +Yelper +Yeman +Yen +Yenite +Yens +Yeoman +Yeomanry +Yeomen +Yerba +Yerd +Yerk +Yernut +Yes +Yes-man +Yeshiva +Yeshivah +Yest +Yestereve +Yestermorn +Yesternight +Yesternoon +Yesterweek +Yesteryear +Yestreen +Yet +Yeti +Yeve +Yew +Yezdi +Yezidee +Yezidi +Ygdrasyl +Yghe +Yi +Yid +Yiddish +Yield +Yieldance +Yift +Yin +Yip +Yis +Yite +Yle +Yllanraton +Ynambu +Yo +Yo-yo +Yob +Yobbo +Yockel +Yodel +Yodle +Yodler +Yoga +Yoghourt +Yoghurt +Yogi +Yogis +Yogurt +Yohimbine +Yoit +Yojan +Yoke +Yokeage +Yokefellow +Yokel +Yokelet +Yokels +Yokemate +Yolk +Yolkless +Yolks +Yolky +Yoncopin +Yoni +Yonker +Yore +Yorker +Yorkshire +Young +Youngger +Youngman +Youngness +Youngster +Youngth +Youpon +Youth +Youthfulness +Youthhood +Youze +Yow +Yowe +Yowley +Yoyos +Ypocras +Yren +Ytterbium +Yttria +Yttrium +Yttro-cerite +Yttro-columbite +Yttro-tantalite +Yu +Yuan +Yucca +Yuckel +Yuen +Yufts +Yug +Yuga +Yugoslav +Yuk +Yulan +Yule +Yuletide +Yumas +Yumminess +Yunx +Yupon +Yuppie +Yuppies +Yuppy +Yurt +Yux +Z-axis +Z-score +Za +Zabaglione +Zabaism +Zabian +Zabism +Zacco +Zachun +Zaerthe +Zaffer +Zag +Zaibatsu +Zaim +Zaimet +Zain +Zakat +Zalambdodont +Zamang +Zambo +Zamia +Zamindar +Zamindari +Zamindary +Zamite +Zamouse +Zampogna +Zander +Zandmole +Zaniness +Zante +Zantewood +Zantiot +Zany +Zanyism +Zap +Zaphara +Zaphrentis +Zapotilla +Zaptiah +Zarathustrism +Zaratite +Zareba +Zarf +Zarnich +Zarthe +Zati +Zauschneria +Zax +Zayat +Ze +Zea +Zeal +Zealant +Zealot +Zealotism +Zealotist +Zealotry +Zeaxanthin +Zebec +Zebra +Zebrafish +Zebrawood +Zebu +Zebub +Zechin +Zechstein +Zed +Zedoary +Zeds +Zee +Zeekoe +Zegedine +Zehner +Zein +Zeitgeist +Zemindar +Zemindari +Zemindary +Zemni +Zemstvo +Zemstvos +Zen +Zenana +Zenanas +Zend +Zend-avesta +Zendik +Zenick +Zenik +Zenith +Zeolite +Zeolites +Zephyr +Zephyrus +Zeppelin +Zequin +Zerda +Zeriba +Zero +Zest +Zeta +Zetetic +Zeuglodon +Zeuglodonta +Zeugma +Zeugmatic +Zeugobranchiata +Zeus +Zeuzerian +Zeylanite +Zibeline +Zibet +Zibeth +Ziega +Zietrisikite +Zif +Zig +Ziggurat +Zigzag +Zigzaggery +Zilch +Zilla +Zillah +Zillion +Zillionaire +Zimb +Ziment-water +Zinc +Zincane +Zincide +Zincification +Zincite +Zincode +Zincographer +Zincography +Zine +Zinfandel +Zing +Zingaro +Zingel +Zinger +Zink +Zinkenite +Zinnia +Zinnwaldite +Zinsang +Zion +Zionism +Zionist +Zip +Ziphioid +Zipline +Ziploc +Zipped +Zipper +Zircofluoride +Zircon +Zircona +Zirconate +Zirconia +Zirconium +Zirconoid +Zit +Zither +Ziti +Zittern +Zizania +Zizel +Zloty +Zoanthacea +Zoantharia +Zoantharian +Zoanthodeme +Zoanthropy +Zoanthus +Zobo +Zocco +Zoccolo +Zocle +Zodiac +Zodiacs +Zoea +Zoetrope +Zohar +Zoide +Zoilism +Zoisite +Zokor +Zollverein +Zombie +Zombies +Zomboruk +Zona +Zonar +Zonaria +Zonation +Zone +Zoned +Zonnar +Zonule +Zonulet +Zonure +Zoo +Zoochemistry +Zoochemy +Zoochlorella +Zoocyst +Zoocytium +Zoodendrium +Zooecium +Zooerythrine +Zoogamy +Zoogeny +Zoogeographical +Zoogeography +Zoogloea +Zoogony +Zoographer +Zoographist +Zoography +Zooid +Zooids +Zookeeper +Zookeepers +Zoolatry +Zoologer +Zoologist +Zoology +Zoomelanin +Zoomorphism +Zoon +Zoonite +Zoonomy +Zoonoses +Zoonotic +Zoonule +Zoopathology +Zoophaga +Zoophagan +Zoophilist +Zoophily +Zoophite +Zoophorous +Zoophyta +Zoophytology +Zooplankton +Zoopraxiscope +Zoopsychology +Zoos +Zoosperm +Zoosporangium +Zoospore +Zoot +Zootomist +Zootomy +Zoozoo +Zope +Zopilote +Zoril +Zorilla +Zoroastrian +Zoroastrianism +Zoroastrism +Zoster +Zostera +Zosterops +Zouave +Zu/is +Zubr +Zucchini +Zuche +Zuchetto +Zufolo +Zuisin +Zulus +Zumbooruk +Zumic +Zumological +Zumology +Zumometer +Zunyite +Zwanziger +Zwitterionic +Zydeco +Zygantrum +Zygapophysis +Zygenid +Zygobranchia +Zygodactyl +Zygodactylae +Zygodactyle +Zygodactyli +Zygoma +Zygosis +Zygosity +Zygosperm +Zygosphene +Zygospore +Zygote +Zylonite +Zymase +Zyme +Zymogen +Zymogene +Zymologist +Zymology +Zymome +Zymometer +Zymophyte +Zymose +Zymosimeter +Zymosis +Zyophyte +Zythem +Zythepsary +Zythum +A +Ability +Abroad +Abuse +Access +Accident +Account +Act +Action +Active +Activity +Actor +Ad +Addition +Address +Administration +Adult +Advance +Advantage +Advertising +Advice +Affair +Affect +Afternoon +Age +Agency +Agent +Agreement +Air +Airline +Airport +Alarm +Alcohol +Alternative +Ambition +Amount +Analysis +Analyst +Anger +Angle +Animal +Annual +Answer +Anxiety +Anybody +Anything +Anywhere +Apartment +Appeal +Appearance +Apple +Application +Appointment +Area +Argument +Arm +Army +Arrival +Art +Article +Aside +Ask +Aspect +Assignment +Assist +Assistance +Assistant +Associate +Association +Assumption +Atmosphere +Attack +Attempt +Attention +Attitude +Audience +Author +Average +Award +Awareness +Baby +Back +Background +Bad +Bag +Bake +Balance +Ball +Band +Bank +Bar +Base +Baseball +Basis +Basket +Bat +Bath +Bathroom +Battle +Beach +Bear +Beat +Beautiful +Bed +Bedroom +Beer +Beginning +Being +Bell +Belt +Bench +Bend +Benefit +Bet +Beyond +Bicycle +Bid +Big +Bike +Bill +Bird +Birth +Birthday +Bit +Bite +Bitter +Black +Blame +Blank +Blind +Block +Blood +Blow +Blue +Board +Boat +Body +Bone +Bonus +Book +Boot +Border +Boss +Bother +Bottle +Bottom +Bowl +Box +Boy +Boyfriend +Brain +Branch +Brave +Bread +Break +Breakfast +Breast +Breath +Brick +Bridge +Brief +Brilliant +Broad +Brother +Brown +Brush +Buddy +Budget +Bug +Building +Bunch +Burn +Bus +Business +Button +Buy +Buyer +Cabinet +Cable +Cake +Calendar +Call +Calm +Camera +Camp +Campaign +Can +Cancel +Cancer +Candidate +Candle +Candy +Cap +Capital +Car +Card +Care +Career +Carpet +Carry +Case +Cash +Cat +Catch +Category +Cause +Celebration +Cell +Chain +Chair +Challenge +Champion +Championship +Chance +Change +Channel +Chapter +Character +Charge +Charity +Chart +Check +Cheek +Chemical +Chemistry +Chest +Chicken +Child +Childhood +Chip +Chocolate +Choice +Church +Cigarette +City +Claim +Class +Classic +Classroom +Clerk +Click +Client +Climate +Clock +Closet +Clothes +Cloud +Club +Clue +Coach +Coast +Coat +Code +Coffee +Cold +Collar +Collection +College +Combination +Combine +Comfort +Comfortable +Command +Comment +Commercial +Commission +Committee +Common +Communication +Community +Company +Comparison +Competition +Complaint +Complex +Computer +Concentrate +Concept +Concern +Concert +Conclusion +Condition +Conference +Confidence +Conflict +Confusion +Connection +Consequence +Consideration +Consist +Constant +Construction +Contact +Contest +Context +Contract +Contribution +Control +Conversation +Convert +Cook +Cookie +Copy +Corner +Cost +Count +Counter +Country +County +Couple +Courage +Course +Court +Cousin +Cover +Cow +Crack +Craft +Crash +Crazy +Cream +Creative +Credit +Crew +Criticism +Cross +Cry +Culture +Cup +Currency +Current +Curve +Customer +Cut +Cycle +Dad +Damage +Dance +Dare +Dark +Data +Database +Date +Daughter +Day +Dead +Deal +Dealer +Dear +Death +Debate +Debt +Decision +Deep +Definition +Degree +Delay +Delivery +Demand +Department +Departure +Dependent +Deposit +Depression +Depth +Description +Design +Designer +Desire +Desk +Detail +Development +Device +Devil +Diamond +Diet +Difference +Difficulty +Dig +Dimension +Dinner +Direction +Director +Dirt +Disaster +Discipline +Discount +Discussion +Disease +Dish +Disk +Display +Distance +Distribution +District +Divide +Doctor +Document +Dog +Door +Dot +Double +Doubt +Draft +Drag +Drama +Draw +Drawer +Drawing +Dream +Dress +Drink +Drive +Driver +Drop +Drunk +Due +Dump +Dust +Duty +Ear +Earth +Ease +East +Eat +Economics +Economy +Edge +Editor +Education +Effect +Effective +Efficiency +Effort +Egg +Election +Elevator +Emergency +Emotion +Emphasis +Employ +Employee +Employer +Employment +End +Energy +Engine +Engineer +Engineering +Entertainment +Enthusiasm +Entrance +Entry +Environment +Equal +Equipment +Equivalent +Error +Escape +Essay +Establishment +Estate +Estimate +Evening +Event +Evidence +Exam +Examination +Example +Exchange +Excitement +Excuse +Exercise +Exit +Experience +Expert +Explanation +Expression +Extension +Extent +External +Extreme +Eye +Face +Fact +Factor +Fail +Failure +Fall +Familiar +Family +Fan +Farm +Farmer +Fat +Father +Fault +Fear +Feature +Fee +Feed +Feedback +Feel +Feeling +Female +Few +Field +Fight +Figure +File +Fill +Film +Final +Finance +Finding +Finger +Finish +Fire +Fish +Fishing +Fix +Flight +Floor +Flow +Flower +Fly +Focus +Fold +Following +Food +Foot +Football +Force +Forever +Form +Formal +Fortune +Foundation +Frame +Freedom +Friend +Friendship +Front +Fruit +Fuel +Fun +Function +Funeral +Funny +Future +Gain +Game +Gap +Garage +Garbage +Garden +Gas +Gate +Gather +Gear +Gene +General +Gift +Girl +Girlfriend +Give +Glad +Glass +Glove +Go +Goal +God +Gold +Golf +Good +Government +Grab +Grade +Grand +Grandfather +Grandmother +Grass +Great +Green +Grocery +Ground +Group +Growth +Guarantee +Guard +Guess +Guest +Guidance +Guide +Guitar +Guy +Habit +Hair +Half +Hall +Hand +Handle +Hang +Harm +Hat +Hate +Head +Health +Hearing +Heart +Heat +Heavy +Height +Hell +Hello +Help +Hide +High +Highlight +Highway +Hire +Historian +History +Hit +Hold +Hole +Holiday +Home +Homework +Honey +Hook +Hope +Horror +Horse +Hospital +Host +Hotel +Hour +House +Housing +Human +Hunt +Hurry +Hurt +Husband +Ice +Idea +Ideal +If +Illegal +Image +Imagination +Impact +Implement +Importance +Impress +Impression +Improvement +Incident +Income +Increase +Independence +Independent +Indication +Individual +Industry +Inevitable +Inflation +Influence +Information +Initial +Initiative +Injury +Insect +Inside +Inspection +Inspector +Instance +Instruction +Insurance +Intention +Interaction +Interest +Internal +International +Internet +Interview +Introduction +Investment +Invite +Iron +Island +Issue +It +Item +Jacket +Job +Join +Joint +Joke +Judge +Judgment +Juice +Jump +Junior +Jury +Keep +Key +Kick +Kid +Kill +Kind +King +Kiss +Kitchen +Knee +Knife +Knowledge +Lab +Lack +Ladder +Lady +Lake +Land +Landscape +Language +Laugh +Law +Lawyer +Lay +Layer +Lead +Leader +Leadership +Leading +League +Leather +Leave +Lecture +Leg +Length +Lesson +Let +Letter +Level +Library +Lie +Life +Lift +Light +Limit +Line +Link +Lip +List +Listen +Literature +Living +Load +Loan +Local +Location +Lock +Log +Long +Look +Loss +Love +Low +Luck +Lunch +Machine +Magazine +Mail +Main +Maintenance +Major +Make +Male +Mall +Man +Management +Manager +Manner +Manufacturer +Many +Map +March +Mark +Market +Marketing +Marriage +Master +Match +Mate +Material +Math +Matter +Maximum +Maybe +Meal +Meaning +Measurement +Meat +Media +Medicine +Medium +Meet +Meeting +Member +Membership +Memory +Mention +Menu +Mess +Message +Metal +Method +Middle +Midnight +Might +Milk +Mind +Mine +Minimum +Minor +Minute +Mirror +Miss +Mission +Mistake +Mix +Mixture +Mobile +Mode +Model +Mom +Moment +Money +Monitor +Month +Mood +Morning +Mortgage +Most +Mother +Motor +Mountain +Mouse +Mouth +Move +Movie +Mud +Muscle +Music +Nail +Name +Nasty +Nation +National +Native +Natural +Nature +Neat +Necessary +Neck +Negative +Negotiation +Nerve +Net +Network +News +Newspaper +Night +Nobody +Noise +Normal +North +Nose +Note +Nothing +Notice +Novel +Number +Nurse +Object +Objective +Obligation +Occasion +Offer +Office +Officer +Official +Oil +One +Opening +Operation +Opinion +Opportunity +Opposite +Option +Orange +Order +Ordinary +Organization +Original +Other +Outcome +Outside +Oven +Owner +Pace +Pack +Package +Page +Pain +Paint +Painting +Pair +Panic +Paper +Parent +Park +Parking +Part +Particular +Partner +Party +Pass +Passage +Passenger +Passion +Past +Path +Patience +Patient +Pattern +Pause +Pay +Payment +Peace +Peak +Pen +Penalty +Pension +People +Percentage +Perception +Performance +Period +Permission +Permit +Person +Personal +Personality +Perspective +Phase +Philosophy +Phone +Photo +Phrase +Physical +Physics +Piano +Pick +Picture +Pie +Piece +Pin +Pipe +Pitch +Pizza +Place +Plan +Plane +Plant +Plastic +Plate +Platform +Play +Player +Pleasure +Plenty +Poem +Poet +Poetry +Point +Police +Policy +Politics +Pollution +Pool +Pop +Population +Position +Positive +Possession +Possibility +Possible +Post +Pot +Potato +Potential +Pound +Power +Practice +Preference +Preparation +Presence +Present +Presentation +President +Press +Pressure +Price +Pride +Priest +Primary +Principle +Print +Prior +Priority +Private +Prize +Problem +Procedure +Process +Produce +Product +Profession +Professional +Professor +Profile +Profit +Program +Progress +Project +Promise +Promotion +Prompt +Proof +Property +Proposal +Protection +Psychology +Public +Pull +Punch +Purchase +Purple +Purpose +Push +Put +Quality +Quantity +Quarter +Queen +Question +Quiet +Quit +Quote +Race +Radio +Rain +Raise +Range +Rate +Ratio +Raw +Reach +Reaction +Read +Reading +Reality +Reason +Reception +Recipe +Recognition +Recommendation +Record +Recording +Recover +Red +Reference +Reflection +Refrigerator +Refuse +Region +Register +Regret +Regular +Relation +Relationship +Relative +Release +Relief +Remote +Remove +Rent +Repair +Repeat +Replacement +Reply +Report +Representative +Republic +Reputation +Request +Requirement +Research +Reserve +Resident +Resist +Resolution +Resolve +Resort +Resource +Respect +Respond +Response +Responsibility +Rest +Restaurant +Result +Return +Reveal +Revenue +Review +Revolution +Reward +Rice +Rich +Ride +Ring +Rip +Rise +Risk +River +Road +Rock +Role +Roll +Roof +Room +Rope +Rough +Round +Routine +Row +Royal +Rub +Ruin +Rule +Run +Rush +Sad +Safe +Safety +Sail +Salad +Salary +Sale +Salt +Sample +Sand +Sandwich +Satisfaction +Satoshi +Save +Savings +Scale +Scene +Schedule +Scheme +School +Science +Score +Scratch +Screen +Screw +Script +Sea +Search +Season +Seat +Second +Secret +Secretary +Section +Sector +Security +Selection +Self +Sell +Senior +Sense +Sensitive +Sentence +Series +Serve +Service +Session +Set +Setting +Sex +Shake +Shame +Shape +Share +She +Shelter +Shift +Shine +Ship +Shirt +Shock +Shoe +Shoot +Shop +Shopping +Shot +Shoulder +Show +Shower +Sick +Side +Sign +Signal +Signature +Significance +Silly +Silver +Simple +Sing +Singer +Single +Sink +Sir +Sister +Site +Situation +Size +Skill +Skin +Skirt +Sky +Sleep +Slice +Slide +Slip +Smell +Smile +Smoke +Snow +Society +Sock +Soft +Software +Soil +Solid +Solution +Somewhere +Son +Song +Sort +Sound +Soup +Source +South +Space +Spare +Speaker +Special +Specialist +Specific +Speech +Speed +Spell +Spend +Spirit +Spiritual +Spite +Split +Sport +Spot +Spray +Spread +Spring +Square +Stable +Staff +Stage +Stand +Standard +Star +Start +State +Statement +Station +Status +Stay +Steak +Steal +Step +Stick +Still +Stock +Stomach +Stop +Storage +Store +Storm +Story +Strain +Stranger +Strategy +Street +Strength +Stress +Stretch +Strike +String +Strip +Stroke +Structure +Struggle +Student +Studio +Study +Stuff +Stupid +Style +Subject +Substance +Success +Suck +Sugar +Suggestion +Suit +Summer +Sun +Supermarket +Support +Surgery +Surprise +Surround +Survey +Suspect +Sweet +Swim +Swimming +Swing +Switch +Sympathy +System +Table +Tackle +Tale +Talk +Tank +Tap +Target +Task +Taste +Tax +Tea +Teach +Teacher +Teaching +Team +Tear +Technology +Telephone +Television +Tell +Temperature +Temporary +Tennis +Tension +Term +Test +Text +Thanks +Theme +Theory +Thing +Thought +Throat +Ticket +Tie +Till +Time +Tip +Title +Today +Toe +Tomorrow +Tone +Tongue +Tonight +Tool +Tooth +Top +Topic +Total +Touch +Tough +Tour +Tourist +Towel +Tower +Town +Track +Trade +Tradition +Traffic +Train +Trainer +Training +Transition +Transportation +Trash +Travel +Treat +Tree +Trick +Trip +Trouble +Truck +Trust +Truth +Try +Tune +Turn +Twist +Two +Type +Uncle +Understanding +Union +Unique +Unit +University +Upper +Upstairs +Use +User +Usual +Vacation +Valuable +Value +Variation +Variety +Vast +Vegetable +Vehicle +Version +Video +View +Village +Virus +Visit +Visual +Voice +Volume +Wait +Wake +Walk +Wall +War +Warning +Wash +Watch +Water +Wave +Way +Weakness +Wealth +Wear +Weather +Web +Wedding +Week +Weekend +Weight +Weird +Welcome +West +Western +Wheel +Whereas +While +White +Whole +Wife +Will +Win +Wind +Window +Wine +Wing +Winner +Winter +Wish +Witness +Woman +Wonder +Wood +Word +Work +Worker +Working +World +Worry +Worth +Wrap +Writer +Writing +Yard +Year +Yellow +Yesterday +You +Young +Youth +Zone +Zonkey \ No newline at end of file diff --git a/pocs/android_only_m2_j17jars/app/src/main/resources/payment_method.properties b/pocs/android_only_m2_j17jars/app/src/main/resources/payment_method.properties new file mode 100644 index 00000000..98da0866 --- /dev/null +++ b/pocs/android_only_m2_j17jars/app/src/main/resources/payment_method.properties @@ -0,0 +1,175 @@ +## Enum from FiatPaymentMethod + +# Generic terms +# suppress inspection "UnusedProperty" +NATIONAL_BANK=National bank transfer +# suppress inspection "UnusedProperty" +INTERNATIONAL_BANK=International bank transfer +# suppress inspection "UnusedProperty" +SAME_BANK=Transfer with same bank +# suppress inspection "UnusedProperty" +SPECIFIC_BANKS=Transfers with specific banks +# suppress inspection "UnusedProperty" +US_POSTAL_MONEY_ORDER=US Postal Money Order +# suppress inspection "UnusedProperty" +CASH_DEPOSIT=Cash Deposit +# suppress inspection "UnusedProperty" +CASH_BY_MAIL=Cash By Mail +# suppress inspection "UnusedProperty" +MONEY_GRAM=MoneyGram +# suppress inspection "UnusedProperty" +WESTERN_UNION=Western Union +# suppress inspection "UnusedProperty" +F2F=Face to face (in person) +# suppress inspection "UnusedProperty" +JAPAN_BANK=Japan Bank Furikomi +# suppress inspection "UnusedProperty" +PAY_ID=PayID + +# Generic terms short +# suppress inspection "UnusedProperty" +NATIONAL_BANK_SHORT=National banks +# suppress inspection "UnusedProperty" +INTERNATIONAL_BANK_SHORT=International banks +# suppress inspection "UnusedProperty" +SAME_BANK_SHORT=Same bank +# suppress inspection "UnusedProperty" +SPECIFIC_BANKS_SHORT=Specific banks +# suppress inspection "UnusedProperty" +US_POSTAL_MONEY_ORDER_SHORT=US Money Order +# suppress inspection "UnusedProperty" +CASH_DEPOSIT_SHORT=Cash Deposit +# suppress inspection "UnusedProperty" +CASH_BY_MAIL_SHORT=Cash By Mail +# suppress inspection "UnusedProperty" +MONEY_GRAM_SHORT=MoneyGram +# suppress inspection "UnusedProperty" +WESTERN_UNION_SHORT=Western Union +# suppress inspection "UnusedProperty" +F2F_SHORT=F2F +# suppress inspection "UnusedProperty" +JAPAN_BANK_SHORT=Japan Furikomi + +# Do not translate brand names +# suppress inspection "UnusedProperty" +UPHOLD=Uphold +# suppress inspection "UnusedProperty" +MONEY_BEAM=MoneyBeam (N26) +# suppress inspection "UnusedProperty" +POPMONEY=Popmoney +# suppress inspection "UnusedProperty" +REVOLUT=Revolut +# suppress inspection "UnusedProperty" +CASH_APP=Cash App +# suppress inspection "UnusedProperty" +PERFECT_MONEY=Perfect Money +# suppress inspection "UnusedProperty" +ALI_PAY=AliPay +# suppress inspection "UnusedProperty" +WECHAT_PAY=WeChat Pay +# suppress inspection "UnusedProperty" +SEPA=SEPA +# suppress inspection "UnusedProperty" +SEPA_INSTANT=SEPA Instant +# suppress inspection "UnusedProperty" +FASTER_PAYMENTS=Faster Payments +# suppress inspection "UnusedProperty" +SWISH=Swish +# suppress inspection "UnusedProperty" +ZELLE=Zelle +# suppress inspection "UnusedProperty" +CHASE_QUICK_PAY=Chase QuickPay +# suppress inspection "UnusedProperty" +INTERAC_E_TRANSFER=Interac e-Transfer +# suppress inspection "UnusedProperty" +HAL_CASH=HalCash +# suppress inspection "UnusedProperty" +PROMPT_PAY=PromptPay +# suppress inspection "UnusedProperty" +ADVANCED_CASH=Advanced Cash +# suppress inspection "UnusedProperty" +WISE=Wise +# suppress inspection "UnusedProperty" +WISE_USD=Wise-USD +# suppress inspection "UnusedProperty" +PAYSERA=Paysera +# suppress inspection "UnusedProperty" +PAXUM=Paxum +# suppress inspection "UnusedProperty" +NEFT=India/NEFT +# suppress inspection "UnusedProperty" +RTGS=India/RTGS +# suppress inspection "UnusedProperty" +IMPS=India/IMPS +# suppress inspection "UnusedProperty" +UPI=India/UPI +# suppress inspection "UnusedProperty" +PAYTM=India/PayTM +# suppress inspection "UnusedProperty" +NEQUI=Nequi +# suppress inspection "UnusedProperty +BIZUM=Bizum +# suppress inspection "UnusedProperty" +PIX=Pix +# suppress inspection "UnusedProperty" +AMAZON_GIFT_CARD=Amazon eGift Card +# suppress inspection "UnusedProperty" +CAPITUAL=Capitual +# suppress inspection "UnusedProperty" +CELPAY=CelPay +# suppress inspection "UnusedProperty" +MONESE=Monese +# suppress inspection "UnusedProperty" +SATISPAY=Satispay +# suppress inspection "UnusedProperty" +TIKKIE=Tikkie +# suppress inspection "UnusedProperty" +VERSE=Verse +# suppress inspection "UnusedProperty" +STRIKE=Strike +# suppress inspection "UnusedProperty" +SWIFT=SWIFT International Wire Transfer +# suppress inspection "UnusedProperty" +SWIFT_SHORT=SWIFT +# suppress inspection "UnusedProperty" +ACH_TRANSFER=ACH Transfer +# suppress inspection "UnusedProperty" +ACH_TRANSFER_SHORT=ACH +# suppress inspection "UnusedProperty" +DOMESTIC_WIRE_TRANSFER=Domestic Wire Transfer +# suppress inspection "UnusedProperty" +DOMESTIC_WIRE_TRANSFER_SHORT=Wire +# suppress inspection "UnusedProperty" +CIPS=Cross-Border Interbank Payment System +# suppress inspection "UnusedProperty" +CIPS_SHORT=CIPS + +## Enum from CryptoPaymentMethod +# suppress inspection "UnusedProperty" +NATIVE_CHAIN=Native chain +# suppress inspection "UnusedProperty" +NATIVE_CHAIN_SHORT=Native chain + +## Enum from BitcoinPaymentMethod +# suppress inspection "UnusedProperty" +MAIN_CHAIN=Bitcoin (onchain) +# suppress inspection "UnusedProperty" +MAIN_CHAIN_SHORT=Onchain +# suppress inspection "UnusedProperty" +LN=BTC over Lightning Network +# suppress inspection "UnusedProperty" +LN_SHORT=Lightning +# suppress inspection "UnusedProperty" +LBTC=L-BTC (Pegged BTC on Liquid side chain) +# suppress inspection "UnusedProperty" +LBTC_SHORT=Liquid +# suppress inspection "UnusedProperty" +RBTC=RBTC (Pegged BTC on RSK side chain) +# suppress inspection "UnusedProperty" +RBTC_SHORT=RSK +# suppress inspection "UnusedProperty" +WBTC=WBTC (wrapped BTC as ERC20 token) +# suppress inspection "UnusedProperty" +WBTC_SHORT=WBTC +# suppress inspection "UnusedProperty" +OTHER=Other diff --git a/pocs/android_only_m2_j17jars/app/src/main/resources/payment_method_cs.properties b/pocs/android_only_m2_j17jars/app/src/main/resources/payment_method_cs.properties new file mode 100644 index 00000000..8965437e --- /dev/null +++ b/pocs/android_only_m2_j17jars/app/src/main/resources/payment_method_cs.properties @@ -0,0 +1,175 @@ +## Enum from FiatPaymentMethod + +# Generic terms +# suppress inspection "UnusedProperty" +NATIONAL_BANK=Převod přes národní banku +# suppress inspection "UnusedProperty" +INTERNATIONAL_BANK=Mezinárodní bankovní převod +# suppress inspection "UnusedProperty" +SAME_BANK=Převod ve stejné bance +# suppress inspection "UnusedProperty" +SPECIFIC_BANKS=Převody se specifickými bankami +# suppress inspection "UnusedProperty" +US_POSTAL_MONEY_ORDER=Poštovní poukázka US +# suppress inspection "UnusedProperty" +CASH_DEPOSIT=Vklad v hotovosti +# suppress inspection "UnusedProperty" +CASH_BY_MAIL=Hotovost poštou +# suppress inspection "UnusedProperty" +MONEY_GRAM=MoneyGram +# suppress inspection "UnusedProperty" +WESTERN_UNION=Western Union +# suppress inspection "UnusedProperty" +F2F=Osobní setkání +# suppress inspection "UnusedProperty" +JAPAN_BANK=Převod Japan Bank Furikomi +# suppress inspection "UnusedProperty" +PAY_ID=PayID + +# Generic terms short +# suppress inspection "UnusedProperty" +NATIONAL_BANK_SHORT=Národní banky +# suppress inspection "UnusedProperty" +INTERNATIONAL_BANK_SHORT=Mezinárodní banky +# suppress inspection "UnusedProperty" +SAME_BANK_SHORT=Stejná banka +# suppress inspection "UnusedProperty" +SPECIFIC_BANKS_SHORT=Specifické banky +# suppress inspection "UnusedProperty" +US_POSTAL_MONEY_ORDER_SHORT=US Money Order +# suppress inspection "UnusedProperty" +CASH_DEPOSIT_SHORT=Vklad v hotovosti +# suppress inspection "UnusedProperty" +CASH_BY_MAIL_SHORT=HotovostPoštou +# suppress inspection "UnusedProperty" +MONEY_GRAM_SHORT=MoneyGram +# suppress inspection "UnusedProperty" +WESTERN_UNION_SHORT=Western Union +# suppress inspection "UnusedProperty" +F2F_SHORT=F2F +# suppress inspection "UnusedProperty" +JAPAN_BANK_SHORT=Japan Furikomi + +# Do not translate brand names +# suppress inspection "UnusedProperty" +UPHOLD=Uphold +# suppress inspection "UnusedProperty" +MONEY_BEAM=MoneyBeam (N26) +# suppress inspection "UnusedProperty" +POPMONEY=Popmoney +# suppress inspection "UnusedProperty" +REVOLUT=Revolut +# suppress inspection "UnusedProperty" +CASH_APP=Aplikace pro hotovost +# suppress inspection "UnusedProperty" +PERFECT_MONEY=Perfect Money +# suppress inspection "UnusedProperty" +ALI_PAY=AliPay +# suppress inspection "UnusedProperty" +WECHAT_PAY=WeChat Pay +# suppress inspection "UnusedProperty" +SEPA=SEPA +# suppress inspection "UnusedProperty" +SEPA_INSTANT=SEPA Instant +# suppress inspection "UnusedProperty" +FASTER_PAYMENTS=Faster Payments +# suppress inspection "UnusedProperty" +SWISH=Swish +# suppress inspection "UnusedProperty" +ZELLE=Zelle +# suppress inspection "UnusedProperty" +CHASE_QUICK_PAY=Chase QuickPay +# suppress inspection "UnusedProperty" +INTERAC_E_TRANSFER=Interac e-Transfer +# suppress inspection "UnusedProperty" +HAL_CASH=HalCash +# suppress inspection "UnusedProperty" +PROMPT_PAY=PromptPay +# suppress inspection "UnusedProperty" +ADVANCED_CASH=Advanced Cash +# suppress inspection "UnusedProperty" +WISE=Wise +# suppress inspection "UnusedProperty" +WISE_USD=Wise-USD +# suppress inspection "UnusedProperty" +PAYSERA=Paysera +# suppress inspection "UnusedProperty" +PAXUM=Paxum +# suppress inspection "UnusedProperty" +NEFT=India/NEFT +# suppress inspection "UnusedProperty" +RTGS=India/RTGS +# suppress inspection "UnusedProperty" +IMPS=India/IMPS +# suppress inspection "UnusedProperty" +UPI=India/UPI +# suppress inspection "UnusedProperty" +PAYTM=India/PayTM +# suppress inspection "UnusedProperty" +NEQUI=Nequi +# suppress inspection "UnusedProperty +BIZUM=Bizum +# suppress inspection "UnusedProperty" +PIX=Pix +# suppress inspection "UnusedProperty" +AMAZON_GIFT_CARD=Amazon eGift Card +# suppress inspection "UnusedProperty" +CAPITUAL=Capitual +# suppress inspection "UnusedProperty" +CELPAY=CelPay +# suppress inspection "UnusedProperty" +MONESE=Monese +# suppress inspection "UnusedProperty" +SATISPAY=Satispay +# suppress inspection "UnusedProperty" +TIKKIE=Tikkie +# suppress inspection "UnusedProperty" +VERSE=Verse +# suppress inspection "UnusedProperty" +STRIKE=Strike +# suppress inspection "UnusedProperty" +SWIFT=SWIFT International Wire Transfer +# suppress inspection "UnusedProperty" +SWIFT_SHORT=SWIFT +# suppress inspection "UnusedProperty" +ACH_TRANSFER=ACH Transfer +# suppress inspection "UnusedProperty" +ACH_TRANSFER_SHORT=ACH +# suppress inspection "UnusedProperty" +DOMESTIC_WIRE_TRANSFER=Domestic Wire Transfer +# suppress inspection "UnusedProperty" +DOMESTIC_WIRE_TRANSFER_SHORT=Wire +# suppress inspection "UnusedProperty" +CIPS=Cross-Border Interbank Payment System +# suppress inspection "UnusedProperty" +CIPS_SHORT=CIPS + +## Enum from CryptoPaymentMethod +# suppress inspection "UnusedProperty" +NATIVE_CHAIN=Nativní řetězec +# suppress inspection "UnusedProperty" +NATIVE_CHAIN_SHORT=Nativní řetězec + +## Enum from BitcoinPaymentMethod +# suppress inspection "UnusedProperty" +MAIN_CHAIN=Bitcoin (onchain) +# suppress inspection "UnusedProperty" +MAIN_CHAIN_SHORT=Onchain +# suppress inspection "UnusedProperty" +LN=BTC přes Lightning Network +# suppress inspection "UnusedProperty" +LN_SHORT=Lightning +# suppress inspection "UnusedProperty" +LBTC=L-BTC (BTC vázaný na Liquid vedlejší řetězec) +# suppress inspection "UnusedProperty" +LBTC_SHORT=Liquid +# suppress inspection "UnusedProperty" +RBTC=RBTC (BTC vázaný na RSK vedlejší řetězec) +# suppress inspection "UnusedProperty" +RBTC_SHORT=RSK +# suppress inspection "UnusedProperty" +WBTC=WBTC (obalený BTC jako ERC20 token) +# suppress inspection "UnusedProperty" +WBTC_SHORT=WBTC +# suppress inspection "UnusedProperty" +OTHER=Jiné diff --git a/pocs/android_only_m2_j17jars/app/src/main/resources/payment_method_de.properties b/pocs/android_only_m2_j17jars/app/src/main/resources/payment_method_de.properties new file mode 100644 index 00000000..3310dd20 --- /dev/null +++ b/pocs/android_only_m2_j17jars/app/src/main/resources/payment_method_de.properties @@ -0,0 +1,175 @@ +## Enum from FiatPaymentMethod + +# Generic terms +# suppress inspection "UnusedProperty" +NATIONAL_BANK=Nationale Banküberweisung +# suppress inspection "UnusedProperty" +INTERNATIONAL_BANK=Internationale Banküberweisung +# suppress inspection "UnusedProperty" +SAME_BANK=Überweisung mit derselben Bank +# suppress inspection "UnusedProperty" +SPECIFIC_BANKS=Überweisungen mit bestimmten Banken +# suppress inspection "UnusedProperty" +US_POSTAL_MONEY_ORDER=US-Postanweisung +# suppress inspection "UnusedProperty" +CASH_DEPOSIT=Bareinzahlung +# suppress inspection "UnusedProperty" +CASH_BY_MAIL=Bar per Postversand +# suppress inspection "UnusedProperty" +MONEY_GRAM=MoneyGram +# suppress inspection "UnusedProperty" +WESTERN_UNION=Western Union +# suppress inspection "UnusedProperty" +F2F=Face-to-Face (persönlich) +# suppress inspection "UnusedProperty" +JAPAN_BANK=Japan Bank Furikomi +# suppress inspection "UnusedProperty" +PAY_ID=PayID + +# Generic terms short +# suppress inspection "UnusedProperty" +NATIONAL_BANK_SHORT=Nationale Banken +# suppress inspection "UnusedProperty" +INTERNATIONAL_BANK_SHORT=Internationale Banken +# suppress inspection "UnusedProperty" +SAME_BANK_SHORT=Selbe Bank +# suppress inspection "UnusedProperty" +SPECIFIC_BANKS_SHORT=Bestimmte Banken +# suppress inspection "UnusedProperty" +US_POSTAL_MONEY_ORDER_SHORT=US Money Order +# suppress inspection "UnusedProperty" +CASH_DEPOSIT_SHORT=Bareinzahlung +# suppress inspection "UnusedProperty" +CASH_BY_MAIL_SHORT=Bar per Post +# suppress inspection "UnusedProperty" +MONEY_GRAM_SHORT=MoneyGram +# suppress inspection "UnusedProperty" +WESTERN_UNION_SHORT=Western Union +# suppress inspection "UnusedProperty" +F2F_SHORT=F2F +# suppress inspection "UnusedProperty" +JAPAN_BANK_SHORT=Japan Furikomi + +# Do not translate brand names +# suppress inspection "UnusedProperty" +UPHOLD=Uphold +# suppress inspection "UnusedProperty" +MONEY_BEAM=MoneyBeam (N26) +# suppress inspection "UnusedProperty" +POPMONEY=Popmoney +# suppress inspection "UnusedProperty" +REVOLUT=Revolut +# suppress inspection "UnusedProperty" +CASH_APP=Cash App +# suppress inspection "UnusedProperty" +PERFECT_MONEY=Perfect Money +# suppress inspection "UnusedProperty" +ALI_PAY=AliPay +# suppress inspection "UnusedProperty" +WECHAT_PAY=WeChat Pay +# suppress inspection "UnusedProperty" +SEPA=SEPA +# suppress inspection "UnusedProperty" +SEPA_INSTANT=SEPA Instant +# suppress inspection "UnusedProperty" +FASTER_PAYMENTS=Faster Payments +# suppress inspection "UnusedProperty" +SWISH=Swish +# suppress inspection "UnusedProperty" +ZELLE=Zelle +# suppress inspection "UnusedProperty" +CHASE_QUICK_PAY=Chase QuickPay +# suppress inspection "UnusedProperty" +INTERAC_E_TRANSFER=Interac e-Transfer +# suppress inspection "UnusedProperty" +HAL_CASH=HalCash +# suppress inspection "UnusedProperty" +PROMPT_PAY=PromptPay +# suppress inspection "UnusedProperty" +ADVANCED_CASH=Advanced Cash +# suppress inspection "UnusedProperty" +WISE=Wise +# suppress inspection "UnusedProperty" +WISE_USD=Wise-USD +# suppress inspection "UnusedProperty" +PAYSERA=Paysera +# suppress inspection "UnusedProperty" +PAXUM=Paxum +# suppress inspection "UnusedProperty" +NEFT=India/NEFT +# suppress inspection "UnusedProperty" +RTGS=India/RTGS +# suppress inspection "UnusedProperty" +IMPS=India/IMPS +# suppress inspection "UnusedProperty" +UPI=India/UPI +# suppress inspection "UnusedProperty" +PAYTM=India/PayTM +# suppress inspection "UnusedProperty" +NEQUI=Nequi +# suppress inspection "UnusedProperty +BIZUM=Bizum +# suppress inspection "UnusedProperty" +PIX=Pix +# suppress inspection "UnusedProperty" +AMAZON_GIFT_CARD=Amazon eGift Card +# suppress inspection "UnusedProperty" +CAPITUAL=Capitual +# suppress inspection "UnusedProperty" +CELPAY=CelPay +# suppress inspection "UnusedProperty" +MONESE=Monese +# suppress inspection "UnusedProperty" +SATISPAY=Satispay +# suppress inspection "UnusedProperty" +TIKKIE=Tikkie +# suppress inspection "UnusedProperty" +VERSE=Verse +# suppress inspection "UnusedProperty" +STRIKE=Strike +# suppress inspection "UnusedProperty" +SWIFT=SWIFT International Wire Transfer +# suppress inspection "UnusedProperty" +SWIFT_SHORT=SWIFT +# suppress inspection "UnusedProperty" +ACH_TRANSFER=ACH Transfer +# suppress inspection "UnusedProperty" +ACH_TRANSFER_SHORT=ACH +# suppress inspection "UnusedProperty" +DOMESTIC_WIRE_TRANSFER=Domestic Wire Transfer +# suppress inspection "UnusedProperty" +DOMESTIC_WIRE_TRANSFER_SHORT=Wire +# suppress inspection "UnusedProperty" +CIPS=Cross-Border Interbank Payment System +# suppress inspection "UnusedProperty" +CIPS_SHORT=CIPS + +## Enum from CryptoPaymentMethod +# suppress inspection "UnusedProperty" +NATIVE_CHAIN=Nativer Kettenübertragung +# suppress inspection "UnusedProperty" +NATIVE_CHAIN_SHORT=Nativer Kettenübertragung + +## Enum from BitcoinPaymentMethod +# suppress inspection "UnusedProperty" +MAIN_CHAIN=Bitcoin (onchain) +# suppress inspection "UnusedProperty" +MAIN_CHAIN_SHORT=Onchain +# suppress inspection "UnusedProperty" +LN=BTC über Lightning Network +# suppress inspection "UnusedProperty" +LN_SHORT=Lightning +# suppress inspection "UnusedProperty" +LBTC=L-BTC (Gepflegtes BTC im Liquid-Seitennetz) +# suppress inspection "UnusedProperty" +LBTC_SHORT=Liquid +# suppress inspection "UnusedProperty" +RBTC=RBTC (Gepflegtes BTC im RSK-Seitennetz) +# suppress inspection "UnusedProperty" +RBTC_SHORT=RSK +# suppress inspection "UnusedProperty" +WBTC=WBTC (eingewickeltes BTC als ERC20-Token) +# suppress inspection "UnusedProperty" +WBTC_SHORT=WBTC +# suppress inspection "UnusedProperty" +OTHER=Andere diff --git a/pocs/android_only_m2_j17jars/app/src/main/resources/payment_method_es.properties b/pocs/android_only_m2_j17jars/app/src/main/resources/payment_method_es.properties new file mode 100644 index 00000000..e317766b --- /dev/null +++ b/pocs/android_only_m2_j17jars/app/src/main/resources/payment_method_es.properties @@ -0,0 +1,175 @@ +## Enum from FiatPaymentMethod + +# Generic terms +# suppress inspection "UnusedProperty" +NATIONAL_BANK=Transferencia bancaria nacional +# suppress inspection "UnusedProperty" +INTERNATIONAL_BANK=Transferencia bancaria internacional +# suppress inspection "UnusedProperty" +SAME_BANK=Transferencia con el mismo banco +# suppress inspection "UnusedProperty" +SPECIFIC_BANKS=Transferencias con bancos específicos +# suppress inspection "UnusedProperty" +US_POSTAL_MONEY_ORDER=Giro postal de EE. UU. +# suppress inspection "UnusedProperty" +CASH_DEPOSIT=Ingreso de efectivo +# suppress inspection "UnusedProperty" +CASH_BY_MAIL=Efectivo por correo +# suppress inspection "UnusedProperty" +MONEY_GRAM=MoneyGram +# suppress inspection "UnusedProperty" +WESTERN_UNION=Western Union +# suppress inspection "UnusedProperty" +F2F=En persona +# suppress inspection "UnusedProperty" +JAPAN_BANK=Japan Bank Furikomi +# suppress inspection "UnusedProperty" +PAY_ID=PayID + +# Generic terms short +# suppress inspection "UnusedProperty" +NATIONAL_BANK_SHORT=Bancos nacionales +# suppress inspection "UnusedProperty" +INTERNATIONAL_BANK_SHORT=Bancos internacionales +# suppress inspection "UnusedProperty" +SAME_BANK_SHORT=Mismo banco +# suppress inspection "UnusedProperty" +SPECIFIC_BANKS_SHORT=Bancos específicos +# suppress inspection "UnusedProperty" +US_POSTAL_MONEY_ORDER_SHORT=Giro postal de EE. UU. +# suppress inspection "UnusedProperty" +CASH_DEPOSIT_SHORT=Ingreso de efectivo +# suppress inspection "UnusedProperty" +CASH_BY_MAIL_SHORT=Efectivo por correo +# suppress inspection "UnusedProperty" +MONEY_GRAM_SHORT=MoneyGram +# suppress inspection "UnusedProperty" +WESTERN_UNION_SHORT=Western Union +# suppress inspection "UnusedProperty" +F2F_SHORT=En persona +# suppress inspection "UnusedProperty" +JAPAN_BANK_SHORT=Japan Furikomi + +# Do not translate brand names +# suppress inspection "UnusedProperty" +UPHOLD=Uphold +# suppress inspection "UnusedProperty" +MONEY_BEAM=MoneyBeam (N26) +# suppress inspection "UnusedProperty" +POPMONEY=Popmoney +# suppress inspection "UnusedProperty" +REVOLUT=Revolut +# suppress inspection "UnusedProperty" +CASH_APP=Cash App +# suppress inspection "UnusedProperty" +PERFECT_MONEY=Perfect Money +# suppress inspection "UnusedProperty" +ALI_PAY=AliPay +# suppress inspection "UnusedProperty" +WECHAT_PAY=WeChat Pay +# suppress inspection "UnusedProperty" +SEPA=SEPA +# suppress inspection "UnusedProperty" +SEPA_INSTANT=SEPA Instantánea +# suppress inspection "UnusedProperty" +FASTER_PAYMENTS=Faster Payments +# suppress inspection "UnusedProperty" +SWISH=Swish +# suppress inspection "UnusedProperty" +ZELLE=Zelle +# suppress inspection "UnusedProperty" +CHASE_QUICK_PAY=Chase QuickPay +# suppress inspection "UnusedProperty" +INTERAC_E_TRANSFER=Interac e-Transfer +# suppress inspection "UnusedProperty" +HAL_CASH=HalCash +# suppress inspection "UnusedProperty" +PROMPT_PAY=PromptPay +# suppress inspection "UnusedProperty" +ADVANCED_CASH=Advanced Cash +# suppress inspection "UnusedProperty" +WISE=Wise +# suppress inspection "UnusedProperty" +WISE_USD=Wise-USD +# suppress inspection "UnusedProperty" +PAYSERA=Paysera +# suppress inspection "UnusedProperty" +PAXUM=Paxum +# suppress inspection "UnusedProperty" +NEFT=India/NEFT +# suppress inspection "UnusedProperty" +RTGS=India/RTGS +# suppress inspection "UnusedProperty" +IMPS=India/IMPS +# suppress inspection "UnusedProperty" +UPI=India/UPI +# suppress inspection "UnusedProperty" +PAYTM=India/PayTM +# suppress inspection "UnusedProperty" +NEQUI=Nequi +# suppress inspection "UnusedProperty +BIZUM=Bizum +# suppress inspection "UnusedProperty" +PIX=Pix +# suppress inspection "UnusedProperty" +AMAZON_GIFT_CARD=Tarjeta regalo de Amazon +# suppress inspection "UnusedProperty" +CAPITUAL=Capitual +# suppress inspection "UnusedProperty" +CELPAY=CelPay +# suppress inspection "UnusedProperty" +MONESE=Monese +# suppress inspection "UnusedProperty" +SATISPAY=Satispay +# suppress inspection "UnusedProperty" +TIKKIE=Tikkie +# suppress inspection "UnusedProperty" +VERSE=Verse +# suppress inspection "UnusedProperty" +STRIKE=Strike +# suppress inspection "UnusedProperty" +SWIFT=Transferencia internacional SWIFT +# suppress inspection "UnusedProperty" +SWIFT_SHORT=SWIFT +# suppress inspection "UnusedProperty" +ACH_TRANSFER=Transferencia ACH +# suppress inspection "UnusedProperty" +ACH_TRANSFER_SHORT=ACH +# suppress inspection "UnusedProperty" +DOMESTIC_WIRE_TRANSFER=Transferencia Wire Doméstica +# suppress inspection "UnusedProperty" +DOMESTIC_WIRE_TRANSFER_SHORT=Wire +# suppress inspection "UnusedProperty" +CIPS=Cross-Border Interbank Payment System +# suppress inspection "UnusedProperty" +CIPS_SHORT=CIPS + +## Enum from CryptoPaymentMethod +# suppress inspection "UnusedProperty" +NATIVE_CHAIN=Cadena nativa +# suppress inspection "UnusedProperty" +NATIVE_CHAIN_SHORT=Cadena nativa + +## Enum from BitcoinPaymentMethod +# suppress inspection "UnusedProperty" +MAIN_CHAIN=Bitcoin (onchain) +# suppress inspection "UnusedProperty" +MAIN_CHAIN_SHORT=Onchain +# suppress inspection "UnusedProperty" +LN=BTC a través de Lightning Network +# suppress inspection "UnusedProperty" +LN_SHORT=Lightning +# suppress inspection "UnusedProperty" +LBTC=L-BTC (BTC pegged en la side chain Liquid) +# suppress inspection "UnusedProperty" +LBTC_SHORT=Liquid +# suppress inspection "UnusedProperty" +RBTC=RBTC (BTC pegged en la side chain RSK) +# suppress inspection "UnusedProperty" +RBTC_SHORT=RSK +# suppress inspection "UnusedProperty" +WBTC=WBTC (BTC wrapped como token ERC20) +# suppress inspection "UnusedProperty" +WBTC_SHORT=WBTC +# suppress inspection "UnusedProperty" +OTHER=Otro diff --git a/pocs/android_only_m2_j17jars/app/src/main/resources/payment_method_it.properties b/pocs/android_only_m2_j17jars/app/src/main/resources/payment_method_it.properties new file mode 100644 index 00000000..565d24e7 --- /dev/null +++ b/pocs/android_only_m2_j17jars/app/src/main/resources/payment_method_it.properties @@ -0,0 +1,175 @@ +## Enum from FiatPaymentMethod + +# Generic terms +# suppress inspection "UnusedProperty" +NATIONAL_BANK=Bonifico bancario nazionale +# suppress inspection "UnusedProperty" +INTERNATIONAL_BANK=Bonifico bancario internazionale +# suppress inspection "UnusedProperty" +SAME_BANK=Trasferimento con stessa banca +# suppress inspection "UnusedProperty" +SPECIFIC_BANKS=Trasferimenti con banche specifiche +# suppress inspection "UnusedProperty" +US_POSTAL_MONEY_ORDER=Vaglia postale degli Stati Uniti +# suppress inspection "UnusedProperty" +CASH_DEPOSIT=Deposito in contanti +# suppress inspection "UnusedProperty" +CASH_BY_MAIL=Contanti per posta +# suppress inspection "UnusedProperty" +MONEY_GRAM=MoneyGram +# suppress inspection "UnusedProperty" +WESTERN_UNION=Western Union +# suppress inspection "UnusedProperty" +F2F=Faccia a faccia (in persona) +# suppress inspection "UnusedProperty" +JAPAN_BANK=Banco Giappone Furikomi +# suppress inspection "UnusedProperty" +PAY_ID=PayID + +# Generic terms short +# suppress inspection "UnusedProperty" +NATIONAL_BANK_SHORT=Banche nazionali +# suppress inspection "UnusedProperty" +INTERNATIONAL_BANK_SHORT=Banche internazionali +# suppress inspection "UnusedProperty" +SAME_BANK_SHORT=Stessa banca +# suppress inspection "UnusedProperty" +SPECIFIC_BANKS_SHORT=Banche specifiche +# suppress inspection "UnusedProperty" +US_POSTAL_MONEY_ORDER_SHORT=Vaglia USA +# suppress inspection "UnusedProperty" +CASH_DEPOSIT_SHORT=Deposito in contanti +# suppress inspection "UnusedProperty" +CASH_BY_MAIL_SHORT=Contanti per posta +# suppress inspection "UnusedProperty" +MONEY_GRAM_SHORT=MoneyGram +# suppress inspection "UnusedProperty" +WESTERN_UNION_SHORT=Western Union +# suppress inspection "UnusedProperty" +F2F_SHORT=F2F +# suppress inspection "UnusedProperty" +JAPAN_BANK_SHORT=Banco Giappone + +# Do not translate brand names +# suppress inspection "UnusedProperty" +UPHOLD=Uphold +# suppress inspection "UnusedProperty" +MONEY_BEAM=MoneyBeam (N26) +# suppress inspection "UnusedProperty" +POPMONEY=Popmoney +# suppress inspection "UnusedProperty" +REVOLUT=Revolut +# suppress inspection "UnusedProperty" +CASH_APP=Cash App +# suppress inspection "UnusedProperty" +PERFECT_MONEY=Perfect Money +# suppress inspection "UnusedProperty" +ALI_PAY=AliPay +# suppress inspection "UnusedProperty" +WECHAT_PAY=WeChat Pay +# suppress inspection "UnusedProperty" +SEPA=SEPA +# suppress inspection "UnusedProperty" +SEPA_INSTANT=SEPA Instant +# suppress inspection "UnusedProperty" +FASTER_PAYMENTS=Faster Payments +# suppress inspection "UnusedProperty" +SWISH=Swish +# suppress inspection "UnusedProperty" +ZELLE=Zelle +# suppress inspection "UnusedProperty" +CHASE_QUICK_PAY=Chase QuickPay +# suppress inspection "UnusedProperty" +INTERAC_E_TRANSFER=Interac e-Transfer +# suppress inspection "UnusedProperty" +HAL_CASH=HalCash +# suppress inspection "UnusedProperty" +PROMPT_PAY=PromptPay +# suppress inspection "UnusedProperty" +ADVANCED_CASH=Advanced Cash +# suppress inspection "UnusedProperty" +WISE=Wise +# suppress inspection "UnusedProperty" +WISE_USD=Wise-USD +# suppress inspection "UnusedProperty" +PAYSERA=Paysera +# suppress inspection "UnusedProperty" +PAXUM=Paxum +# suppress inspection "UnusedProperty" +NEFT=India/NEFT +# suppress inspection "UnusedProperty" +RTGS=India/RTGS +# suppress inspection "UnusedProperty" +IMPS=India/IMPS +# suppress inspection "UnusedProperty" +UPI=India/UPI +# suppress inspection "UnusedProperty" +PAYTM=India/PayTM +# suppress inspection "UnusedProperty" +NEQUI=Nequi +# suppress inspection "UnusedProperty +BIZUM=Bizum +# suppress inspection "UnusedProperty" +PIX=Pix +# suppress inspection "UnusedProperty" +AMAZON_GIFT_CARD=Amazon eGift Card +# suppress inspection "UnusedProperty" +CAPITUAL=Capitual +# suppress inspection "UnusedProperty" +CELPAY=CelPay +# suppress inspection "UnusedProperty" +MONESE=Monese +# suppress inspection "UnusedProperty" +SATISPAY=Satispay +# suppress inspection "UnusedProperty" +TIKKIE=Tikkie +# suppress inspection "UnusedProperty" +VERSE=Verse +# suppress inspection "UnusedProperty" +STRIKE=Strike +# suppress inspection "UnusedProperty" +SWIFT=SWIFT International Wire Transfer +# suppress inspection "UnusedProperty" +SWIFT_SHORT=SWIFT +# suppress inspection "UnusedProperty" +ACH_TRANSFER=ACH Transfer +# suppress inspection "UnusedProperty" +ACH_TRANSFER_SHORT=ACH +# suppress inspection "UnusedProperty" +DOMESTIC_WIRE_TRANSFER=Domestic Wire Transfer +# suppress inspection "UnusedProperty" +DOMESTIC_WIRE_TRANSFER_SHORT=Wire +# suppress inspection "UnusedProperty" +CIPS=Cross-Border Interbank Payment System +# suppress inspection "UnusedProperty" +CIPS_SHORT=CIPS + +## Enum from CryptoPaymentMethod +# suppress inspection "UnusedProperty" +NATIVE_CHAIN=Catena nativa +# suppress inspection "UnusedProperty" +NATIVE_CHAIN_SHORT=Catena nativa + +## Enum from BitcoinPaymentMethod +# suppress inspection "UnusedProperty" +MAIN_CHAIN=Bitcoin (onchain) +# suppress inspection "UnusedProperty" +MAIN_CHAIN_SHORT=Onchain +# suppress inspection "UnusedProperty" +LN=BTC sulla Lightning Network +# suppress inspection "UnusedProperty" +LN_SHORT=Lightning +# suppress inspection "UnusedProperty" +LBTC=L-BTC (BTC tokenizzati su Liquid side chain) +# suppress inspection "UnusedProperty" +LBTC_SHORT=Liquid +# suppress inspection "UnusedProperty" +RBTC=RBTC (BTC tokenizzati su RSK side chain) +# suppress inspection "UnusedProperty" +RBTC_SHORT=RSK +# suppress inspection "UnusedProperty" +WBTC=WBTC (BTC tokenizzato come token ERC20) +# suppress inspection "UnusedProperty" +WBTC_SHORT=WBTC +# suppress inspection "UnusedProperty" +OTHER=Altro diff --git a/pocs/android_only_m2_j17jars/app/src/main/resources/payment_method_pcm.properties b/pocs/android_only_m2_j17jars/app/src/main/resources/payment_method_pcm.properties new file mode 100644 index 00000000..22c5ceb1 --- /dev/null +++ b/pocs/android_only_m2_j17jars/app/src/main/resources/payment_method_pcm.properties @@ -0,0 +1,175 @@ +## Enum from FiatPaymentMethod + +# Generic terms +# suppress inspection "UnusedProperty" +NATIONAL_BANK=National bank transfer +# suppress inspection "UnusedProperty" +INTERNATIONAL_BANK=International bank transfer +# suppress inspection "UnusedProperty" +SAME_BANK=Transfer with same bank +# suppress inspection "UnusedProperty" +SPECIFIC_BANKS=Transfers with specific banks +# suppress inspection "UnusedProperty" +US_POSTAL_MONEY_ORDER=US Postal Money Order +# suppress inspection "UnusedProperty" +CASH_DEPOSIT=Cash Deposit +# suppress inspection "UnusedProperty" +CASH_BY_MAIL=Cash By Mail +# suppress inspection "UnusedProperty" +MONEY_GRAM=MoneyGram +# suppress inspection "UnusedProperty" +WESTERN_UNION=Western Union +# suppress inspection "UnusedProperty" +F2F=Face to face (in person) +# suppress inspection "UnusedProperty" +JAPAN_BANK=Japan Bank Furikomi +# suppress inspection "UnusedProperty" +PAY_ID=PayID + +# Generic terms short +# suppress inspection "UnusedProperty" +NATIONAL_BANK_SHORT=National banks +# suppress inspection "UnusedProperty" +INTERNATIONAL_BANK_SHORT=International banks +# suppress inspection "UnusedProperty" +SAME_BANK_SHORT=Same bank +# suppress inspection "UnusedProperty" +SPECIFIC_BANKS_SHORT=Specific banks +# suppress inspection "UnusedProperty" +US_POSTAL_MONEY_ORDER_SHORT=US Money Order +# suppress inspection "UnusedProperty" +CASH_DEPOSIT_SHORT=Cash Deposit +# suppress inspection "UnusedProperty" +CASH_BY_MAIL_SHORT=CashByMail +# suppress inspection "UnusedProperty" +MONEY_GRAM_SHORT=MoneyGram +# suppress inspection "UnusedProperty" +WESTERN_UNION_SHORT=Western Union +# suppress inspection "UnusedProperty" +F2F_SHORT=F2F +# suppress inspection "UnusedProperty" +JAPAN_BANK_SHORT=Japan Furikomi + +# Do not translate brand names +# suppress inspection "UnusedProperty" +UPHOLD=Uphold +# suppress inspection "UnusedProperty" +MONEY_BEAM=MoneyBeam (N26) +# suppress inspection "UnusedProperty" +POPMONEY=Popmoney +# suppress inspection "UnusedProperty" +REVOLUT=Revolut +# suppress inspection "UnusedProperty" +CASH_APP=Cash App +# suppress inspection "UnusedProperty" +PERFECT_MONEY=Perfect Money +# suppress inspection "UnusedProperty" +ALI_PAY=AliPay +# suppress inspection "UnusedProperty" +WECHAT_PAY=WeChat Pay +# suppress inspection "UnusedProperty" +SEPA=SEPA +# suppress inspection "UnusedProperty" +SEPA_INSTANT=SEPA Instant +# suppress inspection "UnusedProperty" +FASTER_PAYMENTS=Faster Payments +# suppress inspection "UnusedProperty" +SWISH=Swish +# suppress inspection "UnusedProperty" +ZELLE=Zelle +# suppress inspection "UnusedProperty" +CHASE_QUICK_PAY=Chase QuickPay +# suppress inspection "UnusedProperty" +INTERAC_E_TRANSFER=Interac e-Transfer +# suppress inspection "UnusedProperty" +HAL_CASH=HalCash +# suppress inspection "UnusedProperty" +PROMPT_PAY=PromptPay +# suppress inspection "UnusedProperty" +ADVANCED_CASH=Advanced Cash +# suppress inspection "UnusedProperty" +WISE=Wise +# suppress inspection "UnusedProperty" +WISE_USD=Wise-USD +# suppress inspection "UnusedProperty" +PAYSERA=Paysera +# suppress inspection "UnusedProperty" +PAXUM=Paxum +# suppress inspection "UnusedProperty" +NEFT=India/NEFT +# suppress inspection "UnusedProperty" +RTGS=India/RTGS +# suppress inspection "UnusedProperty" +IMPS=India/IMPS +# suppress inspection "UnusedProperty" +UPI=India/UPI +# suppress inspection "UnusedProperty" +PAYTM=India/PayTM +# suppress inspection "UnusedProperty" +NEQUI=Nequi +# suppress inspection "UnusedProperty +BIZUM=Bizum +# suppress inspection "UnusedProperty" +PIX=Pix +# suppress inspection "UnusedProperty" +AMAZON_GIFT_CARD=Amazon eGift Card +# suppress inspection "UnusedProperty" +CAPITUAL=Capitual +# suppress inspection "UnusedProperty" +CELPAY=CelPay +# suppress inspection "UnusedProperty" +MONESE=Monese +# suppress inspection "UnusedProperty" +SATISPAY=Satispay +# suppress inspection "UnusedProperty" +TIKKIE=Tikkie +# suppress inspection "UnusedProperty" +VERSE=Verse +# suppress inspection "UnusedProperty" +STRIKE=Strike +# suppress inspection "UnusedProperty" +SWIFT=SWIFT International Wire Transfer +# suppress inspection "UnusedProperty" +SWIFT_SHORT=SWIFT +# suppress inspection "UnusedProperty" +ACH_TRANSFER=ACH Transfer +# suppress inspection "UnusedProperty" +ACH_TRANSFER_SHORT=ACH +# suppress inspection "UnusedProperty" +DOMESTIC_WIRE_TRANSFER=Domestic Wire Transfer +# suppress inspection "UnusedProperty" +DOMESTIC_WIRE_TRANSFER_SHORT=Wire +# suppress inspection "UnusedProperty" +CIPS=Cross-Border Interbank Payment System +# suppress inspection "UnusedProperty" +CIPS_SHORT=CIPS + +## Enum from CryptoPaymentMethod +# suppress inspection "UnusedProperty" +NATIVE_CHAIN=Native chain +# suppress inspection "UnusedProperty" +NATIVE_CHAIN_SHORT=Native chain + +## Enum from BitcoinPaymentMethod +# suppress inspection "UnusedProperty" +MAIN_CHAIN=Bitcoin (onchain) +# suppress inspection "UnusedProperty" +MAIN_CHAIN_SHORT=Onchain +# suppress inspection "UnusedProperty" +LN=BTC over Lightning Network +# suppress inspection "UnusedProperty" +LN_SHORT=Lightning +# suppress inspection "UnusedProperty" +LBTC=L-BTC (Pegged BTC on Liquid side chain) +# suppress inspection "UnusedProperty" +LBTC_SHORT=Liquid +# suppress inspection "UnusedProperty" +RBTC=RBTC (Pegged BTC on RSK side chain) +# suppress inspection "UnusedProperty" +RBTC_SHORT=RSK +# suppress inspection "UnusedProperty" +WBTC=WBTC (wrapped BTC as ERC20 token) +# suppress inspection "UnusedProperty" +WBTC_SHORT=WBTC +# suppress inspection "UnusedProperty" +OTHER=Other diff --git a/pocs/android_only_m2_j17jars/app/src/main/resources/payment_method_pt_BR.properties b/pocs/android_only_m2_j17jars/app/src/main/resources/payment_method_pt_BR.properties new file mode 100644 index 00000000..ea58f515 --- /dev/null +++ b/pocs/android_only_m2_j17jars/app/src/main/resources/payment_method_pt_BR.properties @@ -0,0 +1,175 @@ +## Enum from FiatPaymentMethod + +# Generic terms +# suppress inspection "UnusedProperty" +NATIONAL_BANK=Transferência bancária nacional +# suppress inspection "UnusedProperty" +INTERNATIONAL_BANK=Transferência bancária internacional +# suppress inspection "UnusedProperty" +SAME_BANK=Transferência no mesmo banco +# suppress inspection "UnusedProperty" +SPECIFIC_BANKS=Transferências com bancos específicos +# suppress inspection "UnusedProperty" +US_POSTAL_MONEY_ORDER=Ordem de Pagamento Postal dos EUA +# suppress inspection "UnusedProperty" +CASH_DEPOSIT=Depósito em dinheiro +# suppress inspection "UnusedProperty" +CASH_BY_MAIL=Dinheiro pelo correio +# suppress inspection "UnusedProperty" +MONEY_GRAM=MoneyGram +# suppress inspection "UnusedProperty" +WESTERN_UNION=Western Union +# suppress inspection "UnusedProperty" +F2F=Face a face (pessoalmente) +# suppress inspection "UnusedProperty" +JAPAN_BANK=Furikomi do Banco do Japão +# suppress inspection "UnusedProperty" +PAY_ID=PayID + +# Generic terms short +# suppress inspection "UnusedProperty" +NATIONAL_BANK_SHORT=Bancos nacionais +# suppress inspection "UnusedProperty" +INTERNATIONAL_BANK_SHORT=Bancos internacionais +# suppress inspection "UnusedProperty" +SAME_BANK_SHORT=Mesmo banco +# suppress inspection "UnusedProperty" +SPECIFIC_BANKS_SHORT=Bancos específicos +# suppress inspection "UnusedProperty" +US_POSTAL_MONEY_ORDER_SHORT=Ordem de Pagamento dos EUA +# suppress inspection "UnusedProperty" +CASH_DEPOSIT_SHORT=Depósito em dinheiro +# suppress inspection "UnusedProperty" +CASH_BY_MAIL_SHORT=Correio +# suppress inspection "UnusedProperty" +MONEY_GRAM_SHORT=MoneyGram +# suppress inspection "UnusedProperty" +WESTERN_UNION_SHORT=Western Union +# suppress inspection "UnusedProperty" +F2F_SHORT=F2F +# suppress inspection "UnusedProperty" +JAPAN_BANK_SHORT=Furikomi Japão + +# Do not translate brand names +# suppress inspection "UnusedProperty" +UPHOLD=Uphold +# suppress inspection "UnusedProperty" +MONEY_BEAM=MoneyBeam (N26) +# suppress inspection "UnusedProperty" +POPMONEY=Popmoney +# suppress inspection "UnusedProperty" +REVOLUT=Revolut +# suppress inspection "UnusedProperty" +CASH_APP=Cash App +# suppress inspection "UnusedProperty" +PERFECT_MONEY=Perfect Money +# suppress inspection "UnusedProperty" +ALI_PAY=AliPay +# suppress inspection "UnusedProperty" +WECHAT_PAY=WeChat Pay +# suppress inspection "UnusedProperty" +SEPA=SEPA +# suppress inspection "UnusedProperty" +SEPA_INSTANT=SEPA Instant +# suppress inspection "UnusedProperty" +FASTER_PAYMENTS=Faster Payments +# suppress inspection "UnusedProperty" +SWISH=Swish +# suppress inspection "UnusedProperty" +ZELLE=Zelle +# suppress inspection "UnusedProperty" +CHASE_QUICK_PAY=Chase QuickPay +# suppress inspection "UnusedProperty" +INTERAC_E_TRANSFER=Interac e-Transfer +# suppress inspection "UnusedProperty" +HAL_CASH=HalCash +# suppress inspection "UnusedProperty" +PROMPT_PAY=PromptPay +# suppress inspection "UnusedProperty" +ADVANCED_CASH=Advanced Cash +# suppress inspection "UnusedProperty" +WISE=Wise +# suppress inspection "UnusedProperty" +WISE_USD=Wise-USD +# suppress inspection "UnusedProperty" +PAYSERA=Paysera +# suppress inspection "UnusedProperty" +PAXUM=Paxum +# suppress inspection "UnusedProperty" +NEFT=India/NEFT +# suppress inspection "UnusedProperty" +RTGS=India/RTGS +# suppress inspection "UnusedProperty" +IMPS=India/IMPS +# suppress inspection "UnusedProperty" +UPI=India/UPI +# suppress inspection "UnusedProperty" +PAYTM=India/PayTM +# suppress inspection "UnusedProperty" +NEQUI=Nequi +# suppress inspection "UnusedProperty +BIZUM=Bizum +# suppress inspection "UnusedProperty" +PIX=Pix +# suppress inspection "UnusedProperty" +AMAZON_GIFT_CARD=Amazon eGift Card +# suppress inspection "UnusedProperty" +CAPITUAL=Capitual +# suppress inspection "UnusedProperty" +CELPAY=CelPay +# suppress inspection "UnusedProperty" +MONESE=Monese +# suppress inspection "UnusedProperty" +SATISPAY=Satispay +# suppress inspection "UnusedProperty" +TIKKIE=Tikkie +# suppress inspection "UnusedProperty" +VERSE=Verse +# suppress inspection "UnusedProperty" +STRIKE=Strike +# suppress inspection "UnusedProperty" +SWIFT=SWIFT International Wire Transfer +# suppress inspection "UnusedProperty" +SWIFT_SHORT=SWIFT +# suppress inspection "UnusedProperty" +ACH_TRANSFER=ACH Transfer +# suppress inspection "UnusedProperty" +ACH_TRANSFER_SHORT=ACH +# suppress inspection "UnusedProperty" +DOMESTIC_WIRE_TRANSFER=Domestic Wire Transfer +# suppress inspection "UnusedProperty" +DOMESTIC_WIRE_TRANSFER_SHORT=Wire +# suppress inspection "UnusedProperty" +CIPS=Cross-Border Interbank Payment System +# suppress inspection "UnusedProperty" +CIPS_SHORT=CIPS + +## Enum from CryptoPaymentMethod +# suppress inspection "UnusedProperty" +NATIVE_CHAIN=Cadeia nativa +# suppress inspection "UnusedProperty" +NATIVE_CHAIN_SHORT=Cadeia nativa + +## Enum from BitcoinPaymentMethod +# suppress inspection "UnusedProperty" +MAIN_CHAIN=Bitcoin (onchain) +# suppress inspection "UnusedProperty" +MAIN_CHAIN_SHORT=Onchain +# suppress inspection "UnusedProperty" +LN=BTC pela Rede Lightning +# suppress inspection "UnusedProperty" +LN_SHORT=Lightning +# suppress inspection "UnusedProperty" +LBTC=L-BTC (BTC atrelado na side chain Liquid) +# suppress inspection "UnusedProperty" +LBTC_SHORT=Liquid +# suppress inspection "UnusedProperty" +RBTC=RBTC (BTC atrelado na side chain RSK) +# suppress inspection "UnusedProperty" +RBTC_SHORT=RSK +# suppress inspection "UnusedProperty" +WBTC=WBTC (BTC encapsulado como token ERC20) +# suppress inspection "UnusedProperty" +WBTC_SHORT=WBTC +# suppress inspection "UnusedProperty" +OTHER=Outro diff --git a/pocs/android_only_m2_j17jars/app/src/main/resources/reputation.properties b/pocs/android_only_m2_j17jars/app/src/main/resources/reputation.properties new file mode 100644 index 00000000..88fabdf8 --- /dev/null +++ b/pocs/android_only_m2_j17jars/app/src/main/resources/reputation.properties @@ -0,0 +1,436 @@ +################################################################################ +# Reputation +################################################################################ + +reputation=Reputation +reputation.buildReputation=Build reputation +reputation.reputationScore=Reputation score + +reputation.buildReputation.headline=Build reputation +reputation.buildReputation.intro.part1=Bisq Easy's security model relies on the seller's reputation. This is because during a trade the buyer sends the fiat amount first, \ + therefore the seller needs to provide reputation to establish some level of security.\n\ + A seller can take offers up to the amount derived from their reputation score.\n\ + It is calculated as follows: +reputation.buildReputation.intro.part1.formula.output=Maximum trade amount in USD * +reputation.buildReputation.intro.part1.formula.input=Reputation score +reputation.buildReputation.intro.part1.formula.footnote=* Converted to the currency used. +reputation.buildReputation.intro.part2=If a seller posts an offer with an amount not covered by their reputation score, the buyer will see a warning about the potential risks when taking that offer. +reputation.buildReputation.title=How can sellers build up their reputation? +reputation.buildReputation.burnBsq.title=Burning BSQ +reputation.buildReputation.burnBsq.description=This is the strongest form of reputation.\n\ + The score gained by burning BSQ doubles during the first year. +reputation.buildReputation.burnBsq.button=Learn how to burn BSQ +reputation.buildReputation.bsqBond.title=Bonding BSQ +reputation.buildReputation.bsqBond.description=Similar to burning BSQ but using refundable BSQ bonds.\n\ + BSQ needs to be bonded for a minimum of 50,000 blocks (about 1 year). +reputation.buildReputation.bsqBond.button=Learn how to bond BSQ +reputation.buildReputation.signedAccount.title=Signed account age witness +reputation.buildReputation.signedAccount.description=Users of Bisq 1 can gain reputation by importing their signed account age from Bisq 1 into Bisq 2. +reputation.buildReputation.signedAccount.button=Learn how to import signed account +reputation.buildReputation.accountAge.title=Account age +reputation.buildReputation.accountAge.description=Users of Bisq 1 can gain reputation by importing their account age from Bisq 1 into Bisq 2. +reputation.buildReputation.accountAge.button=Learn how to import account age +reputation.buildReputation.learnMore=Learn more about the Bisq reputation system at the +reputation.buildReputation.learnMore.link=Bisq Wiki. + +# suppress inspection "UnusedProperty" +reputation.source.BURNED_BSQ=Burned BSQ +# suppress inspection "UnusedProperty" +reputation.source.BSQ_BOND=Bonded BSQ +# suppress inspection "UnusedProperty" +reputation.source.PROFILE_AGE=Profile age +# suppress inspection "UnusedProperty" +reputation.source.BISQ1_ACCOUNT_AGE=Account age +# suppress inspection "UnusedProperty" +reputation.source.BISQ1_SIGNED_ACCOUNT_AGE_WITNESS=Signed witness + +reputation.pubKeyHash=Profile ID +reputation.weight=Weight +reputation.score=Score +reputation.totalScore=Total score +reputation.ranking=Ranking +reputation.score.formulaHeadline=The reputation score is calculated as follows: +reputation.score.tooltip=Score: {0}\nRanking: {1} + +reputation.burnBsq=Burning BSQ +reputation.burnedBsq.tab1=Why +reputation.burnedBsq.tab2=Score +reputation.burnedBsq.tab3=How-to +reputation.burnedBsq.infoHeadline=Skin in the game +reputation.burnedBsq.info=By burning BSQ you provide evidence that you invested money into your reputation.\n\ + The burn BSQ transaction contains the hash of the public key of your profile. \ + In case of malicious behaviour your profile might get banned and with that your investment into your reputation would become worthless. +reputation.burnedBsq.infoHeadline2=What is the recommended amount to burn? +reputation.burnedBsq.info2=That will be determined by the competition of sellers. \ + The sellers with the highest reputation score will have better trade opportunities and can get a higher price premium. \ + The best offers ranked by reputation will get promoted in the offer selection at the 'Trade wizard'. +reputation.burnedBsq.score.headline=Impact on reputation score +reputation.burnedBsq.score.info=Burning BSQ is considered the strongest form of reputation which is represented by the high weight factor. \ + A time-based boost is applied during the first year, gradually increasing the score up to double its initial value. + +# Dynamically generated in BurnBsqTab2View +# suppress inspection "UnusedProperty" +reputation.burnedBsq.totalScore=Burned BSQ amount * weight * (1 + age / 365) + +reputation.sim.headline=Simulation tool: +reputation.sim.burnAmount=BSQ amount +# Dynamically generated in BondScoreSimulation +# suppress inspection "UnusedProperty" +reputation.sim.burnAmount.prompt=Enter the BSQ amount +# suppress inspection "UnusedProperty" +reputation.sim.lockTime=Lock time in blocks +# Dynamically generated in BondScoreSimulation +# suppress inspection "UnusedProperty" +reputation.sim.lockTime.prompt=Enter lock time +reputation.sim.age=Age in days +# Dynamically generated in BondScoreSimulation +# suppress inspection "UnusedProperty" +reputation.sim.age.prompt=Enter the age in days +reputation.sim.score=Total score + +reputation.burnedBsq.howToHeadline=Process for burning BSQ +reputation.burnedBsq.howTo=1. Select the user profile for which you want to attach the reputation.\n\ + 2. Copy the 'profile ID'\n\ + 3. Open Bisq 1 and go to 'DAO/PROOF OF BURN' and paste the copied value into the 'pre-image' field.\n\ + 4. Enter the amount of BSQ you want to burn.\n\ + 5. Publish the Burn BSQ transaction.\n\ + 6. After blockchain confirmation your reputation will become visible in your profile. + +reputation.bond=BSQ bonds +reputation.bond.tab1=Why +reputation.bond.tab2=Score +reputation.bond.tab3=How-to +reputation.bond.infoHeadline=Skin in the game +reputation.bond.info=By setting up a BSQ bond you provide evidence that you locked up money for gaining reputation.\n\ + The BSQ bond transaction contains the hash of the public key of your profile. \ + In case of malicious behaviour your bond could get confiscated by the DAO and your profile might get banned. +reputation.bond.infoHeadline2=What is the recommended amount and lock time? +reputation.bond.info2=The lock time need to be at least 50 000 blocks which is about 1 year to be considered a valid bond. \ + The amount can be chosen by the user and will determine the ranking to other sellers. \ + The sellers with the highest reputation score will have better trade opportunities and can get a higher price premium. \ + The best offers ranked by reputation will get promoted in the offer selection at the 'Trade wizard'. +reputation.bond.score.headline=Impact on reputation score +reputation.bond.score.info=Setting up a BSQ bond is considered a strong form of reputation. \ + Lock time must be at least: 50 000 blocks (about 1 year). A time-based boost is applied during the first year, gradually increasing the score up to double its initial value. +# Dynamically generated in BondedReputationTab2View +# suppress inspection "UnusedProperty" +reputation.bond.totalScore=BSQ amount * weight * (1 + age / 365) + +reputation.bond.howToHeadline=Process for setting up a BSQ bond +reputation.bond.howTo=1. Select the user profile for which you want to attach the reputation.\n\ + 2. Copy the 'profile ID'\n\ + 3. Open Bisq 1 and go to 'DAO/BONDING/BONDED REPUTATION' and paste the copied value into the 'salt' field.\n\ + 4. Enter the amount of BSQ you want to lock up and the lock time (50 000 blocks).\n\ + 5. Publish the lockup transaction.\n\ + 6. After blockchain confirmation your reputation will become visible in your profile. + +reputation.accountAge=Account age +reputation.accountAge.tab1=Why +reputation.accountAge.tab2=Score +reputation.accountAge.tab3=Import +reputation.accountAge.infoHeadline=Provide trust +reputation.accountAge.info=By linking your Bisq 1 'account age' you can provide some level of trust. \ + There are some reasonable expectations that a user who has used Bisq for some time is an honest user. But \ + that expectation is weak compared to other forms of reputation where the user provides stronger proof with \ + the use of some financial resources. +reputation.accountAge.infoHeadline2=Privacy implications +reputation.accountAge.info2=Linking your Bisq 1 account with Bisq 2 has some implications on your privacy. \ + For verifying your 'account age' your Bisq 1 identity gets cryptographically linked to your Bisq 2 profile ID.\n\ + Though, the exposure is limited to the 'Bisq 1 bridge node' which is operated by a Bisq contributor who has set up a \ + BSQ bond (bonded role).\n\n\ + Account age is an alternative for those who do not want to use burned BSQ or BSQ bonds due to the financial \ + cost. The 'account age' should be at least several months old to reflect some level of trust. +reputation.accountAge.score.headline=Impact on reputation score +reputation.accountAge.score.info=Importing 'account age' is considered a rather weak form of reputation which is \ + represented by the low weight factor. There is a cap of 2000 days for the score calculation. +# Dynamically generated in AccountAgeTab2View +# suppress inspection "UnusedProperty" +reputation.accountAge.totalScore=Account age in days * weight + +reputation.accountAge.import.step1.title=Step 1 +reputation.accountAge.import.step1.instruction=Select the user profile for which you want to attach the reputation. +reputation.accountAge.import.step2.title=Step 2 +reputation.accountAge.import.step2.instruction=Copy the profile ID to paste on Bisq 1. +reputation.accountAge.import.step2.profileId=Profile ID (Paste on the account screen on Bisq 1) +reputation.accountAge.import.step3.title=Step 3 +reputation.accountAge.import.step3.instruction1=3.1. - Open Bisq 1 and go to 'ACCOUNT/NATIONAL CURRENCY ACCOUNTS'. +reputation.accountAge.import.step3.instruction2=3.2. - Select the oldest account and click 'EXPORT ACCOUNT AGE FOR BISQ 2'. +reputation.accountAge.import.step3.instruction3=3.3. - This will create json data with a signature of your Bisq 2 Profile ID and copy it to the clipboard. +reputation.accountAge.import.step4.title=Step 4 +reputation.accountAge.import.step4.instruction=Paste the json data from the previous step +reputation.accountAge.import.step4.signedMessage=Json data from Bisq 1 + +reputation.signedWitness=Signed account age witness +reputation.signedWitness.tab1=Why +reputation.signedWitness.tab2=Score +reputation.signedWitness.tab3=How-to +reputation.signedWitness.infoHeadline=Provide trust +reputation.signedWitness.info=By linking your Bisq 1 'signed account age witness' you can provide some level of trust. \ + There are some reasonable expectations that a user who has traded a while back on Bisq 1 and got signed their account is an honest user. But \ + that expectation is weak compared to other forms of reputation where the user provides more "skin in the game" with \ + the use of financial resources. +reputation.signedWitness.infoHeadline2=Privacy implications +reputation.signedWitness.info2=Linking your Bisq 1 account with Bisq 2 has some implications on your privacy. \ + For verifying your 'signed account age witness' your Bisq 1 identity gets cryptographically linked to your Bisq 2 profile ID.\n\ + Though, the exposure is limited to the 'Bisq 1 bridge node' which is operated by a Bisq contributor who has set up a \ + BSQ bond (bonded role).\n\n\ + Signed account age witness is an alternative for those who don't want to use burned BSQ or BSQ bonds due to the financial \ + burden. The 'signed account age witness' has to be at least 61 days old to be considered for reputation. +reputation.signedWitness.score.headline=Impact on reputation score +reputation.signedWitness.score.info=Importing 'signed account age witness' is considered a weak form of reputation which is \ + represented by the weight factor. The 'signed account age witness' has to be at least 61 days old and there is a cap \ + of 2000 days for the score calculation. +# Dynamically generated in SignedWitnessTab2View +# suppress inspection "UnusedProperty" +reputation.signedWitness.totalScore=Witness age in days * weight +reputation.signedWitness.import.step1.title=Step 1 +reputation.signedWitness.import.step1.instruction=Select the user profile for which you want to attach the reputation. +reputation.signedWitness.import.step2.title=Step 2 +reputation.signedWitness.import.step2.instruction=Copy the profile ID to paste on Bisq 1. +reputation.signedWitness.import.step2.profileId=Profile ID (Paste on the account screen on Bisq 1) +reputation.signedWitness.import.step3.title=Step 3 +reputation.signedWitness.import.step3.instruction1=3.1. - Open Bisq 1 and go to 'ACCOUNT/NATIONAL CURRENCY ACCOUNTS'. +reputation.signedWitness.import.step3.instruction2=3.2. - Select the oldest account and click 'EXPORT SIGNED WITNESS FOR BISQ 2'. +reputation.signedWitness.import.step3.instruction3=3.3. - This will create json data with a signature of your Bisq 2 Profile ID and copy it to the clipboard. +reputation.signedWitness.import.step4.title=Step 4 +reputation.signedWitness.import.step4.instruction=Paste the json data from the previous step +reputation.signedWitness.import.step4.signedMessage=Json data from Bisq 1 + +reputation.request=Request authorization +reputation.request.success=Successfully requested authorization from Bisq 1 bridge node\n\n\ + Your reputation data should now be available in the network. +reputation.request.error=Requesting authorization failed. Text from clipboard:\n\{0} + +reputation.table.headline=Reputation ranking +reputation.table.columns.userProfile=User profile +reputation.table.columns.profileAge=Profile age +reputation.table.columns.livenessState=Last user activity +reputation.table.columns.reputationScore=Reputation score +reputation.table.columns.reputation=Reputation +reputation.table.columns.details=Details +reputation.table.columns.details.popup.headline=Reputation details +reputation.table.columns.details.button=Show details + +reputation.details.table.columns.source=Type +reputation.details.table.columns.lockTime=Lock time +reputation.details.table.columns.score=Score + +reputation.reputationScore.headline=Reputation score +reputation.reputationScore.intro=In this section Bisq reputation is explained so that you can make informed decisions when taking an offer. +reputation.reputationScore.sellerReputation=The reputation of a seller is the best signal\n\ + to predict the likelihood of a successful trade in Bisq Easy. +reputation.reputationScore.explanation.intro=Reputation at Bisq2 is captured in three elements: +reputation.reputationScore.explanation.score.title=Score +reputation.reputationScore.explanation.score.description=This is the total score a seller has built up so far.\n\ + The score can be increased in several ways. The best way to do so is by burning or bonding BSQ. \ + This means the seller has put a stake upfront and, as a result, can be regarded as trustworthy.\n\ + Further reading on how to increase the score can be found in 'Build reputation' section.\n\ + It is recommended to trade with sellers who have the highest score. +reputation.reputationScore.explanation.ranking.title=Ranking +reputation.reputationScore.explanation.ranking.description=Ranks users from highest to lowest score.\n\ + As a rule of thumb when trading: the higher the rank, the better likelihood of a successful trade. +reputation.reputationScore.explanation.stars.title=Stars +reputation.reputationScore.explanation.stars.description=This is a graphical representation of the score. See the conversion table below for how stars are calculated.\n\ + It is recommended to trade with sellers who have the highest number of stars. +reputation.reputationScore.closing=For more details on how a seller has built their reputation, see 'Ranking' section and click 'Show details' in the user. + + +################################################################################ +# Bonded roles +################################################################################ + +user.bondedRoles.headline.roles=Bonded roles +user.bondedRoles.headline.nodes=Network nodes + + +################################################################################ +# Bonded Role Types +################################################################################ + +user.bondedRoles.type.MEDIATOR=Mediator +# suppress inspection "UnusedProperty" +user.bondedRoles.type.ARBITRATOR=Arbitrator +user.bondedRoles.type.MODERATOR=Moderator +user.bondedRoles.type.SECURITY_MANAGER=Security manager +user.bondedRoles.type.RELEASE_MANAGER=Release manager + +user.bondedRoles.type.ORACLE_NODE=Oracle node +user.bondedRoles.type.SEED_NODE=Seed node +user.bondedRoles.type.EXPLORER_NODE=Explorer node +user.bondedRoles.type.MARKET_PRICE_NODE=Market price node + + +################################################################################ +# Bonded roles about +################################################################################ + +# suppress inspection "UnusedProperty" +user.bondedRoles.type.MEDIATOR.about.inline=mediator +# suppress inspection "UnusedProperty" +user.bondedRoles.type.ARBITRATOR.about.inline=arbitrator +# suppress inspection "UnusedProperty" +user.bondedRoles.type.MODERATOR.about.inline=moderator +# suppress inspection "UnusedProperty" +user.bondedRoles.type.SECURITY_MANAGER.about.inline=security manager +# suppress inspection "UnusedProperty" +user.bondedRoles.type.RELEASE_MANAGER.about.inline=release manager + +# suppress inspection "UnusedProperty" +user.bondedRoles.type.ORACLE_NODE.about.inline=oracle node operator +# suppress inspection "UnusedProperty" +user.bondedRoles.type.SEED_NODE.about.inline=seed node operator +# suppress inspection "UnusedProperty" +user.bondedRoles.type.EXPLORER_NODE.about.inline=explorer node operator +# suppress inspection "UnusedProperty" +user.bondedRoles.type.MARKET_PRICE_NODE.about.inline=market price node operator + +user.bondedRoles.registration.hideInfo=Hide instructions +user.bondedRoles.registration.showInfo=Show instructions + +user.bondedRoles.registration.about.headline=About the {0} role + +# suppress inspection "UnusedProperty" +user.bondedRoles.type.MEDIATOR.about.info=If there are conflicts in a Bisq Easy trade the traders can request help from a mediator.\n\ + The mediator has no enforcement power and can only try to assist in finding a cooperative resolution. In case of clear violations \ + of the trade rules or scam attempts the mediator can provide information to the moderator to ban the bad actor from the network.\n\ + Mediators and arbitrators from Bisq 1 can become Bisq 2 mediators without locking up a new BSQ bond. +# suppress inspection "UnusedProperty" +user.bondedRoles.type.MODERATOR.about.info=Chat users can report violations of the chat or trade rules to the moderator.\n\ + In case the provided information is sufficient to verify a rule violation the moderator can ban that user from the network.\n\ + In case of severe violations of a seller who had earned some sort of reputation, the reputation becomes invalidated and the relevant source data \ + (like the DAO transaction or account age data) will be blacklisted in Bisq 2 and reported back to Bisq 1 by the oracle \ + operator and the user will get banned at Bisq 1 as well. +# suppress inspection "UnusedProperty" +user.bondedRoles.type.SECURITY_MANAGER.about.info=A security manager can send an alert message in case of emergency situations. +# suppress inspection "UnusedProperty" +user.bondedRoles.type.RELEASE_MANAGER.about.info=A release manager can send notifications when a new release is available. + +# suppress inspection "UnusedProperty" +user.bondedRoles.type.SEED_NODE.about.info=A seed node provides network addresses of network participants for bootstrapping to the Bisq 2 P2P network.\n\ + This is essential at the very fist start as at that moment the new user has no persisted data yet for connecting to other peers.\n\ + It also provides P2P network data like chat messages to the freshly connecting user. \ + That data delivery service is also performed by any other network node, though as seed nodes have 24/7 availability and a high level of quality of \ + service they provide more stability and better performance, thus leading to a better bootstrap experience.\n\ + Seed node operators from Bisq 1 can become Bisq 2 seed node operators without locking up a new BSQ bond. +# suppress inspection "UnusedProperty" +user.bondedRoles.type.ORACLE_NODE.about.info=The oracle node is used to provide Bisq 1 and DAO data for Bisq 2 use cases like reputation. +# suppress inspection "UnusedProperty" +user.bondedRoles.type.EXPLORER_NODE.about.info=The blockchain explorer node is used in Bisq Easy for transaction lookup of the Bitcoin transaction. +# suppress inspection "UnusedProperty" +user.bondedRoles.type.MARKET_PRICE_NODE.about.info=The market price node provides market data from the Bisq market price aggregator. + + +################################################################################ +# Bonded roles how +################################################################################ + +# suppress inspection "UnusedProperty" +user.bondedRoles.type.MEDIATOR.how.inline=a mediator +# suppress inspection "UnusedProperty" +user.bondedRoles.type.ARBITRATOR.how.inline=a arbitrator +# suppress inspection "UnusedProperty" +user.bondedRoles.type.MODERATOR.how.inline=a moderator +# suppress inspection "UnusedProperty" +user.bondedRoles.type.SECURITY_MANAGER.how.inline=a security manager +# suppress inspection "UnusedProperty" +user.bondedRoles.type.RELEASE_MANAGER.how.inline=a release manager + +# suppress inspection "UnusedProperty" +user.bondedRoles.type.SEED_NODE.how.inline=a seed node operator +# suppress inspection "UnusedProperty" +user.bondedRoles.type.ORACLE_NODE.how.inline=an oracle node operator +# suppress inspection "UnusedProperty" +user.bondedRoles.type.EXPLORER_NODE.how.inline=an explorer node operator +# suppress inspection "UnusedProperty" +user.bondedRoles.type.MARKET_PRICE_NODE.how.inline=a market price node operator + +user.bondedRoles.registration.how.headline=How to become {0}? + +user.bondedRoles.registration.how.info=\ + 1. Select the user profile you want to use for registration and create a backup of your data directory.\n\ + 3. Make a proposal at 'https://github.com/bisq-network/proposals' to become {0} and add your profile ID to the proposal.\n\ + 4. After your proposal got reviewed and got support from the community, make a DAO proposal for a bonded role.\n\ + 5. After your DAO proposal got accepted in DAO voting lock up the required BSQ bond.\n\ + 6. After your bond transaction is confirmed go to 'DAO/Bonding/Bonded roles' in Bisq 1 and click on the sign button to open the signing popup window.\n\ + 7. Copy the profile ID and paste it into the message field. Click sign and copy the signature. Paste the signature to the Bisq 2 signature field.\n\ + 8. Enter the bondholder username.\n\ + {1} + +user.bondedRoles.registration.how.info.role=\ + 9. Click the 'Request registration' button. If all was correct your registration becomes visible in the Registered bonded roles table. + +user.bondedRoles.registration.how.info.node=\ + 9. Copy the 'default_node_address.json' file from the data directory of the node you want to register to your hard drive and open it with the 'Import node address' button.\n\ + 10. Click the 'Request registration' button. If all was correct your registration becomes visible in the Registered network nodes table. + + +################################################################################ +# Bonded roles registration +################################################################################ + +user.bondedRoles.registration.headline=Request registration + +user.bondedRoles.registration.profileId=Profile ID +user.bondedRoles.registration.bondHolderName=Username of bond holder +user.bondedRoles.registration.bondHolderName.prompt=Enter the username of the Bisq 1 bond holder +user.bondedRoles.registration.signature=Signature +user.bondedRoles.registration.signature.prompt=Paste the signature from you bonded role +user.bondedRoles.registration.requestRegistration=Request registration +user.bondedRoles.registration.success=Registration request was successfully sent. You will see in the table below if the registration was successfully verified and published by the oracle node. +user.bondedRoles.registration.failed=Sending the registration request failed.\n\n\{0} +user.bondedRoles.registration.node.addressInfo=Node address data +user.bondedRoles.registration.node.addressInfo.prompt=Import the 'default_node_address.json' file from the node data directory. +user.bondedRoles.registration.node.importAddress=Import node address +user.bondedRoles.registration.node.pubKey=Public key +user.bondedRoles.registration.node.privKey=Private key +user.bondedRoles.registration.node.showKeyPair=Show key pair + +################################################################################ +# Bonded roles cancellation +################################################################################ + +user.bondedRoles.cancellation.requestCancellation=Request cancellation +user.bondedRoles.cancellation.success=Cancellation request was successfully sent. You will see in the table below if the cancellation request was successfully verified and the role removed by the oracle node. +user.bondedRoles.cancellation.failed=Sending the cancellation request failed.\n\n\{0} + + +################################################################################ +# Registered bonded roles table +################################################################################ + +user.bondedRoles.table.headline.nodes=Registered network nodes +user.bondedRoles.table.headline.roles=Registered bonded roles + +user.bondedRoles.table.columns.isBanned=Is banned +user.bondedRoles.table.columns.userProfile=User profile +user.bondedRoles.table.columns.userProfile.defaultNode=Node operator with statically provided key +user.bondedRoles.table.columns.profileId=Profile ID +user.bondedRoles.table.columns.signature=Signature +# Commented out in code ATM in RolesView +# suppress inspection "UnusedProperty" +user.bondedRoles.table.columns.oracleNode=Oracle node +user.bondedRoles.table.columns.bondUserName=Bond username + +user.bondedRoles.table.columns.role=Role + +user.bondedRoles.table.columns.node=Node +user.bondedRoles.table.columns.node.address=Address +user.bondedRoles.table.columns.node.address.openPopup=Open address data popup +user.bondedRoles.table.columns.node.address.popup.headline=Node address data + + +################################################################################ +# Bonded roles verification +################################################################################ + +user.bondedRoles.verification.howTo.roles=How to verify a bonded role? +user.bondedRoles.verification.howTo.nodes=How to verify a network node? +user.bondedRoles.verification.howTo.instruction=\ + 1. Open Bisq 1 and go to 'DAO/Bonding/Bonded roles' and select the role by the bond-username and the role type.\n\ + 2. Click on the verify button, copy the profile ID and paste it into the message field.\n\ + 3. Copy the signature and paste it into the signature field in Bisq 1.\n\ + 4. Click the verify button. If the signature check succeeds, the bonded role is valid. + + + + diff --git a/pocs/android_only_m2_j17jars/app/src/main/resources/reputation_cs.properties b/pocs/android_only_m2_j17jars/app/src/main/resources/reputation_cs.properties new file mode 100644 index 00000000..3176bb57 --- /dev/null +++ b/pocs/android_only_m2_j17jars/app/src/main/resources/reputation_cs.properties @@ -0,0 +1,319 @@ +################################################################################ +# Reputation +################################################################################ + +reputation=Reputace + +reputation.headline=Jak získat reputaci +reputation.info=Pro prodejce Bitcoinů je důležité poskytnout kupujícímu reputaci, protože kupující pošle fiat měnu jako první a potřebuje důvod, proč by měl důvěřovat prodejci. Výchozí hodnota minimální požadované reputace je 30 000 (lze změnit v „Nastavení/Předvolby“).\nZískávání reputace je určeno pro zkušené uživatele Bisq, kteří jsou se systémem Bisq obeznámeni.\n\nExistuje několik možností, jak získat reputaci:\n\n1. Spálení BSQ\n2. Založení BSQ záruky\n3. Importování podepsaného svědectví o stáří účtu z účtu Bisq 1\n4. Importování stáří účtu z účtu Bisq 1 + +# suppress inspection "UnusedProperty" +reputation.source.BURNED_BSQ=Spálené BSQ +# suppress inspection "UnusedProperty" +reputation.source.BSQ_BOND=Vložené BSQ +# suppress inspection "UnusedProperty" +reputation.source.PROFILE_AGE=Stáří profilu +# suppress inspection "UnusedProperty" +reputation.source.BISQ1_ACCOUNT_AGE=Stáří účtu +# suppress inspection "UnusedProperty" +reputation.source.BISQ1_SIGNED_ACCOUNT_AGE_WITNESS=Podepsaný svědek + +reputation.pubKeyHash=ID profilu +reputation.weight=Váha +reputation.score=Skóre +reputation.totalScore=Celkové skóre +reputation.ranking=Žebříček +reputation.score.formulaHeadline=Skóre reputace se vypočítá následovně: +reputation.score.tooltip=Hodnocení: {0}\nHodnocení: {1} + +reputation.burnBsq=Spálení BSQ +reputation.burnedBsq.tab1=Proč +reputation.burnedBsq.tab2=Skóre +reputation.burnedBsq.tab3=Jak na to +reputation.burnedBsq.infoHeadline=Závazek v hře +reputation.burnedBsq.info=Spálením BSQ poskytujete důkaz, že jste investovali peníze do své reputace.\nTransakce spálení BSQ obsahuje hash veřejného klíče vašeho profilu. V případě škodlivého chování může váš profil být zablokován arbitry a vaše investice do reputace by se stala bezcennou. +reputation.burnedBsq.infoHeadline2=Jaké je doporučené množství k spálení? +reputation.burnedBsq.info2=To bude určeno konkurencí prodejců. Prodejci s nejvyšším skóre reputace budou mít lepší obchodní příležitosti a mohou získat vyšší prémie na cenu. Nejlepší nabídky podle reputace budou v nabídce výběru nabídek ve "Průvodci obchodem".\n\nKupující mohou přijímat nabídky pouze od prodejců s reputačním skóre alespoň 30 000. Toto je výchozí hodnota a může být změněno v preferencích.\n\nPokud je spálení BSQ nežádoucí, zvažte ostatní dostupné možnosti pro budování reputace. +reputation.burnedBsq.score.headline=Vliv na skóre reputace + +# Dynamically generated in BurnBsqTab2View +# suppress inspection "UnusedProperty" + +reputation.sim.headline=Simulační nástroj: +reputation.sim.burnAmount=Částka BSQ +# Dynamically generated in BondScoreSimulation +# suppress inspection "UnusedProperty" +reputation.sim.burnAmount.prompt=Zadejte částku BSQ +# suppress inspection "UnusedProperty" +reputation.sim.lockTime=Doba uzamčení v blocích +# Dynamically generated in BondScoreSimulation +# suppress inspection "UnusedProperty" +reputation.sim.lockTime.prompt=Zadejte dobu uzamčení +reputation.sim.age=Stáří v dnech +# Dynamically generated in BondScoreSimulation +# suppress inspection "UnusedProperty" +reputation.sim.age.prompt=Zadejte stáří v dnech +reputation.sim.score=Celkové skóre + +reputation.burnedBsq.howToHeadline=Postup pro spálení BSQ +reputation.burnedBsq.howTo=1. Vyberte uživatelský profil, pro který chcete připojit reputaci.\n2. Zkopírujte 'ID profilu'\n3. Otevřete Bisq 1 a přejděte na 'DAO/PROOF OF BURN' a vložte zkopírovanou hodnotu do pole 'pre-image'.\n4. Zadejte částku BSQ, kterou chcete spálit.\n5. Publikujte transakci Burn BSQ.\n6. Po potvrzení blockchainem bude vaše reputace viditelná v profilu. + +reputation.bond=BSQ vklady +reputation.bond.tab1=Proč +reputation.bond.tab2=Skóre +reputation.bond.tab3=Jak na to +reputation.bond.infoHeadline=Závazek v hře +reputation.bond.info=Nastavením BSQ vkladu poskytujete důkaz, že jste peníze uzamkli pro získání reputace.\nTransakce BSQ vkladu obsahuje hash veřejného klíče vašeho profilu. V případě škodlivého chování může váš vklad být zkonfiskován DAO a váš profil může být zablokován arbitry. +reputation.bond.infoHeadline2=Jaká je doporučená částka a doba uzamčení? +reputation.bond.info2=Doba uzamčení musí být nejméně 50 000 bloků, což je přibližně 1 rok, aby byl vklad považován za platný. Částka může být vybrána uživatelem a bude určovat pořadí vůči ostatním prodejcům. Prodejci s nejvyšším skóre reputace budou mít lepší obchodní příležitosti a mohou získat vyšší prémii na cenu. Nejlepší nabídky podle reputace budou v nabídce výběru nabídek ve "Průvodci obchodem".\n\nKupující mohou přijímat nabídky pouze od prodejců s reputačním skóre alespoň 30 000. Toto je výchozí hodnota a může být změněno v preferencích.\n\nPokud je vytvoření BSQ vkladu příliš složité, zvažte další dostupné možnosti pro budování reputace. +reputation.bond.score.headline=Vliv na skóre reputace +# Dynamically generated in BondedReputationTab2View +# suppress inspection "UnusedProperty" + +reputation.bond.howToHeadline=Postup pro nastavení BSQ vkladu +reputation.bond.howTo=1. Vyberte uživatelský profil, ke kterému chcete připojit reputaci.\n2. Zkopírujte 'ID profilu'\n3. Otevřete Bisq 1 a přejděte na 'DAO/BONDING/BONDED REPUTATION' a vložte zkopírovanou hodnotu do pole 'salt'.\n4. Zadejte částku BSQ, kterou chcete uzamknout, a dobu uzamčení (50 000 bloků).\n5. Publikujte transakci uzamčení.\n6. Po potvrzení blockchainem bude vaše reputace viditelná v profilu. + +reputation.accountAge=Stáří účtu +reputation.accountAge.tab1=Proč +reputation.accountAge.tab2=Skóre +reputation.accountAge.tab3=Importovat +reputation.accountAge.infoHeadline=Poskytnutí důvěry +reputation.accountAge.info=Připojením vašeho stáří účtu v Bisq 1 můžete poskytnout určitou úroveň důvěry.\n\nExistují určitá očekávání, že uživatel, který použil Bisq nějakou dobu, je poctivý uživatel. Ale toto očekávání je slabé ve srovnání s jinými formami reputace, kde uživatel poskytuje silnější důkazy s použitím nějakých finančních prostředků. +reputation.accountAge.infoHeadline2=Důsledky ohledně soukromí +reputation.accountAge.info2=Připojením vašeho účtu v Bisq 1 k Bisq 2 má to nějaké dopady na vaše soukromí. Při ověřování vašeho 'stáří účtu' je vaše identita v Bisq 1 kryptograficky propojena s vaším ID profilu v Bisq 2.\nExponování je však omezeno na 'Bisq 1 bridge node', který provozuje přispěvatel Bisq, který nastavil BSQ vklad (bonded role).\n\nStáří účtu je alternativou pro ty, kteří nechtějí používat spálené BSQ nebo BSQ vklady kvůli finančním nákladům. 'Stáří účtu' by mělo být alespoň několik měsíců staré, aby odráželo určitou úroveň důvěry. +reputation.accountAge.score.headline=Vliv na skóre reputace +reputation.accountAge.score.info=Import 'stáří účtu' je považován za poměrně slabou formu reputace, která je reprezentována nízkým faktorem váhy.\nPro výpočet skóre je stanovena horní hranice 2000 dnů. +# Dynamically generated in AccountAgeTab2View +# suppress inspection "UnusedProperty" +reputation.accountAge.totalScore=Stáří účtu v dnech * váha + +reputation.accountAge.import.step1.title=Krok 1 +reputation.accountAge.import.step1.instruction=Vyberte uživatelský profil, ke kterému chcete připojit reputaci. +reputation.accountAge.import.step2.title=Krok 2 +reputation.accountAge.import.step2.instruction=Zkopírujte identifikátor profilu, který chcete vložit do Bisq 1. +reputation.accountAge.import.step2.profileId=Identifikátor profilu (Vložte na obrazovku účtu v Bisq 1) +reputation.accountAge.import.step3.title=Krok 3 +reputation.accountAge.import.step3.instruction1=3.1. - Otevřete Bisq 1 a jděte na 'ÚČET/NÁRODNÍ MĚNOVÉ ÚČTY'. +reputation.accountAge.import.step3.instruction2=3.2. - Vyberte nejstarší účet a klikněte na 'EXPORTOVAT ÚČET'. +reputation.accountAge.import.step3.instruction3=3.3. - Tím se přidá podepsaná zpráva s identifikátorem profilu Bisq 2. +reputation.accountAge.import.step4.title=Krok 4 +reputation.accountAge.import.step4.instruction=Vložte podpis z Bisq 1 +reputation.accountAge.import.step4.signedMessage=Podepsaná zpráva z Bisq 1 + +reputation.signedWitness=Podpis svědka stáří účtu +reputation.signedWitness.tab1=Proč +reputation.signedWitness.tab2=Skóre +reputation.signedWitness.tab3=Jak na to +reputation.signedWitness.infoHeadline=Poskytnutí důvěry +reputation.signedWitness.info=Připojením vašeho 'podpisu svědka stáří účtu' z Bisq 1 můžete poskytnout určitou úroveň důvěry.\n\nExistují určitá očekávání, že uživatel, který obchodoval na Bisq 1 před nějakým časem a dostal podepsaný svůj účet, je poctivý uživatel. Ale toto očekávání je slabé ve srovnání s jinými formami reputace, kde uživatel poskytuje více "peněz v hře" s použitím finančních prostředků. +reputation.signedWitness.infoHeadline2=Důsledky ohledně soukromí +reputation.signedWitness.info2=Připojením vašeho účtu v Bisq 1 k Bisq 2 má to nějaké dopady na vaše soukromí. Pro ověření vašeho 'podpisu svědka stáří účtu' je vaše identita v Bisq 1 kryptograficky propojena s vaším ID profilu v Bisq 2.\nExponování je však omezeno na 'Bisq 1 bridge node', který provozuje přispěvatel Bisq, který nastavil BSQ vklad (bonded role).\n\nPodpis svědka stáří účtu je alternativou pro ty, kteří nechtějí používat spálené BSQ nebo BSQ vklady kvůli finančním zátěžím. 'Podpis svědka stáří účtu' musí být alespoň 61 dní starý, aby byl zvážen pro reputaci. +reputation.signedWitness.score.headline=Vliv na skóre reputace +reputation.signedWitness.score.info=Import 'podpisu svědka stáří účtu' je považován za slabou formu reputace, která je reprezentována faktorem váhy. 'Podpis svědka stáří účtu' musí být alespoň 61 dní starý a existuje horní hranice 2000 dnů pro výpočet skóre. +# Dynamically generated in SignedWitnessTab2View +# suppress inspection "UnusedProperty" +reputation.signedWitness.totalScore=Stáří svědka v dnech * váha +reputation.signedWitness.import.step1.title=Krok 1 +reputation.signedWitness.import.step1.instruction=Vyberte uživatelský profil, ke kterému chcete připojit reputaci. +reputation.signedWitness.import.step2.title=Krok 2 +reputation.signedWitness.import.step2.instruction=Zkopírujte identifikátor profilu, který chcete vložit do Bisq 1. +reputation.signedWitness.import.step2.profileId=Identifikátor profilu (Vložte na obrazovku účtu v Bisq 1) +reputation.signedWitness.import.step3.title=Krok 3 +reputation.signedWitness.import.step3.instruction1=3.1. - Otevřete Bisq 1 a přejděte na 'ÚČET/NÁRODNÍ MĚNOVÉ ÚČTY'. +reputation.signedWitness.import.step3.instruction2=3.2. - Vyberte nejstarší účet a klikněte na 'EXPORTOVAT PODEPSANÉHO SVĚDKA PRO BISQ 2'. +reputation.signedWitness.import.step3.instruction3=3.3. - Tímto vytvoříte json data s podpisem vašeho Bisq 2 identifikátoru profilu a zkopírujete je do schránky. +reputation.signedWitness.import.step4.title=Krok 4 +reputation.signedWitness.import.step4.instruction=Vložte json data z předchozího kroku +reputation.signedWitness.import.step4.signedMessage=Json data z Bisq 1 + +reputation.request=Požádat o autorizaci +reputation.request.success=Úspěšně požádáno o autorizaci od Bisq 1 bridge node\n\nVaše údaje o reputaci by nyní měly být dostupné v síti. +reputation.request.error=Chyba při žádosti o autorizaci. Text ze schránky:\n\{0} + +reputation.table.headline=Hodnocení reputace +reputation.table.columns.userProfile=Uživatelský profil +reputation.table.columns.profileAge=Stáří profilu +reputation.table.columns.livenessState=Naposledy viděn +reputation.table.columns.reputationScore=Skóre reputace +reputation.table.columns.reputation=Reputace +reputation.table.columns.details=Podrobnosti +reputation.table.columns.details.popup.headline=Podrobnosti o reputaci +reputation.table.columns.details.button=Zobrazit podrobnosti + +reputation.details.table.columns.source=Typ +reputation.details.table.columns.lockTime=Doba uzamčení +reputation.details.table.columns.score=Skóre + + +################################################################################ +# Bonded roles +################################################################################ + +user.bondedRoles.headline.roles=Připojené role +user.bondedRoles.headline.nodes=Síťové uzly + + +################################################################################ +# Bonded Role Types +################################################################################ + +user.bondedRoles.type.MEDIATOR=Mediátor +# suppress inspection "UnusedProperty" +user.bondedRoles.type.ARBITRATOR=Arbitr +user.bondedRoles.type.MODERATOR=Moderátor +user.bondedRoles.type.SECURITY_MANAGER=Správce bezpečnosti +user.bondedRoles.type.RELEASE_MANAGER=Správce vydání + +user.bondedRoles.type.ORACLE_NODE=Orakulní uzel +user.bondedRoles.type.SEED_NODE=Seed uzel +user.bondedRoles.type.EXPLORER_NODE=Průzkumný uzel +user.bondedRoles.type.MARKET_PRICE_NODE=Uzel s tržními cenami + + +################################################################################ +# Bonded roles about +################################################################################ + +# suppress inspection "UnusedProperty" +user.bondedRoles.type.MEDIATOR.about.inline=mediátor +# suppress inspection "UnusedProperty" +user.bondedRoles.type.ARBITRATOR.about.inline=arbitr +# suppress inspection "UnusedProperty" +user.bondedRoles.type.MODERATOR.about.inline=moderátor +# suppress inspection "UnusedProperty" +user.bondedRoles.type.SECURITY_MANAGER.about.inline=správce bezpečnosti +# suppress inspection "UnusedProperty" +user.bondedRoles.type.RELEASE_MANAGER.about.inline=správce vydání + +# suppress inspection "UnusedProperty" +user.bondedRoles.type.ORACLE_NODE.about.inline=provozovatel orakulního uzlu +# suppress inspection "UnusedProperty" +user.bondedRoles.type.SEED_NODE.about.inline=provozovatel seed uzlu +# suppress inspection "UnusedProperty" +user.bondedRoles.type.EXPLORER_NODE.about.inline=provozovatel průzkumného uzlu +# suppress inspection "UnusedProperty" +user.bondedRoles.type.MARKET_PRICE_NODE.about.inline=provozovatel uzlu s tržními cenami + +user.bondedRoles.registration.hideInfo=Skrýt pokyny +user.bondedRoles.registration.showInfo=Zobrazit pokyny + +user.bondedRoles.registration.about.headline=O roli {0} + +# suppress inspection "UnusedProperty" +user.bondedRoles.type.MEDIATOR.about.info=Pokud v Bisq Easy obchodě vzniknou konflikty, obchodníci mohou požádat o pomoc mediátora.\nMediátor nemá žádnou vykonávací pravomoc a může pouze pokusit se najít kooperativní řešení. V případě zřejmých porušení obchodních pravidel nebo pokusů o podvod může mediátor poskytnout informace moderátorovi, aby byl špatný aktér z sítě vykázán.\nMediátoři a arbitři z Bisq 1 mohou bez zajištění nového BSQ vkladu stát se mediátory v Bisq 2. +# suppress inspection "UnusedProperty" +user.bondedRoles.type.MODERATOR.about.info=Uživatelé chatu mohou hlásit porušení pravidel chatu nebo obchodních pravidel moderátorovi.\nV případě, že poskytnuté informace jsou dostatečné k ověření porušení pravidla, může moderátor uživatele z sítě vykázat.\nV případě závažného porušení prodejce, který si vydělal určitý druh pověsti, bude pověst zneplatněna a příslušná zdrojová data (jako transakce DAO nebo data o věku účtu) budou v Bisq 2 zablokována a orákulum operátorem budou poslána zpět do Bisq 1 a uživatel bude zablokován také v Bisq 1. +# suppress inspection "UnusedProperty" +user.bondedRoles.type.SECURITY_MANAGER.about.info=Bezpečnostní manažer může v případě mimořádných událostí odeslat výstražnou zprávu. +# suppress inspection "UnusedProperty" +user.bondedRoles.type.RELEASE_MANAGER.about.info=Manažer verzí může odesílat oznámení, když je k dispozici nová verze. + +# suppress inspection "UnusedProperty" +user.bondedRoles.type.SEED_NODE.about.info=Seed node poskytuje síťové adresy účastníků sítě pro spuštění Bisq 2 P2P sítě.\nTo je zásadní na samém začátku, protože v tu chvíli nový uživatel ještě nemá žádná trvalá data pro připojení k ostatním uzlům.\nPoskytuje také síťová data P2P, jako jsou chatové zprávy, nově připojenému uživateli. Tuto službu doručování dat provádí také jakýkoli jiný síťový uzel, ale seed nody mají 24/7 dostupnost a vysokou úroveň kvality služby, což zajišťuje větší stabilitu a výkonnost a tím i lepší zkušenost s inicializací.\nOperátoři seed nodů z Bisq 1 mohou bez zajištění nového BSQ vkladu stát se operátory seed nodů v Bisq 2. +# suppress inspection "UnusedProperty" +user.bondedRoles.type.ORACLE_NODE.about.info=Oracle node slouží k poskytování dat Bisq 1 a DAO pro použití v Bisq 2, například pro reputaci. +# suppress inspection "UnusedProperty" +user.bondedRoles.type.EXPLORER_NODE.about.info=Uzel blockchain explorera se používá v Bisq Easy k vyhledávání transakcí v Bitcoin platbě. +# suppress inspection "UnusedProperty" +user.bondedRoles.type.MARKET_PRICE_NODE.about.info=Uzel tržní ceny poskytuje tržní data z agregátoru tržní ceny Bisq. + + +################################################################################ +# Bonded roles how +################################################################################ + +# suppress inspection "UnusedProperty" +user.bondedRoles.type.MEDIATOR.how.inline=jako mediátor +# suppress inspection "UnusedProperty" +user.bondedRoles.type.ARBITRATOR.how.inline=jako arbitrátor +# suppress inspection "UnusedProperty" +user.bondedRoles.type.MODERATOR.how.inline=jako moderátor +# suppress inspection "UnusedProperty" +user.bondedRoles.type.SECURITY_MANAGER.how.inline=jako správce bezpečnosti +# suppress inspection "UnusedProperty" +user.bondedRoles.type.RELEASE_MANAGER.how.inline=jako manažer verzí + +# suppress inspection "UnusedProperty" +user.bondedRoles.type.SEED_NODE.how.inline=jako operátor seed nodu +# suppress inspection "UnusedProperty" +user.bondedRoles.type.ORACLE_NODE.how.inline=jako operátor orákula +# suppress inspection "UnusedProperty" +user.bondedRoles.type.EXPLORER_NODE.how.inline=jako operátor prohlížeče blockchainu +# suppress inspection "UnusedProperty" +user.bondedRoles.type.MARKET_PRICE_NODE.how.inline=jako operátor uzlu tržní ceny + +user.bondedRoles.registration.how.headline=Jak se stát {0}? + +user.bondedRoles.registration.how.info=1. Vyberte uživatelský profil, který chcete použít pro registraci, a vytvořte zálohu svého datového adresáře.\n3. Založte návrh na 'https://github.com/bisq-network/proposals' na získání role {0} a přidejte své ID profilu do návrhu.\n4. Poté, co váš návrh byl zkontrolován a získal podporu komunity, vytvořte návrh DAO pro zajištěnou roli.\n5. Poté, co byl váš návrh DAO schválen v hlasování DAO, uzamkněte požadovaný BSQ vklad.\n6. Poté, co byla vaše transakce s vkladem potvrzena, přejděte do 'DAO/Bonding/Bonded roles' v Bisq 1 a klikněte na tlačítko pro podepsání, abyste otevřeli okno pro zadání podpisu.\n7. Zkopírujte ID profilu a vložte ho do pole pro zprávy. Klikněte na tlačítko pro podepsání a zkopírujte podpis. Vložte podpis do pole pro podpis v Bisq 2.\n8. Zadejte uživatelské jméno držitele vkladu.\n{1} + +user.bondedRoles.registration.how.info.role=9. Klikněte na tlačítko 'Požádat o registraci'. Pokud bylo vše správně, vaše registrace se stane viditelnou v tabulce Registrované zajištěné role. + +user.bondedRoles.registration.how.info.node=9. Zkopírujte soubor 'default_node_address.json' z datového adresáře uzlu, který chcete zaregistrovat, na svůj pevný disk a otevřete jej tlačítkem 'Importovat adresu uzlu'.\n10. Klikněte na tlačítko 'Požádat o registraci'. Pokud bylo vše správně, vaše registrace se stane viditelnou v tabulce Registrované síťové uzly. + + +################################################################################ +# Bonded roles registration +################################################################################ + +user.bondedRoles.registration.headline=Žádost o registraci + +user.bondedRoles.registration.profileId=ID profilu +user.bondedRoles.registration.bondHolderName=Uživatelské jméno držitele vkladu +user.bondedRoles.registration.bondHolderName.prompt=Zadejte uživatelské jméno držitele vkladu v Bisq 1 +user.bondedRoles.registration.signature=Podpis +user.bondedRoles.registration.signature.prompt=Vložte podpis ze svého záručního role +user.bondedRoles.registration.requestRegistration=Žádost o registraci +user.bondedRoles.registration.success=Žádost o registraci byla úspěšně odeslána. V tabulce níže uvidíte, zda byla registrace úspěšně ověřena a zveřejněna orákulem. +user.bondedRoles.registration.failed=Odeslání žádosti o registraci selhalo.\n\n\{0} +user.bondedRoles.registration.node.addressInfo=Data adresy uzlu +user.bondedRoles.registration.node.addressInfo.prompt=Importujte soubor 'default_node_address.json' z datového adresáře uzlu. +user.bondedRoles.registration.node.importAddress=Importovat adresu uzlu +user.bondedRoles.registration.node.pubKey=Veřejný klíč +user.bondedRoles.registration.node.privKey=Soukromý klíč +user.bondedRoles.registration.node.showKeyPair=Zobrazit klíčový pár + +################################################################################ +# Bonded roles cancellation +################################################################################ + +user.bondedRoles.cancellation.requestCancellation=Žádost o zrušení +user.bondedRoles.cancellation.success=Žádost o zrušení byla úspěšně odeslána. V tabulce níže uvidíte, zda byla žádost o zrušení úspěšně ověřena a role odstraněna orákulem. +user.bondedRoles.cancellation.failed=Odeslání žádosti o zrušení selhalo.\n\n\{0} + + +################################################################################ +# Registered bonded roles table +################################################################################ + +user.bondedRoles.table.headline.nodes=Registrovaní síťoví uzlové operátoři +user.bondedRoles.table.headline.roles=Registrované záruční role + +user.bondedRoles.table.columns.isBanned=Je zabanován +user.bondedRoles.table.columns.userProfile=Uživatelský profil +user.bondedRoles.table.columns.userProfile.defaultNode=Operátor uzlu se staticky poskytovaným klíčem +user.bondedRoles.table.columns.profileId=Identifikátor profilu +user.bondedRoles.table.columns.signature=Podpis +# Commented out in code ATM in RolesView +# suppress inspection "UnusedProperty" +user.bondedRoles.table.columns.oracleNode=Orakulní uzel +user.bondedRoles.table.columns.bondUserName=Uživatelské jméno záručníka + +user.bondedRoles.table.columns.role=Role + +user.bondedRoles.table.columns.node=Uzel +user.bondedRoles.table.columns.node.address=Adresa +user.bondedRoles.table.columns.node.address.openPopup=Otevřít vyskakovací okno s daty adresy +user.bondedRoles.table.columns.node.address.popup.headline=Data adresy uzlu + + +################################################################################ +# Bonded roles verification +################################################################################ + +user.bondedRoles.verification.howTo.roles=Jak ověřit záruční roli? +user.bondedRoles.verification.howTo.nodes=Jak ověřit síťový uzel? +user.bondedRoles.verification.howTo.instruction=1. Otevřete Bisq 1 a přejděte na 'DAO/Bonding/Bonded roles' a vyberte roli podle uživatelského jména záručníka a typu role.\n2. Klikněte na tlačítko Ověřit, zkopírujte identifikátor profilu a vložte jej do pole pro zprávu.\n3. Zkopírujte podpis a vložte jej do pole pro podpis v Bisq 1.\n4. Klikněte na tlačítko Ověřit. Pokud ověření podpisu proběhne úspěšně, záruční role je platná. + + + + diff --git a/pocs/android_only_m2_j17jars/app/src/main/resources/reputation_de.properties b/pocs/android_only_m2_j17jars/app/src/main/resources/reputation_de.properties new file mode 100644 index 00000000..c5408cf5 --- /dev/null +++ b/pocs/android_only_m2_j17jars/app/src/main/resources/reputation_de.properties @@ -0,0 +1,326 @@ +################################################################################ +# Reputation +################################################################################ + +reputation=Reputation + +reputation.headline=Wie man Reputation aufbaut +reputation.info=Für Bitcoin-Verkäufer ist es wichtig, Reputation aufzubauen, da der Käufer den Fiat-Betrag zuerst sendet und einen Grund braucht, warum er dem Verkäufer vertrauen sollte. \ + Der Standardwert für den minimal erforderlichen Reputationsscore beträgt 30 000 (kann in 'Einstellungen/ANGEBOT UND HANDEL' geändert werden).\n\ + Der Aufbau von Reputation ist für erfahrene Bisq-Nutzer gedacht, die mit Bisq vertraut sind.\n\n\ + Es gibt mehrere Möglichkeiten, Reputation aufzubauen:\n\n\ + 1. BSQ entwerten\n\ + 2. Ein BSQ-Pfand einrichten\n\ + 3. Importieren des signierten Account-Alter-Zeugen aus einem Bisq 1 Konto\n\ + 4. Importieren des Account-Alters aus einem Bisq 1 Konto + +# suppress inspection "UnusedProperty" +reputation.source.BURNED_BSQ=Entwertetes BSQ +# suppress inspection "UnusedProperty" +reputation.source.BSQ_BOND=Hinterlegter BSQ-Bond +# suppress inspection "UnusedProperty" +reputation.source.PROFILE_AGE=Profilalter +# suppress inspection "UnusedProperty" +reputation.source.BISQ1_ACCOUNT_AGE=Alter des Kontos +# suppress inspection "UnusedProperty" +reputation.source.BISQ1_SIGNED_ACCOUNT_AGE_WITNESS=Signierter Zeuge + +reputation.pubKeyHash=Profil-ID +reputation.weight=Gewichtung +reputation.score=Punktzahl +reputation.totalScore=Gesamtpunktzahl +reputation.ranking=Rangfolge +reputation.score.formulaHeadline=Die Reputation wird wie folgt berechnet: +reputation.score.tooltip=Punktzahl: {0}\nRang: {1} + +reputation.burnBsq=BSQ entwerten +reputation.burnedBsq.tab1=Warum +reputation.burnedBsq.tab2=Punktzahl +reputation.burnedBsq.tab3=Wie +reputation.burnedBsq.infoHeadline=Finanzieller Einsatz +reputation.burnedBsq.info=Indem du BSQ entwertest, zeigst du damit, dass du Geld in deine Reputation investiert hast.\nDie BSQ-Entwertungstransaktion enthält den Hash des öffentlichen Schlüssels deines Profils. Bei bösartigem Verhalten könnte dein Profil von Mediatoren gesperrt werden, wodurch deine Investition in deine Reputation wertlos würde. +reputation.burnedBsq.infoHeadline2=Empfohlene Menge für die Entwertung? +reputation.burnedBsq.info2=Das wird durch die Konkurrenz der Verkäufer bestimmt. Verkäufer mit der höchsten Reputation haben bessere Handelsmöglichkeiten und können einen höheren Preis erzielen. Die Top 3 Angebote nach Reputation werden im Bildschirm 'Bitcoin kaufen' beworben.\n\nMengen unter 20 BSQ bieten möglicherweise nicht das erforderliche Mindestmaß an Sicherheit, um das Vertrauen eines Käufers aufzubauen (abhängig vom Markt und den gehandelten Mengen).\n\nWenn das Entwerten von BSQ unerwünscht ist, erwäge die anderen verfügbaren Optionen zum Aufbau der Reputation. +reputation.burnedBsq.score.headline=Auswirkungen auf die Reputation + +# Dynamically generated in BurnBsqTab2View +# suppress inspection "UnusedProperty" + +reputation.sim.headline=Simulationswerkzeug: +reputation.sim.burnAmount=BSQ-Menge +# Dynamically generated in BondScoreSimulation +# suppress inspection "UnusedProperty" +reputation.sim.burnAmount.prompt=Geben Sie die BSQ-Menge ein +# suppress inspection "UnusedProperty" +reputation.sim.lockTime=Sperrzeit in Blöcken +# Dynamically generated in BondScoreSimulation +# suppress inspection "UnusedProperty" +reputation.sim.lockTime.prompt=Geben Sie die Sperrzeit ein +reputation.sim.age=Alter in Tagen +# Dynamically generated in BondScoreSimulation +# suppress inspection "UnusedProperty" +reputation.sim.age.prompt=Geben Sie das Alter ein +reputation.sim.score=Gesamtpunktzahl + +reputation.burnedBsq.howToHeadline=Ablauf für das Entwerten von BSQ +reputation.burnedBsq.howTo=1. Wähle das Benutzerprofil aus, für das du die Reputation anhängen möchtest.\n2. Kopiere die 'Profil-ID'\n3. Öffne Bisq 1 und gehe zu 'DAO/NACHWEIS DER ENTWERTUNG' und füge den kopierten Wert in das Feld 'Vorabbild' ein.\n4. Gib die Menge an BSQ ein, die du entwerten möchtest.\n5. Veröffentliche die Burn-BSQ-Transaktion.\n6. Nach der Bestätigung durch die Blockchain wird deine Reputation in deinem Profil sichtbar. + +reputation.bond=BSQ-Bonds +reputation.bond.tab1=Warum +reputation.bond.tab2=Punktzahl +reputation.bond.tab3=Wie +reputation.bond.infoHeadline=Finanzielle Bindung +reputation.bond.info=Indem du einen BSQ-Bond einrichtest, signalisierst du, dass du Geld für den Aufbau von Reputation gebunden hast.\nDie BSQ-Bond-Transaktion enthält den Hash des öffentlichen Schlüssels deines Profils. Bei bösartigem Verhalten könnte dein Bond von der DAO konfisziert werden und dein Profil von Mediatoren gesperrt werden. +reputation.bond.infoHeadline2=Was ist die empfohlene Menge und Sperrzeit? +reputation.bond.info2=Die Sperrzeit muss mindestens 50 000 Blöcke betragen, was etwa einem Jahr entspricht, um als gültiger Bond betrachtet zu werden. Die Menge kann vom Benutzer gewählt werden und bestimmt zusammen mit der Sperrzeit das Ranking gegenüber anderen Verkäufern. Verkäufer mit der höchsten Reputation haben bessere Handelsmöglichkeiten und können einen höheren Preis erzielen. Die Top 3 Angebote nach Reputation werden im Bildschirm 'Bitcoin kaufen' beworben.\n\nMengen unter 1000 BSQ bieten möglicherweise nicht das erforderliche Mindestmaß an Sicherheit, um das Vertrauen eines Käufers aufzubauen (abhängig vom Markt und den gehandelten Mengen).\n\nWenn ein BSQ-Bond zu umständlich ist, erwäge die anderen verfügbaren Optionen zum Aufbau der Reputation. +reputation.bond.score.headline=Auswirkungen auf die Reputation +# Dynamically generated in BondedReputationTab2View +# suppress inspection "UnusedProperty" + +reputation.bond.howToHeadline=Ablauf für die Einrichtung eines BSQ-Bonds +reputation.bond.howTo=1. Wähle das Benutzerprofil aus, für das du die Reputation anhängen möchtest.\n2. Kopiere die 'Profil-ID'\n3. Öffne Bisq 1 und gehe zu 'DAO/KOPPLUNG/GEKOPPELTES ANSEHEN' und füge den kopierten Wert in das Feld 'Salt' ein.\n4. Gib die Menge an BSQ ein, die du sperren möchtest, und die Sperrzeit (min. 50 000 Blöcke) an.\n5. Veröffentliche die Sperrtransaktion.\n6. Nach der Bestätigung durch die Blockchain wird deine Reputation in deinem Profil sichtbar. + +reputation.accountAge=Alter des Kontos +reputation.accountAge.tab1=Warum +reputation.accountAge.tab2=Punktzahl +reputation.accountAge.tab3=Import +reputation.accountAge.infoHeadline=Vertrauen aufbauen +reputation.accountAge.info=Indem du das Alter deines Bisq-1-Kontos verknüpfst, kannst du ein gewisses Maß an Vertrauen aufbauen.\n\nEs ist zu erwarten, dass ein Benutzer, der Bisq seit einiger Zeit verwendet hat, ein vertrauenswürdiger Benutzer ist. Aber diese Erwartung ist im Vergleich zu anderen Formen der Reputation, bei denen der Benutzer stärkere Beweise mit der Verwendung einiger finanzieller Ressourcen liefert, schwach. +reputation.accountAge.infoHeadline2=Privatsphäre-Auswirkungen +reputation.accountAge.info2=Das Verknüpfen deines Bisq-1-Kontos mit Bisq 2 hat einige Auswirkungen auf deine Privatsphäre. Um das Alter deines Kontos zu überprüfen, wird deine Bisq-1-Identität kryptografisch mit deiner Bisq-2-Profil-ID verknüpft.\nDie Exposition ist jedoch auf den 'Bisq-1-Bridge-Knoten' beschränkt, der von einem Bisq-Mitwirkenden betrieben wird, der einen BSQ-Bond hinterlegt hat.\n\nDas Alter eines Kontos ist eine Alternative für diejenigen, die wegen der finanziellen Kosten kein entwertetes BSQ oder BSQ-Bonds verwenden möchten. Das Konto sollte mindestens mehrere Monate alt sein, um ein gewisses Maß an Vertrauen widerzuspiegeln. +reputation.accountAge.score.headline=Auswirkungen auf die Reputation +reputation.accountAge.score.info=Das Importieren des Alters eines Kontos wird als eher schwache Form der Reputation betrachtet, die durch den niedrigen Gewichtungsfaktor repräsentiert wird. Es gibt eine Obergrenze von 2000 Tagen für die Punkteberechnung. +# Dynamically generated in AccountAgeTab2View +# suppress inspection "UnusedProperty" +reputation.accountAge.totalScore=Alter des Kontos in Tagen * Gewichtungsfaktor + +reputation.accountAge.import.step1.title=Schritt 1 +reputation.accountAge.import.step1.instruction=Wähle das Benutzerprofil aus, dem du die Reputation vergeben möchtest. +reputation.accountAge.import.step2.title=Schritt 2 +reputation.accountAge.import.step2.instruction=Kopiere die Profil-ID, um sie in Bisq 1 einzufügen. +reputation.accountAge.import.step2.profileId=Profil-ID (Einfügen auf dem Konto-Screen in Bisq 1) +reputation.accountAge.import.step3.title=Schritt 3 +reputation.accountAge.import.step3.instruction1=3.1. - Öffne Bisq 1 und gehe zu 'KONTO/NATIONALE WÄHRUNGSKONTEN'. +reputation.accountAge.import.step3.instruction2=3.2. - Wähle das älteste Konto aus und klicke auf 'ALTER DES KONTOS FÜR BISQ 2 EXPORTIEREN'. +reputation.accountAge.import.step3.instruction3=3.3. - Dies fügt eine signierte Nachricht mit der Profil-ID von Bisq 2 hinzu. +reputation.accountAge.import.step4.title=Schritt 4 +reputation.accountAge.import.step4.instruction=Füge die Signatur aus Bisq 1 ein +reputation.accountAge.import.step4.signedMessage=Signierte Nachricht von Bisq 1 + +reputation.signedWitness=Signiertes Alter des Kontos +reputation.signedWitness.tab1=Warum +reputation.signedWitness.tab2=Wertung +reputation.signedWitness.tab3=Anleitung +reputation.signedWitness.infoHeadline=Vertrauen schaffen +reputation.signedWitness.info=Indem du dein signiertes Alter eines Kontos aus Bisq 1 verlinkst, kannst du ein gewisses Maß an Vertrauen schaffen.\n\nEs zu erwarten, dass ein Benutzer, der vor einer Weile auf Bisq 1 gehandelt hat und sein Konto signieren ließ, ein vertrauenswürdiger Benutzer ist. Aber diese Erwartung ist im Vergleich zu anderen Formen der Reputation schwach, bei denen der Benutzer mehr "Einsatz" mit finanziellen Ressourcen zeigt. +reputation.signedWitness.infoHeadline2=Datenschutzimplikationen +reputation.signedWitness.info2=Die Verknüpfung deines Bisq 1 Accounts mit Bisq 2 hat einige Auswirkungen auf deine Privatsphäre. Um den signierten Nachweis deines Kontos zu überprüfen, wird deine Bisq 1-Identität kryptografisch mit deiner Bisq 2 Profil-ID verknüpft.\nDie Offenlegung ist jedoch auf den 'Bisq 1-Bridgenode' beschränkt, der von einem Bisq-Mitwirkenden betrieben wird, der einen BSQ-Bond (Rolle mit hinterlegtem Pfand) hinterlegt hat.\n\nDer unterschriebene Account-Altersnachweis ist eine Alternative für diejenigen, die kein entwertetes BSQ oder BSQ-Bindungen aufgrund der finanziellen Belastung verwenden möchten. Der signierte Altersnachweis deines Kontos muss mindestens 61 Tage alt sein, um für die Reputation berücksichtigt zu werden. +reputation.signedWitness.score.headline=Auswirkung auf die Reputation +reputation.signedWitness.score.info=Das Importieren des signierten Alters eines Kontos wird als schwache Form der Reputation betrachtet, die durch den Gewichtsfaktor repräsentiert wird. Das signierte Alter eines Kontos muss mindestens 61 Tage alt sein und es gibt eine Obergrenze von 2000 Tagen für die Berechnung des Werts. +# Dynamically generated in SignedWitnessTab2View +# suppress inspection "UnusedProperty" +reputation.signedWitness.totalScore=Zeugenalter in Tagen * Gewicht +reputation.signedWitness.import.step1.title=Schritt 1 +reputation.signedWitness.import.step1.instruction=Wählen Sie das Benutzerprofil aus, dem Sie die Reputation zuordnen möchten. +reputation.signedWitness.import.step2.title=Schritt 2 +reputation.signedWitness.import.step2.instruction=Kopieren Sie die Profil-ID, um sie in Bisq 1 einzufügen. +reputation.signedWitness.import.step2.profileId=Profil-ID (In den Kontoscreen von Bisq 1 einfügen) +reputation.signedWitness.import.step3.title=Schritt 3 +reputation.signedWitness.import.step3.instruction1=3.1. - Öffnen Sie Bisq 1 und gehen Sie zu 'KONTO/NATIONALE WÄHRUNGSKONTEN'. +reputation.signedWitness.import.step3.instruction2=3.2. - Wählen Sie das älteste Konto aus und klicken Sie auf 'SIGNIERTES ALTER FÜR BISQ 2 EXPORTIEREN'. +reputation.signedWitness.import.step3.instruction3=3.3. - Dies erstellt JSON-Daten mit einer Signatur Ihrer Bisq 2 Profil-ID und kopiert sie in die Zwischenablage. +reputation.signedWitness.import.step4.title=Schritt 4 +reputation.signedWitness.import.step4.instruction=Fügen Sie die JSON-Daten aus dem vorherigen Schritt ein. +reputation.signedWitness.import.step4.signedMessage=JSON-Daten von Bisq 1 + +reputation.request=Autorisierung anfordern +reputation.request.success=Erfolgreich um Autorisierung vom Bisq 1-Brückenknoten angefragt\n\nDeine Reputationsdaten sollten nun im Netzwerk verfügbar sein. +reputation.request.error=Fehler beim Anfordern der Autorisierung. Text aus der Zwischenablage:\n\{0} + +reputation.table.headline=Reputations-Rangliste +reputation.table.columns.userProfile=Benutzerprofil +reputation.table.columns.profileAge=Profilalter +reputation.table.columns.livenessState=Zuletzt online +reputation.table.columns.reputationScore=Reputationsbewertung +reputation.table.columns.reputation=Reputation +reputation.table.columns.details=Details +reputation.table.columns.details.popup.headline=Reputationsdetails +reputation.table.columns.details.button=Details anzeigen + +reputation.details.table.columns.source=Typ +reputation.details.table.columns.lockTime=Sperrzeit +reputation.details.table.columns.score=Wert + + +################################################################################ +# Bonded roles +################################################################################ + +user.bondedRoles.headline.roles=Rollen mit hinterlegtem Pfand +user.bondedRoles.headline.nodes=Netzwerkknoten + + +################################################################################ +# Bonded Role Types +################################################################################ + +user.bondedRoles.type.MEDIATOR=Mediator +# suppress inspection "UnusedProperty" +user.bondedRoles.type.ARBITRATOR=Schiedsrichter +user.bondedRoles.type.MODERATOR=Moderator +user.bondedRoles.type.SECURITY_MANAGER=Sicherheitsmanager +user.bondedRoles.type.RELEASE_MANAGER=Release-Manager + +user.bondedRoles.type.ORACLE_NODE=Orakelknoten +user.bondedRoles.type.SEED_NODE=Seed-Knoten +user.bondedRoles.type.EXPLORER_NODE=Explorer-Knoten +user.bondedRoles.type.MARKET_PRICE_NODE=Marktpreis-Knoten + + +################################################################################ +# Bonded roles about +################################################################################ + +# suppress inspection "UnusedProperty" +user.bondedRoles.type.MEDIATOR.about.inline=Mediator +# suppress inspection "UnusedProperty" +user.bondedRoles.type.ARBITRATOR.about.inline=Schiedsrichter +# suppress inspection "UnusedProperty" +user.bondedRoles.type.MODERATOR.about.inline=Moderator +# suppress inspection "UnusedProperty" +user.bondedRoles.type.SECURITY_MANAGER.about.inline=Sicherheitsmanager +# suppress inspection "UnusedProperty" +user.bondedRoles.type.RELEASE_MANAGER.about.inline=Release-Manager + +# suppress inspection "UnusedProperty" +user.bondedRoles.type.ORACLE_NODE.about.inline=Orakelknoten-Betreiber +# suppress inspection "UnusedProperty" +user.bondedRoles.type.SEED_NODE.about.inline=Seed-Knoten-Betreiber +# suppress inspection "UnusedProperty" +user.bondedRoles.type.EXPLORER_NODE.about.inline=Explorer-Knoten-Betreiber +# suppress inspection "UnusedProperty" +user.bondedRoles.type.MARKET_PRICE_NODE.about.inline=Marktpreis-Knoten-Betreiber + +user.bondedRoles.registration.hideInfo=Anleitung ausblenden +user.bondedRoles.registration.showInfo=Anleitung anzeigen + +user.bondedRoles.registration.about.headline=Über die Rolle {0} + +# suppress inspection "UnusedProperty" +user.bondedRoles.type.MEDIATOR.about.info=Wenn es Konflikte bei einem Bisq Easy-Handel gibt, können die Händler Hilfe von einem Mediator anfordern.\nDer Mediator hat keine Durchsetzungsbefugnis und kann nur versuchen, bei der Suche nach einer kooperativen Lösung zu helfen. Im Falle eindeutiger Verstöße gegen die Handelsregeln oder Betrugsversuche kann der Vermittler Informationen an den Moderator weitergeben, um den schlechten Akteur vom Netzwerk zu verbannen.\nMediator und Schiedsrichter von Bisq 1 können ohne Hinterlegung eines neuen BSQ-Bonds zu Bisq 2-Mediatoren werden. +# suppress inspection "UnusedProperty" +user.bondedRoles.type.MODERATOR.about.info=Chat-Benutzer können Verstöße gegen die Chat- oder Handelsregeln an den Moderator melden.\nFalls die bereitgestellten Informationen ausreichen, um einen Regelverstoß zu überprüfen, kann der Moderator den Benutzer vom Netzwerk ausschließen.\nBei schwerwiegenden Verstößen eines Verkäufers, der eine gewissen Reputation erlangt hatte, wird die Reputation ungültig, und die relevanten Quelldaten (wie die DAO-Transaktion oder das Alter des Kontos) werden in Bisq 2 auf die schwarze Liste gesetzt und vom Orakelbetreiber an Bisq 1 zurückgemeldet. Der Benutzer wird auch bei Bisq 1 gesperrt. +# suppress inspection "UnusedProperty" +user.bondedRoles.type.SECURITY_MANAGER.about.info=Ein Sicherheitsmanager kann im Notfall eine Warnmeldung senden. +# suppress inspection "UnusedProperty" +user.bondedRoles.type.RELEASE_MANAGER.about.info=Ein Release-Manager kann Benachrichtigungen senden, wenn ein neues Release verfügbar ist. + +# suppress inspection "UnusedProperty" +user.bondedRoles.type.SEED_NODE.about.info=Ein Seed-Knoten stellt Netzwerkadressen von Netzwerkteilnehmern für das Bootstrapping des Bisq 2-P2P-Netzwerks bereit.\nDies ist besonders wichtig beim allerersten Start, da zu diesem Zeitpunkt der neue Benutzer noch keine persistierten Daten für die Verbindung zu anderen Peers hat.\nEr stellt auch P2P-Netzwerkdienste wie Chat-Nachrichten für den neu verbindenden Benutzer bereit.\nDieser Datenbereitstellungsdienst wird jedoch auch von jedem anderen Netzwerkknoten durchgeführt, aber da Seed-Knoten rund um die Uhr verfügbar sind und einen hohen Qualitätsstandard bieten, bieten sie mehr Stabilität und bessere Leistung, was zu einer besseren Start-Experience führt.\nSeed-Knoten-Betreiber von Bisq 1 können ohne Aufnahme einer neuen BSQ-Bindung zu Bisq 2-Seed-Knoten-Betreibern werden. +# suppress inspection "UnusedProperty" +user.bondedRoles.type.ORACLE_NODE.about.info=Der Orakelknoten wird verwendet, um Daten von Bisq 1 und der DAO für Bisq 2-Anwendungsfälle wie die Reputation bereitzustellen. +# suppress inspection "UnusedProperty" +user.bondedRoles.type.EXPLORER_NODE.about.info=Der Blockchain-Explorer-Knoten wird in Bisq Easy zur Transaktionsnachverfolgung der Bitcoin-Zahlung verwendet. +# suppress inspection "UnusedProperty" +user.bondedRoles.type.MARKET_PRICE_NODE.about.info=Der Marktpreis-Knoten liefert Marktdaten vom Bisq-Marktpreis-Aggregator. + + +################################################################################ +# Bonded roles how +################################################################################ + +# suppress inspection "UnusedProperty" +user.bondedRoles.type.MEDIATOR.how.inline=ein Mediator +# suppress inspection "UnusedProperty" +user.bondedRoles.type.ARBITRATOR.how.inline=ein Schiedsrichter +# suppress inspection "UnusedProperty" +user.bondedRoles.type.MODERATOR.how.inline=ein Moderator +# suppress inspection "UnusedProperty" +user.bondedRoles.type.SECURITY_MANAGER.how.inline=ein Sicherheitsmanager +# suppress inspection "UnusedProperty" +user.bondedRoles.type.RELEASE_MANAGER.how.inline=ein Release-Manager + +# suppress inspection "UnusedProperty" +user.bondedRoles.type.SEED_NODE.how.inline=ein Seed-Knotenbetreiber +# suppress inspection "UnusedProperty" +user.bondedRoles.type.ORACLE_NODE.how.inline=ein Oracle-Knotenbetreiber +# suppress inspection "UnusedProperty" +user.bondedRoles.type.EXPLORER_NODE.how.inline=ein Explorer-Knotenbetreiber +# suppress inspection "UnusedProperty" +user.bondedRoles.type.MARKET_PRICE_NODE.how.inline=ein Market-Price-Knotenbetreiber + +user.bondedRoles.registration.how.headline=Wie wird man {0}? + +user.bondedRoles.registration.how.info=1. Wählen Sie das Benutzerprofil aus, das Sie für die Registrierung verwenden möchten, und erstellen Sie eine Sicherungskopie Ihres Datenverzeichnisses.\n3. Stellen Sie unter 'https://github.com/bisq-network/proposals' einen Antrag, um {0} zu werden, und fügen Sie Ihre Profil-ID dem Antrag hinzu.\n4. Nachdem Ihr Vorschlag geprüft und von der Community unterstützt wurde, machen Sie einen DAO-Vorschlag für eine Rolle mit hinterlegtem Pfand.\n5. Sperren Sie nach Annahme Ihres DAO-Vorschlags durch die DAO-Abstimmung den erforderlichen BSQ-Bond.\n6. Nach Bestätigung Ihrer Bond-Transaktion gehen Sie zu 'DAO/Kopplung/Gekoppelte Rollen' in Bisq 1 und klicken Sie auf die Schaltfläche 'Signieren', um das Popup-Fenster zur Signierung zu öffnen.\n7. Kopieren Sie die Profil-ID und fügen Sie sie in das Nachrichtenfeld ein. Klicken Sie auf Signieren, kopieren Sie die Signatur und fügen Sie sie in das Bisq 2-Signaturfeld ein.\n8. Geben Sie den Bond-Inhaber-Benutzernamen ein.\n{1} + +user.bondedRoles.registration.how.info.role=9. Klicken Sie auf die Schaltfläche 'Registrierung anfordern'. Wenn alles korrekt war, wird Ihre Registrierung in der Tabelle der registrierten Rollen mit hinterlegtem Pfand sichtbar. + +user.bondedRoles.registration.how.info.node=9. Kopieren Sie die Datei 'default_node_address.json' aus dem Datenverzeichnis des Knotens, den Sie registrieren möchten, auf Ihre Festplatte und öffnen Sie sie mit der Schaltfläche 'Node-Adresse importieren'.\n10. Klicken Sie auf die Schaltfläche 'Registrierung anfordern'. Wenn alles korrekt war, wird Ihre Registrierung in der Tabelle der registrierten Netzwerkknoten sichtbar. + + +################################################################################ +# Bonded roles registration +################################################################################ + +user.bondedRoles.registration.headline=Registrierung beantragen + +user.bondedRoles.registration.profileId=Profil-ID +user.bondedRoles.registration.bondHolderName=Nutzername des Bond-Inhabers +user.bondedRoles.registration.bondHolderName.prompt=Geben Sie den Benutzernamen des Bisq 1-Bond-Inhabers ein +user.bondedRoles.registration.signature=Signatur +user.bondedRoles.registration.signature.prompt=Fügen Sie die Signatur Ihrer Rolle mit hinterlegtem Pfand ein +user.bondedRoles.registration.requestRegistration=Registrierung +user.bondedRoles.registration.success=Die Registrierungsanfrage wurde erfolgreich gesendet. Sie sehen in der Tabelle unten, ob die Registrierung erfolgreich überprüft und vom Oracle-Knoten veröffentlicht wurde. +user.bondedRoles.registration.failed=Senden der Registrierungsanfrage fehlgeschlagen.\n\n\{0} +user.bondedRoles.registration.node.addressInfo=Adressdaten des Knotens +user.bondedRoles.registration.node.addressInfo.prompt=Importieren Sie die Datei 'default_node_address.json' aus dem Knoten-Datenverzeichnis. +user.bondedRoles.registration.node.importAddress=Knoten importieren +user.bondedRoles.registration.node.pubKey=Öffentlicher Schlüssel +user.bondedRoles.registration.node.privKey=Privater Schlüssel +user.bondedRoles.registration.node.showKeyPair=Schlüssel anzeigen + +################################################################################ +# Bonded roles cancellation +################################################################################ + +user.bondedRoles.cancellation.requestCancellation=Stornierungsanfrage stellen +user.bondedRoles.cancellation.success=Die Stornierungsanfrage wurde erfolgreich gesendet. Sie sehen in der Tabelle unten, ob die Stornierungsanfrage erfolgreich überprüft und die Rolle vom Oracle-Knoten entfernt wurde. +user.bondedRoles.cancellation.failed=Senden der Stornierungsanfrage fehlgeschlagen.\n\n\{0} + + +################################################################################ +# Registered bonded roles table +################################################################################ + +user.bondedRoles.table.headline.nodes=Registrierte Netzwerkknoten +user.bondedRoles.table.headline.roles=Registrierte Rollen mit hinterlegtem Pfand + +user.bondedRoles.table.columns.isBanned=Ist gesperrt +user.bondedRoles.table.columns.userProfile=Nutzerprofil +user.bondedRoles.table.columns.userProfile.defaultNode=Knoten-Betreiber mit statisch bereitgestelltem Schlüssel +user.bondedRoles.table.columns.profileId=Profil-ID +user.bondedRoles.table.columns.signature=Signatur +# Commented out in code ATM in RolesView +# suppress inspection "UnusedProperty" +user.bondedRoles.table.columns.oracleNode=Oracle-Knoten +user.bondedRoles.table.columns.bondUserName=Bond-Benutzername + +user.bondedRoles.table.columns.role=Rolle + +user.bondedRoles.table.columns.node=Node +user.bondedRoles.table.columns.node.address=Adresse +user.bondedRoles.table.columns.node.address.openPopup=Popup mit Adressdaten des Knotens öffnen +user.bondedRoles.table.columns.node.address.popup.headline=Adressdaten des Knotens + + +################################################################################ +# Bonded roles verification +################################################################################ + +user.bondedRoles.verification.howTo.roles=Wie überprüft man eine Rolle mit hinterlegtem Pfand? +user.bondedRoles.verification.howTo.nodes=Wie überprüft man einen Netzwerkknoten? +user.bondedRoles.verification.howTo.instruction=1. Öffnen Sie Bisq 1 und gehen Sie zu 'DAO/Kopplung/gekoppelte Rollen' und wählen Sie die Rolle anhand des Bond-Benutzernamens und des Rollentyps aus.\n2. Klicken Sie auf die Überprüfen-Schaltfläche, kopieren Sie die Profil-ID und fügen Sie sie in das Nachrichtenfeld ein.\n3. Kopieren Sie die Signatur und fügen Sie sie in das Signaturfeld in Bisq 1 ein.\n4. Klicken Sie auf die Überprüfen-Schaltfläche. Wenn die Signaturüberprüfung erfolgreich ist, ist der gebundene Role gültig. + + + + diff --git a/pocs/android_only_m2_j17jars/app/src/main/resources/reputation_es.properties b/pocs/android_only_m2_j17jars/app/src/main/resources/reputation_es.properties new file mode 100644 index 00000000..6f9a0c74 --- /dev/null +++ b/pocs/android_only_m2_j17jars/app/src/main/resources/reputation_es.properties @@ -0,0 +1,305 @@ +################################################################################ +# Reputation +################################################################################ + +reputation=Reputación + +reputation.headline=Cómo construir reputación +reputation.info=Para los vendedores de Bitcoin es importante proporcionar reputación al comprador, ya que el comprador enviará primero el monto en fiat y necesitará una razón para confiar en el vendedor. El valor predeterminado para la puntuación mínima de reputación requerida es de 30,000 (puede cambiarse en 'Configuración/Preferencias').\nGanar reputación está destinado a usuarios experimentados de Bisq que están familiarizados con la plataforma.\n\nExisten varias opciones para proporcionar reputación:\n\n1. Quemar BSQ\n2. Configurar un bono de BSQ\n3. Importar el testigo de edad de cuenta firmado desde una cuenta de Bisq 1\n4. Importar la edad de cuenta desde una cuenta de Bisq 1 + +# suppress inspection "UnusedProperty" +reputation.source.BURNED_BSQ=Burned BSQ +# suppress inspection "UnusedProperty" +reputation.source.BSQ_BOND=Bonded BSQ +# suppress inspection "UnusedProperty" +reputation.source.PROFILE_AGE=Profile age +# suppress inspection "UnusedProperty" +reputation.source.BISQ1_ACCOUNT_AGE=Account age +# suppress inspection "UnusedProperty" +reputation.source.BISQ1_SIGNED_ACCOUNT_AGE_WITNESS=Signed witness + +reputation.pubKeyHash=ID de Perfil +reputation.weight=Peso +reputation.score=Puntuación +reputation.totalScore=Puntuación total +reputation.ranking=Clasificación +reputation.score.formulaHeadline=La puntuación de reputación se calcula de la siguiente manera: +reputation.score.tooltip=Puntuación: {0}\nClasificación: {1} + +reputation.burnBsq=Quemar BSQ +reputation.burnedBsq.tab1=Por qué +reputation.burnedBsq.tab2=Puntuación +reputation.burnedBsq.tab3=Cómo hacerlo +reputation.burnedBsq.infoHeadline=Piel en el juego +reputation.burnedBsq.info=Al quemar BSQ, proporcionas evidencia de que invertiste dinero en tu reputación.\nLa transacción de quemar BSQ contiene el hash de la clave pública de tu perfil. En caso de comportamiento malicioso, tu perfil podría ser baneado por mediadores y con eso tu inversión en tu reputación se volvería inútil. +reputation.burnedBsq.infoHeadline2=¿Cuál es la cantidad recomendada para quemar? +reputation.burnedBsq.info2=Eso será determinado por la competencia de los vendedores. Los vendedores con la puntuación de reputación más alta tendrán mejores oportunidades de comercio y pueden obtener un mayor margen de precio. Las mejores ofertas clasificadas por reputación se promocionarán en la selección de ofertas en el 'Asistente de comercio'.\n\nLos compradores solo pueden tomar ofertas de vendedores con una puntuación de reputación de al menos 30 000. Este es el valor predeterminado y puede ser cambiado en las preferencias.\n\nSi quemar BSQ es indeseable, considera las otras opciones disponibles para acumular reputación. +reputation.burnedBsq.score.headline=Impacto en la puntuación de reputación + +# Dynamically generated in BurnBsqTab2View +# suppress inspection "UnusedProperty" + +reputation.sim.headline=Herramienta de simulación: +reputation.sim.burnAmount=Cantidad de BSQ +# Dynamically generated in BondScoreSimulation +# suppress inspection "UnusedProperty" +# suppress inspection "UnusedProperty" +# Dynamically generated in BondScoreSimulation +# suppress inspection "UnusedProperty" +reputation.sim.age=Edad en días +# Dynamically generated in BondScoreSimulation +# suppress inspection "UnusedProperty" +reputation.sim.score=Puntuación total + +reputation.burnedBsq.howToHeadline=Proceso para quemar BSQ +reputation.burnedBsq.howTo=1. Selecciona el perfil de usuario al que deseas adjuntar la reputación.\n2. Copia el 'ID de perfil'\n3. Abre Bisq 1 y ve a 'DAO/PRUEBA DE QUEMA' y pega el valor copiado en el campo 'pre-imagen'.\n4. Introduce la cantidad de BSQ que deseas quemar.\n5. Publica la transacción de quemar BSQ.\n6. Después de la confirmación en la cadena de bloques, tu reputación se hará visible en tu perfil. + +reputation.bond=Bonos BSQ +reputation.bond.tab1=Por qué +reputation.bond.tab2=Puntuación +reputation.bond.tab3=Cómo hacerlo + +reputation.accountAge=Edad de la cuenta +reputation.accountAge.tab1=Por qué +reputation.accountAge.tab2=Puntuación +reputation.accountAge.tab3=Importar +reputation.accountAge.infoHeadline=Proporcionar confianza +reputation.accountAge.info=Al vincular la 'edad de tu cuenta' de Bisq 1, puedes proporcionar cierto nivel de confianza.\n\nHay expectativas razonables de que un usuario que ha utilizado Bisq durante algún tiempo es un usuario honesto. Pero esta expectativa es débil en comparación con otras formas de reputación donde el usuario proporciona una prueba más fuerte con el uso de algunos recursos financieros. +reputation.accountAge.infoHeadline2=Implicaciones de privacidad +reputation.accountAge.info2=Vincular tu cuenta de Bisq 1 con Bisq 2 tiene algunas implicaciones en tu privacidad. Para verificar tu 'edad de cuenta', tu identidad de Bisq 1 se vincula criptográficamente con tu ID de perfil de Bisq 2.\nSin embargo, la exposición está limitada al 'nodo puente de Bisq 1', que es operado por un colaborador de Bisq que ha establecido un bono de BSQ (rol vinculado).\n\nLa edad de la cuenta es una alternativa para aquellos que no quieren utilizar BSQ quemado o bonos de BSQ debido al costo financiero. La 'edad de la cuenta' debe ser de al menos varios meses para reflejar cierto nivel de confianza. +reputation.accountAge.score.headline=Impacto en la puntuación de reputación +reputation.accountAge.score.info=Importar la 'edad de la cuenta' se considera una forma de reputación bastante débil que se representa por el factor de peso bajo.\nHay un límite de 2000 días para el cálculo de la puntuación. +# Dynamically generated in AccountAgeTab2View +# suppress inspection "UnusedProperty" +reputation.accountAge.totalScore=Edad de la cuenta en días * peso + +reputation.accountAge.import.step1.title=Paso 1 +reputation.accountAge.import.step1.instruction=Selecciona el perfil de usuario para el cual quieres adjuntar la reputación +reputation.accountAge.import.step2.title=Paso 2 +reputation.accountAge.import.step2.instruction=Copiar la ID del perfil a pegar en Bisq 1. +reputation.accountAge.import.step2.profileId=ID de perfil (Pegar en la pantalla de cuenta de Bisq 1) +reputation.accountAge.import.step3.title=Paso 3 +reputation.accountAge.import.step3.instruction1=3.1. - Abre Bisq 1 y ve a 'CUENTAS/CUENTAS DE MONEDA NACIONAL'. +reputation.accountAge.import.step3.instruction2=3.2. - Selecciona la cuenta más antigua y clicka 'EXPORTAR CUENTA'. +reputation.accountAge.import.step3.instruction3=3.3. - Esto añadirá un mensaje firmado para el perfil de ID de Bisq 2. +reputation.accountAge.import.step4.title=Paso 4 +reputation.accountAge.import.step4.instruction=Pega la firma desde Bisq 1 +reputation.accountAge.import.step4.signedMessage=Firma el Mensaje desde Bisq 1 + +reputation.signedWitness=Testigo firmado de antigüedad +reputation.signedWitness.tab1=Por qué +reputation.signedWitness.tab2=Puntuación +reputation.signedWitness.tab3=Cómo hacerlo +reputation.signedWitness.infoHeadline=Proporcionar confianza +reputation.signedWitness.info=Al vincular tu 'testigo de edad de cuenta firmado' de Bisq 1, puedes proporcionar cierto nivel de confianza.\n\nHay expectativas razonables de que un usuario que ha comerciado hace un tiempo en Bisq 1 y ha firmado su cuenta es un usuario honesto. Pero esta expectativa es débil en comparación con otras formas de reputación donde el usuario proporciona más "inversión en el juego" con el uso de recursos financieros. +reputation.signedWitness.infoHeadline2=Implicaciones de privacidad +reputation.signedWitness.info2=Vincular tu cuenta de Bisq 1 con Bisq 2 tiene algunas implicaciones en tu privacidad. Para verificar tu 'testigo de edad de cuenta firmado', tu identidad de Bisq 1 se vincula criptográficamente con tu ID de perfil de Bisq 2.\nSin embargo, la exposición está limitada al 'nodo puente de Bisq 1' que es operado por un colaborador de Bisq que ha establecido un bono de BSQ (rol vinculado).\n\nEl testigo de edad de cuenta firmado es una alternativa para aquellos que no quieren usar BSQ quemado o bonos de BSQ debido a la carga financiera. El 'testigo de edad de cuenta firmado' debe tener al menos 61 días para ser considerado para la reputación. +reputation.signedWitness.score.headline=Impacto en la puntuación de reputación +reputation.signedWitness.score.info=Importar el 'testigo de edad de cuenta firmado' se considera una forma de reputación débil que se representa por el factor de peso. El 'testigo de edad de cuenta firmado' debe tener al menos 61 días y hay un límite de 2000 días para el cálculo de la puntuación. +# Dynamically generated in SignedWitnessTab2View +# suppress inspection "UnusedProperty" +reputation.signedWitness.totalScore=Witness-age in days * weight +reputation.signedWitness.import.step1.title=Paso 1 +reputation.signedWitness.import.step1.instruction=Selecciona el perfil de usuario al cual deseas adjuntar la reputación. +reputation.signedWitness.import.step2.title=Paso 2 +reputation.signedWitness.import.step2.instruction=Copia el ID del perfil para pegarlo en Bisq 1. +reputation.signedWitness.import.step2.profileId=ID del perfil (Pegar en la pantalla de cuenta en Bisq 1) +reputation.signedWitness.import.step3.title=Paso 3 +reputation.signedWitness.import.step3.instruction1=3.1. - Abre Bisq 1 y dirígete a 'CUENTAS/MONEDAS NACIONALES'. +reputation.signedWitness.import.step3.instruction2=3.2. - Selecciona la cuenta más antigua y haz clic en 'EXPORTAR TESTIGO FIRMADO PARA BISQ 2'. +reputation.signedWitness.import.step3.instruction3=3.3. - Esto generará datos json con una firma de tu ID de Perfil de Bisq 2 y los copiará al portapapeles. +reputation.signedWitness.import.step4.title=Paso 4 +reputation.signedWitness.import.step4.instruction=Pega los datos json del paso anterior +reputation.signedWitness.import.step4.signedMessage=Datos json de Bisq 1 + +reputation.request=Solicitar autorización +reputation.request.success=Solicitud de autorización exitosa al nodo puente de Bisq 1\n\nTus datos de reputación ahora deberían estar disponibles en la red. +reputation.request.error=La solicitud de autorización ha fallado. Texto del portapapeles:\n\{0} + +reputation.table.headline=Clasificación de reputación +reputation.table.columns.userProfile=Perfil de usuario +reputation.table.columns.profileAge=Edad del perfil +reputation.table.columns.livenessState=Visto por última vez +reputation.table.columns.reputationScore=Puntuación de reputación +reputation.table.columns.reputation=Reputación +reputation.table.columns.details=Detalles +reputation.table.columns.details.popup.headline=Detalles de reputación +reputation.table.columns.details.button=Mostrar detalles + +reputation.details.table.columns.source=Tipo +reputation.details.table.columns.lockTime=Tiempo de bloqueo +reputation.details.table.columns.score=Puntuación + + +################################################################################ +# Bonded roles +################################################################################ + +user.bondedRoles.headline.roles=Roles Vinculados +user.bondedRoles.headline.nodes=Nodos de Red + + +################################################################################ +# Bonded Role Types +################################################################################ + +user.bondedRoles.type.MEDIATOR=Mediador +# suppress inspection "UnusedProperty" +user.bondedRoles.type.ARBITRATOR=Árbitro +user.bondedRoles.type.MODERATOR=Moderador +user.bondedRoles.type.SECURITY_MANAGER=Gestor de Seguridad +user.bondedRoles.type.RELEASE_MANAGER=Gestor de Lanzamiento + +user.bondedRoles.type.ORACLE_NODE=Nodo Oráculo +user.bondedRoles.type.SEED_NODE=Nodo Semilla +user.bondedRoles.type.EXPLORER_NODE=Nodo Explorador +user.bondedRoles.type.MARKET_PRICE_NODE=Nodo de Precio de Mercado + + +################################################################################ +# Bonded roles about +################################################################################ + +# suppress inspection "UnusedProperty" +user.bondedRoles.type.MEDIATOR.about.inline=mediador +# suppress inspection "UnusedProperty" +user.bondedRoles.type.ARBITRATOR.about.inline=árbitro +# suppress inspection "UnusedProperty" +user.bondedRoles.type.MODERATOR.about.inline=moderador +# suppress inspection "UnusedProperty" +user.bondedRoles.type.SECURITY_MANAGER.about.inline=gestor de seguridad +# suppress inspection "UnusedProperty" +user.bondedRoles.type.RELEASE_MANAGER.about.inline=gestor de lanzamiento + +# suppress inspection "UnusedProperty" +user.bondedRoles.type.ORACLE_NODE.about.inline=operador de nodo oráculo +# suppress inspection "UnusedProperty" +user.bondedRoles.type.SEED_NODE.about.inline=operador de nodo semilla +# suppress inspection "UnusedProperty" +user.bondedRoles.type.EXPLORER_NODE.about.inline=operador de nodo explorador +# suppress inspection "UnusedProperty" +user.bondedRoles.type.MARKET_PRICE_NODE.about.inline=operador de nodo de precio de mercado + +user.bondedRoles.registration.hideInfo=Ocultar instrucciones +user.bondedRoles.registration.showInfo=Mostrar instrucciones + +user.bondedRoles.registration.about.headline=Acerca del rol de {0} + +# suppress inspection "UnusedProperty" +user.bondedRoles.type.MEDIATOR.about.info=Si hay conflictos en un comercio Bisq Easy, los comerciantes pueden solicitar ayuda de un mediador.\nEl mediador no tiene poder de ejecución y solo puede intentar ayudar a encontrar una resolución cooperativa. En caso de violaciones claras de las reglas comerciales o intentos de estafa, el mediador puede proporcionar información al moderador para prohibir al actor malicioso de la red.\nLos mediadores y árbitros de Bisq 1 pueden convertirse en mediadores de Bisq 2 sin bloquear un nuevo bono de BSQ. +# suppress inspection "UnusedProperty" +user.bondedRoles.type.MODERATOR.about.info=Los usuarios del chat pueden reportar violaciones de las reglas del chat o comercio al moderador.\nEn caso de que la información proporcionada sea suficiente para verificar una violación de las reglas, el moderador puede prohibir a ese usuario de la red.\nEn caso de violaciones graves de un vendedor que haya ganado algún tipo de reputación, la reputación se invalida y los datos de origen relevantes (como la transacción DAO o los datos de edad de la cuenta) serán incluidos en la lista negra en Bisq 2 y reportados a Bisq 1 por el operador del oráculo y el usuario también será prohibido en Bisq 1. +# suppress inspection "UnusedProperty" +user.bondedRoles.type.SECURITY_MANAGER.about.info=Un gestor de seguridad puede enviar un mensaje de alerta en caso de situaciones de emergencia. +# suppress inspection "UnusedProperty" +user.bondedRoles.type.RELEASE_MANAGER.about.info=Un gestor de lanzamiento puede enviar notificaciones cuando haya una nueva versión disponible. + +# suppress inspection "UnusedProperty" +user.bondedRoles.type.SEED_NODE.about.info=Un nodo semilla proporciona direcciones de red de participantes de la red para el arranque en la red P2P de Bisq 2.\nEsto es esencial en el primer inicio ya que en ese momento el nuevo usuario aún no tiene datos persistidos para conectarse a otros pares.\nTambién proporciona datos de la red P2P como mensajes de chat al usuario que se conecta recientemente. Ese servicio de entrega de datos también lo realiza cualquier otro nodo de red, aunque como los nodos semilla tienen disponibilidad 24/7 y un alto nivel de calidad de servicio, proporcionan más estabilidad y mejor rendimiento, lo que lleva a una mejor experiencia de arranque.\nLos operadores de nodo semilla de Bisq 1 pueden convertirse en operadores de nodo semilla de Bisq 2 sin bloquear un nuevo bono de BSQ. +# suppress inspection "UnusedProperty" +user.bondedRoles.type.ORACLE_NODE.about.info=El nodo oráculo se utiliza para proporcionar datos de Bisq 1 y DAO para casos de uso de Bisq 2 como la reputación. +# suppress inspection "UnusedProperty" +user.bondedRoles.type.EXPLORER_NODE.about.info=El nodo explorador de blockchain se utiliza en Bisq Easy para la búsqueda de transacciones de Bitcoin. +# suppress inspection "UnusedProperty" +user.bondedRoles.type.MARKET_PRICE_NODE.about.info=El nodo de precio de mercado proporciona datos de mercado del agregador de precios de mercado de Bisq. + + +################################################################################ +# Bonded roles how +################################################################################ + +# suppress inspection "UnusedProperty" +user.bondedRoles.type.MEDIATOR.how.inline=un mediador +# suppress inspection "UnusedProperty" +user.bondedRoles.type.ARBITRATOR.how.inline=un árbitro +# suppress inspection "UnusedProperty" +user.bondedRoles.type.MODERATOR.how.inline=un moderador +# suppress inspection "UnusedProperty" +user.bondedRoles.type.SECURITY_MANAGER.how.inline=un gestor de seguridad +# suppress inspection "UnusedProperty" +user.bondedRoles.type.RELEASE_MANAGER.how.inline=un gestor de lanzamiento + +# suppress inspection "UnusedProperty" +user.bondedRoles.type.SEED_NODE.how.inline=un operador de nodo semilla +# suppress inspection "UnusedProperty" +user.bondedRoles.type.ORACLE_NODE.how.inline=un operador de nodo oráculo +# suppress inspection "UnusedProperty" +user.bondedRoles.type.EXPLORER_NODE.how.inline=un operador de nodo explorador +# suppress inspection "UnusedProperty" +user.bondedRoles.type.MARKET_PRICE_NODE.how.inline=un operador de nodo de precio de mercado + +user.bondedRoles.registration.how.headline=¿Cómo convertirse en {0}? + +user.bondedRoles.registration.how.info=1. Selecciona el perfil de usuario que deseas usar para el registro y crea una copia de seguridad de tu directorio de datos.\n3. Haz una propuesta en 'https://github.com/bisq-network/proposals' para convertirte en {0} y añade tu ID de perfil a la propuesta.\n4. Después de que tu propuesta sea revisada y reciba apoyo de la comunidad, haz una propuesta DAO para un rol vinculado.\n5. Después de que tu propuesta DAO sea aceptada en la votación DAO, bloquea el bono BSQ requerido.\n6. Después de que tu transacción de bono sea confirmada, ve a 'DAO/Bonding/Roles vinculados' en Bisq 1 y haz clic en el botón de firmar para abrir la ventana emergente de firma.\n7. Copia el ID de perfil y pégalo en el campo de mensaje. Haz clic en firmar y copia la firma. Pega la firma en el campo de firma de Bisq 2.\n8. Introduce el nombre de usuario del titular del bono.\n{1} + +user.bondedRoles.registration.how.info.role=9. Haz clic en el botón 'Solicitar registro'. Si todo está correcto, tu registro se hará visible en la tabla de Roles vinculados registrados. + +user.bondedRoles.registration.how.info.node=9. Copia el archivo 'default_node_address.json' del directorio de datos del nodo que deseas registrar en tu disco duro y ábrelo con el botón 'Importar dirección del nodo'.\n10. Haz clic en el botón 'Solicitar registro'. Si todo está correcto, tu registro se hará visible en la tabla de Nodos de red registrados. + + +################################################################################ +# Bonded roles registration +################################################################################ + +user.bondedRoles.registration.headline=Solicitar registro + +user.bondedRoles.registration.profileId=ID de perfil +user.bondedRoles.registration.bondHolderName=Nombre de usuario del titular del bono +user.bondedRoles.registration.bondHolderName.prompt=Introduzca el nombre de usuario del titular del bono de Bisq 1 +user.bondedRoles.registration.signature=Firma +user.bondedRoles.registration.signature.prompt=Pegue la firma de su rol vinculado +user.bondedRoles.registration.requestRegistration=Solicitar registro +user.bondedRoles.registration.success=La solicitud de registro se envió con éxito. Verá en la tabla a continuación si el registro fue verificado y publicado con éxito por el nodo oráculo. +user.bondedRoles.registration.failed=El envío de la solicitud de registro falló.\n\n\{0} +user.bondedRoles.registration.node.addressInfo=Datos de dirección del nodo +user.bondedRoles.registration.node.addressInfo.prompt=Importe el archivo 'default_node_address.json' del directorio de datos del nodo. +user.bondedRoles.registration.node.importAddress=Importar nodo +user.bondedRoles.registration.node.pubKey=Clave pública +user.bondedRoles.registration.node.privKey=Clave privada +user.bondedRoles.registration.node.showKeyPair=Ver claves + +################################################################################ +# Bonded roles cancellation +################################################################################ + +user.bondedRoles.cancellation.requestCancellation=Solicitar cancelación +user.bondedRoles.cancellation.success=La solicitud de cancelación se envió con éxito. Verá en la tabla a continuación si la solicitud de cancelación fue verificada con éxito y el rol eliminado por el nodo oráculo. +user.bondedRoles.cancellation.failed=El envío de la solicitud de cancelación falló.\n\n\{0} + + +################################################################################ +# Registered bonded roles table +################################################################################ + +user.bondedRoles.table.headline.nodes=Nodos de red registrados +user.bondedRoles.table.headline.roles=Roles vinculados registrados + +user.bondedRoles.table.columns.isBanned=Está prohibido +user.bondedRoles.table.columns.userProfile=Perfil de usuario +user.bondedRoles.table.columns.userProfile.defaultNode=Operador de nodo con clave proporcionada estáticamente +user.bondedRoles.table.columns.profileId=ID de perfil +user.bondedRoles.table.columns.signature=Firma +# Commented out in code ATM in RolesView +# suppress inspection "UnusedProperty" +user.bondedRoles.table.columns.oracleNode=Nodo oráculo +user.bondedRoles.table.columns.bondUserName=Nombre de usuario del bono + +user.bondedRoles.table.columns.role=Rol + +user.bondedRoles.table.columns.node=Nodo +user.bondedRoles.table.columns.node.address=Dirección +user.bondedRoles.table.columns.node.address.openPopup=Abrir popup de datos de dirección +user.bondedRoles.table.columns.node.address.popup.headline=Datos de dirección del nodo + + +################################################################################ +# Bonded roles verification +################################################################################ + +user.bondedRoles.verification.howTo.roles=Cómo verificar un rol vinculado? +user.bondedRoles.verification.howTo.nodes=Cómo verificar un nodo de red? +user.bondedRoles.verification.howTo.instruction=1. Abre Bisq 1 y ve a 'DAO/Bonding/Roles vinculados' y selecciona el rol por el nombre de usuario del bono y el tipo de rol.\n2. Haz clic en el botón de verificar, copia el ID de perfil y pégalo en el campo de mensaje.\n3. Copia la firma y pégala en el campo de firma en Bisq 1.\n4. Haz clic en el botón de verificar. Si la verificación de la firma tiene éxito, el rol vinculado es válido. + + + + diff --git a/pocs/android_only_m2_j17jars/app/src/main/resources/reputation_it.properties b/pocs/android_only_m2_j17jars/app/src/main/resources/reputation_it.properties new file mode 100644 index 00000000..aa35d394 --- /dev/null +++ b/pocs/android_only_m2_j17jars/app/src/main/resources/reputation_it.properties @@ -0,0 +1,319 @@ +################################################################################ +# Reputation +################################################################################ + +reputation=Reputazione + +reputation.headline=Come costruire la reputazione +reputation.info=Per i venditori di Bitcoin è importante fornire una reputazione all'acquirente, perché l'acquirente invierà prima l'importo in fiat e avrà bisogno di una ragione per fidarsi del venditore. Il valore predefinito per il punteggio di reputazione minimo richiesto è 30 000 (può essere modificato in 'Impostazioni/Preferenze').\nAcquisire reputazione è pensato per gli utenti esperti di Bisq che sono familiari con Bisq.\n\nCi sono più opzioni per fornire reputazione:\n\n1. Bruciare BSQ\n2. Configurare un legame BSQ\n3. Importare il testimone di età dell'account firmato da un account Bisq 1\n4. Importare l'età dell'account da un account Bisq 1 + +# suppress inspection "UnusedProperty" +reputation.source.BURNED_BSQ=BSQ bruciato +# suppress inspection "UnusedProperty" +reputation.source.BSQ_BOND=Legame BSQ +# suppress inspection "UnusedProperty" +reputation.source.PROFILE_AGE=Età del profilo +# suppress inspection "UnusedProperty" +reputation.source.BISQ1_ACCOUNT_AGE=Età dell'account +# suppress inspection "UnusedProperty" +reputation.source.BISQ1_SIGNED_ACCOUNT_AGE_WITNESS=Testimone dell'età dell'account firmato + +reputation.pubKeyHash=ID del profilo +reputation.weight=Peso +reputation.score=Punteggio +reputation.totalScore=Punteggio totale +reputation.ranking=Classifica +reputation.score.formulaHeadline=Il punteggio di reputazione è calcolato come segue: +reputation.score.tooltip=Punteggio: {0}\nClassifica: {1} + +reputation.burnBsq=Bruciare BSQ +reputation.burnedBsq.tab1=Perché +reputation.burnedBsq.tab2=Punteggio +reputation.burnedBsq.tab3=Come fare +reputation.burnedBsq.infoHeadline=Skin in the game +reputation.burnedBsq.info=Bruciando BSQ fornisci una prova di aver investito denaro nella tua reputazione.\nLa transazione Burn BSQ contiene l'hash della chiave pubblica del tuo profilo. In caso di comportamento fraudolento, il tuo profilo potrebbe essere bannato dai mediatori e il tuo investimento nella reputazione diventerebbe senza valore. +reputation.burnedBsq.infoHeadline2=Qual è l'importo raccomandato da bruciare? +reputation.burnedBsq.info2=Questo sarà determinato dalla concorrenza dei venditori. I venditori con il punteggio di reputazione più alto avranno migliori opportunità di scambio e potranno ottenere un premio di prezzo più alto. Le migliori offerte classificate per reputazione saranno promosse nella selezione dell'offerta nella 'Trade wizard'.\n\nGli acquirenti possono accettare offerte solo da venditori con un punteggio di reputazione di almeno 30 000. Questo è il valore predefinito e può essere modificato nelle preferenze.\n\nSe bruciare BSQ non è desiderabile, considera le altre opzioni disponibili per costruire la reputazione. +reputation.burnedBsq.score.headline=Impatto sul punteggio di reputazione + +# Dynamically generated in BurnBsqTab2View +# suppress inspection "UnusedProperty" + +reputation.sim.headline=Strumento di simulazione: +reputation.sim.burnAmount=Importo BSQ +# Dynamically generated in BondScoreSimulation +# suppress inspection "UnusedProperty" +reputation.sim.burnAmount.prompt=Inserisci l'importo BSQ +# suppress inspection "UnusedProperty" +reputation.sim.lockTime=Tempo di blocco in blocchi +# Dynamically generated in BondScoreSimulation +# suppress inspection "UnusedProperty" +reputation.sim.lockTime.prompt=Inserisci il tempo di blocco +reputation.sim.age=Età in giorni +# Dynamically generated in BondScoreSimulation +# suppress inspection "UnusedProperty" +reputation.sim.age.prompt=Inserisci l'età in giorni +reputation.sim.score=Punteggio totale + +reputation.burnedBsq.howToHeadline=Processo per bruciare BSQ +reputation.burnedBsq.howTo=1. Seleziona il profilo utente per cui desideri collegare la reputazione.\n2. Copia l'ID del profilo\n3. Apri Bisq 1 e vai a 'DAO/PROOF OF BURN' e incolla il valore copiato nel campo 'pre-image'.\n4. Inserisci l'importo di BSQ che desideri bruciare.\n5. Pubblica la transazione di Burn BSQ.\n6. Dopo la conferma della blockchain, la tua reputazione diventerà visibile nel tuo profilo. + +reputation.bond=Legami BSQ +reputation.bond.tab1=Perché +reputation.bond.tab2=Punteggio +reputation.bond.tab3=Come fare +reputation.bond.infoHeadline=Skin in the game +reputation.bond.info=Impostando un legame BSQ fornisci una prova di aver bloccato denaro per acquisire reputazione.\nLa transazione BSQ Bond contiene l'hash della chiave pubblica del tuo profilo. In caso di comportamento fraudolento, il tuo legame potrebbe essere confiscato dal DAO e il tuo profilo potrebbe essere bannato dai mediatori. +reputation.bond.infoHeadline2=Qual è l'importo raccomandato e il tempo di blocco? +reputation.bond.info2=Il tempo di blocco deve essere di almeno 50 000 blocchi, che corrispondono a circa 1 anno per essere considerato un legame valido. L'importo può essere scelto dall'utente e determinerà il ranking rispetto ad altri venditori. I venditori con il punteggio di reputazione più alto avranno migliori opportunità di scambio e potranno ottenere un premio di prezzo più alto. Le migliori offerte classificate per reputazione saranno promosse nella selezione dell'offerta nella 'Trade wizard'.\n\nGli acquirenti possono accettare offerte solo da venditori con un punteggio di reputazione di almeno 30 000. Questo è il valore predefinito e può essere modificato nelle preferenze.\n\nSe un legame BSQ richiede troppo sforzo, considera le altre opzioni disponibili per costruire la reputazione. +reputation.bond.score.headline=Impatto sul punteggio di reputazione +# Dynamically generated in BondedReputationTab2View +# suppress inspection "UnusedProperty" + +reputation.bond.howToHeadline=Processo per impostare un legame BSQ +reputation.bond.howTo=1. Seleziona il profilo utente per cui desideri collegare la reputazione.\n2. Copia l'ID del profilo\n3. Apri Bisq 1 e vai a 'DAO/BONDING/BONDED REPUTATION' e incolla il valore copiato nel campo 'salt'.\n4. Inserisci l'importo di BSQ che desideri bloccare e il tempo di blocco (50 000 blocchi).\n5. Pubblica la transazione di blocco.\n6. Dopo la conferma della blockchain, la tua reputazione diventerà visibile nel tuo profilo. + +reputation.accountAge=Età dell'account +reputation.accountAge.tab1=Perché +reputation.accountAge.tab2=Punteggio +reputation.accountAge.tab3=Importa +reputation.accountAge.infoHeadline=Fornire fiducia +reputation.accountAge.info=Collegando la tua 'età dell'account' di Bisq 1 puoi fornire un certo livello di fiducia.\n\nCi sono alcune aspettative ragionevoli che un utente che ha usato Bisq per un certo tempo sia un utente onesto. Ma questa aspettativa è debole rispetto ad altre forme di reputazione in cui l'utente fornisce prove più forti con l'uso di risorse finanziarie. +reputation.accountAge.infoHeadline2=Implicazioni sulla privacy +reputation.accountAge.info2=Collegare il tuo account Bisq 1 a Bisq 2 ha alcune implicazioni sulla tua privacy. Per verificare la tua 'età dell'account', la tua identità di Bisq 1 viene collegata crittograficamente al tuo ID profilo Bisq 2.\nTuttavia, l'esposizione è limitata al 'nodo ponte Bisq 1' che è gestito da un collaboratore di Bisq che ha impostato un ruolo BSQ bond (ruolo legato).\n\nL'età dell'account è un'alternativa per coloro che non vogliono utilizzare BSQ bruciato o legami BSQ a causa del costo finanziario. L''età dell'account' dovrebbe essere di almeno diversi mesi per riflettere un certo livello di fiducia. +reputation.accountAge.score.headline=Impatto sul punteggio di reputazione +reputation.accountAge.score.info=L'importazione dell''età dell'account' è considerata una forma piuttosto debole di reputazione, rappresentata dal fattore di peso basso.\nC'è un limite di 2000 giorni per il calcolo del punteggio. +# Dynamically generated in AccountAgeTab2View +# suppress inspection "UnusedProperty" +reputation.accountAge.totalScore=Età dell'account in giorni * peso + +reputation.accountAge.import.step1.title=Passo 1 +reputation.accountAge.import.step1.instruction=Seleziona il profilo utente a cui vuoi allegare la reputazione. +reputation.accountAge.import.step2.title=Passo 2 +reputation.accountAge.import.step2.instruction=Copia l'ID del profilo per incollarlo su Bisq 1. +reputation.accountAge.import.step2.profileId=ID del Profilo (Incolla sulla schermata del conto su Bisq 1) +reputation.accountAge.import.step3.title=Passo 3 +reputation.accountAge.import.step3.instruction1=3.1. - Apri Bisq 1 e vai su 'CONTO/CONTI VALUTA NAZIONALE'. +reputation.accountAge.import.step3.instruction2=3.2. - Seleziona il conto più vecchio e clicca 'ESPORTA CONTO'. +reputation.accountAge.import.step3.instruction3=3.3. - Questo aggiungerà un messaggio firmato con l'ID del Profilo di Bisq 2. +reputation.accountAge.import.step4.title=Passo 4 +reputation.accountAge.import.step4.instruction=Incolla la firma da Bisq 1 +reputation.accountAge.import.step4.signedMessage=Messaggio Firmato da Bisq 1 + +reputation.signedWitness=Garante età account +reputation.signedWitness.tab1=Perché +reputation.signedWitness.tab2=Punteggio +reputation.signedWitness.tab3=Come fare +reputation.signedWitness.infoHeadline=Fornire fiducia +reputation.signedWitness.info=Collegando il tuo 'testimone dell'età dell'account firmato' di Bisq 1 puoi fornire un certo livello di fiducia.\n\nCi sono alcune aspettative ragionevoli che un utente che ha negoziato su Bisq 1 e ha firmato il suo account sia un utente onesto. Ma questa aspettativa è debole rispetto ad altre forme di reputazione in cui l'utente fornisce più "skin in the game" con l'uso di risorse finanziarie. +reputation.signedWitness.infoHeadline2=Implicazioni sulla privacy +reputation.signedWitness.info2=Collegare il tuo account Bisq 1 con Bisq 2 ha delle implicazioni sulla tua privacy. Per verificare il tuo 'testimone di età del conto firmato', la tua identità di Bisq 1 viene collegata criptograficamente al tuo ID profilo Bisq 2.\nTuttavia, l'esposizione è limitata al 'nodo ponte di Bisq 1' gestito da un collaboratore di Bisq che ha impostato un BSQ bond (ruolo legato).\n\nIl testimone di età del conto firmato è un'alternativa per coloro che non vogliono utilizzare BSQ bruciati o BSQ bonds a causa dell'onere finanziario. Il 'testimone di età del conto firmato' deve essere di almeno 61 giorni per essere considerato per la reputazione. +reputation.signedWitness.score.headline=Impatto sul punteggio di reputazione +reputation.signedWitness.score.info=L'importazione del 'testimone di età del conto firmato' è considerata una forma debole di reputazione rappresentata dal fattore di peso. Il 'testimone di età del conto firmato' deve essere di almeno 61 giorni e c'è un limite di 2000 giorni per il calcolo del punteggio. +# Dynamically generated in SignedWitnessTab2View +# suppress inspection "UnusedProperty" +reputation.signedWitness.totalScore=Età del testimone in giorni * peso +reputation.signedWitness.import.step1.title=Passo 1 +reputation.signedWitness.import.step1.instruction=Seleziona il profilo utente a cui vuoi allegare la reputazione. +reputation.signedWitness.import.step2.title=Passo 2 +reputation.signedWitness.import.step2.instruction=Copia l'ID del profilo per incollarlo su Bisq 1. +reputation.signedWitness.import.step2.profileId=ID del Profilo (Incolla sulla schermata del conto su Bisq 1) +reputation.signedWitness.import.step3.title=Passo 3 +reputation.signedWitness.import.step3.instruction1=3.1. - Apri Bisq 1 e vai a 'CONTO/CONTI VALUTA NAZIONALE'. +reputation.signedWitness.import.step3.instruction2=3.2. - Seleziona il conto più vecchio e clicca 'ESPORTA TESTIMONE FIRMATO PER BISQ 2'. +reputation.signedWitness.import.step3.instruction3=3.3. - Questo creerà dati json con una firma del tuo ID Profilo Bisq 2 e li copierà negli appunti. +reputation.signedWitness.import.step4.title=Passo 4 +reputation.signedWitness.import.step4.instruction=Incolla i dati json dal passo precedente +reputation.signedWitness.import.step4.signedMessage=Dati json da Bisq 1 + +reputation.request=Autorizza richiesta +reputation.request.success=Autorizzazione richiesta con successo dal nodo ponte di Bisq 1\n\nI tuoi dati di reputazione dovrebbero essere ora disponibili nella rete. +reputation.request.error=Richiesta di autorizzazione fallita. Testo dagli appunti:\n\{0} + +reputation.table.headline=Classifica della reputazione +reputation.table.columns.userProfile=Profilo utente +reputation.table.columns.profileAge=Età del profilo +reputation.table.columns.livenessState=Ultimo accesso +reputation.table.columns.reputationScore=Punteggio di reputazione +reputation.table.columns.reputation=Reputazione +reputation.table.columns.details=Dettagli +reputation.table.columns.details.popup.headline=Dettagli della reputazione +reputation.table.columns.details.button=Mostra dettagli + +reputation.details.table.columns.source=Tipo +reputation.details.table.columns.lockTime=Tempo di blocco +reputation.details.table.columns.score=Punteggio + + +################################################################################ +# Bonded roles +################################################################################ + +user.bondedRoles.headline.roles=Ruoli garantiti +user.bondedRoles.headline.nodes=Nodi di rete + + +################################################################################ +# Bonded Role Types +################################################################################ + +user.bondedRoles.type.MEDIATOR=Mediatore +# suppress inspection "UnusedProperty" +user.bondedRoles.type.ARBITRATOR=Arbitro +user.bondedRoles.type.MODERATOR=Moderatore +user.bondedRoles.type.SECURITY_MANAGER=Responsabile della sicurezza +user.bondedRoles.type.RELEASE_MANAGER=Responsabile rilascio + +user.bondedRoles.type.ORACLE_NODE=Nodo Oracle +user.bondedRoles.type.SEED_NODE=Nodo seed +user.bondedRoles.type.EXPLORER_NODE=Nodo esploratore +user.bondedRoles.type.MARKET_PRICE_NODE=Nodo prezzo di mercato + + +################################################################################ +# Bonded roles about +################################################################################ + +# suppress inspection "UnusedProperty" +user.bondedRoles.type.MEDIATOR.about.inline=mediatore +# suppress inspection "UnusedProperty" +user.bondedRoles.type.ARBITRATOR.about.inline=arbitro +# suppress inspection "UnusedProperty" +user.bondedRoles.type.MODERATOR.about.inline=moderatore +# suppress inspection "UnusedProperty" +user.bondedRoles.type.SECURITY_MANAGER.about.inline=responsabile della sicurezza +# suppress inspection "UnusedProperty" +user.bondedRoles.type.RELEASE_MANAGER.about.inline=responsabile rilascio + +# suppress inspection "UnusedProperty" +user.bondedRoles.type.ORACLE_NODE.about.inline=operatore del nodo Oracle +# suppress inspection "UnusedProperty" +user.bondedRoles.type.SEED_NODE.about.inline=operatore del nodo seed +# suppress inspection "UnusedProperty" +user.bondedRoles.type.EXPLORER_NODE.about.inline=operatore del nodo esploratore +# suppress inspection "UnusedProperty" +user.bondedRoles.type.MARKET_PRICE_NODE.about.inline=operatore del nodo prezzo di mercato + +user.bondedRoles.registration.hideInfo=Nascondi istruzioni +user.bondedRoles.registration.showInfo=Mostra istruzioni + +user.bondedRoles.registration.about.headline=Informazioni sul ruolo di {0} + +# suppress inspection "UnusedProperty" +user.bondedRoles.type.MEDIATOR.about.info=Se ci sono conflitti in un trade di Bisq Easy, i trader possono richiedere l'aiuto di un mediatore.\nIl mediatore non ha poteri coercitivi e può solo cercare di assistere nella ricerca di una soluzione cooperativa. In caso di violazioni evidenti delle regole di trade o tentativi di truffa, il mediatore può fornire informazioni al moderatore per bannare il malintenzionato dalla rete.\nMediatori e arbitri di Bisq 1 possono diventare mediatori di Bisq 2 senza bloccare un nuovo BSQ bond. +# suppress inspection "UnusedProperty" +user.bondedRoles.type.MODERATOR.about.info=Gli utenti della chat possono segnalare violazioni delle regole della chat o del trade al moderatore.\nNel caso le informazioni fornite siano sufficienti a verificare una violazione delle regole, il moderatore può bannare quell'utente dalla rete.\nIn caso di violazioni gravi di un venditore che aveva guadagnato una sorta di reputazione, la reputazione diventa invalidata e i dati sorgente pertinenti (come la transazione DAO o i dati dell'età dell'account) verranno messi in blacklist in Bisq 2 e segnalati a Bisq 1 dall'operatore Oracle e l'utente verrà bannato anche su Bisq 1. +# suppress inspection "UnusedProperty" +user.bondedRoles.type.SECURITY_MANAGER.about.info=Un responsabile della sicurezza può inviare un messaggio di allarme in caso di situazioni di emergenza. +# suppress inspection "UnusedProperty" +user.bondedRoles.type.RELEASE_MANAGER.about.info=Un responsabile rilascio può inviare notifiche quando è disponibile un nuovo rilascio. + +# suppress inspection "UnusedProperty" +user.bondedRoles.type.SEED_NODE.about.info=Un nodo seed fornisce gli indirizzi di rete dei partecipanti alla rete per l'avvio della rete P2P di Bisq 2.\nQuesto è essenziale all'inizio quando il nuovo utente non ha ancora dati persistiti per connettersi ad altri peer.\nFornisce anche dati di rete P2P come messaggi di chat all'utente appena connesso. Anche altri nodi di rete svolgono questo servizio di consegna dati, ma i nodi seed, avendo una disponibilità 24 ore su 24 e un alto livello di qualità del servizio, garantiscono maggiore stabilità e migliori prestazioni, migliorando così l'esperienza di avvio.\nGli operatori dei nodi seed di Bisq 1 possono diventare operatori di nodi seed di Bisq 2 senza bloccare un nuovo BSQ bond. +# suppress inspection "UnusedProperty" +user.bondedRoles.type.ORACLE_NODE.about.info=Il nodo Oracle è utilizzato per fornire dati Bisq 1 e DAO per casi d'uso di Bisq 2 come la reputazione. +# suppress inspection "UnusedProperty" +user.bondedRoles.type.EXPLORER_NODE.about.info=Il nodo esploratore della blockchain viene utilizzato in Bisq Easy per la ricerca delle transazioni del pagamento Bitcoin. +# suppress inspection "UnusedProperty" +user.bondedRoles.type.MARKET_PRICE_NODE.about.info=Il nodo del prezzo di mercato fornisce dati di mercato dall'aggregatore del prezzo di mercato di Bisq. + + +################################################################################ +# Bonded roles how +################################################################################ + +# suppress inspection "UnusedProperty" +user.bondedRoles.type.MEDIATOR.how.inline=un mediatore +# suppress inspection "UnusedProperty" +user.bondedRoles.type.ARBITRATOR.how.inline=un arbitro +# suppress inspection "UnusedProperty" +user.bondedRoles.type.MODERATOR.how.inline=un moderatore +# suppress inspection "UnusedProperty" +user.bondedRoles.type.SECURITY_MANAGER.how.inline=un responsabile della sicurezza +# suppress inspection "UnusedProperty" +user.bondedRoles.type.RELEASE_MANAGER.how.inline=un responsabile delle release + +# suppress inspection "UnusedProperty" +user.bondedRoles.type.SEED_NODE.how.inline=un operatore di nodi seed +# suppress inspection "UnusedProperty" +user.bondedRoles.type.ORACLE_NODE.how.inline=un operatore di nodi oracle +# suppress inspection "UnusedProperty" +user.bondedRoles.type.EXPLORER_NODE.how.inline=un operatore di nodi esplorativi +# suppress inspection "UnusedProperty" +user.bondedRoles.type.MARKET_PRICE_NODE.how.inline=un operatore di nodi del prezzo di mercato + +user.bondedRoles.registration.how.headline=Come diventare {0}? + +user.bondedRoles.registration.how.info=1. Seleziona il profilo utente che desideri utilizzare per la registrazione e crea un backup della tua directory dei dati.\n3. Presenta una proposta su 'https://github.com/bisq-network/proposals' per diventare {0} e aggiungi il tuo ID profilo alla proposta.\n4. Dopo che la tua proposta è stata esaminata e ha ottenuto il sostegno della comunità, fai una proposta DAO per un ruolo con bond.\n5. Después de que tu propuesta DAO sea aceptada en la votación DAO, bloquea el bono BSQ requerido.\n6. Después de que tu transacción de bono sea confirmada, ve a 'DAO/Bonding/Roles vinculados' en Bisq 1 y haz clic en el botón de firmar para abrir la ventana emergente de firma.\n7. Copia l''ID del profilo e incollalo nel campo del messaggio. Fai clic su firma e copia la firma. Incolla la firma nel campo firma di Bisq 2.\n8. Inserisci il nome utente del detentore del bond.\n{1} + +user.bondedRoles.registration.how.info.role=9. Clicca sul pulsante 'Richiedi registrazione'. Se tutto è stato corretto, la tua registrazione diventa visibile nella tabella Ruoli con bond registrati. + +user.bondedRoles.registration.how.info.node=9. Copia il file 'default_node_address.json' dalla directory dati del nodo a cui desideri registrarti sul tuo hard disk e aprilo con il pulsante 'Importa indirizzo del nodo'.\n10. Clicca sul pulsante 'Richiedi registrazione'. Se tutto è stato corretto, la tua registrazione diventa visibile nella tabella Nodi di rete registrati. + + +################################################################################ +# Bonded roles registration +################################################################################ + +user.bondedRoles.registration.headline=Richiedi registrazione + +user.bondedRoles.registration.profileId=ID profilo +user.bondedRoles.registration.bondHolderName=Nome utente del possessore del bond +user.bondedRoles.registration.bondHolderName.prompt=Inserisci il nome utente del possessore del bond di Bisq 1 +user.bondedRoles.registration.signature=Firma +user.bondedRoles.registration.signature.prompt=Incolla la firma del tuo ruolo con bond +user.bondedRoles.registration.requestRegistration=Richiedi registrazione +user.bondedRoles.registration.success=La richiesta di registrazione è stata inviata con successo. Vedrai nella tabella sottostante se la registrazione è stata verificata e pubblicata con successo dall'operatore del nodo oracle. +user.bondedRoles.registration.failed=Invio della richiesta di registrazione non riuscito.\n\n\{0} +user.bondedRoles.registration.node.addressInfo=Dati dell'indirizzo del nodo +user.bondedRoles.registration.node.addressInfo.prompt=Importa il file 'default_node_address.json' dalla directory dati del nodo. +user.bondedRoles.registration.node.importAddress=Importa indirizzo nodo +user.bondedRoles.registration.node.pubKey=Chiave pubblica +user.bondedRoles.registration.node.privKey=Chiave privata +user.bondedRoles.registration.node.showKeyPair=Visualizza chiavi + +################################################################################ +# Bonded roles cancellation +################################################################################ + +user.bondedRoles.cancellation.requestCancellation=Richiedi cancellazione +user.bondedRoles.cancellation.success=La richiesta di cancellazione è stata inviata con successo. Vedrai nella tabella sottostante se la richiesta di cancellazione è stata verificata con successo e il ruolo rimosso dall'operatore del nodo oracle. +user.bondedRoles.cancellation.failed=Invio della richiesta di cancellazione non riuscito.\n\n\{0} + + +################################################################################ +# Registered bonded roles table +################################################################################ + +user.bondedRoles.table.headline.nodes=Nodi di rete registrati +user.bondedRoles.table.headline.roles=Ruoli con bond registrati + +user.bondedRoles.table.columns.isBanned=E' bannato +user.bondedRoles.table.columns.userProfile=Profilo utente +user.bondedRoles.table.columns.userProfile.defaultNode=Operatore di nodo con chiave staticamente fornita +user.bondedRoles.table.columns.profileId=ID profilo +user.bondedRoles.table.columns.signature=Firma +# Commented out in code ATM in RolesView +# suppress inspection "UnusedProperty" +user.bondedRoles.table.columns.oracleNode=Operatore del nodo oracle +user.bondedRoles.table.columns.bondUserName=Nome utente del bond + +user.bondedRoles.table.columns.role=Ruolo + +user.bondedRoles.table.columns.node=Nodo +user.bondedRoles.table.columns.node.address=Indirizzo +user.bondedRoles.table.columns.node.address.openPopup=Apri popup con i dati dell'indirizzo +user.bondedRoles.table.columns.node.address.popup.headline=Dati dell'indirizzo del nodo + + +################################################################################ +# Bonded roles verification +################################################################################ + +user.bondedRoles.verification.howTo.roles=Come verificare un ruolo con bond? +user.bondedRoles.verification.howTo.nodes=Come verificare un nodo di rete? +user.bondedRoles.verification.howTo.instruction=1. Apri Bisq 1 e vai su 'DAO/Bonding/Bonded roles' e seleziona il ruolo con il nome utente del bond e il tipo di ruolo.\n2. Fai clic sul pulsante di verifica, copia l'ID del profilo e incollalo nel campo del messaggio.\n3. Copia la firma e incollala nel campo firma in Bisq 1.\n4. Fai clic sul pulsante di verifica. Se il controllo della firma ha successo, il ruolo con bond è valido. + + + + diff --git a/pocs/android_only_m2_j17jars/app/src/main/resources/reputation_pcm.properties b/pocs/android_only_m2_j17jars/app/src/main/resources/reputation_pcm.properties new file mode 100644 index 00000000..4d55f652 --- /dev/null +++ b/pocs/android_only_m2_j17jars/app/src/main/resources/reputation_pcm.properties @@ -0,0 +1,319 @@ +################################################################################ +# Reputation +################################################################################ + +reputation=Reputation + +reputation.headline=How to build up reputation +reputation.info=For Bitcoin sellers e dey important to give reputation to di buyer, because di buyer go send di fiat amount first and need reason why dem go trust di seller. Di default value for di minimum required reputation score na 30,000 (you fit change am for 'Settings/OFFER AND TRADE').\nGaining reputation dey for experienced Bisq users wey sabi how Bisq dey work.\n\nYou fit provide reputation for different ways:\n\n1. Burning BSQ\n2. Setting up BSQ bond\n3. Importing signed account age witness from Bisq 1 account\n4. Importing account age from Bisq 1 account + +# suppress inspection "UnusedProperty" +reputation.source.BURNED_BSQ=Burning BSQ +# suppress inspection "UnusedProperty" +reputation.source.BSQ_BOND=Bonded BSQ +# suppress inspection "UnusedProperty" +reputation.source.PROFILE_AGE=Profile age +# suppress inspection "UnusedProperty" +reputation.source.BISQ1_ACCOUNT_AGE=Account age +# suppress inspection "UnusedProperty" +reputation.source.BISQ1_SIGNED_ACCOUNT_AGE_WITNESS=Signed witness + +reputation.pubKeyHash=Profile ID +reputation.weight=Weight +reputation.score=Score +reputation.totalScore=Total score +reputation.ranking=Ranking +reputation.score.formulaHeadline=Reputation score dey calculate like this: +reputation.score.tooltip=Score: {0}\nRanking: {1} + +reputation.burnBsq=Burning BSQ +reputation.burnedBsq.tab1=Why +reputation.burnedBsq.tab2=Score +reputation.burnedBsq.tab3=How-to +reputation.burnedBsq.infoHeadline=Skin in the game +reputation.burnedBsq.info=By burning BSQ, you dey provide evidence say you don put money for your reputation.\nThe burn BSQ transaction contain the hash of the public key of your profile. If you do any bad thing, the mediators fit ban your profile and your investment for your reputation go lost. +reputation.burnedBsq.infoHeadline2=What be the recommended amount to burn? +reputation.burnedBsq.info2=The amount go depend on the competition for sellers. The sellers with the highest reputation score go get better trade opportunities and fit get better price. The best offers wey get high reputation go dey promoted for the 'Trade wizard'.\n\nBuyers fit only select offers from sellers wey get reputation score of at least 30,000. This one na default value wey fit change for the preferences.\n\nIf burning BSQ no make sense for you, you fit consider other options wey dey available to build up reputation. +reputation.burnedBsq.score.headline=How e affect reputation score + +# Dynamically generated in BurnBsqTab2View +# suppress inspection "UnusedProperty" + +reputation.sim.headline=Simulation tool: +reputation.sim.burnAmount=BSQ amount +# Dynamically generated in BondScoreSimulation +# suppress inspection "UnusedProperty" +reputation.sim.burnAmount.prompt=Enter the BSQ amount +# suppress inspection "UnusedProperty" +reputation.sim.lockTime=Lock time for blocks +# Dynamically generated in BondScoreSimulation +# suppress inspection "UnusedProperty" +reputation.sim.lockTime.prompt=Enter lock time +reputation.sim.age=Age for days +# Dynamically generated in BondScoreSimulation +# suppress inspection "UnusedProperty" +reputation.sim.age.prompt=Enter the age for days +reputation.sim.score=Total score + +reputation.burnedBsq.howToHeadline=How to burn BSQ +reputation.burnedBsq.howTo=1. Select the user profile wey you wan attach the reputation.\n2. Copy the 'profile ID'\n3. Open Bisq 1 and go to 'DAO/PROOF OF BURN' and paste the copied value inside the 'pre-image' field.\n4. Enter the amount of BSQ wey you wan burn.\n5. Publish the Burn BSQ transaction.\n6. After blockchain confirmation, your reputation go show for your profile. + +reputation.bond=BSQ bonds +reputation.bond.tab1=Why +reputation.bond.tab2=Score +reputation.bond.tab3=How-to +reputation.bond.infoHeadline=Skin for di game +reputation.bond.info=As you set up BSQ bond, you dey show say you lock money to gain reputation.\nDi BSQ bond transaction get di hash of di public key of your profile. If you do any bad thing, DAO fit collect your bond and mediators fit ban your profile. +reputation.bond.infoHeadline2=Wetn be di recommended amount and lock time? +reputation.bond.info2=Di lock time need to be at least 50,000 blocks wey be about 1 year to be valid bond. Di amount na di user go choose am and e go determine di ranking to other sellers. Sellers wey get di highest reputation score go get better trade opportunities and fit get higher price premium. Di best offers ranked by reputation go dey promoted for di offer selection for 'Trade wizard'.\n\nBuyers fit only take offers from sellers wey get reputation score of at least 30,000. Dis na di default value and you fit change am for preferences.\n\nIf BSQ bond too stress you, consider di other available options for building reputation. +reputation.bond.score.headline=Impact on reputation score +# Dynamically generated in BondedReputationTab2View +# suppress inspection "UnusedProperty" + +reputation.bond.howToHeadline=How to set up BSQ bond +reputation.bond.howTo=1. Select the user profile wey you wan attach the reputation.\n2. Copy the 'profile ID'\n3. Open Bisq 1 and go to 'DAO/BONDING/BONDED REPUTATION' and paste the copied value inside the 'salt' field.\n4. Enter the amount of BSQ wey you wan lock up and the lock time (50 000 blocks).\n5. Publish the lockup transaction.\n6. After blockchain confirmation, your reputation go show for your profile. + +reputation.accountAge=Account age +reputation.accountAge.tab1=Why +reputation.accountAge.tab2=Score +reputation.accountAge.tab3=Import +reputation.accountAge.infoHeadline=Provide trust +reputation.accountAge.info=By linking your Bisq 1 'account age', you fit provide small level of trust.\n\nSome people go expect say user wey don use Bisq for some time na honest user. But this one no strong like other forms of reputation wey users dey provide strong proof with some financial resources. +reputation.accountAge.infoHeadline2=Privacy implications +reputation.accountAge.info2=Linking your Bisq 1 account with Bisq 2 get some implications on top your privacy. For verify your 'account age', your Bisq 1 identity go dey linked cryptographically to your Bisq 2 profile ID.\nBut, the exposure na limited to the 'Bisq 1 bridge node' wey Bisq contributor set up and him get BSQ bond (bonded role).\n\nAccount age na alternative for people wey no wan use burned BSQ or BSQ bonds because of financial cost. The 'account age' suppose dey at least several months old to show small level of trust. +reputation.accountAge.score.headline=How e affect reputation score +reputation.accountAge.score.info=Importing 'account age' na rather weak form of reputation wey dey represented by low weight factor.\nScore fit dey calculated for max of 2000 days. +# Dynamically generated in AccountAgeTab2View +# suppress inspection "UnusedProperty" +reputation.accountAge.totalScore=Account age in days * weight + +reputation.accountAge.import.step1.title=Step 1 +reputation.accountAge.import.step1.instruction=Select the user profile for which you want to attach the reputation. +reputation.accountAge.import.step2.title=Step 2 +reputation.accountAge.import.step2.instruction=Copy the profile ID to paste on Bisq 1. +reputation.accountAge.import.step2.profileId=Profile ID (Paste on the account screen on Bisq 1) +reputation.accountAge.import.step3.title=Step 3 +reputation.accountAge.import.step3.instruction1=3.1. - Open Bisq 1 and go to 'ACCOUNT/NATIONAL CURRENCY ACCOUNTS'. +reputation.accountAge.import.step3.instruction2=3.2. - Select the oldest account and click 'EXPORT ACCOUNT AGE FOR BISQ 2'. +reputation.accountAge.import.step3.instruction3=3.3. - This will create json data with a signature of your Bisq 2 Profile ID and copy it to the clipboard. +reputation.accountAge.import.step4.title=Step 4 +reputation.accountAge.import.step4.instruction=Paste di json data from di previous step +reputation.accountAge.import.step4.signedMessage=Json data from Bisq 1 + +reputation.signedWitness=Signed account age witness +reputation.signedWitness.tab1=Why +reputation.signedWitness.tab2=Score +reputation.signedWitness.tab3=How-to +reputation.signedWitness.infoHeadline=Provide trust +reputation.signedWitness.info=By linking your Bisq 1 'signed account age witness', you fit provide small level of trust.\n\nSome people go expect say user wey don trade for Bisq 1 before and e don get signed their account na honest user. But this one no strong like other forms of reputation wey users dey provide strong proof with financial resources. +reputation.signedWitness.infoHeadline2=Privacy implications +reputation.signedWitness.info2=Linking your Bisq 1 account with Bisq 2 get some implications on top your privacy. For verify your 'signed account age witness', your Bisq 1 identity go dey linked cryptographically to your Bisq 2 profile ID.\nBut, the exposure na limited to the 'Bisq 1 bridge node' wey Bisq contributor set up and him get BSQ bond (bonded role).\n\nSigned account age witness na alternative for people wey no wan use burned BSQ or BSQ bonds because of the financial cost. The 'signed account age witness' suppose dey at least 61 days old to fit show for reputation. +reputation.signedWitness.score.headline=How e affect reputation score +reputation.signedWitness.score.info=Importing 'signed account age witness' na weak form of reputation wey dey represented by weight factor. The 'signed account age witness' suppose dey at least 61 days old and score fit dey calculated for max of 2000 days. +# Dynamically generated in SignedWitnessTab2View +# suppress inspection "UnusedProperty" +reputation.signedWitness.totalScore=Witness-age in days * weight +reputation.signedWitness.import.step1.title=Step 1 +reputation.signedWitness.import.step1.instruction=Select di user profile wey you wan attach di reputation. +reputation.signedWitness.import.step2.title=Step 2 +reputation.signedWitness.import.step2.instruction=Copy di profile ID to paste for Bisq 1. +reputation.signedWitness.import.step2.profileId=Profile ID (Paste am for di account screen for Bisq 1) +reputation.signedWitness.import.step3.title=Step 3 +reputation.signedWitness.import.step3.instruction1=3.1. - Open Bisq 1 and go to 'ACCOUNT/NATIONAL CURRENCY ACCOUNTS'. +reputation.signedWitness.import.step3.instruction2=3.2. - Select di oldest account and click 'EXPORT SIGNED WITNESS FOR BISQ 2'. +reputation.signedWitness.import.step3.instruction3=3.3. - Dis go create json data with signature of your Bisq 2 Profile ID and copy am to di clipboard. +reputation.signedWitness.import.step4.title=Step 4 +reputation.signedWitness.import.step4.instruction=Paste di json data from di previous step +reputation.signedWitness.import.step4.signedMessage=Json data from Bisq 1 + +reputation.request=Request authorization +reputation.request.success=Successfully requested authorization from Bisq 1 bridge node\n\nYour reputation data should now be available in the network. +reputation.request.error=Requesting authorization failed. Text from clipboard:\n\{0} + +reputation.table.headline=Reputation ranking +reputation.table.columns.userProfile=User profile +reputation.table.columns.profileAge=Profile age +reputation.table.columns.livenessState=Last user activity +reputation.table.columns.reputationScore=Reputation score +reputation.table.columns.reputation=Reputation +reputation.table.columns.details=Details +reputation.table.columns.details.popup.headline=Reputation details +reputation.table.columns.details.button=Show details + +reputation.details.table.columns.source=Type +reputation.details.table.columns.lockTime=Lock time +reputation.details.table.columns.score=Score + + +################################################################################ +# Bonded roles +################################################################################ + +user.bondedRoles.headline.roles=Bonded roles +user.bondedRoles.headline.nodes=Network nodes + + +################################################################################ +# Bonded Role Types +################################################################################ + +user.bondedRoles.type.MEDIATOR=Mediator +# suppress inspection "UnusedProperty" +user.bondedRoles.type.ARBITRATOR=Arbitrator +user.bondedRoles.type.MODERATOR=Moderator +user.bondedRoles.type.SECURITY_MANAGER=Security manager +user.bondedRoles.type.RELEASE_MANAGER=Release manager + +user.bondedRoles.type.ORACLE_NODE=Oracle node +user.bondedRoles.type.SEED_NODE=Seed node +user.bondedRoles.type.EXPLORER_NODE=Explorer node +user.bondedRoles.type.MARKET_PRICE_NODE=Market price node + + +################################################################################ +# Bonded roles about +################################################################################ + +# suppress inspection "UnusedProperty" +user.bondedRoles.type.MEDIATOR.about.inline=mediator +# suppress inspection "UnusedProperty" +user.bondedRoles.type.ARBITRATOR.about.inline=arbitrator +# suppress inspection "UnusedProperty" +user.bondedRoles.type.MODERATOR.about.inline=moderator +# suppress inspection "UnusedProperty" +user.bondedRoles.type.SECURITY_MANAGER.about.inline=security manager +# suppress inspection "UnusedProperty" +user.bondedRoles.type.RELEASE_MANAGER.about.inline=release manager + +# suppress inspection "UnusedProperty" +user.bondedRoles.type.ORACLE_NODE.about.inline=oracle node operator +# suppress inspection "UnusedProperty" +user.bondedRoles.type.SEED_NODE.about.inline=seed node operator +# suppress inspection "UnusedProperty" +user.bondedRoles.type.EXPLORER_NODE.about.inline=explorer node operator +# suppress inspection "UnusedProperty" +user.bondedRoles.type.MARKET_PRICE_NODE.about.inline=market price node operator + +user.bondedRoles.registration.hideInfo=Hide instructions +user.bondedRoles.registration.showInfo=Show instructions + +user.bondedRoles.registration.about.headline=About the {0} role + +# suppress inspection "UnusedProperty" +user.bondedRoles.type.MEDIATOR.about.info=If there dey any wahala for Bisq Easy trade, traders fit request help from mediator.\nMediator no get power to enforce anytin, e fit just try assist to find agreement. If dem breach the trade rules or try scam, mediator fit give info to moderator make dem ban the bad actor from the network.\nMediators and arbitrators wey dey for Bisq 1 fit become Bisq 2 mediators without locking up new BSQ bond. +# suppress inspection "UnusedProperty" +user.bondedRoles.type.MODERATOR.about.info=Chat users fit report any breach of chat or trade rules to moderator.\nIf the info wey dem provide dey enough to prove say person breach the rules, moderator fit ban the user from the network.\nIf pesin way get some kain reputation violate seriously and the reputation go loss value, the relevant source data (like the DAO transaction or account age data) go blacklisted for Bisq 2 and dem go report am for Bisq 1 through oracle operator and dem go ban the user for Bisq 1 too. +# suppress inspection "UnusedProperty" +user.bondedRoles.type.SECURITY_MANAGER.about.info=Security manager fit send alert message if emergency situation show face. +# suppress inspection "UnusedProperty" +user.bondedRoles.type.RELEASE_MANAGER.about.info=Release manager fit send notification wen new release dey available. + +# suppress inspection "UnusedProperty" +user.bondedRoles.type.SEED_NODE.about.info=Seed node dey provide network addresses of network participants for bootstrapping to the Bisq 2 P2P network.\nE dey important especially wen person just start as at that time, the new user no get any data for connection to other peers.\nSeed node still dey provide P2P network data like chat messages to newly connecting user. Any other network node fit perform the data delivery, but seed nodes get 24/7 availability and better service quality, so dem dey more stable and perform better, wey make dem dey lead to better bootstrap experience.\nSeed node operators from Bisq 1 fit become Bisq 2 seed node operators without locking up new BSQ bond. +# suppress inspection "UnusedProperty" +user.bondedRoles.type.ORACLE_NODE.about.info=Oracle node dey use to provide Bisq 1 and DAO data for Bisq 2 use cases like reputation. +# suppress inspection "UnusedProperty" +user.bondedRoles.type.EXPLORER_NODE.about.info=Blockchain explorer node dey use for transaction lookup of the Bitcoin transaction for Bisq Easy. +# suppress inspection "UnusedProperty" +user.bondedRoles.type.MARKET_PRICE_NODE.about.info=Market price node dey provide market data from the Bisq market price aggregator. + + +################################################################################ +# Bonded roles how +################################################################################ + +# suppress inspection "UnusedProperty" +user.bondedRoles.type.MEDIATOR.how.inline=person wey fit mediate +# suppress inspection "UnusedProperty" +user.bondedRoles.type.ARBITRATOR.how.inline=person wey fit arbitrate +# suppress inspection "UnusedProperty" +user.bondedRoles.type.MODERATOR.how.inline=person wey fit moderate +# suppress inspection "UnusedProperty" +user.bondedRoles.type.SECURITY_MANAGER.how.inline=person wey fit manage security +# suppress inspection "UnusedProperty" +user.bondedRoles.type.RELEASE_MANAGER.how.inline=person wey fit manage release + +# suppress inspection "UnusedProperty" +user.bondedRoles.type.SEED_NODE.how.inline=person wey dey operate seed node +# suppress inspection "UnusedProperty" +user.bondedRoles.type.ORACLE_NODE.how.inline=person wey dey operate oracle node +# suppress inspection "UnusedProperty" +user.bondedRoles.type.EXPLORER_NODE.how.inline=person wey dey operate explorer node +# suppress inspection "UnusedProperty" +user.bondedRoles.type.MARKET_PRICE_NODE.how.inline=person wey dey operate market price node + +user.bondedRoles.registration.how.headline=How to become {0}? + +user.bondedRoles.registration.how.info=1. Select the user profile wey you wan use for registration and create backup for your data directory.\n2. Make proposal for 'https://github.com/bisq-network/proposals' to become {0} and add your profile ID for the proposal.\n3. After your proposal don review and community support am, make DAO proposal for bonded role.\n4. After your DAO proposal don accept for DAO voting, lock up the required BSQ bond.\n5. After your bond transaction don confirm, go 'DAO/Bonding/Bonded roles' for Bisq 1 and click sign button make signing popup window show.\n6. Copy profile ID and paste am for message field. Click sign and copy signature. Paste signature for Bisq 2 signature field.\n7. Enter bondholder username.\n{1} + +user.bondedRoles.registration.how.info.role=8. Click 'Request registration' button. If everything correct, your registration go show for Registered bonded roles table. + +user.bondedRoles.registration.how.info.node=8. Copy 'default_node_address.json' file from data directory of node wey you wan register, go your hard drive and open am with 'Import node address' button.\n9. Click 'Request registration' button. If everything correct, your registration go show for Registered network nodes table. + + +################################################################################ +# Bonded roles registration +################################################################################ + +user.bondedRoles.registration.headline=Request registration + +user.bondedRoles.registration.profileId=Profile ID +user.bondedRoles.registration.bondHolderName=Username of bond holder +user.bondedRoles.registration.bondHolderName.prompt=Enter the username of the Bisq 1 bond holder +user.bondedRoles.registration.signature=Signature +user.bondedRoles.registration.signature.prompt=Paste the signature from your bonded role +user.bondedRoles.registration.requestRegistration=Request registration +user.bondedRoles.registration.success=Registration request don successfully send. You go see for the table down if the registration don verify and publish by the oracle node. +user.bondedRoles.registration.failed=Sending the registration request fail.\n\n\{0} +user.bondedRoles.registration.node.addressInfo=Node address data +user.bondedRoles.registration.node.addressInfo.prompt=Import the 'default_node_address.json' file from the node data directory. +user.bondedRoles.registration.node.importAddress=Import node address +user.bondedRoles.registration.node.pubKey=Public key +user.bondedRoles.registration.node.privKey=Private key +user.bondedRoles.registration.node.showKeyPair=Show key pair + +################################################################################ +# Bonded roles cancellation +################################################################################ + +user.bondedRoles.cancellation.requestCancellation=Request cancellation +user.bondedRoles.cancellation.success=Cancellation request don successfully send. You go see for the table down if the cancellation request don verify and the role don remove by the oracle node. +user.bondedRoles.cancellation.failed=Sending the cancellation request fail.\n\n\{0} + + +################################################################################ +# Registered bonded roles table +################################################################################ + +user.bondedRoles.table.headline.nodes=Registered network nodes +user.bondedRoles.table.headline.roles=Registered bonded roles + +user.bondedRoles.table.columns.isBanned=Dem don ban am? +user.bondedRoles.table.columns.userProfile=User profile +user.bondedRoles.table.columns.userProfile.defaultNode=Node operator with statically provided key +user.bondedRoles.table.columns.profileId=Profile ID +user.bondedRoles.table.columns.signature=Signature +# Commented out in code ATM in RolesView +# suppress inspection "UnusedProperty" +user.bondedRoles.table.columns.oracleNode=Oracle node +user.bondedRoles.table.columns.bondUserName=Bond username + +user.bondedRoles.table.columns.role=Role + +user.bondedRoles.table.columns.node=Node +user.bondedRoles.table.columns.node.address=Address +user.bondedRoles.table.columns.node.address.openPopup=Open address data popup +user.bondedRoles.table.columns.node.address.popup.headline=Node address data + + +################################################################################ +# Bonded roles verification +################################################################################ + +user.bondedRoles.verification.howTo.roles=How to verify a bonded role? +user.bondedRoles.verification.howTo.nodes=How to verify a network node? +user.bondedRoles.verification.howTo.instruction=1. Open Bisq 1 and go 'DAO/Bonding/Bonded roles' and select the role by the bond-username and the role type.\n2. Click on the verify button, copy the profile ID and paste am for the message field.\n3. Copy the signature and paste am for the signature field for Bisq 1.\n4. Click the verify button. If the signature check succeed, the bonded role dey valid. + + + + diff --git a/pocs/android_only_m2_j17jars/app/src/main/resources/reputation_pt_BR.properties b/pocs/android_only_m2_j17jars/app/src/main/resources/reputation_pt_BR.properties new file mode 100644 index 00000000..46ce6876 --- /dev/null +++ b/pocs/android_only_m2_j17jars/app/src/main/resources/reputation_pt_BR.properties @@ -0,0 +1,319 @@ +################################################################################ +# Reputation +################################################################################ + +reputation=Reputação + +reputation.headline=Como construir reputação +reputation.info=Para vendedores de Bitcoin, é importante fornecer reputação ao comprador, pois o comprador enviará primeiro o valor em moeda fiduciária e precisa de um motivo para confiar no vendedor. O valor padrão para a pontuação mínima de reputação necessária é 30 000 (pode ser alterado em 'Configurações/Preferências').\nGanhar reputação é destinado a usuários experientes do Bisq que estão familiarizados com o Bisq.\n\nExistem várias opções para fornecer reputação:\n\n1. Queimar BSQ\n2. Estabelecer um vínculo BSQ\n3. Importar a testemunha de idade da conta assinada de uma conta Bisq 1\n4. Importar a idade da conta de uma conta Bisq 1 + +# suppress inspection "UnusedProperty" +reputation.source.BURNED_BSQ=BSQ queimado +# suppress inspection "UnusedProperty" +reputation.source.BSQ_BOND=BSQ vinculado +# suppress inspection "UnusedProperty" +reputation.source.PROFILE_AGE=Idade do perfil +# suppress inspection "UnusedProperty" +reputation.source.BISQ1_ACCOUNT_AGE=Idade da conta +# suppress inspection "UnusedProperty" +reputation.source.BISQ1_SIGNED_ACCOUNT_AGE_WITNESS=Testemunha assinada + +reputation.pubKeyHash=ID do perfil +reputation.weight=Peso +reputation.score=Pontuação +reputation.totalScore=Pontuação total +reputation.ranking=Classificação +reputation.score.formulaHeadline=A pontuação de reputação é calculada da seguinte forma: +reputation.score.tooltip=Puntuación: {0}\nRanking: {1} + +reputation.burnBsq=Queimar BSQ +reputation.burnedBsq.tab1=Por quê +reputation.burnedBsq.tab2=Pontuação +reputation.burnedBsq.tab3=Como fazer +reputation.burnedBsq.infoHeadline=Investimento no jogo +reputation.burnedBsq.info=Ao queimar BSQ, você fornece evidências de que investiu dinheiro na sua reputação.\nA transação de queima de BSQ contém o hash da chave pública do seu perfil. Em caso de comportamento malicioso, seu perfil pode ser banido pelos mediadores e, com isso, seu investimento na sua reputação se tornaria inútil. +reputation.burnedBsq.infoHeadline2=Qual é a quantidade recomendada para queimar? +reputation.burnedBsq.info2=Isso será determinado pela competição entre vendedores. Os vendedores com a maior pontuação de reputação terão melhores oportunidades de comércio e poderão obter um prêmio de preço mais alto. As melhores ofertas classificadas por reputação serão promovidas na seleção de ofertas no 'Assistente de Comércio'.\n\nOs compradores só podem aceitar ofertas de vendedores com uma pontuação de reputação de pelo menos 30 000. Este é o valor padrão e pode ser alterado nas preferências.\n\nSe queimar BSQ for indesejável, considere as outras opções disponíveis para construir reputação. +reputation.burnedBsq.score.headline=Impacto na pontuação de reputação + +# Dynamically generated in BurnBsqTab2View +# suppress inspection "UnusedProperty" + +reputation.sim.headline=Ferramenta de simulação: +reputation.sim.burnAmount=Quantidade de BSQ +# Dynamically generated in BondScoreSimulation +# suppress inspection "UnusedProperty" +reputation.sim.burnAmount.prompt=Digite a quantidade de BSQ +# suppress inspection "UnusedProperty" +reputation.sim.lockTime=Tempo de bloqueio em blocos +# Dynamically generated in BondScoreSimulation +# suppress inspection "UnusedProperty" +reputation.sim.lockTime.prompt=Digite o tempo de bloqueio +reputation.sim.age=Idade em dias +# Dynamically generated in BondScoreSimulation +# suppress inspection "UnusedProperty" +reputation.sim.age.prompt=Digite a idade em dias +reputation.sim.score=Pontuação total + +reputation.burnedBsq.howToHeadline=Processo para queimar BSQ +reputation.burnedBsq.howTo=1. Selecione o perfil de usuário para o qual você deseja anexar a reputação.\n2. Copie o 'ID do perfil'\n3. Abra o Bisq 1 e vá para 'DAO/PROVA DE QUEIMA' e cole o valor copiado no campo 'pré-imagem'.\n4. Digite a quantidade de BSQ que você deseja queimar.\n5. Publique a transação de queima de BSQ.\n6. Após a confirmação da blockchain, sua reputação se tornará visível no seu perfil. + +reputation.bond=Vínculos BSQ +reputation.bond.tab1=Por quê +reputation.bond.tab2=Pontuação +reputation.bond.tab3=Como fazer +reputation.bond.infoHeadline=Compromisso com o jogo +reputation.bond.info=Configurando um vínculo BSQ, você fornece evidências de que bloqueou dinheiro para ganhar reputação.\nA transação do vínculo BSQ contém o hash da chave pública do seu perfil. Em caso de comportamento malicioso, seu vínculo pode ser confiscado pela DAO e seu perfil pode ser banido pelos mediadores. +reputation.bond.infoHeadline2=Qual é o valor e o tempo de bloqueio recomendados? +reputation.bond.info2=O tempo de bloqueio deve ser de pelo menos 50 000 blocos, aproximadamente 1 ano, para ser considerado um vínculo válido. O valor pode ser escolhido pelo usuário e determinará a classificação em relação aos outros vendedores. Vendedores com pontuação de reputação mais alta terão melhores oportunidades de negociação e poderão obter um prêmio de preço mais alto. As melhores ofertas classificadas por reputação serão promovidas na seleção de ofertas no 'Assistente de negociação'.\n\nCompradores só podem aceitar ofertas de vendedores com uma pontuação de reputação de pelo menos 30 000. Este é o valor padrão e pode ser alterado nas preferências.\n\nSe um vínculo BSQ for muito complicado, considere as outras opções disponíveis para construir reputação. +reputation.bond.score.headline=Impacto na pontuação de reputação +# Dynamically generated in BondedReputationTab2View +# suppress inspection "UnusedProperty" + +reputation.bond.howToHeadline=Processo para configurar um vínculo BSQ +reputation.bond.howTo=1. Selecione o perfil de usuário para o qual você deseja anexar a reputação.\n2. Copie o 'ID do perfil'\n3. Abra o Bisq 1 e vá para 'DAO/BONDING/BONDED REPUTATION' e cole o valor copiado no campo 'salt'.\n4. Insira a quantidade de BSQ que deseja bloquear e o tempo de bloqueio (50 000 blocos).\n5. Publique a transação de bloqueio.\n6. Após a confirmação da blockchain, sua reputação será visível em seu perfil. + +reputation.accountAge=Idade da conta +reputation.accountAge.tab1=Por quê +reputation.accountAge.tab2=Pontuação +reputation.accountAge.tab3=Importar +reputation.accountAge.infoHeadline=Proporcionar confiança +reputation.accountAge.info=Ao vincular sua 'idade da conta' do Bisq 1, você pode fornecer algum nível de confiança.\n\nExistem algumas expectativas razoáveis de que um usuário que usa o Bisq há algum tempo seja um usuário honesto. Mas essa expectativa é fraca comparada a outras formas de reputação onde o usuário fornece provas mais fortes com o uso de recursos financeiros. +reputation.accountAge.infoHeadline2=Implicações de privacidade +reputation.accountAge.info2=Vincular sua conta do Bisq 1 com o Bisq 2 tem algumas implicações na sua privacidade. Para verificar sua 'idade da conta', sua identidade do Bisq 1 fica criptograficamente vinculada ao seu ID de perfil do Bisq 2.\nNo entanto, a exposição é limitada ao 'nó ponte do Bisq 1', que é operado por um contribuidor do Bisq que estabeleceu um vínculo BSQ (função vinculada).\n\nA idade da conta é uma alternativa para aqueles que não querem usar BSQ queimado ou vínculos BSQ devido ao custo financeiro. A 'idade da conta' deve ter pelo menos vários meses para refletir algum nível de confiança. +reputation.accountAge.score.headline=Impacto na pontuação de reputação +reputation.accountAge.score.info=Importar a 'idade da conta' é considerada uma forma bastante fraca de reputação, o que é representado pelo baixo fator de peso.\nExiste um limite de 2000 dias para o cálculo da pontuação. +# Dynamically generated in AccountAgeTab2View +# suppress inspection "UnusedProperty" +reputation.accountAge.totalScore=Idade da conta em dias * peso + +reputation.accountAge.import.step1.title=Passo 1 +reputation.accountAge.import.step1.instruction=Selecione o perfil do usuário ao qual você deseja anexar a reputação. +reputation.accountAge.import.step2.title=Passo 2 +reputation.accountAge.import.step2.instruction=Copie o ID do perfil para colar no Bisq 1. +reputation.accountAge.import.step2.profileId=ID do Perfil (Cole na tela da conta no Bisq 1) +reputation.accountAge.import.step3.title=Passo 3 +reputation.accountAge.import.step3.instruction1=3.1. - Abra o Bisq 1 e vá para 'CONTA/CONTAS DE MOEDA NACIONAL'. +reputation.accountAge.import.step3.instruction2=3.2. - Selecione a conta mais antiga e clique em 'EXPORTAR IDADE DA CONTA PARA BISQ 2'. +reputation.accountAge.import.step3.instruction3=3.3. - Isso criará dados json com a assinatura do seu ID de Perfil da Bisq 2 e o copiará para a área de transferência. +reputation.accountAge.import.step4.title=Passo 4 +reputation.accountAge.import.step4.instruction=Cole os dados json do passo anterior +reputation.accountAge.import.step4.signedMessage=Dados json da Bisq 1 + +reputation.signedWitness=Testemunha Assinada +reputation.signedWitness.tab1=Por quê +reputation.signedWitness.tab2=Pontuação +reputation.signedWitness.tab3=Como fazer +reputation.signedWitness.infoHeadline=Proporcionar confiança +reputation.signedWitness.info=Ao vincular sua 'testemunha de idade da conta assinada' do Bisq 1, você pode fornecer algum nível de confiança.\n\nExistem algumas expectativas razoáveis de que um usuário que negociou há um tempo no Bisq 1 e teve sua conta assinada seja um usuário honesto. Mas essa expectativa é fraca comparada a outras formas de reputação onde o usuário fornece mais "investimento no jogo" com o uso de recursos financeiros. +reputation.signedWitness.infoHeadline2=Implicações de privacidade +reputation.signedWitness.info2=Vincular sua conta do Bisq 1 com o Bisq 2 tem algumas implicações na sua privacidade. Para verificar sua 'testemunha de idade da conta assinada', sua identidade do Bisq 1 fica criptograficamente vinculada ao seu ID de perfil do Bisq 2.\nNo entanto, a exposição é limitada ao 'nó ponte do Bisq 1', que é operado por um contribuidor do Bisq que estabeleceu um vínculo BSQ (função vinculada).\n\nA testemunha de idade da conta assinada é uma alternativa para aqueles que não querem usar BSQ queimado ou vínculos BSQ devido ao ônus financeiro. A 'testemunha de idade da conta assinada' deve ter pelo menos 61 dias para ser considerada para reputação. +reputation.signedWitness.score.headline=Impacto na pontuação de reputação +reputation.signedWitness.score.info=Importar a 'testemunha de idade da conta assinada' é considerada uma forma fraca de reputação, que é representada pelo fator de peso. A 'testemunha de idade da conta assinada' deve ter pelo menos 61 dias e existe um limite de 2000 dias para o cálculo da pontuação. +# Dynamically generated in SignedWitnessTab2View +# suppress inspection "UnusedProperty" +reputation.signedWitness.totalScore=Idade da testemunha em dias * peso +reputation.signedWitness.import.step1.title=Passo 1 +reputation.signedWitness.import.step1.instruction=Selecione o perfil de usuário ao qual você deseja atribuir a reputação. +reputation.signedWitness.import.step2.title=Passo 2 +reputation.signedWitness.import.step2.instruction=Copie o ID de perfil para colar na Bisq 1. +reputation.signedWitness.import.step2.profileId=ID de perfil (Cole na tela de conta na Bisq 1) +reputation.signedWitness.import.step3.title=Passo 3 +reputation.signedWitness.import.step3.instruction1=3.1. - Abra a Bisq 1 e vá para 'CONTA/CONTAS DE MOEDA NACIONAL'. +reputation.signedWitness.import.step3.instruction2=3.2. - Selecione a conta mais antiga e clique em 'EXPORTAR TESTEMUNHA ASSINADA PARA BISQ 2'. +reputation.signedWitness.import.step3.instruction3=3.3. - Isso criará dados json com a assinatura do seu ID de Perfil da Bisq 2 e o copiará para a área de transferência. +reputation.signedWitness.import.step4.title=Passo 4 +reputation.signedWitness.import.step4.instruction=Cole os dados json do passo anterior +reputation.signedWitness.import.step4.signedMessage=Dados json da Bisq 1 + +reputation.request=Solicitar autorização +reputation.request.success=Solicitação de autorização do nó ponte do Bisq 1 realizada com sucesso\n\nSeus dados de reputação agora devem estar disponíveis na rede. +reputation.request.error=Falha ao solicitar autorização. Texto da área de transferência:\n\{0} + +reputation.table.headline=Classificação de reputação +reputation.table.columns.userProfile=Perfil do usuário +reputation.table.columns.profileAge=Idade do perfil +reputation.table.columns.livenessState=Última vez visto +reputation.table.columns.reputationScore=Pontuação de reputação +reputation.table.columns.reputation=Reputação +reputation.table.columns.details=Detalhes +reputation.table.columns.details.popup.headline=Detalhes da reputação +reputation.table.columns.details.button=Mostrar detalhes + +reputation.details.table.columns.source=Tipo +reputation.details.table.columns.lockTime=Tempo de bloqueio +reputation.details.table.columns.score=Pontuação + + +################################################################################ +# Bonded roles +################################################################################ + +user.bondedRoles.headline.roles=Papéis vinculados +user.bondedRoles.headline.nodes=Nós da rede + + +################################################################################ +# Bonded Role Types +################################################################################ + +user.bondedRoles.type.MEDIATOR=Mediador +# suppress inspection "UnusedProperty" +user.bondedRoles.type.ARBITRATOR=Árbitro +user.bondedRoles.type.MODERATOR=Moderador +user.bondedRoles.type.SECURITY_MANAGER=Gerente de segurança +user.bondedRoles.type.RELEASE_MANAGER=Gerente de lançamento + +user.bondedRoles.type.ORACLE_NODE=Nó oráculo +user.bondedRoles.type.SEED_NODE=Nó semente +user.bondedRoles.type.EXPLORER_NODE=Nó explorador +user.bondedRoles.type.MARKET_PRICE_NODE=Nó de preço de mercado + + +################################################################################ +# Bonded roles about +################################################################################ + +# suppress inspection "UnusedProperty" +user.bondedRoles.type.MEDIATOR.about.inline=mediador +# suppress inspection "UnusedProperty" +user.bondedRoles.type.ARBITRATOR.about.inline=árbitro +# suppress inspection "UnusedProperty" +user.bondedRoles.type.MODERATOR.about.inline=moderador +# suppress inspection "UnusedProperty" +user.bondedRoles.type.SECURITY_MANAGER.about.inline=gerente de segurança +# suppress inspection "UnusedProperty" +user.bondedRoles.type.RELEASE_MANAGER.about.inline=gerente de lançamento + +# suppress inspection "UnusedProperty" +user.bondedRoles.type.ORACLE_NODE.about.inline=operador de nó oráculo +# suppress inspection "UnusedProperty" +user.bondedRoles.type.SEED_NODE.about.inline=operador de nó semente +# suppress inspection "UnusedProperty" +user.bondedRoles.type.EXPLORER_NODE.about.inline=operador de nó explorador +# suppress inspection "UnusedProperty" +user.bondedRoles.type.MARKET_PRICE_NODE.about.inline=operador de nó de preço de mercado + +user.bondedRoles.registration.hideInfo=Ocultar instruções +user.bondedRoles.registration.showInfo=Mostrar instruções + +user.bondedRoles.registration.about.headline=Sobre o papel de {0} + +# suppress inspection "UnusedProperty" +user.bondedRoles.type.MEDIATOR.about.info=Se houver conflitos em uma negociação Bisq Easy, os negociadores podem solicitar ajuda de um mediador.\nO mediador não tem poder de execução e só pode tentar ajudar a encontrar uma resolução cooperativa. Em caso de violações claras das regras de negociação ou tentativas de golpe, o mediador pode fornecer informações ao moderador para banir o malfeitor da rede.\nMediadores e árbitros do Bisq 1 podem se tornar mediadores do Bisq 2 sem bloquear um novo vínculo BSQ. +# suppress inspection "UnusedProperty" +user.bondedRoles.type.MODERATOR.about.info=Usuários do chat podem reportar violações das regras de chat ou negociação ao moderador.\nCaso as informações fornecidas sejam suficientes para verificar uma violação de regra, o moderador pode banir esse usuário da rede.\nEm caso de violações graves de um vendedor que tenha obtido algum tipo de reputação, a reputação se torna invalidada e os dados relevantes da fonte (como a transação DAO ou dados de idade da conta) serão colocados na lista negra no Bisq 2 e reportados de volta ao Bisq 1 pelo operador do oráculo e o usuário também será banido no Bisq 1. +# suppress inspection "UnusedProperty" +user.bondedRoles.type.SECURITY_MANAGER.about.info=Um gerente de segurança pode enviar uma mensagem de alerta em casos de situações de emergência. +# suppress inspection "UnusedProperty" +user.bondedRoles.type.RELEASE_MANAGER.about.info=Um gerente de lançamento pode enviar notificações quando uma nova versão estiver disponível. + +# suppress inspection "UnusedProperty" +user.bondedRoles.type.SEED_NODE.about.info=Um nó semente fornece endereços de rede de participantes da rede para inicialização na rede P2P Bisq 2.\nIsso é essencial no primeiro início, pois nesse momento o novo usuário ainda não tem dados persistidos para se conectar a outros pares.\nTambém fornece dados de rede P2P como mensagens de chat para o usuário que está se conectando. Esse serviço de entrega de dados também é realizado por qualquer outro nó de rede, mas como os nós semente têm disponibilidade 24/7 e um alto nível de qualidade de serviço, eles proporcionam mais estabilidade e melhor desempenho, levando a uma melhor experiência de inicialização.\nOperadores de nó semente do Bisq 1 podem se tornar operadores de nó semente do Bisq 2 sem bloquear um novo vínculo BSQ. +# suppress inspection "UnusedProperty" +user.bondedRoles.type.ORACLE_NODE.about.info=O nó oráculo é usado para fornecer dados do Bisq 1 e DAO para casos de uso como reputação no Bisq 2. +# suppress inspection "UnusedProperty" +user.bondedRoles.type.EXPLORER_NODE.about.info=O nó explorador de blockchain é usado no Bisq Easy para a consulta de transações de pagamento em Bitcoin. +# suppress inspection "UnusedProperty" +user.bondedRoles.type.MARKET_PRICE_NODE.about.info=O nó de preço de mercado fornece dados de mercado do agregador de preços de mercado do Bisq. + + +################################################################################ +# Bonded roles how +################################################################################ + +# suppress inspection "UnusedProperty" +user.bondedRoles.type.MEDIATOR.how.inline=um mediador +# suppress inspection "UnusedProperty" +user.bondedRoles.type.ARBITRATOR.how.inline=um árbitro +# suppress inspection "UnusedProperty" +user.bondedRoles.type.MODERATOR.how.inline=um moderador +# suppress inspection "UnusedProperty" +user.bondedRoles.type.SECURITY_MANAGER.how.inline=um gerente de segurança +# suppress inspection "UnusedProperty" +user.bondedRoles.type.RELEASE_MANAGER.how.inline=um gerente de lançamento + +# suppress inspection "UnusedProperty" +user.bondedRoles.type.SEED_NODE.how.inline=um operador de nó semente +# suppress inspection "UnusedProperty" +user.bondedRoles.type.ORACLE_NODE.how.inline=um operador de nó oráculo +# suppress inspection "UnusedProperty" +user.bondedRoles.type.EXPLORER_NODE.how.inline=um operador de nó explorador +# suppress inspection "UnusedProperty" +user.bondedRoles.type.MARKET_PRICE_NODE.how.inline=um operador de nó de preço de mercado + +user.bondedRoles.registration.how.headline=Como se tornar {0}? + +user.bondedRoles.registration.how.info=1. Selecione o perfil de usuário que deseja usar para o registro e crie um backup do seu diretório de dados.\n3. Faça uma proposta em 'https://github.com/bisq-network/proposals' para se tornar {0} e adicione seu ID de perfil à proposta.\n4. Após sua proposta ser revisada e receber apoio da comunidade, faça uma proposta DAO para um papel vinculado.\n5. Após sua proposta DAO ser aceita na votação DAO, bloqueie o vínculo BSQ necessário.\n6. Após a confirmação da transação do seu vínculo, vá para 'DAO/Bonding/Bonded roles' no Bisq 1 e clique no botão de assinatura para abrir a janela de assinatura.\n7. Copie o ID do perfil e cole no campo de mensagem. Clique em assinar e copie a assinatura. Cole a assinatura no campo de assinatura do Bisq 2.\n8. Insira o nome de usuário do detentor do vínculo.\n{1} + +user.bondedRoles.registration.how.info.role=9. Clique no botão 'Solicitar registro'. Se tudo estiver correto, seu registro se tornará visível na tabela de Papéis vinculados registrados. + +user.bondedRoles.registration.how.info.node=9. Copie o arquivo 'default_node_address.json' do diretório de dados do nó que deseja registrar para o seu disco rígido e abra-o com o botão 'Importar endereço do nó'.\n10. Clique no botão 'Solicitar registro'. Se tudo estiver correto, seu registro se tornará visível na tabela de Nós da rede registrados. + + +################################################################################ +# Bonded roles registration +################################################################################ + +user.bondedRoles.registration.headline=Solicitar registro + +user.bondedRoles.registration.profileId=ID do perfil +user.bondedRoles.registration.bondHolderName=Nome de usuário do detentor do vínculo +user.bondedRoles.registration.bondHolderName.prompt=Insira o nome de usuário do detentor do vínculo do Bisq 1 +user.bondedRoles.registration.signature=Assinatura +user.bondedRoles.registration.signature.prompt=Cole a assinatura do seu papel vinculado +user.bondedRoles.registration.requestRegistration=Solicitar registro +user.bondedRoles.registration.success=Pedido de registro foi enviado com sucesso. Você verá na tabela abaixo se o registro foi verificado com sucesso e publicado pelo nó oráculo. +user.bondedRoles.registration.failed=O envio do pedido de registro falhou.\n\n\{0} +user.bondedRoles.registration.node.addressInfo=Dados de endereço do nó +user.bondedRoles.registration.node.addressInfo.prompt=Importe o arquivo 'default_node_address.json' do diretório de dados do nó. +user.bondedRoles.registration.node.importAddress=Importar endereço do nó +user.bondedRoles.registration.node.pubKey=Chave pública +user.bondedRoles.registration.node.privKey=Chave privada +user.bondedRoles.registration.node.showKeyPair=Mostrar par de chaves + +################################################################################ +# Bonded roles cancellation +################################################################################ + +user.bondedRoles.cancellation.requestCancellation=Solicitar cancelamento +user.bondedRoles.cancellation.success=Pedido de cancelamento foi enviado com sucesso. Você verá na tabela abaixo se o pedido de cancelamento foi verificado com sucesso e a função removida pelo nó oráculo. +user.bondedRoles.cancellation.failed=O envio do pedido de cancelamento falhou.\n\n\{0} + + +################################################################################ +# Registered bonded roles table +################################################################################ + +user.bondedRoles.table.headline.nodes=Nós da rede registrados +user.bondedRoles.table.headline.roles=Papéis vinculados registrados + +user.bondedRoles.table.columns.isBanned=Está banido +user.bondedRoles.table.columns.userProfile=Perfil do usuário +user.bondedRoles.table.columns.userProfile.defaultNode=Operador de nó com chave fornecida estaticamente +user.bondedRoles.table.columns.profileId=ID do perfil +user.bondedRoles.table.columns.signature=Assinatura +# Commented out in code ATM in RolesView +# suppress inspection "UnusedProperty" +user.bondedRoles.table.columns.oracleNode=Nó oráculo +user.bondedRoles.table.columns.bondUserName=Nome de usuário do vínculo + +user.bondedRoles.table.columns.role=Papel + +user.bondedRoles.table.columns.node=Nó +user.bondedRoles.table.columns.node.address=Endereço +user.bondedRoles.table.columns.node.address.openPopup=Abrir popup de dados de endereço +user.bondedRoles.table.columns.node.address.popup.headline=Dados de endereço do nó + + +################################################################################ +# Bonded roles verification +################################################################################ + +user.bondedRoles.verification.howTo.roles=Como verificar um papel vinculado? +user.bondedRoles.verification.howTo.nodes=Como verificar um nó de rede? +user.bondedRoles.verification.howTo.instruction=1. Abra o Bisq 1 e vá para 'DAO/Bonding/Bonded roles' e selecione o papel pelo nome de usuário do vínculo e o tipo de papel.\n2. Clique no botão de verificação, copie o ID do perfil e cole no campo de mensagem.\n3. Copie a assinatura e cole no campo de assinatura no Bisq 1.\n4. Clique no botão de verificar. Se a verificação da assinatura for bem-sucedida, o papel vinculado é válido. + + + + diff --git a/pocs/android_only_m2_j17jars/app/src/main/resources/settings.properties b/pocs/android_only_m2_j17jars/app/src/main/resources/settings.properties new file mode 100644 index 00000000..d2c711a3 --- /dev/null +++ b/pocs/android_only_m2_j17jars/app/src/main/resources/settings.properties @@ -0,0 +1,59 @@ +################################################################################ +# Settings +################################################################################ + +settings.language=Language +settings.notifications=Notifications +settings.trade=Offer and trade +settings.display=Display +settings.misc=Miscellaneous + +settings.language.headline=Language selection +settings.language.select=Select language +settings.language.select.invalid=Please pick a language from the list +settings.language.restart=To apply the new language you need to restart the application +settings.language.supported.headline=Add your supported languages +settings.language.supported.subHeadLine=Languages you are fluent in +settings.language.supported.select=Select language +settings.language.supported.addButton.tooltip=Add selected language to list +settings.language.supported.list.subHeadLine=Fluent in: +settings.language.supported.invalid=Please pick a language form the list + +settings.notification.options=Notification options +settings.notification.option.all=All chat messages +settings.notification.option.mention=If mentioned +settings.notification.option.off=Off +settings.notification.notifyForPreRelease=Notify about pre-release software updates +settings.notification.useTransientNotifications=Use transient notifications +settings.notification.clearNotifications=Clear notifications + +settings.display.headline=Display settings +settings.display.useAnimations=Use animations +settings.display.preventStandbyMode=Prevent standby mode +settings.display.resetDontShowAgain=Reset all 'Don't show again' flags + +settings.trade.headline=Offer and trade settings +settings.trade.maxTradePriceDeviation=Max. trade price tolerance +settings.trade.maxTradePriceDeviation.help=The max. trade price difference a maker tolerates when their offer gets taken. +settings.trade.maxTradePriceDeviation.invalid=Must be a value between 1 and {0}% +settings.trade.closeMyOfferWhenTaken=Close my offer when taken + +settings.network.headline=Network settings +settings.network.difficultyAdjustmentFactor.description.self=Custom PoW difficulty adjustment factor +settings.network.difficultyAdjustmentFactor.description.fromSecManager=PoW difficulty adjustment factor by Bisq Security Manager +settings.network.difficultyAdjustmentFactor.invalid=Must be a number between 0 and {0} +settings.network.difficultyAdjustmentFactor.ignoreValueFromSecManager=Ignore value provided by Bisq Security Manager + +settings.backup.headline=Backup settings +settings.backup.totalMaxBackupSizeInMB.description=Max. size in MB for automatic backups +settings.backup.totalMaxBackupSizeInMB.info.tooltip=Important data is automatically backed up in the data directory whenever updates are made,\n\ + following this retention strategy:\n\t\ + - Last Hour: Keep a maximum of one backup per minute.\n\t\ + - Last Day: Keep one backup per hour.\n\t\ + - Last Week: Keep one backup per day.\n\t\ + - Last Month: Keep one backup per week.\n\t\ + - Last Year: Keep one backup per month.\n\t\ + - Previous Years: Keep one backup per year.\n\n\ + Please note, this backup mechanism does not protect against hard disk failures.\n\ + For better protection, we strongly recommend creating manual backups on an alternative hard drive. +settings.backup.totalMaxBackupSizeInMB.invalid=Must be a value between {0} MB and {1} MB diff --git a/pocs/android_only_m2_j17jars/app/src/main/resources/settings_cs.properties b/pocs/android_only_m2_j17jars/app/src/main/resources/settings_cs.properties new file mode 100644 index 00000000..a91110fc --- /dev/null +++ b/pocs/android_only_m2_j17jars/app/src/main/resources/settings_cs.properties @@ -0,0 +1,46 @@ +################################################################################ +# Settings +################################################################################ + +settings.language=Jazyk +settings.notifications=Oznámení +settings.trade=Nabídka a obchod +settings.display=Zobrazení +settings.misc=Různé + +settings.language.headline=Výběr jazyka +settings.language.select=Vyberte jazyk +settings.language.select.invalid=Prosím vyberte jazyk z nabídky +settings.language.restart=Pro aplikaci použít nový jazyk, je nutné restartovat aplikaci +settings.language.supported.headline=Přidat podporované jazyky +settings.language.supported.subHeadLine=Jazyky, které ovládáte +settings.language.supported.select=Vyberte jazyk +settings.language.supported.addButton.tooltip=Přidat vybraný jazyk do seznamu +settings.language.supported.list.subHeadLine=Ovládám: +settings.language.supported.invalid=Prosím vyberte jazyk z nabídky + +settings.notification.options=Možnosti oznámení +settings.notification.option.all=Všechny chatovací zprávy +settings.notification.option.mention=Pokud jsem zmíněn +settings.notification.option.off=Vypnuto +settings.notification.notifyForPreRelease=Oznámit předvydání aktualizace softwaru +settings.notification.useTransientNotifications=Použít prchavá oznámení +settings.notification.clearNotifications=Vymazat oznámení + +settings.display.headline=Nastavení zobrazení +settings.display.useAnimations=Použít animace +settings.display.preventStandbyMode=Zamezit režimu spánku +settings.display.resetDontShowAgain=Obnovit všechny vlajky "Nezobrazovat znovu" + +settings.trade.headline=Nastavení nabídky a obchodu +settings.trade.maxTradePriceDeviation=Maximální tolerance cen obchodu +settings.trade.maxTradePriceDeviation.help=Maximální rozdíl ceny obchodu, který maker toleruje, když je jejich nabídka přijata. +settings.trade.maxTradePriceDeviation.invalid=Musí být hodnota mezi 1 a {0} % +settings.trade.closeMyOfferWhenTaken=Zavřít mou nabídku, když je přijata + +settings.network.headline=Nastavení sítě +settings.network.difficultyAdjustmentFactor.description.self=Vlastní faktor úpravy obtížnosti PoW +settings.network.difficultyAdjustmentFactor.description.fromSecManager=Faktor úpravy obtížnosti PoW podle Bezpečnostního manažera Bisq +settings.network.difficultyAdjustmentFactor.invalid=Hodnota musí být číslo mezi 0 a {0} +settings.network.difficultyAdjustmentFactor.ignoreValueFromSecManager=Ignorovat hodnotu poskytnutou Bezpečnostním manažerem Bisq + diff --git a/pocs/android_only_m2_j17jars/app/src/main/resources/settings_de.properties b/pocs/android_only_m2_j17jars/app/src/main/resources/settings_de.properties new file mode 100644 index 00000000..96d6a7dc --- /dev/null +++ b/pocs/android_only_m2_j17jars/app/src/main/resources/settings_de.properties @@ -0,0 +1,46 @@ +################################################################################ +# Settings +################################################################################ + +settings.language=Sprache +settings.notifications=Benachrichtigungen +settings.trade=Angebot und Handel +settings.display=Anzeige +settings.misc=Verschiedenes + +settings.language.headline=Sprachauswahl +settings.language.select=Sprache auswählen +settings.language.select.invalid=Bitte eine Sprache aus der Liste auswählen +settings.language.restart=Um die neue Sprache anzuwenden, muss die Anwendung neu gestartet werden +settings.language.supported.headline=Unterstützte Sprachen hinzufügen +settings.language.supported.subHeadLine=Sprachen, die Sie fließend sprechen +settings.language.supported.select=Sprache auswählen +settings.language.supported.addButton.tooltip=Ausgewählte Sprache zur Liste hinzufügen +settings.language.supported.list.subHeadLine=Fließend in: +settings.language.supported.invalid=Bitte eine Sprache aus der Liste auswählen + +settings.notification.options=Benachrichtigungsoptionen +settings.notification.option.all=Alle Chatnachrichten +settings.notification.option.mention=Bei Erwähnung +settings.notification.option.off=Aus +settings.notification.notifyForPreRelease=Über Vorabversionen benachrichtigen +settings.notification.useTransientNotifications=Vorübergehende Benachrichtigungen verwenden +settings.notification.clearNotifications=Benachrichtigungen löschen + +settings.display.headline=Anzeigeeinstellungen +settings.display.useAnimations=Animationen verwenden +settings.display.preventStandbyMode=Ruhezustand verhindern +settings.display.resetDontShowAgain=Alle 'Nicht erneut anzeigen'-Hinweise zurücksetzen + +settings.trade.headline=Angebots- und Handelseinstellungen +settings.trade.maxTradePriceDeviation=Maximale Handelspreisabweichung +settings.trade.maxTradePriceDeviation.help=Die maximale Handelspreisabweichung, die ein Anbieter toleriert, wenn sein Angebot angenommen wird. +settings.trade.maxTradePriceDeviation.invalid=Muss ein Wert zwischen 1 und {0}% sein +settings.trade.closeMyOfferWhenTaken=Mein Angebot schließen, wenn angenommen + +settings.network.headline=Netzwerkeinstellungen +settings.network.difficultyAdjustmentFactor.description.self=Benutzerdefinierter PoW-Schwierigkeitsanpassungsfaktor +settings.network.difficultyAdjustmentFactor.description.fromSecManager=PoW-Schwierigkeitsanpassungsfaktor vom Bisq-Sicherheitsmanager +settings.network.difficultyAdjustmentFactor.invalid=Muss eine Zahl zwischen 0 und {0} sein +settings.network.difficultyAdjustmentFactor.ignoreValueFromSecManager=Wert vom Bisq-Sicherheitsmanager ignorieren + diff --git a/pocs/android_only_m2_j17jars/app/src/main/resources/settings_es.properties b/pocs/android_only_m2_j17jars/app/src/main/resources/settings_es.properties new file mode 100644 index 00000000..48bce2b9 --- /dev/null +++ b/pocs/android_only_m2_j17jars/app/src/main/resources/settings_es.properties @@ -0,0 +1,46 @@ +################################################################################ +# Settings +################################################################################ + +settings.language=Idioma +settings.notifications=Notificaciones +settings.trade=Oferta y compra-venta +settings.display=Visualización +settings.misc=Misceláneo + +settings.language.headline=Selección de Idioma +settings.language.select=Seleccionar idioma +settings.language.select.invalid=Por favor, selecciona un idioma de la lista +settings.language.restart=Para aplicar el nuevo idioma debes reiniciar la aplicación +settings.language.supported.headline=Agregar tus idiomas aceptados +settings.language.supported.subHeadLine=Idiomas que hablas con fluidez +settings.language.supported.select=Seleccionar idioma +settings.language.supported.addButton.tooltip=Agregar idioma seleccionado a la lista +settings.language.supported.list.subHeadLine=Hablas en: +settings.language.supported.invalid=Por favor, seleccione un idioma de la lista + +settings.notification.options=Opciones de notificación +settings.notification.option.all=Todos los mensajes de chat +settings.notification.option.mention=Si me mencionan +settings.notification.option.off=Ninguna +settings.notification.notifyForPreRelease=Notificar sobre actualizaciones de software en pre-lanzamiento +settings.notification.useTransientNotifications=Usar notificaciones transitorias +settings.notification.clearNotifications=Limpiar notificaciones + +settings.display.headline=Configuraciones de pantalla +settings.display.useAnimations=Usar animaciones +settings.display.preventStandbyMode=Evitar modo de espera +settings.display.resetDontShowAgain=Restablecer todos los indicadores de 'No mostrar de nuevo' + +settings.trade.headline=Configuraciones de oferta e intercambio +settings.trade.maxTradePriceDeviation=Tolerancia máxima de precio de operación +settings.trade.maxTradePriceDeviation.help=Diferencia máxima de precio de operación que un ofertante tolera cuando su oferta es aceptada. +settings.trade.maxTradePriceDeviation.invalid=Debe ser un valor entre 1 y {0}% +settings.trade.closeMyOfferWhenTaken=Cerrar mi oferta cuando sea aceptada + +settings.network.headline=Configuración de red +settings.network.difficultyAdjustmentFactor.description.self=Factor de ajuste de dificultad PoW personalizado +settings.network.difficultyAdjustmentFactor.description.fromSecManager=Factor de ajuste de dificultad PoW del Mánager de Seguridad de Bisq +settings.network.difficultyAdjustmentFactor.invalid=Debe ser un número entre 0 y {0} +settings.network.difficultyAdjustmentFactor.ignoreValueFromSecManager=Ignorar el valor proporcionado por el Mánager de Seguridad de Bisq + diff --git a/pocs/android_only_m2_j17jars/app/src/main/resources/settings_it.properties b/pocs/android_only_m2_j17jars/app/src/main/resources/settings_it.properties new file mode 100644 index 00000000..762dbcd5 --- /dev/null +++ b/pocs/android_only_m2_j17jars/app/src/main/resources/settings_it.properties @@ -0,0 +1,46 @@ +################################################################################ +# Settings +################################################################################ + +settings.language=Lingua +settings.notifications=Notifiche +settings.trade=Offerta e scambio +settings.display=Visualizzazione +settings.misc=Misto + +settings.language.headline=Selezione della lingua +settings.language.select=Seleziona la lingua +settings.language.select.invalid=Scegli una lingua dall'elenco +settings.language.restart=Per applicare la nuova lingua, è necessario riavviare l'applicazione +settings.language.supported.headline=Aggiungi le lingue supportate +settings.language.supported.subHeadLine=Lingue in cui sei fluente +settings.language.supported.select=Seleziona la lingua +settings.language.supported.addButton.tooltip=Aggiungi la lingua selezionata all'elenco +settings.language.supported.list.subHeadLine=Fluente in: +settings.language.supported.invalid=Seleziona una lingua dall'elenco + +settings.notification.options=Opzioni di notifica +settings.notification.option.all=Tutti i messaggi della chat +settings.notification.option.mention=Se menzionato +settings.notification.option.off=Disattivato +settings.notification.notifyForPreRelease=Notifica sugli aggiornamenti del software pre-release +settings.notification.useTransientNotifications=Usa notifiche temporanee +settings.notification.clearNotifications=Cancella le notifiche + +settings.display.headline=Impostazioni di visualizzazione +settings.display.useAnimations=Usa animazioni +settings.display.preventStandbyMode=Prevenzione della modalità standby +settings.display.resetDontShowAgain=Resetta tutti i flag 'Non mostrare più' + +settings.trade.headline=Impostazioni offerta e trade +settings.trade.maxTradePriceDeviation=Tolleranza massima del prezzo di scambio +settings.trade.maxTradePriceDeviation.help=Differenza massima di prezzo di scambio che un maker tollera quando la sua offerta viene accettata. +settings.trade.maxTradePriceDeviation.invalid=Deve essere un valore compreso tra 1 e {0}% +settings.trade.closeMyOfferWhenTaken=Chiudi la mia offerta quando viene accettata + +settings.network.headline=Impostazioni di rete +settings.network.difficultyAdjustmentFactor.description.self=Fattore di regolazione della difficoltà PoW personalizzato +settings.network.difficultyAdjustmentFactor.description.fromSecManager=Fattore di regolazione della difficoltà PoW dal Gestore della Sicurezza di Bisq +settings.network.difficultyAdjustmentFactor.invalid=Deve essere un numero tra 0 e {0} +settings.network.difficultyAdjustmentFactor.ignoreValueFromSecManager=Ignora il valore fornito dal Gestore della Sicurezza di Bisq + diff --git a/pocs/android_only_m2_j17jars/app/src/main/resources/settings_pcm.properties b/pocs/android_only_m2_j17jars/app/src/main/resources/settings_pcm.properties new file mode 100644 index 00000000..a4677141 --- /dev/null +++ b/pocs/android_only_m2_j17jars/app/src/main/resources/settings_pcm.properties @@ -0,0 +1,46 @@ +################################################################################ +# Settings +################################################################################ + +settings.language=Language +settings.notifications=Notifications +settings.trade=Offer and trade +settings.display=Display +settings.misc=Miscellaneous + +settings.language.headline=Selek Language +settings.language.select=Chuze Language +settings.language.select.invalid=Abeg chuz language from di list +settings.language.restart=To apply di new language, you need restart di application +settings.language.supported.headline=Add Languages We You Sabi +settings.language.supported.subHeadLine=Languages wey you sabi well well +settings.language.supported.select=Chuze Language +settings.language.supported.addButton.tooltip=Add di language wey you chuze to di list +settings.language.supported.list.subHeadLine=Sabi For: +settings.language.supported.invalid=Abeg chuz language from di list + +settings.notification.options=Notification Options +settings.notification.option.all=All Chat Messages +settings.notification.option.mention=If Dem Mention You +settings.notification.option.off=Off +settings.notification.notifyForPreRelease=Notify You About Pre-Release Software Updates +settings.notification.useTransientNotifications=Use Transient Notifications +settings.notification.clearNotifications=Clear Notifications + +settings.display.headline=Display Settings +settings.display.useAnimations=Use Animations +settings.display.preventStandbyMode=No Let Am Go Standby +settings.display.resetDontShowAgain=Reset All 'No Show Again' Flags + +settings.trade.headline=Offer And Trade Settings +settings.trade.maxTradePriceDeviation=Max. trade price tolerance +settings.trade.maxTradePriceDeviation.help=The maximum price difference that a maker can tolerate when their offer is taken. +settings.trade.maxTradePriceDeviation.invalid=Must be a value between 1 and {0}% +settings.trade.closeMyOfferWhenTaken=Close My Offer Wey Dem Take + +settings.network.headline=Network settings +settings.network.difficultyAdjustmentFactor.description.self=Custom PoW difficulty adjustment factor +settings.network.difficultyAdjustmentFactor.description.fromSecManager=PoW difficulty adjustment factor by Bisq Security Manager +settings.network.difficultyAdjustmentFactor.invalid=Must be a number between 0 and {0} +settings.network.difficultyAdjustmentFactor.ignoreValueFromSecManager=Ignore value provided by Bisq Security Manager + diff --git a/pocs/android_only_m2_j17jars/app/src/main/resources/settings_pt_BR.properties b/pocs/android_only_m2_j17jars/app/src/main/resources/settings_pt_BR.properties new file mode 100644 index 00000000..d457f06e --- /dev/null +++ b/pocs/android_only_m2_j17jars/app/src/main/resources/settings_pt_BR.properties @@ -0,0 +1,46 @@ +################################################################################ +# Settings +################################################################################ + +settings.language=Idioma +settings.notifications=Notificações +settings.trade=Oferta e negociação +settings.display=Exibição +settings.misc=Diversos + +settings.language.headline=Seleção de Idioma +settings.language.select=Selecionar idioma +settings.language.select.invalid=Por favor, escolha um idioma da lista +settings.language.restart=Para aplicar o novo idioma, você precisa reiniciar o aplicativo +settings.language.supported.headline=Adicione seus idiomas suportados +settings.language.supported.subHeadLine=Idiomas nos quais você é fluente +settings.language.supported.select=Selecionar idioma +settings.language.supported.addButton.tooltip=Adicionar idioma selecionado à lista +settings.language.supported.list.subHeadLine=Fluente em: +settings.language.supported.invalid=Por favor, escolha um idioma da lista + +settings.notification.options=Opções de Notificação +settings.notification.option.all=Todas as mensagens de chat +settings.notification.option.mention=Se mencionado +settings.notification.option.off=Desligado +settings.notification.notifyForPreRelease=Notificar sobre atualizações de software pré-lançamento +settings.notification.useTransientNotifications=Usar notificações transitórias +settings.notification.clearNotifications=Limpar notificações + +settings.display.headline=Configurações de Exibição +settings.display.useAnimations=Usar animações +settings.display.preventStandbyMode=Prevenir modo de espera +settings.display.resetDontShowAgain=Resetar todas as flags 'Não mostrar novamente' + +settings.trade.headline=Configurações de Oferta e Comércio +settings.trade.maxTradePriceDeviation=Tolerância máxima do preço de negociação +settings.trade.maxTradePriceDeviation.help=A diferença máxima de preço de negociação que um ofertante tolera quando sua oferta é aceita. +settings.trade.maxTradePriceDeviation.invalid=Deve ser um valor entre 1 e {0}% +settings.trade.closeMyOfferWhenTaken=Fechar minha oferta quando aceita + +settings.network.headline=Configurações de rede +settings.network.difficultyAdjustmentFactor.description.self=Fator de ajuste de dificuldade PoW personalizado +settings.network.difficultyAdjustmentFactor.description.fromSecManager=Fator de ajuste de dificuldade PoW pelo Gerenciador de Segurança do Bisq +settings.network.difficultyAdjustmentFactor.invalid=Deve ser um número entre 0 e {0} +settings.network.difficultyAdjustmentFactor.ignoreValueFromSecManager=Ignorar valor fornecido pelo Gerenciador de Segurança do Bisq + diff --git a/pocs/android_only_m2_j17jars/app/src/main/resources/support.properties b/pocs/android_only_m2_j17jars/app/src/main/resources/support.properties new file mode 100644 index 00000000..35183fed --- /dev/null +++ b/pocs/android_only_m2_j17jars/app/src/main/resources/support.properties @@ -0,0 +1,50 @@ +################################################################################ +# Support +################################################################################ + +support.assistance=Assistance +support.resources=Resources + +################################################################################ +# Support / Assistance +################################################################################ + + +################################################################################ +# Support / Resources +################################################################################ + +support.resources.backup.headline=Backup +support.resources.backup.location=Backup location +support.resources.backup.location.prompt=Set backup location +support.resources.backup.location.help=Backup is not encrypted +support.resources.backup.location.invalid=Backup location path is invalid +support.resources.backup.setLocationButton=Set backup location +support.resources.backup.selectLocation=Select backup location +support.resources.backup.backupButton=Backup Bisq data directory +support.resources.backup.success=Backup successfully saved at:\n{0} +support.resources.backup.destinationNotExist=Backup destination ''{0}'' does not exist + +support.resources.localData.headline=Local data +support.resources.localData.openLogFile=Open 'bisq.log' file +support.resources.localData.openTorLogFile=Open Tor 'debug.log' file +support.resources.localData.openDataDir=Open Bisq data directory + +support.resources.guides.headline=Guides +support.resources.guides.tradeGuide=Open trade guide +support.resources.guides.walletGuide=Open wallet guide +support.resources.guides.chatRules=Open chat rules + +support.resources.legal.headline=Legal +support.resources.legal.tac=Open user agreement +support.resources.legal.license=Software license (AGPLv3) + +support.resources.resources.headline=Web resources +support.resources.resources.webpage=Bisq webpage +support.resources.resources.dao=About the Bisq DAO +support.resources.resources.sourceCode=GitHub source code repository +support.resources.resources.community=Bisq community at Matrix +support.resources.resources.contribute=How to contribute to Bisq + + + diff --git a/pocs/android_only_m2_j17jars/app/src/main/resources/support_cs.properties b/pocs/android_only_m2_j17jars/app/src/main/resources/support_cs.properties new file mode 100644 index 00000000..40aa62a0 --- /dev/null +++ b/pocs/android_only_m2_j17jars/app/src/main/resources/support_cs.properties @@ -0,0 +1,50 @@ +################################################################################ +# Support +################################################################################ + +support.assistance=Pomoc +support.resources=Resources + +################################################################################ +# Support / Assistance +################################################################################ + + +################################################################################ +# Support / Resources +################################################################################ + +support.resources.backup.headline=Zálohování +support.resources.backup.location=Lokace zálohování +support.resources.backup.location.prompt=Nastavit umístění zálohování +support.resources.backup.location.help=Záloha není šifrovaná +support.resources.backup.location.invalid=Neplatná cesta k umístění zálohování +support.resources.backup.setLocationButton=Nastavit umístění zálohování +support.resources.backup.selectLocation=Vyberte umístění zálohování +support.resources.backup.backupButton=Zálohovat adresář dat Bisq +support.resources.backup.success=Záloha úspěšně uložena na:\n{0} +support.resources.backup.destinationNotExist=Cílový adresář zálohování ''{0}'' neexistuje + +support.resources.localData.headline=Místní data +support.resources.localData.openLogFile=Otevřít soubor 'bisq.log' +support.resources.localData.openTorLogFile=Otevřít Tor soubor 'debug.log' +support.resources.localData.openDataDir=Otevřít adresář dat Bisq + +support.resources.guides.headline=Návody +support.resources.guides.tradeGuide=Otevřít obchodní průvodce +support.resources.guides.walletGuide=Otevřít průvodce peněženkou +support.resources.guides.chatRules=Otevřít pravidla chatu + +support.resources.legal.headline=Právní +support.resources.legal.tac=Otevřít uživatelskou dohodu +support.resources.legal.license=Licence softwaru (AGPLv3) + +support.resources.resources.headline=Webové zdroje +support.resources.resources.webpage=Webová stránka Bisq +support.resources.resources.dao=O projektu Bisq DAO +support.resources.resources.sourceCode=Repozitář zdrojového kódu na GitHubu +support.resources.resources.community=Komunita Bisq na Matrixu +support.resources.resources.contribute=Jak přispět do Bisq + + + diff --git a/pocs/android_only_m2_j17jars/app/src/main/resources/support_de.properties b/pocs/android_only_m2_j17jars/app/src/main/resources/support_de.properties new file mode 100644 index 00000000..0e3be162 --- /dev/null +++ b/pocs/android_only_m2_j17jars/app/src/main/resources/support_de.properties @@ -0,0 +1,51 @@ +################################################################################ +# Support +################################################################################ + +support.assistance=Unterstützung +support.resources=Ressourcen + +################################################################################ +# Support / Assistance +################################################################################ + + + +################################################################################ +# Support / Resources +################################################################################ + +support.resources.backup.headline=Sicherung +support.resources.backup.location=Sicherungsort +support.resources.backup.location.prompt=Sicherungsort festlegen +support.resources.backup.location.help=Sicherung ist nicht verschlüsselt +support.resources.backup.location.invalid=Der Pfad des Sicherungsorts ist ungültig +support.resources.backup.setLocationButton=Sicherungsort festlegen +support.resources.backup.selectLocation=Sicherungsort auswählen +support.resources.backup.backupButton=Bisq-Datenverzeichnis sichern +support.resources.backup.success=Sicherung erfolgreich gespeichert unter:\n{0} +support.resources.backup.destinationNotExist=Sicherungsziel ''{0}'' existiert nicht + +support.resources.localData.headline=Lokale Daten +support.resources.localData.openLogFile=Öffne die Datei 'bisq.log' +support.resources.localData.openTorLogFile=Öffne die Tor 'debug.log' Datei +support.resources.localData.openDataDir=Bisq-Datenverzeichnis öffnen + +support.resources.guides.headline=Richtlinien +support.resources.guides.tradeGuide=Handelsanleitung öffnen +support.resources.guides.walletGuide=Wallet-Anleitung öffnen +support.resources.guides.chatRules=Chat-Richtlinien öffnen + +support.resources.legal.headline=Rechtliches +support.resources.legal.tac=Nutzervereinbarung öffnen +support.resources.legal.license=Software-Lizenz (AGPLv3) + +support.resources.resources.headline=Webressourcen +support.resources.resources.webpage=Bisq-Webseite +support.resources.resources.dao=Über die Bisq-DAO +support.resources.resources.sourceCode=GitHub-Quellcode-Repository +support.resources.resources.community=Bisq-Community bei Matrix +support.resources.resources.contribute=Wie Sie zu Bisq beitragen können + + + diff --git a/pocs/android_only_m2_j17jars/app/src/main/resources/support_es.properties b/pocs/android_only_m2_j17jars/app/src/main/resources/support_es.properties new file mode 100644 index 00000000..5b58a2c0 --- /dev/null +++ b/pocs/android_only_m2_j17jars/app/src/main/resources/support_es.properties @@ -0,0 +1,51 @@ +################################################################################ +# Support +################################################################################ + +support.assistance=Asistencia +support.resources=Recursos + +################################################################################ +# Support / Assistance +################################################################################ + + + +################################################################################ +# Support / Resources +################################################################################ + +support.resources.backup.headline=Respaldo +support.resources.backup.location=Ubicación de respaldo +support.resources.backup.location.prompt=Establecer ubicación de respaldo +support.resources.backup.location.help=El respaldo no está encriptado +support.resources.backup.location.invalid=La ruta de ubicación de respaldo es inválida +support.resources.backup.setLocationButton=Establecer ubicación de respaldo +support.resources.backup.selectLocation=Seleccionar ubicación de respaldo +support.resources.backup.backupButton=Respaldo del directorio de datos de Bisq +support.resources.backup.success=Respaldo guardado exitosamente en:\n{0} +support.resources.backup.destinationNotExist=El destino de respaldo ''{0}'' no existe + +support.resources.localData.headline=Datos locales +support.resources.localData.openLogFile=Abrir archivo 'bisq.log' +support.resources.localData.openTorLogFile=Abrir archivo 'debug.log' de Tor +support.resources.localData.openDataDir=Abrir directorio de datos de Bisq + +support.resources.guides.headline=Guías +support.resources.guides.tradeGuide=Abrir guía de intercambio +support.resources.guides.walletGuide=Abrir guía de la cartera +support.resources.guides.chatRules=Abrir reglas de chat + +support.resources.legal.headline=Legal +support.resources.legal.tac=Abrir acuerdo de usuario +support.resources.legal.license=Licencia de software (AGPLv3) + +support.resources.resources.headline=Recursos web +support.resources.resources.webpage=Página web de Bisq +support.resources.resources.dao=Acerca de la DAO de Bisq +support.resources.resources.sourceCode=Repositorio de código fuente en GitHub +support.resources.resources.community=Comunidad de Bisq en Matrix +support.resources.resources.contribute=Cómo contribuir a Bisq + + + diff --git a/pocs/android_only_m2_j17jars/app/src/main/resources/support_it.properties b/pocs/android_only_m2_j17jars/app/src/main/resources/support_it.properties new file mode 100644 index 00000000..c65964ff --- /dev/null +++ b/pocs/android_only_m2_j17jars/app/src/main/resources/support_it.properties @@ -0,0 +1,51 @@ +################################################################################ +# Support +################################################################################ + +support.assistance=Assistenza +support.resources=Risorse + +################################################################################ +# Support / Assistance +################################################################################ + + + +################################################################################ +# Support / Resources +################################################################################ + +support.resources.backup.headline=Backup +support.resources.backup.location=Posizione del backup +support.resources.backup.location.prompt=Imposta la posizione del backup +support.resources.backup.location.help=Il backup non è criptato +support.resources.backup.location.invalid=Percorso della posizione del backup non valido +support.resources.backup.setLocationButton=Imposta la posizione del backup +support.resources.backup.selectLocation=Seleziona la posizione del backup +support.resources.backup.backupButton=Fai un backup della directory dei dati di Bisq +support.resources.backup.success=Backup salvato con successo in:\n{0} +support.resources.backup.destinationNotExist=La destinazione del backup ''{0}'' non esiste + +support.resources.localData.headline=Dati locali +support.resources.localData.openLogFile=Apri il file 'bisq.log' +support.resources.localData.openTorLogFile=Apri il file 'debug.log' di Tor +support.resources.localData.openDataDir=Apri la directory dei dati di Bisq + +support.resources.guides.headline=Guide +support.resources.guides.tradeGuide=Apri la guida al trading +support.resources.guides.walletGuide=Apri la guida al portafoglio +support.resources.guides.chatRules=Apri le regole della chat + +support.resources.legal.headline=Legale +support.resources.legal.tac=Apri accordo dell'utente +support.resources.legal.license=Licenza del software (AGPLv3) + +support.resources.resources.headline=Risorse Web +support.resources.resources.webpage=Sito web di Bisq +support.resources.resources.dao=Informazioni sul Bisq DAO +support.resources.resources.sourceCode=Repository del codice sorgente su GitHub +support.resources.resources.community=Comunità Bisq su Matrix +support.resources.resources.contribute=Come contribuire a Bisq + + + diff --git a/pocs/android_only_m2_j17jars/app/src/main/resources/support_pcm.properties b/pocs/android_only_m2_j17jars/app/src/main/resources/support_pcm.properties new file mode 100644 index 00000000..cec6967e --- /dev/null +++ b/pocs/android_only_m2_j17jars/app/src/main/resources/support_pcm.properties @@ -0,0 +1,51 @@ +################################################################################ +# Support +################################################################################ + +support.assistance=Assistance +support.resources=Resources + +################################################################################ +# Support / Assistance +################################################################################ + + + +################################################################################ +# Support / Resources +################################################################################ + +support.resources.backup.headline=Backup +support.resources.backup.location=Backup Location +support.resources.backup.location.prompt=Set Backup Location +support.resources.backup.location.help=Backup No Dey Encrypted +support.resources.backup.location.invalid=Backup Location Path No Correct +support.resources.backup.setLocationButton=Set Backup Location +support.resources.backup.selectLocation=Select Backup Location +support.resources.backup.backupButton=Backup Bisq Data Directory +support.resources.backup.success=Backup Successfully Save For:\n{0} +support.resources.backup.destinationNotExist=Backup Destination ''{0}'' No Exist + +support.resources.localData.headline=Local Data +support.resources.localData.openLogFile=Open 'bisq.log' file +support.resources.localData.openTorLogFile=Open Tor 'debug.log' file +support.resources.localData.openDataDir=Open Bisq Data Directory + +support.resources.guides.headline=Guides +support.resources.guides.tradeGuide=Open Trade Guide +support.resources.guides.walletGuide=Open Wallet Guide +support.resources.guides.chatRules=Open Chat Rules + +support.resources.legal.headline=Legal +support.resources.legal.tac=Open User Agreement +support.resources.legal.license=Software License (AGPLv3) + +support.resources.resources.headline=Web Resources +support.resources.resources.webpage=Bisq Webpage +support.resources.resources.dao=About The Bisq DAO +support.resources.resources.sourceCode=GitHub Source Code Repository +support.resources.resources.community=Bisq Community For Matrix +support.resources.resources.contribute=How To Contribute To Bisq + + + diff --git a/pocs/android_only_m2_j17jars/app/src/main/resources/support_pt_BR.properties b/pocs/android_only_m2_j17jars/app/src/main/resources/support_pt_BR.properties new file mode 100644 index 00000000..91be2ff3 --- /dev/null +++ b/pocs/android_only_m2_j17jars/app/src/main/resources/support_pt_BR.properties @@ -0,0 +1,51 @@ +################################################################################ +# Support +################################################################################ + +support.assistance=Assistência +support.resources=Recursos + +################################################################################ +# Support / Assistance +################################################################################ + + + +################################################################################ +# Support / Resources +################################################################################ + +support.resources.backup.headline=Backup +support.resources.backup.location=Localização do Backup +support.resources.backup.location.prompt=Definir localização do backup +support.resources.backup.location.help=Backup não está criptografado +support.resources.backup.location.invalid=Caminho de localização do backup é inválido +support.resources.backup.setLocationButton=Definir localização do backup +support.resources.backup.selectLocation=Selecionar localização do backup +support.resources.backup.backupButton=Backup do diretório de dados do Bisq +support.resources.backup.success=Backup salvo com sucesso em:\n{0} +support.resources.backup.destinationNotExist=Destino de backup ''{0}'' não existe + +support.resources.localData.headline=Dados Locais +support.resources.localData.openLogFile=Abrir arquivo 'bisq.log' +support.resources.localData.openTorLogFile=Abrir arquivo 'debug.log' do Tor +support.resources.localData.openDataDir=Abrir diretório de dados do Bisq + +support.resources.guides.headline=Guias +support.resources.guides.tradeGuide=Abrir guia de comércio +support.resources.guides.walletGuide=Abrir guia de carteira +support.resources.guides.chatRules=Abrir regras do chat + +support.resources.legal.headline=Legal +support.resources.legal.tac=Abrir acordo do usuário +support.resources.legal.license=Licença do software (AGPLv3) + +support.resources.resources.headline=Recursos Web +support.resources.resources.webpage=Página do Bisq +support.resources.resources.dao=Sobre o DAO do Bisq +support.resources.resources.sourceCode=Repositório de código fonte no GitHub +support.resources.resources.community=Comunidade Bisq no Matrix +support.resources.resources.contribute=Como contribuir para o Bisq + + + diff --git a/pocs/android_only_m2_j17jars/app/src/main/resources/trade_apps.properties b/pocs/android_only_m2_j17jars/app/src/main/resources/trade_apps.properties new file mode 100644 index 00000000..acb13518 --- /dev/null +++ b/pocs/android_only_m2_j17jars/app/src/main/resources/trade_apps.properties @@ -0,0 +1,374 @@ +###################################################### +## Trade protocols +###################################################### +tradeApps.compare=Compare protocols +tradeApps.bisqMuSig=Bisq MuSig +tradeApps.subMarine=Submarine Swaps +tradeApps.bisqLightning=Bisq Lightning +tradeApps.more=More + +tradeApps.comingSoon=Coming soon +tradeApps.select=Select +tradeApps.release=Release +tradeApps.security=Security +tradeApps.markets=Markets +tradeApps.privacy=Privacy +tradeApps.convenience=Convenience +tradeApps.overview=Overview +tradeApps.tradeOffs=Pro/Con + +tradeApps.overview.headline=Find out the best way to trade Bitcoin +tradeApps.overview.subHeadline=A trade protocol serves as the fundamental framework for trading Bitcoin in a secure way. \ + Each trade protocol presents its own set of advantages and trade-offs encompassing security, privacy, and convenience.\n\ + Bisq offers you the flexibility to select the optimal protocol aligning with your preferences.\n\n\ + Explore the upcoming trade protocols slated for integration into Bisq. \ + As of now, Bisq Easy stands as the sole implemented protocol, tailored for novice Bitcoin users and suitable for smaller trade amounts. \ + Keep an eye out for updates if any of the upcoming protocols catch your interest. + +tradeApps.overview.more=Additionally, there are more protocols on the horizon, scheduled for future implementation. + + +###################################################### +## BISQ_EASY +###################################################### + +# suppress inspection "UnusedProperty" +tradeApps.BISQ_EASY=Bisq Easy +# suppress inspection "UnusedProperty" +tradeApps.overview.markets.BISQ_EASY=BTC/Fiat +# suppress inspection "UnusedProperty" +tradeApps.overview.BISQ_EASY=Easy to use chat based trade protocol. Security is based on seller's reputation +# suppress inspection "UnusedProperty" +tradeApps.overview.security.BISQ_EASY=Security is based on sellers reputation. Only suited for small amounts. +# suppress inspection "UnusedProperty" +tradeApps.overview.privacy.BISQ_EASY=Depends on the fiat transfer method used. Online fiat transfer usually \ + reveals identity to the trade peer. On the Bitcoin side it is constrained by Bitcoin's privacy limitations and depends \ + on user behaviour (avoiding coin merge of multiple trades increase privacy). See Bisq wiki for more information. +# suppress inspection "UnusedProperty" +tradeApps.overview.convenience.BISQ_EASY=Very easy to use chat interface. Bitcoin buyer does not need to have Bitcoin. + +###################################################### +## BISQ_MU_SIG +###################################################### + +# suppress inspection "UnusedProperty" +tradeApps.BISQ_MU_SIG=Bisq MuSig +# suppress inspection "UnusedProperty" +tradeApps.overview.BISQ_MU_SIG=The Bisq MuSig protocol requires only one transaction thanks to MuSig, Atomic Swaps and Taproot. +# suppress inspection "UnusedProperty" +tradeApps.overview.markets.BISQ_MU_SIG=BTC/Fiat +# suppress inspection "UnusedProperty" +tradeApps.overview.security.BISQ_MU_SIG=Security is based on security deposits as well on additional features in \ + relation to trade limits. See the Bisq wiki for more information. +# suppress inspection "UnusedProperty" +tradeApps.overview.privacy.BISQ_MU_SIG=Depends on the fiat transfer method used. Online fiat transfer usually \ + reveals identity to the trade peer. On the Bitcoin side it is constrained by Bitcoin's privacy limitations and depends \ + on user behaviour (avoiding coin merge of multiple trades increase privacy). See Bisq wiki for more information. +# suppress inspection "UnusedProperty" +tradeApps.overview.convenience.BISQ_MU_SIG=The user needs to have a small amount of Bitcoins for locking up security deposit. \ + Can be as fast as blockchain confirmation time or up to a few days depending on the fiat payment method. + +# suppress inspection "UnusedProperty" +tradeApps.BISQ_MU_SIG.subHeadline=Based on MuSig, Atomic swaps and Taproot it requires only one transaction +# suppress inspection "UnusedProperty" +tradeApps.BISQ_MU_SIG.overview=Conceptually it follows the trade protocol used in Bisq 1, based on a security deposit and a dispute resolution process.\n\ + - It reduces the number of transactions from 4 to 1.\n\ + - Improves privacy by making the deposit transaction look like a standard 'pay-to-pubKey-hash' transaction.\n\ + - It avoids the problem that a seller needs to open arbitration in case the buyer does not release the security deposit after the trade. \ + Atomic swaps will ensure the seller can get their deposit back even without cooperation of the buyer.\n\ + - In case of a non-responsive trade peer, a multi-stage payout transaction structure ensures that no arbitration \ + and reimbursement by the DAO is required.\n\ + - Taproot provides more flexibility and privacy.\n\ + - Find out more details at: https://github.com/bisq-network/proposals/issues/456 +# suppress inspection "UnusedProperty" +tradeApps.BISQ_MU_SIG.release=Bisq MuSig is expected to be ready for release in Q4/2024. +# suppress inspection "UnusedProperty" +tradeApps.BISQ_MU_SIG.pro=\ + + Reasonable good security for medium value trade amounts\n\ + + Compared to Bisq Easy the security properties are better and higher amounts can be traded. The higher amounts bring trade prices closer to market rates.\n\ + + Manages to deal with the legacy system of the fiat world +# suppress inspection "UnusedProperty" +tradeApps.BISQ_MU_SIG.con=\ + - Both traders need to have BTC for the security deposit\n\ + - The makers Bisq node need to be online as the take-offer process is interactive\n\ + - As the fiat transfer is done on legacy systems like bank transfers it inherits all those drawbacks, like chargeback risk, slow transfer, privacy exposure to peer when the bank transfer details contain the real name. Though those various drawbacks can be mitigated by using payment methods which carry low chargeback risk, are fast or instant and use account IDs or email instead of real names. Certain payment methods avoid banking system completely like cash-by-mail or trading face to face. + + +###################################################### +## SUBMARINE +###################################################### + +# suppress inspection "UnusedProperty" +tradeApps.SUBMARINE=Submarine Swaps +# suppress inspection "UnusedProperty" +tradeApps.overview.SUBMARINE=Swap between Bitcoin on Lightning network to on-chain Bitcoin +# suppress inspection "UnusedProperty" +tradeApps.overview.markets.SUBMARINE=LN-BTC/BTC +# suppress inspection "UnusedProperty" +tradeApps.overview.security.SUBMARINE=Atomic swap provides a very high level of security. +# suppress inspection "UnusedProperty" +tradeApps.overview.privacy.SUBMARINE=Swaps can potentially improve privacy by breaking traces for chain analysis. +# suppress inspection "UnusedProperty" +tradeApps.overview.convenience.SUBMARINE=User needs to install and configure a Lightning wallet. \ + Once installed it's very convenient to use. +# suppress inspection "UnusedProperty" +tradeApps.SUBMARINE.subHeadline=Submarine swaps allow to exchange off-chain and on-chain Bitcoin safely without counterparty risk +# suppress inspection "UnusedProperty" +tradeApps.SUBMARINE.overview=The swap is performed by using the secret of a hash time-locked contract (HTLC) in the Lightning Network for a contract in a Bitcoin transaction. \ + By claiming the Lightning payment the secret for claiming the on-chain Bitcoin is revealed to the sender of the Lightning payment. \ + This ensures that one payment unlocks the other payment, thus enables an exchange without counterparty risk. +# suppress inspection "UnusedProperty" +tradeApps.SUBMARINE.release=Submarine swaps is expected to be ready for release in Q2/2025. +# suppress inspection "UnusedProperty" +tradeApps.SUBMARINE.pro=\ + + Very high security for large trade amounts\n\ + + Swapping on-chain Bitcoin to Lightning can potentially improve privacy.\n\ + + Exchange can be done by trading bots, thue enables fast and automated trades. +# suppress inspection "UnusedProperty" +tradeApps.SUBMARINE.con=\ + - Mining fees for the Bitcoin transaction can make small trades un-economic\n\ + - Traders have to take care of the timeouts of the transactions. In case of blockchain congestion and delayed confirmation that can pose a security risk. + + +###################################################### +## LIQUID_MU_SIG +###################################################### + +# suppress inspection "UnusedProperty" +tradeApps.LIQUID_MU_SIG=Liquid MuSig +# suppress inspection "UnusedProperty" +tradeApps.overview.LIQUID_MU_SIG=The Bisq MuSig protocol ported to the Liquid side chain +# suppress inspection "UnusedProperty" +tradeApps.overview.markets.LIQUID_MU_SIG=L-BTC/Fiat +# suppress inspection "UnusedProperty" +tradeApps.overview.security.LIQUID_MU_SIG=Security is based on security deposits as well on additional features in \ + relation to trade limits. See the Bisq wiki for more information. +# suppress inspection "UnusedProperty" +tradeApps.overview.privacy.LIQUID_MU_SIG=Depends on the fiat transfer method used. Online fiat transfer usually \ + reveals identity to the trade peer. On the Liquid side it has better privacy than mainnet Bitcoin due confidential transactions. +# suppress inspection "UnusedProperty" +tradeApps.overview.convenience.LIQUID_MU_SIG=The user needs to have a small amount of L-BTC for locking up security deposit. \ + Blockchain confirmation on liquid is very fast (about 1 minute). Time for trade depends on the payment method used and the trader's response time. +# suppress inspection "UnusedProperty" +tradeApps.LIQUID_MU_SIG.subHeadline=Based on a security deposit, a MuSig transaction and a multi layer dispute resolution process +# suppress inspection "UnusedProperty" +tradeApps.LIQUID_MU_SIG.overview=Conceptually it follows the Bisq MuSig protocol (on Bitcoin mainnet). Liquid has not the same censorship properties as Bitcoin, though it provides a few benefits over Bitcoin mainnet:\n\ + - Liquid has very short block confirmation time of about 1 minute.\n\ + - Transactions fees are very low.\n\ + - Privacy is better due confidential transactions which hide the amount being sent. +# suppress inspection "UnusedProperty" +tradeApps.LIQUID_MU_SIG.release=Liquid MuSig is expected to be ready for release in Q2/2025. +# suppress inspection "UnusedProperty" +tradeApps.LIQUID_MU_SIG.pro=\ + + Reasonable good security for medium value trade amounts\n\ + + Compared to Bisq MuSig there are lower transaction fees, faster confirmation and better privacy.\n\ + + Manages to deal with the legacy system of the Fiat world +# suppress inspection "UnusedProperty" +tradeApps.LIQUID_MU_SIG.con=\ + - Both traders need to have L-BTC for the security deposit\n\ + - Liquid is a federated side chain and does not have the high level of censorship resistance as mainnet Bitcoin.\n\ + - Peg-in from mainnet Bitcoin to Liquid Bitcoin is trust-less, though for pegging-out L-BTC to BTC it requires authorisation of the federation.\n\ + - The makers Bisq node need to be online as the take-offer process is interactive\n\ + - As the Fiat transfer is done on legacy systems like bank transfers it inherits all those drawbacks, like chargeback risk, slow transfer, privacy exposure to peer when the bank transfer details contain the real name. Though those various drawbacks can be mitigated by using payment methods which carry low chargeback risk, are fast or instant and use account IDs or email instead of real names. Certain payment methods avoid banking system completely like cash-by-mail or trading face to face. + + +###################################################### +## BISQ_LIGHTNING +###################################################### + +# suppress inspection "UnusedProperty" +tradeApps.BISQ_LIGHTNING=Bisq Lightning +# suppress inspection "UnusedProperty" +tradeApps.overview.BISQ_LIGHTNING=Enables trade of Bitcoin on Lightning Network to Fiat by combining Submarine swaps and Liquid MuSig protocol +# suppress inspection "UnusedProperty" +tradeApps.overview.markets.BISQ_LIGHTNING=LN-BTC/Fiat +# suppress inspection "UnusedProperty" +tradeApps.overview.security.BISQ_LIGHTNING=Security is based on security deposits as well on additional features in \ + relation to trade limits. See the Bisq wiki for more information. +# suppress inspection "UnusedProperty" +tradeApps.overview.privacy.BISQ_LIGHTNING=Depends on the Fiat transfer method used. Online Fiat transfer usually \ + reveals identity to the trade peer. On the Lightning side it has better privacy than on-chain Bitcoin as it does not leave traces on the Blockchain. On the Liquid side it has better privacy than mainnet Bitcoin due confidential transactions. +# suppress inspection "UnusedProperty" +tradeApps.overview.convenience.BISQ_LIGHTNING=The user needs to have a small amount of Bitcoin on Lightning for locking up security deposit. \ + The Submarine swaps and the trade transactions benefit from the fast blockchain confirmation time of about 1 minute. \ + Time for trade depends on the payment method used and the trader's response time. +# suppress inspection "UnusedProperty" +tradeApps.BISQ_LIGHTNING.subHeadline=Combines Submarine swaps from Lightning to Liquid and the Liquid MuSig protocol +# suppress inspection "UnusedProperty" +tradeApps.BISQ_LIGHTNING.overview=It enables that traders can use their off-chain Bitcoin on Lightning for trading with Fiat based on the Liquid MuSig protocol. \ + The protocol is a chain of 3 trades and 2 different protocols:\n\ + - First the traders swap their Lightning Bitcoin via a reverse Submarine swap to L-BTC (Submarine swap between Lightning and Liquid). This swap happens with any liquidity provider, not with the trading peer.\n\ + - Then the trade happens on Liquid using the MuSig protocol.\n\ + - Once the trade has completed, the L-BTC gets swapped back to Lightning by a Submarine swap (again with another trader/liquidity provider). +# suppress inspection "UnusedProperty" +tradeApps.BISQ_LIGHTNING.release=Bisq Lightning is expected to be ready for release in Q2/2025. +# suppress inspection "UnusedProperty" +tradeApps.BISQ_LIGHTNING.pro=\ + + Reasonable good security for medium value trade amounts\n\ + + Compared to Bisq MuSig there are lower transaction fees, faster confirmation and better privacy.\n\ + + Manages to deal with the legacy system of the Fiat world +# suppress inspection "UnusedProperty" +tradeApps.BISQ_LIGHTNING.con=\ + - Both traders need to have BTC on Lightning for the security deposit\n\ + - The involvement of 2 additional traders for the Submarine swaps adds complexity and potential (rather small) risks.\n\ + - Liquid is a federated side chain and does not have the high level of censorship resistance as mainnet Bitcoin.\n\ + - Peg-in from mainnet Bitcoin to Liquid Bitcoin is trust-less, though for pegging-out L-BTC to BTC it requires authorisation of the federation.\n\ + - The makers Bisq node need to be online as the take-offer process is interactive\n\ + - As the Fiat transfer is done on legacy systems like bank transfers it inherits all those drawbacks, like chargeback risk, slow transfer, privacy exposure to peer when the bank transfer details contain the real name. Though those various drawbacks can be mitigated by using payment methods which carry low chargeback risk, are fast or instant and use account IDs or email instead of real names. Certain payment methods avoid banking system completely like cash-by-mail or trading face to face. + + +###################################################### +## LIQUID_SWAP +###################################################### + +# suppress inspection "UnusedProperty" +tradeApps.LIQUID_SWAP=Liquid Swaps +# suppress inspection "UnusedProperty" +tradeApps.overview.LIQUID_SWAP=Trade any Liquid based assets like USDT and BTC-L with an atomic swap on the Liquid network +# suppress inspection "UnusedProperty" +tradeApps.overview.markets.LIQUID_SWAP=Liquid Assets +# suppress inspection "UnusedProperty" +tradeApps.overview.security.LIQUID_SWAP=Ultimate security by using smart contracts on the same blockchain. +# suppress inspection "UnusedProperty" +tradeApps.overview.privacy.LIQUID_SWAP=Liquid supports confidential transactions, thus not revealing \ +the amount on the blockchain. +# suppress inspection "UnusedProperty" +tradeApps.overview.convenience.LIQUID_SWAP=User needs to install and configure the Elements wallet for Liquid. \ +Once installed it's very convenient to use. +# suppress inspection "UnusedProperty" +tradeApps.LIQUID_SWAP.subHeadline=Atomic swap based trade protocol on the Liquid side-chain for trading any Liquid asset +# suppress inspection "UnusedProperty" +tradeApps.LIQUID_SWAP.overview=To use Liquid swaps the user need to install and run the Elements wallet and configure it, so that it can be accessed from the Bisq application.\n\n\ + The most widely used asset on Liquid is USDT (Tether), a stable coin pegged to the USD. While this is not comparable to something like Bitcoin, it has many advantages over Fiat USD which involves usually bank transfers with all the problems and inconvenience of the legacy Fiat system.\n\n\ + L-BTC might be used on the other end of the trade which is a substitute of Bitcoin on the Liquid chain. To convert Bitcoin to L-BTC one need to send Bitcoin to a peg-in address and will receive after 102 confirmations L-BTC for that. Going back from L-BTC to Bitcoin (peg-out) works similar but requires authorisation from the Liquid federation which is a group of companies and individuals in the Bitcoin space. So it is not a completely trust-less process.\n\n\ + One should avoid comparing Liquid assets to the properties of Bitcoin. It targets other use cases and cannot meet the high level of decentralisation and censorship resistance of Bitcoin. It can be seen rather as an alternative to traditional financial products. By using blockchain technology it avoids classical intermediaries, improves security and privacy and provides a better user experience. +# suppress inspection "UnusedProperty" +tradeApps.LIQUID_SWAP.release=Liquid swaps are still in development. It is expected to be released in Q2/2025. +# suppress inspection "UnusedProperty" +tradeApps.LIQUID_SWAP.pro=\ + + Confidential transactions provide good privacy\n\ + + Fast confirmation time of about 1 minute\n\ + + Low transaction fees\n\ + + Suitable for high value transactions +# suppress inspection "UnusedProperty" +tradeApps.LIQUID_SWAP.con=\ + - Requires running the Elements wallet and blockchain\n\ + - Both traders need to be online\n\ + - Peg-out from L-BTC is not trust-less + + +###################################################### +## BSQ_SWAP +###################################################### + +# suppress inspection "UnusedProperty" +tradeApps.BSQ_SWAP=BSQ Swaps +# suppress inspection "UnusedProperty" +tradeApps.overview.BSQ_SWAP=Trade Bitcoin and the BSQ token via atomic swaps, instantaneously and secure +# suppress inspection "UnusedProperty" +tradeApps.overview.markets.BSQ_SWAP=BSQ/BTC +# suppress inspection "UnusedProperty" +tradeApps.overview.security.BSQ_SWAP=Ultimate security by using smart contract on same blockchain. +# suppress inspection "UnusedProperty" +tradeApps.overview.privacy.BSQ_SWAP=Constrained by Bitcoin's privacy limitations and depends \ +on user behaviour (avoiding coin merge of multiple trades increase privacy). BSQ has potentially less privacy due \ +the smaller anonymity set. See Bisq wiki for more information. +# suppress inspection "UnusedProperty" +tradeApps.overview.convenience.BSQ_SWAP=User needs to install and configure the BSQ wallet. \ +Once installed it's very convenient to use. +# suppress inspection "UnusedProperty" +tradeApps.BSQ_SWAP.subHeadline=Atomic swap between BSQ (colored coin on Bitcoin) and Bitcoin +# suppress inspection "UnusedProperty" +tradeApps.BSQ_SWAP.overview=Same model as used in Bisq 1. As it is based on one single atomic transaction it is very secure.\n\ + It will require to run the Bisq 1 node with the DAO API enabled. +# suppress inspection "UnusedProperty" +tradeApps.BSQ_SWAP.release=BSQ swaps is expected to be ready for release in Q3/2025. +# suppress inspection "UnusedProperty" +tradeApps.BSQ_SWAP.pro=\ + + Very secure\n\ + + Relative fast, thought only after the blockchain confirmation the trade is considered complete\n\ + + No maker fee transaction and no security deposit required +# suppress inspection "UnusedProperty" +tradeApps.BSQ_SWAP.con=\ + - Need to run Bisq 1 for the BSQ/DAO data\n\ + - Limited to BSQ/BTC market + + +###################################################### +## LIGHTNING_ESCROW +###################################################### + +# suppress inspection "UnusedProperty" +tradeApps.LIGHTNING_ESCROW=Lightning Escrow +# suppress inspection "UnusedProperty" +tradeApps.overview.LIGHTNING_ESCROW=Escrow based trade protocol on the Lightning network using multi-party computation cryptography +# suppress inspection "UnusedProperty" +tradeApps.overview.markets.LIGHTNING_ESCROW=LN-BTC/Fiat +# suppress inspection "UnusedProperty" +tradeApps.overview.security.LIGHTNING_ESCROW=Security is based on security deposits as well on additional features in \ +relation to trade limits. The protocol uses some novel cryptographic techniques which are not battle-tested and audited. \ +See Bisq wiki for more information. +# suppress inspection "UnusedProperty" +tradeApps.overview.privacy.LIGHTNING_ESCROW=Depends on the Fiat transfer method used. Online Fiat transfer usually \ +reveals identity to the trade peer. On the Bitcoin side it is constrained by Bitcoin's privacy limitations and depends \ +on user behaviour (avoiding coin merge of multiple trades increase privacy). See Bisq wiki for more information. +# suppress inspection "UnusedProperty" +tradeApps.overview.convenience.LIGHTNING_ESCROW=User need to have a small amount of Bitcoin for locking up security deposit. +# suppress inspection "UnusedProperty" +tradeApps.LIGHTNING_ESCROW.subHeadline=Three-party protocol for trading Fiat with Bitcoin on Lightning Network. +# suppress inspection "UnusedProperty" +tradeApps.LIGHTNING_ESCROW.overview=It is based on multiple Lightning payments and splits up the secrets for the HTLCs to construct a secure setup where the 3rd party guarantees that the traders behave fair. It uses garbled circuits to achieve secure multi party computation.\n\n\ + The user needs to run a Lightning node which is configured with the Bisq application.\n\n\ + Conceptually it is similar to the Bisq MuSig protocol but instead of the MuSig transaction it uses this 3-party set-up and instead of on-chain Bitcoin it uses Bitcoin on Lightning Network. +# suppress inspection "UnusedProperty" +tradeApps.LIGHTNING_ESCROW.release=Lightning Escrow is expected to be ready for release in Q4/2025. +# suppress inspection "UnusedProperty" +tradeApps.LIGHTNING_ESCROW.pro=\ + + Compared to Bisq Easy the security properties are better and higher amounts can be traded. The higher amounts bring trade prices closer to market rates.\n\ + + The Bitcoin transfer is near instant\n\ + + Very low transaction (routing) fees +# suppress inspection "UnusedProperty" +tradeApps.LIGHTNING_ESCROW.con=\ + - Need to run a Lightning node\n\ + - Both traders need to have BTC (on Lightning) for the security deposit.\n\ + - The makers Bisq node need to be online as the take-offer process is interactive.\n\ + - As the Fiat transfer is done on legacy systems like bank transfers it inherits all those drawbacks, like chargeback risk, slow transfer, privacy exposure to peer when the bank transfer details contain the real name. Though those various drawbacks can be mitigated by using payment methods which carry low chargeback risk, are fast or instant and use account IDs or email instead of real names. Certain payment methods avoid banking system completely like cash-by-mail or trading face to face. + + +###################################################### +## MONERO_SWAP +###################################################### + +# suppress inspection "UnusedProperty" +tradeApps.MONERO_SWAP=Monero Swaps +# suppress inspection "UnusedProperty" +tradeApps.overview.MONERO_SWAP=Trade Bitcoin and Monero using an atomic cross chain swap +# suppress inspection "UnusedProperty" +tradeApps.overview.markets.MONERO_SWAP=XMR/BTC +# suppress inspection "UnusedProperty" +tradeApps.overview.security.MONERO_SWAP=Very high security by using adaptor signatures to swap atomically between the Monero and Bitcoin blockchain. +# suppress inspection "UnusedProperty" +tradeApps.overview.privacy.MONERO_SWAP=Very high on the Monero side due its inherent strong privacy. \ + On the Bitcoin side it is constrained by Bitcoin's privacy limitations. +# suppress inspection "UnusedProperty" +tradeApps.overview.convenience.MONERO_SWAP=User need to install the Farcaster swap daemon and a Monero and Bitcoin full node. Once installed its very convenient. +# suppress inspection "UnusedProperty" +tradeApps.MONERO_SWAP.subHeadline=Atomic cross-chain swap protocol for trading Bitcoin with Monero +# suppress inspection "UnusedProperty" +tradeApps.MONERO_SWAP.overview=Based on the Farcaster project (funded by the Monero community) using hashed time lock contracts (HTLC), adaptor signatures and zero-knowledge proof for atomically swapping Bitcoin and Monero.\n\n\ + The user needs to install and run a Bitcoin node, a Monero node and the Farcaster daemon. During the swap, the nodes of both traders need to be online. The extra effort when using that protocol pays off with a very high level of security. \ + Though users should make themselves familiar with the details of that concept and be aware that there are edge case carrying some small risks. +# suppress inspection "UnusedProperty" +tradeApps.MONERO_SWAP.release=Monero swaps are expected to be ready for release in Q3/2025. +# suppress inspection "UnusedProperty" +tradeApps.MONERO_SWAP.pro=\ + + Very secure\n\ + + Decent privacy. On the Bitcoin side it inherits Bitcoin's privacy properties. On the Monero side it benefits from the high privacy of Monero.\n\ + + Suitable for high value transactions +# suppress inspection "UnusedProperty" +tradeApps.MONERO_SWAP.con=\ + - It requires some technical skills and experience to run the required infrastructure\n\ + - Confirmation time is based on the confirmations on both blockchains which will be usually about 20-30 min.\n\ + - Transaction fees on the Bitcoin side could be non-trivial in case of high blockchain congestion (rather rare, though)\n\ + - Both traders need to be online\n\ + - It requires lots of fast disk storage for the nodes diff --git a/pocs/android_only_m2_j17jars/app/src/main/resources/trade_apps_cs.properties b/pocs/android_only_m2_j17jars/app/src/main/resources/trade_apps_cs.properties new file mode 100644 index 00000000..a2ac6988 --- /dev/null +++ b/pocs/android_only_m2_j17jars/app/src/main/resources/trade_apps_cs.properties @@ -0,0 +1,265 @@ +###################################################### +## Trade protocols +###################################################### +tradeApps.compare=Porovnat protokoly +tradeApps.bisqMuSig=Bisq MuSig +tradeApps.subMarine=Submarine Swaps +tradeApps.bisqLightning=Bisq Lightning +tradeApps.more=Více + +tradeApps.comingSoon=Brzy k dispozici +tradeApps.select=Vybrat +tradeApps.release=Verze +tradeApps.security=Bezpečnost +tradeApps.markets=Trhy +tradeApps.privacy=Soukromí +tradeApps.convenience=Komfort +tradeApps.overview=Přehled +tradeApps.tradeOffs=Výhody/Nevýhody + +tradeApps.overview.headline=Zjistěte nejlepší způsob, jak obchodovat s Bitcoinem +tradeApps.overview.subHeadline=Obchodní protokol slouží jako základní rámec pro bezpečné obchodování s Bitcoiny. Každý obchodní protokol přináší svůj vlastní soubor výhod a kompromisů zahrnujících bezpečnost, soukromí a pohodlí.\nBisq vám nabízí flexibilitu vybrat si optimální protokol, který bude odpovídat vašim preferencím.\n\nObjevte nadcházející obchodní protokoly plánované pro integraci do Bisqu. V současné době je Bisq Easy jediný implementovaný protokol, navržený pro začátečníky v obchodování s Bitcoiny a vhodný pro menší objemy obchodů. Sledujte aktualizace, pokud vás některý z nadcházejících protokolů zaujme. + +tradeApps.overview.more=Kromě toho jsou na obzoru další protokoly, které mají být implementovány v budoucnu. + + +###################################################### +## BISQ_EASY +###################################################### + +# suppress inspection "UnusedProperty" +tradeApps.BISQ_EASY=Bisq Easy +# suppress inspection "UnusedProperty" +tradeApps.overview.markets.BISQ_EASY=BTC/Fiat +# suppress inspection "UnusedProperty" +tradeApps.overview.BISQ_EASY=Snadno použitelný obchodní protokol založený na chatu. Bezpečnost je založena na pověsti prodejce +# suppress inspection "UnusedProperty" +tradeApps.overview.security.BISQ_EASY=Bezpečnost je založena na pověsti prodejce. Hodí se pouze pro malé částky. +# suppress inspection "UnusedProperty" +tradeApps.overview.privacy.BISQ_EASY=Závisí na použité metodě převodu fiat. Online převod fiat obvykle odhalí identitu obchodníka. Na straně Bitcoinu je omezen nárokami na soukromí Bitcoinu a závisí na chování uživatele (vyhýbání se slučování mincí z více obchodů zvyšuje soukromí). Viz Bisq wiki pro více informací. +# suppress inspection "UnusedProperty" +tradeApps.overview.convenience.BISQ_EASY=Velmi snadné použití prostřednictvím chatového rozhraní. Kupující Bitcoin nemusí mít Bitcoin. + +###################################################### +## BISQ_MU_SIG +###################################################### + +# suppress inspection "UnusedProperty" +tradeApps.BISQ_MU_SIG=Bisq MuSig +# suppress inspection "UnusedProperty" +tradeApps.overview.BISQ_MU_SIG=Protokol Bisq MuSig vyžaduje pouze jednu transakci díky MuSig, Atomic Swaps a Taproot. +# suppress inspection "UnusedProperty" +tradeApps.overview.markets.BISQ_MU_SIG=BTC/Fiat +# suppress inspection "UnusedProperty" +tradeApps.overview.security.BISQ_MU_SIG=Bezpečnost je založena na zálohách na bezpečnost a také na dalších funkcích vztahujících se k omezením obchodu. Pro více informací navštivte Bisq wiki. +# suppress inspection "UnusedProperty" +tradeApps.overview.privacy.BISQ_MU_SIG=Závisí na použité metodě Fiat přenosu. Online Fiat přenos obvykle odhaluje totožnost obchodního partnera. Na straně Bitcoinu je omezeno nedostatky soukromí Bitcoinu a závisí na chování uživatele (vyhýbání se slučování mincí z více obchodů zvyšuje soukromí). Pro více informací navštivte Bisq wiki. +# suppress inspection "UnusedProperty" +tradeApps.overview.convenience.BISQ_MU_SIG=Uživatel musí mít malé množství Bitcoinů jako záruku za bezpečnostní vklad. Může být tak rychlý jako potvrzení blockchainu nebo až několik dní v závislosti na metodě platby fiat. + +# suppress inspection "UnusedProperty" +tradeApps.BISQ_MU_SIG.subHeadline=Na základě MuSig, Atomic swaps a Taproot vyžaduje pouze jednu transakci +# suppress inspection "UnusedProperty" +tradeApps.BISQ_MU_SIG.overview=Konceptuálně následuje obchodní protokol používaný v Bisq 1, založený na bezpečnostní záloze a procesu řešení sporů.\n- Snižuje počet transakcí z 4 na 1.\n- Zlepšuje soukromí tím, že transakce se zálohou vypadá jako standardní transakce 'pay-to-pubKey-hash'.\n- Vyhýbá se problému, kdy musí prodávající otevřít arbitráž v případě, že kupující neuvolní bezpečnostní zálohu po obchodě. Atomic swaps zajistí, že prodávající si může svou zálohu vzít zpět i bez spolupráce kupujícího.\n- V případě neodpovídajícího obchodního partnera struktura víceúrovňových transakcí zajišťuje, že není třeba arbitráž ani náhrada škody ze strany DAO.\n- Taproot poskytuje větší flexibilitu a soukromí.\n- Více informací naleznete na: https://github.com/bisq-network/proposals/issues/456 +# suppress inspection "UnusedProperty" +tradeApps.BISQ_MU_SIG.release=Bisq MuSig se očekává, že bude připraven k vydání ve čtvrtém čtvrtletí roku 2024. +# suppress inspection "UnusedProperty" +tradeApps.BISQ_MU_SIG.pro=+ Rozumná bezpečnost pro střední hodnoty obchodního objemu\n+ Ve srovnání s Bisq Easy jsou bezpečnostní vlastnosti lepší a lze obchodovat větší částky. Vyšší objemy přiblíží ceny obchodů tržním sazbám.\n+ Zvládá pracovat s dědictvím systému Fiatového světa +# suppress inspection "UnusedProperty" +tradeApps.BISQ_MU_SIG.con=- Oba obchodníci musí mít BTC pro záruku bezpečnostního vkladu\n- Výrobce Bisq musí být online, protože proces nabídky je interaktivní\n- Protože převod fiat se provádí v systémech dědictví, jako jsou bankovní převody, dědí všechny tyto nedostatky, jako je riziko vrácení peněz, pomalý převod, odhalení soukromí protistrany, když bankovní údaje o převodu obsahují skutečné jméno. I když tyto různé nedostatky lze zmírnit použitím platebních metod s nízkým rizikem vrácení peněz, rychlými nebo okamžitými a použitím identifikačních čísel účtu nebo e-mailu místo skutečných jmen. Některé platební metody se vyhýbají bankovnímu systému úplně, jako je hotovost poštou nebo obchodování tváří v tvář. + + +###################################################### +## SUBMARINE +###################################################### + +# suppress inspection "UnusedProperty" +tradeApps.SUBMARINE=Submarine Swaps +# suppress inspection "UnusedProperty" +tradeApps.overview.SUBMARINE=Výměna mezi Bitcoiny na síti Lightning a Bitcoiny na blockchainu +# suppress inspection "UnusedProperty" +tradeApps.overview.markets.SUBMARINE=LN-BTC/BTC +# suppress inspection "UnusedProperty" +tradeApps.overview.security.SUBMARINE=Atomická výměna poskytuje velmi vysokou úroveň bezpečnosti. +# suppress inspection "UnusedProperty" +tradeApps.overview.privacy.SUBMARINE=Výměny mohou potenciálně zlepšit soukromí tím, že naruší stopy pro analýzu blockchainu. +# suppress inspection "UnusedProperty" +tradeApps.overview.convenience.SUBMARINE=Uživatel musí nainstalovat a nakonfigurovat peněženku Lightning. Jakmile je nainstalována, je velmi pohodlné ji používat. +# suppress inspection "UnusedProperty" +tradeApps.SUBMARINE.subHeadline=Potápěčské výměny umožňují bezpečnou výměnu mimo řetězec a na blockchainu Bitcoin bez rizika protistrany +# suppress inspection "UnusedProperty" +tradeApps.SUBMARINE.overview=Výměna probíhá použitím tajemství smlouvy uzavřené časovým zámkem (HTLC) v síti Lightning pro smlouvu v Bitcoinové transakci. Tím, že se uplatní platba prostřednictvím sítě Lightning, je odesílateli této platby odhaleno tajemství pro uplatnění Bitcoinů na blockchainu. To zajistí, že jedna platba odemkne druhou platbu, což umožňuje výměnu bez rizika protistrany. +# suppress inspection "UnusedProperty" +tradeApps.SUBMARINE.release=Submarine swaps se očekává, že budou připraveny k vydání ve druhém čtvrtletí roku 2025. +# suppress inspection "UnusedProperty" +tradeApps.SUBMARINE.pro=+ Velmi vysoká úroveň bezpečnosti pro velké obchodní objemy\n+ Výměnou Bitcoinů na blockchainu za Lightning může být potenciálně zlepšeno soukromí.\n+ Výměnu můžou provádět obchodníci s boty, což umožňuje rychlé a automatizované obchody. +# suppress inspection "UnusedProperty" +tradeApps.SUBMARINE.con=- Těžební poplatky za Bitcoinovou transakci mohou malé obchody stěží ekonomicky uskutečnitelné\n- Obchodníci musí dbát na časové limity transakcí. V případě zácpy blockchainu a zpožděných potvrzení může to představovat bezpečnostní riziko. + + +###################################################### +## LIQUID_MU_SIG +###################################################### + +# suppress inspection "UnusedProperty" +tradeApps.LIQUID_MU_SIG=Liquid MuSig +# suppress inspection "UnusedProperty" +tradeApps.overview.LIQUID_MU_SIG=Protokol Bisq MuSig přenesený na vedlejší řetězec Liquid +# suppress inspection "UnusedProperty" +tradeApps.overview.markets.LIQUID_MU_SIG=L-BTC/Fiat +# suppress inspection "UnusedProperty" +tradeApps.overview.security.LIQUID_MU_SIG=Bezpečnost je založena na zálohách na bezpečnost a také na dalších funkcích vztahujících se k omezením obchodu. Pro více informací navštivte Bisq wiki. +# suppress inspection "UnusedProperty" +tradeApps.overview.privacy.LIQUID_MU_SIG=Závisí na použité metodě fiat přenosu. Online Fiat přenos obvykle odhaluje totožnost obchodního partnera. Na Liquid side je lepší ochrana soukromí než na hlavní síti Bitcoin díky důvěrným transakcím. +# suppress inspection "UnusedProperty" +tradeApps.overview.convenience.LIQUID_MU_SIG=Uživatel potřebuje malé množství L-BTC pro uzamčení zálohy na bezpečnost. Potvrzení v blockchainu na Liquid je velmi rychlé (přibližně 1 minuta). Doba obchodu závisí na použité platební metodě a času odezvy obchodníka. +# suppress inspection "UnusedProperty" +tradeApps.LIQUID_MU_SIG.subHeadline=Založeno na bezpečnostní záloze, transakci MuSig a víceúrovňovém procesu řešení sporů +# suppress inspection "UnusedProperty" +tradeApps.LIQUID_MU_SIG.overview=Konceptuálně následuje protokol Bisq MuSig (na Bitcoin mainnetu). Liquid nemá stejné vlastnosti cenzury jako Bitcoin, ale poskytuje několik výhod oproti Bitcoin mainnetu:\n- Liquid má velmi krátkou dobu potvrzení bloku asi 1 minutu.\n- Poplatky za transakce jsou velmi nízké.\n- Soukromí je lepší díky důvěrným transakcím, které skrývají zasílanou částku. +# suppress inspection "UnusedProperty" +tradeApps.LIQUID_MU_SIG.release=Liquid MuSig je očekáván k vydání ve 2. čtvrtletí 2025. +# suppress inspection "UnusedProperty" +tradeApps.LIQUID_MU_SIG.pro=+ Rozumná bezpečnost pro obchodní částky střední hodnoty\n+ Ve srovnání s Bisq MuSig jsou nižší poplatky za transakce, rychlejší potvrzení a lepší soukromí.\n+ Dokáže se vypořádat s legacy systémem fiat světa +# suppress inspection "UnusedProperty" +tradeApps.LIQUID_MU_SIG.con=- Obě strany obchodu potřebují mít L-BTC pro zálohu na bezpečnost\n- Liquid je federovaný side chain a nemá stejnou úroveň odolnosti vůči cenzuře jako hlavní síť Bitcoin.\n- Peg-in z hlavní sítě Bitcoin na Liquid Bitcoin je důvěryhodné, ale pro peg-out L-BTC na BTC je vyžadována autorizace federace.\n- Node tvůrce v Bisq musí být online, protože proces přijetí nabídky je interaktivní.\n- Jelikož se Fiatový přenos provádí na systémech dědictví, jako jsou bankovní převody, zdědí všechny tyto nedostatky, jako je riziko storno, pomalý přenos, odhalení soukromí partnerovi, když bankovní údaje obsahují skutečné jméno. Tyto nedostatky lze však zmírnit použitím platebních metod s nízkým rizikem storna, které jsou rychlé nebo okamžité a používají ID účtu nebo e-mail místo skutečných jmen. Některé platební metody zcela obejdou bankovní systém, jako jsou platby hotově poštou nebo osobní obchody. + + +###################################################### +## BISQ_LIGHTNING +###################################################### + +# suppress inspection "UnusedProperty" +tradeApps.BISQ_LIGHTNING=Bisq Lightning +# suppress inspection "UnusedProperty" +tradeApps.overview.BISQ_LIGHTNING=Umožňuje obchodování Bitcoinů na Lightning Network za Fiat kombinováním Submarine swapů a protokolu Liquid MuSig +# suppress inspection "UnusedProperty" +tradeApps.overview.markets.BISQ_LIGHTNING=LN-BTC/Fiat +# suppress inspection "UnusedProperty" +tradeApps.overview.security.BISQ_LIGHTNING=Bezpečnost je založena na zálohách na bezpečnost a také na dalších funkcích vztahujících se k omezením obchodu. Pro více informací navštivte Bisq wiki. +# suppress inspection "UnusedProperty" +tradeApps.overview.privacy.BISQ_LIGHTNING=Závisí na použité metodě Fiat přenosu. Online Fiat přenos obvykle odhaluje totožnost obchodního partnera. Na straně Lightning má lepší ochranu soukromí než na blockchainu Bitcoinu, protože nezanechává stopy na blockchainu. Na straně Liquid má lepší ochranu soukromí než hlavní síť Bitcoin díky důvěrným transakcím. +# suppress inspection "UnusedProperty" +tradeApps.overview.convenience.BISQ_LIGHTNING=Uživatel musí mít malé množství Bitcoinů na Lightning pro zajištění bezpečnostního depozitu. Submarine swapy a obchodní transakce těží z rychlého potvrzení blockchainu, které trvá přibližně 1 minutu. Doba trvání obchodu závisí na použité metodě platby a čase reakce obchodníka. +# suppress inspection "UnusedProperty" +tradeApps.BISQ_LIGHTNING.subHeadline=Kombinuje Submarine swapy z Lightning na Liquid a protokol Liquid MuSig +# suppress inspection "UnusedProperty" +tradeApps.BISQ_LIGHTNING.overview=Umožňuje obchodníkům využít své off-chain Bitcoiny na Lightning pro obchodování s Fiat na základě protokolu Liquid MuSig. Protokol je řetěz 3 obchodů a 2 různých protokolů:\n- Nejprve obchodníci vymění své Lightning Bitcoiny prostřednictvím reverzního Submarine swapu na L-BTC (Submarine swap mezi Lightning a Liquid). Tento swap probíhá s jakýmkoli poskytovatelem likvidity, ne s obchodním partnerem.\n- Poté probíhá obchod na Liquid s použitím protokolu MuSig.\n- Jakmile je obchod dokončen, L-BTC se zpět vymění na Lightning prostřednictvím Submarine swapu (opět s jiným obchodníkem/poskytovatelem likvidity). +# suppress inspection "UnusedProperty" +tradeApps.BISQ_LIGHTNING.release=Bisq Lightning se plánuje vydat v 2. čtvrtletí 2025. +# suppress inspection "UnusedProperty" +tradeApps.BISQ_LIGHTNING.pro=+ Rozumně dobrá bezpečnost pro středně velké obchodní částky\n+ Ve srovnání s Bisq MuSig jsou nižší transakční poplatky, rychlejší potvrzení a lepší soukromí.\n+ Dokáže se vyrovnat s tradičním systémem Fiat světa +# suppress inspection "UnusedProperty" +tradeApps.BISQ_LIGHTNING.con=- Obě strany obchodu potřebují mít BTC na síti Lightning pro zálohu na bezpečnost\n- Zapojení 2 dalších obchodníků do Submarine swapů přidává složitost a potenciální (spíše malá) rizika.\n- Liquid je federovaný side chain a nemá stejnou úroveň odolnosti vůči cenzuře jako hlavní síť Bitcoin.\n- Peg-in z hlavní sítě Bitcoin na Liquid Bitcoin je důvěryhodné, ale pro peg-out L-BTC na BTC je vyžadována autorizace federace.\n- Node tvůrce v Bisq musí být online, protože proces přijetí nabídky je interaktivní.\n- Jelikož se Fiatový přenos provádí na systémech dědictví, jako jsou bankovní převody, zdědí všechny tyto nedostatky, jako je riziko storno, pomalý přenos, odhalení soukromí partnerovi, když bankovní údaje obsahují skutečné jméno. Tyto nedostatky lze však zmírnit použitím platebních metod s nízkým rizikem storna, které jsou rychlé nebo okamžité a používají ID účtu nebo e-mail místo skutečných jmen. Některé platební metody zcela obejdou bankovní systém, jako jsou platby hotově poštou nebo osobní obchody. + + +###################################################### +## LIQUID_SWAP +###################################################### + +# suppress inspection "UnusedProperty" +tradeApps.LIQUID_SWAP=Liquid Swaps +# suppress inspection "UnusedProperty" +tradeApps.overview.LIQUID_SWAP=Obchodování s jakýmkoli majetkem na základě Liquid, jako jsou USDT a BTC-L, pomocí atomické výměny na síti Liquid +# suppress inspection "UnusedProperty" +tradeApps.overview.markets.LIQUID_SWAP=Liquid Assets +# suppress inspection "UnusedProperty" +tradeApps.overview.security.LIQUID_SWAP=Nejvyšší bezpečnost díky použití chytrých smluv na stejném blockchainu. +# suppress inspection "UnusedProperty" +tradeApps.overview.privacy.LIQUID_SWAP=Liquid podporuje důvěrné transakce, takže neprozrazuje částku na blockchainu. +# suppress inspection "UnusedProperty" +tradeApps.overview.convenience.LIQUID_SWAP=Uživatel musí nainstalovat a nakonfigurovat Elements peněženku pro Liquid. Jakmile je nainstalována, je velmi pohodlné ji používat. +# suppress inspection "UnusedProperty" +tradeApps.LIQUID_SWAP.subHeadline=Obchodní protokol založený na atomické výměně na síti Liquid pro obchodování s jakýmkoli majetkem na síti Liquid +# suppress inspection "UnusedProperty" +tradeApps.LIQUID_SWAP.overview=K použití Liquid výměn musí uživatel nainstalovat a spustit Elements peněženku a nakonfigurovat ji tak, aby byla dostupná z aplikace Bisq.\n\nNejvíce používaným majetkem na Liquid je USDT (Tether), stabilní mince navázaná na USD. I když to není srovnatelné s něčím jako Bitcoin, má mnoho výhod oproti Fiat USD, což obvykle zahrnuje bankovní převody s všemi problémy a nepohodlí dědictví Fiat systému.\n\nNa druhém konci obchodu může být použito L-BTC, což je náhrada za Bitcoin na Liquid blockchainu. Pro převod Bitcoinu na L-BTC je třeba odeslat Bitcoin na peg-in adresu a po 102 potvrzeních obdržíte L-BTC. Zpětný převod z L-BTC na Bitcoin (peg-out) funguje podobně, ale vyžaduje autorizaci od federace Liquid, což je skupina společností a jednotlivců v oblasti Bitcoinu. Proto to není zcela důvěryhodný proces.\n\nNemělo by se snažit srovnávat majetek na Liquid s vlastnostmi Bitcoinu. Zaměřuje se na jiné použití a nemůže splnit vysokou úroveň decentralizace a odolnosti proti cenzuře Bitcoinu. Může být spíše vnímán jako alternativa k tradičním finančním produktům. Používáním blockchain technologie se vyhne klasickým prostředníkům, zlepšuje bezpečnost a ochranu soukromí a poskytuje lepší uživatelskou zkušenost. +# suppress inspection "UnusedProperty" +tradeApps.LIQUID_SWAP.release=Liquid swaps jsou stále ve vývoji. Očekává se, že budou vydány v 2. čtvrtletí 2025. +# suppress inspection "UnusedProperty" +tradeApps.LIQUID_SWAP.pro=+ Důvěrné transakce poskytují dobré soukromí\n+ Rychlý čas potvrzení přibližně 1 minuta\n+ Nízké transakční poplatky\n+ Vhodné pro obchody s vysokou hodnotou +# suppress inspection "UnusedProperty" +tradeApps.LIQUID_SWAP.con=- Vyžaduje běh Elements peněženky a blockchainu\n- Obě strany obchodu musí být online\n- Peg-out z L-BTC není důvěryhodný + + +###################################################### +## BSQ_SWAP +###################################################### + +# suppress inspection "UnusedProperty" +tradeApps.BSQ_SWAP=BSQ Swaps +# suppress inspection "UnusedProperty" +tradeApps.overview.BSQ_SWAP=Obchodování s Bitcoinem a tokenem BSQ prostřednictvím atomických výměn, okamžitě a bezpečně +# suppress inspection "UnusedProperty" +tradeApps.overview.markets.BSQ_SWAP=BSQ/BTC +# suppress inspection "UnusedProperty" +tradeApps.overview.security.BSQ_SWAP=Nejvyšší bezpečnost díky použití chytré smlouvy na stejném blockchainu. +# suppress inspection "UnusedProperty" +tradeApps.overview.privacy.BSQ_SWAP=Omezeno nedostatky soukromí Bitcoinu a závisí na chování uživatele (vyhýbání se slučování mincí z více obchodů zvyšuje soukromí). BSQ má potenciálně menší soukromí kvůli menšímu anonymnímu záznamu. Pro více informací navštivte Bisq wiki. +# suppress inspection "UnusedProperty" +tradeApps.overview.convenience.BSQ_SWAP=Uživatel musí nainstalovat a nakonfigurovat peněženku BSQ. Jakmile je nainstalována, je velmi pohodlné ji používat. +# suppress inspection "UnusedProperty" +tradeApps.BSQ_SWAP.subHeadline=Atomická výměna mezi BSQ (barevnou mincí na Bitcoinu) a Bitcoinem +# suppress inspection "UnusedProperty" +tradeApps.BSQ_SWAP.overview=Stejný model jako v Bisq 1. Jelikož je založen na jediné atomické transakci, je velmi bezpečný.\nVyžaduje běh uzlu Bisq 1 s povoleným rozhraním API pro DAO. +# suppress inspection "UnusedProperty" +tradeApps.BSQ_SWAP.release=BSQ swaps se plánuje vydat v 3. čtvrtletí 2025. +# suppress inspection "UnusedProperty" +tradeApps.BSQ_SWAP.pro=+ Velmi bezpečné\n+ Relativně rychlé, i když obchod je považován za dokončený až po potvrzení v blockchainu\n+ Není vyžadována transakce s poplatkem pro tvůrce nabídky a není vyžadována záloha na bezpečnost +# suppress inspection "UnusedProperty" +tradeApps.BSQ_SWAP.con=- Je nutné spustit Bisq 1 pro data BSQ/DAO\n- Omezeno na trh BSQ/BTC + + +###################################################### +## LIGHTNING_ESCROW +###################################################### + +# suppress inspection "UnusedProperty" +tradeApps.LIGHTNING_ESCROW=Lightning Escrow +# suppress inspection "UnusedProperty" +tradeApps.overview.LIGHTNING_ESCROW=Obchodní protokol založený na Escrow na síti Lightning s využitím kryptografie víceúčelového výpočtu +# suppress inspection "UnusedProperty" +tradeApps.overview.markets.LIGHTNING_ESCROW=LN-BTC/Fiat +# suppress inspection "UnusedProperty" +tradeApps.overview.security.LIGHTNING_ESCROW=Bezpečnost je založena na zálohách na bezpečnost a také na dalších funkcích vztahujících se k omezením obchodu. Protokol používá některé nové kryptografické techniky, které nebyly testovány v boji a auditovány. Pro více informací navštivte Bisq wiki. +# suppress inspection "UnusedProperty" +tradeApps.overview.privacy.LIGHTNING_ESCROW=Závisí na použité metodě Fiat přenosu. Online Fiat přenos obvykle odhaluje totožnost obchodního partnera. Na straně Bitcoinu je omezeno nedostatky soukromí Bitcoinu a závisí na chování uživatele (vyhýbání se slučování mincí z více obchodů zvyšuje soukromí). Pro více informací navštivte Bisq wiki. +# suppress inspection "UnusedProperty" +tradeApps.overview.convenience.LIGHTNING_ESCROW=Uživatel musí mít malé množství Bitcoinu pro uzamčení zálohy na bezpečnost. +# suppress inspection "UnusedProperty" +tradeApps.LIGHTNING_ESCROW.subHeadline=Trojstranný protokol pro obchodování Fiat s Bitcoinem na síti Lightning. +# suppress inspection "UnusedProperty" +tradeApps.LIGHTNING_ESCROW.overview=Je založen na několika platbách Lightning a rozděluje tajemství pro HTLC (Hashed Time-Locked Contracts), aby vytvořil bezpečné nastavení, kde třetí strana zaručuje, že obchodníci se chovají čestně. Používá zamčené obvody (garbled circuits) k dosažení bezpečného výpočtu více stran.\n\nUživatel musí provozovat Lightning uzel, který je nakonfigurován s aplikací Bisq.\n\nKoncepčně je podobný protokolu Bisq MuSig, ale místo MuSig transakce používá tento 3-stranný setup a místo on-chain Bitcoinu používá Bitcoin na Lightning Network. +# suppress inspection "UnusedProperty" +tradeApps.LIGHTNING_ESCROW.release=Lightning Escrow se plánuje vydat v 4. čtvrtletí 2025. +# suppress inspection "UnusedProperty" +tradeApps.LIGHTNING_ESCROW.pro=+ V porovnání s Bisq Easy jsou bezpečnostní vlastnosti lepší a mohou být obchodovány vyšší částky. Vyšší částky přibližují ceny obchodů k tržním sazbám.\n+ Platby Bitcoinu jsou téměř okamžité\n+ Velmi nízké transakční (směrovací) poplatky +# suppress inspection "UnusedProperty" +tradeApps.LIGHTNING_ESCROW.con=- Je nutné spustit uzel Lightning\n- Obě strany obchodu potřebují mít BTC (na síti Lightning) pro zálohu na bezpečnost.\n- Node tvůrce v Bisq musí být online, protože proces přijetí nabídky je interaktivní.\n- Jelikož se Fiatový přenos provádí na systémech dědictví, jako jsou bankovní převody, zdědí všechny tyto nedostatky, jako je riziko storno, pomalý přenos, vystavení soukromí partnerovi, když údaje o bankovním převodu obsahují skutečné jméno. Tyto různé nedostatky lze však zmírnit použitím platebních metod, které nesou nízké riziko storno, jsou rychlé nebo okamžité a používají identifikační čísla nebo e-mail místo skutečných jmen. Určité platební metody úplně vyhnou bankovnímu systému, jako je hotovost poštou nebo osobní obchodování face to face. + + +###################################################### +## MONERO_SWAP +###################################################### + +# suppress inspection "UnusedProperty" +tradeApps.MONERO_SWAP=Monero Swaps +# suppress inspection "UnusedProperty" +tradeApps.overview.MONERO_SWAP=Obchodování s Bitcoinem a Monerem pomocí atomického křížového řetězce +# suppress inspection "UnusedProperty" +tradeApps.overview.markets.MONERO_SWAP=XMR/BTC +# suppress inspection "UnusedProperty" +tradeApps.overview.security.MONERO_SWAP=Velmi vysoká bezpečnost díky použití adaptérních podpisů pro atomickou výměnu mezi Monero a Bitcoin blockchainem. +# suppress inspection "UnusedProperty" +tradeApps.overview.privacy.MONERO_SWAP=Velmi vysoké na straně Monera díky jeho vrozené silné soukromí. Na straně Bitcoinu je omezeno nedostatky soukromí Bitcoinu. +# suppress inspection "UnusedProperty" +tradeApps.overview.convenience.MONERO_SWAP=Uživatel musí nainstalovat Farcaster swap démona a plný uzel Monera a Bitcoinu. Jakmile je nainstalováno, je velmi pohodlné. +# suppress inspection "UnusedProperty" +tradeApps.MONERO_SWAP.subHeadline=Atomický křížový řetězec pro obchodování Bitcoinu s Monerem +# suppress inspection "UnusedProperty" +tradeApps.MONERO_SWAP.overview=Založeno na projektu Farcaster (financovaném komunitou Monera) s využitím smluv o časovém zámku (HTLC), adaptérními podpisy a důkazy o nulovém znalostním pro atomickou výměnu Bitcoinu a Monera.\n\nUživatel musí nainstalovat a spustit uzel Bitcoinu, uzel Monera a démona Farcaster. Během výměny musí být uzly obou obchodníků online. Dodatečná úsilí při použití tohoto protokolu se vyplácejí velmi vysokou úrovní bezpečnosti. Uživatelé by se však měli seznámit s podrobnostmi tohoto konceptu a měli by si být vědomi, že existují okrajové případy, které nesou malá rizika. +# suppress inspection "UnusedProperty" +tradeApps.MONERO_SWAP.release=Monero swaps se plánují vydat v 3. čtvrtletí 2025. +# suppress inspection "UnusedProperty" +tradeApps.MONERO_SWAP.pro=+ Velmi bezpečné\n+ Slušné soukromí. Na straně Bitcoinu zdědí vlastnosti soukromí Bitcoinu. Na straně Monera má prospěch z vysokého soukromí Monera.\n+ Vhodné pro transakce s vysokou hodnotou +# suppress inspection "UnusedProperty" +tradeApps.MONERO_SWAP.con=- Vyžaduje nějaké technické dovednosti a zkušenosti pro provoz potřebné infrastruktury\n- Potvrzovací čas závisí na potvrzení na obou blockchainech, což obvykle trvá asi 20-30 minut.\n- Transakční poplatky na straně Bitcoinu mohou být nepodstatné v případě vysokého záboru blockchainu (poměrně vzácné, ale)\n- Obě strany obchodníků musí být online\n- Vyžaduje hodně rychlého úložiště na disku pro uzly diff --git a/pocs/android_only_m2_j17jars/app/src/main/resources/trade_apps_de.properties b/pocs/android_only_m2_j17jars/app/src/main/resources/trade_apps_de.properties new file mode 100644 index 00000000..d5fa37c6 --- /dev/null +++ b/pocs/android_only_m2_j17jars/app/src/main/resources/trade_apps_de.properties @@ -0,0 +1,265 @@ +###################################################### +## Trade protocols +###################################################### +tradeApps.compare=Vergleiche Protokolle +tradeApps.bisqMuSig=Bisq MuSig +tradeApps.subMarine=Submarine Swaps +tradeApps.bisqLightning=Bisq Lightning +tradeApps.more=Mehr + +tradeApps.comingSoon=Demnächst verfügbar +tradeApps.select=Auswählen +tradeApps.release=Veröffentlichung +tradeApps.security=Sicherheit +tradeApps.markets=Märkte +tradeApps.privacy=Datenschutz +tradeApps.convenience=Komfort +tradeApps.overview=Übersicht +tradeApps.tradeOffs=Pro/Kontra + +tradeApps.overview.headline=Finde den besten Weg, um Bitcoin zu handeln +tradeApps.overview.subHeadline=Ein Handelsprotokoll dient als grundlegender Rahmen für den sicheren Handel mit Bitcoin. Jedes Handelsprotokoll bietet eine eigene Reihe von Vorteilen und Abwägungen in Bezug auf Sicherheit, Datenschutz und Bequemlichkeit.\nBisq bietet dir die Flexibilität, das optimale Protokoll entsprechend deiner Vorlieben auszuwählen.\n\nErforsche die geplanten Handelsprotokolle, die in Bisq integriert werden sollen. Derzeit ist Bisq Easy das einzige implementierte Protokoll, das auf neue Bitcoin-Benutzer zugeschnitten ist und für kleinere Handelsbeträge geeignet ist. Schau nach Updates, falls dich eines der geplanten Protokolle interessiert. + +tradeApps.overview.more=Darüber hinaus stehen weitere Protokolle in der Warteschlange, die in Zukunft implementiert werden sollen. + + +###################################################### +## BISQ_EASY +###################################################### + +# suppress inspection "UnusedProperty" +tradeApps.BISQ_EASY=Bisq Easy +# suppress inspection "UnusedProperty" +tradeApps.overview.markets.BISQ_EASY=BTC/Fiat +# suppress inspection "UnusedProperty" +tradeApps.overview.BISQ_EASY=Einfach zu bedienendes Chat-basiertes Handelsprotokoll. Die Sicherheit basiert auf der Reputation des Verkäufers +# suppress inspection "UnusedProperty" +tradeApps.overview.security.BISQ_EASY=Die Sicherheit basiert auf der Reputation des Verkäufers. Nur für geringe Beträge geeignet. +# suppress inspection "UnusedProperty" +tradeApps.overview.privacy.BISQ_EASY=Abhängig von der verwendeten Fiat-Überweisungsmethode. Online-Fiat-Überweisungen offenbaren normalerweise die Identität des Handelspartners. Auf der Bitcoin-Seite wird sie durch die Datenschutzbeschränkungen von Bitcoin eingeschränkt und hängt vom Nutzerverhalten ab (um die Verknüpfung mehrerer Trades zu vermeiden, erhöht sich die Privatsphäre). Siehe Bisq Wiki für weitere Informationen. +# suppress inspection "UnusedProperty" +tradeApps.overview.convenience.BISQ_EASY=Sehr benutzerfreundliche Chat-Schnittstelle. Der Bitcoin-Käufer benötigt keinen Bitcoin. + +###################################################### +## BISQ_MU_SIG +###################################################### + +# suppress inspection "UnusedProperty" +tradeApps.BISQ_MU_SIG=Bisq MuSig +# suppress inspection "UnusedProperty" +tradeApps.overview.BISQ_MU_SIG=Das Bisq MuSig-Protokoll benötigt dank MuSig, Atomic Swaps und Taproot nur eine Transaktion. +# suppress inspection "UnusedProperty" +tradeApps.overview.markets.BISQ_MU_SIG=BTC/Fiat +# suppress inspection "UnusedProperty" +tradeApps.overview.security.BISQ_MU_SIG=Die Sicherheit basiert sowohl auf Sicherheitsleistungen als auch auf zusätzlichen Funktionen in Bezug auf Handelslimits. Weitere Informationen finden Sie im Bisq-Wiki. +# suppress inspection "UnusedProperty" +tradeApps.overview.privacy.BISQ_MU_SIG=Abhängig von der verwendeten Fiat-Übertragungsmethode. Eine Online-Fiat-Übertragung enthüllt normalerweise die Identität des Handelspartners. Auf der Bitcoin-Seite wird sie durch die Datenschutzbeschränkungen von Bitcoin eingeschränkt und hängt vom Nutzerverhalten ab (Vermeidung von Coin-Merges mehrerer Trades erhöht die Privatsphäre). Siehe Bisq-Wiki für weitere Informationen. +# suppress inspection "UnusedProperty" +tradeApps.overview.convenience.BISQ_MU_SIG=Der Benutzer muss eine geringe Menge Bitcoins zur Sicherheitsleistung hinterlegen. Kann so schnell wie die Bestätigungszeit der Blockchain oder je nach Fiat-Zahlungsmethode bis zu mehreren Tagen dauern. + +# suppress inspection "UnusedProperty" +tradeApps.BISQ_MU_SIG.subHeadline=Basierend auf MuSig, Atomic Swaps und Taproot erfordert es nur eine Transaktion. +# suppress inspection "UnusedProperty" +tradeApps.BISQ_MU_SIG.overview=Konzeptionell folgt es dem Handelsprotokoll, das in Bisq 1 verwendet wird, basierend auf einem Sicherheitsdepositum und einem Streitbeilegungsprozess.\n- Es reduziert die Anzahl der Transaktionen von 4 auf 1.\n- Verbessert die Privatsphäre, indem die Deposittransaktion wie eine Standard-„pay-to-pubKey-hash“-Transaktion aussieht.\n- Vermeidet das Problem, dass ein Verkäufer ein Schiedsverfahren eröffnen muss, falls der Käufer das Sicherheitsdepositum nach dem Handel nicht freigibt. Atomic Swaps stellen sicher, dass der Verkäufer sein Depositum zurückerhält, auch ohne Kooperation des Käufers.\n- Im Falle eines nicht reagierenden Handelspartners sorgt eine mehrstufige Auszahlungstransaktionsstruktur dafür, dass kein Schiedsverfahren und keine Erstattung durch die DAO erforderlich sind.\n- Taproot bietet mehr Flexibilität und Privatsphäre.\n- Weitere Details findest du unter: https://github.com/bisq-network/proposals/issues/456 +# suppress inspection "UnusedProperty" +tradeApps.BISQ_MU_SIG.release=Bisq MuSig wird voraussichtlich im Q4/2024 veröffentlicht. +# suppress inspection "UnusedProperty" +tradeApps.BISQ_MU_SIG.pro=+ Angemessene Sicherheit für Handelsbeträge mittlerer Höhe\n+ Im Vergleich zu Bisq Easy sind die Sicherheitseigenschaften besser, und höhere Beträge können gehandelt werden. Die höheren Beträge bringen die Handelspreise näher an die Marktkurse heran.\n+ Schafft es, mit dem Altsystem der Fiat-Welt umzugehen +# suppress inspection "UnusedProperty" +tradeApps.BISQ_MU_SIG.con=- Beide Händler benötigen BTC für die Sicherheitsleistung\n- Der Macher-Bisq-Knoten muss online sein, da der Angebot-Nehmen-Prozess interaktiv ist\n- Da die Fiat-Übertragung auf Altsystemen wie Banküberweisungen erfolgt, erbt sie all diese Nachteile, wie Rückbuchungsrisiko, langsame Überweisung, Datenschutzaussetzung für den Handelspartner, wenn die Banküberweisungsdetails den echten Namen enthalten. Obwohl diese verschiedenen Nachteile durch die Verwendung von Zahlungsmethoden, die ein geringes Rückbuchungsrisiko tragen, schnell oder sofort sind und Kontonummern oder E-Mails anstelle von echten Namen verwenden, gemildert werden können. Bestimmte Zahlungsmethoden vermeiden das Bankensystem vollständig, wie Bargeld per Post oder der persönliche Handel von Angesicht zu Angesicht. + + +###################################################### +## SUBMARINE +###################################################### + +# suppress inspection "UnusedProperty" +tradeApps.SUBMARINE=Submarine Swaps +# suppress inspection "UnusedProperty" +tradeApps.overview.SUBMARINE=Tausche zwischen Bitcoin im Lightning-Netzwerk und Bitcoin auf der Blockchain +# suppress inspection "UnusedProperty" +tradeApps.overview.markets.SUBMARINE=LN-BTC/BTC +# suppress inspection "UnusedProperty" +tradeApps.overview.security.SUBMARINE=Atomarer Swap bietet ein sehr hohes Sicherheitsniveau. +# suppress inspection "UnusedProperty" +tradeApps.overview.privacy.SUBMARINE=Swaps können potenziell die Privatsphäre verbessern, indem sie Spuren für die Kettenanalyse unterbrechen. +# suppress inspection "UnusedProperty" +tradeApps.overview.convenience.SUBMARINE=Benutzer müssen eine Lightning-Wallet installieren und konfigurieren. Sobald sie installiert ist, ist sie sehr bequem zu bedienen. +# suppress inspection "UnusedProperty" +tradeApps.SUBMARINE.subHeadline=Submarine Swaps ermöglichen den sicheren Austausch von Off-Chain- und On-Chain-Bitcoin ohne Gegenparteirisiko +# suppress inspection "UnusedProperty" +tradeApps.SUBMARINE.overview=Der Tausch erfolgt durch Verwendung des Geheimnisses eines Hash-Zeitverriegelten Vertrags (HTLC) im Lightning-Netzwerk für einen Vertrag in einer Bitcoin-Transaktion. Durch das Einfordern der Lightning-Zahlung wird das Geheimnis zum Einfordern des On-Chain-Bitcoin dem Absender der Lightning-Zahlung offengelegt. Dies stellt sicher, dass eine Zahlung die andere Zahlung freischaltet und somit einen Austausch ohne Gegenparteirisiko ermöglicht. +# suppress inspection "UnusedProperty" +tradeApps.SUBMARINE.release=Submarine Swaps wird voraussichtlich im Q2/2025 veröffentlicht. +# suppress inspection "UnusedProperty" +tradeApps.SUBMARINE.pro=+ Sehr hohe Sicherheit für große Handelsbeträge\n+ Das Tauschen von On-Chain-Bitcoin in Lightning kann potenziell die Privatsphäre verbessern.\n+ Der Austausch kann durch Handelsroboter erfolgen, was schnelle und automatisierte Trades ermöglicht. +# suppress inspection "UnusedProperty" +tradeApps.SUBMARINE.con=- Mining-Gebühren für die Bitcoin-Transaktion können kleine Trades unwirtschaftlich machen\n- Händler müssen sich um die Zeitüberschreitungen der Transaktionen kümmern. Bei Blockchain-Überlastung und verzögerter Bestätigung kann das ein Sicherheitsrisiko darstellen. + + +###################################################### +## LIQUID_MU_SIG +###################################################### + +# suppress inspection "UnusedProperty" +tradeApps.LIQUID_MU_SIG=Liquid MuSig +# suppress inspection "UnusedProperty" +tradeApps.overview.LIQUID_MU_SIG=Das Bisq MuSig-Protokoll auf die Liquid-Seitenkette portiert +# suppress inspection "UnusedProperty" +tradeApps.overview.markets.LIQUID_MU_SIG=L-BTC/Fiat +# suppress inspection "UnusedProperty" +tradeApps.overview.security.LIQUID_MU_SIG=Die Sicherheit basiert sowohl auf Sicherheitsleistungen als auch auf zusätzlichen Funktionen in Bezug auf Handelslimits. Weitere Informationen finden Sie im Bisq-Wiki. +# suppress inspection "UnusedProperty" +tradeApps.overview.privacy.LIQUID_MU_SIG=Abhängig von der verwendeten Fiat-Übertragungsmethode. Eine Online-Fiat-Übertragung enthüllt normalerweise die Identität des Handelspartners. Auf der Liquid-Seite ist die Privatsphäre besser als bei Mainnet Bitcoin aufgrund vertraulicher Transaktionen. +# suppress inspection "UnusedProperty" +tradeApps.overview.convenience.LIQUID_MU_SIG=Der Benutzer muss eine geringe Menge L-BTC zur Sicherheitsleistung hinterlegen. Die Bestätigung auf Liquid erfolgt sehr schnell (ca. 1 Minute). Die Handelsdauer hängt von der verwendeten Zahlungsmethode und der Reaktionszeit des Händlers ab. +# suppress inspection "UnusedProperty" +tradeApps.LIQUID_MU_SIG.subHeadline=Basierend auf einer Sicherheitsleistung, einer MuSig-Transaktion und einem mehrschichtigen Streitbeilegungsprozess +# suppress inspection "UnusedProperty" +tradeApps.LIQUID_MU_SIG.overview=Konzeptionell folgt es dem Bisq MuSig-Protokoll (auf Bitcoin-Hauptnetz). Liquid bietet jedoch einige Vorteile gegenüber dem Bitcoin-Hauptnetz:\n- Liquid hat eine sehr kurze Blockbestätigungszeit von etwa 1 Minute.\n- Transaktionsgebühren sind sehr niedrig.\n- Die Privatsphäre ist durch vertrauliche Transaktionen, die den gesendeten Betrag verbergen, besser. +# suppress inspection "UnusedProperty" +tradeApps.LIQUID_MU_SIG.release=Liquid MuSig wird voraussichtlich im Q2/2025 veröffentlicht. +# suppress inspection "UnusedProperty" +tradeApps.LIQUID_MU_SIG.pro=+ Angemessen gute Sicherheit für Handelsbeträge mittlerer Höhe\n+ Im Vergleich zu Bisq MuSig gibt es niedrigere Transaktionsgebühren, schnellere Bestätigungen und bessere Privatsphäre.\n+ Bewältigt das Legacy-System der Fiat-Welt +# suppress inspection "UnusedProperty" +tradeApps.LIQUID_MU_SIG.con=- Beide Händler müssen L-BTC für die Sicherheitsleistung haben\n- Liquid ist eine föderierte Sidechain und hat nicht das hohe Maß an Zensurbeständigkeit wie Bitcoin Mainnet.\n- Das Peg-In von Bitcoin Mainnet zu Liquid Bitcoin ist ohne Vertrauen, allerdings erfordert das Peg-Out von L-BTC zu BTC die Autorisierung der Föderation.\n- Der Macher-Bisq-Knoten muss online sein, da der Angebot-Nehmen-Prozess interaktiv ist\n- Da die Fiat-Übertragung auf Altsystemen wie Banküberweisungen erfolgt, erbt sie all diese Nachteile, wie Rückbuchungsrisiko, langsame Überweisung, Datenschutzaussetzung für den Handelspartner, wenn die Banküberweisungsdetails den echten Namen enthalten. Obwohl diese verschiedenen Nachteile durch die Verwendung von Zahlungsmethoden, die ein geringes Rückbuchungsrisiko tragen, schnell oder sofort sind und Kontonummern oder E-Mails anstelle von echten Namen verwenden, gemildert werden können. Bestimmte Zahlungsmethoden vermeiden das Bankensystem vollständig, wie Bargeld per Post oder der persönliche Handel von Angesicht zu Angesicht. + + +###################################################### +## BISQ_LIGHTNING +###################################################### + +# suppress inspection "UnusedProperty" +tradeApps.BISQ_LIGHTNING=Bisq Lightning +# suppress inspection "UnusedProperty" +tradeApps.overview.BISQ_LIGHTNING=Ermöglicht den Handel von Bitcoin im Lightning Network gegen Fiat, indem Submarine Swaps und das Liquid MuSig-Protokoll kombiniert werden. +# suppress inspection "UnusedProperty" +tradeApps.overview.markets.BISQ_LIGHTNING=LN-BTC/Fiat +# suppress inspection "UnusedProperty" +tradeApps.overview.security.BISQ_LIGHTNING=Die Sicherheit basiert sowohl auf Sicherheitsleistungen als auch auf zusätzlichen Funktionen in Bezug auf Handelslimits. Weitere Informationen finden Sie im Bisq-Wiki. +# suppress inspection "UnusedProperty" +tradeApps.overview.privacy.BISQ_LIGHTNING=Abhängig von der verwendeten Fiat-Übertragungsmethode. Eine Online-Fiat-Übertragung enthüllt normalerweise die Identität des Handelspartners. Auf der Lightning-Seite ist die Privatsphäre besser als bei On-Chain-Bitcoin, da keine Spuren auf der Blockchain hinterlassen werden. Auf der Liquid-Seite ist die Privatsphäre besser als bei Mainnet-Bitcoin aufgrund vertraulicher Transaktionen. +# suppress inspection "UnusedProperty" +tradeApps.overview.convenience.BISQ_LIGHTNING=Der Nutzer muss eine kleine Menge Bitcoin im Lightning Network für die Sicherheitenhinterlegung bereitstellen. Die Submarine Swaps und die Handelstransaktionen profitieren von der schnellen Blockchain-Bestätigungszeit von etwa 1 Minute. Die Zeit für den Handel hängt von der verwendeten Zahlungsmethode und der Reaktionszeit des Händlers ab. +# suppress inspection "UnusedProperty" +tradeApps.BISQ_LIGHTNING.subHeadline=Kombiniert Submarine Swaps von Lightning zu Liquid und das Liquid MuSig-Protokoll +# suppress inspection "UnusedProperty" +tradeApps.BISQ_LIGHTNING.overview=Es ermöglicht Händlern, ihre Off-Chain Bitcoin im Lightning Network für den Handel mit Fiat zu nutzen, basierend auf dem Liquid MuSig-Protokoll. Das Protokoll besteht aus einer Kette von 3 Trades und 2 verschiedenen Protokollen:\n- Zunächst tauschen die Händler ihre Lightning Bitcoin über einen Reverse Submarine Swap in L-BTC (Submarine Swap zwischen Lightning und Liquid). Dieser Swap erfolgt mit einem beliebigen Liquiditätsanbieter, nicht mit dem Handelspartner.\n- Danach erfolgt der Handel auf Liquid unter Verwendung des MuSig-Protokolls.\n- Nach Abschluss des Handels wird das L-BTC durch einen Submarine Swap (wiederum mit einem anderen Händler/Liquiditätsanbieter) zurück in das Lightning Network gewechselt. +# suppress inspection "UnusedProperty" +tradeApps.BISQ_LIGHTNING.release=Bisq Lightning soll voraussichtlich im Q2/2025 veröffentlicht werden. +# suppress inspection "UnusedProperty" +tradeApps.BISQ_LIGHTNING.pro=+ Angemessen gute Sicherheit für Handelsbeträge mittlerer Höhe\n+ Im Vergleich zu Bisq MuSig gibt es niedrigere Transaktionsgebühren, schnellere Bestätigungen und bessere Privatsphäre.\n+ Bewältigt das Legacy-System der Fiat-Welt +# suppress inspection "UnusedProperty" +tradeApps.BISQ_LIGHTNING.con=- Beide Händler müssen BTC im Lightning-Netzwerk für die Sicherheitsleistung haben\n- Die Beteiligung von 2 zusätzlichen Händlern für die Submarine-Swaps erhöht die Komplexität und birgt potenzielle (eher geringe) Risiken.\n- Liquid ist eine föderierte Sidechain und hat nicht das hohe Maß an Zensurbeständigkeit wie Bitcoin Mainnet.\n- Das Peg-In von Bitcoin Mainnet zu Liquid Bitcoin ist ohne Vertrauen, allerdings erfordert das Peg-Out von L-BTC zu BTC die Autorisierung der Föderation.\n- Der Macher-Bisq-Knoten muss online sein, da der Angebot-Nehmen-Prozess interaktiv ist\n- Da die Fiat-Übertragung auf Altsystemen wie Banküberweisungen erfolgt, erbt sie all diese Nachteile, wie Rückbuchungsrisiko, langsame Überweisung, Datenschutzaussetzung für den Handelspartner, wenn die Banküberweisungsdetails den echten Namen enthalten. Obwohl diese verschiedenen Nachteile durch die Verwendung von Zahlungsmethoden, die ein geringes Rückbuchungsrisiko tragen, schnell oder sofort sind und Kontonummern oder E-Mails anstelle von echten Namen verwenden, gemildert werden können. Bestimmte Zahlungsmethoden vermeiden das Bankensystem vollständig, wie Bargeld per Post oder der persönliche Handel von Angesicht zu Angesicht. + + +###################################################### +## LIQUID_SWAP +###################################################### + +# suppress inspection "UnusedProperty" +tradeApps.LIQUID_SWAP=Liquid Swaps +# suppress inspection "UnusedProperty" +tradeApps.overview.LIQUID_SWAP=Handeln Sie beliebige auf Liquid basierende Vermögenswerte wie USDT und BTC-L mit einem atomaren Swap im Liquid-Netzwerk +# suppress inspection "UnusedProperty" +tradeApps.overview.markets.LIQUID_SWAP=Liquid-Vermögenswerte +# suppress inspection "UnusedProperty" +tradeApps.overview.security.LIQUID_SWAP=Ultimativer Schutz durch die Verwendung von Smart Contracts auf derselben Blockchain. +# suppress inspection "UnusedProperty" +tradeApps.overview.privacy.LIQUID_SWAP=Liquid unterstützt vertrauliche Transaktionen und enthüllt daher den Betrag nicht auf der Blockchain. +# suppress inspection "UnusedProperty" +tradeApps.overview.convenience.LIQUID_SWAP=Benutzer müssen das Elements Wallet für Liquid installieren und konfigurieren. Sobald es installiert ist, ist es sehr bequem zu bedienen. +# suppress inspection "UnusedProperty" +tradeApps.LIQUID_SWAP.subHeadline=Atomarer Swap-basiertes Handelsprotokoll auf der Liquid Side-Chain für den Handel mit beliebigen Liquid-Vermögenswerten +# suppress inspection "UnusedProperty" +tradeApps.LIQUID_SWAP.overview=Um Liquid Swaps zu verwenden, muss der Benutzer das Elements Wallet installieren und ausführen und es so konfigurieren, dass es von der Bisq-Anwendung aus zugänglich ist.\n\nDas am häufigsten verwendete Asset auf Liquid ist USDT (Tether), ein Stablecoin, der an den USD gebunden ist. Auch wenn dies nicht mit etwas wie Bitcoin vergleichbar ist, hat es viele Vorteile gegenüber Fiat-USD, bei dem normalerweise Banküberweisungen mit all den Problemen und Unannehmlichkeiten des traditionellen Fiat-Systems erfolgen.\n\nL-BTC könnte auf der anderen Seite des Handels verwendet werden, was ein Ersatz für Bitcoin auf der Liquid-Kette ist. Um Bitcoin in L-BTC umzuwandeln, muss man Bitcoin an eine Peg-In-Adresse senden und erhält nach 102 Bestätigungen L-BTC dafür. Die Rückwandlung von L-BTC in Bitcoin (Peg-Out) funktioniert ähnlich, erfordert jedoch die Autorisierung der Liquid-Föderation, die aus einer Gruppe von Unternehmen und Einzelpersonen im Bitcoin-Bereich besteht. Daher handelt es sich nicht um einen vollständig vertrauenslosen Prozess.\n\nMan sollte Liquid-Vermögenswerte nicht mit den Eigenschaften von Bitcoin vergleichen. Es zielt auf andere Anwendungsfälle ab und kann nicht das hohe Maß an Dezentralisierung und Zensurbeständigkeit von Bitcoin erreichen. Es kann eher als Alternative zu traditionellen Finanzprodukten betrachtet werden. Durch die Verwendung der Blockchain-Technologie vermeidet es klassische Intermediäre, verbessert Sicherheit und Privatsphäre und bietet eine bessere Benutzererfahrung. +# suppress inspection "UnusedProperty" +tradeApps.LIQUID_SWAP.release=Liquid Swaps befinden sich noch in der Entwicklung. Es wird voraussichtlich im Q2/2025 veröffentlicht. +# suppress inspection "UnusedProperty" +tradeApps.LIQUID_SWAP.pro=+ Vertrauliche Transaktionen bieten eine gute Privatsphäre\n+ Schnelle Bestätigungszeit von etwa 1 Minute\n+ Geringe Transaktionsgebühren\n+ Geeignet für Transaktionen mit hohem Wert +# suppress inspection "UnusedProperty" +tradeApps.LIQUID_SWAP.con=- Erfordert die Ausführung des Elements Wallets und der Blockchain\n- Beide Händler müssen online sein\n- Das Peg-Out von L-BTC ist nicht vertrauenslos + + +###################################################### +## BSQ_SWAP +###################################################### + +# suppress inspection "UnusedProperty" +tradeApps.BSQ_SWAP=BSQ Swaps +# suppress inspection "UnusedProperty" +tradeApps.overview.BSQ_SWAP=Handeln Sie Bitcoin und den BSQ-Token über atomare Swaps, sofortig und sicher +# suppress inspection "UnusedProperty" +tradeApps.overview.markets.BSQ_SWAP=BSQ/BTC +# suppress inspection "UnusedProperty" +tradeApps.overview.security.BSQ_SWAP=Ultimativer Schutz durch Verwendung eines Smart Contracts auf derselben Blockchain. +# suppress inspection "UnusedProperty" +tradeApps.overview.privacy.BSQ_SWAP=Durch die Datenschutzbeschränkungen von Bitcoin eingeschränkt und abhängig von dem Nutzerverhalten (das Vermeiden von Münzvermischungen mehrerer Trades erhöht die Privatsphäre). BSQ hat potenziell weniger Privatsphäre aufgrund der kleineren Anonymitätsgruppe. Weitere Informationen finden Sie im Bisq-Wiki. +# suppress inspection "UnusedProperty" +tradeApps.overview.convenience.BSQ_SWAP=Benutzer müssen das BSQ-Wallet installieren und konfigurieren. Sobald es installiert ist, ist es sehr bequem zu bedienen. +# suppress inspection "UnusedProperty" +tradeApps.BSQ_SWAP.subHeadline=Atomarer Swap zwischen BSQ (farbiger Münze auf Bitcoin) und Bitcoin +# suppress inspection "UnusedProperty" +tradeApps.BSQ_SWAP.overview=Gleiche Modell wie in Bisq 1 verwendet. Da es auf einer einzelnen atomaren Transaktion basiert, ist es sehr sicher.\nEs wird erforderlich sein, den Bisq 1-Knoten mit der aktivierten DAO-API auszuführen. +# suppress inspection "UnusedProperty" +tradeApps.BSQ_SWAP.release=BSQ Swaps sollen voraussichtlich im Q3/2025 veröffentlicht werden. +# suppress inspection "UnusedProperty" +tradeApps.BSQ_SWAP.pro=+ Sehr sicher\n+ Relativ schnell, allerdings gilt der Handel erst nach der Bestätigung durch die Blockchain als abgeschlossen\n+ Keine Maker-Gebührstransaktion und keine erforderliche Sicherheitsleistung +# suppress inspection "UnusedProperty" +tradeApps.BSQ_SWAP.con=- Erfordert die Ausführung von Bisq 1 für die BSQ/DAO-Daten\n- Beschränkt auf den BSQ/BTC-Markt + + +###################################################### +## LIGHTNING_ESCROW +###################################################### + +# suppress inspection "UnusedProperty" +tradeApps.LIGHTNING_ESCROW=Lightning Escrow +# suppress inspection "UnusedProperty" +tradeApps.overview.LIGHTNING_ESCROW=Handelsprotokoll für Treuhandgeschäfte im Lightning-Netzwerk unter Verwendung von Mehrparteien-Berechnungskryptographie +# suppress inspection "UnusedProperty" +tradeApps.overview.markets.LIGHTNING_ESCROW=LN-BTC/Fiat +# suppress inspection "UnusedProperty" +tradeApps.overview.security.LIGHTNING_ESCROW=Die Sicherheit basiert auf Sicherheitseinlagen sowie zusätzlichen Funktionen in Bezug auf Handelslimits. Das Protokoll verwendet einige neuartige kryptographische Techniken, die nicht auf Herz und Nieren geprüft und auditiert sind. Weitere Informationen finden Sie im Bisq-Wiki. +# suppress inspection "UnusedProperty" +tradeApps.overview.privacy.LIGHTNING_ESCROW=Abhängig von der verwendeten Fiat-Überweisungsmethode. Online-Fiat-Überweisungen offenbaren normalerweise die Identität des Handelspartners. Auf der Bitcoin-Seite ist es durch die Datenschutzbeschränkungen von Bitcoin eingeschränkt und hängt vom Nutzerverhalten ab (das Vermeiden von Münzvermischungen mehrerer Trades erhöht die Privatsphäre). Weitere Informationen finden Sie im Bisq-Wiki. +# suppress inspection "UnusedProperty" +tradeApps.overview.convenience.LIGHTNING_ESCROW=Der Benutzer muss eine kleine Menge Bitcoin haben, um die Sicherheitseinlage zu hinterlegen. +# suppress inspection "UnusedProperty" +tradeApps.LIGHTNING_ESCROW.subHeadline=Dreiparteienprotokoll zum Handeln von Fiat mit Bitcoin im Lightning-Netzwerk. +# suppress inspection "UnusedProperty" +tradeApps.LIGHTNING_ESCROW.overview=Es basiert auf mehreren Lightning-Zahlungen und teilt die Geheimnisse für die HTLCs auf, um ein sicheres Setup zu erstellen, bei dem die dritte Partei garantiert, dass die Händler fair handeln. Es verwendet verschlüsselte Schaltungen, um eine sichere Mehrparteienberechnung zu erreichen.\n\nDer Nutzer muss einen Lightning-Knoten betreiben, der mit der Bisq-Anwendung konfiguriert ist.\n\nKonzeptionell ähnelt es dem Bisq MuSig-Protokoll, verwendet jedoch anstelle der MuSig-Transaktion dieses 3-Parteien-Setup und anstelle von On-Chain-Bitcoin wird Bitcoin im Lightning Network verwendet. +# suppress inspection "UnusedProperty" +tradeApps.LIGHTNING_ESCROW.release=Lightning Treuhand soll voraussichtlich im Q4/2025 veröffentlicht werden. +# suppress inspection "UnusedProperty" +tradeApps.LIGHTNING_ESCROW.pro=+ Im Vergleich zu Bisq Easy sind die Sicherheitseigenschaften besser, und höhere Beträge können gehandelt werden. Die höheren Beträge bringen die Handelspreise näher an die Marktraten heran.\n+ Die Bitcoin-Zahlungen erfolgen nahezu sofort\n+ Sehr geringe Transaktions- (Routing-) Gebühren +# suppress inspection "UnusedProperty" +tradeApps.LIGHTNING_ESCROW.con=- Notwendigkeit, einen Lightning-Knoten auszuführen\n- Beide Händler müssen BTC (im Lightning-Netzwerk) für die Sicherheitseinlage haben.\n- Der Makers-Bisq-Knoten muss online sein, da der Angebotsprozess interaktiv ist.\n- Da die Fiat-Überweisung über veraltete Systeme wie Banküberweisungen erfolgt, erbt sie all diese Nachteile, wie das Risiko von Rückbuchungen, langsame Überweisungen und die Preisgabe der Privatsphäre des Handelspartners, wenn die Banküberweisungsdetails den echten Namen enthalten. Diese verschiedenen Nachteile können jedoch durch die Verwendung von Zahlungsmethoden, die ein geringes Rückbuchungsrisiko tragen, schnell oder sofort sind und Kontonummern oder E-Mail-Adressen anstelle von echten Namen verwenden, gemildert werden. Bestimmte Zahlungsmethoden umgehen das Bankensystem vollständig, wie z. B. Bargeld per Post oder Handel von Angesicht zu Angesicht. + + +###################################################### +## MONERO_SWAP +###################################################### + +# suppress inspection "UnusedProperty" +tradeApps.MONERO_SWAP=Monero Swaps +# suppress inspection "UnusedProperty" +tradeApps.overview.MONERO_SWAP=Handeln Sie Bitcoin und Monero mithilfe eines atomaren Cross-Chain-Swaps +# suppress inspection "UnusedProperty" +tradeApps.overview.markets.MONERO_SWAP=XMR/BTC +# suppress inspection "UnusedProperty" +tradeApps.overview.security.MONERO_SWAP=Sehr hohe Sicherheit durch Verwendung von Adaptor-Signaturen zum atomaren Austausch zwischen der Monero- und der Bitcoin-Blockchain. +# suppress inspection "UnusedProperty" +tradeApps.overview.privacy.MONERO_SWAP=Sehr hoch auf der Monero-Seite aufgrund ihrer inhärenten starken Privatsphäre. Auf der Bitcoin-Seite ist es durch die Datenschutzbeschränkungen von Bitcoin eingeschränkt. +# suppress inspection "UnusedProperty" +tradeApps.overview.convenience.MONERO_SWAP=Benutzer müssen den Farcaster-Swap-Daemon sowie einen Monero- und Bitcoin-Full-Node installieren. Sobald sie installiert sind, ist es sehr praktisch. +# suppress inspection "UnusedProperty" +tradeApps.MONERO_SWAP.subHeadline=Atomares Cross-Chain-Swap-Protokoll zum Handeln von Bitcoin mit Monero +# suppress inspection "UnusedProperty" +tradeApps.MONERO_SWAP.overview=Basiert auf dem Farcaster-Projekt (finanziert von der Monero-Community) unter Verwendung von Hashed Time Lock Contracts (HTLC), Adaptor-Signaturen und Zero-Knowledge-Proof zum atomaren Austausch von Bitcoin und Monero.\n\nDer Benutzer muss einen Bitcoin-Knoten, einen Monero-Knoten und den Farcaster-Daemon installieren und ausführen. Während des Swaps müssen die Knoten beider Händler online sein. Der zusätzliche Aufwand bei der Verwendung dieses Protokolls zahlt sich durch ein sehr hohes Sicherheitsniveau aus. Benutzer sollten sich jedoch mit den Details dieses Konzepts vertraut machen und darauf achten, dass es Randfälle gibt, die einige geringe Risiken bergen. +# suppress inspection "UnusedProperty" +tradeApps.MONERO_SWAP.release=Monero-Swaps sollen voraussichtlich im Q3/2025 veröffentlicht werden. +# suppress inspection "UnusedProperty" +tradeApps.MONERO_SWAP.pro=+ Sehr sicher\n+ Angemessene Privatsphäre. Auf der Bitcoin-Seite erbt es die Datenschutzeigenschaften von Bitcoin. Auf der Monero-Seite profitiert es von der hohen Privatsphäre von Monero.\n+ Geeignet für Transaktionen mit hohem Wert +# suppress inspection "UnusedProperty" +tradeApps.MONERO_SWAP.con=- Es erfordert einige technische Fähigkeiten und Erfahrung, um die erforderliche Infrastruktur zu betreiben\n- Die Bestätigungszeit basiert auf den Bestätigungen in beiden Blockchains, was in der Regel etwa 20-30 Minuten dauern wird.\n- Transaktionsgebühren auf der Bitcoin-Seite könnten bei hoher Blockchain-Überlastung nicht unerheblich sein (obwohl dies eher selten ist)\n- Beide Händler müssen online sein\n- Es erfordert viel schnellen Festplattenspeicher für die Knoten diff --git a/pocs/android_only_m2_j17jars/app/src/main/resources/trade_apps_es.properties b/pocs/android_only_m2_j17jars/app/src/main/resources/trade_apps_es.properties new file mode 100644 index 00000000..5ae4dea5 --- /dev/null +++ b/pocs/android_only_m2_j17jars/app/src/main/resources/trade_apps_es.properties @@ -0,0 +1,265 @@ +###################################################### +## Trade protocols +###################################################### +tradeApps.compare=Comparar protocolos +tradeApps.bisqMuSig=Bisq MuSig +tradeApps.subMarine=Submarine Swaps +tradeApps.bisqLightning=Bisq Lightning +tradeApps.more=Más + +tradeApps.comingSoon=Próximamente +tradeApps.select=Seleccionar +tradeApps.release=Lanzamiento +tradeApps.security=Seguridad +tradeApps.markets=Mercados +tradeApps.privacy=Privacidad +tradeApps.convenience=Comodidad +tradeApps.overview=Visión general +tradeApps.tradeOffs=Pros/Contras + +tradeApps.overview.headline=Descubre la mejor manera de comprar y vender Bitcoin +tradeApps.overview.subHeadline=Un protocolo de compra-venta sirve como marco fundamental para el comprar y vender Bitcoin de manera segura. Cada protocolo de compra-venta presenta su propio conjunto de ventajas y desventajas en términos de seguridad, privacidad y comodidad.\nBisq te ofrece la flexibilidad de seleccionar el protocolo óptimo que se alinee con tus preferencias.\n\nExplora los próximos protocolos de comercio programados para integrarse en Bisq. Por ahora, Bisq Easy es el único protocolo implementado, diseñado para usuarios novatos de Bitcoin y adecuado para cantidades pequeñas. Mantente atento a las actualizaciones si alguno de los próximos protocolos te interesa. + +tradeApps.overview.more=Además, hay más protocolos en el horizonte, planeados para implementaciones futuras. + + +###################################################### +## BISQ_EASY +###################################################### + +# suppress inspection "UnusedProperty" +tradeApps.BISQ_EASY=Bisq Easy +# suppress inspection "UnusedProperty" +tradeApps.overview.markets.BISQ_EASY=BTC/Fiat +# suppress inspection "UnusedProperty" +tradeApps.overview.BISQ_EASY=Protocolo de compra-venta basado en chat fácil de usar. La seguridad se basa en la reputación del vendedor. +# suppress inspection "UnusedProperty" +tradeApps.overview.security.BISQ_EASY=La seguridad se basa en la reputación del vendedor. Solo adecuado para cantidades pequeñas. +# suppress inspection "UnusedProperty" +tradeApps.overview.privacy.BISQ_EASY=Depende del método de transferencia fiat utilizado. La transferencia fiat en línea normalmente revela la identidad a la contraparte. En el lado de Bitcoin, está sujeto a las limitaciones de privacidad de Bitcoin y depende del comportamiento del usuario (evitar mezclar bitcoin de diferentes compra-ventas aumenta la privacidad). Consulta la wiki de Bisq para más información. +# suppress inspection "UnusedProperty" +tradeApps.overview.convenience.BISQ_EASY=Interfaz de chat muy fácil de usar. El comprador de Bitcoin no necesita tener Bitcoin. + +###################################################### +## BISQ_MU_SIG +###################################################### + +# suppress inspection "UnusedProperty" +tradeApps.BISQ_MU_SIG=Bisq MuSig +# suppress inspection "UnusedProperty" +tradeApps.overview.BISQ_MU_SIG=El protocolo MuSig de Bisq requiere solo una transacción gracias a MuSig, los intercambios atómicos y Taproot. +# suppress inspection "UnusedProperty" +tradeApps.overview.markets.BISQ_MU_SIG=BTC/Fiat +# suppress inspection "UnusedProperty" +tradeApps.overview.security.BISQ_MU_SIG=La seguridad se basa en depósitos de seguridad así como en características adicionales en relación a limitar las cantidades de la compra-venta. Consulta la wiki de Bisq para más información. +# suppress inspection "UnusedProperty" +tradeApps.overview.privacy.BISQ_MU_SIG=Depende del método de transferencia fiat utilizado. La transferencia fiat en línea normalmente revela la identidad a la contraparte. En el lado de Bitcoin, está sujeto a las limitaciones de privacidad de Bitcoin y depende del comportamiento del usuario (evitar mezclar bitcoin de diferentes compra-ventas aumenta la privacidad). Consulta la wiki de Bisq para más información. +# suppress inspection "UnusedProperty" +tradeApps.overview.convenience.BISQ_MU_SIG=El usuario necesita tener una pequeña cantidad de Bitcoins para bloquear en una fianza. Puede llevar desde simplemente el tiempo de confirmación de la blockchain hasta unos días dependiendo del método de pago fiat escogido. + +# suppress inspection "UnusedProperty" +tradeApps.BISQ_MU_SIG.subHeadline=Basado en MuSig, intercambios atómicos y Taproot, requiere solo una transacción +# suppress inspection "UnusedProperty" +tradeApps.BISQ_MU_SIG.overview=Conceptualmente sigue el protocolo de comercio utilizado en Bisq 1, basado en una fianza y un proceso de resolución de disputas.\n- Reduce el número de transacciones de 4 a 1.\n- Mejora la privacidad al hacer que la transacción de depósito parezca una transacción estándar de 'pago a clave pública-hash'.\n- Evita el problema de que un vendedor necesite abrir una arbitraje en caso de que el comprador no libere la fianza después de la compra-venta. Los intercambios atómicos garantizarán que el vendedor pueda recuperar su fianza incluso sin la cooperación del comprador.\n- En caso de que la contraparte se ausente, una estructura de transacción de pago en múltiples etapas asegura que no se requiera arbitraje ni reembolso por parte de la DAO.\n- Taproot proporciona más flexibilidad y privacidad.\n- Puedes obtener más detalles en: https://github.com/bisq-network/proposals/issues/456 +# suppress inspection "UnusedProperty" +tradeApps.BISQ_MU_SIG.release=Se espera que Bisq MuSig esté listo para su lanzamiento en el cuarto trimestre de 2024. +# suppress inspection "UnusedProperty" +tradeApps.BISQ_MU_SIG.pro=+ Seguridad razonablemente buena para cantidades de valor medio\n+ Comparado con Bisq Easy, las propiedades de seguridad son mejores y se pueden comerciar mayores cantidades. Las cantidades mayores hacen que los precios sean más cercanos al precio de mercado.\n+ Logra lidiar adecuadamente con el sistema tradicional del mundo fiat +# suppress inspection "UnusedProperty" +tradeApps.BISQ_MU_SIG.con=- Ambas partes necesitan tener BTC para la fianza\n- El nodo Bisq del ofertante necesita estar en línea ya que el proceso de toma de la oferta es interactivo\n- Como la transferencia fiat se realiza en sistemas tradicionales como las transferencias bancarias, hereda todos sus inconvenientes, como riesgo de reversión del pago, lentitud, o las exposiciones de detalles personales a la contraparte al compartir los datos de pago. Aunque estos inconvenientes pueden mitigarse utilizando métodos de pago que tengan bajo riesgo de reversión, sean rápidos o instantáneos y usen IDs de cuenta o correo electrónico en lugar de nombres reales. Ciertos métodos de pago evitan completamente el sistema bancario, como el efectivo por correo o la compra-venta en persona. + + +###################################################### +## SUBMARINE +###################################################### + +# suppress inspection "UnusedProperty" +tradeApps.SUBMARINE=Submarine Swaps +# suppress inspection "UnusedProperty" +tradeApps.overview.SUBMARINE=Swap entre Bitcoin en la red Lightning y Bitcoin en la cadena principal +# suppress inspection "UnusedProperty" +tradeApps.overview.markets.SUBMARINE=LN-BTC/BTC +# suppress inspection "UnusedProperty" +tradeApps.overview.security.SUBMARINE=Los swaps atómicos proporcionan un nivel de seguridad muy alto. +# suppress inspection "UnusedProperty" +tradeApps.overview.privacy.SUBMARINE=Los swaps pueden mejorar potencialmente la privacidad al romper rastros usadas por el chain analysis. +# suppress inspection "UnusedProperty" +tradeApps.overview.convenience.SUBMARINE=El usuario necesita instalar y configurar una cartera Lightning. Una vez instalada, es muy cómoda de usar. +# suppress inspection "UnusedProperty" +tradeApps.SUBMARINE.subHeadline=Los Submarine Swaps permiten intercambiar Bitcoin fuera de la cadena y en la cadena de forma segura sin riesgo de contraparte +# suppress inspection "UnusedProperty" +tradeApps.SUBMARINE.overview=El swap se realiza utilizando el secreto de un hash time-locked contract (HTLC) en la red Lightning para un contrato en una transacción de Bitcoin. Al reclamar el pago de Lightning, se revela al remitente del pago de Lightning el secreto para reclamar el Bitcoin en la cadena. Esto asegura que un pago desbloquee el otro, lo que permite un intercambio sin riesgo de contraparte. +# suppress inspection "UnusedProperty" +tradeApps.SUBMARINE.release=Se espera que los Submarine Swaps estén listos para su lanzamiento en el segundo trimestre de 2025. +# suppress inspection "UnusedProperty" +tradeApps.SUBMARINE.pro=+ Gran seguridad para grandes cantidades de comercio\n+ Hacer swap de Bitcoin en cadena por Lightning puede mejorar potencialmente la privacidad.\n+ El intercambio puede ser realizado a través de bots, lo que permite operaciones rápidas y automatizadas. +# suppress inspection "UnusedProperty" +tradeApps.SUBMARINE.con=- Las tarifas de minería para la transacción de Bitcoin pueden hacer que las cantidades pequeñas no sean económicas\n- Los usuarios deben cuidar los tiempos de espera de las transacciones. La congestión de la cadena de bloques y los retrasos en la confirmación, pueden representar un riesgo de seguridad. + + +###################################################### +## LIQUID_MU_SIG +###################################################### + +# suppress inspection "UnusedProperty" +tradeApps.LIQUID_MU_SIG=Liquid MuSig +# suppress inspection "UnusedProperty" +tradeApps.overview.LIQUID_MU_SIG=El protocolo MuSig de Bisq adaptado a la sidechain Liquid +# suppress inspection "UnusedProperty" +tradeApps.overview.markets.LIQUID_MU_SIG=L-BTC/Fiat +# suppress inspection "UnusedProperty" +tradeApps.overview.security.LIQUID_MU_SIG=La seguridad se basa en fianzas así como en características adicionales en relación a limitar las cantidades de la compra-venta. Consulte la wiki de Bisq para más información. +# suppress inspection "UnusedProperty" +tradeApps.overview.privacy.LIQUID_MU_SIG=Depende del método de transferencia fiat utilizado. La transferencia fiat por internet normalmente revela la identidad a la contraparte. En el lado Liquid, tiene mejor privacidad que el Bitcoin normal gracias a transacciones confidenciales. +# suppress inspection "UnusedProperty" +tradeApps.overview.convenience.LIQUID_MU_SIG=El usuario necesita tener una pequeña cantidad de L-BTC para bloquear la fianza. La confirmación en la blockchain de Liquid es muy rápida (aproximadamente 1 minuto). La duración de la transacción depende del método de pago utilizado y del tiempo de respuesta de la contraparte. +# suppress inspection "UnusedProperty" +tradeApps.LIQUID_MU_SIG.subHeadline=Basado en una fianza, una transacción MuSig y un proceso de resolución de disputas en múltiples capas +# suppress inspection "UnusedProperty" +tradeApps.LIQUID_MU_SIG.overview=Conceptualmente sigue el protocolo MuSig de Bisq (en Bitcoin mainnet). Liquid no tiene las mismas propiedades de incensurabilidad que Bitcoin, aunque ofrece algunos beneficios sobre Bitcoin en mainnet:\n- Liquid tiene un tiempo de confirmación de bloques muy corto, de aproximadamente 1 minuto.\n- Las comisiones de transacción son muy bajas.\n- La privacidad es mejor debido a las transacciones confidenciales que ocultan la cantidad enviado. +# suppress inspection "UnusedProperty" +tradeApps.LIQUID_MU_SIG.release=Se espera que Liquid MuSig esté listo para su lanzamiento en el segundo trimestre de 2025. +# suppress inspection "UnusedProperty" +tradeApps.LIQUID_MU_SIG.pro=+ Seguridad razonable para cantidades de valor medio\n+ Comparado con Bisq MuSig, tiene comisiones de transacción más bajas, confirmación más rápida y mejor privacidad.\n+ Logra lidiar adecuadamente con el sistema tradicional del mundo Fiat +# suppress inspection "UnusedProperty" +tradeApps.LIQUID_MU_SIG.con=- Ambos usuarios necesitan tener L-BTC para la fianza\n- Liquid es una sidechain federada y no tiene el mismo nivel de resistencia a la censura que Bitcoin en la red principal.\n- El peg-in de Bitcoin a Liquid Bitcoin no require confiar en la federación, pero el peg-out de L-BTC a BTC requiere autorización de la federación.\n- El nodo Bisq del ofertante necesita estar en línea ya que el proceso de toma de la oferta es interactivo\n- Como la transferencia fiat se realiza en sistemas tradicionales como las transferencias bancarias, hereda todos sus inconvenientes, como riesgo de reversión del pago, lentitud, o las exposiciones de detalles personales a la contraparte al compartir los datos de pago. Aunque estos inconvenientes pueden mitigarse utilizando métodos de pago que tengan bajo riesgo de reversión, sean rápidos o instantáneos y usen IDs de cuenta o correo electrónico en lugar de nombres reales. Ciertos métodos de pago evitan completamente el sistema bancario, como el efectivo por correo o la compra-venta en persona. + + +###################################################### +## BISQ_LIGHTNING +###################################################### + +# suppress inspection "UnusedProperty" +tradeApps.BISQ_LIGHTNING=Bisq Lightning +# suppress inspection "UnusedProperty" +tradeApps.overview.BISQ_LIGHTNING=Permite la compra-venta de Bitcoin en Lightning Network por Fiat combinando swaps submarinos y el protocolo Liquid MuSig +# suppress inspection "UnusedProperty" +tradeApps.overview.markets.BISQ_LIGHTNING=LN-BTC/Fiat +# suppress inspection "UnusedProperty" +tradeApps.overview.security.BISQ_LIGHTNING=La seguridad se basa en fianzas así como en características adicionales en relación a limitar las cantidades de la compra-venta. Consulta la wiki de Bisq para más información. +# suppress inspection "UnusedProperty" +tradeApps.overview.privacy.BISQ_LIGHTNING=Depende del método de transferencia Fiat utilizado. La transferencia fiat por internet normalmente revela la identidad a la contraparte. En el lado de Lightning, ofrece mejor privacidad que el Bitcoin en cadena ya que no deja rastros en la cadena. En el lado de Liquid, ofrece mejor privacidad que el Bitcoin en la red principal debido a las transacciones confidenciales. +# suppress inspection "UnusedProperty" +tradeApps.overview.convenience.BISQ_LIGHTNING=El usuario necesita tener una pequeña cantidad de Bitcoin en Lightning para bloquear la fianza. Los swaps submarinos y las transacciones de la compra-venta se benefician del rápido tiempo de confirmación de la cadena de bloques de aproximadamente 1 minuto. El tiempo para completar el comercio depende del método de pago utilizado y del tiempo de respuesta de la contraparte. +# suppress inspection "UnusedProperty" +tradeApps.BISQ_LIGHTNING.subHeadline=Combina los swaps submarinos de Lightning a Liquid y el protocolo Liquid MuSig +# suppress inspection "UnusedProperty" +tradeApps.BISQ_LIGHTNING.overview=Permite que los usuarios utilicen su Bitcoin fuera de la cadena en Lightning para intercambiar con Fiat basado en el protocolo Liquid MuSig. El protocolo es una secuencia de 3 intercambios y 2 protocolos diferentes:\n- Primero, los usuarios intercambian su Bitcoin en Lightning a través de un swap submarino inverso a L-BTC (swap submarino entre Lightning y Liquid). Este intercambio se realiza con cualquier proveedor de liquidez, no con la contraparte.\n- Luego, la compra-venta en sí se realiza en Liquid utilizando el protocolo MuSig.\n- Una vez completada la operación, el L-BTC se intercambia de vuelta a Lightning mediante un swap submarino (nuevamente con otro proveedor de liquidez). +# suppress inspection "UnusedProperty" +tradeApps.BISQ_LIGHTNING.release=Se espera que Bisq Lightning esté listo para su lanzamiento en Q2/2025. +# suppress inspection "UnusedProperty" +tradeApps.BISQ_LIGHTNING.pro=+ Seguridad razonablemente buena para cantidades de valor medio\n+ Comparado con Bisq MuSig, las comisiones de transacción son más bajas, la confirmación es más rápida y la privacidad es superior.\n+ Lidia adecuadamente con el sistema tradicional del mundo Fiat +# suppress inspection "UnusedProperty" +tradeApps.BISQ_LIGHTNING.con=- Ambos usuarios necesitan tener BTC en Lightning para la fianza\n- La participación de 2 contrapartes adicionales para los Submarine Swaps añade complejidad y riesgos (más bien pequeños).\n- Liquid es una sidechain federada y no tiene el mismo nivel de resistencia a la censura que Bitcoin en la red principal.\n- El peg-in de Bitcoin a Liquid Bitcoin no require confiar en la federación, pero el peg-out de L-BTC a BTC requiere autorización de la federación.\n- El nodo Bisq del ofertabte necesita estar en línea ya que el proceso de toma de la oferta es interactivo\n- Como la transferencia fiat se realiza en sistemas tradicionales como las transferencias bancarias, hereda todos sus inconvenientes, como riesgo de reversión del pago, lentitud, o las exposiciones de detalles personales a la contraparte al compartir los datos de pago. Aunque estos inconvenientes pueden mitigarse utilizando métodos de pago que tengan bajo riesgo de reversión, sean rápidos o instantáneos y usen IDs de cuenta o correo electrónico en lugar de nombres reales. Ciertos métodos de pago evitan completamente el sistema bancario, como el efectivo por correo o la compra-venta en persona. + + +###################################################### +## LIQUID_SWAP +###################################################### + +# suppress inspection "UnusedProperty" +tradeApps.LIQUID_SWAP=Liquid Swaps +# suppress inspection "UnusedProperty" +tradeApps.overview.LIQUID_SWAP=Realiza compra-ventas de cualquier activo basado en Liquid como USDT o BTC-L con un swap atómico en la red Liquid +# suppress inspection "UnusedProperty" +tradeApps.overview.markets.LIQUID_SWAP=Activos Liquid +# suppress inspection "UnusedProperty" +tradeApps.overview.security.LIQUID_SWAP=Seguridad máxima utilizando contratos inteligentes en una sola cadena de bloques +# suppress inspection "UnusedProperty" +tradeApps.overview.privacy.LIQUID_SWAP=Liquid soporta transacciones confidenciales, por lo tanto, no revela la cantidad en la cadena de bloques. +# suppress inspection "UnusedProperty" +tradeApps.overview.convenience.LIQUID_SWAP=El usuario necesita instalar y configurar la cartera Elements para Liquid. Una vez instalada, es muy cómoda de usar. +# suppress inspection "UnusedProperty" +tradeApps.LIQUID_SWAP.subHeadline=Protocolo de swaps atómico basado en la sidechain Liquid para realizar compra-ventas de cualquier activo Liquid +# suppress inspection "UnusedProperty" +tradeApps.LIQUID_SWAP.overview=Para utilizar los Liquid Swaps el usuario necesita instalar y ejecutar la cartera Elements y configurarla, para que pueda ser accesible desde la aplicación Bisq.\n\nEl activo más utilizado en Liquid es USDT (Tether), una moneda estable vinculada al USD. Aunque esto no es comparable con algo como Bitcoin, tiene muchas ventajas sobre el USD Fiat que suele implicar transferencias bancarias y todos los problemas e incomodidades derivados de su uso.\n\nL-BTC puede ser utilizado en el otro extremo del intercambio, que es un sustituto de Bitcoin en la cadena Liquid. Para convertir Bitcoin a L-BTC uno necesita enviar Bitcoin a una dirección de peg-in y recibirá después de 102 confirmaciones L-BTC por ello. Volver de L-BTC a Bitcoin (peg-out) funciona de manera similar, pero requiere autorización de la federación Liquid, que es un grupo de empresas e individuos en el espacio de Bitcoin. Por lo tanto, el proceso implica confiar en la federación.\n\nUno debería evitar comparar los activos Liquid con las propiedades de Bitcoin. Liquid está dirigido a otro casos de uso y no puede alcanzar el alto nivel de descentralización y resistencia a la censura de Bitcoin. Más bien puede verse como una alternativa a los productos financieros tradicionales. Al usar la tecnología blockchain evita intermediarios clásicos, mejora la seguridad y la privacidad y proporciona una mejor experiencia al usuario. +# suppress inspection "UnusedProperty" +tradeApps.LIQUID_SWAP.release=Los intercambios Liquid todavía están en desarrollo. Se espera que sean lanzados en el Q2/2025. +# suppress inspection "UnusedProperty" +tradeApps.LIQUID_SWAP.pro=+ Las transacciones confidenciales proporcionan buena privacidad\n+ Tiempo de confirmación rápido de aproximadamente 1 minuto\n+ Comisiones de transacción bajas\n+ Adecuado para transacciones de alto valor +# suppress inspection "UnusedProperty" +tradeApps.LIQUID_SWAP.con=- Requiere ejecutar la cartera y la cadena de bloques Elements\n- Ambos usuarios deben estar en línea\n- El peg-out de L-BTC implica confianza en la federación + + +###################################################### +## BSQ_SWAP +###################################################### + +# suppress inspection "UnusedProperty" +tradeApps.BSQ_SWAP=BSQ Swaps +# suppress inspection "UnusedProperty" +tradeApps.overview.BSQ_SWAP=Compra-venta de Bitcoin y el token BSQ a través de swaps atómicos, de manera instantánea y segura +# suppress inspection "UnusedProperty" +tradeApps.overview.markets.BSQ_SWAP=BSQ/BTC +# suppress inspection "UnusedProperty" +tradeApps.overview.security.BSQ_SWAP=Seguridad máxima utilizando un contrato inteligente en la misma cadena de bloques. +# suppress inspection "UnusedProperty" +tradeApps.overview.privacy.BSQ_SWAP=Sujeto a las limitaciones de privacidad de Bitcoin y al comportamiento del usuario (evitar mezclar bitcoin de múltiples compra-ventas aumenta la privacidad). BSQ tiene potencialmente menos privacidad debido al menor conjunto de anonimato. Consulte la wiki de Bisq para más información. +# suppress inspection "UnusedProperty" +tradeApps.overview.convenience.BSQ_SWAP=El usuario necesita instalar y configurar la cartera BSQ. Una vez instalada, es muy cómoda de usar. +# suppress inspection "UnusedProperty" +tradeApps.BSQ_SWAP.subHeadline=Swap atómico entre BSQ (moneda coloreada en Bitcoin) y Bitcoin +# suppress inspection "UnusedProperty" +tradeApps.BSQ_SWAP.overview=Mismo modelo que se utiliza en Bisq 1. Como se basa en una única transacción atómica, es muy seguro.\nSerá necesario ejecutar el nodo Bisq 1 con la API de la DAO habilitada. +# suppress inspection "UnusedProperty" +tradeApps.BSQ_SWAP.release=Se espera que los BSQ Swaps estén listos para su lanzamiento en el Q3/2025. +# suppress inspection "UnusedProperty" +tradeApps.BSQ_SWAP.pro=+ Muy seguro\n+ Relativamente rápido, aunque solo la compra-venta solo se considera como completada después de la confirmación de la cadena de bloques\n+ No requiere transacción de comisión para crear la oferta ni fianza +# suppress inspection "UnusedProperty" +tradeApps.BSQ_SWAP.con=- Necesidad de ejecutar Bisq 1 para los datos BSQ/DAO\n- Limitado al mercado BSQ/BTC + + +###################################################### +## LIGHTNING_ESCROW +###################################################### + +# suppress inspection "UnusedProperty" +tradeApps.LIGHTNING_ESCROW=Lightning Escrow +# suppress inspection "UnusedProperty" +tradeApps.overview.LIGHTNING_ESCROW=Protocolo de compra-venta basado en un escrow en la red Lightning utilizando criptografía de cálculo multiparte +# suppress inspection "UnusedProperty" +tradeApps.overview.markets.LIGHTNING_ESCROW=LN-BTC/Fiat +# suppress inspection "UnusedProperty" +tradeApps.overview.security.LIGHTNING_ESCROW=La seguridad se basa en depósitos de seguridad así como en características adicionales en relación a limitar las cantidades de la compra-venta. El protocolo utiliza algunas técnicas criptográficas novedosas con poco uso en el entornos reales y pendientes de auditar. Consulte la wiki de Bisq para más información. +# suppress inspection "UnusedProperty" +tradeApps.overview.privacy.LIGHTNING_ESCROW=Depende del método de transferencia Fiat utilizado. La transferencia fiat por internet normalmente revela la identidad a la contraparte. En el lado de Bitcoin, está sujeto a las limitaciones de privacidad de Bitcoin y depende del comportamiento del usuario (evitar mezclar bitcoin de diferentes compra-ventas aumenta la privacidad). Consulta la wiki de Bisq para más información. +# suppress inspection "UnusedProperty" +tradeApps.overview.convenience.LIGHTNING_ESCROW=El usuario necesita tener una pequeña cantidad de Bitcoin para bloquear la fianza. +# suppress inspection "UnusedProperty" +tradeApps.LIGHTNING_ESCROW.subHeadline=Protocolo de tres partes para intercambiar Fiat por Bitcoin en la Red Lightning. +# suppress inspection "UnusedProperty" +tradeApps.LIGHTNING_ESCROW.overview=Se basa en múltiples pagos de Lightning y divide los secretos para los HTLCs para construir una configuración segura en la la tercera parte garantiza que los usuarios se comporten de manera justa. Utiliza circuitos enmascarados para lograr una computación segura entre múltiples partes.\n\nEl usuario necesita ejecutar un nodo de Lightning que esté configurado con la aplicación Bisq.\n\nConceptualmente es similar al protocolo Bisq MuSig, pero en lugar de la transacción MuSig utiliza esta configuración de 3 partes y en lugar de Bitcoin en cadena utiliza Bitcoin en la Red Lightning. +# suppress inspection "UnusedProperty" +tradeApps.LIGHTNING_ESCROW.release=Se espera que el Escrow Lightning esté listo para su lanzamiento en el Q4/2025. +# suppress inspection "UnusedProperty" +tradeApps.LIGHTNING_ESCROW.pro=+ En comparación con Bisq Easy, las propiedades de seguridad son mejores y se pueden manejar cantidades mayores. Las cantidades mayores acercan los precios de las compra-ventas al precio de mercado.\n+ Los pagos de Bitcoin son casi instantáneos\n+ Comisiones de transacción (de enrutamiento) muy bajas +# suppress inspection "UnusedProperty" +tradeApps.LIGHTNING_ESCROW.con=- Necesidad de ejecutar un nodo Lightning\n- Ambos usuarios necesitan tener BTC (en Lightning) para la fianza.\n- El nodo Bisq del creador necesita estar en línea ya que el proceso de aceptación de la oferta es interactivo.\n- Como la transferencia fiat se realiza en sistemas tradicionales como las transferencias bancarias, hereda todos sus inconvenientes, como riesgo de reversión del pago, lentitud, o las exposiciones de detalles personales a la contraparte al compartir los datos de pago. Aunque estos inconvenientes pueden mitigarse utilizando métodos de pago que tengan bajo riesgo de reversión, sean rápidos o instantáneos y usen IDs de cuenta o correo electrónico en lugar de nombres reales. Ciertos métodos de pago evitan completamente el sistema bancario, como el efectivo por correo o la compra-venta en persona. + + +###################################################### +## MONERO_SWAP +###################################################### + +# suppress inspection "UnusedProperty" +tradeApps.MONERO_SWAP=Monero Swaps +# suppress inspection "UnusedProperty" +tradeApps.overview.MONERO_SWAP=Compra-venta de Bitcoin y Monero mediante un swap atómico entre cadenas +# suppress inspection "UnusedProperty" +tradeApps.overview.markets.MONERO_SWAP=XMR/BTC +# suppress inspection "UnusedProperty" +tradeApps.overview.security.MONERO_SWAP=Gran seguridad utilizando firmas adaptativas para hacer swaps atómicos entre las cadenas de bloques de Monero y Bitcoin. +# suppress inspection "UnusedProperty" +tradeApps.overview.privacy.MONERO_SWAP=Muy alta en el lado de Monero debido a su fuerte privacidad inherente. En el lado de Bitcoin, está sujeta a las limitaciones de privacidad de Bitcoin. +# suppress inspection "UnusedProperty" +tradeApps.overview.convenience.MONERO_SWAP=El usuario necesita instalar el daemon de swaps Farcaster y un nodo completo de Monero y Bitcoin. Una vez instalado, es muy cómodo. +# suppress inspection "UnusedProperty" +tradeApps.MONERO_SWAP.subHeadline=Protocolo de swaps atómicos entre cadenas para comerciar Bitcoin con Monero +# suppress inspection "UnusedProperty" +tradeApps.MONERO_SWAP.overview=Basado en el proyecto Farcaster (financiado por la comunidad de Monero) utilizando hash time lock contracts (HTLC), firmas adaptativas y pruebas de conocimiento cero para hacer swaps atómicos entre Bitcoin y Monero.\n\nEl usuario necesita instalar y ejecutar un nodo de Bitcoin, un nodo de Monero y el daemon de Farcaster. Durante el intercambio, los nodos de ambos usuarios necesitan estar en línea. El esfuerzo adicional al usar este protocolo se compensa con un nivel muy alto de seguridad. Aunque los usuarios deben familiarizarse con los detalles de ese concepto y ser conscientes de que hay situaciones excepcionales que conllevan algunos pequeños riesgos. +# suppress inspection "UnusedProperty" +tradeApps.MONERO_SWAP.release=Se espera que los Monero Swaps estén listos para su lanzamiento en el Q3/2025. +# suppress inspection "UnusedProperty" +tradeApps.MONERO_SWAP.pro=+ Muy seguro\n+ Privacidad decente. En el lado de Bitcoin, está sujeto a las propiedades de privacidad de Bitcoin. En el lado de Monero, se beneficia de la alta privacidad de Monero.\n+ Adecuado para transacciones de alto valor +# suppress inspection "UnusedProperty" +tradeApps.MONERO_SWAP.con=- Requiere algunas habilidades técnicas y experiencia para ejecutar la infraestructura requerida\n- El tiempo de confirmación se basa en las confirmaciones en ambas cadenas de bloques, que normalmente serán de unos 20-30 minutos.\n- Las comisiones de transacción en el lado de Bitcoin podrían ser significativas en caso de alta congestión de la cadena de bloques (aunque esto es poco frecuente)\n- Ambos usuarios necesitan estar en línea\n- Requiere mucho almacenamiento con discos rápidos para los nodos diff --git a/pocs/android_only_m2_j17jars/app/src/main/resources/trade_apps_it.properties b/pocs/android_only_m2_j17jars/app/src/main/resources/trade_apps_it.properties new file mode 100644 index 00000000..716c06a8 --- /dev/null +++ b/pocs/android_only_m2_j17jars/app/src/main/resources/trade_apps_it.properties @@ -0,0 +1,265 @@ +###################################################### +## Trade protocols +###################################################### +tradeApps.compare=Confronta i protocolli +tradeApps.bisqMuSig=Bisq MuSig +tradeApps.subMarine=Submarine Swaps +tradeApps.bisqLightning=Bisq Lightning +tradeApps.more=Altro + +tradeApps.comingSoon=Prossimamente +tradeApps.select=Seleziona +tradeApps.release=Versione +tradeApps.security=Sicurezza +tradeApps.markets=Mercati +tradeApps.privacy=Privacy +tradeApps.convenience=Convenienza +tradeApps.overview=Panoramica Generale +tradeApps.tradeOffs=Pro/Contro + +tradeApps.overview.headline=Scopri il modo migliore per fare trading di Bitcoin +tradeApps.overview.subHeadline=Un protocollo di trading rappresenta il fondamento per scambiare Bitcoin in modo sicuro. Ogni protocollo di trading presenta un proprio insieme di vantaggi e compromessi che comprendono sicurezza, privacy e comodità.\nBisq ti offre la flessibilità di selezionare il protocollo ottimale in linea con le tue preferenze.\n\nEsplora i prossimi protocolli di trading previsti per l'integrazione in Bisq. Al momento, Bisq Easy è l'unico protocollo implementato, pensato per utenti Bitcoin alle prime armi e adatto per scambi di importi minori. Resta aggiornato se qualche protocollo in arrivo cattura la tua attenzione. + +tradeApps.overview.more=Inoltre, ci sono altri protocolli in arrivo, previsti per futura implementazione. + + +###################################################### +## BISQ_EASY +###################################################### + +# suppress inspection "UnusedProperty" +tradeApps.BISQ_EASY=Bisq Easy +# suppress inspection "UnusedProperty" +tradeApps.overview.markets.BISQ_EASY=BTC/Fiat +# suppress inspection "UnusedProperty" +tradeApps.overview.BISQ_EASY=Protocollo di scambio basato su chat facile da usare. La sicurezza si basa sulla reputazione del venditore. +# suppress inspection "UnusedProperty" +tradeApps.overview.security.BISQ_EASY=La sicurezza si basa sulla reputazione dei venditori. Adatta solo per piccole quantità. +# suppress inspection "UnusedProperty" +tradeApps.overview.privacy.BISQ_EASY=Dipende dal metodo di trasferimento fiat utilizzato. Il trasferimento fiat online di solito rivela l'identità al compagno di scambio. Sul lato Bitcoin è limitato dalle restrizioni sulla privacy di Bitcoin e dipende dal comportamento dell'utente (evitare la combinazione di monete di più scambi aumenta la privacy). Consulta la wiki di Bisq per maggiori informazioni. +# suppress inspection "UnusedProperty" +tradeApps.overview.convenience.BISQ_EASY=Interfaccia chat molto facile da usare. Il compratore di Bitcoin non ha bisogno di possedere Bitcoin. + +###################################################### +## BISQ_MU_SIG +###################################################### + +# suppress inspection "UnusedProperty" +tradeApps.BISQ_MU_SIG=Bisq MuSig +# suppress inspection "UnusedProperty" +tradeApps.overview.BISQ_MU_SIG=Il protocollo MuSig di Bisq richiede solo una transazione grazie a MuSig, Atomic Swaps e Taproot. +# suppress inspection "UnusedProperty" +tradeApps.overview.markets.BISQ_MU_SIG=BTC/Fiat +# suppress inspection "UnusedProperty" +tradeApps.overview.security.BISQ_MU_SIG=La sicurezza si basa sui depositi di sicurezza e su funzionalità aggiuntive in relazione ai limiti di scambio. Consulta la wiki di Bisq per maggiori informazioni. +# suppress inspection "UnusedProperty" +tradeApps.overview.privacy.BISQ_MU_SIG=Dipende dal metodo di trasferimento fiat utilizzato. Il trasferimento fiat online di solito rivela l'identità al compagno di scambio. Sul lato Bitcoin è limitato dalle restrizioni sulla privacy di Bitcoin e dipende dal comportamento dell'utente (evitare la combinazione di monete di più scambi aumenta la privacy). Consulta la wiki di Bisq per maggiori informazioni. +# suppress inspection "UnusedProperty" +tradeApps.overview.convenience.BISQ_MU_SIG=L'utente deve avere una piccola quantità di Bitcoin per bloccare il deposito di sicurezza. Può essere veloce come il tempo di conferma della blockchain o richiedere alcuni giorni a seconda del metodo di pagamento fiat. + +# suppress inspection "UnusedProperty" +tradeApps.BISQ_MU_SIG.subHeadline=Basato su MuSig, Atomic swaps e Taproot, richiede solo una transazione +# suppress inspection "UnusedProperty" +tradeApps.BISQ_MU_SIG.overview=Concettualmente segue il protocollo di scambio utilizzato in Bisq 1, basato su un deposito di sicurezza e un processo di risoluzione delle controversie.\n- Riduce il numero di transazioni da 4 a 1.\n- Migliora la privacy facendo apparire la transazione di deposito come una transazione standard 'pay-to-pubKey-hash'.\n- Evita il problema che un venditore deve aprire una controversia nel caso in cui l'acquirente non rilasci il deposito di sicurezza dopo lo scambio. Gli Atomic swaps garantiranno al venditore di recuperare il proprio deposito anche senza la cooperazione dell'acquirente.\n- In caso di un partner di scambio non rispondente, una struttura di transazione a più fasi garantisce che non sia necessaria alcuna controversia e rimborso da parte della DAO.\n- Taproot offre maggiore flessibilità e privacy.\n- Scopri ulteriori dettagli su: https://github.com/bisq-network/proposals/issues/456 +# suppress inspection "UnusedProperty" +tradeApps.BISQ_MU_SIG.release=Bisq MuSig è previsto per il rilascio nel Q4/2024. +# suppress inspection "UnusedProperty" +tradeApps.BISQ_MU_SIG.pro=+ Sicurezza ragionevolmente buona per importi commerciali di valore medio\n+ Rispetto a Bisq Easy, le proprietà di sicurezza sono migliori e possono essere scambiati importi più elevati. Gli importi più elevati avvicinano i prezzi di scambio ai tassi di mercato.\n+ Riesce a gestire il sistema legacy del mondo fiat +# suppress inspection "UnusedProperty" +tradeApps.BISQ_MU_SIG.con=- Entrambi i trader devono avere BTC per il deposito di sicurezza\n- Il nodo Bisq del maker deve essere online poiché il processo di accettazione dell'offerta è interattivo\n- Poiché il trasferimento fiat avviene su sistemi legacy come i bonifici bancari, eredita tutti quei drawback, come il rischio di chargeback, il trasferimento lento, l'esposizione della privacy al compagno di scambio quando i dettagli del bonifico bancario contengono il vero nome. Anche se questi vari inconvenienti possono essere mitigati utilizzando metodi di pagamento che comportano un basso rischio di chargeback, sono veloci o istantanei e utilizzano ID account o email invece di nomi reali. Certi metodi di pagamento evitano completamente il sistema bancario come il contante per posta o il trading faccia a faccia. + + +###################################################### +## SUBMARINE +###################################################### + +# suppress inspection "UnusedProperty" +tradeApps.SUBMARINE=Scambi Subacquei +# suppress inspection "UnusedProperty" +tradeApps.overview.SUBMARINE=Scambio tra Bitcoin sulla rete Lightning e Bitcoin on-chain +# suppress inspection "UnusedProperty" +tradeApps.overview.markets.SUBMARINE=LN-BTC/BTC +# suppress inspection "UnusedProperty" +tradeApps.overview.security.SUBMARINE=Lo swap atomico fornisce un livello molto elevato di sicurezza. +# suppress inspection "UnusedProperty" +tradeApps.overview.privacy.SUBMARINE=Gli scambi possono potenzialmente migliorare la privacy rompendo le tracce per l'analisi della blockchain. +# suppress inspection "UnusedProperty" +tradeApps.overview.convenience.SUBMARINE=L'utente deve installare e configurare un portafoglio Lightning. Una volta installato, è molto conveniente da usare. +# suppress inspection "UnusedProperty" +tradeApps.SUBMARINE.subHeadline=Gli scambi subacquei consentono lo scambio sicuro di Bitcoin off-chain e on-chain senza rischio di controparte +# suppress inspection "UnusedProperty" +tradeApps.SUBMARINE.overview=Lo scambio avviene utilizzando il segreto di un contratto hash time-locked (HTLC) nella rete Lightning per un contratto in una transazione Bitcoin. Rivendicando il pagamento Lightning, il segreto per rivendicare il Bitcoin on-chain viene rivelato al mittente del pagamento Lightning. Questo garantisce che un pagamento sblocchi l'altro pagamento, consentendo quindi uno scambio senza rischio di controparte. +# suppress inspection "UnusedProperty" +tradeApps.SUBMARINE.release=Submarine swaps è previsto per il rilascio nel Q2/2025. +# suppress inspection "UnusedProperty" +tradeApps.SUBMARINE.pro=+ Sicurezza molto elevata per grandi quantità commerciali\n+ Lo scambio di Bitcoin on-chain a Lightning può potenzialmente migliorare la privacy.\n+ Lo scambio può essere fatto tramite trading bot, consentendo scambi veloci e automatizzati. +# suppress inspection "UnusedProperty" +tradeApps.SUBMARINE.con=- Le commissioni di mining per la transazione Bitcoin possono rendere economici gli scambi di piccole dimensioni\n- I trader devono prestare attenzione ai timeout delle transazioni. In caso di congestione della blockchain e conferme ritardate, ciò può rappresentare un rischio per la sicurezza. + + +###################################################### +## LIQUID_MU_SIG +###################################################### + +# suppress inspection "UnusedProperty" +tradeApps.LIQUID_MU_SIG=Liquid MuSig +# suppress inspection "UnusedProperty" +tradeApps.overview.LIQUID_MU_SIG=Il protocollo MuSig di Bisq portato alla side chain Liquid +# suppress inspection "UnusedProperty" +tradeApps.overview.markets.LIQUID_MU_SIG=L-BTC/Fiat +# suppress inspection "UnusedProperty" +tradeApps.overview.security.LIQUID_MU_SIG=La sicurezza si basa sui depositi di sicurezza e su funzionalità aggiuntive in relazione ai limiti di scambio. Consulta la wiki di Bisq per maggiori informazioni. +# suppress inspection "UnusedProperty" +tradeApps.overview.privacy.LIQUID_MU_SIG=Dipende dal metodo di trasferimento Fiat utilizzato. Il trasferimento Fiat online di solito rivela l'identità al compagno di scambio. Sul lato Liquid ha una migliore privacy rispetto al Bitcoin mainnet grazie alle transazioni confidenziali. +# suppress inspection "UnusedProperty" +tradeApps.overview.convenience.LIQUID_MU_SIG=L'utente deve avere una piccola quantità di L-BTC per bloccare il deposito di sicurezza. La conferma sulla blockchain Liquid è molto veloce (circa 1 minuto). Il tempo per lo scambio dipende dal metodo di pagamento utilizzato e dal tempo di risposta del trader. +# suppress inspection "UnusedProperty" +tradeApps.LIQUID_MU_SIG.subHeadline=Basato su un deposito di sicurezza, una transazione MuSig e un processo multilivello di risoluzione delle controversie +# suppress inspection "UnusedProperty" +tradeApps.LIQUID_MU_SIG.overview=Concettualmente segue il protocollo MuSig di Bisq (sulla mainnet di Bitcoin). Liquid non ha le stesse proprietà di censura di Bitcoin, ma offre alcuni vantaggi rispetto alla mainnet di Bitcoin:\n- Liquid ha un tempo di conferma dei blocchi molto breve, di circa 1 minuto.\n- Le commissioni di transazione sono molto basse.\n- La privacy è migliorata grazie alle transazioni riservate che nascondono l'importo inviato. +# suppress inspection "UnusedProperty" +tradeApps.LIQUID_MU_SIG.release=Liquid MuSig è previsto per il rilascio nel Q2/2025. +# suppress inspection "UnusedProperty" +tradeApps.LIQUID_MU_SIG.pro=+ Sicurezza ragionevolmente buona per importi di scambio di valore medio\n+ Rispetto a Bisq MuSig, le commissioni di transazione sono più basse, la conferma è più veloce e la privacy è migliore.\n+ Gestisce il sistema legacy del mondo Fiat +# suppress inspection "UnusedProperty" +tradeApps.LIQUID_MU_SIG.con=- Entrambi i trader devono avere L-BTC per il deposito di sicurezza\n- Liquid è una sidechain federata e non ha lo stesso livello di resistenza alla censura del Bitcoin mainnet.\n- L'ingresso da Bitcoin mainnet a Liquid Bitcoin è senza trust, ma per l'uscita da L-BTC a BTC richiede l'autorizzazione della federazione.\n- Il nodo Bisq del maker deve essere online poiché il processo di accettazione dell'offerta è interattivo\n- Poiché il trasferimento Fiat avviene su sistemi legacy come i bonifici bancari, eredita tutti quei drawback, come il rischio di chargeback, il trasferimento lento, l'esposizione della privacy al compagno di scambio quando i dettagli del bonifico bancario contengono il vero nome. Anche se questi vari inconvenienti possono essere mitigati utilizzando metodi di pagamento che comportano un basso rischio di chargeback, sono veloci o istantanei e utilizzano ID account o email invece di nomi reali. Certi metodi di pagamento evitano completamente il sistema bancario come il contante per posta o il trading faccia a faccia. + + +###################################################### +## BISQ_LIGHTNING +###################################################### + +# suppress inspection "UnusedProperty" +tradeApps.BISQ_LIGHTNING=Bisq Lightning +# suppress inspection "UnusedProperty" +tradeApps.overview.BISQ_LIGHTNING=Consente lo scambio di Bitcoin sulla Lightning Network con Fiat combinando i Submarine swaps e il protocollo Liquid MuSig +# suppress inspection "UnusedProperty" +tradeApps.overview.markets.BISQ_LIGHTNING=LN-BTC/Fiat +# suppress inspection "UnusedProperty" +tradeApps.overview.security.BISQ_LIGHTNING=La sicurezza si basa sui depositi di sicurezza e su funzionalità aggiuntive in relazione ai limiti di scambio. Consulta la wiki di Bisq per maggiori informazioni. +# suppress inspection "UnusedProperty" +tradeApps.overview.privacy.BISQ_LIGHTNING=Dipende dal metodo di trasferimento Fiat utilizzato. Il trasferimento Fiat online di solito rivela l'identità al compagno di scambio. Sul lato Lightning ha una migliore privacy rispetto al Bitcoin on-chain in quanto non lascia tracce sulla blockchain. Sul lato Liquid ha una migliore privacy rispetto al Bitcoin mainnet grazie alle transazioni confidenziali. +# suppress inspection "UnusedProperty" +tradeApps.overview.convenience.BISQ_LIGHTNING=L'utente deve avere una piccola quantità di Bitcoin sulla Lightning Network per bloccare il deposito di sicurezza. I Submarine swaps e le transazioni di scambio beneficiano del rapido tempo di conferma della blockchain, di circa 1 minuto. Il tempo per il trade dipende dal metodo di pagamento utilizzato e dal tempo di risposta del trader. +# suppress inspection "UnusedProperty" +tradeApps.BISQ_LIGHTNING.subHeadline=Combina Submarine swaps dalla Lightning a Liquid e il protocollo Liquid MuSig +# suppress inspection "UnusedProperty" +tradeApps.BISQ_LIGHTNING.overview=Consente ai trader di utilizzare i loro Bitcoin off-chain sulla Lightning Network per scambiare con Fiat basato sul protocollo Liquid MuSig. Il protocollo è una catena di 3 scambi e 2 protocolli diversi:\n- Inizialmente, i trader scambiano i loro Bitcoin Lightning tramite uno swap inverso in L-BTC (Submarine swap tra Lightning e Liquid). Questo swap avviene con qualsiasi fornitore di liquidità, non con il peer di trading.\n- Poi il trade avviene su Liquid utilizzando il protocollo MuSig.\n- Una volta completato il trade, l'L-BTC viene scambiato di nuovo in Lightning tramite un Submarine swap (ancora una volta con un altro trader/fornitore di liquidità). +# suppress inspection "UnusedProperty" +tradeApps.BISQ_LIGHTNING.release=Si prevede che Bisq Lightning sarà pronto per il rilascio nel Q2/2025. +# suppress inspection "UnusedProperty" +tradeApps.BISQ_LIGHTNING.pro=+ Sicurezza ragionevolmente buona per importi di trade di valore medio\n+ Rispetto al Bisq MuSig, ci sono commissioni di transazione più basse, conferma più veloce e migliore privacy.\n+ Gestisce il sistema legacy del mondo Fiat +# suppress inspection "UnusedProperty" +tradeApps.BISQ_LIGHTNING.con=- Entrambi i trader devono avere BTC sulla Lightning per il deposito di sicurezza\n- Il coinvolgimento di 2 trader aggiuntivi per gli scambi Submarine aggiunge complessità e potenziali (piuttosto piccoli) rischi.\n- Liquid è una sidechain federata e non ha lo stesso livello di resistenza alla censura del Bitcoin mainnet.\n- L'ingresso da Bitcoin mainnet a Liquid Bitcoin è senza trust, ma per l'uscita da L-BTC a BTC richiede l'autorizzazione della federazione.\n- Il nodo Bisq del maker deve essere online poiché il processo di accettazione dell'offerta è interattivo\n- Poiché il trasferimento Fiat avviene su sistemi legacy come i bonifici bancari, eredita tutti quei drawback, come il rischio di chargeback, il trasferimento lento, l'esposizione della privacy al compagno di scambio quando i dettagli del bonifico bancario contengono il vero nome. Anche se questi vari inconvenienti possono essere mitigati utilizzando metodi di pagamento che comportano un basso rischio di chargeback, sono veloci o istantanei e utilizzano ID account o email invece di nomi reali. Certi metodi di pagamento evitano completamente il sistema bancario come il contante per posta o il trading faccia a faccia. + + +###################################################### +## LIQUID_SWAP +###################################################### + +# suppress inspection "UnusedProperty" +tradeApps.LIQUID_SWAP=Scambi Liquid +# suppress inspection "UnusedProperty" +tradeApps.overview.LIQUID_SWAP=Scambia qualsiasi asset basato su Liquid come USDT e BTC-L con uno scambio atomico sulla rete Liquid +# suppress inspection "UnusedProperty" +tradeApps.overview.markets.LIQUID_SWAP=Asset Liquidi +# suppress inspection "UnusedProperty" +tradeApps.overview.security.LIQUID_SWAP=Sicurezza assoluta utilizzando smart contract sulla stessa blockchain. +# suppress inspection "UnusedProperty" +tradeApps.overview.privacy.LIQUID_SWAP=Liquid supporta transazioni confidenziali, non rivelando quindi l'importo sulla blockchain. +# suppress inspection "UnusedProperty" +tradeApps.overview.convenience.LIQUID_SWAP=L'utente deve installare e configurare il portafoglio Elements per Liquid. Una volta installato, è molto comodo da usare. +# suppress inspection "UnusedProperty" +tradeApps.LIQUID_SWAP.subHeadline=Protocollo di scambio basato su atomic swap sulla sidechain Liquid per scambiare qualsiasi asset Liquid +# suppress inspection "UnusedProperty" +tradeApps.LIQUID_SWAP.overview=Per utilizzare gli scambi Liquid, l'utente deve installare ed eseguire il portafoglio Elements e configurarlo in modo che possa essere accessibile dall'applicazione Bisq.\n\nL'asset più utilizzato su Liquid è USDT (Tether), una stablecoin ancorata al dollaro USA. Anche se non è paragonabile a qualcosa come Bitcoin, ha molti vantaggi rispetto al Fiat USD, che coinvolge di solito bonifici bancari con tutti i problemi e l'inconveniente del sistema Fiat legacy.\n\nL-BTC potrebbe essere utilizzato dall'altro lato dello scambio, che è un sostituto di Bitcoin sulla chain Liquid. Per convertire Bitcoin in L-BTC, è necessario inviare Bitcoin a un indirizzo di peg-in e si riceverà dopo 102 conferme L-BTC per quello. Tornare da L-BTC a Bitcoin (peg-out) funziona in modo simile, ma richiede l'autorizzazione della federazione Liquid, che è un gruppo di aziende e individui nello spazio Bitcoin. Quindi non è un processo completamente senza trust.\n\nSi dovrebbe evitare di confrontare gli asset Liquid con le proprietà di Bitcoin. Si rivolge ad altri casi d'uso e non può soddisfare l'alto livello di decentralizzazione e resistenza alla censura di Bitcoin. Può essere considerato piuttosto come un'alternativa ai prodotti finanziari tradizionali. Utilizzando la tecnologia blockchain, evita intermediari classici, migliora sicurezza e privacy e fornisce una migliore esperienza utente. +# suppress inspection "UnusedProperty" +tradeApps.LIQUID_SWAP.release=Gli scambi Liquid sono ancora in fase di sviluppo. Si prevede che saranno rilasciati nel Q2/2025. +# suppress inspection "UnusedProperty" +tradeApps.LIQUID_SWAP.pro=+ Le transazioni confidenziali forniscono una buona privacy\n+ Tempo di conferma veloce di circa 1 minuto\n+ Commissioni di transazione basse\n+ Adatto per transazioni di valore elevato +# suppress inspection "UnusedProperty" +tradeApps.LIQUID_SWAP.con=- Richiede l'esecuzione del portafoglio Elements e della blockchain\n- Entrambi i trader devono essere online\n- Il peg-out da L-BTC non è senza trust + + +###################################################### +## BSQ_SWAP +###################################################### + +# suppress inspection "UnusedProperty" +tradeApps.BSQ_SWAP=Scambi BSQ +# suppress inspection "UnusedProperty" +tradeApps.overview.BSQ_SWAP=Scambia Bitcoin e il token BSQ tramite atomic swaps, istantaneamente e in sicurezza +# suppress inspection "UnusedProperty" +tradeApps.overview.markets.BSQ_SWAP=BSQ/BTC +# suppress inspection "UnusedProperty" +tradeApps.overview.security.BSQ_SWAP=Sicurezza assoluta utilizzando smart contract sulla stessa blockchain. +# suppress inspection "UnusedProperty" +tradeApps.overview.privacy.BSQ_SWAP=Vincolato dalle limitazioni della privacy di Bitcoin e dipende dal comportamento dell'utente (evitare il merge delle monete di scambi multipli aumenta la privacy). BSQ ha potenzialmente meno privacy a causa del set di anonimato più piccolo. Consulta la wiki di Bisq per maggiori informazioni. +# suppress inspection "UnusedProperty" +tradeApps.overview.convenience.BSQ_SWAP=L'utente deve installare e configurare il portafoglio BSQ. Una volta installato, è molto comodo da usare. +# suppress inspection "UnusedProperty" +tradeApps.BSQ_SWAP.subHeadline=Atomic swap tra BSQ (colored coin su Bitcoin) e Bitcoin +# suppress inspection "UnusedProperty" +tradeApps.BSQ_SWAP.overview=Lo stesso modello utilizzato in Bisq 1. Poiché si basa su una singola transazione atomica, è molto sicuro.\nRichiederà di eseguire il nodo Bisq 1 con l'API DAO abilitata. +# suppress inspection "UnusedProperty" +tradeApps.BSQ_SWAP.release=Si prevede che gli scambi BSQ saranno pronti per il rilascio nel Q3/2025. +# suppress inspection "UnusedProperty" +tradeApps.BSQ_SWAP.pro=+ Molto sicuro\n+ Relativamente veloce, anche se solo dopo la conferma sulla blockchain il trade è considerato completo\n+ Nessuna transazione di fee maker e nessun deposito di sicurezza richiesto +# suppress inspection "UnusedProperty" +tradeApps.BSQ_SWAP.con=- Bisogno di eseguire Bisq 1 per i dati BSQ/DAO\n- Limitato al mercato BSQ/BTC + + +###################################################### +## LIGHTNING_ESCROW +###################################################### + +# suppress inspection "UnusedProperty" +tradeApps.LIGHTNING_ESCROW=Escrow Lightning +# suppress inspection "UnusedProperty" +tradeApps.overview.LIGHTNING_ESCROW=Protocollo di scambio basato sull'escrow sulla rete Lightning utilizzando crittografia di calcolo multiparte +# suppress inspection "UnusedProperty" +tradeApps.overview.markets.LIGHTNING_ESCROW=LN-BTC/Fiat +# suppress inspection "UnusedProperty" +tradeApps.overview.security.LIGHTNING_ESCROW=La sicurezza si basa sui depositi di sicurezza oltre a funzionalità aggiuntive relative ai limiti di scambio. Il protocollo utilizza alcune tecniche crittografiche innovative che non sono state testate sul campo e sottoposte ad audit. Consultare la wiki di Bisq per maggiori informazioni. +# suppress inspection "UnusedProperty" +tradeApps.overview.privacy.LIGHTNING_ESCROW=Dipende dal metodo di trasferimento Fiat utilizzato. Il trasferimento Fiat online di solito rivela l'identità al peer commerciale. Sul lato Bitcoin è limitato dalle limitazioni della privacy di Bitcoin e dipende dal comportamento dell'utente (evitare il merge di monete di scambi multipli aumenta la privacy). Consultare la wiki di Bisq per maggiori informazioni. +# suppress inspection "UnusedProperty" +tradeApps.overview.convenience.LIGHTNING_ESCROW=L'utente deve avere una piccola quantità di Bitcoin per bloccare il deposito di sicurezza. +# suppress inspection "UnusedProperty" +tradeApps.LIGHTNING_ESCROW.subHeadline=Protocollo a tre parti per scambiare Fiat con Bitcoin sulla rete Lightning. +# suppress inspection "UnusedProperty" +tradeApps.LIGHTNING_ESCROW.overview=Si basa su più pagamenti Lightning e suddivide i segreti per gli HTLCs per costruire un setup sicuro in cui una terza parte garantisce che i trader si comportino in modo corretto. Utilizza circuiti offuscati per ottenere un calcolo sicuro tra più parti.\n\nL'utente deve eseguire un nodo Lightning configurato con l'applicazione Bisq.\n\nConcettualmente è simile al protocollo Bisq MuSig, ma invece della transazione MuSig utilizza questo setup a 3 parti e invece di Bitcoin on-chain utilizza Bitcoin sulla Lightning Network. +# suppress inspection "UnusedProperty" +tradeApps.LIGHTNING_ESCROW.release=Si prevede che Lightning Escrow sarà pronto per il rilascio nel Q4/2025. +# suppress inspection "UnusedProperty" +tradeApps.LIGHTNING_ESCROW.pro=+ Rispetto a Bisq Easy le proprietà di sicurezza sono migliori e possono essere scambiati importi più elevati. Gli importi più elevati avvicinano i prezzi degli scambi ai tassi di mercato.\n+ I pagamenti Bitcoin sono quasi istantanei\n+ Commissioni di transazione (di routing) molto basse +# suppress inspection "UnusedProperty" +tradeApps.LIGHTNING_ESCROW.con=- È necessario eseguire un nodo Lightning\n- Entrambi i trader devono avere BTC (su Lightning) per il deposito di sicurezza.\n- Il nodo Bisq del maker deve essere online poiché il processo di offerta è interattivo.\n- Poiché il trasferimento Fiat è effettuato su sistemi legacy come i bonifici bancari, eredita tutti gli svantaggi, come il rischio di chargeback, trasferimenti lenti, esposizione della privacy al peer quando i dettagli del bonifico bancario contengono il vero nome. Tuttavia, questi vari svantaggi possono essere mitigati utilizzando metodi di pagamento a basso rischio di chargeback, veloci o istantanei e utilizzando ID account o email invece di nomi reali. Certi metodi di pagamento evitano completamente il sistema bancario come il cash-by-mail o lo scambio faccia a faccia. + + +###################################################### +## MONERO_SWAP +###################################################### + +# suppress inspection "UnusedProperty" +tradeApps.MONERO_SWAP=Scambi Monero +# suppress inspection "UnusedProperty" +tradeApps.overview.MONERO_SWAP=Scambia Bitcoin e Monero utilizzando uno swap atomico cross-chain +# suppress inspection "UnusedProperty" +tradeApps.overview.markets.MONERO_SWAP=XMR/BTC +# suppress inspection "UnusedProperty" +tradeApps.overview.security.MONERO_SWAP=Sicurezza molto elevata utilizzando firme adattative per scambiare atomicamente tra le blockchain Monero e Bitcoin. +# suppress inspection "UnusedProperty" +tradeApps.overview.privacy.MONERO_SWAP=Molto elevata sul lato Monero grazie alla sua forte privacy intrinseca. Sul lato Bitcoin è limitata dalle limitazioni della privacy di Bitcoin. +# suppress inspection "UnusedProperty" +tradeApps.overview.convenience.MONERO_SWAP=L'utente deve installare il daemon Farcaster swap e un nodo completo di Monero e Bitcoin. Una volta installato, è molto conveniente. +# suppress inspection "UnusedProperty" +tradeApps.MONERO_SWAP.subHeadline=Protocollo atomico di swap cross-chain per scambiare Bitcoin con Monero +# suppress inspection "UnusedProperty" +tradeApps.MONERO_SWAP.overview=Basato sul progetto Farcaster (finanziato dalla comunità Monero) che utilizza contratti con timelock hashati (HTLC), firme adattative e proof zero-knowledge per scambiare atomicamente Bitcoin e Monero.\n\nL'utente deve installare ed eseguire un nodo Bitcoin, un nodo Monero e il daemon Farcaster. Durante lo swap, i nodi di entrambi i trader devono essere online. Lo sforzo extra nell'utilizzo di questo protocollo è ripagato con un livello di sicurezza molto elevato. Gli utenti dovrebbero familiarizzare con i dettagli di questo concetto e essere consapevoli che ci sono casi limite che comportano alcuni piccoli rischi. +# suppress inspection "UnusedProperty" +tradeApps.MONERO_SWAP.release=Si prevede che gli scambi Monero saranno pronti per il rilascio nel Q3/2025. +# suppress inspection "UnusedProperty" +tradeApps.MONERO_SWAP.pro=+ Molto sicuro\n+ Buona privacy. Sul lato Bitcoin eredita le proprietà di privacy di Bitcoin. Sul lato Monero beneficia dell'alta privacy di Monero.\n+ Adatto per transazioni di alto valore +# suppress inspection "UnusedProperty" +tradeApps.MONERO_SWAP.con=- Richiede alcune competenze tecniche ed esperienza per eseguire l'infrastruttura richiesta\n- Il tempo di conferma si basa sulle conferme su entrambe le blockchain, che di solito saranno di circa 20-30 minuti.\n- Le commissioni di transazione sul lato Bitcoin potrebbero non essere trascurabili in caso di congestione elevata della blockchain (piuttosto rara, però)\n- Entrambi i trader devono essere online\n- Richiede molto spazio disco veloce per i nodi diff --git a/pocs/android_only_m2_j17jars/app/src/main/resources/trade_apps_pcm.properties b/pocs/android_only_m2_j17jars/app/src/main/resources/trade_apps_pcm.properties new file mode 100644 index 00000000..44e0f29a --- /dev/null +++ b/pocs/android_only_m2_j17jars/app/src/main/resources/trade_apps_pcm.properties @@ -0,0 +1,265 @@ +###################################################### +## Trade protocols +###################################################### +tradeApps.compare=Compare protocols +tradeApps.bisqMuSig=Bisq MuSig +tradeApps.subMarine=Submarine Swaps +tradeApps.bisqLightning=Bisq Lightning +tradeApps.more=More + +tradeApps.comingSoon=Coming soon +tradeApps.select=Select +tradeApps.release=Release +tradeApps.security=Security +tradeApps.markets=Markets +tradeApps.privacy=Privacy +tradeApps.convenience=Convenience +tradeApps.overview=Overview +tradeApps.tradeOffs=Pro/Con + +tradeApps.overview.headline=Find out the best way to trade Bitcoin +tradeApps.overview.subHeadline=Trade protocol serve as di fundamental framework to trade Bitcoin for secure way. Each trade protocol get im own set of advantage and trade-offs wey dey include security, privacy, and convenience.\nBisq give you di ability to select di protocol wey go work well with your preference.\n\nExplore di upcoming trade protocols wey dem wan integrate inside Bisq. As e dey now, Bisq Easy na di only protocol wey dem don implement, e dey target novice Bitcoin users and e fit work well for small trade amounts. Keep eye as more update fit come if any of di upcoming protocol catch your interest. + +tradeApps.overview.more=Additionally, dem get more protocols wey dem wan integrate for future. + + +###################################################### +## BISQ_EASY +###################################################### + +# suppress inspection "UnusedProperty" +tradeApps.BISQ_EASY=Bisq Easy +# suppress inspection "UnusedProperty" +tradeApps.overview.markets.BISQ_EASY=BTC/Fiat +# suppress inspection "UnusedProperty" +tradeApps.overview.BISQ_EASY=Easy to use chat-based trade protocol. Security dey based on seller's reputation +# suppress inspection "UnusedProperty" +tradeApps.overview.security.BISQ_EASY=Security dey based on seller's reputation. E only fit well for small amounts. +# suppress inspection "UnusedProperty" +tradeApps.overview.privacy.BISQ_EASY=Depends on di fiat transfer method wey dem use. Online fiat transfer usually go reveal identity to di trade peer. For di Bitcoin side, e dey limited by Bitcoin's privacy limitations and e dey depend on user behavior (avoiding coin merge of multiple trades go increase privacy). See Bisq wiki for more information. +# suppress inspection "UnusedProperty" +tradeApps.overview.convenience.BISQ_EASY=Very easy to use chat interface. Bitcoin buyer no need get Bitcoin. + +###################################################### +## BISQ_MU_SIG +###################################################### + +# suppress inspection "UnusedProperty" +tradeApps.BISQ_MU_SIG=Bisq MuSig +# suppress inspection "UnusedProperty" +tradeApps.overview.BISQ_MU_SIG=The Bisq MuSig protocol requires only one transaction thanks to MuSig, Atomic Swaps and Taproot. +# suppress inspection "UnusedProperty" +tradeApps.overview.markets.BISQ_MU_SIG=BTC/Fiat +# suppress inspection "UnusedProperty" +tradeApps.overview.security.BISQ_MU_SIG=Security dey based on security deposits and other features wey relate to trade limits. Check Bisq wiki for more information. +# suppress inspection "UnusedProperty" +tradeApps.overview.privacy.BISQ_MU_SIG=Depends on di Fiat transfer method wey dem use. Online Fiat transfer usually go reveal identity to di trade peer. For di Bitcoin side, e dey limited by Bitcoin's privacy limitations and e dey depend on user behavior (avoiding coin merge of multiple trades go increase privacy). See Bisq wiki for more information. +# suppress inspection "UnusedProperty" +tradeApps.overview.convenience.BISQ_MU_SIG=The user need get small amount of Bitcoins to lock up security deposit. E fit be as fast as blockchain confirmation time or take some days depending on the Fiat payment method. + +# suppress inspection "UnusedProperty" +tradeApps.BISQ_MU_SIG.subHeadline=Based on MuSig, Atomic swaps and Taproot, e require only one transaction +# suppress inspection "UnusedProperty" +tradeApps.BISQ_MU_SIG.overview=Conceptually, e follow di trade protocol wey dey used for Bisq 1, based on security deposit and dispute resolution process.\n- E reduce di number of transactions from 4 to 1.\n- E improve privacy by making di deposit transaction look like standard 'pay-to-pubKey-hash' transaction.\n- E avoid di problem wey seller go need open arbitration if di buyer no release di security deposit after di trade. Atomic swaps go ensure di seller fit get dem deposit back even without di buyer cooperation.\n- If trade peer no dey respond, multi-stage payout transaction structure go ensure say no arbitration and reimbursement by di DAO dey required.\n- Taproot dey provide more flexibility and privacy.\n- Find out more details at: https://github.com/bisq-network/proposals/issues/456 +# suppress inspection "UnusedProperty" +tradeApps.BISQ_MU_SIG.release=Bisq MuSig is expected to be ready for release in Q4/2024. +# suppress inspection "UnusedProperty" +tradeApps.BISQ_MU_SIG.pro=+ Good security for medium-value trades\n+ Compared to Bisq Easy, e get better security properties, and higher amounts fit trade. The higher amounts dey bring trade prices closer to market rates.\n+ E fit manage the legacy system of the Fiat world +# suppress inspection "UnusedProperty" +tradeApps.BISQ_MU_SIG.con=- Both traders need to get BTC for security deposit\n- The maker's Bisq node need dey online as the take-offer process na interactive one\n- Since the Fiat transfer dey done for legacy systems like bank transfers, e inherit all the drawbacks, like chargeback risk, slow transfer, and privacy exposure to peer when bank transfer details carry real name. Though, those various drawbacks fit reduce by using payment methods wey get low chargeback risk, fast or instant transfer, and use account IDs or email instead of real names. Some payment methods no dey use banking system at all, like cash-by-mail or face-to-face trading. + + +###################################################### +## SUBMARINE +###################################################### + +# suppress inspection "UnusedProperty" +tradeApps.SUBMARINE=Submarine Swaps +# suppress inspection "UnusedProperty" +tradeApps.overview.SUBMARINE=Swap between Bitcoin for Lightning network to on-chain Bitcoin +# suppress inspection "UnusedProperty" +tradeApps.overview.markets.SUBMARINE=LN-BTC/BTC +# suppress inspection "UnusedProperty" +tradeApps.overview.security.SUBMARINE=Atomic swap dey provide very high level of security. +# suppress inspection "UnusedProperty" +tradeApps.overview.privacy.SUBMARINE=Swaps fit potentially improve privacy by break traces for chain analysis. +# suppress inspection "UnusedProperty" +tradeApps.overview.convenience.SUBMARINE=User need install and configure Lightning wallet. Once e don install, e dey very convenient to use. +# suppress inspection "UnusedProperty" +tradeApps.SUBMARINE.subHeadline=Submarine swaps allow make exchange between off-chain and on-chain Bitcoin safely without counterparty risk +# suppress inspection "UnusedProperty" +tradeApps.SUBMARINE.overview=The swap dey happen by using the secret for hash time-locked contract (HTLC) for Lightning Network inside contract for Bitcoin transaction. As the Lightning payment dey claimed, the secret for claiming on-chain Bitcoin go show for the sender of the Lightning payment. This one dey ensure say one payment unlock the other payment, e make exchange fit happen without counterparty risk. +# suppress inspection "UnusedProperty" +tradeApps.SUBMARINE.release=Submarine swaps is expected to be ready for release in Q2/2025. +# suppress inspection "UnusedProperty" +tradeApps.SUBMARINE.pro=+ Very high security for large trade amounts\n+ Swapping on-chain Bitcoin to Lightning fit potentially improve privacy.\n+ Exchange fit happen through trading bots, so e fit dey fast and automated. +# suppress inspection "UnusedProperty" +tradeApps.SUBMARINE.con=- Mining fees for the Bitcoin transaction fit make small trades no dey economical\n- Traders go get to dey careful about timeouts for the transactions. If blockchain dey congest and confirmation dey delay, e fit pose security risk. + + +###################################################### +## LIQUID_MU_SIG +###################################################### + +# suppress inspection "UnusedProperty" +tradeApps.LIQUID_MU_SIG=Liquid MuSig +# suppress inspection "UnusedProperty" +tradeApps.overview.LIQUID_MU_SIG=Di Bisq MuSig protocol wey don move to di Liquid side chain +# suppress inspection "UnusedProperty" +tradeApps.overview.markets.LIQUID_MU_SIG=L-BTC/Fiat +# suppress inspection "UnusedProperty" +tradeApps.overview.security.LIQUID_MU_SIG=Security dey based on security deposits and other features wey relate to trade limits. Check Bisq wiki for more information. +# suppress inspection "UnusedProperty" +tradeApps.overview.privacy.LIQUID_MU_SIG=E dey depend on the Fiat transfer method wey dem use. Online Fiat transfer fit reveal identity to the trade peer. For Liquid side, e get better privacy pass mainnet Bitcoin sake of confidential transactions. +# suppress inspection "UnusedProperty" +tradeApps.overview.convenience.LIQUID_MU_SIG=The user need get small amount of L-BTC to lock up security deposit. Blockchain confirmation for Liquid dey very fast (about 1 minute). Time for trade depend on the payment method wey dem use and how fast the trader dey respond. +# suppress inspection "UnusedProperty" +tradeApps.LIQUID_MU_SIG.subHeadline=Based on a security deposit, a MuSig transaction and a multi-layer dispute resolution process +# suppress inspection "UnusedProperty" +tradeApps.LIQUID_MU_SIG.overview=Conceptually, e follow di Bisq MuSig protocol (on Bitcoin mainnet). Liquid no get di same censorship properties as Bitcoin, but e provide some benefits over Bitcoin mainnet:\n- Liquid get very short block confirmation time of about 1 minute.\n- Transaction fees dey very low.\n- Privacy dey better due to confidential transactions wey dey hide di amount wey dey sent. +# suppress inspection "UnusedProperty" +tradeApps.LIQUID_MU_SIG.release=Liquid MuSig dey expected to ready for release in Q2/2025. +# suppress inspection "UnusedProperty" +tradeApps.LIQUID_MU_SIG.pro=+ Reasonable good security for medium value trade amounts\n+ Compared to Bisq MuSig, transaction fees dey lower, confirmation dey faster, and privacy dey better.\n+ E fit handle di legacy system of di Fiat world +# suppress inspection "UnusedProperty" +tradeApps.LIQUID_MU_SIG.con=- Both traders need to get L-BTC for security deposit\n- Liquid na federated side chain, e no get the high level of censorship resistance like mainnet Bitcoin.\n- Peg-in from mainnet Bitcoin to Liquid Bitcoin no dey require trust, but for pegging-out L-BTC to BTC, e need authorisation from the federation.\n- The maker's Bisq node need dey online as the take-offer process na interactive one.\n- As the Fiat transfer dey done for legacy systems like bank transfers, e inherit all the drawbacks, like chargeback risk, slow transfer, and privacy exposure to peer when bank transfer details carry real name. Though, those various drawbacks fit reduce by using payment methods wey get low chargeback risk, fast or instant transfer, and use account IDs or email instead of real names. Some payment methods no dey use banking system at all, like cash-by-mail or face-to-face trading. + + +###################################################### +## BISQ_LIGHTNING +###################################################### + +# suppress inspection "UnusedProperty" +tradeApps.BISQ_LIGHTNING=Bisq Lightning +# suppress inspection "UnusedProperty" +tradeApps.overview.BISQ_LIGHTNING=Enables trade of Bitcoin for Fiat on Lightning Network by combining Submarine swaps and Liquid MuSig protocol +# suppress inspection "UnusedProperty" +tradeApps.overview.markets.BISQ_LIGHTNING=LN-BTC/Fiat +# suppress inspection "UnusedProperty" +tradeApps.overview.security.BISQ_LIGHTNING=Security dey based on security deposits and other features wey relate to trade limits. Check Bisq wiki for more information. +# suppress inspection "UnusedProperty" +tradeApps.overview.privacy.BISQ_LIGHTNING=E dey depend on the Fiat transfer method wey dem use. Online Fiat transfer fit reveal identity to the trade peer. For Lightning side, e get better privacy pass on-chain Bitcoin as e no dey leave traces for the Blockchain. For Liquid side, e get better privacy pass mainnet Bitcoin sake of confidential transactions. +# suppress inspection "UnusedProperty" +tradeApps.overview.convenience.BISQ_LIGHTNING=Di user need get small amount of Bitcoin on Lightning to lock up security deposit. Di Submarine swaps and di trade transactions benefit from di fast blockchain confirmation time of about 1 minute. Time for trade depend on di payment method used and di trader's response time. +# suppress inspection "UnusedProperty" +tradeApps.BISQ_LIGHTNING.subHeadline=Combines Submarine swaps from Lightning to Liquid and di Liquid MuSig protocol +# suppress inspection "UnusedProperty" +tradeApps.BISQ_LIGHTNING.overview=E enable traders to use their off-chain Bitcoin on Lightning for trading with Fiat based on di Liquid MuSig protocol. Di protocol na chain of 3 trades and 2 different protocols:\n- First, di traders swap their Lightning Bitcoin via a reverse Submarine swap to L-BTC (Submarine swap between Lightning and Liquid). Dis swap dey happen with any liquidity provider, no be with di trading peer.\n- Den di trade dey happen on Liquid using di MuSig protocol.\n- Once di trade don complete, di L-BTC go swap back to Lightning by a Submarine swap (again with another trader/liquidity provider). +# suppress inspection "UnusedProperty" +tradeApps.BISQ_LIGHTNING.release=Bisq Lightning dey expected to ready for release in Q2/2025. +# suppress inspection "UnusedProperty" +tradeApps.BISQ_LIGHTNING.pro=+ Reasonable good security for medium value trade amounts\n+ Compared to Bisq MuSig, transaction fees dey lower, confirmation dey faster, and privacy dey better.\n+ E fit handle di legacy system of di Fiat world +# suppress inspection "UnusedProperty" +tradeApps.BISQ_LIGHTNING.con=- Both traders need to get BTC on Lightning for di security deposit\n- Di involvement of 2 additional traders for di Submarine swaps dey add complexity and potential (rather small) risks.\n- Liquid na federated side chain and no get di high level of censorship resistance like mainnet Bitcoin.\n- Peg-in from mainnet Bitcoin to Liquid Bitcoin no require trust, but for pegging-out L-BTC to BTC, e need authorisation from di federation.\n- Di makers Bisq node need to dey online as di take-offer process dey interactive\n- As di Fiat transfer dey done on legacy systems like bank transfers, e carry all dose drawbacks, like chargeback risk, slow transfer, and privacy exposure to peer when di bank transfer details contain di real name. Though, those various drawbacks fit dey mitigated by using payment methods wey get low chargeback risk, dey fast or instant, and dey use account IDs or email instead of real names. Certain payment methods dey avoid banking system completely like cash-by-mail or trading face to face. + + +###################################################### +## LIQUID_SWAP +###################################################### + +# suppress inspection "UnusedProperty" +tradeApps.LIQUID_SWAP=Liquid Swaps +# suppress inspection "UnusedProperty" +tradeApps.overview.LIQUID_SWAP=Trade any Liquid based assets like USDT and BTC-L with an atomic swap on the Liquid network +# suppress inspection "UnusedProperty" +tradeApps.overview.markets.LIQUID_SWAP=Liquid Assets +# suppress inspection "UnusedProperty" +tradeApps.overview.security.LIQUID_SWAP=Ultimate security by using smart contracts on the same blockchain. +# suppress inspection "UnusedProperty" +tradeApps.overview.privacy.LIQUID_SWAP=Liquid supports confidential transactions, thus not revealing the amount on the blockchain. +# suppress inspection "UnusedProperty" +tradeApps.overview.convenience.LIQUID_SWAP=User need install and configure the Elements wallet for Liquid. Once e don install, e dey very easy to use. +# suppress inspection "UnusedProperty" +tradeApps.LIQUID_SWAP.subHeadline=Atomic swap based trade protocol for Liquid side-chain wey fit trade any Liquid asset +# suppress inspection "UnusedProperty" +tradeApps.LIQUID_SWAP.overview=To use Liquid swaps, the user need install and run the Elements wallet and configure am, so that e fit access am from the Bisq application.\n\nThe most common asset wey dey use for Liquid na USDT (Tether), a stable coin wey peg to USD. Even though e no dey comparable to something like Bitcoin, e get many advantages pass Fiat USD wey usually involve bank transfers with all the problems and inconvenience of the legacy Fiat system.\n\nL-BTC fit dey used on the other end of the trade wey be substitute for Bitcoin on Liquid chain. To convert Bitcoin to L-BTC, person go send Bitcoin to peg-in address and after 102 confirmations, e go receive L-BTC for am. Going back from L-BTC to Bitcoin (peg-out) dey work similar, but e go need authorisation from Liquid federation wey be group of companies and individuals for Bitcoin space. So e no be completely trust-less process.\n\nMake person no try compare Liquid assets to properties of Bitcoin. E dey target other use cases and e no fit reach the high level of decentralisation and censorship resistance wey Bitcoin get. E fit be seen as alternative to traditional financial products. By using blockchain technology, e dey avoid classical intermediaries, improve security and privacy, and provide better user experience. +# suppress inspection "UnusedProperty" +tradeApps.LIQUID_SWAP.release=Liquid swaps are still in development. It is expected to be released in Q2/2025. +# suppress inspection "UnusedProperty" +tradeApps.LIQUID_SWAP.pro=+ Confidential transactions dey provide good privacy\n+ Fast confirmation time of about 1 minute\n+ Low transaction fees\n+ Suitable for high value transactions +# suppress inspection "UnusedProperty" +tradeApps.LIQUID_SWAP.con=- E require person run Elements wallet and blockchain\n- Both traders need dey online\n- Peg-out from L-BTC no dey trust-less + + +###################################################### +## BSQ_SWAP +###################################################### + +# suppress inspection "UnusedProperty" +tradeApps.BSQ_SWAP=BSQ Swaps +# suppress inspection "UnusedProperty" +tradeApps.overview.BSQ_SWAP=Trade Bitcoin and the BSQ token via atomic swaps, instantaneously and secure +# suppress inspection "UnusedProperty" +tradeApps.overview.markets.BSQ_SWAP=BSQ/BTC +# suppress inspection "UnusedProperty" +tradeApps.overview.security.BSQ_SWAP=Ultimate security by using smart contract on same blockchain. +# suppress inspection "UnusedProperty" +tradeApps.overview.privacy.BSQ_SWAP=Constrained by Bitcoin's privacy limitations and depends on user behaviour (avoiding coin merge of multiple trades increase privacy). BSQ get potentially less privacy due the smaller anonymity set. See Bisq wiki for more information. +# suppress inspection "UnusedProperty" +tradeApps.overview.convenience.BSQ_SWAP=User need install and configure the BSQ wallet. Once e don install, e dey very easy to use. +# suppress inspection "UnusedProperty" +tradeApps.BSQ_SWAP.subHeadline=Atomic swap between BSQ (colored coin on Bitcoin) and Bitcoin +# suppress inspection "UnusedProperty" +tradeApps.BSQ_SWAP.overview=Same model wey dem use for Bisq 1. As e based on one single atomic transaction, e dey very secure.\nE go require person run the Bisq 1 node with the DAO API enabled. +# suppress inspection "UnusedProperty" +tradeApps.BSQ_SWAP.release=BSQ swaps is expected to be ready for release in Q3/2025. +# suppress inspection "UnusedProperty" +tradeApps.BSQ_SWAP.pro=+ Very secure\n+ Relative fast, even though only after the blockchain confirmation, the trade go be complete\n+ No maker fee transaction and no security deposit required +# suppress inspection "UnusedProperty" +tradeApps.BSQ_SWAP.con=- E require person run Bisq 1 for the BSQ/DAO data\n- E dey limited to BSQ/BTC market + + +###################################################### +## LIGHTNING_ESCROW +###################################################### + +# suppress inspection "UnusedProperty" +tradeApps.LIGHTNING_ESCROW=Lightning Escrow +# suppress inspection "UnusedProperty" +tradeApps.overview.LIGHTNING_ESCROW=Escrow based trade protocol on top Lightning network wey dey use multi-party computation cryptography +# suppress inspection "UnusedProperty" +tradeApps.overview.markets.LIGHTNING_ESCROW=LN-BTC/Fiat +# suppress inspection "UnusedProperty" +tradeApps.overview.security.LIGHTNING_ESCROW=Security dey based on security deposits as well as additional features wey dey relate to trade limits. The protocol use some new cryptographic techniques wey dem never really test and audit for battle. See Bisq wiki for more information. +# suppress inspection "UnusedProperty" +tradeApps.overview.privacy.LIGHTNING_ESCROW=This one dey depend on the Fiat transfer method wey dem use. Online Fiat transfer usually go show identity to the trade partner. For Bitcoin side e get some constraints based on Bitcoin privacy limitations and how traders dey behave (avoiding coin merge for multiple trades fit increase privacy). See Bisq wiki for more information. +# suppress inspection "UnusedProperty" +tradeApps.overview.convenience.LIGHTNING_ESCROW=Person go need get small amount of Bitcoin for lock up security deposit. +# suppress inspection "UnusedProperty" +tradeApps.LIGHTNING_ESCROW.subHeadline=Three-party protocol for trading Fiat with Bitcoin on Lightning Network. +# suppress inspection "UnusedProperty" +tradeApps.LIGHTNING_ESCROW.overview=E based on multiple Lightning payments and splits up di secrets for di HTLCs to construct a secure setup where di 3rd party guarantees say di traders dey behave fair. E use garbled circuits to achieve secure multi-party computation.\n\nDi user need run a Lightning node which dey configured with di Bisq application.\n\nConceptually, e dey similar to di Bisq MuSig protocol but instead of di MuSig transaction, e use dis 3-party setup and instead of on-chain Bitcoin, e use Bitcoin on di Lightning Network. +# suppress inspection "UnusedProperty" +tradeApps.LIGHTNING_ESCROW.release=Lightning Escrow is expected to be ready for release in Q4/2025. +# suppress inspection "UnusedProperty" +tradeApps.LIGHTNING_ESCROW.pro=+ When person compare am with Bisq Easy, the security properties dey better and e dey fit for trade higher amounts. The higher amounts fit reduce trade prices come close to market rates.\n+ Bitcoin payments dey quick\n+ Transaction (routing) fees dey very low +# suppress inspection "UnusedProperty" +tradeApps.LIGHTNING_ESCROW.con=- Person go need run Lightning node\n- Both traders go need get BTC (on Lightning) for security deposit.\n- The makers Bisq node go need online as the take-offer process dey interactive.\n- As the Fiat transfer dey happen on top legacy systems like bank transfers e get some drawbacks like chargeback risk, slow transfer, and the privacy exposure to the trade partner if the bank transfer details contain the real name. Even though person fit reduce the drawbacks by using payment methods wey get low chargeback risk, wey dey fast or instant, and wey use account IDs or email instead of real names. Some payment methods avoid banking system completely like cash-by-mail or trading face to face. + + +###################################################### +## MONERO_SWAP +###################################################### + +# suppress inspection "UnusedProperty" +tradeApps.MONERO_SWAP=Monero Swaps +# suppress inspection "UnusedProperty" +tradeApps.overview.MONERO_SWAP=Trade Bitcoin and Monero using an atomic cross-chain swap +# suppress inspection "UnusedProperty" +tradeApps.overview.markets.MONERO_SWAP=XMR/BTC +# suppress inspection "UnusedProperty" +tradeApps.overview.security.MONERO_SWAP=Very high security by using adaptor signatures to swap atomically between the Monero and Bitcoin blockchain. +# suppress inspection "UnusedProperty" +tradeApps.overview.privacy.MONERO_SWAP=Very high on the Monero side due its inherent strong privacy. On the Bitcoin side it is constrained by Bitcoin's privacy limitations. +# suppress inspection "UnusedProperty" +tradeApps.overview.convenience.MONERO_SWAP=User need to install the Farcaster swap daemon and a Monero and Bitcoin full node. Once installed its very convenient. +# suppress inspection "UnusedProperty" +tradeApps.MONERO_SWAP.subHeadline=Atomic cross-chain swap protocol for trading Bitcoin with Monero +# suppress inspection "UnusedProperty" +tradeApps.MONERO_SWAP.overview=Based on the Farcaster project (funded by the Monero community) using hashed time lock contracts (HTLC), adaptor signatures and zero-knowledge proof for atomically swapping Bitcoin and Monero.\n\nThe user needs to install and run a Bitcoin node, a Monero node and the Farcaster daemon. During the swap, the nodes of both traders need to be online. The extra effort when using that protocol pays off with a very high level of security. Though users should make themselves familiar with the details of that concept and be aware that there are edge case carrying some small risks. +# suppress inspection "UnusedProperty" +tradeApps.MONERO_SWAP.release=Monero swaps are expected to be ready for release in Q3/2025. +# suppress inspection "UnusedProperty" +tradeApps.MONERO_SWAP.pro=+ Very secure\n+ Decent privacy. On the Bitcoin side it inherits Bitcoin's privacy properties. On the Monero side it benefits from the high privacy of Monero.\n+ Suitable for high value transactions +# suppress inspection "UnusedProperty" +tradeApps.MONERO_SWAP.con=- It requires some technical skills and experience to run the required infrastructure\n- Confirmation time is based on the confirmations on both blockchains which will be usually about 20-30 min.\n- Transaction fees on the Bitcoin side could be non-trivial in case of high blockchain congestion (rather rare, though)\n- Both traders need to be online\n- It requires lots of fast disk storage for the nodes diff --git a/pocs/android_only_m2_j17jars/app/src/main/resources/trade_apps_pt_BR.properties b/pocs/android_only_m2_j17jars/app/src/main/resources/trade_apps_pt_BR.properties new file mode 100644 index 00000000..90bf0241 --- /dev/null +++ b/pocs/android_only_m2_j17jars/app/src/main/resources/trade_apps_pt_BR.properties @@ -0,0 +1,265 @@ +###################################################### +## Trade protocols +###################################################### +tradeApps.compare=Comparar protocolos +tradeApps.bisqMuSig=Bisq MuSig +tradeApps.subMarine=Trocas Submarinas +tradeApps.bisqLightning=Bisq Lightning +tradeApps.more=Mais + +tradeApps.comingSoon=Em breve +tradeApps.select=Selecionar +tradeApps.release=Lançamento +tradeApps.security=Segurança +tradeApps.markets=Mercados +tradeApps.privacy=Privacidade +tradeApps.convenience=Conveniência +tradeApps.overview=Visão Geral +tradeApps.tradeOffs=Prós/Contras + +tradeApps.overview.headline=Descubra a melhor maneira de negociar Bitcoin +tradeApps.overview.subHeadline=Um protocolo de negociação serve como a estrutura fundamental para negociar Bitcoin de forma segura. Cada protocolo de negociação apresenta seu próprio conjunto de vantagens e compensações envolvendo segurança, privacidade e conveniência.\nA Bisq oferece a flexibilidade de selecionar o protocolo ideal alinhado com suas preferências.\n\nExplore os próximos protocolos de negociação programados para integração na Bisq. Atualmente, Bisq Easy é o único protocolo implementado, adaptado para usuários novatos de Bitcoin e adequado para quantidades menores de comércio. Fique atento a atualizações se algum dos próximos protocolos chamar sua atenção. + +tradeApps.overview.more=Além disso, há mais protocolos no horizonte, programados para implementação futura. + + +###################################################### +## BISQ_EASY +###################################################### + +# suppress inspection "UnusedProperty" +tradeApps.BISQ_EASY=Bisq Easy +# suppress inspection "UnusedProperty" +tradeApps.overview.markets.BISQ_EASY=BTC/Fiat +# suppress inspection "UnusedProperty" +tradeApps.overview.BISQ_EASY=Protocolo de negociação fácil de usar baseado em chat. A segurança é baseada na reputação do vendedor. +# suppress inspection "UnusedProperty" +tradeApps.overview.security.BISQ_EASY=A segurança é baseada na reputação dos vendedores. Apenas adequado para pequenas quantidades. +# suppress inspection "UnusedProperty" +tradeApps.overview.privacy.BISQ_EASY=Depende do método de transferência fiat utilizado. Transferências fiat online geralmente revelam identidade ao par de negociação. No lado do Bitcoin, é limitado pelas limitações de privacidade do Bitcoin e depende do comportamento do usuário (evitar a fusão de moedas de múltiplas negociações aumenta a privacidade). Veja o wiki da Bisq para mais informações. +# suppress inspection "UnusedProperty" +tradeApps.overview.convenience.BISQ_EASY=Interface de chat muito fácil de usar. O comprador de Bitcoin não precisa ter Bitcoin. + +###################################################### +## BISQ_MU_SIG +###################################################### + +# suppress inspection "UnusedProperty" +tradeApps.BISQ_MU_SIG=Bisq MuSig +# suppress inspection "UnusedProperty" +tradeApps.overview.BISQ_MU_SIG=O protocolo Bisq MuSig requer apenas uma transação graças ao MuSig, Atomic Swaps e Taproot. +# suppress inspection "UnusedProperty" +tradeApps.overview.markets.BISQ_MU_SIG=BTC/Fiat +# suppress inspection "UnusedProperty" +tradeApps.overview.security.BISQ_MU_SIG=A segurança é baseada em depósitos de segurança, bem como em recursos adicionais relacionados a limites de negociação. Consulte o wiki da Bisq para mais informações. +# suppress inspection "UnusedProperty" +tradeApps.overview.privacy.BISQ_MU_SIG=Depende do método de transferência Fiat usado. Transferência Fiat online geralmente revela a identidade ao parceiro de negociação. No lado do Bitcoin, é limitada pelas limitações de privacidade do Bitcoin e depende do comportamento do usuário (evitar a fusão de moedas de várias negociações aumenta a privacidade). Veja o wiki da Bisq para mais informações. +# suppress inspection "UnusedProperty" +tradeApps.overview.convenience.BISQ_MU_SIG=O usuário precisa ter uma pequena quantidade de Bitcoins para bloquear o depósito de segurança. Pode ser tão rápido quanto o tempo de confirmação da blockchain ou até alguns dias, dependendo do método de pagamento fiat. + +# suppress inspection "UnusedProperty" +tradeApps.BISQ_MU_SIG.subHeadline=Baseado no MuSig, Atomic swaps e Taproot, requer apenas uma transação +# suppress inspection "UnusedProperty" +tradeApps.BISQ_MU_SIG.overview=Conceitualmente, segue o protocolo de negociação utilizado no Bisq 1, baseado em um depósito de segurança e um processo de resolução de disputas.\n- Reduz o número de transações de 4 para 1.\n- Melhora a privacidade ao fazer com que a transação de depósito pareça uma transação padrão 'pay-to-pubKey-hash'.\n- Evita o problema de que um vendedor precise abrir arbitragem caso o comprador não libere o depósito de segurança após a negociação. Atomic swaps garantirão que o vendedor possa recuperar seu depósito mesmo sem a cooperação do comprador.\n- Em caso de um parceiro de negociação não responsivo, uma estrutura de transação de pagamento em várias etapas garante que nenhuma arbitragem e reembolso pela DAO seja necessário.\n- Taproot oferece mais flexibilidade e privacidade.\n- Descubra mais detalhes em: https://github.com/bisq-network/proposals/issues/456 +# suppress inspection "UnusedProperty" +tradeApps.BISQ_MU_SIG.release=O Bisq MuSig deve estar pronto para lançamento no Q4/2024. +# suppress inspection "UnusedProperty" +tradeApps.BISQ_MU_SIG.pro=+ Segurança razoavelmente boa para quantidades médias de valor comercial\n+ Comparado ao Bisq Easy, as propriedades de segurança são melhores e maiores quantidades podem ser negociadas. As maiores quantidades trazem preços de negociação mais próximos das taxas de mercado.\n+ Gerencia o sistema legado do mundo fiat. +# suppress inspection "UnusedProperty" +tradeApps.BISQ_MU_SIG.con=- Ambos os comerciantes precisam ter BTC para o depósito de segurança\n- O nó Bisq do criador precisa estar online, pois o processo de oferta é interativo\n- Como a transferência fiat é feita em sistemas legados, como transferências bancárias, herda todas essas desvantagens, como risco de estorno, transferência lenta, exposição de privacidade ao par quando os detalhes da transferência bancária contêm o nome real. No entanto, essas várias desvantagens podem ser mitigadas usando métodos de pagamento que apresentam baixo risco de estorno, são rápidos ou instantâneos e usam IDs de conta ou email em vez de nomes reais. Certos métodos de pagamento evitam completamente o sistema bancário, como dinheiro pelo correio ou negociação cara a cara. + + +###################################################### +## SUBMARINE +###################################################### + +# suppress inspection "UnusedProperty" +tradeApps.SUBMARINE=Submarine Swaps +# suppress inspection "UnusedProperty" +tradeApps.overview.SUBMARINE=Troca entre Bitcoin na rede Lightning para Bitcoin on-chain +# suppress inspection "UnusedProperty" +tradeApps.overview.markets.SUBMARINE=LN-BTC/BTC +# suppress inspection "UnusedProperty" +tradeApps.overview.security.SUBMARINE=Swap atômico fornece um nível muito alto de segurança. +# suppress inspection "UnusedProperty" +tradeApps.overview.privacy.SUBMARINE=Swaps podem potencialmente melhorar a privacidade ao quebrar rastros para análise de cadeias. +# suppress inspection "UnusedProperty" +tradeApps.overview.convenience.SUBMARINE=O usuário precisa instalar e configurar uma carteira Lightning. Uma vez instalada, é muito conveniente de usar. +# suppress inspection "UnusedProperty" +tradeApps.SUBMARINE.subHeadline=Submarine swaps permitem trocar Bitcoin off-chain e on-chain com segurança sem risco de contraparte +# suppress inspection "UnusedProperty" +tradeApps.SUBMARINE.overview=O swap é realizado usando o segredo de um contrato com bloqueio de tempo de hash (HTLC) na Lightning Network para um contrato em uma transação Bitcoin. Ao reivindicar o pagamento Lightning, o segredo para reivindicar o Bitcoin on-chain é revelado ao remetente do pagamento Lightning. Isso garante que um pagamento desbloqueie o outro, permitindo uma troca sem risco de contraparte. +# suppress inspection "UnusedProperty" +tradeApps.SUBMARINE.release=Submarine swaps está previsto para ser lançado no Q2/2025. +# suppress inspection "UnusedProperty" +tradeApps.SUBMARINE.pro=+ Muito alta segurança para grandes quantidades de negociação\n+ Trocar Bitcoin on-chain por Lightning pode potencialmente melhorar a privacidade.\n+ A troca pode ser feita por bots de negociação, possibilitando negociações rápidas e automatizadas. +# suppress inspection "UnusedProperty" +tradeApps.SUBMARINE.con=- Taxas de mineração para a transação Bitcoin podem tornar negociações pequenas economicamente inviáveis\n- Os comerciantes devem estar atentos aos tempos de expiração das transações. Em caso de congestionamento da blockchain e confirmação atrasada, isso pode representar um risco à segurança. + + +###################################################### +## LIQUID_MU_SIG +###################################################### + +# suppress inspection "UnusedProperty" +tradeApps.LIQUID_MU_SIG=Liquid MuSig +# suppress inspection "UnusedProperty" +tradeApps.overview.LIQUID_MU_SIG=O protocolo Bisq MuSig adaptado para a sidechain Liquid +# suppress inspection "UnusedProperty" +tradeApps.overview.markets.LIQUID_MU_SIG=L-BTC/Fiat +# suppress inspection "UnusedProperty" +tradeApps.overview.security.LIQUID_MU_SIG=A segurança é baseada em depósitos de segurança, bem como em recursos adicionais relacionados a limites de negociação. Consulte o wiki da Bisq para mais informações. +# suppress inspection "UnusedProperty" +tradeApps.overview.privacy.LIQUID_MU_SIG=Depende do método de transferência fiat utilizado. Transferências fiat online geralmente revelam a identidade ao par de negociação. No lado do Liquid, tem melhor privacidade que o Bitcoin mainnet devido a transações confidenciais. +# suppress inspection "UnusedProperty" +tradeApps.overview.convenience.LIQUID_MU_SIG=O usuário precisa ter uma pequena quantidade de L-BTC para bloquear o depósito de segurança. A confirmação da blockchain no Liquid é muito rápida (cerca de 1 minuto). O tempo para negociação depende do método de pagamento utilizado e do tempo de resposta do comerciante. +# suppress inspection "UnusedProperty" +tradeApps.LIQUID_MU_SIG.subHeadline=Baseado em um depósito de segurança, uma transação MuSig e um processo de resolução de disputas em várias camadas +# suppress inspection "UnusedProperty" +tradeApps.LIQUID_MU_SIG.overview=Conceitualmente, segue o protocolo Bisq MuSig (na mainnet do Bitcoin). O Liquid não possui as mesmas propriedades de censura que o Bitcoin, embora ofereça alguns benefícios em relação à mainnet do Bitcoin:\n- O Liquid tem um tempo de confirmação de bloco muito curto, de cerca de 1 minuto.\n- As taxas de transação são muito baixas.\n- A privacidade é melhor devido às transações confidenciais que ocultam o valor enviado. +# suppress inspection "UnusedProperty" +tradeApps.LIQUID_MU_SIG.release=O Liquid MuSig deve estar pronto para lançamento no Q2/2025. +# suppress inspection "UnusedProperty" +tradeApps.LIQUID_MU_SIG.pro=+ Segurança razoável para valores de negociação médios\n+ Comparado ao Bisq MuSig, há taxas de transação mais baixas, confirmação mais rápida e melhor privacidade.\n+ Conseguem lidar com o sistema legado do mundo Fiat +# suppress inspection "UnusedProperty" +tradeApps.LIQUID_MU_SIG.con=- Ambos os comerciantes precisam ter L-BTC para o depósito de segurança\n- O Liquid é uma side chain federada e não tem o alto nível de resistência à censura como o Bitcoin mainnet.\n- O peg-in do Bitcoin mainnet para o Liquid Bitcoin é sem confiança, embora para o pegging-out de L-BTC para BTC seja necessário autorização da federação.\n- O nó Bisq do criador precisa estar online, pois o processo de oferta é interativo\n- Como a transferência Fiat é feita em sistemas legados, como transferências bancárias, herda todas essas desvantagens, como risco de estorno, transferência lenta, exposição de privacidade ao par quando os detalhes da transferência bancária contêm o nome real. No entanto, essas várias desvantagens podem ser mitigadas usando métodos de pagamento que apresentam baixo risco de estorno, são rápidos ou instantâneos e usam IDs de conta ou email em vez de nomes reais. Certos métodos de pagamento evitam completamente o sistema bancário, como dinheiro pelo correio ou negociação cara a cara. + + +###################################################### +## BISQ_LIGHTNING +###################################################### + +# suppress inspection "UnusedProperty" +tradeApps.BISQ_LIGHTNING=Bisq Lightning +# suppress inspection "UnusedProperty" +tradeApps.overview.BISQ_LIGHTNING=Habilita a negociação de Bitcoin na Lightning Network para Fiat, combinando swaps Submarine e o protocolo Liquid MuSig +# suppress inspection "UnusedProperty" +tradeApps.overview.markets.BISQ_LIGHTNING=LN-BTC/Fiat +# suppress inspection "UnusedProperty" +tradeApps.overview.security.BISQ_LIGHTNING=A segurança é baseada em depósitos de segurança, bem como em recursos adicionais relacionados a limites de negociação. Consulte o wiki da Bisq para mais informações. +# suppress inspection "UnusedProperty" +tradeApps.overview.privacy.BISQ_LIGHTNING=Depende do método de transferência Fiat utilizado. Transferências Fiat online geralmente revelam a identidade ao par de negociação. No lado do Lightning, tem melhor privacidade que o Bitcoin on-chain, pois não deixa rastros na Blockchain. No lado do Liquid, tem melhor privacidade que o Bitcoin mainnet devido a transações confidenciais. +# suppress inspection "UnusedProperty" +tradeApps.overview.convenience.BISQ_LIGHTNING=O usuário precisa ter uma pequena quantidade de Bitcoin na Lightning para bloquear o depósito de segurança. Os swaps Submarine e as transações de trade se beneficiam do rápido tempo de confirmação da blockchain de cerca de 1 minuto. O tempo para o trade depende do método de pagamento utilizado e do tempo de resposta do trader. +# suppress inspection "UnusedProperty" +tradeApps.BISQ_LIGHTNING.subHeadline=Combina swaps Submarine da Lightning para Liquid e o protocolo Liquid MuSig +# suppress inspection "UnusedProperty" +tradeApps.BISQ_LIGHTNING.overview=Permite que os traders usem seu Bitcoin off-chain na Lightning para negociar com Fiat com base no protocolo Liquid MuSig. O protocolo é uma cadeia de 3 negociações e 2 protocolos diferentes:\n- Primeiro, os traders trocam seu Bitcoin na Lightning via um swap Submarine reverso para L-BTC (swap Submarine entre Lightning e Liquid). Esse swap acontece com qualquer provedor de liquidez, não com o parceiro de negociação.\n- Em seguida, a negociação ocorre na Liquid usando o protocolo MuSig.\n- Uma vez que a negociação é concluída, o L-BTC é trocado de volta para Lightning por meio de um swap Submarine (novamente com outro trader/provedor de liquidez). +# suppress inspection "UnusedProperty" +tradeApps.BISQ_LIGHTNING.release=Espera-se que o Bisq Lightning esteja pronto para lançamento no Q2/2025. +# suppress inspection "UnusedProperty" +tradeApps.BISQ_LIGHTNING.pro=+ Segurança razoavelmente boa para valores de trade médios\n+ Comparado ao Bisq MuSig, há menores taxas de transação, confirmação mais rápida e melhor privacidade.\n+ Consegue lidar com o sistema legado do mundo Fiat +# suppress inspection "UnusedProperty" +tradeApps.BISQ_LIGHTNING.con=- Ambos os comerciantes precisam ter BTC no Lightning para o depósito de segurança\n- O envolvimento de 2 comerciantes adicionais para os Submarine swaps adiciona complexidade e riscos potenciais (relativamente pequenos).\n- O Liquid é uma side chain federada e não tem o alto nível de resistência à censura como o Bitcoin mainnet.\n- O peg-in do Bitcoin mainnet para o Liquid Bitcoin é sem confiança, embora para o pegging-out de L-BTC para BTC seja necessário autorização da federação.\n- O nó Bisq do criador precisa estar online, pois o processo de oferta é interativo\n- Como a transferência Fiat é feita em sistemas legados, como transferências bancárias, herda todas essas desvantagens, como risco de estorno, transferência lenta, exposição de privacidade ao par quando os detalhes da transferência bancária contêm o nome real. No entanto, essas várias desvantagens podem ser mitigadas por métodos de pagamento que apresentam baixo risco de estorno, são rápidos ou instantâneos e usam IDs de conta ou email em vez de nomes reais. Certos métodos de pagamento evitam completamente o sistema bancário, como dinheiro pelo correio ou negociação cara a cara. + + +###################################################### +## LIQUID_SWAP +###################################################### + +# suppress inspection "UnusedProperty" +tradeApps.LIQUID_SWAP=Trocas Liquid +# suppress inspection "UnusedProperty" +tradeApps.overview.LIQUID_SWAP=Negocie quaisquer ativos baseados em Liquid como USDT e BTC-L com um swap atômico na rede Liquid +# suppress inspection "UnusedProperty" +tradeApps.overview.markets.LIQUID_SWAP=Ativos Liquid +# suppress inspection "UnusedProperty" +tradeApps.overview.security.LIQUID_SWAP=Segurança máxima utilizando contratos inteligentes na mesma blockchain. +# suppress inspection "UnusedProperty" +tradeApps.overview.privacy.LIQUID_SWAP=O Liquid suporta transações confidenciais, não revelando a quantidade na blockchain. +# suppress inspection "UnusedProperty" +tradeApps.overview.convenience.LIQUID_SWAP=O usuário precisa instalar e configurar a carteira Elements para o Liquid. Uma vez instalada, é muito conveniente de usar. +# suppress inspection "UnusedProperty" +tradeApps.LIQUID_SWAP.subHeadline=Protocolo de troca atômica baseado na side chain Liquid para negociar qualquer ativo Liquid +# suppress inspection "UnusedProperty" +tradeApps.LIQUID_SWAP.overview=Para usar trocas Liquid, o usuário precisa instalar e executar a carteira Elements e configurá-la para que possa ser acessada pelo aplicativo Bisq.\n\nO ativo mais usado no Liquid é o USDT (Tether), uma stable coin vinculada ao USD. Embora não seja comparável a algo como o Bitcoin, tem muitas vantagens sobre o USD Fiat, que geralmente envolve transferências bancárias com todos os problemas e inconvenientes do sistema Fiat legado.\n\nL-BTC pode ser usado na outra ponta da negociação, que é um substituto do Bitcoin na cadeia Liquid. Para converter Bitcoin em L-BTC, é necessário enviar Bitcoin para um endereço de peg-in e receberá, após 102 confirmações, L-BTC por isso. Voltar de L-BTC para Bitcoin (peg-out) funciona de forma semelhante, mas requer autorização da federação Liquid, que é um grupo de empresas e indivíduos no espaço Bitcoin. Portanto, não é um processo completamente sem confiança.\n\nDeve-se evitar comparar ativos Liquid com as propriedades do Bitcoin. Ele visa outros casos de uso e não pode atender ao alto nível de descentralização e resistência à censura do Bitcoin. Pode ser visto como uma alternativa a produtos financeiros tradicionais. Ao usar a tecnologia blockchain, evita intermediários clássicos, melhora a segurança e a privacidade e fornece uma melhor experiência ao usuário. +# suppress inspection "UnusedProperty" +tradeApps.LIQUID_SWAP.release=As trocas de Liquid ainda estão em desenvolvimento. Espera-se que seja lançado no Q2/2025. +# suppress inspection "UnusedProperty" +tradeApps.LIQUID_SWAP.pro=+ Transações confidenciais fornecem boa privacidade\n+ Tempo rápido de confirmação de cerca de 1 minuto\n+ Taxas de transação baixas\n+ Adequado para transações de alto valor +# suppress inspection "UnusedProperty" +tradeApps.LIQUID_SWAP.con=- Requer executar a carteira e a blockchain Elements\n- Ambos os comerciantes precisam estar online\n- O peg-out de L-BTC não é sem confiança + + +###################################################### +## BSQ_SWAP +###################################################### + +# suppress inspection "UnusedProperty" +tradeApps.BSQ_SWAP=Trocas BSQ +# suppress inspection "UnusedProperty" +tradeApps.overview.BSQ_SWAP=Negocie Bitcoin e o token BSQ através de swaps atômicos, instantaneamente e com segurança +# suppress inspection "UnusedProperty" +tradeApps.overview.markets.BSQ_SWAP=BSQ/BTC +# suppress inspection "UnusedProperty" +tradeApps.overview.security.BSQ_SWAP=Segurança máxima usando contrato inteligente na mesma blockchain. +# suppress inspection "UnusedProperty" +tradeApps.overview.privacy.BSQ_SWAP=Constrangida pelas limitações de privacidade do Bitcoin e depende do comportamento do usuário (evitar a fusão de moedas de várias negociações aumenta a privacidade). BSQ tem potencialmente menos privacidade devido ao menor conjunto de anonimato. Consulte o wiki da Bisq para mais informações. +# suppress inspection "UnusedProperty" +tradeApps.overview.convenience.BSQ_SWAP=O usuário precisa instalar e configurar a carteira BSQ. Uma vez instalada, é muito conveniente de usar. +# suppress inspection "UnusedProperty" +tradeApps.BSQ_SWAP.subHeadline=Swap atômico entre BSQ (moeda colorida no Bitcoin) e Bitcoin +# suppress inspection "UnusedProperty" +tradeApps.BSQ_SWAP.overview=Mesmo modelo usado no Bisq 1. Como é baseado em uma única transação atômica, é muito seguro.\nSerá necessário executar o nó Bisq 1 com a API DAO habilitada. +# suppress inspection "UnusedProperty" +tradeApps.BSQ_SWAP.release=Espera-se que as trocas de BSQ estejam prontas para lançamento no Q3/2025. +# suppress inspection "UnusedProperty" +tradeApps.BSQ_SWAP.pro=+ Muito seguro\n+ Relativamente rápido, embora só depois da confirmação da blockchain a negociação seja considerada completa\n+ Sem taxa de criação de oferta e sem depósito de segurança necessário +# suppress inspection "UnusedProperty" +tradeApps.BSQ_SWAP.con=- Precisa executar o Bisq 1 para os dados BSQ/DAO\n- Limitado ao mercado BSQ/BTC + + +###################################################### +## LIGHTNING_ESCROW +###################################################### + +# suppress inspection "UnusedProperty" +tradeApps.LIGHTNING_ESCROW=Escrow Lightning +# suppress inspection "UnusedProperty" +tradeApps.overview.LIGHTNING_ESCROW=Protocolo de negociação baseado em escrow na rede Lightning usando criptografia de computação multipartidária +# suppress inspection "UnusedProperty" +tradeApps.overview.markets.LIGHTNING_ESCROW=LN-BTC/Fiat +# suppress inspection "UnusedProperty" +tradeApps.overview.security.LIGHTNING_ESCROW=A segurança é baseada em depósitos de segurança, bem como em recursos adicionais em relação aos limites de negociação. O protocolo usa algumas técnicas criptográficas novas que não são testadas em batalha nem auditadas. Veja o wiki da Bisq para mais informações. +# suppress inspection "UnusedProperty" +tradeApps.overview.privacy.LIGHTNING_ESCROW=Depende do método de transferência Fiat usado. Transferência Fiat online geralmente revela a identidade ao parceiro de negociação. No lado do Bitcoin, é limitada pelas limitações de privacidade do Bitcoin e depende do comportamento do usuário (evitar a fusão de moedas de várias negociações aumenta a privacidade). Veja o wiki da Bisq para mais informações. +# suppress inspection "UnusedProperty" +tradeApps.overview.convenience.LIGHTNING_ESCROW=O usuário precisa ter uma pequena quantidade de Bitcoin para o depósito de segurança. +# suppress inspection "UnusedProperty" +tradeApps.LIGHTNING_ESCROW.subHeadline=Protocolo de três partes para negociar Fiat com Bitcoin na Rede Lightning. +# suppress inspection "UnusedProperty" +tradeApps.LIGHTNING_ESCROW.overview=Baseia-se em múltiplos pagamentos Lightning e divide os segredos dos HTLCs para construir uma configuração segura onde o 3º partido garante que os comerciantes se comportem de forma justa. Utiliza circuitos embaralhados para alcançar a computação segura de múltiplas partes.\n\nO usuário precisa executar um nó Lightning configurado com a aplicação Bisq.\n\nConceitualmente, é semelhante ao protocolo Bisq MuSig, mas em vez da transação MuSig, usa esta configuração de 3 partes e, em vez de Bitcoin na cadeia, usa Bitcoin na Lightning Network. +# suppress inspection "UnusedProperty" +tradeApps.LIGHTNING_ESCROW.release=Espera-se que o Lightning Escrow esteja pronto para lançamento no Q4/2025. +# suppress inspection "UnusedProperty" +tradeApps.LIGHTNING_ESCROW.pro=+ Comparado ao Bisq Easy, as propriedades de segurança são melhores e quantidades maiores podem ser negociadas. As quantidades maiores trazem preços de negociação mais próximos das taxas de mercado.\n+ Os pagamentos em Bitcoin são quase instantâneos\n+ Taxas de transação (encaminhamento) muito baixas +# suppress inspection "UnusedProperty" +tradeApps.LIGHTNING_ESCROW.con=- Precisa executar um nó Lightning\n- Ambos os comerciantes precisam ter BTC (na Lightning) para o depósito de segurança.\n- O nó Bisq do criador precisa estar online, pois o processo de aceitação da oferta é interativo.\n- Como a transferência Fiat é feita em sistemas legados como transferências bancárias, herda todas essas desvantagens, como risco de estorno, transferência lenta, exposição de privacidade ao par quando os detalhes da transferência bancária contêm o nome real. No entanto, esses vários problemas podem ser mitigados usando métodos de pagamento que carregam baixo risco de estorno, são rápidos ou instantâneos e usam IDs de conta ou email em vez de nomes reais. Certos métodos de pagamento evitam completamente o sistema bancário, como dinheiro pelo correio ou negociação cara a cara. + + +###################################################### +## MONERO_SWAP +###################################################### + +# suppress inspection "UnusedProperty" +tradeApps.MONERO_SWAP=Trocas Monero +# suppress inspection "UnusedProperty" +tradeApps.overview.MONERO_SWAP=Negocie Bitcoin e Monero usando um swap atômico entre cadeias +# suppress inspection "UnusedProperty" +tradeApps.overview.markets.MONERO_SWAP=XMR/BTC +# suppress inspection "UnusedProperty" +tradeApps.overview.security.MONERO_SWAP=Segurança muito alta usando assinaturas adaptadoras para trocar atomicamente entre as blockchains Monero e Bitcoin. +# suppress inspection "UnusedProperty" +tradeApps.overview.privacy.MONERO_SWAP=Privacidade muito alta no lado do Monero devido à sua privacidade intrínseca forte. No lado do Bitcoin, é limitada pelas limitações de privacidade do Bitcoin. +# suppress inspection "UnusedProperty" +tradeApps.overview.convenience.MONERO_SWAP=O usuário precisa instalar o daemon de troca Farcaster e um nó completo Monero e Bitcoin. Uma vez instalado, é muito conveniente. +# suppress inspection "UnusedProperty" +tradeApps.MONERO_SWAP.subHeadline=Protocolo de swap atômico entre cadeias para negociar Bitcoin com Monero +# suppress inspection "UnusedProperty" +tradeApps.MONERO_SWAP.overview=Baseado no projeto Farcaster (financiado pela comunidade Monero) usando contratos de tempo limitado de hash (HTLC), assinaturas adaptadoras e prova de conhecimento zero para trocar atomicamente Bitcoin e Monero.\n\nO usuário precisa instalar e executar um nó Bitcoin, um nó Monero e o daemon Farcaster. Durante a troca, os nós de ambos os comerciantes precisam estar online. O esforço extra ao usar esse protocolo compensa com um nível muito alto de segurança. No entanto, os usuários devem se familiarizar com os detalhes desse conceito e estar cientes de que existem casos extremos que carregam alguns pequenos riscos. +# suppress inspection "UnusedProperty" +tradeApps.MONERO_SWAP.release=Espera-se que as trocas de Monero estejam prontas para lançamento no Q3/2025. +# suppress inspection "UnusedProperty" +tradeApps.MONERO_SWAP.pro=+ Muito seguro\n+ Privacidade decente. No lado do Bitcoin, herda as propriedades de privacidade do Bitcoin. No lado do Monero, beneficia-se da alta privacidade do Monero.\n+ Adequado para transações de alto valor +# suppress inspection "UnusedProperty" +tradeApps.MONERO_SWAP.con=- Requer algumas habilidades técnicas e experiência para executar a infraestrutura necessária\n- O tempo de confirmação é baseado nas confirmações em ambas as blockchains, que geralmente serão cerca de 20-30 min.\n- As taxas de transação no lado do Bitcoin podem ser não triviais em caso de alta congestão da blockchain (embora raro)\n- Ambos os comerciantes precisam estar online\n- Requer muito armazenamento em disco rápido para os nós diff --git a/pocs/android_only_m2_j17jars/app/src/main/resources/user.properties b/pocs/android_only_m2_j17jars/app/src/main/resources/user.properties new file mode 100644 index 00000000..587fde37 --- /dev/null +++ b/pocs/android_only_m2_j17jars/app/src/main/resources/user.properties @@ -0,0 +1,129 @@ +################################################################################ +# +# User module +# +################################################################################ + +user.userProfile.tooltip=Nickname: {0}\nBot ID: {1}\nProfile ID: {2}\n{3} +user.userProfile.tooltip.banned=This profile is banned! +user.userProfile.userName.banned=[Banned] {0} +user.userProfile.livenessState=Last user activity: {0} ago +user.userProfile.livenessState.ageDisplay={0} ago +user.userProfile.version=Version: {0} +# Dynamic values using TransportType.name() +# suppress inspection "UnusedProperty" +user.userProfile.addressByTransport.CLEAR=Clear net address: {0} +# suppress inspection "UnusedProperty" +user.userProfile.addressByTransport.TOR=Tor address: {0} +# suppress inspection "UnusedProperty" +user.userProfile.addressByTransport.I2P=I2P address: {0} + + +################################################################################ +# +# Desktop module / User (options) section +# +################################################################################ + +user.userProfile=User profile +user.password=Password +user.paymentAccounts=Payment accounts + + +################################################################################ +# User profile +################################################################################ + +user.bondedRoles.userProfile.select=Select user profile +user.bondedRoles.userProfile.select.invalid=Please pick a user profile from the list +user.userProfile.comboBox.description=User profile +user.userProfile.nymId=Bot ID +user.userProfile.nymId.tooltip=\ + The 'Bot ID' is generated from the hash of the public key of that\n\ + user profiles identity.\n\ + It is appended to the nickname in case there are multiple user profiles in\n\ + the network with the same nickname to distinct clearly between those profiles. +user.userProfile.profileId=Profile ID +user.userProfile.profileId.tooltip=\ + The 'Profile ID' is the hash of the public key of that user profiles identity\n\ + encoded as hexadecimal string. +user.userProfile.profileAge=Profile age +user.userProfile.profileAge.tooltip=The 'Profile age' is the age in days of that user profile. +user.userProfile.livenessState.description=Last user activity +user.userProfile.livenessState.tooltip=The time passed since the user profile has been republished to the network triggered by user activity like mouse movements. +user.userProfile.reputation=Reputation +user.userProfile.statement=Statement +user.userProfile.statement.prompt=Enter optional statement +user.userProfile.statement.tooLong=Statement must not be longer than {0} characters +user.userProfile.terms=Trade terms +user.userProfile.terms.prompt=Enter optional trade terms +user.userProfile.terms.tooLong=Trade terms must not be longer than {0} characters + +user.userProfile.createNewProfile=Create new profile +user.userProfile.learnMore=Why create a new profile? +user.userProfile.deleteProfile=Delete profile +user.userProfile.deleteProfile.popup.warning=Do you really want to delete {0}? You cannot un-do this operation. +user.userProfile.deleteProfile.popup.warning.yes=Yes, delete profile +user.userProfile.deleteProfile.cannotDelete=Deleting user profile is not permitted\n\n\ + To delete this profile, first:\n\ + - Delete all messages posted with this profile\n\ + - Close all private channels for this profile\n\ + - Make sure to have at least one more profile + +user.userProfile.popup.noSelectedProfile=Please pick a user profile from the list +user.userProfile.save.popup.noChangesToBeSaved=There are no new changes to be saved + + +################################################################################ +# Create user profile +################################################################################ + +user.userProfile.new.step2.headline=Complete your profile +user.userProfile.new.step2.subTitle=You can optionally add a personalized statement to your profile and set your trade terms. +user.userProfile.new.statement=Statement +user.userProfile.new.statement.prompt=Optional add statement +user.userProfile.new.terms=Your trade terms +user.userProfile.new.terms.prompt=Optional set trade terms + + +################################################################################ +# Password +################################################################################ + +user.password.headline.setPassword=Set password protection +user.password.headline.removePassword=Remove password protection +user.password.button.savePassword=Save password +user.password.button.removePassword=Remove password +user.password.enterPassword=Enter password (min. 8 characters) +user.password.confirmPassword=Confirm password +user.password.savePassword.success=Password protection enabled. +user.password.removePassword.success=Password protection removed. +user.password.removePassword.failed=Invalid password. + + +################################################################################ +# Payment accounts +################################################################################ + +user.paymentAccounts.headline=Your payment accounts +user.paymentAccounts.noAccounts.headline=Your payment accounts +user.paymentAccounts.noAccounts.info=You haven't set up any accounts yet. +user.paymentAccounts.noAccounts.whySetup=Why is setting up an account useful? +user.paymentAccounts.noAccounts.whySetup.info=When you're selling Bitcoin, you need to provide your payment account \ + details to the buyer for receiving the fiat payment. Setting up accounts in advance allows for quick and \ + convenient access to this information during the trade. +user.paymentAccounts.noAccounts.whySetup.note=Background information:\n\ + Your account data is exclusively stored locally on your \ + computer and is shared with your trade partner only when you decide to share it. +user.paymentAccounts.accountData=Payment account info +user.paymentAccounts.selectAccount=Select payment account +user.paymentAccounts.createAccount=Create new payment account +user.paymentAccounts.deleteAccount=Delete payment account +user.paymentAccounts.createAccount.headline=Add new payment account +user.paymentAccounts.createAccount.subtitle=The payment account is stored only locally on your computer and \ + only sent to your trade peer if you decide to do so. +user.paymentAccounts.createAccount.accountName=Payment account name +user.paymentAccounts.createAccount.accountName.prompt=Set a unique name for your payment account +user.paymentAccounts.createAccount.accountData.prompt=Enter the payment account info (e.g. bank account data) you \ + want to share with a potential Bitcoin buyer so that they can transfer you the national currency amount. +user.paymentAccounts.createAccount.sameName=This account name is already used. Please use a different name. diff --git a/pocs/android_only_m2_j17jars/app/src/main/resources/user_cs.properties b/pocs/android_only_m2_j17jars/app/src/main/resources/user_cs.properties new file mode 100644 index 00000000..9db41365 --- /dev/null +++ b/pocs/android_only_m2_j17jars/app/src/main/resources/user_cs.properties @@ -0,0 +1,113 @@ +################################################################################ +# +# User module +# +################################################################################ + +user.userProfile.tooltip=Přezdívka: {0}\nBot ID: {1}\nProfilové ID: {2}\n{3} +user.userProfile.tooltip.banned=Tento profil je zakázán! +user.userProfile.userName.banned=[Zakázáno] {0} +user.userProfile.livenessState=Poslední aktivita uživatele: před {0} +user.userProfile.livenessState.ageDisplay=před {0} +user.userProfile.version=Verze: {0} +# Dynamic values using TransportType.name() +# suppress inspection "UnusedProperty" +user.userProfile.addressByTransport.CLEAR=Clear netová adresa: {0} +# suppress inspection "UnusedProperty" +user.userProfile.addressByTransport.TOR=Torová adresa: {0} +# suppress inspection "UnusedProperty" +user.userProfile.addressByTransport.I2P=I2P adresa: {0} + + +################################################################################ +# +# Desktop module / User (options) section +# +################################################################################ + +user.userProfile=Uživatelský profil +user.password=Heslo +user.paymentAccounts=Platební účty + + +################################################################################ +# User profile +################################################################################ + +user.bondedRoles.userProfile.select=Vyberte uživatelský profil +user.bondedRoles.userProfile.select.invalid=Prosím, vyberte uživatelský profil ze seznamu +user.userProfile.comboBox.description=Uživatelský profil +user.userProfile.nymId=Bot ID +user.userProfile.nymId.tooltip='Bot ID' je generováno z hashe veřejného klíče tohoto\nuživatelského profilu.\nJe přidáno k přezdívce v případě, že v síti existují více uživatelských profilů\ns tímto stejným jménem, aby bylo možné mezi nimi jasně rozlišovat. +user.userProfile.profileId=ID profilu +user.userProfile.profileId.tooltip='ID profilu' je hash veřejného klíče identity tohoto uživatelského profilu\nzakódovaný jako hexadecimální řetězec. +user.userProfile.profileAge=Stáří profilu +user.userProfile.profileAge.tooltip=Stáří profilu v dnech. +user.userProfile.livenessState.description=Poslední aktivita uživatele +user.userProfile.livenessState.tooltip=Čas, který uplynul od opětovného zveřejnění uživatelského profilu v síti, vyvolaný uživatelskou aktivitou, jako je pohyb myši. +user.userProfile.reputation=Reputace +user.userProfile.statement=Prohlášení +user.userProfile.statement.prompt=Zadejte volitelné prohlášení +user.userProfile.statement.tooLong=Prohlášení nesmí být delší než {0} znaků +user.userProfile.terms=Obchodní podmínky +user.userProfile.terms.prompt=Zadejte volitelné obchodní podmínky +user.userProfile.terms.tooLong=Obchodní podmínky nesmí být delší než {0} znaků + +user.userProfile.createNewProfile=Vytvořit nový profil +user.userProfile.learnMore=Proč vytvořit nový profil? +user.userProfile.deleteProfile=Smazat profil +user.userProfile.deleteProfile.popup.warning=Opravdu chcete smazat {0}? Tuto operaci nelze vrátit zpět. +user.userProfile.deleteProfile.popup.warning.yes=Ano, smazat profil +user.userProfile.deleteProfile.cannotDelete=Smazání uživatelského profilu není povoleno\n\nPro smazání tohoto profilu nejprve:\n- Smažte všechny zprávy odeslané tímto profilem\n- Uzavřete všechny privátní kanály tohoto profilu\n- Ujistěte se, že máte alespoň jeden další profil + +user.userProfile.popup.noSelectedProfile=Prosím, vyberte uživatelský profil ze seznamu +user.userProfile.save.popup.noChangesToBeSaved=Nejsou žádné nové změny k uložení + + +################################################################################ +# Create user profile +################################################################################ + +user.userProfile.new.step2.headline=Complete your profile +user.userProfile.new.step2.subTitle=You can optionally add a personalized statement to your profile and set your trade terms. +user.userProfile.new.statement=Statement +user.userProfile.new.statement.prompt=Volitelné přidat prohlášení +user.userProfile.new.terms=Vaše obchodní podmínky +user.userProfile.new.terms.prompt=Volitelně nastavit obchodní podmínky + + +################################################################################ +# Password +################################################################################ + +user.password.headline.setPassword=Nastavte ochranu heslem +user.password.headline.removePassword=Odebrat ochranu heslem +user.password.button.savePassword=Uložit heslo +user.password.button.removePassword=Odebrat heslo +user.password.enterPassword=Zadejte heslo (min. 8 znaků) +user.password.confirmPassword=Potvrďte heslo +user.password.savePassword.success=Ochrana heslem byla povolena. +user.password.removePassword.success=Ochrana heslem byla odebrána. +user.password.removePassword.failed=Neplatné heslo. + + +################################################################################ +# Payment accounts +################################################################################ + +user.paymentAccounts.headline=Vaše platební účty +user.paymentAccounts.noAccounts.headline=Vaše platební účty +user.paymentAccounts.noAccounts.info=Zatím jste nevytvořili žádné účty. +user.paymentAccounts.noAccounts.whySetup=Proč je nastavení účtu užitečné? +user.paymentAccounts.noAccounts.whySetup.info=Pokud prodáváte Bitcoin, musíte kupujícímu poskytnout údaje o svém platebním účtu pro přijetí Fiat platby. Předem nastavené účty umožňují rychlý a pohodlný přístup k těmto informacím během obchodu. +user.paymentAccounts.noAccounts.whySetup.note=Informace k pozadí:\nVaše údaje o účtu jsou uchovávány výhradně lokálně na vašem počítači a sdíleny s vaším obchodním partnerem pouze tehdy, pokud se rozhodnete je sdílet. +user.paymentAccounts.accountData=Informace o platebním účtu +user.paymentAccounts.selectAccount=Vyberte platební účet +user.paymentAccounts.createAccount=Vytvořit nový platební účet +user.paymentAccounts.deleteAccount=Smazat platební účet +user.paymentAccounts.createAccount.headline=Přidat nový platební účet +user.paymentAccounts.createAccount.subtitle=Informace o platebním účtu je uchovávána pouze lokálně na vašem počítači a je sdílena pouze s vaším obchodním partnerem, pokud se rozhodnete tak učinit. +user.paymentAccounts.createAccount.accountName=Název platebního účtu +user.paymentAccounts.createAccount.accountName.prompt=Nastavte jedinečný název pro váš platební účet +user.paymentAccounts.createAccount.accountData.prompt=Zadejte informace o platebním účtu (například údaje o bankovním účtu), které chcete sdílet s potenciálním kupujícím Bitcoinu, aby vám mohl převést částku v národní měně. +user.paymentAccounts.createAccount.sameName=Tento název účtu je již používán. Použijte prosím jiný název. diff --git a/pocs/android_only_m2_j17jars/app/src/main/resources/user_de.properties b/pocs/android_only_m2_j17jars/app/src/main/resources/user_de.properties new file mode 100644 index 00000000..bebdc5dc --- /dev/null +++ b/pocs/android_only_m2_j17jars/app/src/main/resources/user_de.properties @@ -0,0 +1,113 @@ +################################################################################ +# +# User module +# +################################################################################ + +user.userProfile.tooltip=Spitzname: {0}\nBot-ID: {1}\nProfil-ID: {2}\n{3} +user.userProfile.tooltip.banned=Dieses Profil ist gesperrt! +user.userProfile.userName.banned=[Gesperrt] {0} +user.userProfile.livenessState=Zuletzt online: Vor {0} +user.userProfile.livenessState.ageDisplay=Vor {0} +user.userProfile.version=Version: {0} +# Dynamic values using TransportType.name() +# suppress inspection "UnusedProperty" +user.userProfile.addressByTransport.CLEAR=Clear net-Adresse: {0} +# suppress inspection "UnusedProperty" +user.userProfile.addressByTransport.TOR=Tor-Adresse: {0} +# suppress inspection "UnusedProperty" +user.userProfile.addressByTransport.I2P=I2P-Adresse: {0} + + +################################################################################ +# +# Desktop module / User (options) section +# +################################################################################ + +user.userProfile=Benutzerprofil +user.password=Passwort +user.paymentAccounts=Zahlungskonten + + +################################################################################ +# User profile +################################################################################ + +user.bondedRoles.userProfile.select=Wähle Benutzerprofil +user.bondedRoles.userProfile.select.invalid=Bitte wählen Sie ein Benutzerprofil aus der Liste +user.userProfile.comboBox.description=Benutzerprofil +user.userProfile.nymId=Bot-ID +user.userProfile.nymId.tooltip=Die 'Bot-ID' wird aus dem Hash des öffentlichen Schlüssels der Identität dieses\nBenutzerprofil erstellt.\nSie wird an den Spitznamen angehängt, falls es mehrere Benutzerprofile im Netzwerk mit demselben\nSpitznamen gibt, um diese Profile eindeutig voneinander zu unterscheiden. +user.userProfile.profileId=Profil-ID +user.userProfile.profileId.tooltip=Die 'Profil-ID' ist der Hash des öffentlichen Schlüssels der Identität dieses Benutzerprofils,\nkodiert als hexadezimaler String. +user.userProfile.profileAge=Profilalter +user.userProfile.profileAge.tooltip=Das 'Profilalter' ist das Alter in Tagen dieses Benutzerprofils. +user.userProfile.livenessState.description=Letzte Benutzeraktivität +user.userProfile.livenessState.tooltip=Die vergangene Zeit seitdem das Benutzerprofil aufgrund von Benutzeraktivitäten wie Mausbewegungen erneut im Netzwerk veröffentlicht wurde. +user.userProfile.reputation=Reputation +user.userProfile.statement=Aussage +user.userProfile.statement.prompt=Geben Sie optional eine Aussage ein +user.userProfile.statement.tooLong=Aussage darf nicht länger als {0} Zeichen sein +user.userProfile.terms=Handelsbedingungen +user.userProfile.terms.prompt=Geben Sie optional Handelsbedingungen ein +user.userProfile.terms.tooLong=Handelsbedingungen dürfen nicht länger als {0} Zeichen sein + +user.userProfile.createNewProfile=Neues Profil erstellen +user.userProfile.learnMore=Warum ein neues Profil erstellen? +user.userProfile.deleteProfile=Profil löschen +user.userProfile.deleteProfile.popup.warning=Wollen Sie {0} wirklich löschen? Dieser Vorgang kann nicht rückgängig gemacht werden. +user.userProfile.deleteProfile.popup.warning.yes=Ja, Profil löschen +user.userProfile.deleteProfile.cannotDelete=Löschen des Benutzerprofils ist nicht erlaubt\n\nUm dieses Profil zu löschen, führen Sie folgende Schritte aus:\n- Löschen Sie alle mit diesem Profil verfassten Nachrichten\n- Schließen Sie alle privaten Kanäle für dieses Profil\n- Stellen Sie sicher, dass Sie mindestens ein weiteres Profil besitzen + +user.userProfile.popup.noSelectedProfile=Bitte wählen Sie ein Benutzerprofil aus der Liste +user.userProfile.save.popup.noChangesToBeSaved=Es gibt keine neuen Änderungen, die gespeichert werden müssen + + +################################################################################ +# Create user profile +################################################################################ + +user.userProfile.new.step2.headline=Vervollständige dein Profil +user.userProfile.new.step2.subTitle=Sie können optional eine personalisierte Aussage zu Ihrem Profil hinzufügen und Ihre Handelsbedingungen festlegen. +user.userProfile.new.statement=Aussage +user.userProfile.new.statement.prompt=Optionale Aussage hinzufügen +user.userProfile.new.terms=Ihre Handelsbedingungen +user.userProfile.new.terms.prompt=Optionale Handelsbedingungen festlegen + + +################################################################################ +# Password +################################################################################ + +user.password.headline.setPassword=Passwortschutz festlegen +user.password.headline.removePassword=Passwortschutz entfernen +user.password.button.savePassword=Passwort speichern +user.password.button.removePassword=Passwortschutz entfernen +user.password.enterPassword=Passwort eingeben (min. 8 Zeichen) +user.password.confirmPassword=Passwort bestätigen +user.password.savePassword.success=Passwortschutz aktiviert. +user.password.removePassword.success=Passwortschutz entfernt. +user.password.removePassword.failed=Ungültiges Passwort. + + +################################################################################ +# Payment accounts +################################################################################ + +user.paymentAccounts.headline=Ihre Zahlungskonten +user.paymentAccounts.noAccounts.headline=Ihre Zahlungskonten +user.paymentAccounts.noAccounts.info=Sie haben noch keine Zahlungskonten eingerichtet. +user.paymentAccounts.noAccounts.whySetup=Wieso ist die Einrichtung eines Kontos nützlich? +user.paymentAccounts.noAccounts.whySetup.info=Wenn Sie Bitcoin verkaufen, müssen Sie dem Käufer Ihre Kontodaten für den Erhalt der Fiat-Zahlung bereitstellen. Die vorherige Einrichtung von Konten ermöglicht einen schnellen und bequemen Zugriff auf diese Informationen während des Handels. +user.paymentAccounts.noAccounts.whySetup.note=Hintergrundinformationen:\nIhre Kontodaten werden ausschließlich lokal auf Ihrem Computer gespeichert und werden nur mit Ihrem Handelspartner geteilt, wenn Sie sich dafür entscheiden. +user.paymentAccounts.accountData=Informationen zum Zahlungskonto +user.paymentAccounts.selectAccount=Zahlungskonto auswählen +user.paymentAccounts.createAccount=Neues Zahlungskonto erstellen +user.paymentAccounts.deleteAccount=Zahlungskonto löschen +user.paymentAccounts.createAccount.headline=Neues Zahlungskonto hinzufügen +user.paymentAccounts.createAccount.subtitle=Das Zahlungskonto wird ausschließlich lokal auf Ihrem Computer gespeichert und nur an Ihren Handelspartner gesendet, wenn Sie sich dazu entscheiden. +user.paymentAccounts.createAccount.accountName=Name des Zahlungskontos +user.paymentAccounts.createAccount.accountName.prompt=Legen Sie einen eindeutigen Namen für Ihr Zahlungskonto fest +user.paymentAccounts.createAccount.accountData.prompt=Geben Sie die Informationen zum Zahlungskonto ein (z. B. Bankkontodaten), die Sie einem potenziellen Bitcoin-Käufer zur Verfügung stellen möchten, damit dieser Ihnen den Betrag in nationaler Währung überweisen kann. +user.paymentAccounts.createAccount.sameName=Dieser Name wird bereits verwendet. Bitte wählen Sie einen anderen Namen. diff --git a/pocs/android_only_m2_j17jars/app/src/main/resources/user_es.properties b/pocs/android_only_m2_j17jars/app/src/main/resources/user_es.properties new file mode 100644 index 00000000..a8803ec0 --- /dev/null +++ b/pocs/android_only_m2_j17jars/app/src/main/resources/user_es.properties @@ -0,0 +1,113 @@ +################################################################################ +# +# User module +# +################################################################################ + +user.userProfile.tooltip=Apodo: {0}\nID de Bot: {1}\nID de Perfil: {2}\n{3} +user.userProfile.tooltip.banned=¡Este perfil está baneado! +user.userProfile.userName.banned=[Baneado] {0} +user.userProfile.livenessState=Última actividad del usuario: hace {0} +user.userProfile.livenessState.ageDisplay=hace {0} +user.userProfile.version=Versión: {0} +# Dynamic values using TransportType.name() +# suppress inspection "UnusedProperty" +user.userProfile.addressByTransport.CLEAR=Dirección clearnet: {0} +# suppress inspection "UnusedProperty" +user.userProfile.addressByTransport.TOR=Dirección Tor: {0} +# suppress inspection "UnusedProperty" +user.userProfile.addressByTransport.I2P=Dirección I2P: {0} + + +################################################################################ +# +# Desktop module / User (options) section +# +################################################################################ + +user.userProfile=Perfil de usuario +user.password=Contraseña +user.paymentAccounts=Cuentas de pago + + +################################################################################ +# User profile +################################################################################ + +user.bondedRoles.userProfile.select=Seleccionar perfil de usuario +user.bondedRoles.userProfile.select.invalid=Por favor, elija un perfil de usuario de la lista +user.userProfile.comboBox.description=Perfil de usuario +user.userProfile.nymId=ID de Bot +user.userProfile.nymId.tooltip=El 'ID de Bot' se genera a partir del hash de la clave pública de la\nidentidad de ese perfil de usuario.\nSe añade al apodo en caso de que haya múltiples perfiles de usuario en\nla red con el mismo apodo para distinguir claramente entre esos perfiles. +user.userProfile.profileId=ID de Perfil +user.userProfile.profileId.tooltip=El 'ID de Perfil' es el hash de la clave pública de la identidad de ese perfil de usuario\ncodificado como carácteres hexadecimales. +user.userProfile.profileAge=Edad del perfil +user.userProfile.profileAge.tooltip=La 'edad del perfil' es la antigüedad en días de ese perfil de usuario. +user.userProfile.livenessState.description=Última actividad del usuario +user.userProfile.livenessState.tooltip=El tiempo transcurrido desde que el perfil de usuario fue republicado en la red, desencadenado por la actividad del usuario como movimientos del mouse. +user.userProfile.reputation=Reputación +user.userProfile.statement=Estado +user.userProfile.statement.prompt=Introduzca un estado opcional +user.userProfile.statement.tooLong=El estado no debe tener más de {0} caracteres +user.userProfile.terms=Términos de compra-venta +user.userProfile.terms.prompt=Introduce términos de compra-venta opcionales +user.userProfile.terms.tooLong=Los términos de compra-venta no deben ocupar más de {0} caracteres + +user.userProfile.createNewProfile=Crear nuevo perfil +user.userProfile.learnMore=¿Por qué crear un nuevo perfil? +user.userProfile.deleteProfile=Eliminar perfil +user.userProfile.deleteProfile.popup.warning=¿Realmente deseas eliminar {0}? Esta operación no se puede deshacer. +user.userProfile.deleteProfile.popup.warning.yes=Sí, eliminar perfil +user.userProfile.deleteProfile.cannotDelete=No está permitido eliminar el perfil de usuario\n\nPara eliminar este perfil, primero:\n- Elimine todos los mensajes publicados con este perfil\n- Cierre todos los canales privados para este perfil\n- Asegúrese de tener al menos un perfil más + +user.userProfile.popup.noSelectedProfile=Por favor, elija un perfil de usuario de la lista +user.userProfile.save.popup.noChangesToBeSaved=No hay cambios nuevos que guardar + + +################################################################################ +# Create user profile +################################################################################ + +user.userProfile.new.step2.headline=Completa tu perfil +user.userProfile.new.step2.subTitle=Opcionalmente puedes agregar un estado personalizado en tu perfil y establecer tus términos de compra-venta +user.userProfile.new.statement=Estado +user.userProfile.new.statement.prompt=Agregar estado opcional +user.userProfile.new.terms=Tus términos de compra-venta +user.userProfile.new.terms.prompt=Establecer términos de compra-venta opcionales + + +################################################################################ +# Password +################################################################################ + +user.password.headline.setPassword=Establecer protección de contraseña +user.password.headline.removePassword=Eliminar protección de contraseña +user.password.button.savePassword=Guardar contraseña +user.password.button.removePassword=Eliminar contraseña +user.password.enterPassword=Introduce la contraseña (mín. 8 caracteres) +user.password.confirmPassword=Confirmar contraseña +user.password.savePassword.success=Protección de contraseña activada. +user.password.removePassword.success=Protección de contraseña eliminada. +user.password.removePassword.failed=Contraseña inválida. + + +################################################################################ +# Payment accounts +################################################################################ + +user.paymentAccounts.headline=Tus cuentas de pago +user.paymentAccounts.noAccounts.headline=Tus cuentas de pago +user.paymentAccounts.noAccounts.info=No has configurado ninguna cuenta todavía. +user.paymentAccounts.noAccounts.whySetup=¿Por qué es útil configurar una cuenta? +user.paymentAccounts.noAccounts.whySetup.info=Cuando vendes Bitcoin, necesitas proporcionar tus datos de cuenta de pago al comprador para recibir el pago en Fiat. Configurar cuentas con anticipación permite un acceso rápido y conveniente a esta información durante la compra-venta. +user.paymentAccounts.noAccounts.whySetup.note=Nota informativa:\nLos datos de tu cuenta se almacenan exclusivamente localmente en tu ordenador y se comparten con tu contraparte solo si tú decides compartirlos. +user.paymentAccounts.accountData=Información de la cuenta de pago +user.paymentAccounts.selectAccount=Seleccionar cuenta de pago +user.paymentAccounts.createAccount=Crear nueva cuenta de pago +user.paymentAccounts.deleteAccount=Eliminar cuenta de pago +user.paymentAccounts.createAccount.headline=Agregar nueva cuenta de pago +user.paymentAccounts.createAccount.subtitle=La cuenta de pago se almacena exclusivamente localmente en tu ordenador y se comparte con tu contraparte solo si tú decides compartirlos. +user.paymentAccounts.createAccount.accountName=Nombre de la cuenta de pago +user.paymentAccounts.createAccount.accountName.prompt=Establece un nombre único para tu cuenta de pago +user.paymentAccounts.createAccount.accountData.prompt=Introduce la información de la cuenta de pago (por ejemplo, datos bancarios) que quieres compartir con un posible comprador de Bitcoin para que puedan transferirte el importe en moneda nacional. +user.paymentAccounts.createAccount.sameName=Este nombre de cuenta ya está en uso. Por favor, usa un nombre diferente. diff --git a/pocs/android_only_m2_j17jars/app/src/main/resources/user_it.properties b/pocs/android_only_m2_j17jars/app/src/main/resources/user_it.properties new file mode 100644 index 00000000..3c2db351 --- /dev/null +++ b/pocs/android_only_m2_j17jars/app/src/main/resources/user_it.properties @@ -0,0 +1,113 @@ +################################################################################ +# +# User module +# +################################################################################ + +user.userProfile.tooltip=Nickname: {0}\nID Bot: {1}\nID Profilo: {2}\n{3} +user.userProfile.tooltip.banned=Questo profilo è stato bannato! +user.userProfile.userName.banned=[Bannato] {0} +user.userProfile.livenessState=Ultima attività dell'utente: {0} fa +user.userProfile.livenessState.ageDisplay={0} fa +user.userProfile.version=Versione: {0} +# Dynamic values using TransportType.name() +# suppress inspection "UnusedProperty" +user.userProfile.addressByTransport.CLEAR=Clear net address: {0} +# suppress inspection "UnusedProperty" +user.userProfile.addressByTransport.TOR=Tor address: {0} +# suppress inspection "UnusedProperty" +user.userProfile.addressByTransport.I2P=I2P address: {0} + + +################################################################################ +# +# Desktop module / User (options) section +# +################################################################################ + +user.userProfile=Profilo utente +user.password=Password +user.paymentAccounts=Account di pagamento + + +################################################################################ +# User profile +################################################################################ + +user.bondedRoles.userProfile.select=Seleziona profilo utente +user.bondedRoles.userProfile.select.invalid=Si prega di selezionare un profilo utente dalla lista +user.userProfile.comboBox.description=Profilo utente +user.userProfile.nymId=ID Bot +user.userProfile.nymId.tooltip=L'ID Bot viene generato dall'hash della chiave pubblica dell'identità di quel\nprofilo utente.\nViene aggiunto al nickname nel caso ci siano più profili utente nella rete con lo stesso nickname per distinguerli chiaramente. +user.userProfile.profileId=ID Profilo +user.userProfile.profileId.tooltip=L'ID Profilo è l'hash della chiave pubblica dell'identità di quel profilo utente\ncodificato come stringa esadecimale. +user.userProfile.profileAge=Età del profilo +user.userProfile.profileAge.tooltip=L'età del profilo è il numero di giorni del profilo utente. +user.userProfile.livenessState.description=Ultima attività dell'utente +user.userProfile.livenessState.tooltip=Il tempo trascorso dall'ultima pubblicazione del profilo utente sulla rete, attivata da attività dell'utente come i movimenti del mouse. +user.userProfile.reputation=Reputazione +user.userProfile.statement=Affermazione +user.userProfile.statement.prompt=Inserire una dichiarazione facoltativa +user.userProfile.statement.tooLong=La dichiarazione non deve superare {0} caratteri +user.userProfile.terms=Termini di scambio +user.userProfile.terms.prompt=Inserire termini di scambio facoltativi +user.userProfile.terms.tooLong=I termini di scambio non devono superare {0} caratteri + +user.userProfile.createNewProfile=Crea nuovo profilo +user.userProfile.learnMore=Perché creare un nuovo profilo? +user.userProfile.deleteProfile=Elimina profilo +user.userProfile.deleteProfile.popup.warning=Vuoi davvero eliminare {0}? Questa operazione non può essere annullata. +user.userProfile.deleteProfile.popup.warning.yes=Sì, elimina il profilo +user.userProfile.deleteProfile.cannotDelete=Eliminare il profilo utente non è consentito\n\nPer eliminare questo profilo, prima:\n- Elimina tutti i messaggi pubblicati con questo profilo\n- Chiudi tutti i canali privati per questo profilo\n- Assicurati di avere almeno un altro profilo + +user.userProfile.popup.noSelectedProfile=Si prega di selezionare un profilo utente dalla lista +user.userProfile.save.popup.noChangesToBeSaved=Non ci sono nuove modifiche da salvare + + +################################################################################ +# Create user profile +################################################################################ + +user.userProfile.new.step2.headline=Completa il tuo profilo +user.userProfile.new.step2.subTitle=Puoi aggiungere facoltativamente una dichiarazione personalizzata al tuo profilo e impostare le tue condizioni di scambio. +user.userProfile.new.statement=Dichiarazione +user.userProfile.new.statement.prompt=Aggiungi una dichiarazione facoltativa +user.userProfile.new.terms=Termini di scambio +user.userProfile.new.terms.prompt=Imposta facoltativamente i termini di scambio + + +################################################################################ +# Password +################################################################################ + +user.password.headline.setPassword=Imposta protezione password +user.password.headline.removePassword=Rimuovi protezione password +user.password.button.savePassword=Salva password +user.password.button.removePassword=Rimuovi password +user.password.enterPassword=Inserisci la password (min. 8 caratteri) +user.password.confirmPassword=Conferma password +user.password.savePassword.success=Protezione password abilitata. +user.password.removePassword.success=Protezione password rimossa. +user.password.removePassword.failed=Password non valida. + + +################################################################################ +# Payment accounts +################################################################################ + +user.paymentAccounts.headline=I tuoi conti di pagamento +user.paymentAccounts.noAccounts.headline=I tuoi conti di pagamento +user.paymentAccounts.noAccounts.info=Non hai ancora configurato nessun conto. +user.paymentAccounts.noAccounts.whySetup=Perché configurare un account è utile? +user.paymentAccounts.noAccounts.whySetup.info=Quando vendi Bitcoin, devi fornire i dettagli del tuo conto di pagamento all'acquirente per ricevere il pagamento in valuta fiat. Configurare gli account in anticipo consente un accesso rapido e comodo a queste informazioni durante lo scambio. +user.paymentAccounts.noAccounts.whySetup.note=Informazioni di base:\nI dati del tuo account sono memorizzati esclusivamente localmente sul tuo computer e vengono condivisi con il tuo partner di scambio solo quando decidi di farlo. +user.paymentAccounts.accountData=Informazioni del conto di pagamento +user.paymentAccounts.selectAccount=Seleziona un conto di pagamento +user.paymentAccounts.createAccount=Crea un nuovo conto di pagamento +user.paymentAccounts.deleteAccount=Elimina il conto di pagamento +user.paymentAccounts.createAccount.headline=Aggiungi un nuovo conto di pagamento +user.paymentAccounts.createAccount.subtitle=Il conto di pagamento viene memorizzato solo localmente sul tuo computer e inviato solo al tuo partner di scambio se decidi di farlo. +user.paymentAccounts.createAccount.accountName=Nome del conto di pagamento +user.paymentAccounts.createAccount.accountName.prompt=Imposta un nome univoco per il tuo conto di pagamento +user.paymentAccounts.createAccount.accountData.prompt=Inserisci le informazioni del conto di pagamento (ad es. dati del conto bancario) che desideri condividere con un potenziale acquirente di Bitcoin in modo che possano trasferirti l'importo della valuta nazionale. +user.paymentAccounts.createAccount.sameName=Questo nome del conto è già utilizzato. Si prega di utilizzare un nome diverso. diff --git a/pocs/android_only_m2_j17jars/app/src/main/resources/user_pcm.properties b/pocs/android_only_m2_j17jars/app/src/main/resources/user_pcm.properties new file mode 100644 index 00000000..147ec757 --- /dev/null +++ b/pocs/android_only_m2_j17jars/app/src/main/resources/user_pcm.properties @@ -0,0 +1,113 @@ +################################################################################ +# +# User module +# +################################################################################ + +user.userProfile.tooltip=Nickname: {0}\nBot ID: {1}\nProfile ID: {2}\n{3} +user.userProfile.tooltip.banned=Dis profile dey banned! +user.userProfile.userName.banned=[Banned] {0} +user.userProfile.livenessState=Last user activity: {0} ago +user.userProfile.livenessState.ageDisplay={0} ago +user.userProfile.version=Version: {0} +# Dynamic values using TransportType.name() +# suppress inspection "UnusedProperty" +user.userProfile.addressByTransport.CLEAR=Clear net address: {0} +# suppress inspection "UnusedProperty" +user.userProfile.addressByTransport.TOR=Tor address: {0} +# suppress inspection "UnusedProperty" +user.userProfile.addressByTransport.I2P=I2P address: {0} + + +################################################################################ +# +# Desktop module / User (options) section +# +################################################################################ + +user.userProfile=User profile +user.password=Password +user.paymentAccounts=Payment accounts + + +################################################################################ +# User profile +################################################################################ + +user.bondedRoles.userProfile.select=Select user profile +user.bondedRoles.userProfile.select.invalid=Abeg select user profile from di list +user.userProfile.comboBox.description=User profile +user.userProfile.nymId=Bot ID +user.userProfile.nymId.tooltip=Dis 'Bot ID' na from di hash of di public key of dat\nuser profile identity.\nDem append am to di nickname if dem get plenty user profiles inside\ndi network with di same nickname to differentiate dem clearly. +user.userProfile.profileId=Profile ID +user.userProfile.profileId.tooltip=Di 'Profile ID' na di hash of di public key of dat user profile identity\nencoded as hexadecimal string. +user.userProfile.profileAge=Profile age +user.userProfile.profileAge.tooltip=Di 'Profile age' na di age for days of dat user profile. +user.userProfile.livenessState.description=Last user activity +user.userProfile.livenessState.tooltip=Di time wey don pass since di user profile don republish to di network because of user activity like mouse movements. +user.userProfile.reputation=Reputation +user.userProfile.statement=Statement +user.userProfile.statement.prompt=Write optional statement +user.userProfile.statement.tooLong=Statement no fit pass {0} characters +user.userProfile.terms=Trade terms +user.userProfile.terms.prompt=Write optional trade terms +user.userProfile.terms.tooLong=Trade terms no fit pass {0} characters + +user.userProfile.createNewProfile=Create new profile +user.userProfile.learnMore=Why create new profile? +user.userProfile.deleteProfile=Delete profile +user.userProfile.deleteProfile.popup.warning=You sure say you wan delete {0}? You no fit undo this action. +user.userProfile.deleteProfile.popup.warning.yes=Yes, delete profile +user.userProfile.deleteProfile.cannotDelete=Dem no allow delete user profile\n\nTo delete dis profile, first:\n- Delete all messages wey you post with dis profile\n- Close all private channels for dis profile\n- Make sure say you get at least one more profile + +user.userProfile.popup.noSelectedProfile=Abeg select user profile from di list +user.userProfile.save.popup.noChangesToBeSaved=No new changes to save + + +################################################################################ +# Create user profile +################################################################################ + +user.userProfile.new.step2.headline=Complete your profile +user.userProfile.new.step2.subTitle=You fit add personalized statement to your profile and set your trade terms, but e no dey compulsory. +user.userProfile.new.statement=Statement +user.userProfile.new.statement.prompt=Optional add statement +user.userProfile.new.terms=Your trade terms +user.userProfile.new.terms.prompt=Optional set trade terms + + +################################################################################ +# Password +################################################################################ + +user.password.headline.setPassword=Set password protection +user.password.headline.removePassword=Remove password protection +user.password.button.savePassword=Save password +user.password.button.removePassword=Remove password +user.password.enterPassword=Enter password (at least 8 characters) +user.password.confirmPassword=Confirm password +user.password.savePassword.success=Password protection don dey enabled. +user.password.removePassword.success=Password protection don dey removed. +user.password.removePassword.failed=Invalid password. + + +################################################################################ +# Payment accounts +################################################################################ + +user.paymentAccounts.headline=Your payment accounts +user.paymentAccounts.noAccounts.headline=Your payment accounts +user.paymentAccounts.noAccounts.info=You never set up any account yet. +user.paymentAccounts.noAccounts.whySetup=Why e good make you set up account? +user.paymentAccounts.noAccounts.whySetup.info=When you wan sell Bitcoin, you need to provide your payment account details to the buyer so that them go fit send you the national currency payment. Setting up accounts before now go allow you access this information quick and easy during the trade. +user.paymentAccounts.noAccounts.whySetup.note=Background information:\nYour account data dey store for your computer alone, and them go only share am with your trade partner if you decide to share am. +user.paymentAccounts.accountData=Payment account information +user.paymentAccounts.selectAccount=Select payment account +user.paymentAccounts.createAccount=Create new payment account +user.paymentAccounts.deleteAccount=Delete payment account +user.paymentAccounts.createAccount.headline=Add new payment account +user.paymentAccounts.createAccount.subtitle=The payment account na only stored for your computer and them go only send am to your trade partner if you decide to do am. +user.paymentAccounts.createAccount.accountName=Payment account name +user.paymentAccounts.createAccount.accountName.prompt=Set unique name for your payment account +user.paymentAccounts.createAccount.accountData.prompt=Enter payment account information (e.g. bank account details) wey you wan share with potential Bitcoin buyer, so that them fit send you the national currency amount. +user.paymentAccounts.createAccount.sameName=This account name don dey use before. Abeg use another name. diff --git a/pocs/android_only_m2_j17jars/app/src/main/resources/user_pt_BR.properties b/pocs/android_only_m2_j17jars/app/src/main/resources/user_pt_BR.properties new file mode 100644 index 00000000..a260ac04 --- /dev/null +++ b/pocs/android_only_m2_j17jars/app/src/main/resources/user_pt_BR.properties @@ -0,0 +1,113 @@ +################################################################################ +# +# User module +# +################################################################################ + +user.userProfile.tooltip=Apelido: {0}\nID do Bot: {1}\nID do Perfil: {2}\n{3} +user.userProfile.tooltip.banned=Este perfil está banido! +user.userProfile.userName.banned=[Banido] {0} +user.userProfile.livenessState=Última atividade do usuário: {0} atrás +user.userProfile.livenessState.ageDisplay={0} atrás +user.userProfile.version=Version: {0} +# Dynamic values using TransportType.name() +# suppress inspection "UnusedProperty" +user.userProfile.addressByTransport.CLEAR=Clear net address: {0} +# suppress inspection "UnusedProperty" +user.userProfile.addressByTransport.TOR=Tor address: {0} +# suppress inspection "UnusedProperty" +user.userProfile.addressByTransport.I2P=I2P address: {0} + + +################################################################################ +# +# Desktop module / User (options) section +# +################################################################################ + +user.userProfile=Perfil do usuário +user.password=Senha +user.paymentAccounts=Contas de pagamento + + +################################################################################ +# User profile +################################################################################ + +user.bondedRoles.userProfile.select=Selecionar perfil do usuário +user.bondedRoles.userProfile.select.invalid=Por favor, escolha um perfil de usuário da lista +user.userProfile.comboBox.description=Perfil do usuário +user.userProfile.nymId=ID do Bot +user.userProfile.nymId.tooltip=O 'ID do Bot' é gerado a partir do hash da chave pública da identidade\ndesse perfil de usuário.\nÉ adicionado ao apelido em caso de haver vários perfis de usuário na rede\ncom o mesmo apelido para distinguir claramente entre esses perfis. +user.userProfile.profileId=ID do Perfil +user.userProfile.profileId.tooltip=O 'ID do Perfil' é o hash da chave pública da identidade do perfil do usuário\ncodificado como string hexadecimal. +user.userProfile.profileAge=Idade do Perfil +user.userProfile.profileAge.tooltip=A 'Idade do Perfil' é a idade em dias desse perfil de usuário. +user.userProfile.livenessState.description=Última atividade do usuário +user.userProfile.livenessState.tooltip=O tempo decorrido desde que o perfil do usuário foi republicado na rede, acionado por atividades do usuário, como movimentos do mouse. +user.userProfile.reputation=Reputação +user.userProfile.statement=Declaração +user.userProfile.statement.prompt=Inserir declaração opcional +user.userProfile.statement.tooLong=A declaração não deve ser mais longa do que {0} caracteres +user.userProfile.terms=Termos de negociação +user.userProfile.terms.prompt=Inserir termos de negociação opcionais +user.userProfile.terms.tooLong=Os termos de negociação não devem ser mais longos do que {0} caracteres + +user.userProfile.createNewProfile=Criar novo perfil +user.userProfile.learnMore=Por que criar um novo perfil? +user.userProfile.deleteProfile=Excluir perfil +user.userProfile.deleteProfile.popup.warning=Você realmente deseja excluir {0}? Você não pode desfazer esta operação. +user.userProfile.deleteProfile.popup.warning.yes=Sim, excluir perfil +user.userProfile.deleteProfile.cannotDelete=Não é permitido excluir o perfil do usuário\n\nPara excluir este perfil, primeiro:\n- Excluir todas as mensagens postadas com este perfil\n- Fechar todos os canais privados para este perfil\n- Certifique-se de ter pelo menos mais um perfil + +user.userProfile.popup.noSelectedProfile=Por favor, escolha um perfil de usuário da lista +user.userProfile.save.popup.noChangesToBeSaved=Não há novas alterações a serem salvas + + +################################################################################ +# Create user profile +################################################################################ + +user.userProfile.new.step2.headline=Complete seu perfil +user.userProfile.new.step2.subTitle=Você pode opcionalmente adicionar uma declaração personalizada ao seu perfil e definir seus termos de comércio. +user.userProfile.new.statement=Declaração +user.userProfile.new.statement.prompt=Adicionar declaração (opcional) +user.userProfile.new.terms=Seus termos de comércio +user.userProfile.new.terms.prompt=Definir termos de comércio (opcional) + + +################################################################################ +# Password +################################################################################ + +user.password.headline.setPassword=Definir proteção por senha +user.password.headline.removePassword=Remover proteção por senha +user.password.button.savePassword=Salvar senha +user.password.button.removePassword=Remover senha +user.password.enterPassword=Digite a senha (mín. 8 caracteres) +user.password.confirmPassword=Confirmar senha +user.password.savePassword.success=Proteção por senha ativada. +user.password.removePassword.success=Proteção por senha removida. +user.password.removePassword.failed=Senha inválida. + + +################################################################################ +# Payment accounts +################################################################################ + +user.paymentAccounts.headline=Suas contas de pagamento +user.paymentAccounts.noAccounts.headline=Suas contas de pagamento +user.paymentAccounts.noAccounts.info=Você ainda não configurou nenhuma conta. +user.paymentAccounts.noAccounts.whySetup=Por que é útil configurar uma conta? +user.paymentAccounts.noAccounts.whySetup.info=Ao vender Bitcoin, você precisa fornecer os detalhes da sua conta de pagamento ao comprador para receber o pagamento em fiat. Configurar contas antecipadamente permite acesso rápido e conveniente a essas informações durante a negociação. +user.paymentAccounts.noAccounts.whySetup.note=Informação adicional:\nSeus dados de conta são armazenados exclusivamente localmente no seu computador e são compartilhados com seu parceiro de negociação apenas quando você decide compartilhá-los. +user.paymentAccounts.accountData=Informações da conta de pagamento +user.paymentAccounts.selectAccount=Selecionar conta de pagamento +user.paymentAccounts.createAccount=Criar nova conta de pagamento +user.paymentAccounts.deleteAccount=Excluir conta de pagamento +user.paymentAccounts.createAccount.headline=Adicionar nova conta de pagamento +user.paymentAccounts.createAccount.subtitle=A conta de pagamento é armazenada apenas localmente no seu computador e só é enviada ao seu par de negociação se você decidir fazer isso. +user.paymentAccounts.createAccount.accountName=Nome da conta de pagamento +user.paymentAccounts.createAccount.accountName.prompt=Defina um nome único para sua conta de pagamento +user.paymentAccounts.createAccount.accountData.prompt=Insira as informações da conta de pagamento (por exemplo, dados bancários) que você deseja compartilhar com um possível comprador de Bitcoin, para que ele possa transferir o valor em moeda nacional. +user.paymentAccounts.createAccount.sameName=Este nome de conta já está em uso. Por favor, use um nome diferente. diff --git a/pocs/android_only_m2_j17jars/app/src/main/resources/wallet.properties b/pocs/android_only_m2_j17jars/app/src/main/resources/wallet.properties new file mode 100644 index 00000000..e24293d6 --- /dev/null +++ b/pocs/android_only_m2_j17jars/app/src/main/resources/wallet.properties @@ -0,0 +1,25 @@ +###################################################### +## Wallet +###################################################### + +wallet.dashboard=Dashboard +wallet.send=Send +wallet.receive=Receive +wallet.txs=Transactions +wallet.settings=Settings + +wallet.yourBalance=Your balance +wallet.sendBtc=Send Bitcoin +wallet.receiveBtc=Receive Bitcoin + +wallet.send.address=Receiver's address +wallet.send.amount=Bitcoin amount to send +wallet.send.password=Wallet password +wallet.send.sendBtc=Send Bitcoin + +wallet.receive.address=Unused address +wallet.receive.copy=Copy address + +wallet.txs.txId=Transaction ID +wallet.txs.amount=Amount in BTC +wallet.txs.confirmations=Confirmations \ No newline at end of file diff --git a/pocs/android_only_m2_j17jars/app/src/main/resources/wallet_cs.properties b/pocs/android_only_m2_j17jars/app/src/main/resources/wallet_cs.properties new file mode 100644 index 00000000..7d91109f --- /dev/null +++ b/pocs/android_only_m2_j17jars/app/src/main/resources/wallet_cs.properties @@ -0,0 +1,25 @@ +###################################################### +## Wallet +###################################################### + +wallet.dashboard=Dashboard +wallet.send=Odeslat +wallet.receive=Přijmout +wallet.txs=Transakce +wallet.settings=Nastavení + +wallet.yourBalance=Vaše zůstatek +wallet.sendBtc=Odeslat Bitcoiny +wallet.receiveBtc=Přijmout Bitcoiny + +wallet.send.address=Adresa příjemce +wallet.send.amount=Částka v Bitcoinu k odeslání +wallet.send.password=Heslo k peněžence +wallet.send.sendBtc=Odeslat Bitcoiny + +wallet.receive.address=Nevyužitá adresa +wallet.receive.copy=Kopírovat adresu + +wallet.txs.txId=ID transakce +wallet.txs.amount=Částka v BTC +wallet.txs.confirmations=Potvrzení diff --git a/pocs/android_only_m2_j17jars/app/src/main/resources/wallet_de.properties b/pocs/android_only_m2_j17jars/app/src/main/resources/wallet_de.properties new file mode 100644 index 00000000..be9ef9fd --- /dev/null +++ b/pocs/android_only_m2_j17jars/app/src/main/resources/wallet_de.properties @@ -0,0 +1,25 @@ +###################################################### +## Wallet +###################################################### + +wallet.dashboard=Dashboard +wallet.send=Senden +wallet.receive=Empfangen +wallet.txs=Transaktionen +wallet.settings=Einstellungen + +wallet.yourBalance=Ihr Kontostand +wallet.sendBtc=Bitcoin senden +wallet.receiveBtc=Bitcoin empfangen + +wallet.send.address=Empfängeradresse +wallet.send.amount=Zu sendender Bitcoin-Betrag +wallet.send.password=Wallet-Passwort +wallet.send.sendBtc=Bitcoin senden + +wallet.receive.address=Neue Adresse +wallet.receive.copy=Adresse kopieren + +wallet.txs.txId=Transaktions-ID +wallet.txs.amount=Betrag in BTC +wallet.txs.confirmations=Bestätigungen diff --git a/pocs/android_only_m2_j17jars/app/src/main/resources/wallet_es.properties b/pocs/android_only_m2_j17jars/app/src/main/resources/wallet_es.properties new file mode 100644 index 00000000..72d9ca74 --- /dev/null +++ b/pocs/android_only_m2_j17jars/app/src/main/resources/wallet_es.properties @@ -0,0 +1,25 @@ +###################################################### +## Wallet +###################################################### + +wallet.dashboard=Tablero +wallet.send=Enviar +wallet.receive=Recibir +wallet.txs=Transacciones +wallet.settings=Ajustes + +wallet.yourBalance=Tu saldo +wallet.sendBtc=Enviar Bitcoin +wallet.receiveBtc=Recibir Bitcoin + +wallet.send.address=Dirección del destinatario +wallet.send.amount=Cantidad de Bitcoin a enviar +wallet.send.password=Contraseña de la cartera +wallet.send.sendBtc=Enviar Bitcoin + +wallet.receive.address=Dirección no utilizada +wallet.receive.copy=Copiar dirección + +wallet.txs.txId=ID de la transacción +wallet.txs.amount=Cantidad en BTC +wallet.txs.confirmations=Confirmaciones diff --git a/pocs/android_only_m2_j17jars/app/src/main/resources/wallet_it.properties b/pocs/android_only_m2_j17jars/app/src/main/resources/wallet_it.properties new file mode 100644 index 00000000..13d8977f --- /dev/null +++ b/pocs/android_only_m2_j17jars/app/src/main/resources/wallet_it.properties @@ -0,0 +1,25 @@ +###################################################### +## Wallet +###################################################### + +wallet.dashboard=Dashboard +wallet.send=Invia +wallet.receive=Ricevi +wallet.txs=Transazioni +wallet.settings=Impostazioni + +wallet.yourBalance=Il tuo saldo +wallet.sendBtc=Invia Bitcoin +wallet.receiveBtc=Ricevi Bitcoin + +wallet.send.address=Indirizzo del destinatario +wallet.send.amount=Quantità di Bitcoin da inviare +wallet.send.password=Password del portafoglio +wallet.send.sendBtc=Invia Bitcoin + +wallet.receive.address=Indirizzo non utilizzato +wallet.receive.copy=Copia indirizzo + +wallet.txs.txId=ID transazione +wallet.txs.amount=Importo in BTC +wallet.txs.confirmations=Conferme diff --git a/pocs/android_only_m2_j17jars/app/src/main/resources/wallet_pcm.properties b/pocs/android_only_m2_j17jars/app/src/main/resources/wallet_pcm.properties new file mode 100644 index 00000000..fea1864d --- /dev/null +++ b/pocs/android_only_m2_j17jars/app/src/main/resources/wallet_pcm.properties @@ -0,0 +1,25 @@ +###################################################### +## Wallet +###################################################### + +wallet.dashboard=Dashboard +wallet.send=Send +wallet.receive=Receive +wallet.txs=Transactions +wallet.settings=Settings + +wallet.yourBalance=Your balance +wallet.sendBtc=Send Bitcoin +wallet.receiveBtc=Receive Bitcoin + +wallet.send.address=Receiver address +wallet.send.amount=Amount of Bitcoin to send +wallet.send.password=Wallet password +wallet.send.sendBtc=Send Bitcoin + +wallet.receive.address=Unused address +wallet.receive.copy=Copy address + +wallet.txs.txId=Transaction ID +wallet.txs.amount=Amount in BTC +wallet.txs.confirmations=Confirmations diff --git a/pocs/android_only_m2_j17jars/app/src/main/resources/wallet_pt_BR.properties b/pocs/android_only_m2_j17jars/app/src/main/resources/wallet_pt_BR.properties new file mode 100644 index 00000000..0f5e3fad --- /dev/null +++ b/pocs/android_only_m2_j17jars/app/src/main/resources/wallet_pt_BR.properties @@ -0,0 +1,25 @@ +###################################################### +## Wallet +###################################################### + +wallet.dashboard=Painel de Controle +wallet.send=Enviar +wallet.receive=Receber +wallet.txs=Transações +wallet.settings=Configurações + +wallet.yourBalance=Seu saldo +wallet.sendBtc=Enviar Bitcoin +wallet.receiveBtc=Receber Bitcoin + +wallet.send.address=Endereço do destinatário +wallet.send.amount=Quantidade de Bitcoin a enviar +wallet.send.password=Senha da carteira +wallet.send.sendBtc=Enviar Bitcoin + +wallet.receive.address=Endereço não utilizado +wallet.receive.copy=Copiar endereço + +wallet.txs.txId=ID da Transação +wallet.txs.amount=Quantidade em BTC +wallet.txs.confirmations=Confirmações diff --git a/pocs/android_only_m2_j17jars/gradle/libs.versions.toml b/pocs/android_only_m2_j17jars/gradle/libs.versions.toml index 5f590683..fdb56c56 100644 --- a/pocs/android_only_m2_j17jars/gradle/libs.versions.toml +++ b/pocs/android_only_m2_j17jars/gradle/libs.versions.toml @@ -1,5 +1,5 @@ [versions] -agp = "8.5.2" +agp = "8.5.0" kotlin = "1.9.0" coreKtx = "1.13.1" junit = "4.13.2" @@ -9,9 +9,71 @@ lifecycleRuntimeKtx = "2.8.6" activityCompose = "1.9.2" composeBom = "2024.09.03" +annotations-lib = { strictly = '23.0.0' } + +apache-commons-lang-lib = { strictly = '3.14.0' } +apache-httpcomponents-core-lib = { strictly = '4.4.16' } +apache-httpcomponents-httpclient-lib = { strictly = '4.5.14' } # 5.3.1 would be better but has lot of API changes +apache-tomcat-annotations-api = { strictly = '6.0.53' } + +assertj-core-lib = { strictly = '3.22.0' } +bouncycastle-lib = { strictly = '1.78.1' } + +commons-codec = { strictly = '1.17.1' } + +chimp-jsocks-lib = { strictly = '567e1cd6' } +chimp-jtorctl-lib = { strictly = '9b5ba203' } + +failsafe-lib = { strictly = '3.2.4' } + +fontawesomefx-lib = { strictly = '8.0.0' } +fontawesomefx-commons-lib = { strictly = '9.1.2' } +fontawesomefx-materialdesignfont-lib = { strictly = '2.0.26-9.1.2' } + +fxmisc-easybind-lib = { strictly = '1.0.3' } +fxmisc-richtextfx-lib = { strictly = '0.10.9' } + +glassfish-jersey-lib = { strictly = '3.1.8' } +glassfish-jaxb-runtime-lib = { strictly = '4.0.5' } + +google-gson-lib = { strictly = '2.9.0' } +google-guava-lib = { strictly = '33.2.1-jre' } + +grpc = { strictly = '1.61.0' } + +i2p-lib = { strictly = '1.8.0' } +i2p-v2 = { strictly = '2.4.0' } + +jackson-lib = { strictly = '2.17.2' } +javacv = { strictly = '1.5.10' } +java-dev-jna-lib = { strictly = '5.13.0' } +jeromq-lib = { strictly = '0.5.2' } +junit-jupiter-lib = { strictly = '5.8.2' } +kotlindsl-plugin = { strictly = '2.1.7' } +logback-lib = { strictly = '1.2.13' } +lombok-lib = { strictly = '1.18.34' } +mockito-lib = { strictly = '4.11.0' } +openjfx-plugin = { strictly = '0.0.13' } +openjfx-monocle-lib = { strictly = 'jdk-12.0.1+2'} + protobuf-java-lib = { strictly = '3.25.4' } protobuf-gradle-plugin-lib = { strictly = '0.9.4' } +sarxos-lib = { strictly = '0.3.12' } +shadow-plugin = { strictly = '8.3.0' } +slf4j-lib = { strictly = '1.7.36' } +spring-boot-starter-web-lib = { strictly = '2.5.6' } +springfox-lib = { strictly = '3.0.0' } + +square-moshi-lib = { strictly = '1.15.1' } +square-okhttp-libs = { strictly = '4.12.0' } + +swagger-jaxrs2-jakarta-lib = { strictly = '2.2.0' } +testfx-junit5-lib = { strictly = '4.0.16-alpha' } +tukaani-lib = { strictly = '1.9' } +typesafe-config-lib = { strictly = '1.4.3' } + +zxing-lib = { strictly = '3.5.3' } [libraries] androidx-core-ktx = { group = "androidx.core", name = "core-ktx", version.ref = "coreKtx" } @@ -29,9 +91,103 @@ androidx-ui-test-manifest = { group = "androidx.compose.ui", name = "ui-test-man androidx-ui-test-junit4 = { group = "androidx.compose.ui", name = "ui-test-junit4" } androidx-material3 = { group = "androidx.compose.material3", name = "material3" } +apache-commons-lang = { module = 'org.apache.commons:commons-lang3', version.ref = 'apache-commons-lang-lib' } +apache-httpcomponents-core = { module = 'org.apache.httpcomponents:httpcore', version.ref = 'apache-httpcomponents-core-lib' } +apache-httpcomponents-httpclient = { module = 'org.apache.httpcomponents:httpclient', version.ref = 'apache-httpcomponents-httpclient-lib' } +apache-tomcat-annotations-api = { module = 'org.apache.tomcat:annotations-api', version.ref = 'apache-tomcat-annotations-api' } +assertj-core = { module = 'org.assertj:assertj-core', version.ref = 'assertj-core-lib' } + +annotations = { module = 'org.jetbrains:annotations', version.ref = 'annotations-lib' } + +bouncycastle = { module = 'org.bouncycastle:bcprov-jdk18on', version.ref = 'bouncycastle-lib' } +bouncycastle-pg = { module = 'org.bouncycastle:bcpg-jdk18on', version.ref = 'bouncycastle-lib' } + +commons-codec = { module = "commons-codec:commons-codec", version.ref = "commons-codec" } + +chimp-jsocks = { module = 'com.github.chimp1984:jsocks', version.ref = 'chimp-jsocks-lib' } +chimp-jtorctl = { module = 'com.github.chimp1984:jtorctl', version.ref = 'chimp-jtorctl-lib' } + +failsafe = { module = 'dev.failsafe:failsafe', version.ref = 'failsafe-lib' } + +fontawesomefx = { module = 'de.jensd:fontawesomefx', version.ref = 'fontawesomefx-lib' } +fontawesomefx-commons = { module = 'de.jensd:fontawesomefx-commons', version.ref = 'fontawesomefx-commons-lib' } +fontawesomefx-materialdesignfont = { module = 'de.jensd:fontawesomefx-materialdesignfont', version.ref = 'fontawesomefx-materialdesignfont-lib' } + +fxmisc-easybind = { module = 'org.fxmisc.easybind:easybind', version.ref = 'fxmisc-easybind-lib' } +fxmisc-richtextfx = { module = 'org.fxmisc.richtext:richtextfx', version.ref = 'fxmisc-richtextfx-lib' } + +glassfish-jersey-jdk-http = { module = 'org.glassfish.jersey.containers:jersey-container-jdk-http', version.ref = 'glassfish-jersey-lib' } +glassfish-jersey-json-jackson = { module = 'org.glassfish.jersey.media:jersey-media-json-jackson', version.ref = 'glassfish-jersey-lib' } +glassfish-jersey-inject-hk2 = { module = 'org.glassfish.jersey.inject:jersey-hk2', version.ref = 'glassfish-jersey-lib' } +glassfish-jaxb-runtime = { module = 'org.glassfish.jaxb:jaxb-runtime', version.ref = 'glassfish-jaxb-runtime-lib' } + +google-gson = { module = 'com.google.code.gson:gson', version.ref = 'google-gson-lib' } +google-guava = { module = 'com.google.guava:guava', version.ref = 'google-guava-lib' } + +grpc-netty-shaded = { module = 'io.grpc:grpc-netty-shaded', version.ref = 'grpc' } +grpc-protobuf = { module = 'io.grpc:grpc-protobuf', version.ref = 'grpc' } +grpc-services = { module = 'io.grpc:grpc-services', version.ref = 'grpc' } +grpc-stub = { module = 'io.grpc:grpc-stub', version.ref = 'grpc' } + +i2p-core = { module = 'net.i2p:i2p', version.ref = 'i2p-lib' } +i2p-core-v2 = { module = 'net.i2p:i2p', version.ref = 'i2p-v2' } +i2p-streaming = { module = 'net.i2p.client:streaming', version.ref = 'i2p-lib' } +i2p-streaming-v2 = { module = 'net.i2p.client:streaming', version.ref = 'i2p-v2' } +i2p-router = { module = 'net.i2p:router', version.ref = 'i2p-lib' } + +jackson-core = { module = 'com.fasterxml.jackson.core:jackson-core', version.ref = 'jackson-lib' } +jackson-annotations = { module = 'com.fasterxml.jackson.core:jackson-annotations', version.ref = 'jackson-lib' } +jackson-databind = { module = 'com.fasterxml.jackson.core:jackson-databind', version.ref = 'jackson-lib' } + +javacv = { module = "org.bytedeco:javacv-platform", version.ref = "javacv" } +java-dev-jna = { module = 'net.java.dev.jna:jna', version.ref = 'java-dev-jna-lib' } +jeromq = { module = 'org.zeromq:jeromq', version.ref = 'jeromq-lib' } +junit-jupiter = { module = 'org.junit.jupiter:junit-jupiter', version.ref = 'junit-jupiter-lib' } + +logback-core = { module = 'ch.qos.logback:logback-core', version.ref = 'logback-lib' } +logback-classic = { module = 'ch.qos.logback:logback-classic', version.ref = 'logback-lib' } +lombok = { module = 'org.projectlombok:lombok', version.ref = 'lombok-lib' } + +mockito = { module = 'org.mockito:mockito-core', version.ref = 'mockito-lib' } +openjfx-monocle = { module = 'org.testfx:openjfx-monocle', version.ref = 'openjfx-monocle-lib' } + protobuf-java = { module = 'com.google.protobuf:protobuf-java', version.ref = 'protobuf-java-lib' } protobuf-gradle-plugin = { module = 'com.google.protobuf:protobuf-gradle-plugin', version.ref = 'protobuf-gradle-plugin-lib' } +protobuf-java-util = { module = 'com.google.protobuf:protobuf-java-util', version.ref = 'protobuf-java-lib' } + +sarxos = { module = 'com.github.sarxos:webcam-capture', version.ref = 'sarxos-lib' } +slf4j-api = { module = 'org.slf4j:slf4j-api', version.ref = 'slf4j-lib' } +spring-boot-starter-web = { module = 'org.springframework.boot:spring-boot-starter-web', version.ref = 'spring-boot-starter-web-lib' } + +springfox-boot-starter = { module = 'io.springfox:springfox-boot-starter', version.ref = 'springfox-lib' } +springfox-swagger2 = { module = 'io.springfox:springfox-swagger2', version.ref = 'springfox-lib' } +springfox-swagger-ui = { module = 'io.springfox:springfox-swagger-ui', version.ref = 'springfox-lib' } + +square-okhttp-bom = { module = 'com.squareup.okhttp3:okhttp-bom', version.ref = 'square-okhttp-libs' } +square-moshi = { module = 'com.squareup.moshi:moshi', version.ref = 'square-moshi-lib' } + +swagger-jaxrs2-jakarta = { module = 'io.swagger.core.v3:swagger-jaxrs2-jakarta', version.ref = 'swagger-jaxrs2-jakarta-lib' } +testfx-junit5 = { module = 'org.testfx:testfx-junit5', version.ref = 'testfx-junit5-lib' } +tukaani = { module = 'org.tukaani:xz', version.ref = 'tukaani-lib' } +typesafe-config = { module = 'com.typesafe:config', version.ref = 'typesafe-config-lib' } + +zxing = { module = 'com.google.zxing:javase', version.ref = 'zxing-lib' } + +[bundles] +fontawesomefx = ['fontawesomefx', 'fontawesomefx-commons', 'fontawesomefx-materialdesignfont'] +fxmisc-libs = ['fxmisc-easybind', 'fxmisc-richtextfx'] +glassfish-jersey = ['glassfish-jersey-jdk-http', 'glassfish-jersey-json-jackson', 'glassfish-jersey-inject-hk2', 'glassfish-jaxb-runtime'] +grpc = ['grpc-protobuf', 'grpc-services', 'grpc-stub'] +i2p = ['i2p-core', 'i2p-router', 'i2p-streaming'] +i2p-v2 = ['i2p-core-v2', 'i2p-streaming-v2'] +jackson = ['jackson-core', 'jackson-annotations', 'jackson-databind'] +springfox-libs = ['springfox-boot-starter', 'springfox-swagger2', 'springfox-swagger-ui'] [plugins] android-application = { id = "com.android.application", version.ref = "agp" } jetbrains-kotlin-android = { id = "org.jetbrains.kotlin.android", version.ref = "kotlin" } + +kotlindsl = { id = 'org.gradle.kotlin.kotlin-dsl', version.ref = 'kotlindsl-plugin' } +openjfx = { id = 'org.openjfx.javafxplugin', version.ref = 'openjfx-plugin' } +shadow = { id = 'com.gradleup.shadow', version.ref = 'shadow-plugin' } +gradle-javacpp-platform = { id = "org.bytedeco.gradle-javacpp-platform", version.ref = "javacv" } diff --git a/pocs/android_only_m2_j17jars/gradle/wrapper/gradle-wrapper.properties b/pocs/android_only_m2_j17jars/gradle/wrapper/gradle-wrapper.properties index f13f3043..ec657ec3 100644 --- a/pocs/android_only_m2_j17jars/gradle/wrapper/gradle-wrapper.properties +++ b/pocs/android_only_m2_j17jars/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ #Tue Oct 15 22:42:35 ICT 2024 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.9-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/pocs/android_only_m2_j17jars/settings.gradle.kts b/pocs/android_only_m2_j17jars/settings.gradle.kts index 09e0e7bd..d7834386 100644 --- a/pocs/android_only_m2_j17jars/settings.gradle.kts +++ b/pocs/android_only_m2_j17jars/settings.gradle.kts @@ -7,9 +7,12 @@ pluginManagement { includeGroupByRegex("androidx.*") } } + mavenLocal() mavenCentral() gradlePluginPortal() - mavenLocal() + maven { + url = uri("https://jitpack.io") + } } } dependencyResolutionManagement { @@ -18,6 +21,9 @@ dependencyResolutionManagement { google() mavenCentral() mavenLocal() + maven { + url = uri("https://jitpack.io") + } } } From c8c4543258a5b29d05a93f67223414ae8931b967 Mon Sep 17 00:00:00 2001 From: rodvar Date: Fri, 8 Nov 2024 14:50:21 +1100 Subject: [PATCH 5/7] Feature/android node bisq2 dependencies (#29) * - migrate in protobuf needed filees and using proto lite to build the generated classes for the runtime code to use * - importing all bisq2-core dependencies (direct and transitive) excluding protobuf-java in favour of protobuf-lite defined in the app. * - remove androidNode from CI for now --- .github/workflows/ci.yml | 12 +- bisqapps/androidNode/build.gradle.kts | 91 +++- .../src/androidMain/proto/account.proto | 303 ++++++++++++++ .../src/androidMain/proto/bonded_roles.proto | 131 ++++++ .../src/androidMain/proto/chat.proto | 211 ++++++++++ .../src/androidMain/proto/common.proto | 103 +++++ .../src/androidMain/proto/contract.proto | 98 +++++ .../src/androidMain/proto/identity.proto | 36 ++ .../src/androidMain/proto/network.proto | 396 ++++++++++++++++++ .../androidMain/proto/network_identity.proto | 11 + .../src/androidMain/proto/offer.proto | 156 +++++++ .../src/androidMain/proto/persistence.proto | 27 ++ .../src/androidMain/proto/presentation.proto | 22 + .../src/androidMain/proto/security.proto | 82 ++++ .../src/androidMain/proto/settings.proto | 67 +++ .../src/androidMain/proto/support.proto | 40 ++ .../src/androidMain/proto/trade.proto | 166 ++++++++ .../src/androidMain/proto/user.proto | 160 +++++++ bisqapps/build.gradle.kts | 2 + bisqapps/gradle/libs.versions.toml | 95 ++++- bisqapps/settings.gradle.kts | 22 +- 21 files changed, 2222 insertions(+), 9 deletions(-) create mode 100644 bisqapps/androidNode/src/androidMain/proto/account.proto create mode 100644 bisqapps/androidNode/src/androidMain/proto/bonded_roles.proto create mode 100644 bisqapps/androidNode/src/androidMain/proto/chat.proto create mode 100644 bisqapps/androidNode/src/androidMain/proto/common.proto create mode 100644 bisqapps/androidNode/src/androidMain/proto/contract.proto create mode 100644 bisqapps/androidNode/src/androidMain/proto/identity.proto create mode 100644 bisqapps/androidNode/src/androidMain/proto/network.proto create mode 100644 bisqapps/androidNode/src/androidMain/proto/network_identity.proto create mode 100644 bisqapps/androidNode/src/androidMain/proto/offer.proto create mode 100644 bisqapps/androidNode/src/androidMain/proto/persistence.proto create mode 100644 bisqapps/androidNode/src/androidMain/proto/presentation.proto create mode 100644 bisqapps/androidNode/src/androidMain/proto/security.proto create mode 100644 bisqapps/androidNode/src/androidMain/proto/settings.proto create mode 100644 bisqapps/androidNode/src/androidMain/proto/support.proto create mode 100644 bisqapps/androidNode/src/androidMain/proto/trade.proto create mode 100644 bisqapps/androidNode/src/androidMain/proto/user.proto diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index e4caba0c..85814d04 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -67,21 +67,23 @@ jobs: xcodebuild -version # sudo xcode-select -s /Applications/Xcode_15.0.app +# TODO: restore androidNode once dependant bisq2 jars get published in a public maven repo - name: Build project working-directory: ./bisqapps - run: ./gradlew clean build --info + run: ./gradlew clean build -x androidNode:build --info - name: Run all project tests working-directory: ./bisqapps - run: ./gradlew test + run: ./gradlew test -x androidNode:test - name: Run androidClient Tests working-directory: ./bisqapps run: ./gradlew androidClient:testDebugUnitTest androidClient:connectedDebugAndroidTest - - name: Run androidNode Tests - working-directory: ./bisqapps - run: ./gradlew androidNode:testDebugUnitTest androidNode:connectedDebugAndroidTest +# TODO: restore androidNode once dependant bisq2 jars get published in a public maven repo +# - name: Run androidNode Tests +# working-directory: ./bisqapps +# run: ./gradlew androidNode:testDebugUnitTest androidNode:connectedDebugAndroidTest # TODO ios specific and run on emulator if needed - name: Run iOS Tests diff --git a/bisqapps/androidNode/build.gradle.kts b/bisqapps/androidNode/build.gradle.kts index 446fe171..05145f22 100644 --- a/bisqapps/androidNode/build.gradle.kts +++ b/bisqapps/androidNode/build.gradle.kts @@ -1,11 +1,13 @@ import org.jetbrains.kotlin.gradle.ExperimentalKotlinGradlePluginApi import org.jetbrains.kotlin.gradle.dsl.JvmTarget +import com.google.protobuf.gradle.* plugins { alias(libs.plugins.kotlinMultiplatform) alias(libs.plugins.androidApplication) alias(libs.plugins.jetbrainsCompose) alias(libs.plugins.compose.compiler) + alias(libs.plugins.protobuf) } version = project.findProperty("node.android.version") as String @@ -24,6 +26,17 @@ kotlin { implementation(compose.preview) implementation(libs.androidx.activity.compose) } + val androidMain by getting { + androidMain.dependencies { + implementation(compose.preview) + implementation(libs.androidx.activity.compose) + } + kotlin.srcDirs( + "src/androidMain/kotlin", + "${layout.buildDirectory}/generated/source/proto/debug/java", + "${layout.buildDirectory}/generated/source/proto/release/java" + ) + } } } @@ -31,6 +44,19 @@ android { namespace = "network.bisq.mobile.node" compileSdk = libs.versions.android.compileSdk.get().toInt() + sourceSets { + getByName("main") { + proto { + srcDir("src/androidMain/proto") + } + java.srcDirs( + "src/layout.buildDirectory/kotlin", + "${layout.buildDirectory}/generated/source/proto/debug/java", + "${layout.buildDirectory}/generated/source/proto/release/java" + ) + } + } + defaultConfig { applicationId = "network.bisq.mobile.node" minSdk = libs.versions.android.node.minSdk.get().toInt() @@ -40,9 +66,20 @@ android { buildConfigField("String", "APP_VERSION", "\"${version}\"") buildConfigField("String", "SHARED_VERSION", "\"${sharedVersion}\"") } + + // We don't want to use the protobuf coming in bisq2 core dependencies as we use protobuf-lite for mobile + configurations.all { + exclude(group = "com.google.protobuf", module = "protobuf-java") + } + packaging { resources { excludes += "/META-INF/{AL2.0,LGPL2.1}" + // the following exclude are needed to avoid protobuf hanging build when merging release resources for java + // Exclude the conflicting META-INF files + excludes.add("META-INF/versions/9/OSGI-INF/MANIFEST.MF") + excludes.add("META-INF/DEPENDENCIES") + pickFirsts.add("**/protobuf/**/*.class") } } buildTypes { @@ -59,9 +96,61 @@ android { } } +protobuf { + protoc { + artifact = "com.google.protobuf:protoc:4.28.2" + } + plugins { + create("javalite") { + artifact = "com.google.protobuf:protoc-gen-javalite:3.0.0" + } + } + generateProtoTasks { + all().forEach { task -> + task.builtins { + create("java") { + option("lite") + } + } + } + } +} dependencies { implementation(project(":shared:presentation")) implementation(project(":shared:domain")) debugImplementation(compose.uiTooling) -} + // bisq2 core dependencies + implementation(libs.bisq.core.common) { + exclude(group = "com.google.protobuf", module = "protobuf-java") + } + implementation(libs.bisq.core.i18n) + implementation(libs.bisq.core.persistence) + implementation(libs.bisq.core.security) + // # bisq:core:network# + implementation(libs.bisq.core.network.network) + implementation(libs.bisq.core.network.network.identity) + implementation(libs.bisq.core.network.socks5.socket.channel) + implementation(libs.bisq.core.network.i2p) + implementation(libs.chimp.jsocks) + implementation(libs.failsafe) + implementation(libs.apache.httpcomponents.httpclient) + // ##### network ###### + implementation(libs.bisq.core.identity) + implementation(libs.bisq.core.account) + implementation(libs.bisq.core.settings) + implementation(libs.bisq.core.bonded.roles) + implementation(libs.bisq.core.user) + implementation(libs.bisq.core.contract) + implementation(libs.bisq.core.offer) + implementation(libs.bisq.core.trade) + implementation(libs.bisq.core.support) + implementation(libs.bisq.core.application) + implementation(libs.bisq.core.chat) + implementation(libs.bisq.core.presentation) + + // protobuf + implementation(libs.protobuf.lite) + implementation(libs.protobuf.gradle.plugin) + implementation(libs.protoc) +} \ No newline at end of file diff --git a/bisqapps/androidNode/src/androidMain/proto/account.proto b/bisqapps/androidNode/src/androidMain/proto/account.proto new file mode 100644 index 00000000..fd734be4 --- /dev/null +++ b/bisqapps/androidNode/src/androidMain/proto/account.proto @@ -0,0 +1,303 @@ +/* + * This file is part of Bisq. + * + * Bisq is free software: you can redistribute it and/or modify it + * under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or (at + * your option) any later version. + * + * Bisq is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public + * License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with Bisq. If not, see . + */ + +syntax = "proto3"; + +package account; +option java_package = "bisq.mobile.account.protobuf"; +option java_multiple_files = true; + +import "common.proto"; + +// ProtocolType +enum TradeProtocolType { + TRADEPROTOCOLTYPE_UNSPECIFIED = 0; + TRADEPROTOCOLTYPE_BISQ_EASY = 1; + TRADEPROTOCOLTYPE_BISQ_MU_SIG = 2; + TRADEPROTOCOLTYPE_SUBMARINE = 3; + TRADEPROTOCOLTYPE_LIQUID_MU_SIG = 4; + TRADEPROTOCOLTYPE_BISQ_LIGHTNING = 5; + TRADEPROTOCOLTYPE_LIQUID_SWAP = 6; + TRADEPROTOCOLTYPE_BSQ_SWAP = 7; + TRADEPROTOCOLTYPE_LIGHTNING_ESCROW = 8; + TRADEPROTOCOLTYPE_MONERO_SWAP = 9; +} +enum LoanProtocolType { + LOANPROTOCOLTYPE_UNSPECIFIED = 0; + LOANPROTOCOLTYPE_COLLATERALIZED = 1; + LOANPROTOCOLTYPE_REPUTATION = 2; +} +message ProtocolType { + oneof message { + TradeProtocolType tradeProtocolType = 10; + LoanProtocolType loanProtocolType = 11; + } +} + +// PaymentMethod +message PaymentMethod { + string name = 1; + oneof message { + FiatPaymentMethod fiatPaymentMethod = 10; + BitcoinPaymentMethod bitcoinPaymentMethod = 11; + CryptoPaymentMethod cryptoPaymentMethod = 12; + } +} +message FiatPaymentMethod { +} +message BitcoinPaymentMethod { +} +message CryptoPaymentMethod { + string currencyCode = 1; +} + +// AccountPayload +message AccountPayload { + string id = 1; + string paymentMethodName = 2; + oneof message { + ZelleAccountPayload zelleAccountPayload = 19; + UserDefinedFiatAccountPayload userDefinedFiatAccountPayload = 20; + RevolutAccountPayload RevolutAccountPayload = 21; + CountryBasedAccountPayload countryBasedAccountPayload = 22; + FasterPaymentsAccountPayload fasterPaymentsAccountPayload = 23; + PayIDAccountPayload payIDAccountPayload = 24; + USPostalMoneyOrderAccountPayload usPostalMoneyOrderAccountPayload = 25; + CashByMailAccountPayload cashByMailAccountPayload = 26; + InteracETransferAccountPayload interacETransferAccountPayload = 27; + CashAppAccountPayload cashAppAccountPayload = 28; + } +} +message UserDefinedFiatAccountPayload { + string accountData = 2; +} +message RevolutAccountPayload { + string email = 2; +} +message CountryBasedAccountPayload { + string countryCode = 1; + oneof message { + BankAccountPayload bankAccountPayload = 2; + SepaAccountPayload sepaAccountPayload = 10; + F2FAccountPayload f2fAccountPayload = 11; + PixAccountPayload pixAccountPayload = 12; + StrikeAccountPayload strikeAccountPayload = 13; + AmazonGiftCardAccountPayload amazonGiftCardAccountPayload = 14; + UpiAccountPayload upiAccountPayload = 15; + BizumAccountPayload bizumAccountPayload = 16; + } +} +message SepaAccountPayload { + string holderName = 1; + string iban = 2; + string bic = 3; + +} + +message F2FAccountPayload { + string contact = 1; + string city = 2; + string extra_info = 3; +} + +message AchTransferAccountPayload { + string holder_address = 1; +} + +message NationalBankAccountPayload { +} + +message BankAccountPayload { + string holder_name = 1; + string bank_name = 2; + string bank_id = 3; + string branch_id = 4; + string account_nr = 5; + string account_type = 6; + string holder_tax_id = 7; + string national_account_id = 12; + oneof message { + AchTransferAccountPayload achTransferAccountPayload = 13; + NationalBankAccountPayload nationalBankAccountPayload = 14; + CashDepositAccountPayload cashDepositAccountPayload = 15; + } +} + +message ZelleAccountPayload { + string holderName = 1; + string emailOrMobileNr = 2; +} + +message PixAccountPayload { + string pix_key = 1; +} + +message FasterPaymentsAccountPayload { + string sort_code = 1; + string account_nr = 2; +} + +message PayIDAccountPayload { + string bank_account_name = 1; + string pay_id = 2; +} + +message USPostalMoneyOrderAccountPayload { + string postal_address = 1; + string holder_name = 2; +} + +message CashByMailAccountPayload { + string postal_address = 1; + string contact = 2; + string extra_info = 3; +} + +message StrikeAccountPayload { + string holderName = 1; +} + +message InteracETransferAccountPayload { + string email = 1; + string holder_name = 2; + string question = 3; + string answer = 4; +} + +message AmazonGiftCardAccountPayload { + string email_or_mobile_nr = 1; +} + +message CashDepositAccountPayload { + string requirements = 1; +} + +message UpiAccountPayload { + string virtual_payment_address = 1; +} + +message BizumAccountPayload { + string mobileNr = 1; +} + +message CashAppAccountPayload { + string cashTag = 1; +} + +// Account +message Account { + sint64 creationDate = 1; + string accountName = 2; + AccountPayload accountPayload = 3; + PaymentMethod paymentMethod = 4; + common.TradeCurrency selectedTradeCurrency = 6; + + oneof message { + ZelleAccount zelleAccount = 19; + UserDefinedFiatAccount userDefinedFiatAccount = 20; + RevolutAccount revolutAccount = 21; + CountryBasedAccount countryBasedAccount = 22; + FasterPaymentsAccount fasterPaymentsAccount = 23; + PayIDAccount payIDAccount = 24; + USPostalMoneyOrderAccount usPostalMoneyOrderAccount = 25; + CashByMailAccount cashByMailAccount = 26; + InteracETransferAccount interacETransferAccount = 27; + CashAppAccount cashAppAccount = 28; + } +} + +message UserDefinedFiatAccount { +} +message RevolutAccount { +} +message CountryBasedAccount { + common.Country country = 1; + oneof message { + BankAccount bankAccount = 19; + SepaAccount sepaAccount = 20; + F2FAccount f2fAccount = 21; + PixAccount pixAccount = 22; + StrikeAccount strikeAccount = 23; + AmazonGiftCardAccount amazonGiftCardAccount = 24; + UpiAccount upiAccount = 25; + BizumAccount bizumAccount = 26; + } +} +message SepaAccount { +} + +message F2FAccount { +} + +message BankAccount { + oneof message { + AchTransferAccount achTransferAccount = 1; + NationalBankAccount nationalBankAccount = 2; + CashDepositAccount cashDepositAccount = 3; + } +} + +message AchTransferAccount { +} + +message ZelleAccount { +} + +message NationalBankAccount { +} + +message PixAccount { +} + +message FasterPaymentsAccount { +} + +message PayIDAccount { +} + +message USPostalMoneyOrderAccount { +} + +message CashByMailAccount { +} + +message StrikeAccount { +} + +message InteracETransferAccount { +} + +message AmazonGiftCardAccount { +} + +message CashDepositAccount { +} + +message UpiAccount { +} + +message BizumAccount { +} + +message CashAppAccount { +} + +message AccountStore { + map accountByName = 1; + optional Account selectedAccount = 2; +} + diff --git a/bisqapps/androidNode/src/androidMain/proto/bonded_roles.proto b/bisqapps/androidNode/src/androidMain/proto/bonded_roles.proto new file mode 100644 index 00000000..6b68a36f --- /dev/null +++ b/bisqapps/androidNode/src/androidMain/proto/bonded_roles.proto @@ -0,0 +1,131 @@ +syntax = "proto3"; +package bonded_roles; +option java_package = "bisq.mobile.bonded_roles.protobuf"; +option java_multiple_files = true; +import "common.proto"; +import "network_identity.proto"; + +enum BondedRoleType { + BONDEDROLETYPE_UNSPECIFIED = 0; + BONDEDROLETYPE_MEDIATOR = 1; + BONDEDROLETYPE_ARBITRATOR = 2; + BONDEDROLETYPE_MODERATOR = 3; + BONDEDROLETYPE_SECURITY_MANAGER = 4; + BONDEDROLETYPE_RELEASE_MANAGER = 5; + BONDEDROLETYPE_SEED_NODE = 10; + BONDEDROLETYPE_ORACLE_NODE = 11; + BONDEDROLETYPE_EXPLORER_NODE = 12; + BONDEDROLETYPE_MARKET_PRICE_NODE = 13; +} +message AuthorizedOracleNode { + network.identity.NetworkId networkId = 1; + string profileId = 2; + string authorizedPublicKey = 3; + string bondUserName = 4; + string signatureBase64 = 5; + bool staticPublicKeysProvided = 6; + sint32 version = 7; +} + +message BondedRoleRegistrationRequest { + string profileId = 1; + string authorizedPublicKey = 2; + BondedRoleType bondedRoleType = 3; + string bondUserName = 4; + string signatureBase64 = 5; + optional common.AddressByTransportTypeMap addressByTransportTypeMap = 6; + network.identity.NetworkId networkId = 7; + bool isCancellationRequest = 8; +} + +message AuthorizedBondedRole { + string profileId = 1; + string authorizedPublicKey = 2; + BondedRoleType bondedRoleType = 3; + string bondUserName = 4; + string signatureBase64 = 5; + optional common.AddressByTransportTypeMap addressByTransportTypeMap = 6; + network.identity.NetworkId networkId = 7; + optional AuthorizedOracleNode authorizingOracleNode = 8; + bool staticPublicKeysProvided = 9; + sint32 version = 10; +} + +enum AlertType { + ALERTTYPE_UNSPECIFIED = 0; + ALERTTYPE_INFO = 1; + ALERTTYPE_WARN = 2; + ALERTTYPE_EMERGENCY = 3; + ALERTTYPE_BAN = 4; +} + +message AuthorizedAlertData { + string id = 1; + sint64 date = 2; + AlertType alertType = 3; + optional string message = 4; + bool haltTrading = 5; + bool requireVersionForTrading = 6; + optional string minVersion = 7; + optional AuthorizedBondedRole bannedRole = 8; + string securityManagerProfileId = 9; + bool staticPublicKeysProvided = 10; + optional string headline = 11; + sint32 version = 12; +} + +message ReleaseNotification { + string id = 1; + sint64 date = 2; + bool isPreRelease = 3; + bool isLauncherUpdate = 4; + string releaseNotes = 5; + string versionString = 6; + string releaseManagerProfileId = 7; + bool staticPublicKeysProvided = 8; + sint32 version = 9; +} + +message AuthorizedDifficultyAdjustmentData { + sint64 date = 1; + double difficultyAdjustmentFactor = 2; + string securityManagerProfileId = 3; + bool staticPublicKeysProvided = 4; + sint32 version = 5; +} + +// Not used anymore since 2.1.1 +message AuthorizedMinRequiredReputationScoreData { + option deprecated = true; + sint64 date = 1; + sint64 minRequiredReputationScore = 2; + string securityManagerProfileId = 3; + bool staticPublicKeysProvided = 4; + sint32 version = 5; +} + +enum MarketPriceProvider { + MARKETPRICEPROVIDER_UNSPECIFIED = 0; + MARKETPRICEPROVIDER_BISQAGGREGATE = 1; + MARKETPRICEPROVIDER_COINGECKO = 2; + MARKETPRICEPROVIDER_POLO = 3; + MARKETPRICEPROVIDER_BITFINEX = 4; + MARKETPRICEPROVIDER_OTHER = 5; +} + +message MarketPrice { + common.PriceQuote priceQuote = 1; + sint64 timestamp = 2; + MarketPriceProvider marketPriceProvider = 3; +} + +message AuthorizedMarketPriceData { + map marketPriceByCurrencyMap = 1; + bool staticPublicKeysProvided = 2; + sint32 version = 3; +} + +message MarketPriceStore { + map marketPriceByCurrencyMap = 1; + common.Market selectedMarket = 2; +} diff --git a/bisqapps/androidNode/src/androidMain/proto/chat.proto b/bisqapps/androidNode/src/androidMain/proto/chat.proto new file mode 100644 index 00000000..c687e037 --- /dev/null +++ b/bisqapps/androidNode/src/androidMain/proto/chat.proto @@ -0,0 +1,211 @@ +/* + * This file is part of Bisq. + * + * Bisq is free software: you can redistribute it and/or modify it + * under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or (at + * your option) any later version. + * + * Bisq is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public + * License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with Bisq. If not, see . + */ + +syntax = "proto3"; + +package chat; +option java_package = "bisq.mobile.chat.protobuf"; +option java_multiple_files = true; +import "common.proto"; +import "network_identity.proto"; +import "security.proto"; +import "offer.proto"; +import "user.proto"; + +enum ChatMessageType { + CHATMESSAGETYPE_UNSPECIFIED = 0; + CHATMESSAGETYPE_TEXT = 1; + CHATMESSAGETYPE_LEAVE = 2; + CHATMESSAGETYPE_TAKE_BISQ_EASY_OFFER = 3; + CHATMESSAGETYPE_PROTOCOL_LOG_MESSAGE = 4; +} + +enum ChatChannelNotificationType { + CHATCHANNELNOTIFICATIONTYPE_UNSPECIFIED = 0; + CHATCHANNELNOTIFICATIONTYPE_GLOBAL_DEFAULT = 1; + CHATCHANNELNOTIFICATIONTYPE_ALL = 2; + CHATCHANNELNOTIFICATIONTYPE_MENTION = 3; + CHATCHANNELNOTIFICATIONTYPE_OFF = 4; +} + +enum ChatChannelDomain { + CHATCHANNELDOMAIN_UNSPECIFIED = 0; + CHATCHANNELDOMAIN_BISQ_EASY_OFFERBOOK = 1; + CHATCHANNELDOMAIN_BISQ_EASY_OPEN_TRADES = 2; + CHATCHANNELDOMAIN_BISQ_EASY_PRIVATE_CHAT = 3 [deprecated = true]; // Dropped in 2.1.1, all messages will fall back on domain DISCUSSION, + CHATCHANNELDOMAIN_DISCUSSION = 4; + CHATCHANNELDOMAIN_EVENTS = 5 [deprecated = true]; // Dropped in 2.1.1, all messages will fall back on domain DISCUSSION + CHATCHANNELDOMAIN_SUPPORT = 6; +} + +message Citation { + string authorUserProfileId = 1; + string text = 2; +} + +message ChatMessage { + string id = 1; + ChatChannelDomain chatChannelDomain = 2; + string channelId = 3; + optional string text = 4; + string authorUserProfileId = 5; + optional Citation citation = 6; + sint64 date = 7; + bool wasEdited = 8; + ChatMessageType chatMessageType = 9; + oneof message { + TwoPartyPrivateChatMessage twoPartyPrivateChatMessage = 20; + CommonPublicChatMessage commonPublicChatMessage = 21; + BisqEasyOpenTradeMessage bisqEasyOpenTradeMessage = 22; + BisqEasyOfferbookMessage bisqEasyOfferbookMessage = 23; + } +} + +message ChatChannel { + string id = 1; + ChatChannelDomain chatChannelDomain = 2; + ChatChannelNotificationType chatChannelNotificationType = 3; + oneof message{ + TwoPartyPrivateChatChannel twoPartyPrivateChatChannel = 10; + CommonPublicChatChannel commonPublicChatChannel = 11; + BisqEasyOpenTradeChannel bisqEasyOpenTradeChannel = 12; + BisqEasyOfferbookChannel bisqEasyOfferbookChannel = 13; + } +} + +// TwoPartyPrivateChat +message TwoPartyPrivateChatMessage { + string receiverUserProfileId = 1; + user.UserProfile sender = 2; + network.identity.NetworkId receiverNetworkId = 3; + repeated ChatMessageReaction chatMessageReactions = 4; +} +message TwoPartyPrivateChatChannel { + user.UserIdentity myUserIdentity = 1; + user.UserProfile peer = 2; + repeated ChatMessage chatMessages = 3; +} +message TwoPartyPrivateChatChannelStore { + repeated ChatChannel channels = 1; +} + +// CommonPublicChat +message CommonPublicChatMessage { +} + +message CommonPublicChatChannel { + string channelTitle = 1; + optional string channelAdminId = 2; + repeated string channelModeratorIds = 3; + bool isVisible = 4; +} +message CommonPublicChatChannelStore { + repeated ChatChannel channels = 1; +} + +// BisqEasy +message BisqEasyOpenTradeMessage { + string tradeId = 1; + string receiverUserProfileId = 2; + network.identity.NetworkId receiverNetworkId = 3; + user.UserProfile sender = 4; + optional user.UserProfile mediator = 5; + optional offer.Offer bisqEasyOffer = 6; + repeated ChatMessageReaction chatMessageReactions = 7; +} +message BisqEasyOpenTradeChannel { + string tradeId = 1; + offer.Offer bisqEasyOffer = 2; + user.UserIdentity myUserIdentity = 3; + repeated user.UserProfile traders = 4; + optional user.UserProfile mediator = 5; + repeated ChatMessage chatMessages = 6; + bool isInMediation = 7; +} +message BisqEasyOpenTradeChannelStore { + repeated ChatChannel channels = 1; +} + +message BisqEasyOfferbookMessage { + optional offer.Offer bisqEasyOffer = 1; +} +message BisqEasyOfferbookChannel { + common.Market market = 1; +} +message BisqEasyOfferbookChannelStore { + repeated ChatChannel channels = 1; +} + +// ChatChannelSelection +message ChatChannelSelectionStore { + optional string selectedChannelId = 1; +} + +message ChatNotification { + string id = 1; + string title = 2; + string message = 3; + sint64 date = 4; + string chatChannelId = 5; + ChatChannelDomain chatChannelDomain = 6; + string chatMessageId = 7; + optional string tradeId = 8; + optional user.UserProfile senderUserProfile = 9; + optional user.UserProfile mediator = 10; + bool isConsumed = 11; +} + +message ChatNotificationsStore { + repeated ChatNotification chatNotifications = 1; +} + +// Reactions +message ChatMessageReaction { + string id = 1; + string userProfileId = 2; + string chatChannelId = 3; + ChatChannelDomain chatChannelDomain = 4; + string chatMessageId = 5; + sint32 reactionId = 6; + sint64 date = 8; + oneof message { + CommonPublicChatMessageReaction commonPublicChatMessageReaction = 20; + BisqEasyOfferbookMessageReaction bisqEasyOfferbookMessageReaction = 21; + TwoPartyPrivateChatMessageReaction twoPartyPrivateChatMessageReaction = 22; + BisqEasyOpenTradeMessageReaction bisqEasyOpenTradeMessageReaction = 23; + } +} + +message CommonPublicChatMessageReaction { +} + +message BisqEasyOfferbookMessageReaction { +} + +message TwoPartyPrivateChatMessageReaction { + string receiverUserProfileId = 1; + user.UserProfile sender = 2; + network.identity.NetworkId receiverNetworkId = 3; + bool isRemoved = 4; +} + +message BisqEasyOpenTradeMessageReaction { + string receiverUserProfileId = 1; + user.UserProfile sender = 2; + network.identity.NetworkId receiverNetworkId = 3; + bool isRemoved = 4; +} diff --git a/bisqapps/androidNode/src/androidMain/proto/common.proto b/bisqapps/androidNode/src/androidMain/proto/common.proto new file mode 100644 index 00000000..694ffd94 --- /dev/null +++ b/bisqapps/androidNode/src/androidMain/proto/common.proto @@ -0,0 +1,103 @@ +/* + * This file is part of Bisq. + * + * Bisq is free software: you can redistribute it and/or modify it + * under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or (at + * your option) any later version. + * + * Bisq is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public + * License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with Bisq. If not, see . + */ + +syntax = "proto3"; + +package common; +option java_package = "bisq.mobile.common.protobuf"; +option java_multiple_files = true; + +message ByteArray { + bytes bytes = 1; +} + +message Country { + string code = 1; + string name = 2; + Region region = 3; +} + +message Region { + string code = 1; + string name = 2; +} + +message CryptoCurrency { +} + +message FiatCurrency { +} + +message TradeCurrency { + string code = 1; + string name = 2; + oneof message { + CryptoCurrency cryptoCurrency = 10; + FiatCurrency fiatCurrency = 11; + } +} + +message Market { + string baseCurrencyCode = 1; + string quoteCurrencyCode = 2; + string baseCurrencyName = 3; + string quoteCurrencyName = 4; +} + +message Coin { +} + +message Fiat { +} + +message Monetary { + string id = 1; + sint64 value = 2; + string code = 3; + sint32 precision = 4; + sint32 lowPrecision = 5; + + oneof message { + Coin coin = 10; + Fiat fiat = 11; + } +} + +message PriceQuote { + sint64 value = 1; + Monetary baseSideMonetary = 2; + Monetary quoteSideMonetary = 3; +} + +message ByteArrayMapEntry { + common.ByteArray key = 1; + common.ByteArray value = 2; +} + +message StringLongPair { + string key = 1; + sint64 value = 2; +} + +message Address { + string host = 1; + sint32 port = 2; +} + +message AddressByTransportTypeMap { + map addressByTransportType = 1; +} diff --git a/bisqapps/androidNode/src/androidMain/proto/contract.proto b/bisqapps/androidNode/src/androidMain/proto/contract.proto new file mode 100644 index 00000000..7cc10441 --- /dev/null +++ b/bisqapps/androidNode/src/androidMain/proto/contract.proto @@ -0,0 +1,98 @@ +/* + * This file is part of Bisq. + * + * Bisq is free software: you can redistribute it and/or modify it + * under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or (at + * your option) any later version. + * + * Bisq is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public + * License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with Bisq. If not, see . + */ + +syntax = "proto3"; + +package contract; +option java_package = "bisq.mobile.contract.protobuf"; +option java_multiple_files = true; + +import "network_identity.proto"; +import "account.proto"; +import "offer.proto"; +import "user.proto"; + +enum Role { + ROLE_UNSPECIFIED = 0; + ROLE_MAKER = 1; + ROLE_TAKER = 2; + ROLE_ESCROW_AGENT = 3; +} + +message Party { + Role role = 1; + network.identity.NetworkId networkId = 2; +} +message Contract { + uint64 takeOfferDate = 1; + offer.Offer offer = 2; + account.TradeProtocolType tradeProtocolType = 3; + oneof message { + TwoPartyContract twoPartyContract = 10; + MultiPartyContract multiPartyContract = 12; + } +} + +message TwoPartyContract { + Party taker = 1; + oneof message { + BisqEasyContract bisqEasyContract = 10; + BisqMuSigContract bisqMuSigContract = 11; + SubmarineContract submarineContract = 12; + } +} + +message MultiPartyContract { + repeated Party parties = 1; +} + +message ContractSignatureData { + bytes contractHash = 1; + bytes signature = 2; + bytes publicKeyBytes = 3; +} +message SignedTwoPartyContract { + Contract contract = 1; + ContractSignatureData makerSignatureData = 2; + ContractSignatureData takerSignatureData = 3; + oneof message { + SignedBisqEasyContract signedBisqEasyContract = 10; + } +} +message SignedBisqEasyContract { +} + +// BisqEasy +message BisqEasyContract { + uint64 baseSideAmount = 1; + uint64 quoteSideAmount = 2; + offer.PaymentMethodSpec baseSidePaymentMethodSpec = 3; + offer.PaymentMethodSpec quoteSidePaymentMethodSpec = 4; + optional user.UserProfile mediator = 12; + offer.PriceSpec agreedPriceSpec = 13; + uint64 marketPrice = 14; +} + + +// BisqMuSig +message BisqMuSigContract { +} + + +// Submarine +message SubmarineContract { +} diff --git a/bisqapps/androidNode/src/androidMain/proto/identity.proto b/bisqapps/androidNode/src/androidMain/proto/identity.proto new file mode 100644 index 00000000..c7f55e31 --- /dev/null +++ b/bisqapps/androidNode/src/androidMain/proto/identity.proto @@ -0,0 +1,36 @@ +/* + * This file is part of Bisq. + * + * Bisq is free software: you can redistribute it and/or modify it + * under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or (at + * your option) any later version. + * + * Bisq is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public + * License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with Bisq. If not, see . + */ + +syntax = "proto3"; + +package identity; +option java_package = "bisq.mobile.identity.protobuf"; +option java_multiple_files = true; +import "network_identity.proto"; +import "security.proto"; + +message Identity { + string domainId = 1; + network.identity.NetworkId networkId = 2; + security.KeyBundle keyBundle = 3; +} + +message IdentityStore { + optional Identity defaultIdentity = 1; + map activeIdentityByDomainId = 2; + repeated Identity retired = 3; +} diff --git a/bisqapps/androidNode/src/androidMain/proto/network.proto b/bisqapps/androidNode/src/androidMain/proto/network.proto new file mode 100644 index 00000000..33a0a4c2 --- /dev/null +++ b/bisqapps/androidNode/src/androidMain/proto/network.proto @@ -0,0 +1,396 @@ +syntax = "proto3"; +package network; +option java_package = "bisq.mobile.network.protobuf"; +option java_multiple_files = true; +import "common.proto"; +import "network_identity.proto"; +import "security.proto"; +import "google/protobuf/any.proto"; + +//////////////////////////////////////////////////////////////////// +// Data +//////////////////////////////////////////////////////////////////// + +message NetworkLoad { + double load = 1; + double difficultyAdjustmentFactor = 2; +} + +enum Feature { + FEATURE_UNSPECIFIED = 0; + FEATURE_INVENTORY_HASH_SET = 1; + FEATURE_INVENTORY_MINI_SKETCH = 2; + FEATURE_AUTHORIZATION_HASH_CASH = 3; + FEATURE_AUTHORIZATION_EQUI_HASH = 4; +} + +message Capability { + common.Address address = 1; + repeated string supportedTransportTypes = 2; + repeated Feature features = 3; + sint32 version = 4; + string applicationVersion = 5; +} + +enum InventoryFilterType{ + INVENTORYFILTERTYPE_UNSPECIFIED = 0; + INVENTORYFILTERTYPE_HASH_SET = 1; + INVENTORYFILTERTYPE_MINI_SKETCH = 2; +} + +message HashSetFilterEntry { + bytes hash = 1; + sint32 sequenceNumber = 2; +} + +message HashSetFilter { + repeated HashSetFilterEntry filterEntries = 1; +} + +message MiniSketchFilter { +} + +message InventoryFilter { + InventoryFilterType inventoryFilterType = 1; + oneof message { + HashSetFilter hashSetFilter = 10; + MiniSketchFilter miniSketchFilter = 11; + } +} + +message Inventory { + repeated DataRequest entries = 1; + bool maxSizeReached = 2; +} + +message Peer { + Capability capability = 1; + NetworkLoad networkLoad = 2; + bool isOutboundConnection = 3; + sint64 created = 4; +} + +enum AuthorizationTokenType{ + AUTHORIZATIONTOKENTYPE_UNSPECIFIED = 0; + AUTHORIZATIONTOKENTYPE_HASH_CASH = 1; + AUTHORIZATIONTOKENTYPE_EQUI_HASH = 2; +} + +message HashCashToken { + security.ProofOfWork proofOfWork = 1; + sint32 messageCounter = 2; +} +message EquiHashToken { + security.ProofOfWork proofOfWork = 1; + sint32 messageCounter = 2; +} +message AuthorizationToken { + AuthorizationTokenType authorizationTokenType = 1; + + oneof message { + HashCashToken hashCashToken = 10; + EquiHashToken equiHashToken = 11; + }; +} + + +//////////////////////////////////////////////////////////////////// +// NetworkMessages +//////////////////////////////////////////////////////////////////// + +message ConnectionHandshake { + message Request { + Capability capability = 1; + optional bytes addressOwnershipProof = 2; + NetworkLoad networkLoad = 3; + sint64 signatureDate = 4; + } + message Response { + Capability capability = 1; + NetworkLoad networkLoad = 2; + } +} + +message CloseConnectionMessage { + string closeReason = 1; +} + +message PeerExchangeRequest { + sint32 nonce = 1; + repeated Peer peers = 2; +} +message PeerExchangeResponse { + sint32 nonce = 1; + repeated Peer peers = 2; +} + +message Ping { + sint32 nonce = 1; +} +message Pong { + sint32 requestNonce = 1; +} + +message NetworkLoadExchangeRequest { + sint32 nonce = 1; + NetworkLoad networkLoad = 2; +} + +message NetworkLoadExchangeResponse { + sint32 requestNonce = 1; + NetworkLoad networkLoad = 2; +} + +message ConfidentialMessage { + security.ConfidentialData confidentialData = 1; + string receiverKeyId = 2; +} + +message AckMessage { + string id = 1; +} + +message InventoryRequest { + InventoryFilter inventoryFilter = 1; + sint32 nonce = 2; + sint32 version = 3; +} + +message InventoryResponse { + Inventory inventory = 1; + sint32 requestNonce = 2; + sint32 version = 3; +} + +message ExternalNetworkMessage { + google.protobuf.Any payload = 1; +} + + +//////////////////////////////////////////////////////////////////// +// EnvelopePayloadMessage types +//////////////////////////////////////////////////////////////////// + +message EnvelopePayloadMessage { + oneof message { + ConnectionHandshake.Request connectionHandshakeRequest = 1; + ConnectionHandshake.Response connectionHandshakeResponse = 2; + + CloseConnectionMessage closeConnectionMessage = 3; + + PeerExchangeRequest peerExchangeRequest = 4; + PeerExchangeResponse peerExchangeResponse = 5; + + Ping ping = 6; + Pong pong = 7; + + ConfidentialMessage confidentialMessage = 8; + AckMessage ackMessage = 9; + + InventoryRequest inventoryRequest = 10; + InventoryResponse inventoryResponse = 11; + + DataRequest dataRequest = 12; + + NetworkLoadExchangeRequest networkLoadExchangeRequest = 13; + NetworkLoadExchangeResponse networkLoadExchangeResponse = 14; + + // Wrapper for NetworkMessages defined in other modules like PrivateChatMessage which are wrapped in an Any blob + ExternalNetworkMessage externalNetworkMessage = 15; + + ReportRequest reportRequest = 16; + ReportResponse reportResponse = 17; + } +} + + +//////////////////////////////////////////////////////////////////// +// DataRequests +//////////////////////////////////////////////////////////////////// + +message MetaData { + sint64 ttl = 1; + sint32 priority = 2; + sint32 maxMapSize = 3; + string className = 4; +} +message AuthorizedData { + optional bytes signature = 1; + bytes authorizedPublicKeyBytes = 2; +} +message DefaultAuthenticatedData { +} +message AuthenticatedData { + google.protobuf.Any distributedData = 1; + oneof message { + DefaultAuthenticatedData defaultAuthenticatedData = 10; + AuthorizedData authorizedData = 11; + } +} +message AuthenticatedSequentialData { + AuthenticatedData authenticatedData = 1; + sint32 sequenceNumber = 2; + bytes pubKeyHash = 3; + sint64 created = 4; +} +message AddAuthenticatedDataRequest { + AuthenticatedSequentialData authenticatedSequentialData = 1; + bytes signature = 2; + bytes ownerPublicKeyBytes = 3; +} +message RemoveAuthenticatedDataRequest { + MetaData metaData = 1; + bytes hash = 2; + bytes ownerPublicKeyBytes = 3; + sint32 sequenceNumber = 4; + bytes signature = 5; + sint64 created = 6; + sint32 version = 7; +} +message RefreshAuthenticatedDataRequest { + MetaData metaData = 1; + bytes hash = 2; + bytes ownerPublicKeyBytes = 3; + sint32 sequenceNumber = 4; + bytes signature = 5; + sint32 version = 6; + sint64 created = 7; +} + +message MailboxData { + ConfidentialMessage confidentialMessage = 1; + MetaData metaData = 2; + sint32 version = 3; +} +message MailboxSequentialData { + MailboxData mailboxData = 1; + sint32 sequenceNumber = 2; + bytes senderPublicKeyHash = 3; + sint64 created = 4; + bytes receiversPubKeyBytes = 5; + bytes receiversPubKeyHash = 6; +} +message AddMailboxRequest { + MailboxSequentialData mailboxSequentialData = 1; + bytes signature = 2; + bytes senderPublicKeyBytes = 3; +} +message RemoveMailboxRequest { + MetaData metaData = 1; + bytes hash = 2; + bytes receiverPublicKeyBytes = 3; + bytes signature = 4; + sint64 created = 5; + sint32 version = 6; +} + +message AddAppendOnlyDataRequest { + google.protobuf.Any appendOnlyData = 1; +} + +//////////////////////////////////////////////////////////////////// +// DataRequest types +//////////////////////////////////////////////////////////////////// + +message DataRequest { + oneof message { + AddAuthenticatedDataRequest addAuthenticatedDataRequest = 1; + RemoveAuthenticatedDataRequest removeAuthenticatedDataRequest = 2; + RefreshAuthenticatedDataRequest refreshAuthenticatedDataRequest = 3; + + AddMailboxRequest addMailboxRequest = 4; + RemoveMailboxRequest removeMailboxRequest = 5; + + AddAppendOnlyDataRequest addAppendOnlyDataRequest = 6; + } +} + + +//////////////////////////////////////////////////////////////////// +// NetworkEnvelope +//////////////////////////////////////////////////////////////////// + +message NetworkEnvelope { + sint32 version = 1; + AuthorizationToken authorizationToken = 2; + EnvelopePayloadMessage networkMessage = 3; +} + +enum MessageDeliveryStatus { + MESSAGEDELIVERYSTATUS_UNSPECIFIED = 0; + MESSAGEDELIVERYSTATUS_CONNECTING = 1; + MESSAGEDELIVERYSTATUS_SENT = 2; + MESSAGEDELIVERYSTATUS_ACK_RECEIVED = 3; + MESSAGEDELIVERYSTATUS_TRY_ADD_TO_MAILBOX = 4; + MESSAGEDELIVERYSTATUS_ADDED_TO_MAILBOX = 5; + MESSAGEDELIVERYSTATUS_MAILBOX_MSG_RECEIVED = 6; + MESSAGEDELIVERYSTATUS_FAILED = 7; +} + + +//////////////////////////////////////////////////////////////////// +// Stores +//////////////////////////////////////////////////////////////////// + +message DataStore { + message MapEntry { + .common.ByteArray key = 1; // The leading dot is needed to distinguish between common module and network.common + DataRequest value = 2; + } + repeated MapEntry mapEntries = 1; +} + +message NetworkServiceStore { + repeated common.AddressByTransportTypeMap seedNodes = 1; + map networkIdByTag = 2 [deprecated = true]; // Moved to NetworkIdStore +} + +message NetworkIdStore { + map networkIdByTag = 1; +} + +message MessageDeliveryStatusStore { + map messageDeliveryStatusByMessageId = 1; + map creationDateByMessageId = 2; +} + +message ResendMessageData { + EnvelopePayloadMessage envelopePayloadMessage = 1; + network.identity.NetworkId receiverNetworkId = 2; + security.KeyPair senderKeyPair = 3; + network.identity.NetworkId senderNetworkId = 4; + MessageDeliveryStatus messageDeliveryStatus = 5; + sint64 date = 6; +} + +message ResendMessageStore { + map resendMessageDataByMessageId = 1; + map numResendsByMessageId = 2; +} + +message PeerGroupStore { + repeated Peer persistedPeers = 1; +} + + +//////////////////////////////////////////////////////////////////// +// Report +//////////////////////////////////////////////////////////////////// + +message Report { + map authorizedDataPerClassName = 1; + map authenticatedDataPerClassName = 2; + map mailboxDataPerClassName = 3; + sint32 numConnections = 4; + sint32 memoryUsed = 5; + sint32 numThreads = 6; + double nodeLoad = 7; +} +message ReportRequest { + string requestId = 1; +} +message ReportResponse { + string requestId = 1; + Report report = 2; +} + \ No newline at end of file diff --git a/bisqapps/androidNode/src/androidMain/proto/network_identity.proto b/bisqapps/androidNode/src/androidMain/proto/network_identity.proto new file mode 100644 index 00000000..96179bbf --- /dev/null +++ b/bisqapps/androidNode/src/androidMain/proto/network_identity.proto @@ -0,0 +1,11 @@ +syntax = "proto3"; +package network.identity; +option java_package = "bisq.mobile.network.identity.protobuf"; +option java_multiple_files = true; +import "common.proto"; +import "security.proto"; + +message NetworkId { + common.AddressByTransportTypeMap addressByNetworkTypeMap = 1; + security.PubKey pubKey = 2; +} \ No newline at end of file diff --git a/bisqapps/androidNode/src/androidMain/proto/offer.proto b/bisqapps/androidNode/src/androidMain/proto/offer.proto new file mode 100644 index 00000000..c690d008 --- /dev/null +++ b/bisqapps/androidNode/src/androidMain/proto/offer.proto @@ -0,0 +1,156 @@ +syntax = "proto3"; +package offer; +option java_package = "bisq.mobile.offer.protobuf"; +option java_multiple_files = true; +import "common.proto"; +import "network_identity.proto"; +import "security.proto"; +import "account.proto"; + +enum Direction { + DIRECTION_UNSPECIFIED = 0; + DIRECTION_BUY = 1; + DIRECTION_SELL = 2; +} + +// AmountSpec +message BaseSideFixedAmountSpec { +} +message QuoteSideFixedAmountSpec { +} +message BaseSideRangeAmountSpec { +} +message QuoteSideRangeAmountSpec { +} +message FixedAmountSpec { + sint64 amount = 1; + oneof message { + BaseSideFixedAmountSpec baseSideFixedAmountSpec = 10; + QuoteSideFixedAmountSpec quoteSideFixedAmountSpec = 11; + } +} +message RangeAmountSpec { + sint64 minAmount = 1; + sint64 maxAmount = 2; + oneof message { + BaseSideRangeAmountSpec baseSideRangeAmountSpec = 10; + QuoteSideRangeAmountSpec quoteSideRangeAmountSpec = 11; + } +} +message AmountSpec { + oneof message { + FixedAmountSpec fixedAmountSpec = 1; + RangeAmountSpec rangeAmountSpec = 2; + } +} + +// PriceSpec +message FixPrice { + common.PriceQuote priceQuote = 1; +} +message FloatPrice { + double percentage = 1; +} +message MarketPrice { +} +message PriceSpec { + oneof message { + FixPrice fixPrice = 1; + FloatPrice floatPrice = 2; + MarketPrice marketPrice = 3; + } +} + +message FiatPaymentMethodSpec { +} + +message BitcoinPaymentMethodSpec { +} + +message PaymentMethodSpec { + account.PaymentMethod paymentMethod = 1; + optional string saltedMakerAccountId = 2; + oneof message { + BitcoinPaymentMethodSpec bitcoinPaymentMethodSpec = 10; + FiatPaymentMethodSpec fiatPaymentMethodSpec = 11; + } +} + +// options +message ReputationOption { + uint64 requiredTotalReputationScore = 1 [deprecated = true]; // Not used anymore since 2.1.1 +} +message TradeTermsOption { + string makersTradeTerms = 1; +} + +message CollateralOption { + sint64 buyerSecurityDeposit = 1; + sint64 sellerSecurityDeposit = 2; +} + +message FeeOption { + enum FeeType { + FEETYPE_UNSPECIFIED = 0; + FEETYPE_BTC = 1; + FEETYPE_BSQ = 2; + } + FeeType feeType = 10; + sint32 blockHeightAtFeePayment = 11; + string feeTxId = 12; +} + +message FiatPaymentOption { + string countyCodeOfBank = 1; + string bankName = 2; +} + +message OfferOption { + oneof message { + TradeTermsOption tradeTermsOption = 1; + ReputationOption reputationOption = 2; + CollateralOption collateralOption = 4; + FiatPaymentOption fiatPaymentOption = 5; + FeeOption feeOption = 6; + } +} + +// Offer +message Offer { + string id = 1; + sint64 date = 2; + network.identity.NetworkId makerNetworkId = 3; + common.Market market = 4; + Direction direction = 5; + AmountSpec amountSpec = 6; + PriceSpec priceSpec = 7; + repeated account.TradeProtocolType protocolTypes = 8; + repeated PaymentMethodSpec baseSidePaymentSpecs = 9; + repeated PaymentMethodSpec quoteSidePaymentSpecs = 10; + repeated OfferOption offerOptions = 11; + oneof message { + BisqEasyOffer bisqEasyOffer = 30; + BisqMuSigOffer bisqMuSigOffer = 31; + SubmarineOffer submarineOffer = 32; + } +} + +message OfferMessage { + Offer offer = 1; +} + +// BisqEasy +message BisqEasyOffer { + repeated string supportedLanguageCodes = 1; +} + +// BisqMuSig +message BisqMuSigOffer { +} +message MyBisqMuSigOffersStore { + repeated Offer offers = 1; +} + +// Submarine +message SubmarineOffer { +} diff --git a/bisqapps/androidNode/src/androidMain/proto/persistence.proto b/bisqapps/androidNode/src/androidMain/proto/persistence.proto new file mode 100644 index 00000000..13de61bb --- /dev/null +++ b/bisqapps/androidNode/src/androidMain/proto/persistence.proto @@ -0,0 +1,27 @@ +/* + * This file is part of Bisq. + * + * Bisq is free software: you can redistribute it and/or modify it + * under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or (at + * your option) any later version. + * + * Bisq is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public + * License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with Bisq. If not, see . + */ + +syntax = "proto3"; + +package persistence; +option java_package = "bisq.mobile.persistence.protobuf"; +option java_multiple_files = true; +import "google/protobuf/any.proto"; + +message PersistableStore { + google.protobuf.Any any = 1; +} diff --git a/bisqapps/androidNode/src/androidMain/proto/presentation.proto b/bisqapps/androidNode/src/androidMain/proto/presentation.proto new file mode 100644 index 00000000..d717dc54 --- /dev/null +++ b/bisqapps/androidNode/src/androidMain/proto/presentation.proto @@ -0,0 +1,22 @@ +/* + * This file is part of Bisq. + * + * Bisq is free software: you can redistribute it and/or modify it + * under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or (at + * your option) any later version. + * + * Bisq is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public + * License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with Bisq. If not, see . + */ + +syntax = "proto3"; + +package presentation; +option java_package = "bisq.mobile.presentation.protobuf"; +option java_multiple_files = true; diff --git a/bisqapps/androidNode/src/androidMain/proto/security.proto b/bisqapps/androidNode/src/androidMain/proto/security.proto new file mode 100644 index 00000000..942be0d4 --- /dev/null +++ b/bisqapps/androidNode/src/androidMain/proto/security.proto @@ -0,0 +1,82 @@ +/* + * This file is part of Bisq. + * + * Bisq is free software: you can redistribute it and/or modify it + * under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or (at + * your option) any later version. + * + * Bisq is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public + * License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with Bisq. If not, see . + */ + +syntax = "proto3"; + +package security; +option java_package = "bisq.mobile.security.protobuf"; +option java_multiple_files = true; + +message PubKey { + bytes publicKey = 1; + string keyId = 2; +} + +message ConfidentialData { + bytes senderPublicKey = 1; + bytes iv = 2; + bytes cipherText = 3; + bytes signature = 4; +} + +message EncryptedData { + bytes iv = 1; + bytes cipherText = 2; +} + +// Protobuf wrapper for java.security.KeyPair used by other modules +message KeyPair { + bytes privateKey = 1; + bytes publicKey = 2; +} +message TorKeyPair { + bytes privateKey = 1; + bytes publicKey = 2; + string onionAddress = 3; +} +message I2PKeyPair { + bytes privateKey = 1; + bytes publicKey = 2; + string destination = 3; +} +message KeyBundle { + string keyId = 1; + KeyPair keyPair = 2; + TorKeyPair torKeyPair = 3; + /*I2PKeyPair i2PKeyPair = 4;*/ +} +message KeyBundleStore { + string secretUid = 1; + map keyBundleById = 2; +} + +message ProofOfWork { + bytes payload = 1; + sint64 counter = 2; + optional bytes challenge = 3; + double difficulty = 4; + bytes solution = 5; + sint64 duration = 6; +} + +message ScryptParameters { + bytes salt = 1; + sint32 cost = 2; + sint32 blockSize = 3; + sint32 parallelization = 4; + sint32 keyLength = 5; +} diff --git a/bisqapps/androidNode/src/androidMain/proto/settings.proto b/bisqapps/androidNode/src/androidMain/proto/settings.proto new file mode 100644 index 00000000..e145e81e --- /dev/null +++ b/bisqapps/androidNode/src/androidMain/proto/settings.proto @@ -0,0 +1,67 @@ +/* + * This file is part of Bisq. + * + * Bisq is free software: you can redistribute it and/or modify it + * under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or (at + * your option) any later version. + * + * Bisq is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public + * License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with Bisq. If not, see . + */ + +syntax = "proto3"; + +package settings; +option java_package = "bisq.mobile.settings.protobuf"; +option java_multiple_files = true; +import "common.proto"; + +message CookieMapEntry { + string key = 1; + string value = 2; + optional string subKey = 3; +} +message Cookie { + repeated CookieMapEntry cookieMapEntries = 1; +} + +enum ChatNotificationType { + CHATNOTIFICATIONTYPE_UNSPECIFIED = 0; + CHATNOTIFICATIONTYPE_ALL = 1; + CHATNOTIFICATIONTYPE_MENTION = 2; + CHATNOTIFICATIONTYPE_OFF = 3; +} + +message SettingsStore { + Cookie cookie = 1; + map dontShowAgainMap = 2; + bool useAnimations = 3; + common.Market selectedMarket = 4; + sint64 minRequiredReputationScore = 5 [deprecated = true]; // Not used anymore since 2.1.1 + bool offersOnly = 6; + bool tradeRulesConfirmed = 7; + ChatNotificationType chatNotificationType = 8; + bool isTacAccepted = 9; + repeated string consumedAlertIds = 10; + bool closeMyOfferWhenTaken = 11; + string languageCode = 12; + bool preventStandbyMode = 13; + repeated string supportedLanguageCodes = 14; + double difficultyAdjustmentFactor = 15; + bool ignoreDiffAdjustmentFromSecManager = 16; + repeated common.Market favouriteMarkets = 17; + bool ignoreMinRequiredReputationScoreFromSecManager = 18 [deprecated = true]; // Not used anymore since 2.1.1 + double maxTradePriceDeviation = 19; + bool showBuyOffers = 20; + bool showOfferListExpanded = 21; + bool showMarketSelectionListCollapsed = 22; + string backupLocation = 23; + bool showMyOffersOnly = 24; + double totalMaxBackupSizeInMB = 25; +} diff --git a/bisqapps/androidNode/src/androidMain/proto/support.proto b/bisqapps/androidNode/src/androidMain/proto/support.proto new file mode 100644 index 00000000..dc63831a --- /dev/null +++ b/bisqapps/androidNode/src/androidMain/proto/support.proto @@ -0,0 +1,40 @@ +syntax = "proto3"; +package support; +option java_package = "bisq.mobile.support.protobuf"; +option java_multiple_files = true; +import "user.proto"; +import "chat.proto"; +import "offer.proto"; +import "contract.proto"; +import "network.proto"; + +message MediationRequest { + string tradeId = 1; + contract.Contract contract = 2; + user.UserProfile requester = 3; + user.UserProfile peer = 4; + repeated chat.ChatMessage chatMessages = 5; +} +message MediatorsResponse { + string tradeId = 1; +} + +message MediationCase { + MediationRequest mediationRequest = 1; + sint64 requestDate = 2; + bool isClosed = 3; +} +message MediatorStore { + repeated MediationCase mediationCases = 1; +} + +message ReportToModeratorMessage { + sint64 date = 1; + string reporterUserProfileId = 2; + user.UserProfile accusedUserProfile = 3; + string message = 4; + chat.ChatChannelDomain chatChannelDomain = 5; +} +message ModeratorStore { + repeated ReportToModeratorMessage reportToModeratorMessages = 1; +} diff --git a/bisqapps/androidNode/src/androidMain/proto/trade.proto b/bisqapps/androidNode/src/androidMain/proto/trade.proto new file mode 100644 index 00000000..8468605c --- /dev/null +++ b/bisqapps/androidNode/src/androidMain/proto/trade.proto @@ -0,0 +1,166 @@ +/* + * This file is part of Bisq. + * + * Bisq is free software: you can redistribute it and/or modify it + * under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or (at + * your option) any later version. + * + * Bisq is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public + * License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with Bisq. If not, see . + */ + +syntax = "proto3"; + +package trade; +option java_package = "bisq.mobile.trade.protobuf"; +option java_multiple_files = true; + +import "offer.proto"; +import "network_identity.proto"; +import "contract.proto"; +import "identity.proto"; + +message TradeParty { + network.identity.NetworkId networkId = 1; + optional contract.ContractSignatureData contractSignatureData = 2; + oneof message { + BisqEasyTradeParty bisqEasyTradeParty = 20; + BisqMuSigTradeParty bisqMuSigTradeParty = 21; + SubmarineTradeParty submarineTradeParty = 22; + } +} + +enum TradeRole{ + TRADEROLE_UNSPECIFIED = 0; + TRADEROLE_BUYER_AS_TAKER = 1; + TRADEROLE_BUYER_AS_MAKER = 2; + TRADEROLE_SELLER_AS_TAKER = 3; + TRADEROLE_SELLER_AS_MAKER = 4; +} +message Trade { + string state = 1; + string id = 2; + TradeRole tradeRole = 3; + identity.Identity myIdentity = 4; + optional contract.Contract contract = 5; + TradeParty taker = 6; + TradeParty maker = 7; + optional string errorMessage = 8; + optional string errorStackTrace = 9; + optional string peersErrorMessage = 10; + optional string peersErrorStackTrace = 11; + + oneof message { + BisqEasyTrade bisqEasyTrade = 30; + BisqMuSigTrade bisqMuSigTrade = 31; + SubmarineTrade submarineTrade = 32; + } +} +message TradeMessage { + string id = 1; + string tradeId = 2; + string protocolVersion = 3; + network.identity.NetworkId sender = 4; + network.identity.NetworkId receiver = 5; + oneof message { + BisqEasyTradeMessage bisqEasyTradeMessage = 20; + SubmarineTradeMessage submarineTradeMessage = 21; + BisqMuSigTradeMessage bisqMuSigTradeMessage = 23; + } +} + +// BisqEasy +message BisqEasyTradeParty { +} + +message BisqEasyTrade { + optional string paymentAccountData = 1; + optional string bitcoinPaymentData = 2; + optional string paymentProof = 3; + optional contract.Role interruptTradeInitiator = 4; +} + +message BisqEasyTradeStore { + repeated Trade trades = 1; + repeated string tradeIds = 2; +} + +// BisqEasy messages +message BisqEasyTradeMessage { + oneof message { + BisqEasyTakeOfferRequest bisqEasyTakeOfferRequest = 20; + BisqEasyTakeOfferResponse bisqEasyTakeOfferResponse = 21; + BisqEasyAccountDataMessage bisqEasyAccountDataMessage = 22; + BisqEasyConfirmFiatSentMessage bisqEasyConfirmFiatSentMessage = 23; + BisqEasyBtcAddressMessage bisqEasyBtcAddressMessage = 24; + BisqEasyConfirmFiatReceiptMessage bisqEasyConfirmFiatReceiptMessage = 25; + BisqEasyConfirmBtcSentMessage bisqEasyConfirmBtcSentMessage = 26; + BisqEasyRejectTradeMessage bisqEasyRejectTradeMessage = 27; + BisqEasyCancelTradeMessage bisqEasyCancelTradeMessage = 28; + BisqEasyReportErrorMessage bisqEasyReportErrorMessage = 29; + } +} +message BisqEasyTakeOfferRequest { + contract.Contract bisqEasyContract = 1; + contract.ContractSignatureData contractSignatureData = 2; +} +message BisqEasyTakeOfferResponse { + contract.ContractSignatureData contractSignatureData = 1; +} +message BisqEasyAccountDataMessage { + string paymentAccountData = 1; + offer.Offer bisqEasyOffer = 2; +} +message BisqEasyConfirmFiatSentMessage { +} +message BisqEasyBtcAddressMessage { + string bitcoinPaymentData = 1; + offer.Offer bisqEasyOffer = 2; +} +message BisqEasyConfirmFiatReceiptMessage { +} +message BisqEasyConfirmBtcSentMessage { + optional string paymentProof = 1; +} +message BisqEasyRejectTradeMessage { +} +message BisqEasyCancelTradeMessage { +} +message BisqEasyReportErrorMessage { + string errorMessage = 1; + string stackTrace = 2; +} + + +// BisqMuSig +message BisqMuSigTradeMessage{ +} +message BisqMuSigTradeParty { +} + +message BisqMuSigTrade { +} + +message BisqMuSigTradeStore { + map tradeById = 1; +} + + +// Submarine +message SubmarineTradeMessage { +} +message SubmarineTradeParty { +} + +message SubmarineTrade { +} + +message SubmarineTradeStore { + map tradeById = 1; +} diff --git a/bisqapps/androidNode/src/androidMain/proto/user.proto b/bisqapps/androidNode/src/androidMain/proto/user.proto new file mode 100644 index 00000000..6b57032d --- /dev/null +++ b/bisqapps/androidNode/src/androidMain/proto/user.proto @@ -0,0 +1,160 @@ +/* + * This file is part of Bisq. + * + * Bisq is free software: you can redistribute it and/or modify it + * under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or (at + * your option) any later version. + * + * Bisq is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public + * License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with Bisq. If not, see . + */ + +syntax = "proto3"; + +package user; +option java_package = "bisq.mobile.user.protobuf"; +option java_multiple_files = true; +import "network_identity.proto"; +import "security.proto"; +import "identity.proto"; + +message UserProfile { + string nickName = 1; + network.identity.NetworkId networkId = 2; + security.ProofOfWork proofOfWork = 3; + string terms = 4; + string statement = 5; + sint32 avatarVersion = 6; + sint32 version = 7; + string applicationVersion = 8; +} + +message UserIdentity { + identity.Identity identity = 1; + UserProfile userProfile = 2; +} + +// Stores +message UserIdentityStore { + repeated UserIdentity userIdentities = 1; + optional string selectedUserIdentityId = 2; + optional security.EncryptedData encryptedData = 3; + optional security.ScryptParameters scryptParameters = 4; + sint64 lastUserProfilePublishingDate = 5 [deprecated = true]; // Not used anymore in v2.1.0 +} + +message NymList { + repeated string nyms = 1; +} + +message UserProfileStore { + map nymListByNickName = 1; + repeated string ignoredUserProfileIds = 2; + map userProfileById = 3; +} + +message ProofOfBurnProof { + string txId = 1; + sint64 burntAmount = 2; + sint64 date = 3; +} +message BondedRoleProof { + string txId = 1; + string signature = 2; +} +message InvitationProof { + string invitationCode = 1; +} + +message AccountAgeStore { + repeated string jsonRequests = 1; + sint64 lastRequested = 2; +} + +message SignedWitnessStore { + repeated string jsonRequests = 1; + sint64 lastRequested = 2; +} + +message ProfileAgeStore { + repeated string profileIds = 1; + sint64 lastRequested = 2; +} + +message AuthorizeAccountAgeRequest { + string profileId = 1; + string hashAsHex = 2; + sint64 date = 3; + string pubKeyBase64 = 4; + string signatureBase64 = 5; +} + +message AuthorizeSignedWitnessRequest { + string profileId = 1; + string hashAsHex = 2; + sint64 accountAgeWitnessDate = 3; + sint64 witnessSignDate = 4; + string pubKeyBase64 = 5; + string signatureBase64 = 6; +} + +message AuthorizeTimestampRequest { + string profileId = 1; +} + +message AuthorizedProofOfBurnData { + sint64 amount = 1; + sint64 blockTime = 2; + bytes hash = 3; + bool staticPublicKeysProvided = 4; + sint32 version = 5; + sint32 blockHeight = 6; + string txId = 7; +} + +message AuthorizedBondedReputationData { + sint64 amount = 1; + sint64 blockTime = 2; + bytes hash = 3; + sint64 lockTime = 4; + bool staticPublicKeysProvided = 5; + sint32 version = 6; + sint32 blockHeight = 7; + string txId = 8; +} + +message AuthorizedAccountAgeData { + string profileId = 1; + sint64 date = 2; + bool staticPublicKeysProvided = 3; + sint32 version = 4; +} + +message AuthorizedSignedWitnessData { + string profileId = 1; + sint64 witnessSignDate = 2; + bool staticPublicKeysProvided = 3; + sint32 version = 4; +} + +message AuthorizedTimestampData { + string profileId = 1; + sint64 date = 2; + bool staticPublicKeysProvided = 3; + sint32 version = 4; +} + +message BannedUserProfileData { + UserProfile userProfile = 1; + bool staticPublicKeysProvided = 2; + sint32 version = 3; +} +message BannedUserStore { + repeated BannedUserProfileData bannedUserProfileDataSet = 1; +} diff --git a/bisqapps/build.gradle.kts b/bisqapps/build.gradle.kts index 0158e72f..92c6c839 100644 --- a/bisqapps/build.gradle.kts +++ b/bisqapps/build.gradle.kts @@ -8,4 +8,6 @@ plugins { alias(libs.plugins.compose.compiler).apply(false) alias(libs.plugins.buildconfig).apply(false) + + alias(libs.plugins.protobuf).apply(false) } diff --git a/bisqapps/gradle/libs.versions.toml b/bisqapps/gradle/libs.versions.toml index eab67e54..c685ee0e 100644 --- a/bisqapps/gradle/libs.versions.toml +++ b/bisqapps/gradle/libs.versions.toml @@ -13,12 +13,38 @@ androidx-lifecycle = "2.8.2" androidx-material = "1.12.0" androidx-test-junit = "1.2.1" androidx-test-compose-ver = "1.6.8" +bisq-core = "2.1.2" compose-plugin = "1.7.0" junit = "4.13.2" kotlin = "2.0.20" kotlinx = "1.9.0" kermit = "2.0.4" buildconfig = "5.5.0" +protobuf = "0.9.4" +protoblite = "4.28.2" + +chimp-jsocks-lib = { strictly = '567e1cd6' } +chimp-jtorctl-lib = { strictly = '9b5ba203' } +failsafe-lib = { strictly = '3.2.4' } +apache-commons-lang-lib = { strictly = '3.14.0' } +apache-httpcomponents-core-lib = { strictly = '4.4.16' } +apache-httpcomponents-httpclient-lib = { strictly = '4.5.14' } # 5.3.1 would be better but has lot of API changes +apache-tomcat-annotations-api = { strictly = '6.0.53' } + +assertj-core-lib = { strictly = '3.22.0' } +bouncycastle-lib = { strictly = '1.78.1' } + +glassfish-jersey-lib = { strictly = '3.1.8' } +glassfish-jaxb-runtime-lib = { strictly = '4.0.5' } + +google-gson-lib = { strictly = '2.9.0' } +google-guava-lib = { strictly = '33.2.1-jre' } + +grpc = { strictly = '1.61.0' } + +i2p-lib = { strictly = '1.8.0' } +i2p-v2 = { strictly = '2.4.0' } +jackson-lib = { strictly = '2.17.2' } [libraries] kotlin-test = { module = "org.jetbrains.kotlin:kotlin-test", version.ref = "kotlin" } @@ -39,6 +65,72 @@ androidx-lifecycle-runtime-compose = { group = "org.jetbrains.androidx.lifecycle logging-kermit = { group = "co.touchlab", name = "kermit", version.ref = "kermit" } +protobuf-lite = { group ="com.google.protobuf", name = "protobuf-javalite", version.ref = "protoblite"} +protobuf-gradle-plugin = { module = 'com.google.protobuf:protobuf-gradle-plugin', version.ref = 'protobuf' } +protoc = { module = "com.google.protobuf:protoc", version.ref = "protoblite" } + + +bisq-core-common = { module = "bisq:common", version.ref = "bisq-core" } +bisq-core-security = { module = "bisq:security", version.ref = "bisq-core" } +bisq-core-settings = { module = "bisq:settings", version.ref = "bisq-core" } +bisq-core-support = { module = "bisq:support", version.ref = "bisq-core" } +bisq-core-trade = { module = "bisq:trade", version.ref = "bisq-core" } +bisq-core-user = { module = "bisq:user", version.ref = "bisq-core" } +bisq-core-network-network = { module = "network:network", version.ref = "bisq-core" } +bisq-core-network-network-identity = { module = "network:network-identity", version.ref = "bisq-core" } +bisq-core-network-socks5-socket-channel = { module = "network:socks5-socket-channel", version.ref = "bisq-core" } +bisq-core-network-i2p = { module = "network:i2p", version.ref = "bisq-core" } +bisq-core-offer = { module = "bisq:offer", version.ref = "bisq-core" } +bisq-core-persistence = { module = "bisq:persistence", version.ref = "bisq-core" } +bisq-core-presentation = { module = "bisq:presentation", version.ref = "bisq-core" } +bisq-core-account = { module = "bisq:account", version.ref = "bisq-core" } +bisq-core-application = { module = "bisq:application", version.ref = "bisq-core" } +bisq-core-bonded-roles = { module = "bisq:bonded-roles", version.ref = "bisq-core" } +bisq-core-chat = { module = "bisq:chat", version.ref = "bisq-core" } +bisq-core-contract = { module = "bisq:contract", version.ref = "bisq-core" } +bisq-core-i18n = { module = "bisq:i18n", version.ref = "bisq-core" } +bisq-core-identity = { module = "bisq:identity", version.ref = "bisq-core" } + +# bisq core transitive dependencies +chimp-jsocks = { module = 'com.github.chimp1984:jsocks', version.ref = 'chimp-jsocks-lib' } +chimp-jtorctl = { module = 'com.github.chimp1984:jtorctl', version.ref = 'chimp-jtorctl-lib' } +failsafe = { module = 'dev.failsafe:failsafe', version.ref = 'failsafe-lib' } +apache-commons-lang = { module = 'org.apache.commons:commons-lang3', version.ref = 'apache-commons-lang-lib' } +apache-httpcomponents-core = { module = 'org.apache.httpcomponents:httpcore', version.ref = 'apache-httpcomponents-core-lib' } +apache-httpcomponents-httpclient = { module = 'org.apache.httpcomponents:httpclient', version.ref = 'apache-httpcomponents-httpclient-lib' } +apache-tomcat-annotations-api = { module = 'org.apache.tomcat:annotations-api', version.ref = 'apache-tomcat-annotations-api' } +assertj-core = { module = 'org.assertj:assertj-core', version.ref = 'assertj-core-lib' } +glassfish-jersey-jdk-http = { module = 'org.glassfish.jersey.containers:jersey-container-jdk-http', version.ref = 'glassfish-jersey-lib' } +glassfish-jersey-json-jackson = { module = 'org.glassfish.jersey.media:jersey-media-json-jackson', version.ref = 'glassfish-jersey-lib' } +glassfish-jersey-inject-hk2 = { module = 'org.glassfish.jersey.inject:jersey-hk2', version.ref = 'glassfish-jersey-lib' } +glassfish-jaxb-runtime = { module = 'org.glassfish.jaxb:jaxb-runtime', version.ref = 'glassfish-jaxb-runtime-lib' } + +google-gson = { module = 'com.google.code.gson:gson', version.ref = 'google-gson-lib' } +google-guava = { module = 'com.google.guava:guava', version.ref = 'google-guava-lib' } + +grpc-netty-shaded = { module = 'io.grpc:grpc-netty-shaded', version.ref = 'grpc' } +grpc-protobuf = { module = 'io.grpc:grpc-protobuf', version.ref = 'grpc' } +grpc-services = { module = 'io.grpc:grpc-services', version.ref = 'grpc' } +grpc-stub = { module = 'io.grpc:grpc-stub', version.ref = 'grpc' } + + +i2p-core = { module = 'net.i2p:i2p', version.ref = 'i2p-lib' } +i2p-core-v2 = { module = 'net.i2p:i2p', version.ref = 'i2p-v2' } +i2p-streaming = { module = 'net.i2p.client:streaming', version.ref = 'i2p-lib' } +i2p-streaming-v2 = { module = 'net.i2p.client:streaming', version.ref = 'i2p-v2' } +i2p-router = { module = 'net.i2p:router', version.ref = 'i2p-lib' } + +jackson-core = { module = 'com.fasterxml.jackson.core:jackson-core', version.ref = 'jackson-lib' } +jackson-annotations = { module = 'com.fasterxml.jackson.core:jackson-annotations', version.ref = 'jackson-lib' } +jackson-databind = { module = 'com.fasterxml.jackson.core:jackson-databind', version.ref = 'jackson-lib' } + +[bundles] +glassfish-jersey = ['glassfish-jersey-jdk-http', 'glassfish-jersey-json-jackson', 'glassfish-jersey-inject-hk2', 'glassfish-jaxb-runtime'] +grpc = ['grpc-protobuf', 'grpc-services', 'grpc-stub'] +i2p = ['i2p-core', 'i2p-router', 'i2p-streaming'] +i2p-v2 = ['i2p-core-v2', 'i2p-streaming-v2'] +jackson = ['jackson-core', 'jackson-annotations', 'jackson-databind'] + [plugins] kotlinCocoapods = { id = "org.jetbrains.kotlin.native.cocoapods", version.ref = "kotlin" } androidApplication = { id = "com.android.application", version.ref = "agp" } @@ -46,4 +138,5 @@ androidLibrary = { id = "com.android.library", version.ref = "agp" } jetbrainsCompose = { id = "org.jetbrains.compose", version.ref = "compose-plugin" } compose-compiler = { id = "org.jetbrains.kotlin.plugin.compose", version.ref = "kotlin" } kotlinMultiplatform = { id = "org.jetbrains.kotlin.multiplatform", version.ref = "kotlin" } -buildconfig = { id = "com.github.gmazzo.buildconfig", version.ref = "buildconfig" } \ No newline at end of file +buildconfig = { id = "com.github.gmazzo.buildconfig", version.ref = "buildconfig" } +protobuf = { id = "com.google.protobuf", version.ref = "protobuf" } \ No newline at end of file diff --git a/bisqapps/settings.gradle.kts b/bisqapps/settings.gradle.kts index 46d5abca..c5a4b494 100644 --- a/bisqapps/settings.gradle.kts +++ b/bisqapps/settings.gradle.kts @@ -1,16 +1,34 @@ enableFeaturePreview("TYPESAFE_PROJECT_ACCESSORS") pluginManagement { repositories { - google() - gradlePluginPortal() + google { + content { + includeGroupByRegex("com\\.android.*") + includeGroupByRegex("com\\.google.*") + includeGroupByRegex("androidx.*") + } + } + mavenLocal() mavenCentral() + gradlePluginPortal() + maven { + url = uri("https://jitpack.io") + } } } dependencyResolutionManagement { + repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) repositories { google() mavenCentral() + // for androidNode till we get bisq-core libs published to a public repo + mavenLocal() + maven { + url = uri("https://jitpack.io") + } + } + repositories { } } From b3f75eb3f5df4668b59b80c08a4e64d049b6c52b Mon Sep 17 00:00:00 2001 From: rodvar Date: Sat, 9 Nov 2024 10:18:45 +1100 Subject: [PATCH 6/7] - update readme docs for getting started with androidNode (#32) --- bisqapps/README.md | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/bisqapps/README.md b/bisqapps/README.md index f0e56469..d0771830 100644 --- a/bisqapps/README.md +++ b/bisqapps/README.md @@ -37,7 +37,17 @@ If you are a mobile enthusiast and feel driven by Bisq goals, please reach out! Alternatively, you could run `./gradlew clean build` (1) first from terminal and then open with your IDE of preference. -#### UI Designs +### `Getting started for Android Node` + +Addicionally, for the `androidNode` module to build you need to have its dependent Bisq2 jars in your local maven2 repository ('~/.m2/repository`). Here are the steps to do that + +1. download [Bisq2](https://github.com/bisq-network/bisq2) if you don't have it already +2. follow Bisq2 root `README.md` steps to build the project +3. run `./gradlew publishAll` // this will install all the jars you need in your m2 repo + +Done! Alternatively if you are interested only in contributing for the `xClients` you can just build them individually instead of building the whole project. + +### UI Designs androidNode + xClient screens are designed in Figma. Yet to differentiate between which screens goes into which. From 9b702b3c986c4dcc020697017885b629c97bdbbc Mon Sep 17 00:00:00 2001 From: rodvar Date: Mon, 11 Nov 2024 22:36:40 +1100 Subject: [PATCH 7/7] - fixed dependency request for macs to avoid sillicon issue (#35) --- bisqapps/androidNode/build.gradle.kts | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/bisqapps/androidNode/build.gradle.kts b/bisqapps/androidNode/build.gradle.kts index 05145f22..52498f1a 100644 --- a/bisqapps/androidNode/build.gradle.kts +++ b/bisqapps/androidNode/build.gradle.kts @@ -1,6 +1,7 @@ import org.jetbrains.kotlin.gradle.ExperimentalKotlinGradlePluginApi import org.jetbrains.kotlin.gradle.dsl.JvmTarget import com.google.protobuf.gradle.* +import org.apache.tools.ant.taskdefs.condition.Os plugins { alias(libs.plugins.kotlinMultiplatform) @@ -96,13 +97,16 @@ android { } } +// Compatible with macOS on Apple Silicon +val archSuffix = if (Os.isFamily(Os.FAMILY_MAC)) ":osx-x86_64" else "" + protobuf { protoc { - artifact = "com.google.protobuf:protoc:4.28.2" + artifact = "com.google.protobuf:protoc:4.28.2$archSuffix" } plugins { create("javalite") { - artifact = "com.google.protobuf:protoc-gen-javalite:3.0.0" + artifact = "com.google.protobuf:protoc-gen-javalite:3.0.0$archSuffix" } } generateProtoTasks {