diff --git a/common/src/main/java/bisq/common/config/Config.java b/common/src/main/java/bisq/common/config/Config.java index 276ed086b4..8cc8a87a9b 100644 --- a/common/src/main/java/bisq/common/config/Config.java +++ b/common/src/main/java/bisq/common/config/Config.java @@ -622,7 +622,7 @@ public class Config { .defaultsTo(-1L); ArgumentAcceptingOptionSpec daoActivatedOpt = - parser.accepts(DAO_ACTIVATED, "Developer flag. If true it enables dao phase 2 features.") + parser.accepts(DAO_ACTIVATED, "If set to true dao is activated.") .withRequiredArg() .ofType(boolean.class) .defaultsTo(true); diff --git a/core/src/main/resources/i18n/displayStrings.properties b/core/src/main/resources/i18n/displayStrings.properties index f3a8e85415..345be309ae 100644 --- a/core/src/main/resources/i18n/displayStrings.properties +++ b/core/src/main/resources/i18n/displayStrings.properties @@ -1279,6 +1279,8 @@ setting.preferences.dao.resyncFromGenesis.popup=A resync from genesis transactio the seed nodes and the BSQ consensus state will be rebuilt from the genesis transaction. setting.preferences.dao.resyncFromGenesis.resync=Resync from genesis and shutdown setting.preferences.dao.isDaoFullNode=Run Bisq as DAO full node +setting.preferences.dao.activated=DAO activated +setting.preferences.dao.activated.popup=The change will be applied after a restart setting.preferences.dao.rpcUser=RPC username setting.preferences.dao.rpcPw=RPC password setting.preferences.dao.blockNotifyPort=Block notify port @@ -2403,17 +2405,12 @@ dao.news.bisqDAO.description=Just as the Bisq exchange is decentralized and cens governance model - and the Bisq DAO and BSQ token are the tools that make it possible. dao.news.bisqDAO.readMoreLink=Learn More About the Bisq DAO -dao.news.pastContribution.title=MADE PAST CONTRIBUTIONS? REQUEST BSQ -dao.news.pastContribution.description=If you have contributed to Bisq please use the BSQ address below and make a \ - request for taking part of the BSQ genesis distribution. -dao.news.pastContribution.yourAddress=Your BSQ Wallet Address -dao.news.pastContribution.requestNow=Request now - -dao.news.DAOOnTestnet.title=RUN THE BISQ DAO ON OUR TESTNET -dao.news.DAOOnTestnet.description=The mainnet Bisq DAO is not launched yet but you can learn about the Bisq DAO \ - by running it on our testnet. -dao.news.DAOOnTestnet.firstSection.title=1. Switch to DAO Testnet Mode -dao.news.DAOOnTestnet.firstSection.content=Switch to DAO Testnet from the Settings screen. +dao.news.daoInfo.title=ENABLE THE BISQ DAO +dao.news.daoInfo.description=To participate in the Bisq DAO and to use BSQ for discounted trading fees, you need to \ + enable the DAO. When the DAO is enabled, Bisq downloads all missing blocks and verifies BSQ transactions. \ + This verification process requires time, during which you may see Bisq use a lot of memory and processing power. This is normal. +dao.news.daoInfo.firstSection.title=1. Enable DAO +dao.news.daoInfo.firstSection.content=Enable the Bisq DAO and restart. dao.news.DAOOnTestnet.secondSection.title=2. Acquire Some BSQ dao.news.DAOOnTestnet.secondSection.content=Request BSQ on Slack or Buy BSQ on Bisq. dao.news.DAOOnTestnet.thirdSection.title=3. Participate in a Voting Cycle diff --git a/core/src/main/resources/i18n/displayStrings_cs.properties b/core/src/main/resources/i18n/displayStrings_cs.properties index 9729956b97..1929f24094 100644 --- a/core/src/main/resources/i18n/displayStrings_cs.properties +++ b/core/src/main/resources/i18n/displayStrings_cs.properties @@ -1925,10 +1925,10 @@ dao.news.pastContribution.description=Pokud jste přispěli do projektu Bisq, po dao.news.pastContribution.yourAddress=Adresa vaší BSQ peněženky dao.news.pastContribution.requestNow=Požádat hned -dao.news.DAOOnTestnet.title=SPUSŤTE BISQ DAO NA NAŠEM TESTNETU -dao.news.DAOOnTestnet.description=Síť Bisq DAO ještě nebyla spuštěn, ale o Bisq DAO se můžete dozvědět jeho spuštěním na našem testnetu. -dao.news.DAOOnTestnet.firstSection.title=1. Přepněte do režimu DAO Testnet -dao.news.DAOOnTestnet.firstSection.content=Na obrazovce Nastavení přepněte na DAO Testnet. +dao.news.daoInfo.title=SPUSŤTE BISQ DAO NA NAŠEM TESTNETU +dao.news.daoInfo.description=Síť Bisq DAO ještě nebyla spuštěn, ale o Bisq DAO se můžete dozvědět jeho spuštěním na našem testnetu. +dao.news.daoInfo.firstSection.title=1. Přepněte do režimu DAO Testnet +dao.news.daoInfo.firstSection.content=Na obrazovce Nastavení přepněte na DAO Testnet. dao.news.DAOOnTestnet.secondSection.title=2. Získejte některé BSQ dao.news.DAOOnTestnet.secondSection.content=Vyžádejte si BSQ na Slacku nebo kupte BSQ na Bisq. dao.news.DAOOnTestnet.thirdSection.title=3. Zúčastněte se hlasovacího cyklu diff --git a/core/src/main/resources/i18n/displayStrings_de.properties b/core/src/main/resources/i18n/displayStrings_de.properties index 7dc714bc98..0003a6280c 100644 --- a/core/src/main/resources/i18n/displayStrings_de.properties +++ b/core/src/main/resources/i18n/displayStrings_de.properties @@ -1925,10 +1925,10 @@ dao.news.pastContribution.description=Falls sie in der Vergangenheit zu Bisq bei dao.news.pastContribution.yourAddress=Ihre BSQ-Wallets-Adresse dao.news.pastContribution.requestNow=Jetzt anfordern -dao.news.DAOOnTestnet.title=DEN BISQ DAO AUF UNSEREM TESTNETZWERK LAUFEN LASSEN -dao.news.DAOOnTestnet.description=Die Bisq DAO wurde auf Mainnet noch nicht veröffentlicht, jedoch können sie die Bisq DAO jetzt schon in unserem Testnet ausprobieren. -dao.news.DAOOnTestnet.firstSection.title=1. Nach DAO-Testnetzmodus wechseln -dao.news.DAOOnTestnet.firstSection.content=Vom Einstellungsmenü ins DAO-Testnetzwerk wechseln. +dao.news.daoInfo.title=DEN BISQ DAO AUF UNSEREM TESTNETZWERK LAUFEN LASSEN +dao.news.daoInfo.description=Die Bisq DAO wurde auf Mainnet noch nicht veröffentlicht, jedoch können sie die Bisq DAO jetzt schon in unserem Testnet ausprobieren. +dao.news.daoInfo.firstSection.title=1. Nach DAO-Testnetzmodus wechseln +dao.news.daoInfo.firstSection.content=Vom Einstellungsmenü ins DAO-Testnetzwerk wechseln. dao.news.DAOOnTestnet.secondSection.title=2. Einige BSQ erwerben dao.news.DAOOnTestnet.secondSection.content=Fragen sie einfach auf Slack nach BSQ oder kaufen sie direkt BSQ in Bisq. dao.news.DAOOnTestnet.thirdSection.title=3. Beim Wahl-Zyklus teilhaben diff --git a/core/src/main/resources/i18n/displayStrings_es.properties b/core/src/main/resources/i18n/displayStrings_es.properties index 5d7bcd3abd..6c9ce5058f 100644 --- a/core/src/main/resources/i18n/displayStrings_es.properties +++ b/core/src/main/resources/i18n/displayStrings_es.properties @@ -1925,10 +1925,10 @@ dao.news.pastContribution.description=Si ha contribuido a Bisq por favor use la dao.news.pastContribution.yourAddress=Su dirección de monedero BSQ dao.news.pastContribution.requestNow=Solicitar ahora -dao.news.DAOOnTestnet.title=CORRER LA DAO BISQ EN TESTNET -dao.news.DAOOnTestnet.description=La red principal de la DAO Bisq aún no se ha lanzado pero puede aprender acerca de la DAO ejecutándola en la testnet. -dao.news.DAOOnTestnet.firstSection.title=1. Cambiar a Modo Testnet -dao.news.DAOOnTestnet.firstSection.content=Cambiar a la testnet desde la pantalla de Configuración +dao.news.daoInfo.title=CORRER LA DAO BISQ EN TESTNET +dao.news.daoInfo.description=La red principal de la DAO Bisq aún no se ha lanzado pero puede aprender acerca de la DAO ejecutándola en la testnet. +dao.news.daoInfo.firstSection.title=1. Cambiar a Modo Testnet +dao.news.daoInfo.firstSection.content=Cambiar a la testnet desde la pantalla de Configuración dao.news.DAOOnTestnet.secondSection.title=2. Adquirir algunos BSQ dao.news.DAOOnTestnet.secondSection.content=Solicitar BSQ en Slack o comprar BSQ en Bisq dao.news.DAOOnTestnet.thirdSection.title=3. Participar en un ciclo de votación diff --git a/core/src/main/resources/i18n/displayStrings_fa.properties b/core/src/main/resources/i18n/displayStrings_fa.properties index f2c792b298..253dc56ff8 100644 --- a/core/src/main/resources/i18n/displayStrings_fa.properties +++ b/core/src/main/resources/i18n/displayStrings_fa.properties @@ -1925,10 +1925,10 @@ dao.news.pastContribution.description=اگر در رابطه با کیف پول dao.news.pastContribution.yourAddress=آدرس کیف‌پول BSQ شما dao.news.pastContribution.requestNow=حالا درخواست دهید. -dao.news.DAOOnTestnet.title=BISQ DAO را روی شبکه تستی، اجرا کنید. -dao.news.DAOOnTestnet.description=کیف پول Bisq DAO شبکه اصلی هنوز راه اندازی نشده است، اما شما می توانید با اجرای کیف پول Bisq DAO روی شبکه تستی، در مورد آن چیزهایی را یاد بگیرید. -dao.news.DAOOnTestnet.firstSection.title=1. به حالت شبکه تستی DAO تغییر وضعیت دهید. -dao.news.DAOOnTestnet.firstSection.content=از صفحه تنظیمات، به شبکه تستی DAO بروید. +dao.news.daoInfo.title=BISQ DAO را روی شبکه تستی، اجرا کنید. +dao.news.daoInfo.description=کیف پول Bisq DAO شبکه اصلی هنوز راه اندازی نشده است، اما شما می توانید با اجرای کیف پول Bisq DAO روی شبکه تستی، در مورد آن چیزهایی را یاد بگیرید. +dao.news.daoInfo.firstSection.title=1. به حالت شبکه تستی DAO تغییر وضعیت دهید. +dao.news.daoInfo.firstSection.content=از صفحه تنظیمات، به شبکه تستی DAO بروید. dao.news.DAOOnTestnet.secondSection.title=2. چند BSQ را خریداری نمایید. dao.news.DAOOnTestnet.secondSection.content=روی اسلک برای BSQ درخواست دهید و یا روی کیف پول Bisq ، BSQ را خریداری کنید. dao.news.DAOOnTestnet.thirdSection.title=3. در یک چرخه رای گیری شرکت کنید. diff --git a/core/src/main/resources/i18n/displayStrings_fr.properties b/core/src/main/resources/i18n/displayStrings_fr.properties index 34f83e3fba..97c71acab2 100644 --- a/core/src/main/resources/i18n/displayStrings_fr.properties +++ b/core/src/main/resources/i18n/displayStrings_fr.properties @@ -1925,10 +1925,10 @@ dao.news.pastContribution.description=Si vous avez participé à Bisq, veuillez dao.news.pastContribution.yourAddress=Adresse de votre portefeuille BSQ dao.news.pastContribution.requestNow=Demander maintenant -dao.news.DAOOnTestnet.title=LANCEZ LA DAO DE BISQ SUR NOTRE TESTNET -dao.news.DAOOnTestnet.description=Le mainnet de la DAO de Bisq n'est pas encore lancé mais vous pouvez en savoir plus sur la DAO de Bisq en l'exécutant sur notre testnet. -dao.news.DAOOnTestnet.firstSection.title=1. Passer sur le mode Testnet de la DAO -dao.news.DAOOnTestnet.firstSection.content=Passez au Testnet de la DAO à partir de l'écran des paramètres. +dao.news.daoInfo.title=LANCEZ LA DAO DE BISQ SUR NOTRE TESTNET +dao.news.daoInfo.description=Le mainnet de la DAO de Bisq n'est pas encore lancé mais vous pouvez en savoir plus sur la DAO de Bisq en l'exécutant sur notre testnet. +dao.news.daoInfo.firstSection.title=1. Passer sur le mode Testnet de la DAO +dao.news.daoInfo.firstSection.content=Passez au Testnet de la DAO à partir de l'écran des paramètres. dao.news.DAOOnTestnet.secondSection.title=2. Acquérir des BSQ dao.news.DAOOnTestnet.secondSection.content=Demander des BSQ sur Slack ou acheter des BSQ sur Bisq. dao.news.DAOOnTestnet.thirdSection.title=3. Participer à un cycle de vote diff --git a/core/src/main/resources/i18n/displayStrings_it.properties b/core/src/main/resources/i18n/displayStrings_it.properties index 643fb99287..0601ee2339 100644 --- a/core/src/main/resources/i18n/displayStrings_it.properties +++ b/core/src/main/resources/i18n/displayStrings_it.properties @@ -1925,10 +1925,10 @@ dao.news.pastContribution.description=Se hai contribuito a Bisq, utilizza l'indi dao.news.pastContribution.yourAddress=L'indirizzo del tuo wallet BSQ dao.news.pastContribution.requestNow=Richiedi ora -dao.news.DAOOnTestnet.title=ESEGUI LA BISQ DAO NEL NOSTRO TESTNET -dao.news.DAOOnTestnet.description=La mainnet Bisq DAO non è ancora stata lanciata, ma puoi conoscere Bisq DAO eseguendolo sulla nostra testnet. -dao.news.DAOOnTestnet.firstSection.title=1. Passa alla modalità Testnet DAO -dao.news.DAOOnTestnet.firstSection.content=Passa a DAO Testnet dalla schermata Impostazioni. +dao.news.daoInfo.title=ESEGUI LA BISQ DAO NEL NOSTRO TESTNET +dao.news.daoInfo.description=La mainnet Bisq DAO non è ancora stata lanciata, ma puoi conoscere Bisq DAO eseguendolo sulla nostra testnet. +dao.news.daoInfo.firstSection.title=1. Passa alla modalità Testnet DAO +dao.news.daoInfo.firstSection.content=Passa a DAO Testnet dalla schermata Impostazioni. dao.news.DAOOnTestnet.secondSection.title=2. Acquista un po' di BSQ dao.news.DAOOnTestnet.secondSection.content=Richiedi BSQ su Slack o Acquista BSQ su Bisq. dao.news.DAOOnTestnet.thirdSection.title=3. Partecipa a un Ciclo di Votazione @@ -2396,7 +2396,7 @@ popup.info.multiplePaymentAccounts.headline=Disponibili più conti di pagamento popup.info.multiplePaymentAccounts.msg=Hai più account di pagamento disponibili per questa offerta. Assicurati di aver scelto quello giusto. popup.accountSigning.selectAccounts.headline=Seleziona conti di pagamento -popup.accountSigning.selectAccounts.description=In base al metodo di pagamento e al momento in cui verranno selezionati tutti i conti di pagamento collegati a una controversia in cui si è verificato un pagamento +popup.accountSigning.selectAccounts.description=In base al metodo di pagamento e al momento in cui verranno selezionati tutti i conti di pagamento collegati a una controversia in cui si è verificato un pagamento popup.accountSigning.selectAccounts.signAll=Firma tutti i metodi di pagamento popup.accountSigning.selectAccounts.datePicker=Seleziona il momento in cui verranno firmati gli account diff --git a/core/src/main/resources/i18n/displayStrings_ja.properties b/core/src/main/resources/i18n/displayStrings_ja.properties index 94ade26e4c..6566148c46 100644 --- a/core/src/main/resources/i18n/displayStrings_ja.properties +++ b/core/src/main/resources/i18n/displayStrings_ja.properties @@ -1925,10 +1925,10 @@ dao.news.pastContribution.description=Bisqに貢献している場合は、以 dao.news.pastContribution.yourAddress=あなたのBSQウォレットアドレス dao.news.pastContribution.requestNow=今すぐリクエスト -dao.news.DAOOnTestnet.title=私達のテストネットでBISQ DAOを起動 -dao.news.DAOOnTestnet.description=メインネットBisq DAOはまだ起動されていませんが、私達のテストネットで実行することでBisq DAOについて学ぶことができます。 -dao.news.DAOOnTestnet.firstSection.title=1. DAOテストネットモードに切り替え -dao.news.DAOOnTestnet.firstSection.content=設定画面からDAOテストネットへ切り替え +dao.news.daoInfo.title=私達のテストネットでBISQ DAOを起動 +dao.news.daoInfo.description=メインネットBisq DAOはまだ起動されていませんが、私達のテストネットで実行することでBisq DAOについて学ぶことができます。 +dao.news.daoInfo.firstSection.title=1. DAOテストネットモードに切り替え +dao.news.daoInfo.firstSection.content=設定画面からDAOテストネットへ切り替え dao.news.DAOOnTestnet.secondSection.title=2. BSQを取得する dao.news.DAOOnTestnet.secondSection.content=SlackでBSQをリクエストするか、BisqでBSQを購入してください。 dao.news.DAOOnTestnet.thirdSection.title=3. 投票サイクルに参加する diff --git a/core/src/main/resources/i18n/displayStrings_pt-br.properties b/core/src/main/resources/i18n/displayStrings_pt-br.properties index e71a35216a..c1111bb280 100644 --- a/core/src/main/resources/i18n/displayStrings_pt-br.properties +++ b/core/src/main/resources/i18n/displayStrings_pt-br.properties @@ -422,7 +422,7 @@ offerbook.info.sellAboveMarketPrice=Você irá receber {0} a mais do que o atual offerbook.info.buyBelowMarketPrice=Você irá pagar {0} a menos do que o atual preço de mercado (atualizado a cada minuto). offerbook.info.buyAtFixedPrice=Você irá comprar nesse preço fixo. offerbook.info.sellAtFixedPrice=Você irá vender neste preço fixo. -offerbook.info.noArbitrationInUserLanguage=Em caso de disputa, a arbitragem para essa oferta será realizada em {0}. O idioma atualmente está definido como {1}. +offerbook.info.noArbitrationInUserLanguage=Em caso de disputa, a arbitragem para essa oferta será realizada em {0}. O idioma atualmente está definido como {1}. offerbook.info.roundedFiatVolume=O valor foi arredondado para aumentar a privacidade da sua negociação. #################################################################### @@ -1065,7 +1065,7 @@ setting.preferences.dao.isDaoFullNode=Executar Bisq como nó completo DAO setting.preferences.dao.rpcUser=Nome de usuário de RPC setting.preferences.dao.rpcPw=Senha de RPC setting.preferences.dao.blockNotifyPort=Bloquear porta de notificação -setting.preferences.dao.fullNodeInfo=Para executar o Bisq como nó completo da DAO você precisa ter Bitcoin Core em rodando localmente e RPC ativado. Todos os requisitos estão documentados em '' {0} ''. +setting.preferences.dao.fullNodeInfo=Para executar o Bisq como nó completo da DAO você precisa ter Bitcoin Core em rodando localmente e RPC ativado. Todos os requisitos estão documentados em '' {0} ''. setting.preferences.dao.fullNodeInfo.ok=Abrir página de documentos setting.preferences.dao.fullNodeInfo.cancel=Não, eu fico com o modo nó lite settings.preferences.editCustomExplorer.headline=Explorer Settings @@ -1925,10 +1925,10 @@ dao.news.pastContribution.description=Se você já contribuiu para a Bisq, use o dao.news.pastContribution.yourAddress=Seu Endereço de Carteira BSQ dao.news.pastContribution.requestNow=Solicitar agora -dao.news.DAOOnTestnet.title=RODE O DAO DA BISQ EM NOSSA TESTNET -dao.news.DAOOnTestnet.description=A rede principal da DAO do Bisq ainda não foi lançada, mas você pode aprender sobre a DAO do Bisq executando-a na nossa rede de testes. -dao.news.DAOOnTestnet.firstSection.title=1. Mude para o Modo Testnet da DAO -dao.news.DAOOnTestnet.firstSection.content=Mude para o Testnet da DAO na seção Configurações. +dao.news.daoInfo.title=RODE O DAO DA BISQ EM NOSSA TESTNET +dao.news.daoInfo.description=A rede principal da DAO do Bisq ainda não foi lançada, mas você pode aprender sobre a DAO do Bisq executando-a na nossa rede de testes. +dao.news.daoInfo.firstSection.title=1. Mude para o Modo Testnet da DAO +dao.news.daoInfo.firstSection.content=Mude para o Testnet da DAO na seção Configurações. dao.news.DAOOnTestnet.secondSection.title=2. Adquira alguns BSQ dao.news.DAOOnTestnet.secondSection.content=Solicite BSQ no Slack ou Compre BSQ na Bisq. dao.news.DAOOnTestnet.thirdSection.title=3. Participe de um Ciclo de Votação diff --git a/core/src/main/resources/i18n/displayStrings_pt.properties b/core/src/main/resources/i18n/displayStrings_pt.properties index b1266992f3..99893081ae 100644 --- a/core/src/main/resources/i18n/displayStrings_pt.properties +++ b/core/src/main/resources/i18n/displayStrings_pt.properties @@ -1065,7 +1065,7 @@ setting.preferences.dao.isDaoFullNode=Executar Bisq como nó completo OAD setting.preferences.dao.rpcUser=Nome de usuário de RPC setting.preferences.dao.rpcPw=Senha de RPC setting.preferences.dao.blockNotifyPort=Bloquear porta de notificação -setting.preferences.dao.fullNodeInfo=Para executar o Bisq como nó completo da OAD você precisa ter Bitcoin Core em execução local e RPC ativado. Todos os requerimentos estão documentados em '' {0} ''. +setting.preferences.dao.fullNodeInfo=Para executar o Bisq como nó completo da OAD você precisa ter Bitcoin Core em execução local e RPC ativado. Todos os requerimentos estão documentados em '' {0} ''. setting.preferences.dao.fullNodeInfo.ok=Abrir página de documentos setting.preferences.dao.fullNodeInfo.cancel=Não, eu fico com o modo nó lite settings.preferences.editCustomExplorer.headline=Explorer Settings @@ -1925,10 +1925,10 @@ dao.news.pastContribution.description=Se você contribuiu para o Bisq, por favor dao.news.pastContribution.yourAddress=O seu endereço da carteira BSQ dao.news.pastContribution.requestNow=Solicitar agora -dao.news.DAOOnTestnet.title=EXECUTE A OAD DO BISQ NA NOSSA REDE DE TESTES -dao.news.DAOOnTestnet.description=A mainnet da OAD do Bisq ainda não foi lançada, mas você pode aprender sobre a OAD do Bisq executando-a na nossa testnet. -dao.news.DAOOnTestnet.firstSection.title=1. Mudar para Modo Testnet da OAD -dao.news.DAOOnTestnet.firstSection.content=Mude para a Testnet da OAD no painel de Definições +dao.news.daoInfo.title=EXECUTE A OAD DO BISQ NA NOSSA REDE DE TESTES +dao.news.daoInfo.description=A mainnet da OAD do Bisq ainda não foi lançada, mas você pode aprender sobre a OAD do Bisq executando-a na nossa testnet. +dao.news.daoInfo.firstSection.title=1. Mudar para Modo Testnet da OAD +dao.news.daoInfo.firstSection.content=Mude para a Testnet da OAD no painel de Definições dao.news.DAOOnTestnet.secondSection.title=2. Obtenha alguns BSQ dao.news.DAOOnTestnet.secondSection.content=Solicite BSQ no Slack ou Compre BSQ no Bisq dao.news.DAOOnTestnet.thirdSection.title=3. Participe num Ciclo de Votação @@ -2999,5 +2999,5 @@ validation.phone.invalidCharacters=O número de telfone {0} contém carácteres validation.phone.insufficientDigits=There are not enough digits in {0} to be a valid phone number validation.phone.tooManyDigits=There are too many digits in {0} to be a valid phone number validation.phone.invalidDialingCode=Country dialing code for number {0} is invalid for country {1}. The correct dialing code is {2}. -validation.invalidAddressList=Deve ser um lista de endereços válidos separados por vírgulas +validation.invalidAddressList=Deve ser um lista de endereços válidos separados por vírgulas validation.capitual.invalidFormat=Must be a valid CAP code of format: CAP-XXXXXX (6 alphanumeric characters) diff --git a/core/src/main/resources/i18n/displayStrings_ru.properties b/core/src/main/resources/i18n/displayStrings_ru.properties index bcda75d357..58c5045270 100644 --- a/core/src/main/resources/i18n/displayStrings_ru.properties +++ b/core/src/main/resources/i18n/displayStrings_ru.properties @@ -1925,10 +1925,10 @@ dao.news.pastContribution.description=Если вы помогли Bisq в пр dao.news.pastContribution.yourAddress=Адрес вашего кошелька BSQ dao.news.pastContribution.requestNow=Запросить -dao.news.DAOOnTestnet.title=ЗАПУСТИТЬ ДАО BISQ В НАШЕЙ ТЕСТОВОЙ СЕТИ -dao.news.DAOOnTestnet.description=Основная сеть ДАО Bisq еще не запущена, но вы можете узнать о ней подробнее, запустив ДАО в тестовой сети. -dao.news.DAOOnTestnet.firstSection.title=1. Переключиться в режим тестовой сети ДАО -dao.news.DAOOnTestnet.firstSection.content=Переключитесь на тестовую сеть ДАО в настройках. +dao.news.daoInfo.title=ЗАПУСТИТЬ ДАО BISQ В НАШЕЙ ТЕСТОВОЙ СЕТИ +dao.news.daoInfo.description=Основная сеть ДАО Bisq еще не запущена, но вы можете узнать о ней подробнее, запустив ДАО в тестовой сети. +dao.news.daoInfo.firstSection.title=1. Переключиться в режим тестовой сети ДАО +dao.news.daoInfo.firstSection.content=Переключитесь на тестовую сеть ДАО в настройках. dao.news.DAOOnTestnet.secondSection.title=2. Приобрести BSQ dao.news.DAOOnTestnet.secondSection.content=Запросите BSQ в Slack или купите BSQ в Bisq. dao.news.DAOOnTestnet.thirdSection.title=3. Принять участие в цикле голосования diff --git a/core/src/main/resources/i18n/displayStrings_th.properties b/core/src/main/resources/i18n/displayStrings_th.properties index efc46fa14c..aa3f804b0c 100644 --- a/core/src/main/resources/i18n/displayStrings_th.properties +++ b/core/src/main/resources/i18n/displayStrings_th.properties @@ -1925,10 +1925,10 @@ dao.news.pastContribution.description=If you have contributed to Bisq please use dao.news.pastContribution.yourAddress=Your BSQ Wallet Address dao.news.pastContribution.requestNow=Request now -dao.news.DAOOnTestnet.title=RUN THE BISQ DAO ON OUR TESTNET -dao.news.DAOOnTestnet.description=The mainnet Bisq DAO is not launched yet but you can learn about the Bisq DAO by running it on our testnet. -dao.news.DAOOnTestnet.firstSection.title=1. Switch to DAO Testnet Mode -dao.news.DAOOnTestnet.firstSection.content=Switch to DAO Testnet from the Settings screen. +dao.news.daoInfo.title=RUN THE BISQ DAO ON OUR TESTNET +dao.news.daoInfo.description=The mainnet Bisq DAO is not launched yet but you can learn about the Bisq DAO by running it on our testnet. +dao.news.daoInfo.firstSection.title=1. Switch to DAO Testnet Mode +dao.news.daoInfo.firstSection.content=Switch to DAO Testnet from the Settings screen. dao.news.DAOOnTestnet.secondSection.title=2. Acquire Some BSQ dao.news.DAOOnTestnet.secondSection.content=Request BSQ on Slack or Buy BSQ on Bisq. dao.news.DAOOnTestnet.thirdSection.title=3. Participate in a Voting Cycle diff --git a/core/src/main/resources/i18n/displayStrings_vi.properties b/core/src/main/resources/i18n/displayStrings_vi.properties index b343f590fc..f88f4808e2 100644 --- a/core/src/main/resources/i18n/displayStrings_vi.properties +++ b/core/src/main/resources/i18n/displayStrings_vi.properties @@ -926,7 +926,7 @@ funds.tx.daoTxFee=Phí đào cho giao dịch BSQ funds.tx.reimbursementRequestTxFee=Yêu cầu bồi hoàn funds.tx.compensationRequestTxFee=Yêu cầu bồi thường funds.tx.dustAttackTx=Số dư nhỏ đã nhận -funds.tx.dustAttackTx.popup=Giao dịch này đang gửi một lượng BTC rất nhỏ vào ví của bạn và có thể đây là cách các công ty phân tích chuỗi đang tìm cách theo dõi ví của bạn.\nNếu bạn sử dụng đầu ra giao dịch đó cho một giao dịch chi tiêu, họ sẽ phát hiện ra rằng rất có thể bạn cũng là người sở hửu cái ví kia (nhập coin). \n\nĐể bảo vệ quyền riêng tư của bạn, ví Bisq sẽ bỏ qua các đầu ra có số dư nhỏ dành cho mục đích chi tiêu cũng như hiển thị số dư. Bạn có thể thiết lập ngưỡng khi một đầu ra được cho là có số dư nhỏ trong phần cài đặt. +funds.tx.dustAttackTx.popup=Giao dịch này đang gửi một lượng BTC rất nhỏ vào ví của bạn và có thể đây là cách các công ty phân tích chuỗi đang tìm cách theo dõi ví của bạn.\nNếu bạn sử dụng đầu ra giao dịch đó cho một giao dịch chi tiêu, họ sẽ phát hiện ra rằng rất có thể bạn cũng là người sở hửu cái ví kia (nhập coin). \n\nĐể bảo vệ quyền riêng tư của bạn, ví Bisq sẽ bỏ qua các đầu ra có số dư nhỏ dành cho mục đích chi tiêu cũng như hiển thị số dư. Bạn có thể thiết lập ngưỡng khi một đầu ra được cho là có số dư nhỏ trong phần cài đặt. #################################################################### # Support @@ -1260,9 +1260,9 @@ account.altcoin.popup.ZEC.msg=When using Zcash you can only use the transparent # suppress inspection "UnusedProperty" account.altcoin.popup.XZC.msg=When using Zcoin you can only use the transparent (traceable) addresses, not the untraceable addresses, because the mediator or arbitrator would not be able to verify the transaction with untraceable addresses at a block explorer. # suppress inspection "UnusedProperty" -account.altcoin.popup.grin.msg=GRIN yêu cầu một quá trình tương tác giữa người gửi và người nhận để thực hiện một giao dịch. Vui lòng làm theo hướng dẫn từ trang web của dự án GRIN để gửi và nhận GRIN đúng cách. (người nhận cần phải trực tuyến hoặc ít nhất là trực tuyến trong một khung thời gian nhất định).\n\nBisq chỉ hỗ trợ ví Grinbox(wallet713) theo định dạng URL.\n\nNgười gửi GRIN phải cung cấp bằng chứng là họ đã gửi GRIN thành công. Nếu ví không thể cung cấp bằng chứng đó, nếu có tranh chấp thì sẽ được giải quyết theo hướng có lợi cho người nhận GRIN. Vui lòng đảm bảo rằng bạn sử dụng phần mềm Grinbox mới nhất có hỗ trợ bằng chứng giao dịch và bạn hiểu quy trình chuyển và nhận GRIN cũng như tạo bằng chứng. \n\nXem https://github.com/vault713/wallet713/blob/master/docs/usage.md#transaction-proofs-grinbox-only để biết thêm thông tin về công cụ bằng chứng Grinbox. +account.altcoin.popup.grin.msg=GRIN yêu cầu một quá trình tương tác giữa người gửi và người nhận để thực hiện một giao dịch. Vui lòng làm theo hướng dẫn từ trang web của dự án GRIN để gửi và nhận GRIN đúng cách. (người nhận cần phải trực tuyến hoặc ít nhất là trực tuyến trong một khung thời gian nhất định).\n\nBisq chỉ hỗ trợ ví Grinbox(wallet713) theo định dạng URL.\n\nNgười gửi GRIN phải cung cấp bằng chứng là họ đã gửi GRIN thành công. Nếu ví không thể cung cấp bằng chứng đó, nếu có tranh chấp thì sẽ được giải quyết theo hướng có lợi cho người nhận GRIN. Vui lòng đảm bảo rằng bạn sử dụng phần mềm Grinbox mới nhất có hỗ trợ bằng chứng giao dịch và bạn hiểu quy trình chuyển và nhận GRIN cũng như tạo bằng chứng. \n\nXem https://github.com/vault713/wallet713/blob/master/docs/usage.md#transaction-proofs-grinbox-only để biết thêm thông tin về công cụ bằng chứng Grinbox. # suppress inspection "UnusedProperty" -account.altcoin.popup.beam.msg=BEAM yêu cầu một quá trình tương tác giữa người gửi và người nhận để thực hiện một giao dịch. \n\nVui lòng làm theo hướng dẫn từ trang web của dự án BEAM để gửi và nhận BEAM đúng cách. (người nhận cần phải trực tuyến hoặc ít nhất là trực tuyến trong một khung thời gian nhất định).\n\nNgười gửi BEAM phải cung cấp bằng chứng là họ đã gửi BEAM thành công. Vui lòng đảm bảo là bạn sử dụng phần mềm ví có thể tạo ra một bằng chứng như vậy. Nếu ví không thể cung cấp bằng chứng đó, nếu có tranh chấp thì sẽ được giải quyết theo hướng có lợi cho người nhận BEAM. +account.altcoin.popup.beam.msg=BEAM yêu cầu một quá trình tương tác giữa người gửi và người nhận để thực hiện một giao dịch. \n\nVui lòng làm theo hướng dẫn từ trang web của dự án BEAM để gửi và nhận BEAM đúng cách. (người nhận cần phải trực tuyến hoặc ít nhất là trực tuyến trong một khung thời gian nhất định).\n\nNgười gửi BEAM phải cung cấp bằng chứng là họ đã gửi BEAM thành công. Vui lòng đảm bảo là bạn sử dụng phần mềm ví có thể tạo ra một bằng chứng như vậy. Nếu ví không thể cung cấp bằng chứng đó, nếu có tranh chấp thì sẽ được giải quyết theo hướng có lợi cho người nhận BEAM. # suppress inspection "UnusedProperty" account.altcoin.popup.pars.msg=Trading ParsiCoin on Bisq requires that you understand and fulfill the following requirements:\n\nTo send PARS you must use the official ParsiCoin Wallet version 3.0.0 or higher. \n\nYou can Check your Transaction Hash and Transaction Key on Transactions Section on your GUI Wallet (ParsiPay) You need to right Click on the Transaction and then click on show details. \n\nIn the event that arbitration is necessary, you must present the following to an mediator or arbitrator: 1) the Transaction Hash, 2) the Transaction Key, and 3) the recipient's PARS address. The mediator or arbitrator will then verify the PARS transfer using the ParsiCoin Block Explorer (http://explorer.parsicoin.net/#check_payment).\n\nFailure to provide the required information to the mediator or arbitrator will result in losing the dispute case. In all cases of dispute, the ParsiCoin sender bears 100% of the burden of responsibility in verifying transactions to an mediator or arbitrator. \n\nIf you do not understand these requirements, do not trade on Bisq. First, seek help at the ParsiCoin Discord (https://discord.gg/c7qmFNh). @@ -1296,7 +1296,7 @@ account.seed.backup.warning=Please note that the seed words are NOT a replacemen account.seed.warn.noPw.msg=Bạn đã tạo mật khẩu ví để bảo vệ tránh hiển thị Seed words.\n\nBạn có muốn hiển thị Seed words? account.seed.warn.noPw.yes=Có và không hỏi lại account.seed.enterPw=Nhập mật khẩu để xem seed words -account.seed.restore.info=Vui lòng tạo sao lưu dự phòng trước khi tiến hành khôi phục ví từ các từ khởi tạo. Phải hiểu rằng việc khôi phục ví chỉ nên thực hiện trong các trường hợp khẩn cấp và có thể gây sự cố với cơ sở dữ liệu ví bên trong.\nĐây không phải là một cách sao lưu dự phòng! Vui lòng sử dụng sao lưu dự phòng từ thư mục dữ liệu của ứng dụng để khôi phục trạng thái ban đầu của ứng dụng.\n\nSau khi khôi phục ứng dụng sẽ tự động tắt. Sau khi bạn khởi động lại, ứng dụng sẽ tái đồng bộ với mạng Bitcoin. Quá trình này có thể mất một lúc và tiêu tốn khá nhiều CPU, đặc biệt là khi ví đã cũ và có nhiều giao dịch. Vui lòng không làm gián đoạn quá trình này, nếu không bạn có thể sẽ phảỉ xóa file chuỗi SPV một lần nữa hoặc lặp lại quy trình khôi phục. +account.seed.restore.info=Vui lòng tạo sao lưu dự phòng trước khi tiến hành khôi phục ví từ các từ khởi tạo. Phải hiểu rằng việc khôi phục ví chỉ nên thực hiện trong các trường hợp khẩn cấp và có thể gây sự cố với cơ sở dữ liệu ví bên trong.\nĐây không phải là một cách sao lưu dự phòng! Vui lòng sử dụng sao lưu dự phòng từ thư mục dữ liệu của ứng dụng để khôi phục trạng thái ban đầu của ứng dụng.\n\nSau khi khôi phục ứng dụng sẽ tự động tắt. Sau khi bạn khởi động lại, ứng dụng sẽ tái đồng bộ với mạng Bitcoin. Quá trình này có thể mất một lúc và tiêu tốn khá nhiều CPU, đặc biệt là khi ví đã cũ và có nhiều giao dịch. Vui lòng không làm gián đoạn quá trình này, nếu không bạn có thể sẽ phảỉ xóa file chuỗi SPV một lần nữa hoặc lặp lại quy trình khôi phục. account.seed.restore.ok=Được, hãy thực hiện khôi phục và tắt ứng dụng Bisq @@ -1917,24 +1917,24 @@ dao.feeTx.confirm.details={0} fee: {1}\nMining fee: {2} ({3} Satoshis/vbyte)\nTr dao.feeTx.issuanceProposal.confirm.details={0} fee: {1}\nBTC needed for BSQ issuance: {2} ({3} Satoshis/BSQ)\nMining fee: {4} ({5} Satoshis/vbyte)\nTransaction vsize: {6} vKb\n\nIf your request is approved, you will receive the amount you requested net of the 2 BSQ proposal fee.\n\nAre you sure you want to publish the {7} transaction? dao.news.bisqDAO.title=DAO BISQ -dao.news.bisqDAO.description=Vì BIsq là sàn giao dịch phi tập trung và không bị kiểm duyệt, bởi vậy mô hình vận hành của nó, DAO Bisq và đồng BSQ là công cụ giúp điều này trở thành hiện thực. +dao.news.bisqDAO.description=Vì BIsq là sàn giao dịch phi tập trung và không bị kiểm duyệt, bởi vậy mô hình vận hành của nó, DAO Bisq và đồng BSQ là công cụ giúp điều này trở thành hiện thực. dao.news.bisqDAO.readMoreLink=Tìm hiểu thêm về DAO Bisq dao.news.pastContribution.title=BẠN ĐÃ THAM GIA ĐÓNG GÓP? YÊU CẦU BSQ -dao.news.pastContribution.description=Nếu như bạn đã tham giao đóng góp cho Bisq, vui lòng sử dụng ví BSQ phía dưới và thực hiện một yêu cầu tham gia vào sự kiện phát hành BSQ genesis. +dao.news.pastContribution.description=Nếu như bạn đã tham giao đóng góp cho Bisq, vui lòng sử dụng ví BSQ phía dưới và thực hiện một yêu cầu tham gia vào sự kiện phát hành BSQ genesis. dao.news.pastContribution.yourAddress=Ví BSQ của bạn dao.news.pastContribution.requestNow=Yêu cầu ngay -dao.news.DAOOnTestnet.title=CHẠY DAO BISQ TRÊN TESTNET CỦA CHÚNG TÔI -dao.news.DAOOnTestnet.description=Mainnet DAO Bisq chưa ra mắt nhưng bạn vẫn có thể tìm hiểu về DAO Bisq bằng cách chạy nó trên testnet. -dao.news.DAOOnTestnet.firstSection.title=1. Chuyển qua chế độ Testnet DAO -dao.news.DAOOnTestnet.firstSection.content=1. Chuyển qua chế độ Testnet DAO từ màn hình cài đặt +dao.news.daoInfo.title=CHẠY DAO BISQ TRÊN TESTNET CỦA CHÚNG TÔI +dao.news.daoInfo.description=Mainnet DAO Bisq chưa ra mắt nhưng bạn vẫn có thể tìm hiểu về DAO Bisq bằng cách chạy nó trên testnet. +dao.news.daoInfo.firstSection.title=1. Chuyển qua chế độ Testnet DAO +dao.news.daoInfo.firstSection.content=1. Chuyển qua chế độ Testnet DAO từ màn hình cài đặt dao.news.DAOOnTestnet.secondSection.title=2. Kiếm BSQ dao.news.DAOOnTestnet.secondSection.content=Yêu cầu BSQ trên Slack hoặc Mua BSQ trên Bisq dao.news.DAOOnTestnet.thirdSection.title=3. Tham gia một vòng bỏ phiếu -dao.news.DAOOnTestnet.thirdSection.content=Tạo đề xuất và bỏ phiếu cho đề xuất để thanh đổi nhiều khía cạnh của Bisq. +dao.news.DAOOnTestnet.thirdSection.content=Tạo đề xuất và bỏ phiếu cho đề xuất để thanh đổi nhiều khía cạnh của Bisq. dao.news.DAOOnTestnet.fourthSection.title=4. Tìm hiểu về BSQ Block Explorer -dao.news.DAOOnTestnet.fourthSection.content=Vì BSQ chỉa là bitcoin, bạn có thể thấy các giao dịch BSQ trên trình duyện bitcoin Block Explorer của chúng tôi. +dao.news.DAOOnTestnet.fourthSection.content=Vì BSQ chỉa là bitcoin, bạn có thể thấy các giao dịch BSQ trên trình duyện bitcoin Block Explorer của chúng tôi. dao.news.DAOOnTestnet.readMoreLink=Đọc tài liệu đầy đủ dao.monitor.daoState=Trạng thái DAO @@ -1952,7 +1952,7 @@ dao.monitor.table.seedPeers=Seed node: {0} dao.monitor.daoState.headline=Trạng thái DAO dao.monitor.daoState.table.headline=Chuỗi Hash trạng thái DAO -dao.monitor.daoState.table.blockHeight=Chiều cao khối +dao.monitor.daoState.table.blockHeight=Chiều cao khối dao.monitor.daoState.table.hash=Hash của trạng thái DAO dao.monitor.daoState.table.prev=Hash trước đó dao.monitor.daoState.conflictTable.headline=Hash trạng thái DAO từ đối tác đang trong xung dột @@ -1970,7 +1970,7 @@ dao.monitor.proposal.table.hash=Hash trạng thái đề xuất dao.monitor.proposal.table.prev=Hash trước đó dao.monitor.proposal.table.numProposals=Số đề xuất -dao.monitor.isInConflictWithSeedNode=Dữ liệu trên máy bạn không đồng bộ với ít nhất một seed node. Vui lòng đồng bộ lại trạng thái DAO. +dao.monitor.isInConflictWithSeedNode=Dữ liệu trên máy bạn không đồng bộ với ít nhất một seed node. Vui lòng đồng bộ lại trạng thái DAO. dao.monitor.isInConflictWithNonSeedNode=Một trong các đối tác của bạn không đồng bộ với mạng nhưng node của bạn vẫn đang đồng bộ với các seed node. dao.monitor.daoStateInSync=Node trên máy tính của bạn đang dồng bộ với mạng @@ -2361,7 +2361,7 @@ popup.warning.mandatoryUpdate.trading=Please update to the latest Bisq version. popup.warning.mandatoryUpdate.dao=Please update to the latest Bisq version. A mandatory update was released which disables the Bisq DAO and BSQ for old versions. Please check out the Bisq Forum for more information. popup.warning.disable.dao=The Bisq DAO and BSQ are temporary disabled. Please check out the Bisq Forum for more information. popup.warning.noFilter=We did not receive a filter object from the seed nodes. This is a not expected situation. Please inform the Bisq developers. -popup.warning.burnBTC=Không thể thực hiện giao dịch, vì phí đào {0} vượt quá số lượng {1} cần chuyển. Vui lòng chờ tới khi phí đào thấp xuống hoặc khi bạn tích lũy đủ BTC để chuyển. +popup.warning.burnBTC=Không thể thực hiện giao dịch, vì phí đào {0} vượt quá số lượng {1} cần chuyển. Vui lòng chờ tới khi phí đào thấp xuống hoặc khi bạn tích lũy đủ BTC để chuyển. popup.warning.openOffer.makerFeeTxRejected=The maker fee transaction for offer with ID {0} was rejected by the Bitcoin network.\nTransaction ID={1}.\nThe offer has been removed to avoid further problems.\nPlease go to \"Settings/Network info\" and do a SPV resync.\nFor further help please contact the Bisq support channel at the Bisq Keybase team. diff --git a/core/src/main/resources/i18n/displayStrings_zh-hans.properties b/core/src/main/resources/i18n/displayStrings_zh-hans.properties index ca5f4c1c2f..7cff96bd1c 100644 --- a/core/src/main/resources/i18n/displayStrings_zh-hans.properties +++ b/core/src/main/resources/i18n/displayStrings_zh-hans.properties @@ -377,10 +377,10 @@ offerbook.volume={0}(最小 - 最大) offerbook.deposit=BTC 保证金(%) offerbook.deposit.help=交易双方均已支付保证金确保这个交易正常进行。这会在交易完成时退还。 -offerbook.createOfferToBuy=创建新的报价来买入 {0} -offerbook.createOfferToSell=创建新的报价来卖出 {0} +offerbook.createOfferToBuy=创建新的报价来买入 {0} +offerbook.createOfferToSell=创建新的报价来卖出 {0} offerbook.createOfferToBuy.withFiat=创建新的报价用 {1} 购买 {0} -offerbook.createOfferToSell.forFiat=创建新的报价以 {1} 出售 {0} +offerbook.createOfferToSell.forFiat=创建新的报价以 {1} 出售 {0} offerbook.createOfferToBuy.withCrypto=创建新的卖出报价 {0} (买入 {1}) offerbook.createOfferToSell.forCrypto=创建新的买入报价 {0}(卖出 {1}) @@ -658,7 +658,7 @@ portfolio.pending.step2_buyer.moneyGramMTCNInfo.headline=发送授权编号和 portfolio.pending.step2_buyer.moneyGramMTCNInfo.msg=请通过电邮发送授权编号和照片给 BTC 卖家。\n收据必须清楚地向卖家写明您的全名、城市、国家或地区、数量。卖方的电子邮件是:{0}。\n\n您把授权编号和合同发给卖方了吗? portfolio.pending.step2_buyer.westernUnionMTCNInfo.headline=发送 MTCN 和收据 portfolio.pending.step2_buyer.westernUnionMTCNInfo.msg=请通过电邮发送 MTCN(追踪号码)和照片给 BTC 卖家。\n收据必须清楚地向卖家写明您的全名、城市、国家或地区、数量。卖方的电子邮件是:{0}。\n\n您把 MTCN 和合同发给卖方了吗? -portfolio.pending.step2_buyer.halCashInfo.headline=请发送 HalCash 代码 +portfolio.pending.step2_buyer.halCashInfo.headline=请发送 HalCash 代码 portfolio.pending.step2_buyer.halCashInfo.msg=您需要向 BTC 卖家发送带有 HalCash 代码和交易 ID({0})的文本消息。\n\n卖方的手机号码是 {1} 。\n\n您是否已经将代码发送至卖家? portfolio.pending.step2_buyer.fasterPaymentsHolderNameInfo=有些银行可能会要求接收方的姓名。在较旧的 Bisq 客户端创建的快速支付帐户没有提供收款人的姓名,所以请使用交易聊天来获得收款人姓名(如果需要)。 portfolio.pending.step2_buyer.confirmStart.headline=确定您已经付款 @@ -1925,10 +1925,10 @@ dao.news.pastContribution.description=如果您对 Bisq 有贡献,请使用下 dao.news.pastContribution.yourAddress=你的 BSQ 钱包地址 dao.news.pastContribution.requestNow=现在申请 -dao.news.DAOOnTestnet.title=在我们的测试网络上运行 BISQ DAO -dao.news.DAOOnTestnet.description=核心网络 Bisq DAO 还没有启动,但是您可以通过在我们的测试网络上运行它来了解 Bisq DAO 。 -dao.news.DAOOnTestnet.firstSection.title=1.切换至 DAO 测试网络模式 -dao.news.DAOOnTestnet.firstSection.content=从设置页面切换到 DAO 测试网络。 +dao.news.daoInfo.title=在我们的测试网络上运行 BISQ DAO +dao.news.daoInfo.description=核心网络 Bisq DAO 还没有启动,但是您可以通过在我们的测试网络上运行它来了解 Bisq DAO 。 +dao.news.daoInfo.firstSection.title=1.切换至 DAO 测试网络模式 +dao.news.daoInfo.firstSection.content=从设置页面切换到 DAO 测试网络。 dao.news.DAOOnTestnet.secondSection.title=2.获得一些 BSQ dao.news.DAOOnTestnet.secondSection.content=在 Slack 上申请 BSQ 或在 Bisq 上购买 BSQ 。 dao.news.DAOOnTestnet.thirdSection.title=3.参与投票周期 @@ -1989,7 +1989,7 @@ dao.factsAndFigures.dashboard.avgPrice30=30天平均 BSQ/BTC 交易价格 dao.factsAndFigures.dashboard.avgUSDPrice90=90 days volume weighted average BSQ/USD price dao.factsAndFigures.dashboard.avgUSDPrice30=30 days volume weighted average BSQ/USD price dao.factsAndFigures.dashboard.marketCap=Market capitalisation (based on 30 days average BSQ/USD price) -dao.factsAndFigures.dashboard.availableAmount=总共可用的 BSQ +dao.factsAndFigures.dashboard.availableAmount=总共可用的 BSQ dao.factsAndFigures.dashboard.volumeUsd=Total trade volume in USD dao.factsAndFigures.dashboard.volumeBtc=Total trade volume in BTC dao.factsAndFigures.dashboard.averageBsqUsdPriceFromSelection=Average BSQ/USD trade price from selected time period in chart @@ -2001,8 +2001,8 @@ dao.factsAndFigures.supply.issued=已发放的 BSQ dao.factsAndFigures.supply.compReq=赔偿要求 dao.factsAndFigures.supply.reimbursement=Reimbursement requests dao.factsAndFigures.supply.genesisIssueAmount=在初始交易中心有问题的 BSQ -dao.factsAndFigures.supply.compRequestIssueAmount=报偿申请发放的 BSQ -dao.factsAndFigures.supply.reimbursementAmount=退还申请发放的 BSQ +dao.factsAndFigures.supply.compRequestIssueAmount=报偿申请发放的 BSQ +dao.factsAndFigures.supply.reimbursementAmount=退还申请发放的 BSQ dao.factsAndFigures.supply.totalIssued=Total issued BSQ dao.factsAndFigures.supply.totalBurned=Total burned BSQ dao.factsAndFigures.supply.chart.tradeFee.toolTip={0}\n{1} diff --git a/core/src/main/resources/i18n/displayStrings_zh-hant.properties b/core/src/main/resources/i18n/displayStrings_zh-hant.properties index a20131bb82..4f9e2c2079 100644 --- a/core/src/main/resources/i18n/displayStrings_zh-hant.properties +++ b/core/src/main/resources/i18n/displayStrings_zh-hant.properties @@ -1925,10 +1925,10 @@ dao.news.pastContribution.description=如果您對 Bisq 有貢獻,請使用下 dao.news.pastContribution.yourAddress=你的 BSQ 錢包地址 dao.news.pastContribution.requestNow=現在申請 -dao.news.DAOOnTestnet.title=在我們的測試網絡上運行 BISQ DAO -dao.news.DAOOnTestnet.description=核心網絡 Bisq DAO 還沒有啟動,但是您可以通過在我們的測試網絡上運行它來了解 Bisq DAO 。 -dao.news.DAOOnTestnet.firstSection.title=1.切換至 DAO 測試網絡模式 -dao.news.DAOOnTestnet.firstSection.content=從設置頁面切換到 DAO 測試網絡。 +dao.news.daoInfo.title=在我們的測試網絡上運行 BISQ DAO +dao.news.daoInfo.description=核心網絡 Bisq DAO 還沒有啟動,但是您可以通過在我們的測試網絡上運行它來了解 Bisq DAO 。 +dao.news.daoInfo.firstSection.title=1.切換至 DAO 測試網絡模式 +dao.news.daoInfo.firstSection.content=從設置頁面切換到 DAO 測試網絡。 dao.news.DAOOnTestnet.secondSection.title=2.獲得一些 BSQ dao.news.DAOOnTestnet.secondSection.content=在 Slack 上申請 BSQ 或在 Bisq 上購買 BSQ 。 dao.news.DAOOnTestnet.thirdSection.title=3.參與投票週期 diff --git a/desktop/src/main/java/bisq/desktop/main/dao/news/NewsView.java b/desktop/src/main/java/bisq/desktop/main/dao/news/NewsView.java index aac80e2b16..6f1a043c5e 100644 --- a/desktop/src/main/java/bisq/desktop/main/dao/news/NewsView.java +++ b/desktop/src/main/java/bisq/desktop/main/dao/news/NewsView.java @@ -2,29 +2,26 @@ package bisq.desktop.main.dao.news; import bisq.desktop.common.view.ActivatableView; import bisq.desktop.common.view.FxmlView; -import bisq.desktop.components.BsqAddressTextField; import bisq.desktop.components.TitledGroupBg; -import bisq.desktop.util.GUIUtil; +import bisq.desktop.main.overlays.popups.Popup; import bisq.desktop.util.Layout; -import bisq.core.btc.wallet.BsqWalletService; import bisq.core.locale.Res; -import bisq.core.util.coin.BsqFormatter; -import bisq.common.util.Tuple3; +import bisq.common.config.Config; +import bisq.common.config.ConfigFileEditor; import javax.inject.Inject; -import javafx.scene.control.Button; import javafx.scene.control.Hyperlink; import javafx.scene.control.Label; import javafx.scene.control.Separator; +import javafx.scene.control.ToggleButton; import javafx.scene.layout.AnchorPane; import javafx.scene.layout.GridPane; import javafx.scene.layout.HBox; import javafx.scene.layout.Pane; import javafx.scene.layout.Priority; -import javafx.scene.layout.VBox; import javafx.geometry.Insets; import javafx.geometry.Orientation; @@ -34,14 +31,12 @@ import static bisq.desktop.util.FormBuilder.*; @FxmlView public class NewsView extends ActivatableView { - private final BsqWalletService bsqWalletService; - private final BsqFormatter bsqFormatter; - private BsqAddressTextField addressTextField; + private final ConfigFileEditor configFileEditor; + private ToggleButton daoActivatedToggleButton; @Inject - private NewsView(BsqWalletService bsqWalletService, BsqFormatter bsqFormatter) { - this.bsqWalletService = bsqWalletService; - this.bsqFormatter = bsqFormatter; + private NewsView(Config config) { + configFileEditor = new ConfigFileEditor(config.configFile); } @Override @@ -67,15 +62,14 @@ public class NewsView extends ActivatableView { int rowIndex = 0; - TitledGroupBg titledGroupBg = addTitledGroupBg(gridPane, rowIndex, 14, Res.get("dao.news.DAOOnTestnet.title")); + TitledGroupBg titledGroupBg = addTitledGroupBg(gridPane, rowIndex, 14, Res.get("dao.news.daoInfo.title")); titledGroupBg.getStyleClass().addAll("last", "dao-news-titled-group"); - Label daoTestnetDescription = addMultilineLabel(gridPane, ++rowIndex, Res.get("dao.news.DAOOnTestnet.description"), 0, 370); + Label daoTestnetDescription = addMultilineLabel(gridPane, ++rowIndex, Res.get("dao.news.daoInfo.description"), 0, 370); GridPane.setMargin(daoTestnetDescription, new Insets(Layout.FLOATING_LABEL_DISTANCE, 0, 8, 0)); daoTestnetDescription.getStyleClass().add("dao-news-content"); - rowIndex = addInfoSection(gridPane, rowIndex, Res.get("dao.news.DAOOnTestnet.firstSection.title"), - Res.get("dao.news.DAOOnTestnet.firstSection.content"), - "https://docs.bisq.network/getting-started-dao.html#switch-to-testnet-mode"); + rowIndex = addInfoSectionEnableDao(gridPane, rowIndex, Res.get("dao.news.daoInfo.firstSection.title"), + Res.get("dao.news.daoInfo.firstSection.content")); rowIndex = addInfoSection(gridPane, rowIndex, Res.get("dao.news.DAOOnTestnet.secondSection.title"), Res.get("dao.news.DAOOnTestnet.secondSection.content"), "https://docs.bisq.network/getting-started-dao.html#acquire-some-bsq"); @@ -108,6 +102,19 @@ public class NewsView extends ActivatableView { return rowIndex; } + private int addInfoSectionEnableDao(GridPane gridPane, int rowIndex, String title, String content) { + Label titleLabel = addLabel(gridPane, ++rowIndex, title); + GridPane.setMargin(titleLabel, new Insets(6, 0, 0, 0)); + + titleLabel.getStyleClass().add("dao-news-section-header"); + Label contentLabel = addMultilineLabel(gridPane, ++rowIndex, content, -Layout.FLOATING_LABEL_DISTANCE, 370); + contentLabel.getStyleClass().add("dao-news-section-content"); + + daoActivatedToggleButton = addSlideToggleButton(gridPane, ++rowIndex, Res.get("setting.preferences.dao.activated")); + + return rowIndex; + } + private AnchorPane createBisqDAOContent() { AnchorPane anchorPane = new AnchorPane(); anchorPane.setMinWidth(373); @@ -125,37 +132,22 @@ public class NewsView extends ActivatableView { Hyperlink hyperlink = addHyperlinkWithIcon(bisqDAOPane, ++rowIndex, Res.get("dao.news.bisqDAO.readMoreLink"), "https://bisq.network/docs/dao"); hyperlink.getStyleClass().add("dao-news-link"); - GridPane pastContributorsPane = new GridPane(); - AnchorPane.setBottomAnchor(pastContributorsPane, 0d); - - pastContributorsPane.setVgap(5); - pastContributorsPane.setMaxWidth(373); - - rowIndex = 0; - TitledGroupBg contributorsTitledGroup = addTitledGroupBg(pastContributorsPane, rowIndex, 4, Res.get("dao.news.pastContribution.title")); - contributorsTitledGroup.getStyleClass().addAll("last", "dao-news-titled-group"); - Label pastContributionDescription = addMultilineLabel(pastContributorsPane, ++rowIndex, Res.get("dao.news.pastContribution.description")); - pastContributionDescription.getStyleClass().add("dao-news-content"); - Tuple3 tuple = addLabelBsqAddressTextField(pastContributorsPane, ++rowIndex, - Res.get("dao.news.pastContribution.yourAddress"), - Layout.FIRST_ROW_DISTANCE); - addressTextField = tuple.second; - Button requestNowButton = addPrimaryActionButton(pastContributorsPane, ++rowIndex, Res.get("dao.news.pastContribution.requestNow"), 0); - requestNowButton.setMaxWidth(Double.MAX_VALUE); - GridPane.setHgrow(requestNowButton, Priority.ALWAYS); - requestNowButton.setOnAction(e -> GUIUtil.openWebPage("https://bisq.network/docs/dao/genesis")); - - anchorPane.getChildren().addAll(bisqDAOPane, pastContributorsPane); + anchorPane.getChildren().add(bisqDAOPane); return anchorPane; } @Override protected void activate() { - addressTextField.setAddress(bsqFormatter.getBsqAddressStringFromAddress(bsqWalletService.getUnusedAddress())); + daoActivatedToggleButton.setSelected(false); + daoActivatedToggleButton.setOnAction(e -> { + configFileEditor.setOption("daoActivated", Boolean.toString(daoActivatedToggleButton.isSelected())); + new Popup().information(Res.get("setting.preferences.dao.activated.popup")).useShutDownButton().show(); + }); } @Override protected void deactivate() { + daoActivatedToggleButton.setOnAction(null); } } diff --git a/desktop/src/main/java/bisq/desktop/main/settings/preferences/PreferencesView.java b/desktop/src/main/java/bisq/desktop/main/settings/preferences/PreferencesView.java index bc4d42fa19..c137041f0d 100644 --- a/desktop/src/main/java/bisq/desktop/main/settings/preferences/PreferencesView.java +++ b/desktop/src/main/java/bisq/desktop/main/settings/preferences/PreferencesView.java @@ -60,6 +60,7 @@ import bisq.core.util.validation.RegexValidatorFactory; import bisq.common.UserThread; import bisq.common.app.DevEnv; import bisq.common.config.Config; +import bisq.common.config.ConfigFileEditor; import bisq.common.util.Tuple2; import bisq.common.util.Tuple3; import bisq.common.util.Utilities; @@ -127,7 +128,7 @@ public class PreferencesView extends ActivatableViewAndModel filterChangeListener; + private final ConfigFileEditor configFileEditor; /////////////////////////////////////////////////////////////////////////////////////////// @@ -197,6 +199,8 @@ public class PreferencesView extends ActivatableViewAndModel { + // We do not use preferences as we need to handle the value at startup before preferences are loaded, + // so we write the option to the properties file. If the program argument is set it has higher priority + // and the property file value is ignored. + configFileEditor.setOption("daoActivated", Boolean.toString(daoActivatedToggleButton.isSelected())); + new Popup().information(Res.get("setting.preferences.dao.activated.popup")).useShutDownButton().show(); + }); + + if (!DevEnv.isDaoActivated()) { + return; + } + boolean daoFullNode = preferences.isDaoFullNode(); isDaoFullNodeToggleButton.setSelected(daoFullNode); @@ -1145,6 +1168,11 @@ public class PreferencesView extends ActivatableViewAndModel getAppendOnlyDataStoreMap() { - return appendOnlyDataStoreService.getMap(); - } - /////////////////////////////////////////////////////////////////////////////////////////// // MessageListener implementation @@ -676,7 +670,7 @@ public class P2PDataStorage implements MessageListener, ConnectionListener, Pers } ByteArray hashAsByteArray = new ByteArray(payload.getHash()); - boolean payloadHashAlreadyInStore = appendOnlyDataStoreService.getMap().containsKey(hashAsByteArray); + boolean payloadHashAlreadyInStore = appendOnlyDataStoreService.getMap(payload).containsKey(hashAsByteArray); // Store already knows about this payload. Ignore it unless the caller specifically requests a republish. if (payloadHashAlreadyInStore && !reBroadcast) { @@ -693,13 +687,16 @@ public class P2PDataStorage implements MessageListener, ConnectionListener, Pers } // Add the payload and publish the state update to the appendOnlyDataStoreListeners + boolean wasAdded = false; if (!payloadHashAlreadyInStore) { - appendOnlyDataStoreService.put(hashAsByteArray, payload); - appendOnlyDataStoreListeners.forEach(e -> e.onAdded(payload)); + wasAdded = appendOnlyDataStoreService.put(hashAsByteArray, payload); + if (wasAdded) { + appendOnlyDataStoreListeners.forEach(e -> e.onAdded(payload)); + } } // Broadcast the payload if requested by caller - if (allowBroadcast) + if (allowBroadcast && wasAdded) broadcaster.broadcast(new AddPersistableNetworkPayloadMessage(payload), sender); return true; diff --git a/p2p/src/main/java/bisq/network/p2p/storage/persistence/AppendOnlyDataStoreService.java b/p2p/src/main/java/bisq/network/p2p/storage/persistence/AppendOnlyDataStoreService.java index 25ce17f0e9..150658c197 100644 --- a/p2p/src/main/java/bisq/network/p2p/storage/persistence/AppendOnlyDataStoreService.java +++ b/p2p/src/main/java/bisq/network/p2p/storage/persistence/AppendOnlyDataStoreService.java @@ -25,14 +25,17 @@ import javax.inject.Inject; import com.google.common.annotations.VisibleForTesting; import java.util.ArrayList; +import java.util.HashMap; import java.util.List; import java.util.Map; +import java.util.Optional; import java.util.concurrent.atomic.AtomicInteger; -import java.util.stream.Collectors; import lombok.Getter; import lombok.extern.slf4j.Slf4j; +import org.jetbrains.annotations.NotNull; + /** * Used for PersistableNetworkPayload data which gets appended to a map storage. */ @@ -75,21 +78,25 @@ public class AppendOnlyDataStoreService { services.forEach(service -> service.readFromResourcesSync(postFix)); } - - public Map getMap() { - return services.stream() - .flatMap(service -> { - Map map = service instanceof HistoricalDataStoreService ? - ((HistoricalDataStoreService) service).getMapOfAllData() : - service.getMap(); - return map.entrySet().stream(); - }) - .collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue)); + public Map getMap(PersistableNetworkPayload payload) { + return findService(payload) + .map(service -> service instanceof HistoricalDataStoreService ? + ((HistoricalDataStoreService) service).getMapOfAllData() : + service.getMap()) + .orElse(new HashMap<>()); } - public void put(P2PDataStorage.ByteArray hashAsByteArray, PersistableNetworkPayload payload) { - services.stream() + public boolean put(P2PDataStorage.ByteArray hashAsByteArray, PersistableNetworkPayload payload) { + Optional, PersistableNetworkPayload>> optionalService = findService(payload); + optionalService.ifPresent(service -> service.putIfAbsent(hashAsByteArray, payload)); + return optionalService.isPresent(); + } + + @NotNull + private Optional, PersistableNetworkPayload>> findService( + PersistableNetworkPayload payload) { + return services.stream() .filter(service -> service.canHandle(payload)) - .forEach(service -> service.putIfAbsent(hashAsByteArray, payload)); + .findAny(); } } diff --git a/p2p/src/test/java/bisq/network/p2p/storage/P2PDataStoragePersistableNetworkPayloadTest.java b/p2p/src/test/java/bisq/network/p2p/storage/P2PDataStoragePersistableNetworkPayloadTest.java index 8f1dafd8d7..29dbcf483d 100644 --- a/p2p/src/test/java/bisq/network/p2p/storage/P2PDataStoragePersistableNetworkPayloadTest.java +++ b/p2p/src/test/java/bisq/network/p2p/storage/P2PDataStoragePersistableNetworkPayloadTest.java @@ -34,11 +34,10 @@ import org.junit.Test; import org.junit.runner.RunWith; import org.junit.runners.Parameterized; +import static bisq.network.p2p.storage.TestState.SavedTestState; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.when; -import static bisq.network.p2p.storage.TestState.*; - /** * Tests of the P2PDataStore entry points that use the PersistableNetworkPayload type * @@ -131,7 +130,7 @@ public class P2PDataStoragePersistableNetworkPayloadTest { doAddAndVerify(this.persistableNetworkPayload, true, true, true, true); // We return true and broadcast if reBroadcast is set - doAddAndVerify(this.persistableNetworkPayload, this.reBroadcast, false, false, this.reBroadcast); + // doAddAndVerify(this.persistableNetworkPayload, this.reBroadcast, false, false, this.reBroadcast); } } diff --git a/p2p/src/test/java/bisq/network/p2p/storage/P2PDataStorageRemoveExpiredTest.java b/p2p/src/test/java/bisq/network/p2p/storage/P2PDataStorageRemoveExpiredTest.java index f6b8c65910..dc1a338999 100644 --- a/p2p/src/test/java/bisq/network/p2p/storage/P2PDataStorageRemoveExpiredTest.java +++ b/p2p/src/test/java/bisq/network/p2p/storage/P2PDataStorageRemoveExpiredTest.java @@ -39,7 +39,9 @@ import org.junit.Assert; import org.junit.Before; import org.junit.Test; -import static bisq.network.p2p.storage.TestState.*; +import static bisq.network.p2p.storage.TestState.MAX_SEQUENCE_NUMBER_MAP_SIZE_BEFORE_PURGE; +import static bisq.network.p2p.storage.TestState.SavedTestState; +import static bisq.network.p2p.storage.TestState.getTestNodeAddress; /** * Tests of the P2PDataStore behavior that expires old Entrys periodically. @@ -79,7 +81,7 @@ public class P2PDataStorageRemoveExpiredTest { this.testState.mockedStorage.removeExpiredEntries(); - Assert.assertTrue(this.testState.mockedStorage.getAppendOnlyDataStoreMap().containsKey(new P2PDataStorage.ByteArray(persistableNetworkPayload.getHash()))); + Assert.assertTrue(this.testState.mockedStorage.appendOnlyDataStoreService.getMap(persistableNetworkPayload).containsKey(new P2PDataStorage.ByteArray(persistableNetworkPayload.getHash()))); } // TESTCASE: Correctly skips non-persistable entries that are not expired diff --git a/p2p/src/test/java/bisq/network/p2p/storage/TestState.java b/p2p/src/test/java/bisq/network/p2p/storage/TestState.java index e807bc9d7e..b6cc44a559 100644 --- a/p2p/src/test/java/bisq/network/p2p/storage/TestState.java +++ b/p2p/src/test/java/bisq/network/p2p/storage/TestState.java @@ -187,9 +187,9 @@ public class TestState { P2PDataStorage.ByteArray hash = new P2PDataStorage.ByteArray(persistableNetworkPayload.getHash()); if (expectedHashMapAndDataStoreUpdated) - Assert.assertEquals(persistableNetworkPayload, this.mockedStorage.getAppendOnlyDataStoreMap().get(hash)); + Assert.assertEquals(persistableNetworkPayload, this.mockedStorage.appendOnlyDataStoreService.getMap(persistableNetworkPayload).get(hash)); else - Assert.assertEquals(beforeState.persistableNetworkPayloadBeforeOp, this.mockedStorage.getAppendOnlyDataStoreMap().get(hash)); + Assert.assertEquals(beforeState.persistableNetworkPayloadBeforeOp, this.mockedStorage.appendOnlyDataStoreService.getMap(persistableNetworkPayload).get(hash)); if (expectedListenersSignaled) verify(this.appendOnlyDataStoreListener).onAdded(persistableNetworkPayload); @@ -398,7 +398,7 @@ public class TestState { private SavedTestState(TestState testState, PersistableNetworkPayload persistableNetworkPayload) { this(testState); P2PDataStorage.ByteArray hash = new P2PDataStorage.ByteArray(persistableNetworkPayload.getHash()); - this.persistableNetworkPayloadBeforeOp = testState.mockedStorage.getAppendOnlyDataStoreMap().get(hash); + this.persistableNetworkPayloadBeforeOp = testState.mockedStorage.appendOnlyDataStoreService.getMap(persistableNetworkPayload).get(hash); } private SavedTestState(TestState testState, ProtectedStorageEntry protectedStorageEntry) { diff --git a/p2p/src/test/java/bisq/network/p2p/storage/mocks/AppendOnlyDataStoreServiceFake.java b/p2p/src/test/java/bisq/network/p2p/storage/mocks/AppendOnlyDataStoreServiceFake.java index 00d893b8f2..26f5764602 100644 --- a/p2p/src/test/java/bisq/network/p2p/storage/mocks/AppendOnlyDataStoreServiceFake.java +++ b/p2p/src/test/java/bisq/network/p2p/storage/mocks/AppendOnlyDataStoreServiceFake.java @@ -21,8 +21,6 @@ import bisq.network.p2p.storage.P2PDataStorage; import bisq.network.p2p.storage.payload.PersistableNetworkPayload; import bisq.network.p2p.storage.persistence.AppendOnlyDataStoreService; -import java.util.Map; - /** * Implementation of an in-memory AppendOnlyDataStoreService that can be used in tests. Removes overhead * involving files, resources, and services for tests that don't need it. @@ -35,11 +33,7 @@ public class AppendOnlyDataStoreServiceFake extends AppendOnlyDataStoreService { addService(new MapStoreServiceFake()); } - public Map getMap() { - return super.getMap(); - } - - public void put(P2PDataStorage.ByteArray hashAsByteArray, PersistableNetworkPayload payload) { - super.put(hashAsByteArray, payload); + public boolean put(P2PDataStorage.ByteArray hashAsByteArray, PersistableNetworkPayload payload) { + return super.put(hashAsByteArray, payload); } }